Merge tag 'upstream/1.7.2' into debian-experimental
Upstream version 1.7.2
diff --git a/ChangeLog b/ChangeLog
index 1120811..d7de948 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,3874 @@
-=== release 1.7.1 ===
+=== release 1.7.2 ===
-2015-12-24 Sebastian Dröge <slomo@coaxion.net>
+2016-02-19 Sebastian Dröge <slomo@coaxion.net>
* configure.ac:
- releasing 1.7.1
+ releasing 1.7.2
+
+2016-02-19 10:32:28 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * po/af.po:
+ * po/az.po:
+ * po/bg.po:
+ * po/ca.po:
+ * po/cs.po:
+ * po/da.po:
+ * po/de.po:
+ * po/el.po:
+ * po/en_GB.po:
+ * po/eo.po:
+ * po/es.po:
+ * po/eu.po:
+ * po/fi.po:
+ * po/fr.po:
+ * po/gl.po:
+ * po/hr.po:
+ * po/hu.po:
+ * po/id.po:
+ * po/it.po:
+ * po/ja.po:
+ * po/ky.po:
+ * po/lt.po:
+ * po/lv.po:
+ * po/mt.po:
+ * po/nb.po:
+ * po/nl.po:
+ * po/or.po:
+ * po/pl.po:
+ * po/pt_BR.po:
+ * po/ro.po:
+ * po/ru.po:
+ * po/sk.po:
+ * po/sl.po:
+ * po/sq.po:
+ * po/sr.po:
+ * po/sv.po:
+ * po/tr.po:
+ * po/uk.po:
+ * po/vi.po:
+ * po/zh_CN.po:
+ po: Update translations
+
+2016-02-18 14:32:23 +0000 Julien Isorce <j.isorce@samsung.com>
+
+ * pkgconfig/gstreamer-bad-audio-uninstalled.pc.in:
+ * pkgconfig/gstreamer-bad-base-uninstalled.pc.in:
+ * pkgconfig/gstreamer-bad-video-uninstalled.pc.in:
+ * pkgconfig/gstreamer-codecparsers-uninstalled.pc.in:
+ * pkgconfig/gstreamer-gl-uninstalled.pc.in:
+ * pkgconfig/gstreamer-insertbin-uninstalled.pc.in:
+ * pkgconfig/gstreamer-mpegts-uninstalled.pc.in:
+ * pkgconfig/gstreamer-player-uninstalled.pc.in:
+ * pkgconfig/gstreamer-plugins-bad-uninstalled.pc.in:
+ * pkgconfig/gstreamer-wayland-uninstalled.pc.in:
+ uninstalled.pc: add support for non libtool build systems
+ Currently the .la path is provided which requires to use libtool as
+ mentioned in the GStreamer manual section-helloworld-compilerun.html.
+ It is fine as long as the application is built using libtool.
+ So currently it is not possible to compile a GStreamer application
+ within gst-uninstalled with CMake or other build system different
+ than autotools.
+ This patch allows to do the following in gst-uninstalled env:
+ gcc test.c -o test $(pkg-config --cflags --libs gstreamer-1.0 \
+ gstreamer-gl-1.0)
+ Previously it required to prepend libtool --mode=link
+ https://bugzilla.gnome.org/show_bug.cgi?id=720778
+
+2016-02-18 16:21:38 +0000 Julien Isorce <j.isorce@samsung.com>
+
+ * gst-libs/gst/gl/gstgldebug.c:
+ gldebug: make sure debug is initialized when calling gst_gl_insert_debug_marker
+ Usually gl debug is initialized in gst_gl_context_create_thread.
+ But this function is not used when using the GstGLContextGPUProcess
+ from ChromiumGStreamerBackend.
+ Received signal 11 SEGV_MAPERR 000000000000
+ gst_debug_category_get_threshold
+ gst_gl_insert_debug_marker
+ gst_gl_base_filter_gl_start
+
+2016-02-18 10:33:20 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/Makefile.am:
+ * gst-libs/gst/gl/egl/gstglcontext_egl.c:
+ * gst-libs/gst/gl/utils/gles_versions.h:
+ * gst-libs/gst/gl/utils/opengl_versions.h:
+ gl: Fix compiler warning about unused const variable with gcc 6
+ CC libgstgl_x11_la-gstglcontext_glx.lo
+ In file included from gstglcontext_glx.c:39:0:
+ ../utils/opengl_versions.h:52:43: error: ‘gles2_versions’ defined but not used [-Werror=unused-const-variable]
+ static const struct { int major, minor; } gles2_versions[] = {
+ ^~~~~~~~~~~~~~
+
+2016-02-18 10:29:21 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/Makefile.am:
+ gl: Move private headers from SOURCES to noinst_HEADERS
+
+2016-02-18 00:24:04 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/modplug/gstmodplug.cc:
+ modplug: Fix compiler warning about C++11 compatibility
+ gstmodplug.cc:94:17: error: invalid suffix on literal; C++11 requires a space between literal and string macro [-Werror=literal-suffix]
+ #define FORMATS "{ "GST_AUDIO_NE (S32)", "GST_AUDIO_NE (S16)", U8 }"
+ ^
+ gstmodplug.cc:94:39: error: invalid suffix on literal; C++11 requires a space between literal and string macro [-Werror=literal-suffix]
+ #define FORMATS "{ "GST_AUDIO_NE (S32)", "GST_AUDIO_NE (S16)", U8 }"
+ ^
+
+2016-02-16 15:10:34 +0100 David Fernandez <d.fernandezlop@gmail.com>
+
+ * ext/curl/gstcurlbasesink.c:
+ curlbasesink: don't send empty buffers
+ Fixes problem in curlhttpsink when qtmux uses faststart.
+ https://bugzilla.gnome.org/show_bug.cgi?id=762013
+
+2016-02-17 11:16:53 +0100 Thibault Saunier <tsaunier@gnome.org>
+
+ * ext/ladspa/gstladspafilter.c:
+ ladspa: Fix some debugs
+
+2016-01-26 09:34:00 +0900 Vineeth TM <vineeth.tm@samsung.com>
+
+ * sys/uvch264/gstuvch264_src.c:
+ uvch264_src: Fix caps memory leak
+ v4l_caps and new_caps are being allocated new memory before freeing the
+ old allocation.
+ https://bugzilla.gnome.org/show_bug.cgi?id=761108
+
+2015-12-24 15:36:54 +0900 Vineeth TM <vineeth.tm@samsung.com>
+
+ * gst/mpegtsdemux/mpegtsbase.c:
+ mpegtsbase: Refactor code to check for subclass seek handling
+ If subclass is not able to handle seek event, then there is no need to
+ stop streaming and send flush events. We should simply return FALSE
+ https://bugzilla.gnome.org/show_bug.cgi?id=758516
+
+2015-12-24 15:10:16 +0900 Vineeth TM <vineeth.tm@samsung.com>
+
+ * gst/mpegtsdemux/mpegtsbase.c:
+ mpegtsbase: Add condition to check for non working negative rate
+ tsdemux is not able to handle negative playback rates.
+ But in mpegtsbase, the same check is not being done.
+ added a check to not handle negative rate while seeking unless
+ the same is handled upstream.
+ https://bugzilla.gnome.org/show_bug.cgi?id=758516
+
+2016-02-17 13:00:46 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglfilter.c:
+ glfilter: insert the debug marker from the GL thread
+ https://bugzilla.gnome.org/show_bug.cgi?id=761538
+
+2016-02-17 11:42:23 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstglimagesink.c:
+ glimagesink: remove unsed reconfigure variable
+
+2016-01-13 13:17:56 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstglimagesink.c:
+ * ext/gl/gstglimagesink.h:
+ glimagesink: don't push a reconfigure event from the GL thread
+ Doing so may cause deadlocks when other elements attempt destroy or created
+ GL resources.
+ https://bugzilla.gnome.org/show_bug.cgi?id=760559
+
+2016-01-21 10:40:36 +0800 Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+ * ext/gl/gstglvideomixer.c:
+ glvideomixer: don't leak pad's vertex buffer on release_pad
+ https://bugzilla.gnome.org/show_bug.cgi?id=760873
+
+2016-02-17 01:08:18 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstglmixer.c:
+ * ext/gl/gstglmixer.h:
+ * ext/gl/gstglmosaic.c:
+ * ext/gl/gstglmosaic.h:
+ * ext/gl/gstglstereomix.c:
+ * ext/gl/gstglstereomix.h:
+ * ext/gl/gstglvideomixer.c:
+ * ext/gl/gstglvideomixer.h:
+ glmixer: Remove usage of GstGLMixerFrameData
+ Subclasses can just iterate over the list of pads themselves
+ https://bugzilla.gnome.org/show_bug.cgi?id=760873
+
+2016-01-13 14:41:22 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstglmixer.c:
+ glmixer: don't hold the object lock while calling into GL
+ Doing so can deadlock between the GL thread and the object lock e.g.
+ when performing reconfigure events in glimagesink on a resize event.
+ https://bugzilla.gnome.org/show_bug.cgi?id=760559
+
+2016-02-16 22:34:43 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * common:
+ Update common: make check-exports not fail for libgstgl.def
+ Should fix distcheck on some build bots.
+
+2016-01-26 09:37:04 +0900 Vineeth TM <vineeth.tm@samsung.com>
+
+ * sys/acmenc/acmenc.c:
+ * sys/acmmp3dec/acmmp3dec.c:
+ acmenc/acmmp3dec: remove unnecessary break after return
+ https://bugzilla.gnome.org/show_bug.cgi?id=761109
+
+2015-07-21 18:02:38 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * configure.ac:
+ configure: improve check for wayland-scanner binary
+ The plugin doesn't need the wayland-scanner package to be built
+ or run, it only needs the wayland-scanner program during compile time.
+ When cross-compiling, build systems might not have the wayland-scanner
+ package for the target system as it is a developer's tool, while it should
+ still be possible to use wayland-scanner from the host system.
+ This patch fixes it by not requiring the wayland-scanner package but
+ just the binary itself.
+ Note that the check is done outside of the PKG_CHECK_MODULES
+ as it doesn't work inside of it.
+ https://bugzilla.gnome.org/show_bug.cgi?id=752688
+
+2016-01-21 11:53:33 +0100 Philippe Normand <philn@igalia.com>
+
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+ adaptivedemux: restore bitrate averaging support
+ This was accidentally removed in commit ccff3be3.
+ https://bugzilla.gnome.org/show_bug.cgi?id=733959
+
+2016-01-20 15:33:28 +0100 Philippe Normand <philn@igalia.com>
+
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ adaptivedemux: remove queue2 overrun notification
+ Due to performance impact concerns this is removed. An alternative
+ approach would be to rely on buffering messages monitoring.
+ https://bugzilla.gnome.org/show_bug.cgi?id=733959
+
+2016-02-16 16:18:21 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkdevice.c:
+ vkdevice: add the necessary but arbitrary queue priority
+ Silences an error in the validation layers.
+
+2016-02-16 16:12:07 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkswapper.c:
+ vkswapper: add the necessary call to check if the physical device supports the surface
+ Silences an error in the validation layers.
+
+2016-02-16 15:53:56 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkapi.h:
+ * ext/vulkan/vkinstance.c:
+ vulkan: update to SDK 1.0.3.1
+
+2016-02-16 15:36:41 +1100 Matthew Waters <matthew@centricular.com>
+
+ * configure.ac:
+ vulkan/build: search for the correct library
+ SDK 1.0.1 used libvulkan-1.so, 1.0.2 uses libvulkan.so
+
+2016-02-16 11:51:28 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkswapper.c:
+ vkswapper: iterate over the device queue's using the new iteration API
+
+2016-02-16 11:49:24 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkdevice.c:
+ * ext/vulkan/vkdevice.h:
+ vkdevice: add callback iteration over the device queue's
+
+2016-02-16 11:22:37 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkqueue.c:
+ * ext/vulkan/vkqueue.h:
+ vkqueue: add context helpers
+
+2016-02-11 01:31:14 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkdevice.c:
+ * ext/vulkan/vkdevice.h:
+ * ext/vulkan/vkdisplay.c:
+ * ext/vulkan/vkdisplay.h:
+ * ext/vulkan/vkinstance.c:
+ * ext/vulkan/vkinstance.h:
+ * ext/vulkan/vksink.c:
+ * ext/vulkan/vkupload.c:
+ * ext/vulkan/vkutils.c:
+ * ext/vulkan/vkutils.h:
+ vkutils: move object-specific context queries to their respective files
+ vkutils now just contains some utility functions to further simplify retrieving
+ multiple objects.
+
+2016-02-11 00:50:53 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkdevice.c:
+ * ext/vulkan/vkdevice.h:
+ vkdevice: remove unneeded error parameter from get_queue()
+
+2016-02-10 18:06:46 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkupload.c:
+ * ext/vulkan/vkupload.h:
+ vkupload: implement an uploader abstraction
+
+2016-02-10 19:50:27 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkdisplay.c:
+ vkdisplay: unref the instance
+ fixes memory leak
+
+2016-02-10 19:34:55 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkdevice.c:
+ * ext/vulkan/vkinstance.c:
+ * ext/vulkan/vkswapper.c:
+ vulkan: chain up in finalize
+ They were missing in some cases
+
+2016-02-10 18:58:32 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vksink.c:
+ vksink: only unref if the pointers are non-NULL
+
+2016-02-10 18:05:47 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkimagememory.c:
+ vkimagememory: free the managing struct on _free
+ fixes a memory leak
+
+2016-02-09 18:26:40 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkdevice.c:
+ vkdevice: perform a waitIdle before destroying the device
+
+2016-02-09 17:46:53 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkbuffermemory.c:
+ * ext/vulkan/vkbuffermemory.h:
+ * ext/vulkan/vkimagememory.c:
+ * ext/vulkan/vkimagememory.h:
+ Revert "vulkan: remove views from the memory objects."
+ This reverts commit 1ea817298ee4d5ef9b00f888f8ebe16a888b1150.
+
+2016-02-09 17:31:26 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkbuffermemory.c:
+ * ext/vulkan/vkbuffermemory.h:
+ * ext/vulkan/vkbufferpool.c:
+ * ext/vulkan/vkimagememory.c:
+ * ext/vulkan/vkimagememory.h:
+ vulkanmemory: remove bind variants
+
+2016-02-09 16:21:00 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkbuffermemory.c:
+ * ext/vulkan/vkbuffermemory.h:
+ * ext/vulkan/vkimagememory.c:
+ * ext/vulkan/vkimagememory.h:
+ vulkan: remove views from the memory objects.
+ They are not used and it's not possible to create the view before binding the
+ VkDeviceMemory object to them.
+
+2016-02-09 11:34:57 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkswapper.c:
+ vkswapper: alpha flags are now supported by LunarG's driver
+
+2016-02-09 00:07:38 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/Makefile.am:
+ * ext/vulkan/vk.h:
+ * ext/vulkan/vk_fwd.h:
+ * ext/vulkan/vkbufferpool.c:
+ * ext/vulkan/vkbufferpool.h:
+ * ext/vulkan/vkupload.c:
+ vulkan: add a vulkanbuffer bufferpool
+
+2016-02-08 22:49:15 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/Makefile.am:
+ * ext/vulkan/gstvulkan.c:
+ * ext/vulkan/vksink.c:
+ * ext/vulkan/vkswapper.c:
+ * ext/vulkan/vkswapper.h:
+ * ext/vulkan/vkupload.c:
+ * ext/vulkan/vkupload.h:
+ vulkan: add upload element
+
+2016-02-08 18:28:29 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkutils.c:
+ vkutils: fix assert inversion
+
+2016-02-08 18:27:16 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkbuffermemory.h:
+ * ext/vulkan/vkimagememory.h:
+ vulkan: add caps feature names for the buffer and image memories
+
+2016-02-08 14:44:20 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vksink.c:
+ * ext/vulkan/vkutils.c:
+ * ext/vulkan/vkutils.h:
+ vulkan: add device to handle_context_query
+
+2016-02-08 14:32:10 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vksink.c:
+ * ext/vulkan/vkutils.c:
+ vulkan: move instance_open into the utility ensure_element_data
+ So callers don't have to perform it themselves.
+
+2016-02-08 14:25:49 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkinstance.c:
+ * ext/vulkan/vkinstance.h:
+ * ext/vulkan/vksink.c:
+ vkinstance: add signal for overriding device creation
+
+2016-02-08 12:22:11 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkbuffermemory.c:
+ * ext/vulkan/vkbuffermemory.h:
+ * ext/vulkan/vkimagememory.c:
+ * ext/vulkan/vkimagememory.h:
+ * ext/vulkan/vkmacros.h:
+ * ext/vulkan/vkmemory.c:
+ * ext/vulkan/vkmemory.h:
+ * ext/vulkan/vkswapper.c:
+ vulkan: separate allocation and binding of memory
+
+2016-02-08 12:14:44 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkbuffermemory.c:
+ vkbuffermemory: follow the rest of the struct macros
+
+2016-02-05 19:31:49 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkswapper.c:
+ vkswapper: use buffer memory to upload video frames to the GPU
+
+2016-02-05 19:18:40 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/Makefile.am:
+ * ext/vulkan/vk.h:
+ * ext/vulkan/vk_fwd.h:
+ * ext/vulkan/vkbuffermemory.c:
+ * ext/vulkan/vkbuffermemory.h:
+ * ext/vulkan/vkinstance.c:
+ vulkan: add a buffer memory allocator
+ Wraps the VkBuffer in a GstMemory subclass.
+
+2016-02-05 19:11:51 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkmemory.h:
+ vkmemory: align struct members in the header
+
+2016-02-05 19:10:43 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkmacros.h:
+ vkmacros: use specific _INIT macros to initialize structures
+
+2016-02-05 19:09:41 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkimagememory.c:
+ * ext/vulkan/vkimagememory.h:
+ vkimagememory: add get_{width,height) functions
+
+2016-01-27 15:20:49 +1100 Matthew Waters <matthew@centricular.com>
+
+ * configure.ac:
+ * ext/vulkan/vkapi.h:
+ * ext/vulkan/vkdevice.c:
+ * ext/vulkan/vkinstance.c:
+ * ext/vulkan/vkinstance.h:
+ * ext/vulkan/vkswapper.c:
+ * ext/vulkan/xcb/vkwindow_xcb.c:
+ vulkan: update to release 1.0.1.1
+
+2016-01-22 14:34:06 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/xcb/vkwindow_xcb.c:
+ vulkan/xcb: flush after mapping the window
+ Otherwise the map may not reach the server and not appear.
+
+2016-01-04 16:51:26 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkswapper.c:
+ vkswapper: fix semaphore usage
+
+2015-12-31 16:34:24 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkdevice.c:
+ * ext/vulkan/vkinstance.c:
+ vulkan: add some debugging about the supported extensions
+
+2015-12-31 15:58:37 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkswapper.c:
+ vkswapper: get the function pointers from the correct object
+ GetPhysicalDevice* functions are instance functions rather than device
+ functions.
+
+2015-12-31 15:38:37 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkinstance.c:
+ * ext/vulkan/vkinstance.h:
+ vkinstance: add the necessary winsys extension
+
+2015-12-31 15:34:45 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vk_fwd.h:
+ * ext/vulkan/vkdisplay.h:
+ vkdisplay: forward declare GstVulkanDisplayType
+
+2015-12-31 15:32:15 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkapi.h:
+ vkapi: remove unneeded headers
+ vkapi is for accessing the vulkan headers with the correct defines applied so
+ doesn't need any interal headers.
+
+2015-12-30 15:15:40 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkimagememory.c:
+ vkimagememory: fix the memory barrier access masks
+ silences the following warnings from the validation layer
+ AccessMask xxx must have required access bit xxx and may have optional bits 0
+ when layout is VK_IMAGE_LAYOUT_TRANSFER_{SRC,DST}_OPTIMAL
+
+2015-12-30 15:14:23 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkswapper.c:
+ vkswapper: only wait on the semaphore once
+ It's invalid usage and we may deadlock
+
+2015-12-31 01:27:54 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkimagememory.c:
+ vkimagememory: initialize flags and don't crash on errors
+
+2015-12-30 14:06:01 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkdevice.c:
+ * ext/vulkan/vkerror.c:
+ * ext/vulkan/vkerror.h:
+ * ext/vulkan/vkinstance.c:
+ * ext/vulkan/vkswapper.c:
+ vulkan: update error db for 0.10.2
+
+2015-12-29 16:05:17 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vk.h:
+ * ext/vulkan/vkapi.h:
+ * ext/vulkan/vkdevice.c:
+ * ext/vulkan/vkdevice.h:
+ * ext/vulkan/vkdisplay.c:
+ * ext/vulkan/vkdisplay.h:
+ * ext/vulkan/vkimagememory.c:
+ * ext/vulkan/vkinstance.c:
+ * ext/vulkan/vkmacros.h:
+ * ext/vulkan/vkmemory.c:
+ * ext/vulkan/vkmemory.h:
+ * ext/vulkan/vkswapper.c:
+ * ext/vulkan/vkswapper.h:
+ * ext/vulkan/vkutils.c:
+ * ext/vulkan/vkwindow.c:
+ * ext/vulkan/vkwindow.h:
+ * ext/vulkan/xcb/vkdisplay_xcb.c:
+ * ext/vulkan/xcb/vkdisplay_xcb.h:
+ * ext/vulkan/xcb/vkwindow_xcb.c:
+ * ext/vulkan/xcb/vkwindow_xcb.h:
+ vulkan: update to SDK 0.10.2
+
+2015-12-07 17:33:43 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/Makefile.am:
+ * ext/vulkan/vk.h:
+ * ext/vulkan/vkdevice.c:
+ * ext/vulkan/vkdisplay.c:
+ * ext/vulkan/vkdisplay.h:
+ * ext/vulkan/vkinstance.c:
+ * ext/vulkan/vkinstance.h:
+ * ext/vulkan/vksink.c:
+ * ext/vulkan/vkutils.c:
+ * ext/vulkan/vkutils.h:
+ * ext/vulkan/vkutils_private.h:
+ vulkan: implement GstContext helpers
+ Based off libgstgl's implementation
+
+2015-12-07 17:21:12 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vk_fwd.h:
+ * ext/vulkan/vkdevice.c:
+ * ext/vulkan/vkdevice.h:
+ * ext/vulkan/vksink.c:
+ vkdevice: remove gst_vulkan_device_close()
+ When sharing the device between multiple elements/application, we need
+ to use th erefcount to know when to close the device.
+
+2015-12-07 17:00:37 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vk_fwd.h:
+ * ext/vulkan/vkinstance.c:
+ * ext/vulkan/vkinstance.h:
+ * ext/vulkan/vksink.c:
+ vkinstance: remove gst_vulkan_instance_close
+ Sharing the instance across multiple elements/application will require
+ using the refcount instead to know when to close and destroy the instance.
+
+2015-12-07 16:46:28 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkswapper.c:
+ vkswapper: remove outdated comment
+
+2015-12-07 16:39:53 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkswapper.c:
+ vkswapper: always match lock/unlock of the render lock
+ If a draw event comes from the winsys before we've rendered a buffer we were
+ deadlocking.
+
+2015-12-02 17:54:30 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkimagememory.c:
+ * ext/vulkan/vkmemory.c:
+ vkmemory: debug output the memory properties requested
+
+2015-12-02 17:14:49 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkimagememory.c:
+ vkimagememory: don't leak GstMapInfo in failure cases on _map()
+
+2015-12-02 17:10:39 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkdevice.c:
+ * ext/vulkan/vkinstance.c:
+ * ext/vulkan/vkswapper.c:
+ vulkan: de-C99 struct declarations
+
+2015-12-01 18:37:34 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vk_fwd.h:
+ * ext/vulkan/vkswapper.c:
+ * ext/vulkan/vkswapper.h:
+ * ext/vulkan/vkwindow.c:
+ * ext/vulkan/vkwindow.h:
+ * ext/vulkan/xcb/xcb_event_source.c:
+ vkwindow/swapper: implement redraw handling
+ only xcb has been implemented
+
+2015-12-01 16:28:28 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkdisplay.c:
+ * ext/vulkan/vkdisplay.h:
+ * ext/vulkan/vksink.h:
+ * ext/vulkan/vkswapper.c:
+ * ext/vulkan/vkswapper.h:
+ * ext/vulkan/vkwindow.c:
+ * ext/vulkan/vkwindow.h:
+ * ext/vulkan/xcb/vkdisplay_xcb.c:
+ * ext/vulkan/xcb/vkwindow_xcb.c:
+ * ext/vulkan/xcb/xcb_event_source.c:
+ vulkan: implement quitting and resizing the window
+ As before, only xcb has been implemented.
+
+2015-10-24 17:29:05 +1100 Matthew Waters <matthew@centricular.com>
+
+ * configure.ac:
+ * ext/Makefile.am:
+ * ext/vulkan/.gitignore:
+ * ext/vulkan/Makefile.am:
+ * ext/vulkan/gstvulkan.c:
+ * ext/vulkan/vk.h:
+ * ext/vulkan/vk_fwd.h:
+ * ext/vulkan/vkdevice.c:
+ * ext/vulkan/vkdevice.h:
+ * ext/vulkan/vkdisplay.c:
+ * ext/vulkan/vkdisplay.h:
+ * ext/vulkan/vkerror.c:
+ * ext/vulkan/vkerror.h:
+ * ext/vulkan/vkimagememory.c:
+ * ext/vulkan/vkimagememory.h:
+ * ext/vulkan/vkinstance.c:
+ * ext/vulkan/vkinstance.h:
+ * ext/vulkan/vkmemory.c:
+ * ext/vulkan/vkmemory.h:
+ * ext/vulkan/vkqueue.c:
+ * ext/vulkan/vkqueue.h:
+ * ext/vulkan/vksink.c:
+ * ext/vulkan/vksink.h:
+ * ext/vulkan/vkswapper.c:
+ * ext/vulkan/vkswapper.h:
+ * ext/vulkan/vkutils.c:
+ * ext/vulkan/vkutils.h:
+ * ext/vulkan/vkwindow.c:
+ * ext/vulkan/vkwindow.h:
+ * ext/vulkan/xcb/Makefile.am:
+ * ext/vulkan/xcb/vkdisplay_xcb.c:
+ * ext/vulkan/xcb/vkdisplay_xcb.h:
+ * ext/vulkan/xcb/vkwindow_xcb.c:
+ * ext/vulkan/xcb/vkwindow_xcb.h:
+ * ext/vulkan/xcb/xcb_event_source.c:
+ * ext/vulkan/xcb/xcb_event_source.h:
+ new vulkan based video sink
+ Currently xcb is the only winsys that is implemented and there's no redraws et
+ al
+
+2016-02-16 12:38:21 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * tests/files/Makefile.am:
+ * tests/files/cbr_stream.mp3:
+ * tests/files/stream.mp2:
+ * tests/files/vbr_stream.mp3:
+ tests: remove test files no longer needed
+
+2016-02-16 10:44:33 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * Makefile.am:
+ * configure.ac:
+ * docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+ * docs/plugins/gst-plugins-bad-plugins-sections.txt:
+ * docs/plugins/inspect/plugin-mpg123.xml:
+ * ext/Makefile.am:
+ * ext/mpg123/Makefile.am:
+ * ext/mpg123/gstmpg123audiodec.c:
+ * ext/mpg123/gstmpg123audiodec.h:
+ * gst-plugins-bad.spec.in:
+ * tests/check/Makefile.am:
+ * tests/check/elements/.gitignore:
+ * tests/check/elements/mpg123audiodec.c:
+ mpg123: move plugin from -bad to -ugly
+ https://bugzilla.gnome.org/show_bug.cgi?id=719849
+
+2016-02-16 19:59:13 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gtk/gstgtkbasesink.c:
+ * ext/gtk/gstgtkbasesink.h:
+ gtk(gl)sink: remove the signal handlers on finalize
+ It's possible that the sink element will be freed before the widget is
+ destroyed. When the widget was eventually destroyed, it was attempting to
+ access member variables of the freed sink struct which resulted in undefined
+ behaviour.
+ Fix by disconnecting our signal on finalize.
+ https://bugzilla.gnome.org/show_bug.cgi?id=762098
+
+2016-02-16 08:48:23 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/gstgldebug.c:
+ * gst-libs/gst/gl/gstglviewconvert.c:
+ gl: Remove leftover g_prints
+ One was commented out, but we also don't use // comments :)
+
+2016-02-16 14:41:37 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstgldebug.c:
+ gldebug: use the correct spelling for behavior
+ The headers use the american spelling of behavior not the UK/AUS version with
+ the extra U.
+
+2016-02-16 13:58:42 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglcontext.c:
+ * gst-libs/gst/gl/gstgldebug.c:
+ glcontext: don't enable GL debug for messages that won't be logged
+ This is an optimization to avoid pointless string processing.
+
+2016-02-16 13:01:20 +1100 Alessandro Decina <alessandro.d@gmail.com>
+
+ * ext/gl/gstglvideoflip.c:
+ glvideoflip: don't ignore method changes when caps aren't set (yet)
+
+2016-02-16 00:33:50 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * Makefile.am:
+ * configure.ac:
+ * gst/rtp/Makefile.am:
+ * gst/rtp/gstrtp.c:
+ * gst/rtp/gstrtph265depay.c:
+ * gst/rtp/gstrtph265depay.h:
+ * gst/rtp/gstrtph265pay.c:
+ * gst/rtp/gstrtph265pay.h:
+ rtp: move RTP H.265 payloader/depayloader to -good
+ https://bugzilla.gnome.org/show_bug.cgi?id=761606
+
+2015-10-07 23:49:58 +0200 Stian Selnes <stian@pexip.com>
+
+ * configure.ac:
+ * gst/netsim/Makefile.am:
+ * gst/netsim/gstnetsim.c:
+ * gst/netsim/gstnetsim.h:
+ * tests/check/Makefile.am:
+ * tests/check/elements/netsim.c:
+ netsim: Add netsim element
+ Resurrected from the Farstream repository and given an
+ overhaul to fix races, deadlocks etc.
+ https://bugzilla.gnome.org/show_bug.cgi?id=756252
+
+2015-11-20 19:38:03 +0000 Florin Apostol <florin.apostol@oregan.net>
+
+ * ext/dash/gstdashdemux.c:
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ dashdemux: gst_dash_demux_get_live_seek_range returns positive values
+ https://bugzilla.gnome.org/show_bug.cgi?id=752374
+
+2016-02-10 10:31:19 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/gl/gstglsyncmeta.c:
+ gl: syncmeta: define GL_TIMEOUT_IGNORED in more portable way
+
+2016-02-10 16:37:22 +1100 Alessandro Decina <alessandro.d@gmail.com>
+
+ * gst-libs/gst/gl/gstglshader.c:
+ gstglshader: cache uniform locations
+ Avoid redundant calls to glGetUniformLocation. The results can be cached once
+ the shader has been linked.
+
+2016-02-10 15:40:02 +1100 Alessandro Decina <alessandro.d@gmail.com>
+
+ * sys/applemedia/videotexturecache.m:
+ applemedia: videotesturecache: let CVOpenGLESTextureCache flush every 1s
+ Leave kCVOpenGLESTextureCacheMaximumTextureAgeKey to the default (1s). We used
+ to set it to 0 and flush manually, but apparently (looking at the GLES profiler)
+ 0 means "disable the cache entirely".
+
+2016-02-10 13:08:43 +1100 Alessandro Decina <alessandro.d@gmail.com>
+
+ * gst-libs/gst/gl/gstglcontext.c:
+ gstglcontext: micro optimization to gst_gl_context_thread_add
+ Invoke the callback right away when called on the context thread. Removes
+ overhead when nesting libgstgl calls (for example when working with the sync
+ meta).
+
+2016-01-06 21:39:00 +0000 Julien MOUTTE <julien@moutte.net>
+
+ * ext/rtmp/gstrtmpsink.c:
+ * ext/rtmp/gstrtmpsink.h:
+ rtpmsink: Implement setcaps that uses streamheader
+ This allow adding rtmpsink after the flv streaming have started. Otherwise,
+ FLV streamheader is never sent to the server, which cannot figure-out
+ what is this stream about. It should also help in certain renegotiation
+ figures. The sink will no longer work without an streamheader in caps,
+ though there is no known implementation of flvdemux that does not
+ support this.
+ https://bugzilla.gnome.org/show_bug.cgi?id=760242
+
+2016-02-09 21:35:19 +0000 Luis de Bethencourt <luisbg@osg.samsung.com>
+
+ * ext/smoothstreaming/gstmssmanifest.c:
+ mssdemux: remove unnecessary check
+ stream->current_fragment has the value of g_list_previous (iter) which has
+ just been checked. No need to check it again.
+ Just to be safe, use a g_assert() to check fragment before dereferencing.
+ CID #1352041
+
+2016-02-09 17:24:50 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * ext/dash/gstdashdemux.c:
+ dashdemux: plug mpd client leak
+ On parsing error, free the mpd client object
+ https://bugzilla.gnome.org/show_bug.cgi?id=760120
+
+2016-01-04 12:12:45 +0000 Florin Apostol <florin.apostol@oregan.net>
+
+ * ext/dash/gstdashdemux.c:
+ dashdemux: fix memory leak in gst_dash_demux_update_manifest_data
+ new_client local variable was not freed in case of errors.
+ Also, the buffer is not unmapped.
+ https://bugzilla.gnome.org/show_bug.cgi?id=760120
+
+2015-11-10 22:01:38 +0000 Florin Apostol <florin.apostol@oregan.net>
+
+ * ext/dash/gstdashdemux.c:
+ * ext/dash/gstmpdparser.c:
+ * ext/dash/gstmpdparser.h:
+ * tests/check/elements/dash_mpd.c:
+ mpdparser: renamed gst_mpd_client_get_next_segment_availability_end_time to gst_mpd_client_get_next_segment_availability_start_time
+ The function actually returns the segment availability start time (as defined by the standard).
+ That is at the end of the segment, but it is called availability start time.
+ Availability end time is something else (the time when the segment is no longer
+ available on the server). The function name was misleading.
+ https://bugzilla.gnome.org/show_bug.cgi?id=757655
+
+2015-11-10 22:00:58 +0000 Florin Apostol <florin.apostol@oregan.net>
+
+ * ext/dash/gstmpdparser.c:
+ mpdparser: corrected getting segment availability
+ https://bugzilla.gnome.org/show_bug.cgi?id=757655
+
+2015-11-19 15:30:34 +0000 Florin Apostol <florin.apostol@oregan.net>
+
+ * tests/check/elements/dash_mpd.c:
+ mpdparser: tests: added unit test for getting segment availability when segment timeline is used
+ https://bugzilla.gnome.org/show_bug.cgi?id=757655
+
+2016-01-07 12:50:06 +0000 Florin Apostol <florin.apostol@oregan.net>
+
+ * tests/check/elements/adaptive_demux_engine.c:
+ adaptive_demux: tests: improved validation of pads
+ When removing a pad, the on_demuxPadRemoved function must find a stream
+ for that pad.
+ https://bugzilla.gnome.org/show_bug.cgi?id=760328
+
+2016-01-07 12:48:12 +0000 Florin Apostol <florin.apostol@oregan.net>
+
+ * tests/check/elements/adaptive_demux_engine.c:
+ adaptive_demux: tests: fix pad used for AppSink event
+ on_demuxNewPad registered the on_appsink_event callback on a wrong pad.
+ https://bugzilla.gnome.org/show_bug.cgi?id=760328
+
+2016-01-08 16:25:12 +0000 Florin Apostol <florin.apostol@oregan.net>
+
+ * tests/check/elements/adaptive_demux_engine.c:
+ * tests/check/elements/adaptive_demux_engine.h:
+ adaptivedemux: tests: remove unused demux_sent_eos callback
+ The demux_sent_eos callback is unused in tests. It was also registered on
+ a wrong pad, so it actually triggered when demux received eos from a
+ fragment download.
+ https://bugzilla.gnome.org/show_bug.cgi?id=760328
+
+2016-01-08 18:17:21 +0000 Florin Apostol <florin.apostol@oregan.net>
+
+ * tests/check/elements/dash_demux.c:
+ adaptivedemux: tests: remove unneeded youtube xmlns from manifests
+ https://bugzilla.gnome.org/show_bug.cgi?id=760328
+
+2016-02-09 14:07:54 +1100 Alessandro Decina <alessandro.d@gmail.com>
+
+ * sys/applemedia/vtdec.c:
+ applemedia: vtdec: implement GstElement::set_context
+
+2016-02-09 14:04:09 +1100 Alessandro Decina <alessandro.d@gmail.com>
+
+ * sys/applemedia/vtdec.c:
+ applemedia: vtdec: update copyright
+
+2016-02-09 13:42:48 +1100 Alessandro Decina <alessandro.d@gmail.com>
+
+ * sys/applemedia/avfvideosrc.m:
+ applemedia: avfvideosrc: implement GstElement::set_context
+ Needed to properly handle gst.gl.app_context(s).
+
+2016-02-09 13:39:18 +1100 Alessandro Decina <alessandro.d@gmail.com>
+
+ * sys/applemedia/avfvideosrc.m:
+ applemedia: avfvideosrc: add myself to the copyright holders
+
+2016-02-09 13:56:32 +1100 Matthew Waters <matthew@centricular.com>
+
+ * win32/common/libgstgl.def:
+ gl: update win32 .def file
+
+2016-02-09 13:08:21 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglsyncmeta.c:
+ glsyncmeta: add compatibility definition for GL_TIMEOUT_IGNORED
+
+2016-02-09 12:14:04 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gtk/gtkgstglwidget.c:
+ * gst-libs/gst/gl/gstglsyncmeta.c:
+ * gst-libs/gst/gl/gstglsyncmeta.h:
+ * sys/androidmedia/gstamcvideodec.c:
+ glsyncmeta: separate out gpu/cpu waits.
+ CPU waits are more expensive and are only required if the CPU is ever going to
+ access the data. GPU waits perform inter-context synchronisation and are cheaper
+ as they don't require CPU intervention.
+
+2016-02-08 23:17:34 +0000 Luis de Bethencourt <luisbg@osg.samsung.com>
+
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ adaptivedemux: remove overwritten value
+ ret is overwitten before used with the return of the subclass seek.
+ CID #1352044
+
+2016-02-08 15:00:35 +0000 Luis de Bethencourt <luisbg@osg.samsung.com>
+
+ * ext/resindvd/resindvdbin.c:
+ resindvd: remove commented out include
+ Commit 211828979b8c10abf3c74d964bc698dbda4d497d removed rsnaudiomunge,
+ no need for this commented out include for a file that doesn't exist
+ anymore.
+
+2016-02-08 14:26:46 +0000 Luis de Bethencourt <luisbg@osg.samsung.com>
+
+ * ext/resindvd/resindvdsrc.c:
+ * ext/resindvd/resindvdsrc.h:
+ Revert "resindvd: get rid of _stdint.h include"
+ This reverts commit 0eff6e1991cb24cb65f07c481742782acaa8ec62.
+ Breaks the build when linking with dvdnav.h
+
+2016-02-08 13:43:22 +0000 Luis de Bethencourt <luisbg@osg.samsung.com>
+
+ * ext/x265/gstx265enc.h:
+ x265enc: get rid of _stdint.h include
+ It was never needed since it doesn't use any standard integer fixed width
+ types. Only the Glib types.
+
+2016-02-08 13:32:46 +0000 Luis de Bethencourt <luisbg@osg.samsung.com>
+
+ * ext/resindvd/resindvdsrc.c:
+ * ext/resindvd/resindvdsrc.h:
+ resindvd: get rid of _stdint.h include
+
+2016-02-08 12:44:53 +0100 Piotr Drąg <piotrdrag@gmail.com>
+
+ * po/POTFILES.skip:
+ po: update POTFILES
+ https://bugzilla.gnome.org/show_bug.cgi?id=761704
+
+2016-02-08 12:23:12 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/effects/gstgleffectidentity.c:
+ gleffects: identity: add the shader to the hash table
+ So that we don't recreate it every frame and leak memory.
+ https://bugzilla.gnome.org/show_bug.cgi?id=761578
+
+2016-02-05 20:02:22 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * tests/check/Makefile.am:
+ tests: extend the AM_TESTS_ENVIRONMENT from check.mak
+ To get the CK_DEFAULT_TIMEOUT defined for all tests
+ https://bugzilla.gnome.org/show_bug.cgi?id=761472
+
+2016-02-05 18:06:32 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * README:
+ * common:
+ Automatic update of common submodule
+ From e97c9bb to b64f03f
+
+2016-02-05 15:34:51 +0000 Luis de Bethencourt <luisbg@osg.samsung.com>
+
+ * gst/rtp/gstrtph265depay.c:
+ * gst/rtp/gstrtph265depay.h:
+ gstrtph265depay: keep consistency with rtph264depay
+ Use gst_rtp_drop_meta() and the same function prototype for
+ gst_rtp_copy_meta() to keep consistency with the RTP elements in
+ gst-plugins-good
+
+2016-02-05 21:33:38 +0530 Arun Raghavan <arun@centricular.com>
+
+ * sys/tinyalsa/tinyalsasink.c:
+ tinyalsasink: Use glib CLAMP() instead of our own macro
+
+2016-02-05 13:56:34 +0000 Luis de Bethencourt <luisbg@osg.samsung.com>
+
+ * gst/rtp/gstrtph265depay.c:
+ rtph265depay: fix termination of access unit
+ Only consider the access unit complete when the next-occurring VCL NAL unit
+ has the first bit after its NAL unit header equal to 1.
+
+2016-02-02 13:50:25 +0000 David Waring <david.waring@rd.bbc.co.uk>
+
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ adaptivedemux: Update position in stream->segment for new stream segment message.
+ https://bugzilla.gnome.org/show_bug.cgi?id=761458
+
+2016-02-05 15:43:22 +0530 Arun Raghavan <arun@centricular.com>
+
+ * sys/tinyalsa/tinyalsasink.c:
+ tinyalsasink: Limit period size and count to what the h/w permits
+
+2016-02-05 10:43:49 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstgldebug.c:
+ * gst-libs/gst/gl/gstglfeature.h:
+ * gst-libs/gst/gl/gstglsl_private.h:
+ * gst-libs/gst/gl/wayland/wayland_event_source.h:
+ * win32/common/libgstgl.def:
+ gl: add .def file for msvc builds
+ Also internalize some API from being exported.
+
+2016-02-02 17:02:41 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * tests/check/Makefile.am:
+ * tests/check/elements/.gitignore:
+ * tests/check/elements/mssdemux.c:
+ tests: mssdemux: add unit tests
+ Adds unit tests similar to the ones that we have for DASH and HLS.
+ Tests:
+ * manifest parsing finishes successfully
+ * some queries (duration, seekable, latency)
+ * seeking with various values and flags
+
+2016-02-02 16:54:10 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * ext/smoothstreaming/gstmssdemux.c:
+ * ext/smoothstreaming/gstmssmanifest.c:
+ * ext/smoothstreaming/gstmssmanifest.h:
+ mssdemux: implement snap seeking
+ Implement snap seek flags handling in stream_seek to allow the
+ parent class to handle it for us
+ https://bugzilla.gnome.org/show_bug.cgi?id=759158
+
+2016-02-02 16:51:22 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * ext/smoothstreaming/gstmssdemux.c:
+ mssdemux: use correct seek position on reverse seeks
+ Otherwise it was always using the 'start' value, leading to wrong
+ behavior
+
+2016-02-02 11:30:31 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * ext/smoothstreaming/gstmssdemux.c:
+ mssdemux: only update download position if the seek requests to
+ Some seeks are only updating the stop position, there is no need
+ to change the current downloading position.
+
+2016-02-02 09:52:17 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * ext/smoothstreaming/gstmssmanifest.c:
+ mssdemux: do not assert on fragment reloads for non-live
+ It can be used as a resource to verify if the server has updated
+ something in the Manifest when downloads are failing
+
+2016-01-27 10:48:53 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * tests/check/elements/dash_demux.c:
+ tests: dashdemux: add tests for snap flags seeking
+ Similar to HLS but DASH has the extra issue that it can have
+ multiple streams so snapping can be tricky as streams usually
+ won't be aligned.
+ For now, those tests handle the case of only having a single
+ stream.
+ https://bugzilla.gnome.org/show_bug.cgi?id=759158
+
+2016-02-01 10:49:23 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * ext/dash/gstdashdemux.c:
+ * ext/dash/gstmpdparser.c:
+ dashdemux: implement snap seek handling
+ Handle snap seeking at the stream_seek method and let superclass
+ do the rest to support snap seeking
+ https://bugzilla.gnome.org/show_bug.cgi?id=759158
+
+2016-01-27 13:31:10 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * ext/dash/gstdashdemux.c:
+ * ext/dash/gstmpdparser.c:
+ * ext/dash/gstmpdparser.h:
+ * ext/smoothstreaming/gstmssdemux.c:
+ * ext/smoothstreaming/gstmssmanifest.c:
+ * ext/smoothstreaming/gstmssmanifest.h:
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+ adaptivedemux: handle snap seeks
+ Adaptive demuxers need to start downloading from specific positions
+ (fragments) for every stream, this means that all streams can snap-seek
+ to a different position when requested. Snap seeking in this case will
+ be done in 2 steps:
+ 1) do the snap seeking on the pad that received the seek event and
+ get the final position
+ 2) use this position to do a regular seek on the other streams to
+ make sure they all start from the same position
+ More arguments were added to the stream_seek function, allowing better control
+ of how seeking is done. Knowing the flags and the playback direction allows
+ subclasses to handle snap-seeking.
+ And also adds a new return parameter to inform of the final
+ selected seeking position that is used to align the other streams.
+ https://bugzilla.gnome.org/show_bug.cgi?id=759158
+
+2016-01-26 23:43:24 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+ adaptivedemux: add utility function to get stream from pad
+ Simplifies the code a bit and avoid repeating this
+ common operation
+
+2016-02-04 12:50:43 +0000 Luis de Bethencourt <luisbg@osg.samsung.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ h264parse: remove unused mview_mode value
+ Since commit b77f8e172a3f0be6be5cb4a72e654253404e694f the new value
+ assigned to mview_mode hasn't been used. That commit changed the following
+ "if" check to an "else if", which means the original value of mview_mode
+ is used.
+
+2016-02-04 12:17:31 +0000 Luis de Bethencourt <luisbg@osg.samsung.com>
+
+ * gst-libs/gst/gl/gstglquery.c:
+ glquery: remove unnecessary pointer check
+ All uses of query->context in gstglquery.c assume it exists. We can assume
+ this as well before unrefing it. Furthermore, gst_object_unref() will just
+ silently return if it ever were to not exist.
+
+2016-02-04 18:15:56 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ h265parse: avoid sending unnecessary downstream caps queries/events
+ h265 versions of the following commits:
+ f352691a04896d0de3381fe8ee85ada948bd6337
+ try the current caps before querying downstream
+ 72bc7d7f736a10117fedb8e1d4013a4946cfefbc
+ increase caps equality check for no codec_data
+ https://bugzilla.gnome.org/show_bug.cgi?id=761014
+
+2016-02-04 16:36:28 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ h264parse: increase caps equality check for no codec_data
+ When converting from avc to byte-stream, there will not be any codec_data
+ in the src caps. Remove it before the equality check to avoid sending caps
+ events downstream on every SPS/PPS change.
+ https://bugzilla.gnome.org/show_bug.cgi?id=761014
+
+2016-02-04 15:34:04 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst/videoparsers/gsth264parse.c:
+ h264parse: try the current caps before querying downstream
+ If we have a stream that contains an unchanging SPS/PPS for every video frame,
+ we don't need to to constantly query downstream for it's supported caps if the
+ current caps are compatible with the negotiated caps.
+ https://bugzilla.gnome.org/show_bug.cgi?id=761014
+
+2016-02-04 17:31:03 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglbasefilter.c:
+ glbasefilter: enable qos by default
+ Improves the responsiveness of the pipeline when resources are close/above the
+ limitations of the hardware.
+ Any subclass that wishes not to enable qos can do so themselves.
+ https://bugzilla.gnome.org/show_bug.cgi?id=761519
+
+2016-02-04 15:11:15 +1100 Matthew Waters <matthew@centricular.com>
+
+ * sys/androidmedia/gstamcvideodec.c:
+ amcvideodec: pass the correct time value to wait_for_sync
+ When we are not waiting, we need to pass -1 to signal that we just want to check
+ that the frame was/n't rendered. Avoids waiting for frames that will never be
+ rendered.
+ https://bugzilla.gnome.org/show_bug.cgi?id=761014
+
+2016-02-04 15:07:44 +1100 Matthew Waters <matthew@centricular.com>
+
+ * sys/androidmedia/gstamcvideodec.c:
+ amcvideodec: advance the ready counter ourselves when render=FALSE
+ When not rendering the video frame, e.g. when freeing an unreleased sync frame,
+ we will not receive a frame listener callback.
+ Reduces the amount of 'on_frame_available miss detected' messages when dropping
+ frames.
+ https://bugzilla.gnome.org/show_bug.cgi?id=761014
+
+2016-02-04 14:25:12 +1100 Jan Schmidt <jan@centricular.com>
+
+ * sys/decklink/gstdecklinkaudiosrc.cpp:
+ decklinkaudiosrc: Fix discont tracking
+ Don't reset the marker that's tracking disconts until
+ either the discont disappears or we resync.
+
+2016-02-03 21:22:28 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * sys/Makefile.am:
+ * sys/cdrom/Makefile.am:
+ * sys/cdrom/gstcdplayer.c:
+ * sys/cdrom/gstcdplayer.h:
+ * sys/cdrom/gstcdplayer_ioctl.c:
+ * sys/cdrom/gstcdplayer_ioctl.h:
+ * sys/cdrom/gstcdplayer_ioctl_bsd.h:
+ * sys/cdrom/gstcdplayer_ioctl_irix.h:
+ * sys/cdrom/gstcdplayer_ioctl_solaris.h:
+ Remove ancient and dead cdrom control plugin
+ This was never even ported to 0.10, and I don't think
+ it's particularly useful, since it's just a control
+ interface really. Let's remove it.
+
+2016-02-03 21:16:18 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/interfaces/photography.c:
+ * gst-libs/gst/interfaces/photography.h:
+ * gst/coloreffects/gstcoloreffects.h:
+ * gst/debugutils/fpsdisplaysink.c:
+ docs: remove some leftover 'Since 0.10.x' markers
+
+2016-02-03 21:13:58 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/debugutils/.gitignore:
+ * gst/debugutils/Makefile.am:
+ * gst/debugutils/debugutils-marshal.list:
+ * gst/debugutils/fpsdisplaysink.c:
+ debugutils: use generic marshaller
+
+2016-02-03 16:28:42 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+ * ext/opus/gstopusdec.c:
+ opus: fix FEC
+ FEC may only be used when PLC is enabled on the audio decoder,
+ as it relies on empty buffers to generate audio from the next
+ buffer. Hooking to the gap events doesn't work as the audio
+ decoder does not like more buffers output than it sends.
+ The length of data to generate using FEC from the next packet
+ is determined by rounding the gap duration to nearest. This
+ ensures that duration imprecision does not cause quantization
+ to 2.5 milliseconds less than available. Doing so causes the
+ Opus API to fail decoding. Such duration imprecision is common
+ in live cases.
+ The buffer to consider when determining the length of audio
+ to be decoded is the previous buffer when using FEC, and the
+ new buffer otherwise. In the FEC case, this means we determine
+ the amount of audio from the previous buffer, whether it was
+ missing or not (and get the data either from this buffer, or
+ the current one if the previous one was missing).
+
+2016-02-03 10:59:23 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstgltransformation.c:
+ gltransformation: reconfigure the src when changing to/from passthrough
+ Otherwise it's very possible that any GL resources have not been created yet.
+
+2016-02-03 10:52:08 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstglvideoflip.c:
+ * ext/gl/gstglvideoflip.h:
+ glvideoflip: correctly update the output caps on method changes
+ When changing methods we may need different output caps.
+
+2016-02-02 11:20:17 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+ * sys/tinyalsa/tinyalsasink.c:
+ tinyalsasink: fix tinalsa typo
+
+2016-02-02 11:06:52 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+ * sys/tinyalsa/tinyalsasink.c:
+ tinyalsasink: fix sample launch line
+
+2016-02-02 14:46:30 +0000 David Waring <david.waring@rd.bbc.co.uk>
+
+ * gst-libs/gst/player/Makefile.am:
+ libs: player: use configured GST_PKG_CONFIG_PATH when invoking the introspection scanner
+ https://bugzilla.gnome.org/show_bug.cgi?id=761460
+
+2016-02-02 15:20:48 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+ * ext/opus/gstopusdec.c:
+ opusdec: fix wrong buffer being checked for missing data
+ This caused a decoding error if the resulting (wrong) buffer size
+ was passed to the Opus decoding API.
+ https://bugzilla.gnome.org/show_bug.cgi?id=758158
+
+2016-02-02 16:26:09 +0530 Arun Raghavan <arun@centricular.com>
+
+ * sys/tinyalsa/tinyalsasink.c:
+ tinyalsasink: Use int type if we support a single rate/channel count
+ Avoids using an int range if the field we're setting is not actually a
+ range.
+
+2016-02-02 18:36:34 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
+ Revert "gl/eagl: try getting a gles3 context"
+ This reverts commit 96b9666d596be115fd4b446ef846508b7fd05c24.
+ This reverts commit d11385d167d8843604ea23a05e2dea40b8bbac35.
+ This breaks the texture sharing with the applemedia elements as
+ CVOpenGLESTextureCache seems to have an arbitrary restriction on GLES2 only.
+
+2016-02-02 16:21:14 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglcolorconvert.c:
+ glcolorconvert: don't skip subset structures
+ We may need them to transform into a different set of formats.
+ Fixes YUV->YUV with two glcolorconverts, e.g:
+ format=I420 ! glcolorconvert ! glcolorconvert ! format=NV12
+
+2016-02-02 16:19:54 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglbasefilter.c:
+ glbasefilter: always call gl_start when not called already
+ Fixes elements transitioning out of passthrough mode using GL resources that
+ hadn'e been allocated yet.
+
+2016-02-02 15:14:25 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglcolorconvert.c:
+ glcolorconvert: fix RGB,rectangle->planar YUV conversion
+ Converting to GRAY is no fun. Another case of normalized vs unnormalized
+ texture coordinates.
+
+2016-02-02 13:51:18 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglcolorconvert.c:
+ glcolorconvert: fix YUY2/UYVY,rectangle->RGB conversion
+ 1.0 / width does not offset by one pixel in rectangular textures (which use
+ unnormalized coordinates).
+ Provide the actual pixel offset as a uniform to the shader.
+
+2016-01-27 16:42:09 +0530 Arun Raghavan <arun@centricular.com>
+
+ * configure.ac:
+ * sys/Makefile.am:
+ * sys/tinyalsa/Makefile.am:
+ * sys/tinyalsa/tinyalsa.c:
+ * sys/tinyalsa/tinyalsasink.c:
+ * sys/tinyalsa/tinyalsasink.h:
+ tinyalsa: Add a new sink plugin using tinyalsa
+ This uses the tinyalsa library to playback to an ALSA device. Future
+ work can include using the mmap interface.
+ https://bugzilla.gnome.org/show_bug.cgi?id=761230
+
+2016-02-02 12:50:26 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglcolorconvert.c:
+ glcolorconvert: perform better negotiation
+ 1. Correctly describe what we can caps we can transform to/from.
+ i.e. no YUV->YUV or GRAY->YUV or YUV->GRAY (except for passthrough).
+ 2. Prefer similar formats and ignore incompatible formats on fixation.
+
+2016-01-26 23:15:10 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * tests/check/elements/dash_demux.c:
+ tests: dashdemux: add test for updating stop position
+ Test that a seek that only updates the stop position works
+ as expected
+
+2016-02-01 09:48:33 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * ext/dash/gstdashdemux.c:
+ dashdemux: only update current reading position when needed
+ If the seek doesn't set the start/stop position, no need to
+ reposition the download index.
+
+2016-01-29 20:34:42 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * ext/dash/gstdashdemux.c:
+ dashdemux: respect seeking parameter
+ Instead of using the segment values, use the parameter
+ requested in the seeking argument
+
+2016-02-01 14:25:42 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * tests/check/elements/dash_mpd.c:
+ tests: dash: fix dash tests after index fix
+ 8e788f284508612982e8e38336eed676c2eec35a broke one of the
+ dash mpd tests. This updates and fixes it.
+
+2016-02-01 12:23:32 +0000 Julien Isorce <j.isorce@samsung.com>
+
+ * gst-libs/gst/gl/gstglwindow.c:
+ gstglwindow: initialize navigation_loop to NULL
+ Useful when gst_gl_window.c::gst_gl_window_new is not used.
+ This is the case when using a custom GstGLWindow.
+ (ex: GstGLWindowGPUProcess from Chromium)
+
+2016-02-01 09:26:37 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
+ gl: eagl: fix build
+ gstglcontext_eagl.m:238:45: error: too few arguments to function call,
+ expected at least 4, have 3
+
+2016-02-01 15:13:03 +1100 Alessandro Decina <alessandro.d@gmail.com>
+
+ * ext/gl/gstgldownloadelement.c:
+ gldownload: allow video/x-raw as input
+ ...and just passthrough. This is useful for pipelines where downstream must be
+ non-GL but upstream can optionally be GL.
+
+2016-02-01 12:57:32 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
+ gl/eagl: try getting a gles3 context
+ Fallback to a gles2 context if that fails
+
+2016-01-21 16:10:48 +0800 Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+ * ext/gl/gstglvideomixer.c:
+ glvideomixer: fix checker vbo leak
+ https://bugzilla.gnome.org/show_bug.cgi?id=760925
+
+2016-01-24 15:47:12 +0100 Holger Kaelberer <holger.k@elberer.de>
+
+ * tests/examples/qt/qml/main.qml:
+ tests: fix warning in qml example
+ https://bugzilla.gnome.org/show_bug.cgi?id=756082
+
+2016-01-24 15:42:32 +0100 Holger Kaelberer <holger.k@elberer.de>
+
+ * configure.ac:
+ qt: Fix build for android
+ https://bugzilla.gnome.org/show_bug.cgi?id=756082
+
+2016-02-01 01:01:10 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/snapshot/Makefile.am:
+ * ext/snapshot/gstsnapshot.c:
+ * ext/snapshot/gstsnapshot.h:
+ Remove dead snapshot plugin
+ Was never ported and doesn't look like
+ we want it or need it in this form, can
+ do the same with the libgstvideo sample
+ conversion utility API now, but better
+ and in a more flexible way.
+
+2016-02-01 00:49:48 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * configure.ac:
+ * ext/rsvg/gstrsvgdec.h:
+ * ext/rsvg/gstrsvgoverlay.h:
+ rsvg: bump requirement to 2.36.2
+ Which allows us to simplify the configure check and
+ some special-casing in the code, and is plenty old
+ in any case.
+
+2016-02-01 00:29:37 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/Makefile.am:
+ * ext/libfame/Makefile.am:
+ * ext/libfame/README:
+ * ext/libfame/gstlibfame.c:
+ * ext/libfame/gstlibfame.h:
+ * m4/Makefile.am:
+ * m4/libfame.m4:
+ Remove dead libfame plugin
+ Was never even ported to 0.10, and the lib
+ has been unmaintained for ever and doesn't
+ even seem to be packaged any more.
+
+2016-01-31 19:09:57 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/Makefile.am:
+ * ext/audiofile/Makefile.am:
+ * ext/audiofile/README:
+ * ext/audiofile/gstaf.c:
+ * ext/audiofile/gstafparse.c:
+ * ext/audiofile/gstafparse.h:
+ * ext/audiofile/gstafsink.c:
+ * ext/audiofile/gstafsink.h:
+ * ext/audiofile/gstafsrc.c:
+ * ext/audiofile/gstafsrc.h:
+ * po/POTFILES.skip:
+ Remove dead audiofile plugin
+ This was never even ported to 0.10.
+
+2016-01-31 19:04:20 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * .gitignore:
+ * configure.ac:
+ * docs/plugins/gst-plugins-bad-plugins.args:
+ * docs/plugins/gst-plugins-bad-plugins.interfaces:
+ * ext/Makefile.am:
+ * ext/gsettings/Makefile.am:
+ * ext/gsettings/gstgsettings.h:
+ * ext/gsettings/gstgsettingsaudiosink.c:
+ * ext/gsettings/gstgsettingsaudiosink.h:
+ * ext/gsettings/gstgsettingsaudiosrc.c:
+ * ext/gsettings/gstgsettingsaudiosrc.h:
+ * ext/gsettings/gstgsettingsvideosink.c:
+ * ext/gsettings/gstgsettingsvideosink.h:
+ * ext/gsettings/gstgsettingsvideosrc.c:
+ * ext/gsettings/gstgsettingsvideosrc.h:
+ * ext/gsettings/gstswitchsink.c:
+ * ext/gsettings/gstswitchsink.h:
+ * ext/gsettings/gstswitchsrc.c:
+ * ext/gsettings/gstswitchsrc.h:
+ * ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:
+ * ext/gsettings/plugin.c:
+ * m4/gsettings.m4:
+ * po/POTFILES.in:
+ * tests/check/Makefile.am:
+ Remove gsettings plugin which was never ported
+ Don't think we need this any longer or want to
+ support it, and clearly no one has been missing
+ it all these years either, so let's just get rid
+ of it.
+
+2016-01-31 16:02:33 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/smoothstreaming/Makefile.am:
+ * ext/smoothstreaming/gstmssdemux.h:
+ smoothstreaming: remove unused dependency on uridownloader
+
+2016-01-31 14:42:21 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * configure.ac:
+ * ext/faad/Makefile.am:
+ * ext/faad/gstfaad.c:
+ * ext/faad/gstfaad.h:
+ faad: simplify configure check and require faad >= 2.7
+ Just check whether LATM is defined which is only available
+ in 2.7 and later. Allows us to simplify the configure check
+ a little and we can get rid of some hackish workarounds for
+ problems with earlier version headers.
+
+2016-01-30 17:31:41 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * sys/dvb/gstdvbsrc.c:
+ dvbsrc: drop unnecessary use of _stdint.h
+
+2016-01-29 23:39:26 +0100 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/mxf/mxftypes.c:
+ mxftypes: Generate UUIDs according to RFC4122 version 4 (aka random)
+ Instead of fully random UUIDs, these should follow a scheme.
+
+2016-01-29 21:09:44 +0100 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/mxf/mxfmetadata.c:
+ mxfmetadata: Properly write video line map data as an array of 32 bit integers
+
+2016-01-29 20:58:27 +0100 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/mxf/mxfmetadata.c:
+ mxfmetadata: DMSchemes in the Preface is a required field
+ Even if it has 0 entries.
+
+2016-01-29 18:41:52 +0100 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/mxf/mxful.c:
+ mxful: Fix Content Storage UL
+
+2016-01-29 18:28:03 +0100 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/mxf/mxfmetadata.c:
+ mxfmetadata: Best effort values must be written and if unset must contain the distinguished value
+ It's invalid to not write them at all.
+
+2016-01-29 17:36:11 +0100 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/mxf/mxful.c:
+ mxful: Add missing OperationalPattern UL, which fixes an off-by-one with the others
+
+2016-01-29 17:07:08 +0100 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/mxf/mxfmux.c:
+ mxfmux: Our body partition is always complete and closed
+ We have no metadata in it.
+
+2016-01-29 17:02:01 +0100 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/mxf/mxfmux.c:
+ mxfmux: Use IndexSID of 2 instead of 1
+ Some tools complain if essence and index have the same SID.
+
+2016-01-29 16:38:23 +0100 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/mxf/mxfmux.c:
+ mxfmux: Rewrite body partition pack on EOS and mark it as complete/closed
+
+2016-01-29 23:28:59 +1100 Matthew Waters <matthew@centricular.com>
+
+ * sys/androidmedia/gstamcvideodec.c:
+ amcvideodec: guard against not finding a valid frame in loop
+ Fixes sporadic crashes on finishing decoding a video.
+ https://bugzilla.gnome.org/show_bug.cgi?id=761014
+
+2016-01-29 15:24:36 +1100 Matthew Waters <matthew@centricular.com>
+
+ * sys/androidmedia/gstamcvideodec.c:
+ * sys/androidmedia/gstamcvideodec.h:
+ * sys/androidmedia/org/freedesktop/gstreamer/androidmedia/GstAmcOnFrameAvailableListener.java:
+ amcvideodec: set our data pointer in java to NULL on close
+ The frame available callback can be called after deconfiguring the amc codec.
+ Guard against this by setting the back pointer to NULL on close() and ignoring
+ any NULL data pointer.
+ https://bugzilla.gnome.org/show_bug.cgi?id=761014
+
+2016-01-29 15:07:59 +1100 Alessandro Decina <alessandro.d@gmail.com>
+
+ * sys/applemedia/Makefile.am:
+ * sys/applemedia/avfvideosrc.m:
+ * sys/applemedia/glcontexthelper.c:
+ * sys/applemedia/glcontexthelper.h:
+ * sys/applemedia/vtdec.c:
+ * sys/applemedia/vtdec.h:
+ applemedia: refactor GL context code
+ Rework the GL context code. Now both avfvideosrc and vtdec can create an
+ internal GL context for pushing textures. Both elements will still try to
+ use/switch to a local context where available (including after RECONFIGURE
+ events).
+
+2016-01-29 10:35:15 +0800 Wang Xin-yu (王昕宇) <comicfans44@gmail.com>
+
+ * gst-libs/gst/gl/glprototypes/base.h:
+ glprototypes: fix parameter type of glGenBuffers
+ The number of buffers should be GLsizei instead of GLuint.
+ https://bugzilla.gnome.org/show_bug.cgi?id=761272
+
+2015-12-08 14:09:58 +0800 Haihua Hu <b55597@freescale.com>
+
+ * ext/gl/effects/gstgleffectssources.c:
+ gleffects: fix gleffects fisheye shader compile error
+ On some embedded systems, sqrt() is not supported in the shader,
+ use the actual value of sqrt(2) instead.
+ Signed-off-by: Haihua Hu <b55597@freescale.com>
+ Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=761271
+
+2016-01-29 14:03:26 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstglvideomixer.c:
+ glvideomixer: par may not exist in the caps
+ Fixes a critical in the gst-validate tests:
+ gst_structure_fixate_field_nearest_fraction: assertion 'gst_structure_has_field
+ (structure, field_name)
+
+2016-01-29 12:45:57 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/egl/gstglcontext_egl.c:
+ * gst-libs/gst/gl/gstglcontext.c:
+ glcontext: back out unintended lost_context changes
+
+2016-01-28 16:39:07 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/egl/gstglcontext_egl.c:
+ * gst-libs/gst/gl/egl/gstglcontext_egl.h:
+ * gst-libs/gst/gl/gstglcontext.c:
+ * gst-libs/gst/gl/utils/opengl_versions.h:
+ egl: implement selecting opengl3 contexts
+
+2016-01-28 14:31:33 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/egl/gsteglimagememory.c:
+ * gst-libs/gst/gl/egl/gstglcontext_egl.c:
+ * gst-libs/gst/gl/egl/gstglcontext_egl.h:
+ gl/egl: pass the error value to get_error_string()
+
+2016-01-28 18:20:44 +0100 Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+ * gst/rawparse/gstvideoparse.c:
+ videoparse: initialize update_size to FALSE when updating info
+ Otherwise, behavior will be undefined when no strides/offsets are set
+ and it will likely go wrong.
+ https://bugzilla.gnome.org/show_bug.cgi?id=760270
+
+2016-01-28 11:56:36 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * gst/rawparse/gstvideoparse.c:
+ videoparse: Fix framesize calculation
+ When the framesize is not specified, we try and calculate a size from
+ the strides and offset information. This was done with the sum of
+ offsets + the size of the last frame. That is just wrong method. We also
+ need to account for video meta that may be flipping two planes. An
+ example is if you convert I420 to YV12 by flipping the two last offsets.
+ https://bugzilla.gnome.org/show_bug.cgi?id=760270
+
+2016-01-28 19:36:47 +0100 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/gdp/gstgdpdepay.c:
+ * gst/gdp/gstgdpdepay.h:
+ gdpdepay: Add ts-offset property to adjust buffer timestamps
+
+2016-01-29 04:50:42 +1100 Jan Schmidt <jan@centricular.com>
+
+ * pkgconfig/gstreamer-bad-audio-uninstalled.pc.in:
+ * pkgconfig/gstreamer-bad-audio.pc.in:
+ * pkgconfig/gstreamer-bad-base-uninstalled.pc.in:
+ * pkgconfig/gstreamer-bad-base.pc.in:
+ * pkgconfig/gstreamer-bad-video-uninstalled.pc.in:
+ * pkgconfig/gstreamer-bad-video.pc.in:
+ * pkgconfig/gstreamer-gl-uninstalled.pc.in:
+ * pkgconfig/gstreamer-gl.pc.in:
+ pkg-config: Don't generate and install pkg-config with relative paths
+ Don't put relative paths in pkg-config files, including uninstalled
+ ones. For those, use @abs_topbuilddir@ and @abs_topsrcdir@ as we
+ do elsewhere.
+ Remove libraries= directives, which doesn't seem to be a pkg-config
+ variable that actually exists, but has been in all our pkg-config
+ files for as long as they've existed.
+
+2016-01-28 16:49:53 +0100 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/mxf/mxfmpeg.c:
+ mxfmpeg: Write the correct essence container UL for all codecs
+
+2016-01-28 16:41:31 +0100 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/mxf/mxfmpeg.c:
+ mxfmpeg: Write version number into the picture essence coding UL
+
+2016-01-28 16:32:34 +0100 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/mxf/mxfmux.c:
+ mxfmux: Write a timecode track into the source package too
+
+2016-01-11 15:47:24 +0100 Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+ * gst/rawparse/gstvideoparse.c:
+ * gst/rawparse/gstvideoparse.h:
+ videoparse: use decide_allocation to check if downstream supports videometa
+ If yes, we add them to each output buffers and we avoid frame copy.
+ https://bugzilla.gnome.org/show_bug.cgi?id=760270
+
+2016-01-11 15:46:16 +0100 Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+ * gst/rawparse/gstrawparse.c:
+ * gst/rawparse/gstrawparse.h:
+ rawparse: add 'decide_allocation' vfunc to let subclass parse an allocation query
+ And so send an allocation query. This could be used to check whether
+ downstream element supports some metas or not.
+ https://bugzilla.gnome.org/show_bug.cgi?id=760270
+
+2016-01-08 17:17:01 +0100 Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+ * gst/rawparse/gstrawparse.c:
+ rawparse: use size of buffer we got from adapter
+ Otherwise position in stream could be wrong if subclass 'pre_push_frame'
+ method changes the buffer size.
+ https://bugzilla.gnome.org/show_bug.cgi?id=760270
+
+2016-01-07 14:27:27 +0100 Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+ * gst/rawparse/gstvideoparse.c:
+ * gst/rawparse/gstvideoparse.h:
+ videoparse: add properties to set framesize, strides and planes offsets
+ To make parser work with image having non-standard strides, plane
+ offsets or with padding between images.
+ For now, since element doesn't check for videometa, we can't directly
+ push buffers when these properties are set so it convert the frame
+ in the pre_push_buffer method to remove any custom padding.
+ https://bugzilla.gnome.org/show_bug.cgi?id=760270
+
+2016-01-08 15:21:28 +0100 Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+ * gst/rawparse/gstrawparse.c:
+ * gst/rawparse/gstrawparse.h:
+ * gst/rawparse/gstvideoparse.c:
+ rawparse: rename 'set_buffer_flags' vfunc to 'pre_push_buffer'
+ to allow subclass to change other fields of the buffer.
+ https://bugzilla.gnome.org/show_bug.cgi?id=760270
+
+2016-01-07 14:18:08 +0100 Aurélien Zanelli <aurelien.zanelli@parrot.com>
+
+ * gst/rawparse/gstvideoparse.c:
+ * gst/rawparse/gstvideoparse.h:
+ videoparse: cache video info in instance
+ To avoid initializing and filling video info each time we need it.
+ https://bugzilla.gnome.org/show_bug.cgi?id=760270
+
+2016-01-28 15:38:45 +0100 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/mxf/mxfmetadata.c:
+ * gst/mxf/mxful.c:
+ * gst/mxf/mxful.h:
+ mxfmux: Write This Generation UID into the Identification metadata
+ It's required according to the standard and we forgot to actually write it to
+ the file although we stored it in the data structures.
+
+2016-01-28 15:29:01 +0100 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/mxf/mxfmetadata.c:
+ mxfmetadata: Add workaround for ffmpeg only writing one Video Line Map value
+ https://ffmpeg.org/pipermail/ffmpeg-devel/2016-January/188202.html
+
+2015-10-14 21:13:57 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstglmixer.c:
+ * ext/gl/gstglstereomix.c:
+ * ext/gl/gstglvideomixer.c:
+ * gst-libs/gst/video/gstvideoaggregator.c:
+ * gst-libs/gst/video/gstvideoaggregator.h:
+ * gst/compositor/compositor.c:
+ videoaggregator: don't do caps processing that is not overridable
+ Allows the subclass to completely override the chosen src caps.
+ This is needed as videoaggregator generally has no idea exactly
+ what operation is being performed.
+ - Adds a fixate_caps vfunc for fixation
+ - Merges gst_video_aggregator_update_converters() into
+ gst_videoaggregator_update_src_caps() as we need some of its info
+ for proper caps handling.
+ - Pass the downstream caps to the update_caps vfunc
+ https://bugzilla.gnome.org/show_bug.cgi?id=756207
+
+2016-01-27 20:23:21 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstglcolorbalance.c:
+ glcolorbalance: return HARDWARE from get_balance_type
+
+2016-01-27 20:04:00 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstglsinkbin.c:
+ * ext/gl/gstglsinkbin.h:
+ glsinkbin: add glcolorbalance element
+ This makes playbin not plug videobalance as glcolorbalance already exists and
+ implements the GstColorBalance interface.
+
+2016-01-27 19:56:36 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstglvideomixer.c:
+ * gst-libs/gst/gl/Makefile.am:
+ * gst-libs/gst/gl/gl.h:
+ * gst-libs/gst/gl/gstglcontrolbindingproxy.c:
+ * gst-libs/gst/gl/gstglcontrolbindingproxy.h:
+ gl: move control binding proxy implementation from glvideomixer
+ Other elements may need to use it's functionality
+
+2016-01-27 18:17:06 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstglcolorbalance.c:
+ glcolorbalance: create the shader if it doesn't exist in the render callback
+ Changing the properties may result in glcolorbalance moving from passthrough to
+ non-passthrough and we weren't creating the shader in that case.
+
+2016-01-25 16:29:46 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/qt/gstqtsink.cc:
+ qt: specify that we currently only take 2D textures
+ Fixes black screen video playback on android without a caps filter.
+
+2016-01-25 19:11:38 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstglvideoflip.c:
+ * ext/gl/gstglvideoflip.h:
+ glvideoflip: incorporate the aspect ratio into the scale_x calculations
+ 1. Otherwise rotating the video will clip and show black bars due to
+ gltransformation's implementation.
+ 2. The other option of make gltransformation aspect-agnostic produces
+ incorrect output with perspective transformations.
+
+2016-01-27 14:36:36 +1100 Alessandro Decina <alessandro.d@gmail.com>
+
+ * sys/applemedia/avfvideosrc.m:
+ applemedia: avfvideosrc: actually set the configured framerate
+ Actually set the configured framerate. Before we only used to set the first
+ matching framerate range. On iOS where the camera reports ranges [2, 60], we
+ used to configure the camera to output anything between 2 and 60fps.
+
+2016-01-25 22:30:29 +0000 Luis de Bethencourt <luisbg@osg.samsung.com>
+
+ * ext/opencv/gstcvlaplace.cpp:
+ * ext/opencv/gstcvlaplace.h:
+ opencv: add mask property to cvlaplace
+ Add a "mask" property that sets whether the edges by cvLaplace should be
+ used as a mask on the original input or not. The same way the original
+ image is copied to the edges in edgedetect.
+
+2016-01-25 21:42:52 +0000 Luis de Bethencourt <luisbg@osg.samsung.com>
+
+ * ext/opencv/gstcvsobel.cpp:
+ * ext/opencv/gstcvsobel.h:
+ opencv: add mask property to cvsobel
+ Add a "mask" property that sets whether the detected derivative edges
+ should be used as a mask on the original input or not. The same way
+ the original image is added to the edges in edgedetect.
+
+2016-01-25 15:19:37 +0000 Luis de Bethencourt <luisbg@osg.samsung.com>
+
+ * ext/opencv/gstskindetect.cpp:
+ opencv: update deprecated function in skindetect
+ cvCvtPixToPlane() has been deprecated in OpenCV 3.0, and cvSplit() is the
+ suggested replacement. Since cvSplit() is available in OpenCV 2.4, it is
+ safe and cautious to update the function usage before it becomes an issue.
+
+2016-01-25 11:43:59 +0000 Luis de Bethencourt <luisbg@osg.samsung.com>
+
+ * ext/opencv/gstcvlaplace.cpp:
+ * ext/opencv/gstcvlaplace.h:
+ opencv: fix cvlaplace
+ cvlaplace was also affected by the silent change in OpenCV API, same as
+ cvsobel. It hasn't been working for a while. It would return a plain black
+ image. This commit updates the usage of cvLaplace by using cvCvtColor to
+ create the grayscale intermediate image to process. This also means there
+ is no need anymore to use GstBaseTransform's transform_caps, since the pads
+ are RGB.
+
+2016-01-25 13:33:09 +0900 Vineeth TM <vineeth.tm@samsung.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ h265parse: Fix buffer leak when sps is not present
+ When sps data is NULL, the buffer allocated and mapped is not being freed.
+ In this scenario there is no need to allocate the buffer as we are supposed to return NULL.
+ https://bugzilla.gnome.org/show_bug.cgi?id=761070
+
+2016-01-25 12:05:12 +0900 Vineeth TM <vineeth.tm@samsung.com>
+
+ * gst/videoparsers/gsth265parse.c:
+ h265parse: Fix buffer memory leak.
+ While setting caps, codec_data buffer is mapped, but not being unmapped
+ leading to memory leaks.
+ https://bugzilla.gnome.org/show_bug.cgi?id=761070
+
+2016-01-23 17:10:51 +0000 Luis de Bethencourt <luisbg@osg.samsung.com>
+
+ * ext/opencv/gstcvsobel.cpp:
+ * ext/opencv/gstcvsobel.h:
+ opencv: fix cvsobel
+ cvsobel han't been working for a while due to a silent change in OpenCV
+ API. It would return a plain black image. This commit updates the usage
+ of cvSobel by using cvCvtColor to create the grayscale image to process.
+ This also means there is no need to use GstBaseTransform's transform_caps
+ anymore, since the pads can be RGB.
+
+2016-01-23 05:30:05 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * pkgconfig/Makefile.am:
+ pkg-config: Properly version and install base/audio/video .pc files
+ https://bugzilla.gnome.org/show_bug.cgi?id=760733#c17
+
+2016-01-22 16:43:03 +0000 Alex Ashley <alex.ashley@youview.com>
+
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ adaptivedemux: fix leak of stream->internal_pad
+ The function gst_adaptive_demux_stream_update_source() function creates
+ a new GstPad called internal_pad. This pad is not freed when releasing
+ the stream.
+ The solution is to set GST_PAD_FLAG_NEED_PARENT so that the chain
+ functions do not get called when the pad has no parent and then
+ remove the parent in the gst_adaptive_demux_stream_free() function. This
+ causes the refcount of the pad to be set to zero.
+ https://bugzilla.gnome.org/show_bug.cgi?id=760982
+
+2016-01-21 22:00:44 +0800 John Chang <r97922153@gmail.com>
+
+ * ext/dash/gstmpdparser.c:
+ mpdparser: Use RepresentationIndex instead of Initialization to get the URL of the RepresentationIndex
+ https://bugzilla.gnome.org/show_bug.cgi?id=760936
+
+2016-01-22 17:25:28 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/androidmedia/gst-android-hardware-camera.c:
+ ahc: Fail gracefully if our callback class can't be found
+ Instead of just ignoring that error and then calling JNI functions with NULL,
+ which will kill the virtual machine.
+ The error handling here needs some further improvements though, errors in more
+ places are just ignored.
+
+2016-01-22 17:22:47 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/androidmedia/gst-android-hardware-camera.c:
+ ahc: Initialize GError pointer with NULL
+ Otherwise there will be assertions.
+
+2016-01-22 17:18:58 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/androidmedia/gstamcvideodec.c:
+ amcvideodec: Only free GstAmcBuffer if it's not NULL
+ And also free it on GL errors.
+
+2016-01-13 22:05:49 +0100 Julien Moutte <julien@ctondemand.com>
+
+ * sys/decklink/gstdecklink.cpp:
+ * sys/decklink/gstdecklink.h:
+ * sys/decklink/gstdecklinkvideosink.cpp:
+ * sys/decklink/gstdecklinkvideosrc.cpp:
+ * sys/decklink/gstdecklinkvideosrc.h:
+ decklinkvideosrc: implement RGB capture support
+ Combine mode and format to generate caps and support the flags from VideoChanged callback to support RGB capture.
+ https://bugzilla.gnome.org/show_bug.cgi?id=760594
+
+2016-01-22 16:22:07 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/androidmedia/gstamc.h:
+ amc: Add an assertion for NULL GErrors
+ Should never happen! But an assertion is better than a NULL pointer
+ dereference.
+
+2016-01-22 16:14:46 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/androidmedia/gst-android-graphics-imageformat.c:
+ * sys/androidmedia/gst-android-hardware-camera.c:
+ ahc: Fix indentation
+
+2016-01-22 16:13:45 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * sys/androidmedia/gstamc.c:
+ * sys/androidmedia/gstamcaudiodec.c:
+ * sys/androidmedia/gstamcvideodec.c:
+ * sys/androidmedia/gstamcvideoenc.c:
+ amc: MediaCodec::getOutputBuffer() can return NULL without exception
+ Happens when doing zerocopy rendering, or when passing a wrong index to it.
+ Handle this properly for zerocopy rendering, fail properly for the other
+ cases.
+ https://bugzilla.gnome.org/show_bug.cgi?id=760961
+
+2016-01-16 18:59:43 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/audio/Makefile.am:
+ * gst-libs/gst/base/Makefile.am:
+ * gst-libs/gst/video/Makefile.am:
+ * pkgconfig/Makefile.am:
+ base/audio/video: Install headers and pkg-config files
+ They are still considered unstable API but it would be good to give them some
+ wider testing already to make sure the API is useful.
+ https://bugzilla.gnome.org/show_bug.cgi?id=760733
+
+2016-01-16 18:56:26 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * configure.ac:
+ * gst-libs/gst/Makefile.am:
+ * gst-libs/gst/audio/Makefile.am:
+ * gst-libs/gst/audio/gstaudioaggregator.c:
+ * gst-libs/gst/audio/gstaudioaggregator.h:
+ * gst/audiomixer/Makefile.am:
+ * gst/audiomixer/gstaudioaggregator.c:
+ * gst/audiomixer/gstaudioaggregator.h:
+ * gst/audiomixer/gstaudiointerleave.h:
+ * gst/audiomixer/gstaudiomixer.h:
+ * pkgconfig/gstreamer-bad-audio-uninstalled.pc.in:
+ * pkgconfig/gstreamer-bad-audio.pc.in:
+ audio: Move audioaggregator base class to a library
+ It's useful enough already to be used in other elements for audio aggregation,
+ let's give people the opportunity to use it and give it some API testing.
+ https://bugzilla.gnome.org/show_bug.cgi?id=760733
+
+2016-01-21 23:13:36 +0100 Holger Kaelberer <holger.k@elberer.de>
+
+ * gst-libs/gst/gl/android/gstglwindow_android_egl.c:
+ glwindow: Fix android build
+ https://bugzilla.gnome.org/show_bug.cgi?id=760972
+
+2016-01-22 13:51:49 +1100 Alessandro Decina <alessandro.d@gmail.com>
+
+ * sys/applemedia/videotexturecache.m:
+ applemedia: texture cache: copy the input metas
+ Copy the input metas so avfvideosrc and vtenc can fast path to using
+ CVPixelBuffer(s) even when using GLMemory.
+
+2016-01-21 13:50:44 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ Merge branch 'android-hardware-camera'
+ This branch adds support for Android Hardware Camera API through a new
+ element called ahcsrc. This is the "old" Android Camera API, then only
+ API available on Android 4.X.
+ https://bugzilla.gnome.org/show_buf.cgi?id=737786
+
+2016-01-08 16:16:09 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/androidmedia/gstahcsrc.c:
+ ahcsrc: Fix latency reporting
+ Currently it was wrongly reporting min/max as being the shortest and
+ longest possible frame duration. This is not how latency works in
+ GStreamer.
+ Fix by reporting min latency as being the longest possible duration of
+ one frame. As we don't know how many buffers the stack can accumulate, we
+ simply assume that max latency is the same (the usual default behaviour).
+
+2015-12-07 14:31:40 +0100 George Kiagiadakis <george.kiagiadakis@collabora.com>
+
+ * sys/androidmedia/gstahcsrc.c:
+ ahcsrc: fix deadlock when flushing
+ _data_queue_item_free() calls gst_buffer_unref(), which
+ calls gst_ahc_src_buffer_free_func(), which calls
+ g_mutex_lock() on self->mutex and there you go... deadlock!
+
+2015-12-24 12:51:13 +0900 Justin Kim <justin.kim@collabora.com>
+
+ * sys/androidmedia/Makefile.am:
+ * sys/androidmedia/gst-android-graphics-imageformat.c:
+ * sys/androidmedia/gst-android-graphics-imageformat.h:
+ * sys/androidmedia/gst-android-graphics-surfacetexture.c:
+ * sys/androidmedia/gst-android-graphics-surfacetexture.h:
+ * sys/androidmedia/gst-android-hardware-camera.c:
+ * sys/androidmedia/gst-android-hardware-camera.h:
+ * sys/androidmedia/gst-android-media-mediacodec.c:
+ * sys/androidmedia/gst-android-media-mediacodec.h:
+ * sys/androidmedia/gst-android-media-mediacodecinfo.c:
+ * sys/androidmedia/gst-android-media-mediacodecinfo.h:
+ * sys/androidmedia/gst-android-media-mediacodeclist.c:
+ * sys/androidmedia/gst-android-media-mediacodeclist.h:
+ * sys/androidmedia/gst-android-media-mediaformat.c:
+ * sys/androidmedia/gst-android-media-mediaformat.h:
+ * sys/androidmedia/gstahcsrc.c:
+ * sys/androidmedia/gstahcsrc.h:
+ * sys/androidmedia/gstamc.c:
+ * sys/androidmedia/org/freedesktop/gstreamer/androidmedia/GstAhcCallback.java:
+ ahcsrc: porting from 0.10 to 1.0
+
+2015-12-24 12:14:24 +0900 Justin Kim <justin.kim@collabora.com>
+
+ * gst-libs/gst/dvm/Makefile.am:
+ * gst-libs/gst/dvm/gstdvm.c:
+ * gst-libs/gst/dvm/gstdvm.h:
+ * pkgconfig/gstreamer-dvm-uninstalled.pc.in:
+ * pkgconfig/gstreamer-dvm.pc.in:
+ * sys/androidcamera/Makefile.am:
+ * sys/androidcamera/com/gstreamer/GstAhcCallback.java:
+ * sys/androidcamera/gst-android-graphics-imageformat.c:
+ * sys/androidcamera/gst-android-graphics-imageformat.h:
+ * sys/androidcamera/gst-android-graphics-surfacetexture.c:
+ * sys/androidcamera/gst-android-graphics-surfacetexture.h:
+ * sys/androidcamera/gst-android-hardware-camera.c:
+ * sys/androidcamera/gst-android-hardware-camera.h:
+ * sys/androidcamera/gst-androidcamera.c:
+ * sys/androidcamera/gstahccallback.h:
+ * sys/androidcamera/gstahcsrc.c:
+ * sys/androidcamera/gstahcsrc.h:
+ * sys/androidmedia/gst-android-graphics-imageformat.c:
+ * sys/androidmedia/gst-android-graphics-imageformat.h:
+ * sys/androidmedia/gst-android-graphics-surfacetexture.c:
+ * sys/androidmedia/gst-android-graphics-surfacetexture.h:
+ * sys/androidmedia/gst-android-hardware-camera.c:
+ * sys/androidmedia/gst-android-hardware-camera.h:
+ * sys/androidmedia/gst-androidcamera.c:
+ * sys/androidmedia/gstahcsrc.c:
+ * sys/androidmedia/gstahcsrc.h:
+ move androidcamera into androidmedia
+ This commit is a part of portng android hardware camera from 0.10 implementation.
+ To preserve history and get diff clearly, the interesting files are moved to
+ deployment directory and the remaining files are removed.
+
+2013-01-07 18:27:40 -0500 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gst-android-graphics-surfacetexture.c:
+ * sys/androidcamera/gst-android-graphics-surfacetexture.h:
+ * sys/androidcamera/gst-android-hardware-camera.c:
+ * sys/androidcamera/gst-android-hardware-camera.h:
+ * sys/androidcamera/gstahcsrc.c:
+ androidcamera: Separate release and free APIs
+
+2013-01-07 18:20:47 -0500 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidmedia/gst-android-media-mediacodecinfo.c:
+ androidmedia: Fix get_level and get_profile exception checking by not using return
+
+2013-01-07 18:19:28 -0500 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidmedia/gst-android-media-mediacodec.c:
+ * sys/androidmedia/gst-android-media-mediacodec.h:
+ * sys/androidmedia/gst-android-media-mediacodecinfo.c:
+ androidmedia: Add extern gint declarations
+
+2013-01-07 18:18:18 -0500 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * gst-libs/gst/dvm/gstdvm.h:
+ gstdvm: Fix GST_DVM_GET_STATIC_FIELD
+
+2012-11-29 20:10:19 -0500 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gst-android-hardware-camera.c:
+ androidcamera: Small refactor in case open doesn't throw an exception but returns null
+
+2012-12-13 17:57:58 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * sys/androidcamera/gst-android-hardware-camera.c:
+ androidcamera: Fix some compiler warnings
+
+2012-12-13 17:56:01 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst-libs/gst/dvm/Makefile.am:
+ * gst-libs/gst/dvm/gst-dvm.c:
+ * gst-libs/gst/dvm/gst-dvm.h:
+ * gst-libs/gst/dvm/gstdvm.c:
+ * gst-libs/gst/dvm/gstdvm.h:
+ * sys/androidcamera/Makefile.am:
+ * sys/androidcamera/gst-android-graphics-imageformat.c:
+ * sys/androidcamera/gst-android-graphics-surfacetexture.c:
+ * sys/androidcamera/gst-android-hardware-camera.c:
+ * sys/androidcamera/gst-androidcamera.c:
+ * sys/androidcamera/gstahcsrc.c:
+ * sys/androidmedia/gst-android-media-mediacodec.c:
+ * sys/androidmedia/gst-android-media-mediacodecinfo.c:
+ * sys/androidmedia/gst-android-media-mediacodeclist.c:
+ * sys/androidmedia/gst-android-media-mediaformat.c:
+ dvm: Rename gst-dvm.[ch] to gstdvm.[ch] for consistency with other GStreamer code
+
+2012-12-13 17:40:22 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst-libs/gst/dvm/gst-dvm.c:
+ * gst-libs/gst/dvm/gst-dvm.h:
+ dvm: Add new function to check if we started a VM or only used an existing one
+
+2012-12-13 17:40:04 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * sys/androidmedia/gst-android-media-mediacodec.c:
+ * sys/androidmedia/gst-android-media-mediacodec.h:
+ androidmedia: Make everything compile with the new wrappers
+
+2012-12-13 12:13:27 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * sys/androidmedia/gst-android-media-mediacodec.c:
+ * sys/androidmedia/gst-android-media-mediacodec.h:
+ * sys/androidmedia/gst-android-media-mediacodecinfo.c:
+ * sys/androidmedia/gst-android-media-mediacodecinfo.h:
+ * sys/androidmedia/gst-android-media-mediacodeclist.c:
+ * sys/androidmedia/gst-android-media-mediacodeclist.h:
+ * sys/androidmedia/gst-android-media-mediaformat.c:
+ * sys/androidmedia/gst-android-media-mediaformat.h:
+ androidmedia: Add remaining bits of the Java wrappers using libgstdvm
+
+2012-12-13 12:13:12 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * gst-libs/gst/dvm/gst-dvm.h:
+ dvm: Add some more helper macros
+
+2012-12-12 18:10:13 +0000 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * sys/androidmedia/gst-android-media-mediacodec.c:
+ * sys/androidmedia/gst-android-media-mediaformat.c:
+ androidmedia: Remove g_return_if_fails()
+ This is not public API so it has no advantage to have them here.
+
+2012-11-28 20:53:51 -0500 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidmedia/gst-android-media-mediacodec.c:
+ * sys/androidmedia/gst-android-media-mediacodec.h:
+ * sys/androidmedia/gst-android-media-mediaformat.c:
+ * sys/androidmedia/gst-android-media-mediaformat.h:
+ androidmedia: Use gst-dvm and refactor java wrappers (WIP)
+ Moved the java wrapper API into its own files and made use of the
+ gst-dvm macros. Also renamed the API to have the proper naming
+ convention and coding style in order to match the one in androidcamera.
+ This is a work in progress! "android/media/MediaCodecList" is still missing
+ and the actual elements have not been ported to use the new function names.
+
+2012-11-28 15:26:49 -0500 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gst-android-graphics-imageformat.h:
+ * sys/androidcamera/gst-android-graphics-surfacetexture.h:
+ * sys/androidcamera/gst-android-hardware-camera.h:
+ androidcamera: Add G_BEGIN/END_DECLS to the .h
+
+2012-11-27 19:25:06 -0500 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * gst-libs/gst/dvm/Makefile.am:
+ * gst-libs/gst/dvm/gst-dvm.c:
+ * gst-libs/gst/dvm/gst-dvm.h:
+ * pkgconfig/gstreamer-dvm-uninstalled.pc.in:
+ * pkgconfig/gstreamer-dvm.pc.in:
+ * sys/androidcamera/Makefile.am:
+ * sys/androidcamera/gst-android-graphics-imageformat.c:
+ * sys/androidcamera/gst-android-graphics-surfacetexture.c:
+ * sys/androidcamera/gst-android-hardware-camera.c:
+ * sys/androidcamera/gst-androidcamera.c:
+ * sys/androidcamera/gst-dvm.c:
+ * sys/androidcamera/gst-dvm.h:
+ * sys/androidcamera/gstahcsrc.c:
+ gst-dvm: Create a gst-dvm library using part of androidcamera
+
+2012-11-27 17:24:35 -0500 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidcamera: Adding a device-name property
+
+2012-11-20 19:56:22 -0500 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * docs/plugins/inspect/plugin-androidcamera.xml:
+ * sys/androidcamera/gstahcsrc.c:
+ * sys/androidcamera/gstahcsrc.h:
+ androidcamera: Add element documentation
+
+2012-11-19 18:25:12 -0500 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/Makefile.am:
+ androidcamera: Prettify the gstahccallback.c generation line in the makefile
+
+2012-11-15 12:33:26 -0500 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gst-android-hardware-camera.c:
+ androicamera: Make sure the TMP env var exists and check for DEX var too
+
+2012-11-14 11:38:51 -0500 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gst-android-hardware-camera.c:
+ androidcamera: Do not use gst_list_free_full since it requires glib 2.28
+
+2012-11-12 18:59:57 -0500 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ * sys/androidcamera/gstahcsrc.h:
+ androidcamera: Add smooth-zoom property for smooth zooming feature
+
+2012-11-12 18:19:20 -0500 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidcamera: Add focal-length, view-angle and video-stabilization properties
+
+2012-11-12 18:18:11 -0500 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gst-android-hardware-camera.c:
+ * sys/androidcamera/gst-android-hardware-camera.h:
+ androidcamera: Add video stabilization API
+
+2012-11-12 16:38:40 -0500 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidcamera: Add property probe for the photography properties
+
+2012-11-09 18:21:21 -0500 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidcamera: Small refactor
+
+2012-11-09 16:57:30 -0500 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidcamera: Fix small memleak
+
+2012-11-09 16:55:57 -0500 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidcamera: Store GParamSpec for properties and use that for the PropertyProbe comparison
+
+2012-11-09 12:23:37 -0500 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidcamera: Handle zoom comparison better, and avoid float precision issue
+
+2012-11-09 12:22:12 -0500 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidcamera: Fix EV compensation support
+
+2012-11-07 19:16:05 -0500 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidcamera: Implement new GstPhotography enums
+
+2012-11-07 15:38:19 -0500 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidcamera: Do not advertise zoom capabilities if camera doesn't support zoom
+
+2012-11-07 15:37:43 -0500 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gst-android-hardware-camera.c:
+ androidcamera: Be NULL-safe when a JNI list is returned
+
+2012-11-02 18:07:24 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidcamera: Use strcmp on the GParamSpec property name
+ Use strcmp instead of using the property_id because it's overriden
+
+2012-11-02 18:00:55 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidmedia: Implement property probe for zoom and ev_compensation
+
+2012-11-02 17:00:45 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/com/gstreamer/GstAhcCallback.java:
+ * sys/androidcamera/gst-android-hardware-camera.c:
+ * sys/androidcamera/gst-android-hardware-camera.h:
+ * sys/androidcamera/gstahcsrc.c:
+ androidcamera: Add autofocus support
+
+2012-11-02 16:59:42 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidcamera: Override properties
+
+2012-11-01 15:24:12 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ anroidcamera: Add support for the GstPhotography interface
+
+2012-11-01 11:58:33 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gst-android-hardware-camera.c:
+ * sys/androidcamera/gst-android-hardware-camera.h:
+ androidcamera: Add more wrappers for the Camera.Parameters class
+
+2012-10-31 14:21:47 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidcamera: Send proper error when unable to open camera
+
+2012-10-30 12:13:12 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidcamera: Adding device-orientation and device-facing properties
+
+2012-10-30 11:35:36 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ * sys/androidcamera/gstahcsrc.h:
+ androidcamera: Add device property and property probe it
+
+2012-10-30 10:12:06 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidcamera: Fix memleak and lose of buffer if the data queue is flushing
+
+2012-10-30 09:49:39 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidcamera: Calling set_preview_callback with NULL frees all the buffers in the queue.
+ We must not do it at the stop otherwise we lose all our buffers. It's best to do
+ it during the close, so we free up the resources.
+
+2012-10-30 09:49:03 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidcamera: Drop frames if we don't have a clock and var rename
+
+2012-10-30 09:45:55 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androicamera: if buffer size increases, then readd new buffers to the queue and drop old ones
+ The on_preview callback gets called with NULL if the buffer in the queue is
+ too small, so we need to handle the case where the array is NULL. Also
+ there is a bug in the android source which makes it drop one of the buffers
+ so if we had 5 buffers, and we renegotiate to a higher resolution, then we'd
+ only get 4 calls to on_preview_frame with NULL, with one being dropped.
+ This means we can't reallocate the buffers in the if (data == NULL) case
+ because we might end up with 0 buffers in the end.
+
+2012-10-30 09:44:31 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gst-android-hardware-camera.c:
+ androidcamera: If callback is NULL then set it to NULL in jni
+
+2016-01-21 13:46:52 -0500 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidcamera: Fix debug output
+
+2012-10-26 12:57:50 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidcamera: Chose the smallest range that contains the target framerate
+
+2012-10-26 12:43:09 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidcamera: Improve negotiation
+ And make sure we set an FPS range from the supported ones
+ now instead of a potentially unsupported range.
+
+2012-10-26 12:19:55 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidcamera: Implement LATENCY query
+
+2012-10-26 11:57:47 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidcamera: Make sure we always have a valid camera source instance in the buffer free function
+
+2012-10-26 11:46:23 +0200 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+
+ * sys/androidcamera/gst-android-hardware-camera.c:
+ * sys/androidcamera/gstahcsrc.c:
+ androidcamera: Make sure to not call any callbacks after stopping the camera
+ Fixes segfaults when rotating the device for example.
+
+2012-10-24 15:25:54 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidcamera: Fix timestamping issue
+
+2012-10-24 13:59:59 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ * sys/androidcamera/gstahcsrc.h:
+ androidcamera: Add caps negotiation support
+
+2012-10-24 10:55:52 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ Add support for getcaps that probes the camera for capabilities
+
+2012-10-23 13:54:46 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidmedia: Drop the first buffer to have proper timestamping
+
+2012-10-23 11:14:00 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidmedia: Flush the queue when the source is stopped
+
+2012-10-23 11:13:37 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidmedia: Allocate/free texture when camera is open/closed
+
+2012-10-23 11:13:12 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidmedia: add a gst_ahc_src_close function
+
+2012-10-23 11:12:19 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ androidmedia: Fix small indentation issues
+
+2012-10-23 10:12:52 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/Makefile.am:
+ androidmedia: Disable plugin if android-sdk isn't found and dynamically search for platform version
+
+2012-10-23 09:01:50 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/Makefile.am:
+ * sys/androidcamera/com/gstreamer/GstAhcCallback.java:
+ * sys/androidcamera/gst-android-hardware-camera.c:
+ * sys/androidcamera/gstahccallback.h:
+ androidcamera: Add support for using DexLoader with Embeded GstAhcCallback.jar
+
+2012-10-17 19:42:59 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gst-android-graphics-imageformat.c:
+ * sys/androidcamera/gst-android-graphics-surfacetexture.c:
+ * sys/androidcamera/gst-android-hardware-camera.c:
+ androidcamera: Fix compilation issues
+
+2012-10-17 19:42:59 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/Makefile.am:
+ * sys/androidcamera/gst-androidcamera.c:
+ * sys/androidcamera/gst-androidmedia.c:
+ Remove previous cruft and create androidcamera plugin
+
+2012-10-17 19:42:59 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ Free the buffers and readd the arrays when the queue is cleared
+
+2012-10-17 19:42:59 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gst-android-graphics-imageformat.c:
+ * sys/androidcamera/gst-android-graphics-surfacetexture.c:
+ * sys/androidcamera/gst-android-hardware-camera.c:
+ * sys/androidcamera/gst-dvm.h:
+ Add a GST_DVM_CALL macro to ease function calling with exception check
+
+2012-10-17 19:42:59 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ * sys/androidcamera/gstahcsrc.h:
+ Calculate timestamp at reception of the buffer, not when pushing it out
+
+2012-10-17 19:42:59 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ Make the number of callback buffers configurable, and delete their local ref
+
+2012-10-17 19:42:59 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ * sys/androidcamera/gstahcsrc.h:
+ Use GstDataQueue instead of GAsyncQueue for storing buffers
+
+2012-10-17 19:42:59 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ Use the buffer's free_func to map byteArray data without making a copy
+
+2012-10-17 19:42:59 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ Remove open failure test code and debug log
+
+2012-10-17 19:42:59 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gstahcsrc.c:
+ Use YV12 as the default format
+
+2012-10-17 19:42:59 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gst-android-graphics-imageformat.c:
+ * sys/androidcamera/gst-android-graphics-imageformat.h:
+ * sys/androidcamera/gst-android-graphics-surfacetexture.c:
+ * sys/androidcamera/gst-android-graphics-surfacetexture.h:
+ * sys/androidcamera/gst-android-hardware-camera.c:
+ * sys/androidcamera/gst-android-hardware-camera.h:
+ * sys/androidcamera/gst-androidmedia.c:
+ Add a deinit function and remove jclass references in case of error
+
+2012-10-17 19:42:59 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/gst-android-graphics-surfacetexture.c:
+ SurfaceTexture constructure needs texture_id
+
+2012-10-17 19:42:59 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/Makefile.am:
+ * sys/androidcamera/gst-androidmedia.c:
+ * sys/androidcamera/gstahcsrc.c:
+ * sys/androidcamera/gstahcsrc.h:
+ Add ahcsrc Camera source element prototype
+
+2012-10-17 19:42:59 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/Makefile.am:
+ * sys/androidcamera/gst-android-graphics-imageformat.c:
+ * sys/androidcamera/gst-android-graphics-imageformat.h:
+ * sys/androidcamera/gst-android-graphics-surfacetexture.c:
+ * sys/androidcamera/gst-android-graphics-surfacetexture.h:
+ * sys/androidcamera/gst-android-hardware-camera.c:
+ * sys/androidcamera/gst-android-hardware-camera.h:
+ Add android.hardware.Camera (and deps) JNI wrappers
+
+2012-10-17 19:42:59 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/Makefile.am:
+ * sys/androidcamera/gst-dvm.c:
+ * sys/androidcamera/gst-dvm.h:
+ Adding Dalvik Virtual Machine routines and macros
+
+2012-10-17 17:56:33 -0400 Youness Alaoui <youness.alaoui@collabora.co.uk>
+
+ * sys/androidcamera/Makefile.am:
+ * sys/androidcamera/gst-androidmedia.c:
+ androidmedia: Add androidmedia plugin
+
+2016-01-15 14:31:54 +0100 Sebastian Dröge <sebastian@centricular.com>
+
+ * ext/spandsp/Makefile.am:
+ * ext/spandsp/gstspandsp.c:
+ * ext/spandsp/gsttonegeneratesrc.c:
+ * ext/spandsp/gsttonegeneratesrc.h:
+ spandsp: Add tone generator
+
+2015-07-14 13:40:46 +0900 Hyunjun Ko <zzoon.ko@samsung.com>
+
+ * gst/mpegtsmux/tsmux/tsmuxstream.c:
+ mpegtsmux: set non-0 payload length in PES header if video ES packet is small enough
+ https://bugzilla.gnome.org/show_bug.cgi?id=748507
+
+2015-07-14 13:42:54 +0900 Hyunjun Ko <zzoon.ko@samsung.com>
+
+ * gst/mpegtsmux/tsmux/tsmuxstream.c:
+ mpegtsmux: reset pes_bytes_written when starting to write new PES packet
+ In case of an unbounded packet (video usually), pes_bytes_written was
+ no reset.
+ https://bugzilla.gnome.org/show_bug.cgi?id=748507
+
+2016-01-19 17:08:50 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/mpegtsmux/mpegtsmux.c:
+ * gst/mpegtsmux/tsmux/tsmuxstream.c:
+ * gst/mpegtsmux/tsmux/tsmuxstream.h:
+ mpegtsmux: add support for H.265/HEVC video
+ https://bugzilla.gnome.org/show_bug.cgi?id=744367
+
+2016-01-19 13:20:23 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/gl/Makefile.am:
+ * ext/gl/effects/gstgleffectscurves.c:
+ * ext/gl/effects/gstgleffectscurves.h:
+ gl: fix compiler warnings with gcc-6
+ In file included from effects/gstgleffectrgbtocurve.c:25:0:
+ effects/gstgleffectscurves.h:174:32: error: 'xray_curve' defined but not used
+ static const GstGLEffectsCurve xray_curve = {
+ ...
+
+2016-01-19 08:39:58 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/gl/Makefile.am:
+ * gst-libs/gst/insertbin/Makefile.am:
+ * gst-libs/gst/mpegts/Makefile.am:
+ * gst-libs/gst/player/Makefile.am:
+ libs: g-i: fix init section to avoid compiler warnings
+ ..GstPlayer-1.0.c: In function ‘main’:
+ ..GstPlayer-1.0.c:587:3: warning: implicit declaration of function ‘gst_init’
+ https://bugzilla.gnome.org/show_bug.cgi?id=760090
+
+2016-01-19 19:18:43 +1100 Alessandro Decina <alessandro.d@gmail.com>
+
+ * sys/applemedia/vtenc.c:
+ applemedia: vtenc: fix build on iOS
+
+2016-01-19 15:50:22 +1100 Alessandro Decina <alessandro.d@gmail.com>
+
+ * sys/applemedia/avfassetsrc.m:
+ * sys/applemedia/avfvideosrc.m:
+ * sys/applemedia/coremediabuffer.c:
+ * sys/applemedia/coremediabuffer.h:
+ * sys/applemedia/corevideobuffer.c:
+ * sys/applemedia/corevideobuffer.h:
+ * sys/applemedia/qtkitvideosrc.m:
+ * sys/applemedia/videotexturecache.m:
+ * sys/applemedia/vtdec.c:
+ * sys/applemedia/vtenc.c:
+ applemedia: always fill GstBuffers with GstMemory
+ Always fill buffers with our custom memory. The custom memory will avoid
+ mapping CV/CM buffers unless necessary.
+
+2015-04-19 00:30:48 +0300 Ilya Konstantinov <ilya.konstantinov@gmail.com>
+
+ * sys/applemedia/coremediabuffer.c:
+ * sys/applemedia/corevideobuffer.c:
+ applemedia: implement copying of meta
+ Before this, buffers would lose their Core Video / Core Media meta
+ over intervideo* boundary.
+ https://bugzilla.gnome.org/show_bug.cgi?id=747216
+
+2015-04-02 20:04:18 +0300 Ilya Konstantinov <ilya.konstantinov@gmail.com>
+
+ * sys/applemedia/Makefile.am:
+ * sys/applemedia/coremediabuffer.c:
+ * sys/applemedia/corevideobuffer.c:
+ * sys/applemedia/corevideobuffer.h:
+ * sys/applemedia/corevideomemory.c:
+ * sys/applemedia/corevideomemory.h:
+ * sys/applemedia/plugin.m:
+ applemedia: implement GstAppleCoreVideoMemory
+ Implement a new memory type wrapping CVPixelBuffer.
+ There are two immediate advantages:
+ a) Make the GstMemory itself retain the CVPixelBuffer. Previously,
+ the containing GstBuffer was solely responsible for the lifetime of
+ the backing CVPixelBuffer.
+ With this change, we remove the GST_MEMORY_FLAG_NO_SHARE so that
+ GstMemory objects be referenced by multiple GstBuffers (doing away
+ with the need to copy.)
+ b) Delay locking CVPixelBuffer into CPU memory until it's actually
+ mapped -- possibly never.
+ The CVPixelBuffer object is shared among references, shares and
+ (in planar formats) planes, so a wrapper GstAppleCoreVideoPixelBuffer
+ structure was introduced to manage locking.
+ https://bugzilla.gnome.org/show_bug.cgi?id=747216
+
+2016-01-19 12:56:40 +1100 Alessandro Decina <alessandro.d@gmail.com>
+
+ * sys/applemedia/iosurfacememory.c:
+ applemedia: iosurfacememory: alloc with g_new0
+ ...since the base class doesn't use g_slice anymore
+
+2016-01-08 11:04:13 +0000 Florin Apostol <florin.apostol@oregan.net>
+
+ * ext/dash/gstdashdemux.c:
+ dashdemux: added check that availabilityStartTime is present for live streams
+ https://bugzilla.gnome.org/show_bug.cgi?id=757602
+
+2015-11-04 18:15:24 +0000 Florin Apostol <florin.apostol@oregan.net>
+
+ * ext/dash/gstmpdparser.c:
+ adaptivedemux: improved error message if availabilityStartTime is missing for a live stream
+ For a live mpd, if availabilityStartTime is missing, adaptive demux asserts
+ with: Unexpected critical/warning: gst_date_time_to_g_date_time: assertion
+ 'datetime != NULL' failed.
+ This patch improves the error message to:
+ Unexpected critical/warning: gst_mpd_client_seek_to_time: assertion
+ 'client->mpd_node->availabilityStartTime != NULL' failed
+ https://bugzilla.gnome.org/show_bug.cgi?id=757602
+
+2016-01-14 18:27:50 +0000 Florin Apostol <florin.apostol@oregan.net>
+
+ * tests/check/elements/test_http_src.c:
+ tests: adaptive-stremaing: fix memory leak in test_http_src
+ https://bugzilla.gnome.org/show_bug.cgi?id=760600
+
+2016-01-15 10:49:12 -0500 Matt Crane <mattcrane@tycoint.com>
+
+ * sys/shm/gstshmsink.c:
+ shmsink: fix possible deadlock in _render()/ _allocator_free()
+ Drop object lock before unrefing memory, otherwise the object
+ lock might be taken again from the allocator and then things
+ deadlock.
+ https://bugzilla.gnome.org/show_bug.cgi?id=760551
+
+2016-01-16 17:14:54 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/gstglfilter.c:
+ glfilter: First make caps writable in fixate_caps(), then truncate them
+ Truncating requires writable caps.
+
+2016-01-16 17:12:29 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/gstglcolorconvert.c:
+ glcolorconvert: Caps passed to fixate_caps() are not owned by us and guaranteed to be fixed
+ So don't try to fixate them, which takes ownership and steals them from
+ basetransform.
+ https://bugzilla.gnome.org/show_bug.cgi?id=760696
+
+2016-01-16 16:55:42 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/gstglbufferpool.c:
+ Revert "glpool: fix caps refcount issue"
+ This reverts commit 3bdcdedfa00b87f1db505218789178318a16c743.
+ gst_caps_replace() takes a new reference already, if there is a problem then
+ it is elsewhere. And there are a few problems, see
+ https://bugzilla.gnome.org/show_bug.cgi?id=760696
+
+2016-01-15 16:10:02 +0000 Luis de Bethencourt <luisbg@osg.samsung.com>
+
+ * gst/rtp/gstrtph265depay.c:
+ rtph265depay: fix unneeded sub-buffer creation
+ We create a sub-buffer just to copy over its metas and then throw it
+ away immediately, just use the original input buffer directly.
+
+2016-01-15 15:56:59 +0000 Luis de Bethencourt <luisbg@osg.samsung.com>
+
+ * gst/rtp/gstrtph265pay.c:
+ rtph265pay: add "send VPS/SPS/PPS with every key frame" mode
+ It's not enough to have timeout or event based VPS/SPS/PPS information
+ sent in RTP packets. There are some scenarios when key frames may appear
+ more frequently than once a second, in which case the minimum timeout
+ for "config-interval" of 1 second for sending VPS/SPS/PPS isn't enough.
+ It might also be desirable in general to make sure the VPS/SPS/PPS is
+ available with every keyframe (packet loss aside), so receivers can
+ actually pick up decoding immediately from the first keyframe if
+ VPS/SPS/PPS is not signaled out of band.
+ This commit adds the possibility to send VPS/SPS/PPS with every key frame.
+ This mode can be enabled by setting "config-interval" property to -1. In
+ this case the payloader will add VPS, SPS and PPS before every key (IDR)
+ frame.
+ https://bugzilla.gnome.org/show_bug.cgi?id=757892
+
+2016-01-15 15:19:41 +0000 Luis de Bethencourt <luisbg@osg.samsung.com>
+
+ * gst/rtp/gstrtph265pay.c:
+ * gst/rtp/gstrtph265pay.h:
+ rtph265pay: change config-interval property type from uint to int
+ This way we can use -1 as special value, which is nicer than MAXUINT.
+ https://bugzilla.gnome.org/show_bug.cgi?id=757892
+
+2016-01-13 09:51:20 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * ext/dash/gstdashdemux.c:
+ * ext/hls/gsthlsdemux.c:
+ * ext/smoothstreaming/gstmssdemux.c:
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+ * tests/check/elements/adaptive_demux_common.c:
+ * tests/check/elements/adaptive_demux_engine.c:
+ * tests/check/elements/adaptive_demux_engine.h:
+ adaptivedemux: replace ghostpad with a standard pad
+ Handling the ghostpad and its internal pad was causing more issues
+ than helping because of their coupled activation/deactivation
+ actions.
+ As we have to install custom chain,event and query functions it is
+ better to use a floating sink pad internally in the demuxer and just
+ use those pad functions to push through a standard pad in the demuxer
+ https://bugzilla.gnome.org/show_bug.cgi?id=757951
+
+2015-11-11 17:24:33 +0000 Florin Apostol <florin.apostol@oregan.net>
+
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ adaptivedemux: do not flush the input pad
+ gst_adaptive_demux_stream_clear_eos_and_flush_state() function will do
+ all the necessary cleaning.
+ https://bugzilla.gnome.org/show_bug.cgi?id=757951
+
+2016-01-15 11:44:52 +0000 Luis de Bethencourt <luisbg@osg.samsung.com>
+
+ * gst/segmentclip/gstvideosegmentclip.c:
+ videosegmentclip: fail to set_caps if problem in caps structure
+ gst_video_segment_clip_set_caps () should return FALSE if there was a
+ problem reading the framerate values from the caps structure.
+
+2016-01-15 17:00:55 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglquery.c:
+ glquery: provide compat definition for GL_QUERY_RESULT
+ e.g. android doesn't have it
+ While we're here move a state specific assertion after the supported check.
+ Removes an assertion on GLES
+
+2016-01-15 16:07:27 +1100 Matthew Waters <matthew@centricular.com>
+
+ * configure.ac:
+ * gst-libs/gst/gl/glprototypes/gstgl_compat.h:
+ gl: add compatibility definition of GLint64
+ e.g. anrdoid doesn't have it
+
+2016-01-08 22:19:06 +0300 Sergey Borovkov <serge.borovkov@gmail.com>
+
+ * ext/qt/qtitem.cc:
+ qml: Mark material dirty when texture buffer is updated
+ Qt might not redraw the scene otherwise.
+ https://bugzilla.gnome.org/show_bug.cgi?id=758286
+
+2016-01-15 14:00:56 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglbufferpool.c:
+ glpool: fix caps refcount issue
+ The caps are from an allocation query which are transfer none but were being
+ treated as transfer full.
+
+2016-01-11 13:30:05 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglbasememory.c:
+ * gst-libs/gst/gl/gstglbasememory.h:
+ * gst-libs/gst/gl/gstglmemory.c:
+ glmemory: log the time for glTexSubImage/glReadPixels
+
+2016-01-08 18:36:54 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/Makefile.am:
+ * gst-libs/gst/gl/gl.h:
+ * gst-libs/gst/gl/glprototypes/Makefile.am:
+ * gst-libs/gst/gl/glprototypes/all_functions.h:
+ * gst-libs/gst/gl/glprototypes/query.h:
+ * gst-libs/gst/gl/gstgl_fwd.h:
+ * gst-libs/gst/gl/gstglquery.c:
+ * gst-libs/gst/gl/gstglquery.h:
+ * tests/check/Makefile.am:
+ * tests/check/libs/.gitignore:
+ * tests/check/libs/gstglquery.c:
+ gl: add a gstglquery object for arbitrary GL queries
+ Currently only GL_TIME_ELAPSED and GL_TIMESTAMP are supported
+
+2016-01-11 17:22:26 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstgldebug.c:
+ * gst-libs/gst/gl/gstgldebug.h:
+ gldebug: implement a delayed debug system
+ The messages are stored by gst_gl_async_debug_store_log_msg() and output later
+ by a corresponding store(), output() or an unset()/free().
+ Some wrapper macros are provided to avoid callers explicitly using __FILE__,
+ GST_FUNCTION and __LINE__
+
+2016-01-11 17:26:08 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstgldebug.c:
+ gldebug: use gst_info_vasprintf in insert_debug_marker()
+ Allows expansion of GST_PTR_FORMAT and GST_SEGMENT_FORMAT arguments.
+
+2016-01-15 11:22:40 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/Makefile.am:
+ * ext/gl/gstglvideoflip.c:
+ * ext/gl/gstglvideoflip.h:
+ * ext/gl/gstopengl.c:
+ gl: add a videoflip element
+ Behaves exactly the same as the non-GL videoflip element
+
+2016-01-15 00:04:20 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglfilter.c:
+ glfilter: recreate the fbo on caps changes
+ The width/height may change which requires recreating the depth buffer.
+
+2016-01-15 00:02:43 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglbasefilter.c:
+ * gst-libs/gst/gl/gstglbasefilter.h:
+ glbasefilter: add a class function on set_caps (from GL)
+ This is simply a convenience to avoid duplicating the thread marshalling on
+ set_caps.
+
+2016-01-15 00:00:29 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstgltransformation.c:
+ gltransformation: always build a valid mvp matrix
+ The default case is to build an identity matrix.
+
+2016-01-14 19:03:04 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstgltransformation.c:
+ gltransformation: support negative scales
+ A scale of -1.0 means to flip the video.
+
+2016-01-14 18:42:05 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstgltransformation.c:
+ gltransformation: implement passthrough handling
+
+2016-01-14 17:45:03 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstgltransformation.c:
+ * ext/gl/gstgltransformation.h:
+ gltransformation: implement navigation events
+ Reverses the transformation applied through the properties and forwards the
+ event.
+ The process for finding the coordinates on the video are as follows:
+ 1. Convert the given pointer_x and pointer_y to model space at the near and far planes
+ 2. Get the equation of the video plane
+ 3. Find where the ray in 1 intersects the plane
+ 4. Profit!
+
+2016-01-14 16:59:12 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstglimagesink.c:
+ glimagesink: remove reduntant glimagesink from debug logging
+
+2016-01-14 16:57:40 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/x11/gstglwindow_x11.c:
+ gl/x11/navigation: add button press to the selected event mask
+ Otherwise we won't get the button press events and GstNavigation fails.
+
+2016-01-14 16:00:00 +1100 Alessandro Decina <alessandro.d@gmail.com>
+
+ * gst-libs/gst/gl/gstglcolorconvert.c:
+ glcolorconvert: try harder to passthrough
+ This makes a pipeline like:
+ ... ! video/x-raw(memory:GLMemory),format=UYVY ! glcolorconvert !
+ video/x-raw(memory:GLMemory),format={UYVY, NV12} ! ...
+ passthrough instead of converting UYVY => NV12. The conversion would happen
+ before this change since the element (and basetransform) transform the src caps
+ to format={NV12, UYVY} (since NV12 comes first in the glcolorconvert:src
+ template) and then the default caps fixate func would fixate to NV12. Blah.
+ Also there's no need to intersect against the template caps in ::transform_caps
+ since basetransform does that right after calling the vfunc.
+
+2016-01-12 18:31:29 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/Makefile.am:
+ * ext/gl/gstglcolorbalance.c:
+ * ext/gl/gstglcolorbalance.h:
+ * ext/gl/gstopengl.c:
+ gl: implement a colorbalance element
+ It performs the exact same operation as videobalance but with opengl shaders and
+ was tested with glvideomixer by comparing frames from videobalance and
+ glcolorbalance.
+
+2016-01-12 18:21:50 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstglvideomixer.c:
+ * ext/gl/gstglvideomixer.h:
+ glvideomixer: implement glBlendFunc and glBlendEquation
+ Allows more blending options than just A over B
+ e.g. frame comparisons are now possible.
+ glvideomixer name=m
+ sink_0::zorder=0
+ sink_1::zorder=1
+ sink_1::blend-equation-rgb={subtract,reverse-subtract}
+ sink_1::blend-function-src-rgb=src-color
+ sink_1::blend-function-dst-rgb=dst-color
+ ! glimagesinkelement
+ videotestsrc pattern=checkers-4 ! m.sink_0
+ videotestsrc pattern=checkers-8 ! m.sink_1
+
+2016-01-08 18:38:46 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstgldebug.c:
+ gldebug: add a specific category for the debug spam from the driver
+
+2016-01-12 14:54:23 +0000 Tim Sheridan <tim.sheridan@imgtec.com>
+
+ * ext/sbc/gstsbcdec.c:
+ sbc: sbcdec: Fix frame length calculation
+ SBC frame length calculation wasn't being rounded up to the nearest byte
+ (as specified in the A2DP 1.0 specification, section 12.9). This could
+ cause 'stereo' and 'joint stereo' mode SBC streams to have incorrectly
+ calculated frame lengths.
+ https://bugzilla.gnome.org/show_bug.cgi?id=742446
+
+2016-01-12 23:34:31 +1100 Matthew Waters <matthew@centricular.com>
+
+ * sys/nvenc/gstnvbaseenc.c:
+ nvenc: update for recent GL api changes
+ Specifically the GstGLMemoryPBO addition (which was the unadorned GstGLMemory).
+
+2016-01-12 14:36:02 +1100 Alessandro Decina <alessandro.d@gmail.com>
+
+ * sys/applemedia/avfvideosrc.m:
+ applemedia: avfvideosrc: optionally get the GL context from gst_element_set_context
+ Allow setting the GL context with gst_element_set_context. When available, the
+ local context obtained via the context query still has the precedence.
+
+2016-01-12 14:02:46 +1100 Alessandro Decina <alessandro.d@gmail.com>
+
+ * sys/applemedia/iosurfacememory.c:
+ applemedia: iosurfacememory: remove NO_SHARE flag
+ The full memory can be safely shared. Sharing a sub region can't be done and
+ will fail in the base allocator, triggering a copy.
+
+2016-01-11 13:33:46 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * gst/frei0r/gstfrei0rmixer.c:
+ frei0rmixer: replace accept-caps with caps query
+ It wants to check if upstream can produce a certain format,
+ accept-caps might only check if the next element can produce it.
+
+2016-01-07 20:56:54 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglbasememory.c:
+ * gst-libs/gst/gl/gstglmemorypbo.c:
+ glbasememory: Free the actual memory object when requested
+ Otherwise we are leaking ~400B on each GstMemory allocation.
+ Freeing in the base class matches the GObject semantics.
+
+2016-01-07 20:54:41 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglmemorypbo.c:
+ glmemorypbo: don't double read pixels
+ The optimistic download_transfer was not setting the required flag to not
+ perform glReadPixels on subsequent map (READ). resulting in glReadPixels
+ happening twice.
+
+2016-01-07 18:47:37 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglmemory.c:
+ * gst-libs/gst/gl/gstglmemory.h:
+ * gst-libs/gst/gl/gstglmemorypbo.c:
+ glmemory: expose gst_gl_memory_texsubimage
+ Removes extremely similar code from glmemorypbo.
+
+2016-01-07 18:05:23 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglfeature.c:
+ glfeature add a specific debug category
+ Saves having to trawl through the 'default' category when function retrieval
+ goes wrong.
+
+2016-01-05 14:35:11 -0500 Bob Holcomb <bholcomb@mak.com>
+
+ * gst/mpegtsmux/tsmux/tsmux.c:
+ mpegtsmux: fix reserve bits so they are 1's
+ The MPEG standard (ISO-13880-1) says the reserve bits need to be set
+ to one (2.1.64). This is causing transport streams to fail validation
+ on some systems.
+ https://bugzilla.gnome.org/show_bug.cgi?id=760127
+
+2016-01-08 17:11:09 +0000 Luis de Bethencourt <luisbg@osg.samsung.com>
+
+ * ext/opencv/gstpyramidsegment.h:
+ opencv: remove check for OpenCV version
+ After commit 64080e632, configure checks for all the header files that
+ should be available in OpenCV 2.3 and later. If any of these files isn't
+ there the OpenCV elements won't be part of the build.
+ No need to recheck for opencv2/legacy/legacy.hpp again in
+ gstpyramidsegment.h. Minimum supported OpenCV version must have this header
+ and configure already checks for it. Removing check.
+
+2016-01-08 15:01:47 +0000 Luis de Bethencourt <luisbg@osg.samsung.com>
+
+ * ext/opencv/gstcvsmooth.cpp:
+ opencv: always do cvsmooth in place
+ After the update to new OpenCV API the transform function using an out
+ buffer is not necessary. We can always do the transformation in place.
+
+2016-01-08 12:39:29 +0000 Luis de Bethencourt <luisbg@osg.samsung.com>
+
+ * ext/opencv/gstpyramidsegment.cpp:
+ * ext/opencv/gstpyramidsegment.h:
+ opencv: do pyramidsegment's transformation in place
+ Run the transform function of pyramidsegment in place, reusing the image
+ data as both source and destination in cvPyrSegmentation. This avoids
+ copying the image back and forth and the extra memory.
+
+2016-01-07 15:21:40 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * tests/check/elements/adaptive_demux_common.c:
+ * tests/check/elements/hls_demux.c:
+ tests: hlsdemux: add test for updating segment stop
+ Add a test for seeking that only updates stop position and verifies
+ that start is unmodified
+
+2016-01-07 15:21:22 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ adaptivedemux: fix seeking that just updates stop position
+ Fixed adaptivedemux seeking without flushing that just wants
+ to update stop position. This required protecting the segment
+ variables with a new mutex so that the seeking thread and the
+ download threads could safely manipulate the segment and
+ events related to it.
+ This contention is only locked/unlocked when starting a new
+ download, when the first fragment of a segment is received and
+ when seeking so, hopefully, it won't damage performance.
+
+2016-01-06 16:51:08 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ adaptivedemux: fix segment update on seeks
+ Fixes typo on reverse rate check and also only update the
+ position when the start/stop was actually changed.
+
+2016-01-07 18:10:49 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/mxf/mxftypes.c:
+ mxftypes: Don't store pointers in stack allocated guints
+ This works usually in this place, unless the compiler optimizes things in
+ interesting ways in which case it causes stack corruption and crashes later.
+ The compiler in question here is clang with -O1, which seems to pack the stack
+ a bit more and causes writing to the guint as pointer to overwrite map.memory,
+ which then later crashes during unmapping of the memory.
+
+2016-01-07 18:02:33 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst/mxf/mxfmetadata.c:
+ mxfmetadata: Initialize boolean to FALSE to fix valgrind warning
+ Seems to be a false warning though.
+
+2016-01-07 14:08:39 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglsyncmeta.c:
+ glsyncmeta: only flush with a shared context
+ The wait code will flush for us for single context pipelines.
+
+2016-01-07 14:02:52 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglcontext.c:
+ * gst-libs/gst/gl/gstglcontext.h:
+ * tests/check/libs/gstglcontext.c:
+ glcontext: implement checking whether a context has been shared
+ Some operations are unnecessary when running with only a single GL
+ context.
+ e.g. glFlush when setting a fence object as the flush happens on wait.
+ API: gst_gl_context_is_shared
+
+2016-01-06 14:54:30 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * ext/hls/gsthlsdemux.c:
+ hlsdemux: put boolean values into gboolean variables
+ And remove superfluous assignments.
+
+2016-01-06 16:54:49 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/player/gstplayer.c:
+ player: Only set the pipeline to PLAYING in play() if buffering>=100%
+ Otherwise the application can break the buffering logic by setting the
+ pipeline to PLAYING before we buffered enough.
+
+2016-01-05 17:41:23 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * tests/check/elements/dash_demux.c:
+ tests: dashdemux: add tests for post-seek segment boundaries check
+ Checks if the post seek segment is what is expected.
+ Also makes it easy to add more tests with different seeking flags using the
+ same functions.
+
+2016-01-05 10:41:27 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * tests/check/elements/hls_demux.c:
+ tests: hlsdemux: add tests for seek with reverse rate and snap flags
+ Add tests to ensure snap flags work as expected for reverse
+ rates
+
+2016-01-05 10:39:11 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ adaptivedemux: stop reverse playback when we reach the limit
+ Avoids downloading and pushing a full segment just to get 1 nanosecond
+ of data. This happens frequently when seeking is done with flags
+ that adjust to boundaries or when the start is aligned with segment
+ starts. The later is common when segment durations is a multiple of
+ a second.
+
+2016-01-05 09:16:45 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * ext/hls/gsthlsdemux.c:
+ hlsdemux: fix reverse playback seek with snap flags
+ Properly handle snap flags during reverse seeking. In this case
+ the before/after are also reversed, so handle those as such.
+ For example: with a sequence of 1s fragments:
+ |-- 0 --|-- 1 --|-- 2 --|-- 3 --|
+ If you seek to 1.5s it is inside fragment 1. With reverse and
+ snap-before: should play from the end of fragment 1
+ snap-after: should play from the end of fragment 0
+
+2016-01-05 09:01:10 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ adaptivedemux: correctly track segment.position in reverse playback
+ For reverse, set position to segment.stop when starting and also
+ don't set the position to fragment end timestamp when it finishes,
+ just leave it at the fragment start.
+
+2016-01-05 08:59:26 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * ext/hls/gsthlsdemux.c:
+ hlsdemux: simplify snap flags checking
+ Replace:
+ if (boolean) var = true;
+ with:
+ var = (boolean);
+
+2015-12-28 02:18:06 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * ext/hls/gsthlsdemux.c:
+ hlsdemux: respect keyunit flag for position
+ Set the segment start position when keyunit flag is active
+
+2015-12-24 18:49:39 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * tests/check/elements/adaptive_demux_common.c:
+ * tests/check/elements/hls_demux.c:
+ tests: hls_demux: add tests for seeking segment
+ Tests that check that the segment sent after a seek is correct.
+ Allows testing that multiple seeking flags work as expected
+
+2015-12-24 09:27:33 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * tests/check/elements/adaptive_demux_common.c:
+ * tests/check/elements/adaptive_demux_common.h:
+ * tests/check/elements/adaptive_demux_engine.c:
+ * tests/check/elements/adaptive_demux_engine.h:
+ tests: adaptive_demux: add function to be able to check demuxer events
+ Allows writing tests that verify that events are correct.
+ Useful to monitor and check segments after seeks, for example.
+
+2015-12-23 15:25:29 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * tests/check/elements/adaptive_demux_common.c:
+ * tests/check/elements/adaptive_demux_common.h:
+ * tests/check/elements/dash_demux.c:
+ * tests/check/elements/hls_demux.c:
+ tests: adaptive: update to allow more flexible seeking tests
+ Allows defining a seek event to be able to change seeking parameters
+ and create more seeking test scenarios
+
+2015-12-23 15:23:27 -0300 Thiago Santos <thiagoss@osg.samsung.com>
+
+ * tests/check/Makefile.am:
+ tests: hlsdemux: fix makefile variable typo
+
+2016-01-06 16:50:00 +1100 Alessandro Decina <alessandro.d@gmail.com>
+
+ * sys/applemedia/avfvideosrc.m:
+ applemedia: avfvideosrc: enable renegotiation
+ We can actually renegotiate now, so remove old check which disabled it.
+
+2016-01-06 16:25:38 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstglcolorconvertelement.c:
+ * gst-libs/gst/gl/gstglcolorconvert.c:
+ * gst-libs/gst/gl/gstglcolorconvert.h:
+ glcolorconvert: implement usage of a buffer pool
+ Saves unnecessary glGenTextures and glDeleteTextures which may have a
+ non-trivial cost.
+
+2016-01-06 15:50:07 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglbasememory.c:
+ glbasememory: fix copying GstGLAllocationParams
+ Fixes a GST_IS_GL_CONTEXT critical
+
+2016-01-06 15:44:52 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglmemorypbo.c:
+ glmemorypbo: remove unused code
+ https://bugzilla.gnome.org/show_bug.cgi?id=759679
+
+2016-01-06 13:20:17 +1100 Alessandro Decina <alessandro.d@gmail.com>
+
+ * sys/applemedia/avfvideosrc.m:
+ applemedia: avfvideosrc: small negotiation fix
+ Fix negotiation when GLMemory is requested but a context is not available
+
+2016-01-06 11:40:38 +1100 Alessandro Decina <alessandro.d@gmail.com>
+
+ * sys/applemedia/vtenc.c:
+ applemedia: vtenc: accept UYVY on Mac
+ When doing GLMemory avfvideosrc negotiates UYVY. This change allows avfvideosrc
+ ! tee name=t ! ... ! glimagesink t. ! ... ! gldownload ! vtenc_h264 ! ...
+ to do GLMemory and 0-copy with the encoder (with the CV meta).
+
+2016-01-06 11:29:15 +1100 Alessandro Decina <alessandro.d@gmail.com>
+
+ * sys/applemedia/avfvideosrc.m:
+ applemedia: avfvideosrc: change texture format from BGRA to NV12 on iOS
+ Change texture format from BGRA to NV12. This allows a pipeline like avfvideosrc
+ ! tee name=t ! ... ! glimagesink t. ! ... ! gldownload ! vtenc_h264 ! ... to
+ negotiate GLMemory. This makes the glimagesink branch much faster (obviously)
+ and triggers the 0-copy path between avfvideosrc and vtenc (using the CV meta).
+ Combined this results in a huge perf improvement on iOS (25-30% of CPU time in a
+ pipeline like the one above).
+ Note that this doesn't introduce a new shader conversion in the sink, since BGRA
+ textures had to be copied/converted from format=BGRA,texture-target=RECTANGLE to
+ format=RGBA,texture-target=2D anyway.
+
+2016-01-04 20:26:09 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglcolorconvert.c:
+ * gst-libs/gst/gl/gstglupload.c:
+ * gst-libs/gst/gl/gstglutils.c:
+ * gst-libs/gst/gl/gstglutils.h:
+ glupload: always add texture-target field to GL caps
+ 1. Various elements/base classes only perform a subset check on accept-caps
+ 2. Some GL elements have texture-target in their pad template
+ 3. When checking subsets, only the caps to check are allowed to contain extra
+ fields. If the 'template' caps have extra fields, the subset fails.
+ Thus without texture-target on the caps, various accept-caps implementations
+ were failing.
+ Also, add some convenience functions for setting and retrieving
+ texture targets to/from GValue.
+ https://bugzilla.gnome.org/show_bug.cgi?id=759860
+
+2015-12-29 18:16:04 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglupload.c:
+ glupload: passthrough composition caps features
+ Don't unconditionally add it to any and all caps transformations.
+ https://bugzilla.gnome.org/show_bug.cgi?id=759860
+
+2016-01-04 09:52:47 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * docs/libs/gst-plugins-bad-libs-sections.txt:
+ * gst-libs/gst/player/gstplayer.c:
+ * gst-libs/gst/player/gstplayer.h:
+ * tests/check/libs/player.c:
+ * win32/common/libgstplayer.def:
+ player: Remove gst_player_new() and make gst_player_new_full() the normal constructor
+ In very few cases the simple version was actually needed and having the
+ parameters hidden by a _full() version caused application that actually needed
+ it to not use it.
+
+2016-01-04 01:03:08 +1100 Jan Schmidt <jan@centricular.com>
+
+ * gst-libs/gst/gl/gstglviewconvert.c:
+ * gst-libs/gst/gl/gstglviewconvert.h:
+ glviewconvert: Fix stereoscopic handling w/ texture-target
+ The addition of texture-target negotiation broke stereoscopic
+ handling when not in passthrough mode, so fix that.
+
+2015-10-07 18:53:43 +0900 Hyunjun Ko <zzoon.ko@samsung.com>
+
+ * gst/sdp/gstsdpdemux.c:
+ sdpdemux: replace duplicated codes to call new base sdp apis
+ https://bugzilla.gnome.org/show_bug.cgi?id=745880
+
+2015-12-30 18:00:47 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+ * ext/rtmp/README:
+ rtmp: refer to both elements in the README
+
+2015-12-29 14:35:14 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+ * ext/rtmp/gstrtmpsrc.c:
+ rtmpsrc: check for failed RTMP context alloc
+ Avoids an unlikely crash.
+ Arguably, if allocation fails we have no chance of
+ recovering but nonetheless, RTMP_Alloc can fail and
+ librtmp's RTMP_init() (called next) assumes a non-NULL
+ pointer is passed without checking.
+ Additionally, unify exit path on error.
+
+2015-12-29 14:16:58 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+ * ext/rtmp/gstrtmpsink.c:
+ rtmpsink: check for failed RTMP context alloc
+ Avoids an unlikely crash.
+ Arguably, if allocation fails we have no chance of
+ recovering but nonetheless, RTMP_Alloc can fail and
+ librtmp's RTMP_init() (called next) assumes a non-NULL
+ pointer is passed without checking.
+ Additionally, unify exit path on error.
+
+2015-12-29 11:58:31 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+ * ext/rtmp/gstrtmp.c:
+ rtmp: correct librtmp log-level mappings
+ Additionally, move to a switch in _set_debug_level()
+ to make easier to follow and compare with the
+ mappings in _log_callback()
+
+2015-12-30 13:16:40 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/codecparsers/gstvp9parser.c:
+ codecparsers: vp9: minor clean-up
+ Remove setting of parser variable to NULL after free,
+ that makes no sense (and coverity is no doubt going
+ to complain about it).
+
+2015-12-30 13:12:13 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/codecparsers/gstvp9parser.c:
+ * gst-libs/gst/codecparsers/gstvp9parser.h:
+ codecparsers: vp9: fix macro namespacing and rename GstVp9InterpFilter
+
+2015-12-30 13:08:30 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/codecparsers/gstvp9parser.c:
+ * gst-libs/gst/codecparsers/gstvp9parser.h:
+ codecparsers: vp9: fix doc typos and sprinkle some Since markers
+
+2015-12-30 11:03:04 +0000 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst-libs/gst/codecparsers/Makefile.am:
+ * gst-libs/gst/codecparsers/vp9utils.AUTHORS:
+ * gst-libs/gst/codecparsers/vp9utils.LICENSE:
+ * gst-libs/gst/codecparsers/vp9utils.PATENTS:
+ * gst-libs/gst/codecparsers/vp9utils.c:
+ * gst-libs/gst/codecparsers/vp9utils.h:
+ codecparsers: vp9: move license blurb into header and remove aux files
+ This is just a bunch of lookup tables..
+
+2015-12-30 11:54:25 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * win32/common/libgstcodecparsers.def:
+ win32: Update libgstcodecparsers.def with the new symbols
+
+2015-12-30 11:54:14 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/codecparsers/dboolhuff.h:
+ codecparsers: Add another G_GNUC_INTERNAL
+
+2015-12-30 11:40:59 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/codecparsers/dboolhuff.h:
+ * gst-libs/gst/codecparsers/nalutils.h:
+ * gst-libs/gst/codecparsers/parserutils.h:
+ * gst-libs/gst/codecparsers/vp8utils.h:
+ * gst-libs/gst/codecparsers/vp9utils.h:
+ codecparsers: Spread some G_GNUC_INTERNAL in various places
+
+2015-12-30 11:38:14 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/codecparsers/vp9utils.c:
+ vp9parser: Fix indentation to make gst-indent happier
+
+2015-12-30 11:36:45 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/codecparsers/Makefile.am:
+ * gst-libs/gst/codecparsers/gstvp9parser.c:
+ * gst-libs/gst/codecparsers/vp9utils.c:
+ * gst-libs/gst/codecparsers/vp9utils.h:
+ vp9parser: Rename symbols to prevent symbol conflicts
+ Also make clamp() a static function for the same reason and use CLAMP (as
+ defined by GLib) in the GStreamer code.
+
+2015-12-30 11:19:33 +0200 Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+ * gst-libs/gst/codecparsers/Makefile.am:
+ * gst-libs/gst/codecparsers/gstvp9parser.c:
+ * gst-libs/gst/codecparsers/gstvp9parser.h:
+ * gst-libs/gst/codecparsers/vp9utils.AUTHORS:
+ * gst-libs/gst/codecparsers/vp9utils.LICENSE:
+ * gst-libs/gst/codecparsers/vp9utils.PATENTS:
+ * gst-libs/gst/codecparsers/vp9utils.c:
+ * gst-libs/gst/codecparsers/vp9utils.h:
+ codecparsers: Add VP9 codec parser
+ https://bugzilla.gnome.org/show_bug.cgi?id=757597
+
+2015-12-30 12:12:17 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglmemorypbo.c:
+ glmemorypbo: fix wrapping data on GL 2.1
+ GL 2.1 only supports pbo upload.
+ The wrapped data pointer was only being set on the pbo memory and on the
+ glmemory so when a download was requested (in GL 2.1), glmemory was
+ allocating a new data pointer and thus not returning the wrapped data.
+
+2015-12-30 12:11:09 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglmemorypbo.c:
+ glmemorypbo: only create a pbo memory if the context actually supports it
+ e.g. GL <= 2.0 does not support pbo usage and GL 2.1 only supports pbo upload.
+
+2015-12-30 12:09:29 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglmemory.c:
+ * gst-libs/gst/gl/gstglmemorypbo.c:
+ glmemory: small code reformat
+ makes the alloc_params selections fit on a single line.
+
+2015-12-30 12:06:17 +1100 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/libs/gstglmemory.c:
+ tests/glmemory: output data pointer values on failure
+ Allows quicker inspection of what failed.
+
+2015-12-29 17:04:57 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstgleffects.c:
+ gleffects: fix shader compilation with legacy opengl
+ All the gleffects shaders can be run against a gles2 or a legacy opengl glsl
+ compiler but weren't being advertised as such.
+ Fixes gleffects under desktop opengl < 3.2.
+
+2015-12-29 18:01:30 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/gstglbasememory.c:
+ glbasememory: Remove bogus NULL check
+ CID 1346534
+
+2015-12-29 10:57:36 +1100 Alessandro Decina <alessandro.d@gmail.com>
+
+ * sys/applemedia/avfvideosrc.m:
+ applemedia: avfvideosrc: output at highest fps/resolution by default
+ Fixate to the highest possible resolution and fps. Otherwise by default we end
+ up fixating at 2fps and the lowest supported resolution, which is hardly what
+ someone who bought an overpriced smartphone wants.
+
+2015-12-28 15:53:59 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/glprototypes/sync.h:
+ gl: Add \0 terminators for the Apple sync extension
+ Otherwise GL initialization might check for extensions forever and never finishes.
+
+2015-12-28 14:41:59 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/gl/gstglcontext.c:
+ glcontext: Add some debug output when the GL thread is actually running
+
+2015-12-22 11:23:19 +0000 Florin Apostol <florin.apostol@oregan.net>
+
+ * ext/dash/gstdashdemux.c:
+ dashdemux: removed unnecessary space trimming in gst_dash_demux_parse_http_head
+ sscanf has removed all spaces when it has constructed zone string. There is
+ no need to search for leading spaces.
+ https://bugzilla.gnome.org/show_bug.cgi?id=759743
+
+2015-12-21 14:50:15 +0000 Florin Apostol <florin.apostol@oregan.net>
+
+ * ext/dash/gstdashdemux.c:
+ dashdemux: accept 2 or 4 digit year when using HTTP HEAD for calculating clock compensation
+ Convert year from 2 digits to 4 digits in gst_dash_demux_parse_http_head
+ https://bugzilla.gnome.org/show_bug.cgi?id=759743
+ Also updated references to Rfc822 to Rfc5322
+
+2015-12-27 11:37:09 +0100 Florent Thiéry <florent.thiery@ubicast.eu>
+
+ * ext/gl/gstglfiltershader.c:
+ glshader: fix usage doc
+ The property location has been changed in favor of vertex/fragment
+ string properties; the doc had not been updated and was still referring
+ to the previous property; also, now the #version header has become mandatory
+ https://bugzilla.gnome.org/show_bug.cgi?id=759902
+
+2015-12-26 22:34:29 +0100 Florent Thiéry <florent.thiery@ubicast.eu>
+
+ * ext/gl/gstglimagesink.c:
+ glimagesink: Post unhandled navigation events on the bus
+ Based off xvimagesink implementation
+ https://bugzilla.gnome.org/show_bug.cgi?id=759869
+
+2015-12-27 22:32:22 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+ * ext/opencv/gstmotioncells.cpp:
+ motioncells: fix splitting of RGB color string
+ No need to attempt splitting the RGB string in 255 tokens
+ if we only expect 3.
+ Left max_tokens at 4 to preserve the current logic (which
+ allows for extra stuff at the end) and added a warning on
+ parsing failure instead of silently discarding the value.
+
+2015-12-27 21:23:37 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+ * ext/opencv/gstmotioncells.cpp:
+ motioncells: fix typo in header
+
+2015-12-27 21:19:19 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+ * ext/opencv/gstmotioncells.cpp:
+ motioncells: fix misleading warning message
+ calculate_motion != FALSE means the motion computation
+ logic is disabled, not a mapping error.
+
+2015-12-27 21:11:18 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+ * ext/opencv/gstmotioncells.cpp:
+ motioncells: rework property descriptions
+
+2015-12-27 01:11:42 -0800 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+ * ext/opencv/gstmotioncells.cpp:
+ motioncells: use NULL instead of g_strdup(NULL)
+
+2015-12-28 09:04:12 +0900 Vineeth TM <vineeth.tm@samsung.com>
+
+ * gst-libs/gst/gl/gstglbufferpool.c:
+ glbufferpool: Fix build error
+ When GST_GL_HAVE_PLATFORM_EGL is not defined, then info variable
+ will not be used and this results in build error
+ https://bugzilla.gnome.org/show_bug.cgi?id=759913
+
+2015-12-24 15:28:26 +0100 Sebastian Dröge <sebastian@centricular.com>
+
+ * configure.ac:
+ Back to development
+
+=== release 1.7.1 ===
+
+2015-12-24 14:28:42 +0100 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/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-audiomixer.xml:
+ * docs/plugins/inspect/plugin-audiovisualizers.xml:
+ * docs/plugins/inspect/plugin-autoconvert.xml:
+ * docs/plugins/inspect/plugin-bayer.xml:
+ * docs/plugins/inspect/plugin-bz2.xml:
+ * docs/plugins/inspect/plugin-camerabin.xml:
+ * docs/plugins/inspect/plugin-chromaprint.xml:
+ * docs/plugins/inspect/plugin-coloreffects.xml:
+ * docs/plugins/inspect/plugin-curl.xml:
+ * docs/plugins/inspect/plugin-dataurisrc.xml:
+ * docs/plugins/inspect/plugin-debugutilsbad.xml:
+ * docs/plugins/inspect/plugin-dtsdec.xml:
+ * docs/plugins/inspect/plugin-dvb.xml:
+ * docs/plugins/inspect/plugin-dvbsuboverlay.xml:
+ * docs/plugins/inspect/plugin-dvdspu.xml:
+ * docs/plugins/inspect/plugin-faad.xml:
+ * docs/plugins/inspect/plugin-festival.xml:
+ * docs/plugins/inspect/plugin-fieldanalysis.xml:
+ * docs/plugins/inspect/plugin-flite.xml:
+ * docs/plugins/inspect/plugin-frei0r.xml:
+ * docs/plugins/inspect/plugin-gaudieffects.xml:
+ * docs/plugins/inspect/plugin-gdp.xml:
+ * docs/plugins/inspect/plugin-geometrictransform.xml:
+ * docs/plugins/inspect/plugin-gmedec.xml:
+ * docs/plugins/inspect/plugin-gsm.xml:
+ * docs/plugins/inspect/plugin-gstsiren.xml:
+ * docs/plugins/inspect/plugin-hls.xml:
+ * docs/plugins/inspect/plugin-id3tag.xml:
+ * docs/plugins/inspect/plugin-inter.xml:
+ * docs/plugins/inspect/plugin-interlace.xml:
+ * docs/plugins/inspect/plugin-jpegformat.xml:
+ * docs/plugins/inspect/plugin-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-mpg123.xml:
+ * docs/plugins/inspect/plugin-mplex.xml:
+ * docs/plugins/inspect/plugin-neon.xml:
+ * docs/plugins/inspect/plugin-ofa.xml:
+ * docs/plugins/inspect/plugin-openal.xml:
+ * docs/plugins/inspect/plugin-opencv.xml:
+ * docs/plugins/inspect/plugin-opus.xml:
+ * docs/plugins/inspect/plugin-pcapparse.xml:
+ * docs/plugins/inspect/plugin-pnm.xml:
+ * docs/plugins/inspect/plugin-rawparse.xml:
+ * docs/plugins/inspect/plugin-removesilence.xml:
+ * docs/plugins/inspect/plugin-resindvd.xml:
+ * docs/plugins/inspect/plugin-rfbsrc.xml:
+ * docs/plugins/inspect/plugin-rtmp.xml:
+ * docs/plugins/inspect/plugin-schro.xml:
+ * docs/plugins/inspect/plugin-sdp.xml:
+ * docs/plugins/inspect/plugin-segmentclip.xml:
+ * docs/plugins/inspect/plugin-shm.xml:
+ * docs/plugins/inspect/plugin-smooth.xml:
+ * docs/plugins/inspect/plugin-soundtouch.xml:
+ * docs/plugins/inspect/plugin-spandsp.xml:
+ * docs/plugins/inspect/plugin-speed.xml:
+ * docs/plugins/inspect/plugin-subenc.xml:
+ * docs/plugins/inspect/plugin-videoparsersbad.xml:
+ * docs/plugins/inspect/plugin-voaacenc.xml:
+ * docs/plugins/inspect/plugin-voamrwbenc.xml:
+ * docs/plugins/inspect/plugin-waylandsink.xml:
+ * docs/plugins/inspect/plugin-y4mdec.xml:
+ * gst-plugins-bad.doap:
+ * win32/common/config.h:
+ Release 1.7.1
+
+2015-12-24 14:00:54 +0100 Sebastian Dröge <sebastian@centricular.com>
+
+ * po/af.po:
+ * po/az.po:
+ * po/bg.po:
+ * po/ca.po:
+ * po/cs.po:
+ * po/da.po:
+ * po/de.po:
+ * po/el.po:
+ * po/en_GB.po:
+ * po/eo.po:
+ * po/es.po:
+ * po/eu.po:
+ * po/fi.po:
+ * po/fr.po:
+ * po/gl.po:
+ * po/hr.po:
+ * po/hu.po:
+ * po/id.po:
+ * po/it.po:
+ * po/ja.po:
+ * po/ky.po:
+ * po/lt.po:
+ * po/lv.po:
+ * po/mt.po:
+ * po/nb.po:
+ * po/nl.po:
+ * po/or.po:
+ * po/pl.po:
+ * po/pt_BR.po:
+ * po/ro.po:
+ * po/ru.po:
+ * po/sk.po:
+ * po/sl.po:
+ * po/sq.po:
+ * po/sr.po:
+ * po/sv.po:
+ * po/tr.po:
+ * po/uk.po:
+ * po/vi.po:
+ * po/zh_CN.po:
+ Update .po files
2015-12-24 12:23:00 +0100 Sebastian Dröge <sebastian@centricular.com>
diff --git a/Makefile.am b/Makefile.am
index 6f7bcbf..357faec 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -56,6 +56,7 @@
$(top_builddir)/ext/hls/.libs/libgstfragmented* \
$(top_builddir)/ext/ivorbis/.libs/*.{so,dll,DLL,dylib} \
$(top_builddir)/ext/jack/.libs/*.{so,dll,DLL,dylib} \
+ $(top_builddir)/ext/mpg123/.libs/*.{so,dll,DLL,dylib} \
$(top_builddir)/gst/aacparse/.libs/*.{so,dll,DLL,dylib} \
$(top_builddir)/gst/amrparse/.libs/*.{so,dll,DLL,dylib} \
$(top_builddir)/gst/audioparsers/.libs/*.{so,dll,DLL,dylib} \
@@ -63,6 +64,7 @@
$(top_builddir)/gst/imagefreeze/.libs/*.{so,dll,DLL,dylib} \
$(top_builddir)/gst/mpeg4videoparse/.libs/*.{so,dll,DLL,dylib} \
$(top_builddir)/gst/qtmux/.libs/*.{so,dll,DLL,dylib} \
+ $(top_builddir)/gst/rtp/.libs/*.{so,dll,DLL,dylib} \
$(top_builddir)/gst/rtpmux/.libs/*.{so,dll,DLL,dylib} \
$(top_builddir)/gst/rtpvp8/.libs/*.{so,dll,DLL,dylib} \
$(top_builddir)/gst/scaletempo/.libs/*.{so,dll,DLL,dylib} \
@@ -102,6 +104,7 @@
$(top_srcdir)/gst/qtmux \
$(top_srcdir)/gst/rtpmux \
$(top_srcdir)/gst/rtpvp8 \
+ $(top_srcdir)/gst/rtp \
$(top_srcdir)/gst/scaletempo \
$(top_srcdir)/gst/selector \
$(top_srcdir)/gst/shapewipe \
@@ -120,6 +123,7 @@
$(top_srcdir)/ext/ivorbis \
$(top_srcdir)/ext/jack \
$(top_srcdir)/ext/metadata \
+ $(top_srcdir)/ext/mpg123 \
$(top_srcdir)/ext/swfdec \
$(top_srcdir)/ext/tarkin \
$(top_srcdir)/ext/theora \
diff --git a/Makefile.in b/Makefile.in
index f7d62bb..125ccc0 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -125,16 +125,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
@@ -208,7 +207,7 @@
$(top_srcdir)/common/release.mak \
$(top_srcdir)/common/win32.mak ABOUT-NLS AUTHORS COPYING \
COPYING.LIB ChangeLog INSTALL NEWS README compile config.guess \
- config.rpath config.sub depcomp install-sh ltmain.sh missing
+ config.rpath config.sub install-sh ltmain.sh missing
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
@@ -335,7 +334,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -357,7 +355,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -379,9 +376,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -543,6 +537,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -556,8 +551,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -644,8 +637,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -697,6 +688,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -717,6 +709,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -754,7 +748,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -832,6 +825,7 @@
$(top_builddir)/ext/hls/.libs/libgstfragmented* \
$(top_builddir)/ext/ivorbis/.libs/*.{so,dll,DLL,dylib} \
$(top_builddir)/ext/jack/.libs/*.{so,dll,DLL,dylib} \
+ $(top_builddir)/ext/mpg123/.libs/*.{so,dll,DLL,dylib} \
$(top_builddir)/gst/aacparse/.libs/*.{so,dll,DLL,dylib} \
$(top_builddir)/gst/amrparse/.libs/*.{so,dll,DLL,dylib} \
$(top_builddir)/gst/audioparsers/.libs/*.{so,dll,DLL,dylib} \
@@ -839,6 +833,7 @@
$(top_builddir)/gst/imagefreeze/.libs/*.{so,dll,DLL,dylib} \
$(top_builddir)/gst/mpeg4videoparse/.libs/*.{so,dll,DLL,dylib} \
$(top_builddir)/gst/qtmux/.libs/*.{so,dll,DLL,dylib} \
+ $(top_builddir)/gst/rtp/.libs/*.{so,dll,DLL,dylib} \
$(top_builddir)/gst/rtpmux/.libs/*.{so,dll,DLL,dylib} \
$(top_builddir)/gst/rtpvp8/.libs/*.{so,dll,DLL,dylib} \
$(top_builddir)/gst/scaletempo/.libs/*.{so,dll,DLL,dylib} \
@@ -878,6 +873,7 @@
$(top_srcdir)/gst/qtmux \
$(top_srcdir)/gst/rtpmux \
$(top_srcdir)/gst/rtpvp8 \
+ $(top_srcdir)/gst/rtp \
$(top_srcdir)/gst/scaletempo \
$(top_srcdir)/gst/selector \
$(top_srcdir)/gst/shapewipe \
@@ -896,6 +892,7 @@
$(top_srcdir)/ext/ivorbis \
$(top_srcdir)/ext/jack \
$(top_srcdir)/ext/metadata \
+ $(top_srcdir)/ext/mpg123 \
$(top_srcdir)/ext/swfdec \
$(top_srcdir)/ext/tarkin \
$(top_srcdir)/ext/theora \
@@ -1425,7 +1422,10 @@
if test "x$$libso" != "x"; then \
echo Checking symbols in $$libso; \
if ! ($(top_srcdir)/common/check-exports $$libdef $$libso) ; then \
- fail=1; \
+ echo "$$libdef"; \
+ if test "$$libbase" != "libgstgl"; then \
+ fail=1; \
+ fi; \
fi; \
fi; \
done ; \
diff --git a/NEWS b/NEWS
index a4bffc6..a4a5e76 100644
--- a/NEWS
+++ b/NEWS
@@ -1,2 +1,2 @@
-This is GStreamer 1.7.1
+This is GStreamer 1.7.2
diff --git a/README b/README
index de0e341..fa53f95 100644
--- a/README
+++ b/README
@@ -179,8 +179,8 @@
make install
- try out a simple test:
- gst-launch-1.0 -v fakesrc num_buffers=5 ! fakesink
- (If you didn't install GStreamer, prefix gst-launch-1.0 with tools/)
+ gst-launch -v fakesrc num_buffers=5 ! fakesink
+ (If you didn't install GStreamer, prefix gst-launch with tools/)
If it outputs a bunch of messages from fakesrc and fakesink, everything is
ok.
diff --git a/RELEASE b/RELEASE
index 790f691..5f1c60b 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,8 +1,7 @@
-Release notes for GStreamer Bad Plugins 1.7.1
+Release notes for GStreamer Bad Plugins 1.7.2
-
-The GStreamer team is pleased to announce the first release of the unstable
+The GStreamer team is pleased to announce the second release of the unstable
1.7 release series. The 1.7 release series is adding new features on top of
the 1.0, 1.2, 1.4 and 1.6 series and is part of the API and ABI-stable 1.x release
series of the GStreamer multimedia framework. The unstable 1.7 release series
@@ -14,7 +13,6 @@
during the unstable 1.7 release series.
-
"That an accusation?"
@@ -63,150 +61,67 @@
Bugs fixed in this release
- * 759679 : gl: unused function '_get_plane_width'
- * 759729 : audiofxbad: Name collision with new GstAudioChannelMix API from libgstaudio
- * 731204 : androidmedia: Implement zerocopy rendering
- * 733467 : Cannot play JPEG2000 encoded QuickTime video
- * 733819 : Port teletextdec to 1.0
+ * 719849 : [PLUGIN-MOVE] move mpg123 to -ugly
+ * 729485 : avfvideosrc: Cannot reconfigure caps
* 733959 : hlsdemux: download bitrate algorithms don't reflect real download rate
- * 743345 : glupload: Add support for dmabuf
- * 744047 : Port acmmp3dec plugin to 1.x
- * 745564 : qtkitvideosrc: fails to build on OSX > = 10.9 and not using cerbero (ex: MacPorts)
- * 747482 : waylandsink: need exception code in gst_wayland_sink_set_window_handle() and gst_wayland_sink_set_context()
- * 747774 : dashdemux: text streams support
- * 748259 : New audio/video level element
- * 748316 : hlsdemux: The end offset (range_end) of a segment is not calculated properly in the m3u8 parser
- * 748337 : ksvideosrc: dropping frames
- * 749653 : dashdemux: Implement binary search for stream_sidx_seek
- * 750402 : tsdemux: pads are removed before new ones are added
- * 750847 : dashdemux: variables containing time information should be guint64 not gint64
- * 750852 : dashdemux: idRepresentationType should be StringNoWhitespaceType but accepts spaces
- * 750869 : dashdemux: assertion raised if profiles information is not provided
- * 751068 : gl: Use pkg-config if found to configure GL/EGL/GLES (as provided by mesa and libmali)
- * 751529 : dashdemux: stream- > presentationTimeOffset is not always set
- * 751650 : dashdemux: extra validations needed when parsing the representation element
- * 751735 : dashdemux: incorrect parsing and handling of segment templates
- * 751832 : dashdemux: segment list inherits segment URLs element from parent node
- * 752326 : dashdemux: parser should reject MPD files with negative mediaPresentationDuration
- * 752329 : dashdemux: parser should reject MPD files with negative Period duration
- * 752336 : dashdemux: duration field could overflow
- * 752340 : dashdemux: period bitstreamSwitching is not used
- * 752367 : dashdemux: adaptation set language could be better detected
- * 752409 : dashdemux: gst_mpd_parser_get_stream_presentation_offset returns a wrong value
- * 752415 : dashdemux: provide a default suggestedPresentationDelay
- * 752429 : dashdemux: negative numbers are successfully read into unsigned variables
- * 752492 : dashdemux: suggestedPresentationDelay should be positive
- * 752496 : dashdemux: illegal memory access when the list of S nodes is greater than the list of SegmentURL nodes
- * 753405 : nvenc element
- * 753613 : mssdemux: PlayReady WRM parsing support
- * 753821 : assrender: improve overlay blending performance
- * 753824 : assrender: render overlay using the video output window size
- * 753854 : gstreamer: bad: Fix memory leaks when context parse fails.
- * 753885 : opencv: use gst_opencv_video_filter_set_in_place()
- * 753889 : opencv: cvlaplace: add scale and shift properties
- * 753890 : dashdemux: PROP_BANDWIDTH_USAGE should be deprecated
- * 753940 : opencv: handdetect: haar cascade files path is wrong in gst-uninstalled
- * 754057 : sfdec: Fix a typo in goto variable name
- * 754247 : vc1parse: add break to switch case
- * 754251 : qtsink: explicitely fallthrough switch statement
- * 754253 : qml: remove overwritten value
- * 754285 : compositor: add unit test for ensuring that sinkpads are sorted by zorder
- * 754466 : qml: add android support
- * 754786 : vtdec: fails on OSX with GL3 context
- * 755100 : qt: add build support for iOS/OSX
- * 755105 : dashdemux: tests: add test for fix of the period start time scaling
- * 755120 : dashdemux: stop_updates_task needs to be accessed with the lock taken
- * 755121 : dahsdemux: task is signaled to stop without stop condition being set
- * 755161 : h264parse, h265parse: initialize picture parameter set structure
- * 755169 : dashdemux: can we have multiple seek events at the same time?
- * 755226 : dashdemux: download_finish variable is not reset safely
- * 755232 : dashdemux: demux- > cancelled is not properly protected
- * 755319 : configure: add --with-hls-crypto=auto|nettle|libgcrypt|openssl option
- * 755486 : glimagesink: doesn't support YUY2 properly
- * 755656 : adaptivedemux: remove unused but set variable
- * 756209 : adaptivedemux: adaptive demux hangs if src element cannot be started
- * 756237 : adaptivedemux: waiting for playlist updates in case of fragment errors does not wait
- * 756239 : adaptivedemux: header is not re-downloaded in case of errors
- * 756240 : adaptivedemux: download thread should stop in case of multiple download errors
- * 756322 : dashdemux: add unit test for dashdemux
- * 756424 : docs: documentation not committed
- * 756492 : gl: fix leak in gst_gl_insert_debug_marker
- * 756556 : adaptivedemux: hang if application quits just after start
- * 757018 : aggregator: Add create_new_pad() vfunc to allow subclasses to override the default behaviour
- * 757049 : tsdemux: Add support for Opus
- * 757050 : liveadder: type change of " latency " property might cause crashes
- * 757152 : opus: Add proper multichannel support
- * 757153 : opus: Handle start/end trimming
- * 757245 : dashdemux: tests: add more tests for BaseURL
- * 757285 : androidmedia: Zerocopy decoding potentially slower than before due to missing queueing
- * 757335 : adaptivedemux: release manifest lock before changing internal pipeline state
- * 757336 : adaptivedemux: reset download_finished before starting the src element
- * 757337 : adaptivedemux: release manifest lock before sending flush stop event
- * 757354 : adaptivedemux: tests: add download error test
- * 757359 : adaptivedemux: fix a missing lock in write to stream- > last_ret
- * 757361 : adaptivedemux: tests: add query and fragment download error test
- * 757619 : hlsdemux: incorrect segment start value on bitrate switch
- * 757688 : rtponviftimestamp: element does not work properly
- * 757776 : dashdemux: Unit test fails reliably
- * 757801 : tests:aggregator: tc failure
- * 757825 : ivfparse: Fix the wrong width & height parsing of vp9 bitstream
- * 757859 : adaptivedemux: memory leak in adaptive demux src bin
- * 757903 : mpd verification broke http://www.bok.net/dash/tears_of_steel/cleartext/stream.mpd
- * 757938 : glcolorconvert fails on OSX
- * 757947 : adaptivedemux: http src errors are no longer detected
- * 757974 : glcolorconvert: Fix memory leak while running glcolorconvert test
- * 758010 : mpegtsdemux: stream- > section_data leak if there is a stream discontinuity
- * 758188 : dashdemux: illegal memory access in gst_mpd_client_get_last_fragment_timestamp_end
- * 758228 : amcvideodec: Don't require a non-zero buffer size when doing decoding to a surface
- * 758233 : mpdparser: remove unused functions gst_mpdparser_get_chunk_by_index and gst_mpdparser_find_segment_by_index
- * 758384 : dashdemux: tests: refactor into adaptive_engine components
- * 758386 : hlsdemux: incorrect calculation of seek range of non-live streams
- * 758405 : h264/h265parse: Should resend pps/sps after seeks in byte-stream mode
- * 758410 : mpdparser: parsing of dateTime fields does not read the microseconds part
- * 758515 : dashdemux: Set framerate based on the Manifest on the caps
- * 758517 : spu-pgs: Fix array memory leak
- * 758586 : mssdemux: missing depth in audio caps
- * 758593 : mpdparser: remove gst_mpd_client_check_time_position
- * 758694 : android media fails to update affine transformation meta
- * 758728 : id3mux: write private data tag
- * 758820 : glwindow: Fix memory leak of navigation thread
- * 758877 : glupload: Should not offer its allocator unless memory:GLMemory is negotiated
- * 758904 : gl: YUY2 conversion broken
- * 758946 : hlsdemux: change of playlist to the same playlist after first fragment, when connection speed is set
- * 758987 : hlsdemux: Resync live playlists to the 3rd newest fragment if we fall off the playlist
- * 759108 : hlsdemux: add support for snapping seek flags
- * 759118 : mxfdemux: IndexTableSegment handling is wrong
- * 759432 : bad plugins: Fix example pipelines
- * 759443 : videoframe-audiolevel: Fix possible division by zero
- * 759484 : directsoundsrc: add device property as it is done in directsoundsink
- * 759518 : yadif: Fix memory leak and mishandling.
- * 759519 : gdppay: Fix buffer memory leak
- * 759520 : pnmenc: Fix memory leaks/mishandling
- * 759522 : pnmdec: Fix memory leaks
- * 759523 : combdetect: Fix value memory leak
- * 759525 : ivtc: Fix value memory leak
- * 759534 : dashdemux: clock compensation is not correctly used in get_fragment_waiting_time
- * 759537 : dashdemux: clock compensation: clock_cond is not used and should be removed
- * 759547 : dashdemux: insufficient validation of UTCtiming element
- * 759592 : Seek with negative rates appears to be broken with hlsdemux
- * 759600 : decklinkvideosink: Made " auto " mode work according to caps
- * 759728 : teletextdec: build error with clang
- * 759742 : nvenc: very high CPU load when multiple nvenc instances are initialised at the same time
- * 752528 : OpenCV hand gesture detection does not work with OpenCV newer than 2.4.10
- * 753994 : opencv/faceblur: does not work with OpenCV newer than 2.4.10
- * 754148 : OpenCV port remaining elements to C++ and new API
+ * 737786 : android: Upstream one of the android video source implementations
+ * 744367 : mpegtsmux: add HEVC support
+ * 748507 : mpegtsmux: set non-0 payload length in PES header if video ES packet is small enough
+ * 752374 : dashdemux: gst_dash_demux_get_live_seek_range should not return negative values
+ * 752688 : wayland: improve check for wayland-scanner
+ * 756207 : videoaggregator: Setting aspect ratio crops the frame
+ * 756252 : Resurrect NetSim
+ * 757597 : codecparsers: Add VP9 parser
+ * 757602 : adaptivedemux: improved error message if availabilityStartTime is missing for a live stream
+ * 757655 : dashdemux: cannot get segment availability start time if segment duration is not present
+ * 757951 : adaptivedemux: set src element to ready before flushing the input pad
+ * 758516 : mpegtsbase: Add condition to check for non working negative rate
+ * 759158 : dashdemux/mssdemux: add support for snapping seek flags
+ * 759679 : gl: unused function '_get_plane_width'
+ * 759743 : dashdemux: getting clock compensation using HTTP HEAD uses an incorrect year
+ * 759860 : glupload: Attaches composition overlay when not supported
+ * 759869 : glimagesink: navigation messages are not posted on the bus
+ * 759902 : glshader: fix usage documentation
+ * 759913 : glbufferpool: Fix build error
+ * 760090 : gst-plugins-bad: implicit declaration of function ‘gst_init’
+ * 760120 : dashdemux: memory leak in gst_dash_demux_update_manifest_data
+ * 760242 : rtmpsink: should get streamheaders from caps instead of first buffer.
+ * 760270 : videoparse: add support of padded video
+ * 760328 : adaptivedemux: tests: clean tests
+ * 760559 : glvideomixer ! glimagesink deadlocks on resize
+ * 760594 : decklinkvideosrc: does not support capture in RGB mode
+ * 760600 : tests: memory leak in test HTTP source
+ * 760696 : gl: Regression with caps ref-couting
+ * 760873 : GstGLVideoMixerPad vertex_buffer leaks when pad dynamic removed
+ * 760936 : dash, mpdparser: Fix the bug when getting the URL of index segment by SegmentBase
+ * 760972 : glwindow: Fix android build
+ * 760982 : adaptivedemux: memory leak of stream- > internal_pad
+ * 761014 : h264parse: sends unnecessary caps events/queries for every (unchanging) SPS/PPS when converting to byte-stream (android mediacodec)
+ * 761108 : uvch264_src: Fix caps memory leak
+ * 761109 : acmenc/acmmp3dec: remove unnecessary break after return
+ * 761230 : tinyalsa: Add a new sink plugin using tinyalsa
+ * 761458 : adaptivedemux: Unused GstSegment variable in download loop
+ * 761460 : player: Makefile does not use configured PKG_CONFIG_PATH when performing introspection scan
+ * 761519 : gl: Activate " qos " in filters
+ * 761538 : gst_gl_insert_debug_marker called with no current context
+ * 761578 : GstGLContext didn't get unref correctly
+ * 761606 : Move H.265 RTP payloader/depayloader from -bad to -good
+ * 761704 : POTFILES.skip is out of date
+ * 762013 : curlhttpsink: Problem in curlhttpsink when qtmux uses faststart, don't send empty buffers
+ * 762171 : soundtouch plugin is not shipped
+ * 758158 : opusdec: in-band FEC has no effect
==== Download ====
You can find source releases of gst-plugins-bad in the download
-directory: http://gstreamer.freedesktop.org/src/gst-plugins-bad/
+directory: https://gstreamer.freedesktop.org/src/gst-plugins-bad/
The git repository and details how to clone it can be found at
http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/
==== Homepage ====
-The project's website is http://gstreamer.freedesktop.org/
+The project's website is https://gstreamer.freedesktop.org/
==== Support and Bugs ====
@@ -231,71 +146,43 @@
Contributors to this release
- * Aleix Conchillo Flaqué
* Alessandro Decina
* Alex Ashley
- * André Draszik
- * Antoine Jacoutot
- * Antonio Ospite
- * Arnaud Vrac
- * Branko Subasic
- * Chris Bass
- * Daniel Kamil Kozar
- * Dave Craig
- * Duncan Palmer
- * Edward Hervey
- * Etienne Peron
+ * Arun Raghavan
+ * Aurélien Zanelli
+ * Bob Holcomb
+ * David Fernandez
+ * David Waring
+ * Florent Thiéry
* Florin Apostol
- * Frédéric Wang
* George Kiagiadakis
- * Guillaume Desmottes
* Haihua Hu
- * Havard Graff
- * Heinrich Fink
- * Hyunil Park
+ * Holger Kaelberer
* Hyunjun Ko
+ * Ilya Konstantinov
* Jan Schmidt
- * Jimmy Ohn
* John Chang
- * John Slade
- * Julian Bouzas
* Julien Isorce
- * Linus Svensson
- * Lubosz Sarnecki
+ * Julien MOUTTE
+ * Julien Moutte
+ * Justin Kim
* Luis de Bethencourt
- * Maroš Ondrášek
- * Mathias Hasselmann
- * Matthew Marsh
+ * Matt Crane
* Matthew Waters
- * Matthieu Bouron
- * Miguel París Díaz
* Nicolas Dufresne
- * Nicolas Huet
- * Nirbheek Chauhan
- * Olivier Crête
- * Paolo Pettinato
- * Paul Arzelier
* Philippe Normand
- * Philippe Renon
- * Polochon_street
- * Ravi Kiran K N
+ * Piotr Drąg
* Reynaldo H. Verdejo Pinochet
- * Roman Nowicki
- * Santiago Carot-Nemesio
* Sebastian Dröge
+ * Sergey Borovkov
* Sreerenj Balachandran
- * Stefan Sauer
+ * Stian Selnes
* Thiago Santos
* Thibault Saunier
- * Thomas Roos
+ * Tim Sheridan
* Tim-Philipp Müller
- * Vanessa Chipirrás Navalón
* Vincent Penquerc'h
- * Vineeth T M
* Vineeth TM
- * Vivia Nikolaidou
- * Víctor Manuel Jáquez Leal
- * Xavier Claessens
- * plamot
- * suhwang.kim
+ * Wang Xin-yu (王昕宇)
+ * Youness Alaoui
\ No newline at end of file
diff --git a/aclocal.m4 b/aclocal.m4
index 2144811..2162ef8 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1479,7 +1479,6 @@
m4_include([common/m4/orc.m4])
m4_include([common/m4/pkg.m4])
m4_include([m4/gettext.m4])
-m4_include([m4/gsettings.m4])
m4_include([m4/gst-fionread.m4])
m4_include([m4/gst-sdl.m4])
m4_include([m4/iconv.m4])
diff --git a/common/Makefile.in b/common/Makefile.in
index a4277f5..a4a1f99 100644
--- a/common/Makefile.in
+++ b/common/Makefile.in
@@ -114,16 +114,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -297,7 +296,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -319,7 +317,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -341,9 +338,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -505,6 +499,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -518,8 +513,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -606,8 +599,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -659,6 +650,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -679,6 +671,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -716,7 +710,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/common/check.mak b/common/check.mak
index 25a16e6..66497ff 100644
--- a/common/check.mak
+++ b/common/check.mak
@@ -12,36 +12,32 @@
endif
LOOPS ?= 10
+AM_TESTS_ENVIRONMENT = CK_DEFAULT_TIMEOUT=20
# run any given test by running make test.check
# if the test fails, run it again at at least debug level 2
%.check: %
@$(AM_TESTS_ENVIRONMENT) \
- CK_DEFAULT_TIMEOUT=20 \
$* || \
$(AM_TESTS_ENVIRONMENT) \
GST_DEBUG=$$GST_DEBUG,*:2 \
- CK_DEFAULT_TIMEOUT=20 \
$*
# just like 'check', but don't run it again if it fails (useful for debugging)
%.check-norepeat: %
@$(AM_TESTS_ENVIRONMENT) \
- CK_DEFAULT_TIMEOUT=20 \
$*
# run any given test in a loop
%.torture: %
@for i in `seq 1 $(LOOPS)`; do \
$(AM_TESTS_ENVIRONMENT) \
- CK_DEFAULT_TIMEOUT=20 \
$*; done
# run any given test in an infinite loop
%.forever: %
@while true; do \
$(AM_TESTS_ENVIRONMENT) \
- CK_DEFAULT_TIMEOUT=20 \
$* || break; done
# valgrind any given test by running make test.valgrind
diff --git a/common/m4/Makefile.in b/common/m4/Makefile.in
index 1f3f788..d4ec28c 100644
--- a/common/m4/Makefile.in
+++ b/common/m4/Makefile.in
@@ -114,16 +114,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -237,7 +236,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -259,7 +257,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -281,9 +278,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -445,6 +439,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -458,8 +453,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -546,8 +539,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -599,6 +590,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -619,6 +611,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -656,7 +650,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/common/win32.mak b/common/win32.mak
index 30e347e..87cd346 100644
--- a/common/win32.mak
+++ b/common/win32.mak
@@ -44,7 +44,10 @@
if test "x$$libso" != "x"; then \
echo Checking symbols in $$libso; \
if ! ($(top_srcdir)/common/check-exports $$libdef $$libso) ; then \
- fail=1; \
+ echo "$$libdef"; \
+ if test "$$libbase" != "libgstgl"; then \
+ fail=1; \
+ fi; \
fi; \
fi; \
done ; \
diff --git a/config.h.in b/config.h.in
index 3ea2af3..3e5b3f7 100644
--- a/config.h.in
+++ b/config.h.in
@@ -28,12 +28,6 @@
language is requested. */
#undef ENABLE_NLS
-/* The x in 2.x */
-#undef FAAD2_MINOR_VERSION
-
-/* Define if AAC is using new api prefix */
-#undef FAAD_IS_NEAAC
-
/* gettext package name */
#undef GETTEXT_PACKAGE
@@ -241,7 +235,7 @@
/* Define to enable AAC encoder plug-in (used by faac). */
#undef HAVE_FAAC
-/* Define to enable AAC decoder plug-in (used by faad). */
+/* Define to enable FAAD2 AAC decoder plug-in (used by faad). */
#undef HAVE_FAAD
/* Define to enable linux framebuffer (used by fbdevsink). */
@@ -277,6 +271,9 @@
/* Define to 1 if the system has the type `GLeglImageOES'. */
#undef HAVE_GLEGLIMAGEOES
+/* Define to 1 if the system has the type `GLint64'. */
+#undef HAVE_GLINT64
+
/* Define to 1 if the system has the type `GLintptr'. */
#undef HAVE_GLINTPTR
@@ -298,9 +295,6 @@
/* Use graphene */
#undef HAVE_GRAPHENE
-/* Define to enable GSettings plugin (used by gsettings). */
-#undef HAVE_GSETTINGS
-
/* Define to enable GSM library (used by gsmenc gsmdec). */
#undef HAVE_GSM
@@ -382,9 +376,6 @@
/* Define to enable mpeg2enc (used by mpeg2enc). */
#undef HAVE_MPEG2ENC
-/* Define to enable mpg123 audio decoder (used by mpg123). */
-#undef HAVE_MPG123
-
/* Define to enable mplex (used by mplex). */
#undef HAVE_MPLEX
@@ -534,9 +525,6 @@
/* Define to enable rsvg decoder (used by rsvg). */
#undef HAVE_RSVG
-/* Have RSVG 2.36.2 or newer */
-#undef HAVE_RSVG_2_36_2
-
/* Define to enable rtmp library (used by rtmp). */
#undef HAVE_RTMP
@@ -618,6 +606,9 @@
/* Define to enable timidity midi soft synth plugin (used by timidity). */
#undef HAVE_TIMIDITY
+/* Define to enable tinyalsa (used by tinyalsa). */
+#undef HAVE_TINYALSA
+
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
@@ -645,6 +636,9 @@
/* Define to enable vo-amrwbenc library (used by vo-amrwbenc). */
#undef HAVE_VOAMRWBENC
+/* Define to enable Vulkan elements (used by vulkan). */
+#undef HAVE_VULKAN
+
/* Define to enable WASAPI plug-in (used by wasapi). */
#undef HAVE_WASAPI
@@ -708,8 +702,7 @@
/* gettext locale dir */
#undef LOCALEDIR
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
- */
+/* Define to the sub-directory where libtool stores uninstalled libraries. */
#undef LT_OBJDIR
/* Define if the old MusePack API is used */
diff --git a/configure b/configure
index 985e6ff..fc47300 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.7.1.
+# Generated by GNU Autoconf 2.69 for GStreamer Bad Plug-ins 1.7.2.
#
# 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.7.1'
-PACKAGE_STRING='GStreamer Bad Plug-ins 1.7.1'
+PACKAGE_VERSION='1.7.2'
+PACKAGE_STRING='GStreamer Bad Plug-ins 1.7.2'
PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
PACKAGE_URL=''
@@ -668,14 +668,6 @@
USE_SNDIO_FALSE
USE_SNDIO_TRUE
SNDIO_LIBS
-USE_GSETTINGS_FALSE
-USE_GSETTINGS_TRUE
-GSETTINGS_RULES
-GLIB_COMPILE_SCHEMAS
-gsettingsschemadir
-GSETTINGS_DISABLE_SCHEMAS_COMPILE
-GSETTINGS_LIBS
-GSETTINGS_CFLAGS
USE_SPANDSP_FALSE
USE_SPANDSP_TRUE
SPANDSP_LIBS
@@ -747,6 +739,9 @@
USE_LIBVISUAL_TRUE
LIBVISUAL_LIBS
LIBVISUAL_CFLAGS
+USE_VULKAN_FALSE
+USE_VULKAN_TRUE
+VULKAN_LIBS
USE_QT_FALSE
USE_QT_TRUE
QT_MAC_LIBS
@@ -778,8 +773,6 @@
USE_GL_TRUE
USE_RSVG_FALSE
USE_RSVG_TRUE
-RSVG_2_36_2_LIBS
-RSVG_2_36_2_CFLAGS
RSVG_LIBS
RSVG_CFLAGS
USE_PVR_FALSE
@@ -837,10 +830,6 @@
MPLEX_LDFLAGS
MPLEX_LIBS
MPLEX_CFLAGS
-USE_MPG123_FALSE
-USE_MPG123_TRUE
-MPG123_LIBS
-MPG123_CFLAGS
USE_MPEG2ENC_FALSE
USE_MPEG2ENC_TRUE
MPEG2ENC_LIBS
@@ -907,7 +896,6 @@
USE_FBDEV_TRUE
USE_FAAD_FALSE
USE_FAAD_TRUE
-FAAD_IS_NEAAC
FAAD_LIBS
HAVE_FAAD
USE_FAAC_FALSE
@@ -930,11 +918,11 @@
USE_WEBP_TRUE
WEBP_LIBS
WEBP_CFLAGS
-wayland_scanner
USE_WAYLAND_FALSE
USE_WAYLAND_TRUE
WAYLAND_LIBS
WAYLAND_CFLAGS
+wayland_scanner
USE_DIRECTFB_FALSE
USE_DIRECTFB_TRUE
DIRECTFB_LIBS
@@ -988,6 +976,8 @@
USE_ASSRENDER_TRUE
ASSRENDER_LIBS
ASSRENDER_CFLAGS
+USE_TINYALSA_FALSE
+USE_TINYALSA_TRUE
USE_NVENC_GST_GL_FALSE
USE_NVENC_GST_GL_TRUE
USE_NVENC_FALSE
@@ -1050,6 +1040,10 @@
DIRECTSOUND_LIBS
DIRECTX_LDFLAGS
DIRECTX_CFLAGS
+USE_XCB_FALSE
+USE_XCB_TRUE
+XCB_LIBS
+XCB_CFLAGS
HAVE_JPEG_FALSE
HAVE_JPEG_TRUE
HAVE_JPEG
@@ -1151,8 +1145,6 @@
USE_PLUGIN_SDP_TRUE
USE_PLUGIN_SDI_FALSE
USE_PLUGIN_SDI_TRUE
-USE_PLUGIN_RTP_FALSE
-USE_PLUGIN_RTP_TRUE
USE_PLUGIN_REMOVESILENCE_FALSE
USE_PLUGIN_REMOVESILENCE_TRUE
USE_PLUGIN_RAWPARSE_FALSE
@@ -1167,6 +1159,8 @@
USE_PLUGIN_ONVIF_TRUE
USE_PLUGIN_NUVDEMUX_FALSE
USE_PLUGIN_NUVDEMUX_TRUE
+USE_PLUGIN_NETSIM_FALSE
+USE_PLUGIN_NETSIM_TRUE
USE_PLUGIN_MXF_FALSE
USE_PLUGIN_MXF_TRUE
USE_PLUGIN_MVE_FALSE
@@ -1516,6 +1510,7 @@
USE_NLS
ACLOCAL_AMFLAGS
CPP
+LT_SYS_LIBRARY_PATH
OTOOL64
OTOOL
LIPO
@@ -1656,6 +1651,7 @@
enable_shared
with_pic
enable_fast_install
+with_aix_soname
enable_dependency_tracking
with_gnu_ld
with_sysroot
@@ -1742,6 +1738,7 @@
enable_mpegpsmux
enable_mve
enable_mxf
+enable_netsim
enable_nuvdemux
enable_onvif
enable_patchdetect
@@ -1749,7 +1746,6 @@
enable_pnm
enable_rawparse
enable_removesilence
-enable_rtp
enable_sdi
enable_sdp
enable_segmentclip
@@ -1794,6 +1790,7 @@
enable_uvch264
enable_nvenc
with_cuda_prefix
+enable_tinyalsa
enable_assrender
enable_voamrwbenc
enable_voaacenc
@@ -1827,7 +1824,6 @@
enable_modplug
enable_mimic
enable_mpeg2enc
-enable_mpg123
enable_mplex
enable_musepack
enable_nas
@@ -1846,6 +1842,7 @@
enable_gl
enable_gtk3
enable_qt
+enable_vulkan
enable_libvisual
enable_timidity
enable_teletextdec
@@ -1869,8 +1866,6 @@
enable_zbar
enable_rtmp
enable_spandsp
-enable_gsettings
-enable_schemas_compile
enable_sndio
with_hls_crypto
enable_hls
@@ -1885,6 +1880,7 @@
LDFLAGS
LIBS
CPPFLAGS
+LT_SYS_LIBRARY_PATH
CPP
PKG_CONFIG
VALGRIND_CFLAGS
@@ -1960,6 +1956,8 @@
GST_ALLOCATORS_LIBS
LIBPNG_CFLAGS
LIBPNG_LIBS
+XCB_CFLAGS
+XCB_LIBS
BLUEZ5_CFLAGS
BLUEZ5_LIBS
GIO_UNIX_CFLAGS
@@ -2032,8 +2030,6 @@
MJPEG_LIBS
MPEG2ENC_CFLAGS
MPEG2ENC_LIBS
-MPG123_CFLAGS
-MPG123_LIBS
MPLEX_CFLAGS
MPLEX_LIBS
NEON_CFLAGS
@@ -2058,8 +2054,6 @@
PVR_LIBS
RSVG_CFLAGS
RSVG_LIBS
-RSVG_2_36_2_CFLAGS
-RSVG_2_36_2_LIBS
GTK3_GL_CFLAGS
GTK3_GL_LIBS
GTK3_X11_CFLAGS
@@ -2100,8 +2094,6 @@
RTMP_LIBS
SPANDSP_CFLAGS
SPANDSP_LIBS
-GSETTINGS_CFLAGS
-GSETTINGS_LIBS
NETTLE_CFLAGS
NETTLE_LIBS
OPENSSL_CFLAGS
@@ -2658,7 +2650,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.7.1 to adapt to many kinds of systems.
+\`configure' configures GStreamer Bad Plug-ins 1.7.2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -2730,7 +2722,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of GStreamer Bad Plug-ins 1.7.1:";;
+ short | recursive ) echo "Configuration of GStreamer Bad Plug-ins 1.7.2:";;
esac
cat <<\_ACEOF
@@ -2824,6 +2816,7 @@
--disable-mpegpsmux disable dependency-less mpegpsmux plugin
--disable-mve disable dependency-less mve plugin
--disable-mxf disable dependency-less mxf plugin
+ --disable-netsim disable dependency-less netsim plugin
--disable-nuvdemux disable dependency-less nuvdemux plugin
--disable-onvif disable dependency-less onvif plugin
--disable-patchdetect disable dependency-less patchdetect plugin
@@ -2831,7 +2824,6 @@
--disable-pnm disable dependency-less pnm plugin
--disable-rawparse disable dependency-less rawparse plugin
--disable-removesilence disable dependency-less removesilence plugin
- --disable-rtp disable dependency-less rtp plugin
--disable-sdi disable dependency-less sdi plugin
--disable-sdp disable dependency-less sdp plugin
--disable-segmentclip disable dependency-less segmentclip plugin
@@ -2871,6 +2863,7 @@
--disable-opensles disable OpenSL ES: opensl
--disable-uvch264 disable UVC H264: uvch264
--disable-nvenc disable NVIDIA Encode API: nvenc
+ --disable-tinyalsa disable tinyalsa: tinyalsa
--disable-assrender disable ASS/SSA renderer: assrender
--disable-voamrwbenc disable vo-amrwbenc library: vo-amrwbenc
--disable-voaacenc disable vo-aacenc library: vo-aacenc
@@ -2889,7 +2882,7 @@
--disable-dts disable dts library: dtsdec
--disable-resindvd disable resindvd plugin: resindvd
--disable-faac disable AAC encoder plug-in: faac
- --disable-faad disable AAC decoder plug-in: faad
+ --disable-faad disable FAAD2 AAC decoder plug-in: faad
--disable-fbdev disable linux framebuffer: fbdevsink
--disable-flite disable Flite plugin: flite
--disable-gsm disable GSM library: gsmenc gsmdec
@@ -2905,7 +2898,6 @@
--disable-modplug disable modplug: modplug
--disable-mimic disable libmimic library: mimic
--disable-mpeg2enc disable mpeg2enc: mpeg2enc
- --disable-mpg123 disable mpg123 audio decoder: mpg123
--disable-mplex disable mplex: mplex
--disable-musepack disable musepackdec: musepack
--disable-nas disable nas plug-in: nassink
@@ -2923,6 +2915,7 @@
--disable-gl disable gl elements: gl
--disable-gtk3 disable Gtk+ elements: gtk
--disable-qt disable Qt elements: qt
+ --disable-vulkan disable Vulkan elements: vulkan
--disable-libvisual disable libvisual visualization library: libvisual
--disable-timidity disable timidity midi soft synth plugin: timidity
--disable-teletextdec disable Teletext decoder: teletextdec
@@ -2944,9 +2937,6 @@
--disable-zbar disable ZBar barcode detector: zbar
--disable-rtmp disable rtmp library: rtmp
--disable-spandsp disable Spandsp: spandsp
- --disable-gsettings disable GSettings plugin: gsettings
- --disable-schemas-compile
- Disable regeneration of gschemas.compiled on install
--disable-sndio disable sndio audio: sndio
--disable-hls disable http live streaming plugin: hls
--disable-x265 disable x265 plug-in: x265
@@ -2956,9 +2946,12 @@
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
both]
+ --with-aix-soname=aix|svr4|both
+ shared library versioning (aka "SONAME") variant to
+ provide on AIX, [default=aix].
--with-gnu-ld assume the C compiler uses GNU ld [default=no]
- --with-sysroot=DIR Search for dependent libraries within DIR
- (or the compiler's sysroot if not specified).
+ --with-sysroot[=DIR] Search for dependent libraries within DIR (or the
+ compiler's sysroot if not specified).
--with-autoconf use a different autoconf for regeneration of
Makefiles
--with-autoheader use a different autoheader for regeneration of
@@ -3016,6 +3009,8 @@
LIBS libraries to pass to the linker, e.g. -l<library>
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
+ LT_SYS_LIBRARY_PATH
+ User-defined run-time library search path.
CPP C preprocessor
PKG_CONFIG path to pkg-config utility
VALGRIND_CFLAGS
@@ -3130,6 +3125,8 @@
LIBPNG_CFLAGS
C compiler flags for LIBPNG, overriding pkg-config
LIBPNG_LIBS linker flags for LIBPNG, overriding pkg-config
+ XCB_CFLAGS C compiler flags for XCB, overriding pkg-config
+ XCB_LIBS linker flags for XCB, overriding pkg-config
BLUEZ5_CFLAGS
C compiler flags for BLUEZ5, overriding pkg-config
BLUEZ5_LIBS linker flags for BLUEZ5, overriding pkg-config
@@ -3245,9 +3242,6 @@
C compiler flags for MPEG2ENC, overriding pkg-config
MPEG2ENC_LIBS
linker flags for MPEG2ENC, overriding pkg-config
- MPG123_CFLAGS
- C compiler flags for MPG123, overriding pkg-config
- MPG123_LIBS linker flags for MPG123, overriding pkg-config
MPLEX_CFLAGS
C compiler flags for MPLEX, overriding pkg-config
MPLEX_LIBS linker flags for MPLEX, overriding pkg-config
@@ -3283,10 +3277,6 @@
PVR_LIBS linker flags for PVR, overriding pkg-config
RSVG_CFLAGS C compiler flags for RSVG, overriding pkg-config
RSVG_LIBS linker flags for RSVG, overriding pkg-config
- RSVG_2_36_2_CFLAGS
- C compiler flags for RSVG_2_36_2, overriding pkg-config
- RSVG_2_36_2_LIBS
- linker flags for RSVG_2_36_2, overriding pkg-config
GTK3_GL_CFLAGS
C compiler flags for GTK3_GL, overriding pkg-config
GTK3_GL_LIBS
@@ -3354,10 +3344,6 @@
C compiler flags for SPANDSP, overriding pkg-config
SPANDSP_LIBS
linker flags for SPANDSP, overriding pkg-config
- GSETTINGS_CFLAGS
- C compiler flags for GSETTINGS, overriding pkg-config
- GSETTINGS_LIBS
- linker flags for GSETTINGS, overriding pkg-config
NETTLE_CFLAGS
C compiler flags for NETTLE, overriding pkg-config
NETTLE_LIBS linker flags for NETTLE, overriding pkg-config
@@ -3434,7 +3420,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-GStreamer Bad Plug-ins configure 1.7.1
+GStreamer Bad Plug-ins configure 1.7.2
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -4407,7 +4393,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.7.1, which was
+It was created by GStreamer Bad Plug-ins $as_me 1.7.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -5389,7 +5375,7 @@
# Define the identity of the package.
PACKAGE='gst-plugins-bad'
- VERSION='1.7.1'
+ VERSION='1.7.2'
cat >>confdefs.h <<_ACEOF
@@ -5600,9 +5586,9 @@
- PACKAGE_VERSION_MAJOR=$(echo 1.7.1 | cut -d'.' -f1)
- PACKAGE_VERSION_MINOR=$(echo 1.7.1 | cut -d'.' -f2)
- PACKAGE_VERSION_MICRO=$(echo 1.7.1 | cut -d'.' -f3)
+ PACKAGE_VERSION_MAJOR=$(echo 1.7.2 | cut -d'.' -f1)
+ PACKAGE_VERSION_MINOR=$(echo 1.7.2 | cut -d'.' -f2)
+ PACKAGE_VERSION_MICRO=$(echo 1.7.2 | cut -d'.' -f3)
@@ -5613,7 +5599,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
$as_echo_n "checking nano version... " >&6; }
- NANO=$(echo 1.7.1 | cut -d'.' -f4)
+ NANO=$(echo 1.7.2 | cut -d'.' -f4)
if test x"$NANO" = x || test "x$NANO" = "x0" ; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
@@ -5733,8 +5719,8 @@
-macro_version='2.4.2'
-macro_revision='1.3337'
+macro_version='2.4.6'
+macro_revision='2.4.6'
@@ -5748,7 +5734,7 @@
-ltmain="$ac_aux_dir/ltmain.sh"
+ltmain=$ac_aux_dir/ltmain.sh
# Backslashify metacharacters that are still active within
# double-quoted strings.
@@ -5797,7 +5783,7 @@
$ECHO ""
}
-case "$ECHO" in
+case $ECHO in
printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
$as_echo "printf" >&6; } ;;
print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
@@ -7159,19 +7145,19 @@
# Check whether --with-gnu-ld was given.
if test "${with_gnu_ld+set}" = set; then :
- withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+ withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
else
with_gnu_ld=no
fi
ac_prog=ld
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
# Check if gcc -print-prog-name=ld gives a path.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
$as_echo_n "checking for ld used by $CC... " >&6; }
case $host in
*-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
+ # gcc leaves a trailing carriage return, which upsets mingw
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
*)
ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
@@ -7185,7 +7171,7 @@
while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
done
- test -z "$LD" && LD="$ac_prog"
+ test -z "$LD" && LD=$ac_prog
;;
"")
# If it fails, then pretend we aren't using GCC.
@@ -7196,7 +7182,7 @@
with_gnu_ld=unknown
;;
esac
-elif test "$with_gnu_ld" = yes; then
+elif test yes = "$with_gnu_ld"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
$as_echo_n "checking for GNU ld... " >&6; }
else
@@ -7207,32 +7193,32 @@
$as_echo_n "(cached) " >&6
else
if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
+ lt_cv_path_LD=$ac_dir/$ac_prog
# Check to see if the program is GNU ld. I'd rather use --version,
# but apparently some variants of GNU ld only accept -v.
# Break only if it was the GNU/non-GNU ld that we prefer.
case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
+ test no != "$with_gnu_ld" && break
;;
*)
- test "$with_gnu_ld" != yes && break
+ test yes != "$with_gnu_ld" && break
;;
esac
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
+ lt_cv_path_LD=$LD # Let the user override the test with a path.
fi
fi
-LD="$lt_cv_path_LD"
+LD=$lt_cv_path_LD
if test -n "$LD"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
$as_echo "$LD" >&6; }
@@ -7275,33 +7261,38 @@
else
if test -n "$NM"; then
# Let the user override the test.
- lt_cv_path_NM="$NM"
+ lt_cv_path_NM=$NM
else
- lt_nm_to_check="${ac_tool_prefix}nm"
+ lt_nm_to_check=${ac_tool_prefix}nm
if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
lt_nm_to_check="$lt_nm_to_check nm"
fi
for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ tmp_nm=$ac_dir/$lt_tmp_nm
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
# Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
# nm: unknown option "B" ignored
# Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
+ # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
+ case $build_os in
+ mingw*) lt_bad_file=conftest.nm/nofile ;;
+ *) lt_bad_file=/dev/null ;;
+ esac
+ case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
+ *$lt_bad_file* | *'Invalid file or object type'*)
lt_cv_path_NM="$tmp_nm -B"
- break
+ break 2
;;
*)
case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
*/dev/null*)
lt_cv_path_NM="$tmp_nm -p"
- break
+ break 2
;;
*)
lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
@@ -7312,15 +7303,15 @@
esac
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
done
: ${lt_cv_path_NM=no}
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
- NM="$lt_cv_path_NM"
+if test no != "$lt_cv_path_NM"; then
+ NM=$lt_cv_path_NM
else
# Didn't find any BSD compatible name lister, look for dumpbin.
if test -n "$DUMPBIN"; then :
@@ -7426,9 +7417,9 @@
fi
fi
- case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+ case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
*COFF*)
- DUMPBIN="$DUMPBIN -symbols"
+ DUMPBIN="$DUMPBIN -symbols -headers"
;;
*)
DUMPBIN=:
@@ -7436,8 +7427,8 @@
esac
fi
- if test "$DUMPBIN" != ":"; then
- NM="$DUMPBIN"
+ if test : != "$DUMPBIN"; then
+ NM=$DUMPBIN
fi
fi
test -z "$NM" && NM=nm
@@ -7488,7 +7479,7 @@
$as_echo_n "(cached) " >&6
else
i=0
- teststring="ABCD"
+ teststring=ABCD
case $build_os in
msdosdjgpp*)
@@ -7528,7 +7519,7 @@
lt_cv_sys_max_cmd_len=8192;
;;
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
# This has been around since 386BSD, at least. Likely further.
if test -x /sbin/sysctl; then
lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
@@ -7579,22 +7570,22 @@
*)
lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
if test -n "$lt_cv_sys_max_cmd_len" && \
- test undefined != "$lt_cv_sys_max_cmd_len"; then
+ test undefined != "$lt_cv_sys_max_cmd_len"; then
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
else
# Make teststring a little bigger before we do anything with it.
# a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8 ; do
+ for i in 1 2 3 4 5 6 7 8; do
teststring=$teststring$teststring
done
SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
# If test is not a shell built-in, we'll probably end up computing a
# maximum length that is only half of the actual maximum length, but
# we can't tell.
- while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+ while { test X`env echo "$teststring$teststring" 2>/dev/null` \
= "X$teststring$teststring"; } >/dev/null 2>&1 &&
- test $i != 17 # 1/2 MB should be enough
+ test 17 != "$i" # 1/2 MB should be enough
do
i=`expr $i + 1`
teststring=$teststring$teststring
@@ -7612,7 +7603,7 @@
fi
-if test -n $lt_cv_sys_max_cmd_len ; then
+if test -n "$lt_cv_sys_max_cmd_len"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
else
@@ -7630,30 +7621,6 @@
: ${MV="mv -f"}
: ${RM="rm -f"}
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
- test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
- = c,a/b,b/c, \
- && eval 'test $(( 1 + 1 )) -eq 2 \
- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
- && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
- >/dev/null 2>&1 \
- && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
lt_unset=unset
else
@@ -7776,13 +7743,13 @@
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
- if test "$GCC" != yes; then
+ if test yes != "$GCC"; then
reload_cmds=false
fi
;;
darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ if test yes = "$GCC"; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
else
reload_cmds='$LD$reload_flag -o $output$reload_objs'
fi
@@ -7907,13 +7874,13 @@
# Need to set the preceding variable on all platforms that support
# interlibrary dependencies.
# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
+# 'unknown' -- same as none, but documents that we really don't know.
# 'pass_all' -- all dependencies passed with no checks.
# 'test_compile' -- check by making test program.
# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
+# that responds to the $file_magic_cmd with a given extended regex.
+# If you have 'file' or equivalent on your system and you're not sure
+# whether 'pass_all' will *always* work, you probably want this one.
case $host_os in
aix[4-9]*)
@@ -7940,8 +7907,7 @@
# Base MSYS/MinGW do not provide the 'file' command needed by
# func_win32_libid shell function, so use a weaker test based on 'objdump',
# unless we find 'file', for example because we are cross-compiling.
- # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
- if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
+ if ( file / ) >/dev/null 2>&1; then
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
@@ -8037,8 +8003,8 @@
lt_cv_deplibs_check_method=pass_all
;;
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+openbsd* | bitrig*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
else
lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
@@ -8091,6 +8057,9 @@
tpf*)
lt_cv_deplibs_check_method=pass_all
;;
+os2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
esac
fi
@@ -8245,8 +8214,8 @@
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
- # two different shell functions defined in ltmain.sh
- # decide which to use based on capabilities of $DLLTOOL
+ # two different shell functions defined in ltmain.sh;
+ # decide which one to use based on capabilities of $DLLTOOL
case `$DLLTOOL --help 2>&1` in
*--identify-strict*)
lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
@@ -8258,7 +8227,7 @@
;;
*)
# fallback: assume linklib IS sharedlib
- lt_cv_sharedlib_from_linklib_cmd="$ECHO"
+ lt_cv_sharedlib_from_linklib_cmd=$ECHO
;;
esac
@@ -8413,7 +8382,7 @@
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
- if test "$ac_status" -eq 0; then
+ if test 0 -eq "$ac_status"; then
# Ensure the archiver fails upon bogus file names.
rm -f conftest.$ac_objext libconftest.a
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
@@ -8421,7 +8390,7 @@
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
- if test "$ac_status" -ne 0; then
+ if test 0 -ne "$ac_status"; then
lt_cv_ar_at_file=@
fi
fi
@@ -8434,7 +8403,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
$as_echo "$lt_cv_ar_at_file" >&6; }
-if test "x$lt_cv_ar_at_file" = xno; then
+if test no = "$lt_cv_ar_at_file"; then
archiver_list_spec=
else
archiver_list_spec=$lt_cv_ar_at_file
@@ -8651,7 +8620,7 @@
if test -n "$RANLIB"; then
case $host_os in
- openbsd*)
+ bitrig* | openbsd*)
old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
;;
*)
@@ -8741,7 +8710,7 @@
symcode='[ABCDGISTW]'
;;
hpux*)
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
symcode='[ABCDEGRST]'
fi
;;
@@ -8774,14 +8743,44 @@
symcode='[ABCDGIRSTW]' ;;
esac
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Gets list of data symbols to import.
+ lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
+ # Adjust the below global symbol transforms to fixup imported variables.
+ lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
+ lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
+ lt_c_name_lib_hook="\
+ -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\
+ -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'"
+else
+ # Disable hooks by default.
+ lt_cv_sys_global_symbol_to_import=
+ lt_cdecl_hook=
+ lt_c_name_hook=
+ lt_c_name_lib_hook=
+fi
+
# Transform an extracted symbol line into a proper C declaration.
# Some systems (esp. on ia64) link data and code symbols differently,
# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+lt_cv_sys_global_symbol_to_cdecl="sed -n"\
+$lt_cdecl_hook\
+" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
+$lt_c_name_hook\
+" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
+
+# Transform an extracted symbol line into symbol name with lib prefix and
+# symbol address.
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
+$lt_c_name_lib_hook\
+" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'"
# Handle CRLF in mingw tool chain
opt_cr=
@@ -8799,21 +8798,24 @@
# Write the raw and C identifiers.
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Fake it for dumpbin and say T for any non-static function
- # and D for any global variable.
+ # Fake it for dumpbin and say T for any non-static function,
+ # D for any global variable and I for any imported variable.
# Also find C++ and __fastcall symbols from MSVC++,
# which start with @ or ?.
lt_cv_sys_global_symbol_pipe="$AWK '"\
" {last_section=section; section=\$ 3};"\
" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
+" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
+" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
" \$ 0!~/External *\|/{next};"\
" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
" {if(hide[section]) next};"\
-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-" s[1]~/^[@?]/{print s[1], s[1]; next};"\
-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
+" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
+" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
" ' prfx=^$ac_symprfx"
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
@@ -8861,11 +8863,11 @@
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
relocations are performed -- see ld's documentation on pseudo-relocs. */
# define LT_DLSYM_CONST
-#elif defined(__osf__)
+#elif defined __osf__
/* This system does not cope well with relocations in const data. */
# define LT_DLSYM_CONST
#else
@@ -8891,7 +8893,7 @@
{
{ "@PROGRAM@", (void *) 0 },
_LT_EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
cat <<\_LT_EOF >> conftest.$ac_ext
{0, (void *) 0}
};
@@ -8911,13 +8913,13 @@
mv conftest.$ac_objext conftstm.$ac_objext
lt_globsym_save_LIBS=$LIBS
lt_globsym_save_CFLAGS=$CFLAGS
- LIBS="conftstm.$ac_objext"
+ LIBS=conftstm.$ac_objext
CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
(eval $ac_link) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext}; then
+ test $ac_status = 0; } && test -s conftest$ac_exeext; then
pipe_works=yes
fi
LIBS=$lt_globsym_save_LIBS
@@ -8938,7 +8940,7 @@
rm -rf conftest* conftst*
# Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
+ if test yes = "$pipe_works"; then
break
else
lt_cv_sys_global_symbol_pipe=
@@ -8991,6 +8993,16 @@
+
+
+
+
+
+
+
+
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
$as_echo_n "checking for sysroot... " >&6; }
@@ -9003,9 +9015,9 @@
lt_sysroot=
-case ${with_sysroot} in #(
+case $with_sysroot in #(
yes)
- if test "$GCC" = yes; then
+ if test yes = "$GCC"; then
lt_sysroot=`$CC --print-sysroot 2>/dev/null`
fi
;; #(
@@ -9015,8 +9027,8 @@
no|'')
;; #(
*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
-$as_echo "${with_sysroot}" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5
+$as_echo "$with_sysroot" >&6; }
as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
;;
esac
@@ -9028,18 +9040,99 @@
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5
+$as_echo_n "checking for a working dd... " >&6; }
+if ${ac_cv_path_lt_DD+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+: ${lt_DD:=$DD}
+if test -z "$lt_DD"; then
+ ac_path_lt_DD_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in dd; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_lt_DD" || continue
+if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+ cmp -s conftest.i conftest.out \
+ && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
+fi
+ $ac_path_lt_DD_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_lt_DD"; then
+ :
+ fi
+else
+ ac_cv_path_lt_DD=$lt_DD
+fi
+
+rm -f conftest.i conftest2.i conftest.out
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5
+$as_echo "$ac_cv_path_lt_DD" >&6; }
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5
+$as_echo_n "checking how to truncate binary pipes... " >&6; }
+if ${lt_cv_truncate_bin+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+lt_cv_truncate_bin=
+if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+ cmp -s conftest.i conftest.out \
+ && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
+fi
+rm -f conftest.i conftest2.i conftest.out
+test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5
+$as_echo "$lt_cv_truncate_bin" >&6; }
+
+
+
+
+
+
+
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+ for cc_temp in $*""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+ done
+ func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+
# Check whether --enable-libtool-lock was given.
if test "${enable_libtool_lock+set}" = set; then :
enableval=$enable_libtool_lock;
fi
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+test no = "$enable_libtool_lock" || enable_libtool_lock=yes
# Some flags need to be propagated to the compiler or linker for good
# libtool support.
case $host in
ia64-*-hpux*)
- # Find out which ABI we are using.
+ # Find out what ABI is being produced by ac_compile, and set mode
+ # options accordingly.
echo 'int i;' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
@@ -9048,24 +9141,25 @@
test $ac_status = 0; }; then
case `/usr/bin/file conftest.$ac_objext` in
*ELF-32*)
- HPUX_IA64_MODE="32"
+ HPUX_IA64_MODE=32
;;
*ELF-64*)
- HPUX_IA64_MODE="64"
+ HPUX_IA64_MODE=64
;;
esac
fi
rm -rf conftest*
;;
*-*-irix6*)
- # Find out which ABI we are using.
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
echo '#line '$LINENO' "configure"' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- if test "$lt_cv_prog_gnu_ld" = yes; then
+ if test yes = "$lt_cv_prog_gnu_ld"; then
case `/usr/bin/file conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -melf32bsmip"
@@ -9094,9 +9188,50 @@
rm -rf conftest*
;;
+mips64*-*linux*)
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
+ echo '#line '$LINENO' "configure"' > conftest.$ac_ext
+ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ emul=elf
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ emul="${emul}32"
+ ;;
+ *64-bit*)
+ emul="${emul}64"
+ ;;
+ esac
+ case `/usr/bin/file conftest.$ac_objext` in
+ *MSB*)
+ emul="${emul}btsmip"
+ ;;
+ *LSB*)
+ emul="${emul}ltsmip"
+ ;;
+ esac
+ case `/usr/bin/file conftest.$ac_objext` in
+ *N32*)
+ emul="${emul}n32"
+ ;;
+ esac
+ LD="${LD-ld} -m $emul"
+ fi
+ rm -rf conftest*
+ ;;
+
x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
- # Find out which ABI we are using.
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly. Note that the listed cases only cover the
+ # situations where additional linker options are needed (such as when
+ # doing 32-bit compilation for a host where ld defaults to 64-bit, or
+ # vice versa); the common cases where no linker options are needed do
+ # not appear in the list.
echo 'int i;' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
@@ -9119,10 +9254,10 @@
;;
esac
;;
- powerpc64le-*)
+ powerpc64le-*linux*)
LD="${LD-ld} -m elf32lppclinux"
;;
- powerpc64-*)
+ powerpc64-*linux*)
LD="${LD-ld} -m elf32ppclinux"
;;
s390x-*linux*)
@@ -9141,10 +9276,10 @@
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
- powerpcle-*)
+ powerpcle-*linux*)
LD="${LD-ld} -m elf64lppc"
;;
- powerpc-*)
+ powerpc-*linux*)
LD="${LD-ld} -m elf64ppc"
;;
s390*-*linux*|s390*-*tpf*)
@@ -9162,7 +9297,7 @@
*-*-sco3.2v5*)
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
+ SAVE_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -belf"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
@@ -9202,13 +9337,14 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
$as_echo "$lt_cv_cc_needs_belf" >&6; }
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ if test yes != "$lt_cv_cc_needs_belf"; then
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
+ CFLAGS=$SAVE_CFLAGS
fi
;;
*-*solaris*)
- # Find out which ABI we are using.
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
echo 'int i;' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
@@ -9220,7 +9356,7 @@
case $lt_cv_prog_gnu_ld in
yes*)
case $host in
- i?86-*-solaris*)
+ i?86-*-solaris*|x86_64-*-solaris*)
LD="${LD-ld} -m elf_x86_64"
;;
sparc*-*-solaris*)
@@ -9229,7 +9365,7 @@
esac
# GNU ld 2.21 introduced _sol2 emulations. Use them if available.
if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
- LD="${LD-ld}_sol2"
+ LD=${LD-ld}_sol2
fi
;;
*)
@@ -9245,7 +9381,7 @@
;;
esac
-need_locks="$enable_libtool_lock"
+need_locks=$enable_libtool_lock
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
@@ -9356,7 +9492,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
+if test yes != "$lt_cv_path_mainfest_tool"; then
MANIFEST_TOOL=:
fi
@@ -9859,7 +9995,7 @@
$as_echo_n "(cached) " >&6
else
lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
+ if test -z "$LT_MULTI_MODULE"; then
# By default we will add the -single_module flag. You can override
# by either setting the environment variable LT_MULTI_MODULE
# non-empty at configure time, or by adding -multi_module to the
@@ -9877,7 +10013,7 @@
cat conftest.err >&5
# Otherwise, if the output was created with a 0 exit code from
# the compiler, it worked.
- elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+ elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
lt_cv_apple_cc_single_mod=yes
else
cat conftest.err >&5
@@ -9916,7 +10052,7 @@
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
+ LDFLAGS=$save_LDFLAGS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
@@ -9945,7 +10081,7 @@
_lt_result=$?
if test -s conftest.err && $GREP force_load conftest.err; then
cat conftest.err >&5
- elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+ elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
lt_cv_ld_force_load=yes
else
cat conftest.err >&5
@@ -9958,32 +10094,32 @@
$as_echo "$lt_cv_ld_force_load" >&6; }
case $host_os in
rhapsody* | darwin1.[012])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
darwin*) # darwin 5.x on
# if running on 10.5 or later, the deployment target defaults
# to the OS version, if on x86, and 10.4, the deployment
# target defaults to 10.4. Don't you love it?
case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
10.0,*86*-darwin8*|10.0,*-darwin[91]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[012]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+ 10.[012][,.]*)
+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
esac
;;
esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ if test yes = "$lt_cv_apple_cc_single_mod"; then
_lt_dar_single_mod='$single_module'
fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ if test yes = "$lt_cv_ld_exported_symbols_list"; then
+ _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
else
- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
fi
- if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+ if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
_lt_dsymutil='~$DSYMUTIL $lib || :'
else
_lt_dsymutil=
@@ -9991,6 +10127,41 @@
;;
esac
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+# string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+# string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+# string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+# "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+# VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+ case x$2 in
+ x)
+ ;;
+ *:)
+ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
+ ;;
+ x:*)
+ eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+ ;;
+ *::*)
+ eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+ eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+ ;;
+ *)
+ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+ ;;
+ esac
+}
+
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -10272,10 +10443,10 @@
done
- GST_CURRENT=701
+ GST_CURRENT=702
GST_REVISION=0
- GST_AGE=701
- GST_LIBVERSION=701:0:701
+ GST_AGE=702
+ GST_LIBVERSION=702:0:702
@@ -10604,14 +10775,14 @@
*)
enable_static=no
# Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_static=yes
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
;;
esac
else
@@ -10638,14 +10809,14 @@
*)
enable_shared=no
# Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_shared=yes
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
;;
esac
else
@@ -10670,14 +10841,14 @@
*)
pic_mode=default
# Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for lt_pkg in $withval; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
if test "X$lt_pkg" = "X$lt_p"; then
pic_mode=yes
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
;;
esac
else
@@ -10685,8 +10856,6 @@
fi
-test -z "$pic_mode" && pic_mode=default
-
@@ -10702,14 +10871,14 @@
*)
enable_fast_install=no
# Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_fast_install=yes
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
;;
esac
else
@@ -10723,11 +10892,63 @@
+ shared_archive_member_spec=
+case $host,$enable_shared in
+power*-*-aix[5-9]*,yes)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5
+$as_echo_n "checking which variant of shared library versioning to provide... " >&6; }
+
+# Check whether --with-aix-soname was given.
+if test "${with_aix_soname+set}" = set; then :
+ withval=$with_aix_soname; case $withval in
+ aix|svr4|both)
+ ;;
+ *)
+ as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5
+ ;;
+ esac
+ lt_cv_with_aix_soname=$with_aix_soname
+else
+ if ${lt_cv_with_aix_soname+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ lt_cv_with_aix_soname=aix
+fi
+
+ with_aix_soname=$lt_cv_with_aix_soname
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5
+$as_echo "$with_aix_soname" >&6; }
+ if test aix != "$with_aix_soname"; then
+ # For the AIX way of multilib, we name the shared archive member
+ # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
+ # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
+ # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
+ # the AIX toolchain works better with OBJECT_MODE set (default 32).
+ if test 64 = "${OBJECT_MODE-32}"; then
+ shared_archive_member_spec=shr_64
+ else
+ shared_archive_member_spec=shr
+ fi
+ fi
+ ;;
+*)
+ with_aix_soname=aix
+ ;;
+esac
+
+
+
+
+
+
+
# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
+LIBTOOL_DEPS=$ltmain
# Always use our own libtool.
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
@@ -10776,7 +10997,7 @@
-if test -n "${ZSH_VERSION+set}" ; then
+if test -n "${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
@@ -10815,7 +11036,7 @@
# AIX sometimes has problems with the GCC collect2 program. For some
# reason, if we set the COLLECT_NAMES environment variable, the problems
# vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
+ if test set != "${COLLECT_NAMES+set}"; then
COLLECT_NAMES=
export COLLECT_NAMES
fi
@@ -10826,14 +11047,14 @@
ofile=libtool
can_build_shared=yes
-# All known linkers require a `.a' archive for static linking (except MSVC,
+# All known linkers require a '.a' archive for static linking (except MSVC,
# which needs '.lib').
libext=a
-with_gnu_ld="$lt_cv_prog_gnu_ld"
+with_gnu_ld=$lt_cv_prog_gnu_ld
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
+old_CC=$CC
+old_CFLAGS=$CFLAGS
# Set sane defaults for various variables
test -z "$CC" && CC=cc
@@ -10842,15 +11063,8 @@
test -z "$LD" && LD=ld
test -z "$ac_objext" && ac_objext=o
-for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+func_cc_basename $compiler
+cc_basename=$func_cc_basename_result
# Only perform the check for file, if the check method requires it
@@ -10865,22 +11079,22 @@
else
case $MAGIC_CMD in
[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
;;
*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ lt_save_MAGIC_CMD=$MAGIC_CMD
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/${ac_tool_prefix}file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+ if test -f "$ac_dir/${ac_tool_prefix}file"; then
+ lt_cv_path_MAGIC_CMD=$ac_dir/"${ac_tool_prefix}file"
if test -n "$file_magic_test_file"; then
case $deplibs_check_method in
"file_magic "*)
file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
$EGREP "$file_magic_regex" > /dev/null; then
:
@@ -10903,13 +11117,13 @@
break
fi
done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
+ IFS=$lt_save_ifs
+ MAGIC_CMD=$lt_save_MAGIC_CMD
;;
esac
fi
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if test -n "$MAGIC_CMD"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
$as_echo "$MAGIC_CMD" >&6; }
@@ -10931,22 +11145,22 @@
else
case $MAGIC_CMD in
[\\/*] | ?:[\\/]*)
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
;;
*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ lt_save_MAGIC_CMD=$MAGIC_CMD
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/file; then
- lt_cv_path_MAGIC_CMD="$ac_dir/file"
+ if test -f "$ac_dir/file"; then
+ lt_cv_path_MAGIC_CMD=$ac_dir/"file"
if test -n "$file_magic_test_file"; then
case $deplibs_check_method in
"file_magic "*)
file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
$EGREP "$file_magic_regex" > /dev/null; then
:
@@ -10969,13 +11183,13 @@
break
fi
done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
+ IFS=$lt_save_ifs
+ MAGIC_CMD=$lt_save_MAGIC_CMD
;;
esac
fi
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if test -n "$MAGIC_CMD"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
$as_echo "$MAGIC_CMD" >&6; }
@@ -10996,7 +11210,7 @@
# Use C for the default configuration in the libtool script
-lt_save_CC="$CC"
+lt_save_CC=$CC
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -11058,7 +11272,7 @@
lt_prog_compiler_no_builtin_flag=
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
case $cc_basename in
nvcc*)
lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
@@ -11074,7 +11288,7 @@
lt_cv_prog_compiler_rtti_exceptions=no
ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="-fno-rtti -fno-exceptions"
+ lt_compiler_flag="-fno-rtti -fno-exceptions" ## exclude from sc_useless_quotes_in_assignment
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
# Note that $ac_compile itself does not contain backslashes and begins
@@ -11104,7 +11318,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; then
lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
else
:
@@ -11122,17 +11336,18 @@
lt_prog_compiler_static=
- if test "$GCC" = yes; then
+ if test yes = "$GCC"; then
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_static='-static'
case $host_os in
aix*)
# All AIX code is PIC.
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
lt_prog_compiler_static='-Bstatic'
fi
+ lt_prog_compiler_pic='-fPIC'
;;
amigaos*)
@@ -11143,8 +11358,8 @@
;;
m68k)
# FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
+ # adding the '-m68020' flag to GCC prevents building anything better,
+ # like '-m68040'.
lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
;;
esac
@@ -11160,6 +11375,11 @@
# Although the cygwin gcc ignores -fPIC, still need this for old-style
# (--disable-auto-import) libraries
lt_prog_compiler_pic='-DDLL_EXPORT'
+ case $host_os in
+ os2*)
+ lt_prog_compiler_static='$wl-static'
+ ;;
+ esac
;;
darwin* | rhapsody*)
@@ -11230,7 +11450,7 @@
case $host_os in
aix*)
lt_prog_compiler_wl='-Wl,'
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
lt_prog_compiler_static='-Bstatic'
else
@@ -11238,10 +11458,29 @@
fi
;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ lt_prog_compiler_pic='-fno-common'
+ case $cc_basename in
+ nagfor*)
+ # NAG Fortran compiler
+ lt_prog_compiler_wl='-Wl,-Wl,,'
+ lt_prog_compiler_pic='-PIC'
+ lt_prog_compiler_static='-Bstatic'
+ ;;
+ esac
+ ;;
+
mingw* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
lt_prog_compiler_pic='-DDLL_EXPORT'
+ case $host_os in
+ os2*)
+ lt_prog_compiler_static='$wl-static'
+ ;;
+ esac
;;
hpux9* | hpux10* | hpux11*)
@@ -11257,7 +11496,7 @@
;;
esac
# Is there a better lt_prog_compiler_static that works with the bundled CC?
- lt_prog_compiler_static='${wl}-a ${wl}archive'
+ lt_prog_compiler_static='$wl-a ${wl}archive'
;;
irix5* | irix6* | nonstopux*)
@@ -11268,7 +11507,7 @@
linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
- # old Intel for x86_64 which still supported -KPIC.
+ # old Intel for x86_64, which still supported -KPIC.
ecc*)
lt_prog_compiler_wl='-Wl,'
lt_prog_compiler_pic='-KPIC'
@@ -11293,6 +11532,12 @@
lt_prog_compiler_pic='-PIC'
lt_prog_compiler_static='-Bstatic'
;;
+ tcc*)
+ # Fabrice Bellard et al's Tiny C Compiler
+ lt_prog_compiler_wl='-Wl,'
+ lt_prog_compiler_pic='-fPIC'
+ lt_prog_compiler_static='-static'
+ ;;
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
@@ -11390,7 +11635,7 @@
;;
sysv4*MP*)
- if test -d /usr/nec ;then
+ if test -d /usr/nec; then
lt_prog_compiler_pic='-Kconform_pic'
lt_prog_compiler_static='-Bstatic'
fi
@@ -11419,7 +11664,7 @@
fi
case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
+ # For platforms that do not support PIC, -DPIC is meaningless:
*djgpp*)
lt_prog_compiler_pic=
;;
@@ -11451,7 +11696,7 @@
lt_cv_prog_compiler_pic_works=no
ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+ lt_compiler_flag="$lt_prog_compiler_pic -DPIC" ## exclude from sc_useless_quotes_in_assignment
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
# Note that $ac_compile itself does not contain backslashes and begins
@@ -11481,7 +11726,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
+if test yes = "$lt_cv_prog_compiler_pic_works"; then
case $lt_prog_compiler_pic in
"" | " "*) ;;
*) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
@@ -11513,7 +11758,7 @@
$as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_static_works=no
- save_LDFLAGS="$LDFLAGS"
+ save_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
echo "$lt_simple_link_test_code" > conftest.$ac_ext
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
@@ -11532,13 +11777,13 @@
fi
fi
$RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
+ LDFLAGS=$save_LDFLAGS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
+if test yes = "$lt_cv_prog_compiler_static_works"; then
:
else
lt_prog_compiler_static=
@@ -11658,8 +11903,8 @@
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
+hard_links=nottested
+if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then
# do not overwrite the value of need_locks provided by the user
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
$as_echo_n "checking if we can lock with hard links... " >&6; }
@@ -11671,9 +11916,9 @@
ln conftest.a conftest.b 2>/dev/null && hard_links=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
$as_echo "$hard_links" >&6; }
- if test "$hard_links" = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ if test no = "$hard_links"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
need_locks=warn
fi
else
@@ -11716,9 +11961,9 @@
# included in the symbol list
include_expsyms=
# exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
+ # it will be wrapped by ' (' and ')$', so one must not match beginning or
+ # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
+ # as well as any symbol that contains 'd'.
exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
# platforms (ab)use it in PIC code, but their linkers get confused if
@@ -11733,7 +11978,7 @@
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
- if test "$GCC" != yes; then
+ if test yes != "$GCC"; then
with_gnu_ld=no
fi
;;
@@ -11741,7 +11986,7 @@
# we just hope/assume this is gcc and not c89 (= MSVC++)
with_gnu_ld=yes
;;
- openbsd*)
+ openbsd* | bitrig*)
with_gnu_ld=no
;;
linux* | k*bsd*-gnu | gnu*)
@@ -11754,7 +11999,7 @@
# On some targets, GNU ld is compatible enough with the native linker
# that we're better off using the native interface for both.
lt_use_gnu_ld_interface=no
- if test "$with_gnu_ld" = yes; then
+ if test yes = "$with_gnu_ld"; then
case $host_os in
aix*)
# The AIX port of GNU ld has always aspired to compatibility
@@ -11776,24 +12021,24 @@
esac
fi
- if test "$lt_use_gnu_ld_interface" = yes; then
+ if test yes = "$lt_use_gnu_ld_interface"; then
# If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
+ wlarc='$wl'
# Set some defaults for GNU ld with shared library support. These
# are reset later if shared libraries are not supported. Putting them
# here allows them to be overridden if necessary.
runpath_var=LD_RUN_PATH
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- export_dynamic_flag_spec='${wl}--export-dynamic'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+ export_dynamic_flag_spec='$wl--export-dynamic'
# ancient GNU ld didn't support --whole-archive et. al.
if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ whole_archive_flag_spec=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
else
whole_archive_flag_spec=
fi
supports_anon_versioning=no
- case `$LD -v 2>&1` in
+ case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in
*GNU\ gold*) supports_anon_versioning=yes ;;
*\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
@@ -11806,7 +12051,7 @@
case $host_os in
aix[3-9]*)
# On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
+ if test ia64 != "$host_cpu"; then
ld_shlibs=no
cat <<_LT_EOF 1>&2
@@ -11825,7 +12070,7 @@
case $host_cpu in
powerpc)
# see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
archive_expsym_cmds=''
;;
m68k)
@@ -11841,7 +12086,7 @@
allow_undefined_flag=unsupported
# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
# support --undefined. This deserves some investigation. FIXME
- archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
else
ld_shlibs=no
fi
@@ -11851,7 +12096,7 @@
# _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
# as there is no search path for DLLs.
hardcode_libdir_flag_spec='-L$libdir'
- export_dynamic_flag_spec='${wl}--export-all-symbols'
+ export_dynamic_flag_spec='$wl--export-all-symbols'
allow_undefined_flag=unsupported
always_export_symbols=no
enable_shared_with_static_runtimes=yes
@@ -11859,61 +12104,89 @@
exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file, use it as
+ # is; otherwise, prepend EXPORTS...
+ archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
else
ld_shlibs=no
fi
;;
haiku*)
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
link_all_deplibs=yes
;;
+ os2*)
+ hardcode_libdir_flag_spec='-L$libdir'
+ hardcode_minus_L=yes
+ allow_undefined_flag=unsupported
+ shrext_cmds=.dll
+ archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ enable_shared_with_static_runtimes=yes
+ ;;
+
interix[3-9]*)
hardcode_direct=no
hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
+ hardcode_libdir_flag_spec='$wl-rpath,$libdir'
+ export_dynamic_flag_spec='$wl-E'
# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
# Instead, shared libraries are loaded at an image base (0x10000000 by
# default) and relocated if they conflict, which is a slow very memory
# consuming and fragmenting process. To avoid this, we pick a random,
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
tmp_diet=no
- if test "$host_os" = linux-dietlibc; then
+ if test linux-dietlibc = "$host_os"; then
case $cc_basename in
diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
esac
fi
if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- && test "$tmp_diet" = no
+ && test no = "$tmp_diet"
then
tmp_addflag=' $pic_flag'
tmp_sharedflag='-shared'
case $cc_basename,$host_cpu in
pgcc*) # Portland Group C compiler
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
tmp_addflag=' $pic_flag'
;;
pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group f77 and f90 compilers
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
tmp_addflag=' $pic_flag -Mnomain' ;;
ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
tmp_addflag=' -i_dynamic' ;;
@@ -11924,42 +12197,47 @@
lf95*) # Lahey Fortran 8.1
whole_archive_flag_spec=
tmp_sharedflag='--shared' ;;
+ nagfor*) # NAGFOR 5.3
+ tmp_sharedflag='-Wl,-shared' ;;
xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
tmp_sharedflag='-qmkshrobj'
tmp_addflag= ;;
nvcc*) # Cuda Compiler Driver 2.2
- whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
compiler_needs_object=yes
;;
esac
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*) # Sun C 5.9
- whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
compiler_needs_object=yes
tmp_sharedflag='-G' ;;
*Sun\ F*) # Sun Fortran 8.3
tmp_sharedflag='-G' ;;
esac
- archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
+ if test yes = "$supports_anon_versioning"; then
archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
fi
case $cc_basename in
+ tcc*)
+ export_dynamic_flag_spec='-rdynamic'
+ ;;
xlf* | bgf* | bgxlf* | mpixlf*)
# IBM XL Fortran 10.1 on PPC cannot create shared libs itself
whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
+ if test yes = "$supports_anon_versioning"; then
archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
fi
;;
esac
@@ -11973,8 +12251,8 @@
archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
fi
;;
@@ -11992,8 +12270,8 @@
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
else
ld_shlibs=no
fi
@@ -12005,7 +12283,7 @@
ld_shlibs=no
cat <<_LT_EOF 1>&2
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
*** reliably create shared libraries on SCO systems. Therefore, libtool
*** is disabling shared libraries support. We urge you to upgrade GNU
*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
@@ -12020,9 +12298,9 @@
# DT_RUNPATH tag from executables and libraries. But doing so
# requires that you compile everything twice, which is a pain.
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
else
ld_shlibs=no
fi
@@ -12039,15 +12317,15 @@
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
else
ld_shlibs=no
fi
;;
esac
- if test "$ld_shlibs" = no; then
+ if test no = "$ld_shlibs"; then
runpath_var=
hardcode_libdir_flag_spec=
export_dynamic_flag_spec=
@@ -12063,7 +12341,7 @@
# Note: this linker hardcodes the directories in LIBPATH if there
# are no directories specified by -L.
hardcode_minus_L=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
# Neither direct hardcoding nor static linking is supported with a
# broken collect2.
hardcode_direct=unsupported
@@ -12071,34 +12349,57 @@
;;
aix[4-9]*)
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
aix_use_runtimelinking=no
exp_sym_flag='-Bexport'
- no_entry_flag=""
+ no_entry_flag=
else
# If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global
- # defined symbols, whereas GNU nm marks them as "W".
+ # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+ # Without the "-l" option, or with the "-B" option, AIX nm treats
+ # weak defined symbols like other global defined symbols, whereas
+ # GNU nm marks them as "W".
+ # While the 'weak' keyword is ignored in the Export File, we need
+ # it in the Import File for the 'aix-soname' feature, so we have
+ # to replace the "-B" option with "-P" for AIX nm.
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
else
- export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
fi
aix_use_runtimelinking=no
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
+ # have runtime linking enabled, and use it for executables.
+ # For shared libraries, we enable/disable runtime linking
+ # depending on the kind of the shared library created -
+ # when "with_aix_soname,aix_use_runtimelinking" is:
+ # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
+ # "aix,yes" lib.so shared, rtl:yes, for executables
+ # lib.a static archive
+ # "both,no" lib.so.V(shr.o) shared, rtl:yes
+ # lib.a(lib.so.V) shared, rtl:no, for executables
+ # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a(lib.so.V) shared, rtl:no
+ # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a static archive
case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
aix_use_runtimelinking=yes
break
fi
done
+ if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+ # With aix-soname=svr4, we create the lib.so.V shared archives only,
+ # so we don't have lib.a shared libs to link our executables.
+ # We have to force runtime linking in this case.
+ aix_use_runtimelinking=yes
+ LDFLAGS="$LDFLAGS -Wl,-brtl"
+ fi
;;
esac
@@ -12117,13 +12418,21 @@
hardcode_direct_absolute=yes
hardcode_libdir_separator=':'
link_all_deplibs=yes
- file_list_spec='${wl}-f,'
+ file_list_spec='$wl-f,'
+ case $with_aix_soname,$aix_use_runtimelinking in
+ aix,*) ;; # traditional, no import file
+ svr4,* | *,yes) # use import file
+ # The Import File defines what to hardcode.
+ hardcode_direct=no
+ hardcode_direct_absolute=no
+ ;;
+ esac
- if test "$GCC" = yes; then
+ if test yes = "$GCC"; then
case $host_os in aix4.[012]|aix4.[012].*)
# We only want to do this on AIX 4.2 and lower, the check
# below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
+ collect2name=`$CC -print-prog-name=collect2`
if test -f "$collect2name" &&
strings "$collect2name" | $GREP resolve_lib_name >/dev/null
then
@@ -12142,36 +12451,42 @@
;;
esac
shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag="$shared_flag "'$wl-G'
fi
- link_all_deplibs=no
+ # Need to ensure runtime linking is disabled for the traditional
+ # shared library, or the linker may eventually find shared libraries
+ # /with/ Import File - we do not want to mix them.
+ shared_flag_aix='-shared'
+ shared_flag_svr4='-shared $wl-G'
else
# not using gcc
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
# chokes on -Wl,-G. The following line is correct:
shared_flag='-G'
else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag='$wl-G'
else
- shared_flag='${wl}-bM:SRE'
+ shared_flag='$wl-bM:SRE'
fi
+ shared_flag_aix='$wl-bM:SRE'
+ shared_flag_svr4='$wl-G'
fi
fi
- export_dynamic_flag_spec='${wl}-bexpall'
+ export_dynamic_flag_spec='$wl-bexpall'
# It seems that -bexpall does not export symbols beginning with
# underscore (_), so it is better to generate a list of symbols to export.
always_export_symbols=yes
- if test "$aix_use_runtimelinking" = yes; then
+ if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
# Warning - without using the other runtime loading flags (-brtl),
# -berok will link without error, but may produce a broken library.
allow_undefined_flag='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
+ if test set = "${lt_cv_aix_libpath+set}"; then
aix_libpath=$lt_cv_aix_libpath
else
if ${lt_cv_aix_libpath_+:} false; then :
@@ -12206,7 +12521,7 @@
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
+ lt_cv_aix_libpath_=/usr/lib:/lib
fi
fi
@@ -12214,17 +12529,17 @@
aix_libpath=$lt_cv_aix_libpath_
fi
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
+ archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+ if test ia64 = "$host_cpu"; then
+ hardcode_libdir_flag_spec='$wl-R $libdir:/usr/lib:/lib'
allow_undefined_flag="-z nodefs"
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
else
# Determine the default libpath from the value encoded in an
# empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
+ if test set = "${lt_cv_aix_libpath+set}"; then
aix_libpath=$lt_cv_aix_libpath
else
if ${lt_cv_aix_libpath_+:} false; then :
@@ -12259,7 +12574,7 @@
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
if test -z "$lt_cv_aix_libpath_"; then
- lt_cv_aix_libpath_="/usr/lib:/lib"
+ lt_cv_aix_libpath_=/usr/lib:/lib
fi
fi
@@ -12267,21 +12582,33 @@
aix_libpath=$lt_cv_aix_libpath_
fi
- hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+ hardcode_libdir_flag_spec='$wl-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
# -berok will link without error, but may produce a broken library.
- no_undefined_flag=' ${wl}-bernotok'
- allow_undefined_flag=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
+ no_undefined_flag=' $wl-bernotok'
+ allow_undefined_flag=' $wl-berok'
+ if test yes = "$with_gnu_ld"; then
# We only use this code for GNU lds that support --whole-archive.
- whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive'
else
# Exported symbols can be pulled into shared objects from archives
whole_archive_flag_spec='$convenience'
fi
archive_cmds_need_lc=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+ # -brtl affects multiple linker settings, -berok does not and is overridden later
+ compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
+ if test svr4 != "$with_aix_soname"; then
+ # This is similar to how AIX traditionally builds its shared libraries.
+ archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+ fi
+ if test aix != "$with_aix_soname"; then
+ archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+ else
+ # used by -dlpreopen to get the symbols
+ archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
+ fi
+ archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d'
fi
fi
;;
@@ -12290,7 +12617,7 @@
case $host_cpu in
powerpc)
# see comment about AmigaOS4 .so support
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
archive_expsym_cmds=''
;;
m68k)
@@ -12320,16 +12647,17 @@
# Tell ltmain to make .lib files, not .a files.
libext=lib
# Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
+ shrext_cmds=.dll
# FIXME: Setting linknames here is a bad hack.
- archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
+ archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+ archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
+ cp "$export_symbols" "$output_objdir/$soname.def";
+ echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+ else
+ $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
# The linker will not automatically build a static lib if we build a DLL.
# _LT_TAGVAR(old_archive_from_new_cmds, )='true'
enable_shared_with_static_runtimes=yes
@@ -12338,18 +12666,18 @@
# Don't use ranlib
old_postinstall_cmds='chmod 644 $oldlib'
postlink_cmds='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile=$lt_outputfile.exe
+ lt_tool_outputfile=$lt_tool_outputfile.exe
+ ;;
+ esac~
+ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
;;
*)
# Assume MSVC wrapper
@@ -12358,7 +12686,7 @@
# Tell ltmain to make .lib files, not .a files.
libext=lib
# Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
+ shrext_cmds=.dll
# FIXME: Setting linknames here is a bad hack.
archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
# The linker will automatically build a .lib file if we build a DLL.
@@ -12377,24 +12705,24 @@
hardcode_direct=no
hardcode_automatic=yes
hardcode_shlibpath_var=unsupported
- if test "$lt_cv_ld_force_load" = "yes"; then
- whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+ if test yes = "$lt_cv_ld_force_load"; then
+ whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
else
whole_archive_flag_spec=''
fi
link_all_deplibs=yes
- allow_undefined_flag="$_lt_dar_allow_undefined"
+ allow_undefined_flag=$_lt_dar_allow_undefined
case $cc_basename in
- ifort*) _lt_dar_can_shared=yes ;;
+ ifort*|nagfor*) _lt_dar_can_shared=yes ;;
*) _lt_dar_can_shared=$GCC ;;
esac
- if test "$_lt_dar_can_shared" = "yes"; then
+ if test yes = "$_lt_dar_can_shared"; then
output_verbose_link_cmd=func_echo_all
- archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+ archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
+ module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
+ archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+ module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
else
ld_shlibs=no
@@ -12436,33 +12764,33 @@
;;
hpux9*)
- if test "$GCC" = yes; then
- archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ if test yes = "$GCC"; then
+ archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
else
- archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
fi
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ hardcode_libdir_flag_spec='$wl+b $wl$libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
- export_dynamic_flag_spec='${wl}-E'
+ export_dynamic_flag_spec='$wl-E'
;;
hpux10*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ if test yes,no = "$GCC,$with_gnu_ld"; then
+ archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ if test no = "$with_gnu_ld"; then
+ hardcode_libdir_flag_spec='$wl+b $wl$libdir'
hardcode_libdir_separator=:
hardcode_direct=yes
hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
+ export_dynamic_flag_spec='$wl-E'
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
hardcode_minus_L=yes
@@ -12470,25 +12798,25 @@
;;
hpux11*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ if test yes,no = "$GCC,$with_gnu_ld"; then
case $host_cpu in
hppa*64*)
- archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
- archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
else
case $host_cpu in
hppa*64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
@@ -12500,7 +12828,7 @@
$as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler__b=no
- save_LDFLAGS="$LDFLAGS"
+ save_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS -b"
echo "$lt_simple_link_test_code" > conftest.$ac_ext
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
@@ -12519,14 +12847,14 @@
fi
fi
$RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
+ LDFLAGS=$save_LDFLAGS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
$as_echo "$lt_cv_prog_compiler__b" >&6; }
-if test x"$lt_cv_prog_compiler__b" = xyes; then
- archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+if test yes = "$lt_cv_prog_compiler__b"; then
+ archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
else
archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
@@ -12534,8 +12862,8 @@
;;
esac
fi
- if test "$with_gnu_ld" = no; then
- hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+ if test no = "$with_gnu_ld"; then
+ hardcode_libdir_flag_spec='$wl+b $wl$libdir'
hardcode_libdir_separator=:
case $host_cpu in
@@ -12546,7 +12874,7 @@
*)
hardcode_direct=yes
hardcode_direct_absolute=yes
- export_dynamic_flag_spec='${wl}-E'
+ export_dynamic_flag_spec='$wl-E'
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
@@ -12557,8 +12885,8 @@
;;
irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ if test yes = "$GCC"; then
+ archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
# Try to use the -exported_symbol ld option, if it does not
# work, assume that -exports_file does not work either and
# implicitly export all symbols.
@@ -12568,8 +12896,8 @@
if ${lt_cv_irix_exported_symbol+:} false; then :
$as_echo_n "(cached) " >&6
else
- save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int foo (void) { return 0; }
@@ -12581,24 +12909,35 @@
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
- LDFLAGS="$save_LDFLAGS"
+ LDFLAGS=$save_LDFLAGS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
$as_echo "$lt_cv_irix_exported_symbol" >&6; }
- if test "$lt_cv_irix_exported_symbol" = yes; then
- archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+ if test yes = "$lt_cv_irix_exported_symbol"; then
+ archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
fi
+ link_all_deplibs=no
else
- archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
fi
archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
hardcode_libdir_separator=:
inherit_rpath=yes
link_all_deplibs=yes
;;
+ linux*)
+ case $cc_basename in
+ tcc*)
+ # Fabrice Bellard et al's Tiny C Compiler
+ ld_shlibs=yes
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
@@ -12613,7 +12952,7 @@
newsos6)
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
hardcode_direct=yes
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
hardcode_libdir_separator=:
hardcode_shlibpath_var=no
;;
@@ -12621,27 +12960,19 @@
*nto* | *qnx*)
;;
- openbsd*)
+ openbsd* | bitrig*)
if test -f /usr/libexec/ld.so; then
hardcode_direct=yes
hardcode_shlibpath_var=no
hardcode_direct_absolute=yes
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- export_dynamic_flag_spec='${wl}-E'
+ archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
+ hardcode_libdir_flag_spec='$wl-rpath,$libdir'
+ export_dynamic_flag_spec='$wl-E'
else
- case $host_os in
- openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- hardcode_libdir_flag_spec='-R$libdir'
- ;;
- *)
- archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
- ;;
- esac
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='$wl-rpath,$libdir'
fi
else
ld_shlibs=no
@@ -12652,33 +12983,53 @@
hardcode_libdir_flag_spec='-L$libdir'
hardcode_minus_L=yes
allow_undefined_flag=unsupported
- archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ shrext_cmds=.dll
+ archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ enable_shared_with_static_runtimes=yes
;;
osf3*)
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ if test yes = "$GCC"; then
+ allow_undefined_flag=' $wl-expect_unresolved $wl\*'
+ archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
else
allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
fi
archive_cmds_need_lc='no'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
hardcode_libdir_separator=:
;;
osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+ if test yes = "$GCC"; then
+ allow_undefined_flag=' $wl-expect_unresolved $wl\*'
+ archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ hardcode_libdir_flag_spec='$wl-rpath $wl$libdir'
else
allow_undefined_flag=' -expect_unresolved \*'
- archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+ $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
# Both c and cxx compiler support -rpath directly
hardcode_libdir_flag_spec='-rpath $libdir'
@@ -12689,24 +13040,24 @@
solaris*)
no_undefined_flag=' -z defs'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ if test yes = "$GCC"; then
+ wlarc='$wl'
+ archive_cmds='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
wlarc=''
- archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ archive_cmds='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
;;
*)
- wlarc='${wl}'
- archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ wlarc='$wl'
+ archive_cmds='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
;;
esac
fi
@@ -12716,11 +13067,11 @@
solaris2.[0-5] | solaris2.[0-5].*) ;;
*)
# The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but understands '-z linker_flag'. GCC discards it without '$wl',
# but is careful enough not to reorder.
# Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ if test yes = "$GCC"; then
+ whole_archive_flag_spec='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
else
whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
fi
@@ -12730,10 +13081,10 @@
;;
sunos4*)
- if test "x$host_vendor" = xsequent; then
+ if test sequent = "$host_vendor"; then
# Use $CC to link under sequent, because it throws in some extra .o
# files that make .init and .fini sections work.
- archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
else
archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
fi
@@ -12782,43 +13133,43 @@
;;
sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag='${wl}-z,text'
+ no_undefined_flag='$wl-z,text'
archive_cmds_need_lc=no
hardcode_shlibpath_var=no
runpath_var='LD_RUN_PATH'
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ if test yes = "$GCC"; then
+ archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
fi
;;
sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
+ # Note: We CANNOT use -z defs as we might desire, because we do not
# link with -lc, and that would cause any symbols used from libc to
# always be unresolved, which means just about no library would
# ever link correctly. If we're not using GNU ld we use -z text
# though, which does catch some bad symbols but isn't as heavy-handed
# as -z defs.
- no_undefined_flag='${wl}-z,text'
- allow_undefined_flag='${wl}-z,nodefs'
+ no_undefined_flag='$wl-z,text'
+ allow_undefined_flag='$wl-z,nodefs'
archive_cmds_need_lc=no
hardcode_shlibpath_var=no
- hardcode_libdir_flag_spec='${wl}-R,$libdir'
+ hardcode_libdir_flag_spec='$wl-R,$libdir'
hardcode_libdir_separator=':'
link_all_deplibs=yes
- export_dynamic_flag_spec='${wl}-Bexport'
+ export_dynamic_flag_spec='$wl-Bexport'
runpath_var='LD_RUN_PATH'
- if test "$GCC" = yes; then
- archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ if test yes = "$GCC"; then
+ archive_cmds='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
else
- archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
fi
;;
@@ -12833,10 +13184,10 @@
;;
esac
- if test x$host_vendor = xsni; then
+ if test sni = "$host_vendor"; then
case $host in
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- export_dynamic_flag_spec='${wl}-Blargedynsym'
+ export_dynamic_flag_spec='$wl-Blargedynsym'
;;
esac
fi
@@ -12844,7 +13195,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
+test no = "$ld_shlibs" && can_build_shared=no
with_gnu_ld=$with_gnu_ld
@@ -12870,7 +13221,7 @@
# Assume -lc should be added
archive_cmds_need_lc=yes
- if test "$enable_shared" = yes && test "$GCC" = yes; then
+ if test yes,yes = "$GCC,$enable_shared"; then
case $archive_cmds in
*'~'*)
# FIXME: we may have to deal with multi-command sequences.
@@ -13085,14 +13436,14 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
$as_echo_n "checking dynamic linker characteristics... " >&6; }
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
+ darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
+ *) lt_awk_arg='/^libraries:/' ;;
esac
case $host_os in
- mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
- *) lt_sed_strip_eq="s,=/,/,g" ;;
+ mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;;
+ *) lt_sed_strip_eq='s|=/|/|g' ;;
esac
lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
case $lt_search_path_spec in
@@ -13108,28 +13459,35 @@
;;
esac
# Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
+ # and add multilib dir if necessary...
lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ # ...but if some path component already ends with the multilib dir we assume
+ # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
+ case "$lt_multi_os_dir; $lt_search_path_spec " in
+ "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
+ lt_multi_os_dir=
+ ;;
+ esac
for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
+ if test -d "$lt_sys_path$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
+ elif test -n "$lt_multi_os_dir"; then
test -d "$lt_sys_path" && \
lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
fi
done
lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
+BEGIN {RS = " "; FS = "/|\n";} {
+ lt_foo = "";
+ lt_count = 0;
for (lt_i = NF; lt_i > 0; lt_i--) {
if ($lt_i != "" && $lt_i != ".") {
if ($lt_i == "..") {
lt_count++;
} else {
if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
+ lt_foo = "/" $lt_i lt_foo;
} else {
lt_count--;
}
@@ -13143,7 +13501,7 @@
# for these hosts.
case $host_os in
mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
- $SED 's,/\([A-Za-z]:\),\1,g'` ;;
+ $SED 's|/\([A-Za-z]:\)|\1|g'` ;;
esac
sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
else
@@ -13152,7 +13510,7 @@
library_names_spec=
libname_spec='lib$name'
soname_spec=
-shrext_cmds=".so"
+shrext_cmds=.so
postinstall_cmds=
postuninstall_cmds=
finish_cmds=
@@ -13169,14 +13527,16 @@
# flags to be left without arguments
need_version=unknown
+
+
case $host_os in
aix3*)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
shlibpath_var=LIBPATH
# AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
+ soname_spec='$libname$release$shared_ext$major'
;;
aix[4-9]*)
@@ -13184,41 +13544,91 @@
need_lib_prefix=no
need_version=no
hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
else
# With GCC up to 2.95.x, collect2 would create an import file
# for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
+ # the line '#! .'. This would cause the generated library to
+ # depend on '.', always an invalid library. This was fixed in
# development snapshots of GCC prior to 3.0.
case $host_os in
aix4 | aix4.[01] | aix4.[01].*)
if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
echo ' yes '
- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
:
else
can_build_shared=no
fi
;;
esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # Using Import Files as archive members, it is possible to support
+ # filename-based versioning of shared library archives on AIX. While
+ # this would work for both with and without runtime linking, it will
+ # prevent static linking of such archives. So we do filename-based
+ # shared library versioning with .so extension only, which is used
+ # when both runtime linking and shared linking is enabled.
+ # Unfortunately, runtime linking may impact performance, so we do
+ # not want this to be the default eventually. Also, we use the
+ # versioned .so libs for executables only if there is the -brtl
+ # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+ # To allow for filename-based versioning support, we need to create
+ # libNAME.so.V as an archive file, containing:
+ # *) an Import File, referring to the versioned filename of the
+ # archive as well as the shared archive member, telling the
+ # bitwidth (32 or 64) of that shared object, and providing the
+ # list of exported symbols of that shared object, eventually
+ # decorated with the 'weak' keyword
+ # *) the shared object with the F_LOADONLY flag set, to really avoid
+ # it being seen by the linker.
+ # At run time we better use the real file rather than another symlink,
+ # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+ case $with_aix_soname,$aix_use_runtimelinking in
+ # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
# soname into executable. Probably we can add versioning support to
# collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
+ aix,yes) # traditional libtool
+ dynamic_linker='AIX unversionable lib.so'
# If using run time linking (on AIX 4.2 or later) use lib<name>.so
# instead of lib<name>.a to let people know that these are not
# typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ ;;
+ aix,no) # traditional AIX only
+ dynamic_linker='AIX lib.a(lib.so.V)'
# We preserve .a as extension for shared libraries through AIX4.2
# and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
+ library_names_spec='$libname$release.a $libname.a'
+ soname_spec='$libname$release$shared_ext$major'
+ ;;
+ svr4,*) # full svr4 only
+ dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
+ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+ # We do not specify a path in Import Files, so LIBPATH fires.
+ shlibpath_overrides_runpath=yes
+ ;;
+ *,yes) # both, prefer svr4
+ dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
+ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+ # unpreferred sharedlib libNAME.a needs extra handling
+ postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+ postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+ # We do not specify a path in Import Files, so LIBPATH fires.
+ shlibpath_overrides_runpath=yes
+ ;;
+ *,no) # both, prefer aix
+ dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
+ library_names_spec='$libname$release.a $libname.a'
+ soname_spec='$libname$release$shared_ext$major'
+ # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+ postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+ postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+ ;;
+ esac
shlibpath_var=LIBPATH
fi
;;
@@ -13228,18 +13638,18 @@
powerpc)
# Since July 2007 AmigaOS4 officially supports .so libraries.
# When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
;;
m68k)
library_names_spec='$libname.ixlibrary $libname.a'
# Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
;;
esac
;;
beos*)
- library_names_spec='${libname}${shared_ext}'
+ library_names_spec='$libname$shared_ext'
dynamic_linker="$host_os ld.so"
shlibpath_var=LIBRARY_PATH
;;
@@ -13247,8 +13657,8 @@
bsdi[45]*)
version_type=linux # correct to gnu/linux during the next big refactor
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
@@ -13260,7 +13670,7 @@
cygwin* | mingw* | pw32* | cegcc*)
version_type=windows
- shrext_cmds=".dll"
+ shrext_cmds=.dll
need_version=no
need_lib_prefix=no
@@ -13269,8 +13679,8 @@
# gcc
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname~
@@ -13286,17 +13696,17 @@
case $host_os in
cygwin*)
# Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
;;
mingw* | cegcc*)
# MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
;;
pw32*)
# pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
;;
esac
dynamic_linker='Win32 ld.exe'
@@ -13305,8 +13715,8 @@
*,cl*)
# Native MSVC
libname_spec='$name'
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- library_names_spec='${libname}.dll.lib'
+ soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+ library_names_spec='$libname.dll.lib'
case $build_os in
mingw*)
@@ -13333,7 +13743,7 @@
sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
;;
*)
- sys_lib_search_path_spec="$LIB"
+ sys_lib_search_path_spec=$LIB
if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
# It is most probably a Windows format PATH.
sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
@@ -13346,8 +13756,8 @@
esac
# DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname'
@@ -13360,7 +13770,7 @@
*)
# Assume MSVC wrapper
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
dynamic_linker='Win32 ld.exe'
;;
esac
@@ -13373,8 +13783,8 @@
version_type=darwin
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
+ library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
+ soname_spec='$libname$release$major$shared_ext'
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
@@ -13387,8 +13797,8 @@
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
;;
@@ -13406,12 +13816,13 @@
version_type=freebsd-$objformat
case $version_type in
freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
need_version=no
need_lib_prefix=no
;;
freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
need_version=yes
;;
esac
@@ -13441,10 +13852,10 @@
need_lib_prefix=no
need_version=no
dynamic_linker="$host_os runtime_loader"
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LIBRARY_PATH
- shlibpath_overrides_runpath=yes
+ shlibpath_overrides_runpath=no
sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
hardcode_into_libs=yes
;;
@@ -13462,14 +13873,15 @@
dynamic_linker="$host_os dld.so"
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ if test 32 = "$HPUX_IA64_MODE"; then
sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux32
else
sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux64
fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
hppa*64*)
shrext_cmds='.sl'
@@ -13477,8 +13889,8 @@
dynamic_linker="$host_os dld.sl"
shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
@@ -13487,8 +13899,8 @@
dynamic_linker="$host_os dld.sl"
shlibpath_var=SHLIB_PATH
shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
;;
esac
# HP-UX runs *really* slowly unless shared libraries are mode 555, ...
@@ -13501,8 +13913,8 @@
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
@@ -13513,7 +13925,7 @@
case $host_os in
nonstopux*) version_type=nonstopux ;;
*)
- if test "$lt_cv_prog_gnu_ld" = yes; then
+ if test yes = "$lt_cv_prog_gnu_ld"; then
version_type=linux # correct to gnu/linux during the next big refactor
else
version_type=irix
@@ -13521,8 +13933,8 @@
esac
need_lib_prefix=no
need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='$libname$release$shared_ext$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
case $host_os in
irix5* | nonstopux*)
libsuff= shlibsuff=
@@ -13541,8 +13953,8 @@
esac
shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
+ sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
hardcode_into_libs=yes
;;
@@ -13551,13 +13963,33 @@
dynamic_linker=no
;;
+linux*android*)
+ version_type=none # Android doesn't support versioned libraries.
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext'
+ soname_spec='$libname$release$shared_ext'
+ finish_cmds=
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ dynamic_linker='Android linker'
+ # Don't embed -rpath directories since the linker doesn't support them.
+ hardcode_libdir_flag_spec='-L$libdir'
+ ;;
+
# This must be glibc/ELF.
linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
@@ -13601,7 +14033,12 @@
# before this can be enabled.
hardcode_into_libs=yes
- # Append ld.so.conf contents to the search path
+ # Ideally, we could use ldconfig to report *all* directores which are
+ # searched for libraries, however this is still not possible. Aside from not
+ # being certain /sbin/ldconfig is available, command
+ # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+ # even though it is searched at run-time. Try to do the best guess by
+ # appending ld.so.conf contents (and includes) to the search path.
if test -f /etc/ld.so.conf; then
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
@@ -13633,12 +14070,12 @@
need_lib_prefix=no
need_version=no
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
dynamic_linker='NetBSD (a.out) ld.so'
else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
dynamic_linker='NetBSD ld.elf_so'
fi
shlibpath_var=LD_LIBRARY_PATH
@@ -13648,7 +14085,7 @@
newsos6)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
;;
@@ -13657,58 +14094,68 @@
version_type=qnx
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
dynamic_linker='ldqnx.so'
;;
-openbsd*)
+openbsd* | bitrig*)
version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
+ sys_lib_dlsearch_path_spec=/usr/lib
need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+ need_version=no
+ else
+ need_version=yes
+ fi
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
+ shlibpath_overrides_runpath=yes
;;
os2*)
libname_spec='$name'
- shrext_cmds=".dll"
+ version_type=windows
+ shrext_cmds=.dll
+ need_version=no
need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
+ # OS/2 can only load a DLL with a base name of 8 characters or less.
+ soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+ v=$($ECHO $release$versuffix | tr -d .-);
+ n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+ $ECHO $n$v`$shared_ext'
+ library_names_spec='${libname}_dll.$libext'
dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
+ shlibpath_var=BEGINLIBPATH
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
;;
osf3* | osf4* | osf5*)
version_type=osf
need_lib_prefix=no
need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='$libname$release$shared_ext$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
rdos*)
@@ -13719,8 +14166,8 @@
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
@@ -13730,11 +14177,11 @@
sunos4*)
version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
+ if test yes = "$with_gnu_ld"; then
need_lib_prefix=no
fi
need_version=yes
@@ -13742,8 +14189,8 @@
sysv4 | sysv4.3*)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
case $host_vendor in
sni)
@@ -13764,24 +14211,24 @@
;;
sysv4*MP*)
- if test -d /usr/nec ;then
+ if test -d /usr/nec; then
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
+ library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
+ soname_spec='$libname$shared_ext.$major'
shlibpath_var=LD_LIBRARY_PATH
fi
;;
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
+ version_type=sco
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
+ if test yes = "$with_gnu_ld"; then
sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
else
sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
@@ -13799,7 +14246,7 @@
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
@@ -13807,8 +14254,8 @@
uts4*)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
;;
@@ -13818,20 +14265,35 @@
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
+test no = "$dynamic_linker" && can_build_shared=no
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
+ sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
+if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
+ sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
fi
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
+
+
+
+
+
+
@@ -13928,15 +14390,15 @@
hardcode_action=
if test -n "$hardcode_libdir_flag_spec" ||
test -n "$runpath_var" ||
- test "X$hardcode_automatic" = "Xyes" ; then
+ test yes = "$hardcode_automatic"; then
# We can hardcode non-existent directories.
- if test "$hardcode_direct" != no &&
+ if test no != "$hardcode_direct" &&
# If the only mechanism to avoid hardcoding is shlibpath_var, we
# have to relink, otherwise we might link with an installed library
# when we should be linking with a yet-to-be-installed one
- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
- test "$hardcode_minus_L" != no; then
+ ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" &&
+ test no != "$hardcode_minus_L"; then
# Linking always hardcodes the temporary library directory.
hardcode_action=relink
else
@@ -13951,12 +14413,12 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
$as_echo "$hardcode_action" >&6; }
-if test "$hardcode_action" = relink ||
- test "$inherit_rpath" = yes; then
+if test relink = "$hardcode_action" ||
+ test yes = "$inherit_rpath"; then
# Fast installation is not supported
enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
+elif test yes = "$shlibpath_overrides_runpath" ||
+ test no = "$enable_shared"; then
# Fast installation is not necessary
enable_fast_install=needless
fi
@@ -13966,7 +14428,7 @@
- if test "x$enable_dlopen" != xyes; then
+ if test yes != "$enable_dlopen"; then
enable_dlopen=unknown
enable_dlopen_self=unknown
enable_dlopen_self_static=unknown
@@ -13976,23 +14438,23 @@
case $host_os in
beos*)
- lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen=load_add_on
lt_cv_dlopen_libs=
lt_cv_dlopen_self=yes
;;
mingw* | pw32* | cegcc*)
- lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen=LoadLibrary
lt_cv_dlopen_libs=
;;
cygwin*)
- lt_cv_dlopen="dlopen"
+ lt_cv_dlopen=dlopen
lt_cv_dlopen_libs=
;;
darwin*)
- # if libdl is installed we need to link against it
+ # if libdl is installed we need to link against it
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
$as_echo_n "checking for dlopen in -ldl... " >&6; }
if ${ac_cv_lib_dl_dlopen+:} false; then :
@@ -14030,10 +14492,10 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+ lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
else
- lt_cv_dlopen="dyld"
+ lt_cv_dlopen=dyld
lt_cv_dlopen_libs=
lt_cv_dlopen_self=yes
@@ -14041,10 +14503,18 @@
;;
+ tpf*)
+ # Don't try to run any link tests for TPF. We know it's impossible
+ # because TPF is a cross-compiler, and we know how we open DSOs.
+ lt_cv_dlopen=dlopen
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=no
+ ;;
+
*)
ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
if test "x$ac_cv_func_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load"
+ lt_cv_dlopen=shl_load
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
$as_echo_n "checking for shl_load in -ldld... " >&6; }
@@ -14083,11 +14553,11 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
- lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
+ lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld
else
ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
if test "x$ac_cv_func_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen"
+ lt_cv_dlopen=dlopen
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
$as_echo_n "checking for dlopen in -ldl... " >&6; }
@@ -14126,7 +14596,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+ lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
$as_echo_n "checking for dlopen in -lsvld... " >&6; }
@@ -14165,7 +14635,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
- lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+ lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
$as_echo_n "checking for dld_link in -ldld... " >&6; }
@@ -14204,7 +14674,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
- lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
+ lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld
fi
@@ -14225,21 +14695,21 @@
;;
esac
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
+ if test no = "$lt_cv_dlopen"; then
enable_dlopen=no
+ else
+ enable_dlopen=yes
fi
case $lt_cv_dlopen in
dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+ save_CPPFLAGS=$CPPFLAGS
+ test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
- save_LDFLAGS="$LDFLAGS"
+ save_LDFLAGS=$LDFLAGS
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
- save_LIBS="$LIBS"
+ save_LIBS=$LIBS
LIBS="$lt_cv_dlopen_libs $LIBS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
@@ -14247,7 +14717,7 @@
if ${lt_cv_dlopen_self+:} false; then :
$as_echo_n "(cached) " >&6
else
- if test "$cross_compiling" = yes; then :
+ if test yes = "$cross_compiling"; then :
lt_cv_dlopen_self=cross
else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
@@ -14294,9 +14764,9 @@
# endif
#endif
-/* When -fvisbility=hidden is used, assume the code has been annotated
+/* When -fvisibility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
int fnord () __attribute__((visibility("default")));
#endif
@@ -14326,7 +14796,7 @@
(eval $ac_link) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+ test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
(./conftest; exit; ) >&5 2>/dev/null
lt_status=$?
case x$lt_status in
@@ -14346,14 +14816,14 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
$as_echo "$lt_cv_dlopen_self" >&6; }
- if test "x$lt_cv_dlopen_self" = xyes; then
+ if test yes = "$lt_cv_dlopen_self"; then
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
if ${lt_cv_dlopen_self_static+:} false; then :
$as_echo_n "(cached) " >&6
else
- if test "$cross_compiling" = yes; then :
+ if test yes = "$cross_compiling"; then :
lt_cv_dlopen_self_static=cross
else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
@@ -14400,9 +14870,9 @@
# endif
#endif
-/* When -fvisbility=hidden is used, assume the code has been annotated
+/* When -fvisibility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
int fnord () __attribute__((visibility("default")));
#endif
@@ -14432,7 +14902,7 @@
(eval $ac_link) 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+ test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then
(./conftest; exit; ) >&5 2>/dev/null
lt_status=$?
case x$lt_status in
@@ -14453,9 +14923,9 @@
$as_echo "$lt_cv_dlopen_self_static" >&6; }
fi
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
+ CPPFLAGS=$save_CPPFLAGS
+ LDFLAGS=$save_LDFLAGS
+ LIBS=$save_LIBS
;;
esac
@@ -14499,7 +14969,7 @@
# FIXME - insert some real tests, host_os isn't really good enough
case $host_os in
darwin*)
- if test -n "$STRIP" ; then
+ if test -n "$STRIP"; then
striplib="$STRIP -x"
old_striplib="$STRIP -S"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
@@ -14527,7 +14997,7 @@
- # Report which library types will actually be built
+ # Report what library types will actually be built
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
$as_echo_n "checking if libtool supports shared libraries... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
@@ -14535,13 +15005,13 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
$as_echo_n "checking whether to build shared libraries... " >&6; }
- test "$can_build_shared" = "no" && enable_shared=no
+ test no = "$can_build_shared" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
# are all built from PIC.
case $host_os in
aix3*)
- test "$enable_shared" = yes && enable_static=no
+ test yes = "$enable_shared" && enable_static=no
if test -n "$RANLIB"; then
archive_cmds="$archive_cmds~\$RANLIB \$lib"
postinstall_cmds='$RANLIB $lib'
@@ -14549,8 +15019,12 @@
;;
aix[4-9]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
+ if test ia64 != "$host_cpu"; then
+ case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+ yes,aix,yes) ;; # shared object as lib.so file only
+ yes,svr4,*) ;; # shared object as lib.so archive member only
+ yes,*) enable_static=no ;; # shared object in lib.a archive as well
+ esac
fi
;;
esac
@@ -14560,7 +15034,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
$as_echo_n "checking whether to build static libraries... " >&6; }
# Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
+ test yes = "$enable_shared" || enable_static=yes
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
$as_echo "$enable_static" >&6; }
@@ -14574,7 +15048,7 @@
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-CC="$lt_save_CC"
+CC=$lt_save_CC
@@ -14600,8 +15074,8 @@
-GST_REQ=1.7.1
-GSTPB_REQ=1.7.1
+GST_REQ=1.7.2
+GSTPB_REQ=1.7.2
@@ -19596,15 +20070,15 @@
func_stripname_cnf ()
{
- case ${2} in
- .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
- *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+ case $2 in
+ .*) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%\\\\$2\$%%"`;;
+ *) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%$2\$%%"`;;
esac
} # func_stripname_cnf
- if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
+ if test -n "$CXX" && ( test no != "$CXX" &&
+ ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
+ (test g++ != "$CXX"))); then
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -19783,7 +20257,7 @@
# the CXX compiler isn't working. Some variables (like enable_shared)
# are currently assumed to apply to all compilers on this platform,
# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_caught_CXX_error" != yes; then
+if test yes != "$_lt_caught_CXX_error"; then
# Code to be used in simple compile tests
lt_simple_compile_test_code="int some_variable = 0;"
@@ -19844,46 +20318,39 @@
CFLAGS=$CXXFLAGS
compiler=$CC
compiler_CXX=$CC
- for cc_temp in $compiler""; do
- case $cc_temp in
- compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
- distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+ func_cc_basename $compiler
+cc_basename=$func_cc_basename_result
if test -n "$compiler"; then
# We don't want -fno-exception when compiling C++ code, so set the
# no_builtin_flag separately
- if test "$GXX" = yes; then
+ if test yes = "$GXX"; then
lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
else
lt_prog_compiler_no_builtin_flag_CXX=
fi
- if test "$GXX" = yes; then
+ if test yes = "$GXX"; then
# Set up default GNU C++ configuration
# Check whether --with-gnu-ld was given.
if test "${with_gnu_ld+set}" = set; then :
- withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+ withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
else
with_gnu_ld=no
fi
ac_prog=ld
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
# Check if gcc -print-prog-name=ld gives a path.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
$as_echo_n "checking for ld used by $CC... " >&6; }
case $host in
*-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
+ # gcc leaves a trailing carriage return, which upsets mingw
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
*)
ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
@@ -19897,7 +20364,7 @@
while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
done
- test -z "$LD" && LD="$ac_prog"
+ test -z "$LD" && LD=$ac_prog
;;
"")
# If it fails, then pretend we aren't using GCC.
@@ -19908,7 +20375,7 @@
with_gnu_ld=unknown
;;
esac
-elif test "$with_gnu_ld" = yes; then
+elif test yes = "$with_gnu_ld"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
$as_echo_n "checking for GNU ld... " >&6; }
else
@@ -19919,32 +20386,32 @@
$as_echo_n "(cached) " >&6
else
if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
+ lt_cv_path_LD=$ac_dir/$ac_prog
# Check to see if the program is GNU ld. I'd rather use --version,
# but apparently some variants of GNU ld only accept -v.
# Break only if it was the GNU/non-GNU ld that we prefer.
case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
+ test no != "$with_gnu_ld" && break
;;
*)
- test "$with_gnu_ld" != yes && break
+ test yes != "$with_gnu_ld" && break
;;
esac
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
+ lt_cv_path_LD=$LD # Let the user override the test with a path.
fi
fi
-LD="$lt_cv_path_LD"
+LD=$lt_cv_path_LD
if test -n "$LD"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
$as_echo "$LD" >&6; }
@@ -19980,22 +20447,22 @@
# Check if GNU C++ uses GNU ld as the underlying linker, since the
# archiving commands below assume that GNU ld is being used.
- if test "$with_gnu_ld" = yes; then
- archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ if test yes = "$with_gnu_ld"; then
+ archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+ hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
+ export_dynamic_flag_spec_CXX='$wl--export-dynamic'
# If archive_cmds runs LD, not CC, wlarc should be empty
# XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
# investigate it a little bit more. (MM)
- wlarc='${wl}'
+ wlarc='$wl'
# ancient GNU ld didn't support --whole-archive et. al.
if eval "`$CC -print-prog-name=ld` --help 2>&1" |
$GREP 'no-whole-archive' > /dev/null; then
- whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
else
whole_archive_flag_spec_CXX=
fi
@@ -20032,18 +20499,30 @@
ld_shlibs_CXX=no
;;
aix[4-9]*)
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
aix_use_runtimelinking=no
exp_sym_flag='-Bexport'
- no_entry_flag=""
+ no_entry_flag=
else
aix_use_runtimelinking=no
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
+ # have runtime linking enabled, and use it for executables.
+ # For shared libraries, we enable/disable runtime linking
+ # depending on the kind of the shared library created -
+ # when "with_aix_soname,aix_use_runtimelinking" is:
+ # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
+ # "aix,yes" lib.so shared, rtl:yes, for executables
+ # lib.a static archive
+ # "both,no" lib.so.V(shr.o) shared, rtl:yes
+ # lib.a(lib.so.V) shared, rtl:no, for executables
+ # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a(lib.so.V) shared, rtl:no
+ # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a static archive
case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
for ld_flag in $LDFLAGS; do
case $ld_flag in
@@ -20053,6 +20532,13 @@
;;
esac
done
+ if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+ # With aix-soname=svr4, we create the lib.so.V shared archives only,
+ # so we don't have lib.a shared libs to link our executables.
+ # We have to force runtime linking in this case.
+ aix_use_runtimelinking=yes
+ LDFLAGS="$LDFLAGS -Wl,-brtl"
+ fi
;;
esac
@@ -20071,13 +20557,21 @@
hardcode_direct_absolute_CXX=yes
hardcode_libdir_separator_CXX=':'
link_all_deplibs_CXX=yes
- file_list_spec_CXX='${wl}-f,'
+ file_list_spec_CXX='$wl-f,'
+ case $with_aix_soname,$aix_use_runtimelinking in
+ aix,*) ;; # no import file
+ svr4,* | *,yes) # use import file
+ # The Import File defines what to hardcode.
+ hardcode_direct_CXX=no
+ hardcode_direct_absolute_CXX=no
+ ;;
+ esac
- if test "$GXX" = yes; then
+ if test yes = "$GXX"; then
case $host_os in aix4.[012]|aix4.[012].*)
# We only want to do this on AIX 4.2 and lower, the check
# below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
+ collect2name=`$CC -print-prog-name=collect2`
if test -f "$collect2name" &&
strings "$collect2name" | $GREP resolve_lib_name >/dev/null
then
@@ -20095,36 +20589,44 @@
fi
esac
shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag=$shared_flag' $wl-G'
fi
+ # Need to ensure runtime linking is disabled for the traditional
+ # shared library, or the linker may eventually find shared libraries
+ # /with/ Import File - we do not want to mix them.
+ shared_flag_aix='-shared'
+ shared_flag_svr4='-shared $wl-G'
else
# not using gcc
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
# chokes on -Wl,-G. The following line is correct:
shared_flag='-G'
else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag='$wl-G'
else
- shared_flag='${wl}-bM:SRE'
+ shared_flag='$wl-bM:SRE'
fi
+ shared_flag_aix='$wl-bM:SRE'
+ shared_flag_svr4='$wl-G'
fi
fi
- export_dynamic_flag_spec_CXX='${wl}-bexpall'
+ export_dynamic_flag_spec_CXX='$wl-bexpall'
# It seems that -bexpall does not export symbols beginning with
# underscore (_), so it is better to generate a list of symbols to
# export.
always_export_symbols_CXX=yes
- if test "$aix_use_runtimelinking" = yes; then
+ if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
# Warning - without using the other runtime loading flags (-brtl),
# -berok will link without error, but may produce a broken library.
- allow_undefined_flag_CXX='-berok'
+ # The "-G" linker flag allows undefined symbols.
+ no_undefined_flag_CXX='-bernotok'
# Determine the default libpath from the value encoded in an empty
# executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
+ if test set = "${lt_cv_aix_libpath+set}"; then
aix_libpath=$lt_cv_aix_libpath
else
if ${lt_cv_aix_libpath__CXX+:} false; then :
@@ -20159,7 +20661,7 @@
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
if test -z "$lt_cv_aix_libpath__CXX"; then
- lt_cv_aix_libpath__CXX="/usr/lib:/lib"
+ lt_cv_aix_libpath__CXX=/usr/lib:/lib
fi
fi
@@ -20167,18 +20669,18 @@
aix_libpath=$lt_cv_aix_libpath__CXX
fi
- hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+ hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath"
- archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
else
- if test "$host_cpu" = ia64; then
- hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
+ if test ia64 = "$host_cpu"; then
+ hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib'
allow_undefined_flag_CXX="-z nodefs"
- archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
else
# Determine the default libpath from the value encoded in an
# empty executable.
- if test "${lt_cv_aix_libpath+set}" = set; then
+ if test set = "${lt_cv_aix_libpath+set}"; then
aix_libpath=$lt_cv_aix_libpath
else
if ${lt_cv_aix_libpath__CXX+:} false; then :
@@ -20213,7 +20715,7 @@
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
if test -z "$lt_cv_aix_libpath__CXX"; then
- lt_cv_aix_libpath__CXX="/usr/lib:/lib"
+ lt_cv_aix_libpath__CXX=/usr/lib:/lib
fi
fi
@@ -20221,22 +20723,34 @@
aix_libpath=$lt_cv_aix_libpath__CXX
fi
- hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+ hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
# -berok will link without error, but may produce a broken library.
- no_undefined_flag_CXX=' ${wl}-bernotok'
- allow_undefined_flag_CXX=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
+ no_undefined_flag_CXX=' $wl-bernotok'
+ allow_undefined_flag_CXX=' $wl-berok'
+ if test yes = "$with_gnu_ld"; then
# We only use this code for GNU lds that support --whole-archive.
- whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive'
else
# Exported symbols can be pulled into shared objects from archives
whole_archive_flag_spec_CXX='$convenience'
fi
archive_cmds_need_lc_CXX=yes
- # This is similar to how AIX traditionally builds its shared
- # libraries.
- archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+ # -brtl affects multiple linker settings, -berok does not and is overridden later
+ compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
+ if test svr4 != "$with_aix_soname"; then
+ # This is similar to how AIX traditionally builds its shared
+ # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
+ archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+ fi
+ if test aix != "$with_aix_soname"; then
+ archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+ else
+ # used by -dlpreopen to get the symbols
+ archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
+ fi
+ archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d'
fi
fi
;;
@@ -20246,7 +20760,7 @@
allow_undefined_flag_CXX=unsupported
# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
# support --undefined. This deserves some investigation. FIXME
- archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
else
ld_shlibs_CXX=no
fi
@@ -20274,57 +20788,58 @@
# Tell ltmain to make .lib files, not .a files.
libext=lib
# Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
+ shrext_cmds=.dll
# FIXME: Setting linknames here is a bad hack.
- archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
+ archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+ archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
+ cp "$export_symbols" "$output_objdir/$soname.def";
+ echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+ else
+ $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
# The linker will not automatically build a static lib if we build a DLL.
# _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true'
enable_shared_with_static_runtimes_CXX=yes
# Don't use ranlib
old_postinstall_cmds_CXX='chmod 644 $oldlib'
postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- func_to_tool_file "$lt_outputfile"~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile=$lt_outputfile.exe
+ lt_tool_outputfile=$lt_tool_outputfile.exe
+ ;;
+ esac~
+ func_to_tool_file "$lt_outputfile"~
+ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
;;
*)
# g++
# _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
# as there is no search path for DLLs.
hardcode_libdir_flag_spec_CXX='-L$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-all-symbols'
+ export_dynamic_flag_spec_CXX='$wl--export-all-symbols'
allow_undefined_flag_CXX=unsupported
always_export_symbols_CXX=no
enable_shared_with_static_runtimes_CXX=yes
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file, use it as
+ # is; otherwise, prepend EXPORTS...
+ archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
else
ld_shlibs_CXX=no
fi
@@ -20338,27 +20853,27 @@
hardcode_direct_CXX=no
hardcode_automatic_CXX=yes
hardcode_shlibpath_var_CXX=unsupported
- if test "$lt_cv_ld_force_load" = "yes"; then
- whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+ if test yes = "$lt_cv_ld_force_load"; then
+ whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
else
whole_archive_flag_spec_CXX=''
fi
link_all_deplibs_CXX=yes
- allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
+ allow_undefined_flag_CXX=$_lt_dar_allow_undefined
case $cc_basename in
- ifort*) _lt_dar_can_shared=yes ;;
+ ifort*|nagfor*) _lt_dar_can_shared=yes ;;
*) _lt_dar_can_shared=$GCC ;;
esac
- if test "$_lt_dar_can_shared" = "yes"; then
+ if test yes = "$_lt_dar_can_shared"; then
output_verbose_link_cmd=func_echo_all
- archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
- if test "$lt_cv_apple_cc_single_mod" != "yes"; then
- archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
- archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+ archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
+ module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
+ archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+ module_expsym_cmds_CXX="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
+ if test yes != "$lt_cv_apple_cc_single_mod"; then
+ archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
+ archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
fi
else
@@ -20367,6 +20882,34 @@
;;
+ os2*)
+ hardcode_libdir_flag_spec_CXX='-L$libdir'
+ hardcode_minus_L_CXX=yes
+ allow_undefined_flag_CXX=unsupported
+ shrext_cmds=.dll
+ archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ enable_shared_with_static_runtimes_CXX=yes
+ ;;
+
dgux*)
case $cc_basename in
ec++*)
@@ -20402,14 +20945,14 @@
;;
haiku*)
- archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
link_all_deplibs_CXX=yes
;;
hpux9*)
- hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+ hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir'
hardcode_libdir_separator_CXX=:
- export_dynamic_flag_spec_CXX='${wl}-E'
+ export_dynamic_flag_spec_CXX='$wl-E'
hardcode_direct_CXX=yes
hardcode_minus_L_CXX=yes # Not in the search PATH,
# but as the default
@@ -20421,7 +20964,7 @@
ld_shlibs_CXX=no
;;
aCC*)
- archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
@@ -20430,11 +20973,11 @@
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
- if test "$GXX" = yes; then
- archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ if test yes = "$GXX"; then
+ archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
else
# FIXME: insert proper C++ library support
ld_shlibs_CXX=no
@@ -20444,15 +20987,15 @@
;;
hpux10*|hpux11*)
- if test $with_gnu_ld = no; then
- hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+ if test no = "$with_gnu_ld"; then
+ hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir'
hardcode_libdir_separator_CXX=:
case $host_cpu in
hppa*64*|ia64*)
;;
*)
- export_dynamic_flag_spec_CXX='${wl}-E'
+ export_dynamic_flag_spec_CXX='$wl-E'
;;
esac
fi
@@ -20478,13 +21021,13 @@
aCC*)
case $host_cpu in
hppa*64*)
- archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
ia64*)
- archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
*)
- archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
esac
# Commands to make compiler produce verbose output that lists
@@ -20495,20 +21038,20 @@
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
- if test "$GXX" = yes; then
- if test $with_gnu_ld = no; then
+ if test yes = "$GXX"; then
+ if test no = "$with_gnu_ld"; then
case $host_cpu in
hppa*64*)
- archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
ia64*)
- archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
*)
- archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
esac
fi
@@ -20523,22 +21066,22 @@
interix[3-9]*)
hardcode_direct_CXX=no
hardcode_shlibpath_var_CXX=no
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_CXX='${wl}-E'
+ hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
+ export_dynamic_flag_spec_CXX='$wl-E'
# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
# Instead, shared libraries are loaded at an image base (0x10000000 by
# default) and relocated if they conflict, which is a slow very memory
# consuming and fragmenting process. To avoid this, we pick a random,
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
- archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ archive_expsym_cmds_CXX='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
irix5* | irix6*)
case $cc_basename in
CC*)
# SGI C++
- archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
# Archives containing C++ object files must be created using
# "CC -ar", where "CC" is the IRIX C++ compiler. This is
@@ -20547,17 +21090,17 @@
old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
;;
*)
- if test "$GXX" = yes; then
- if test "$with_gnu_ld" = no; then
- archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ if test yes = "$GXX"; then
+ if test no = "$with_gnu_ld"; then
+ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
else
- archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
+ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
fi
fi
link_all_deplibs_CXX=yes
;;
esac
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
hardcode_libdir_separator_CXX=:
inherit_rpath_CXX=yes
;;
@@ -20570,8 +21113,8 @@
# KCC will only create a shared library if the output file
# ends with ".so" (or ".sl" for HP-UX), so rename the library
# to its proper name (with version) after linking.
- archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
@@ -20580,10 +21123,10 @@
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+ hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
+ export_dynamic_flag_spec_CXX='$wl--export-dynamic'
# Archives containing C++ object files must be created using
# "CC -Bstatic", where "CC" is the KAI C++ compiler.
@@ -20597,59 +21140,59 @@
# earlier do not add the objects themselves.
case `$CC -V 2>&1` in
*"Version 7."*)
- archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
;;
*) # Version 8.0 or newer
tmp_idyn=
case $host_cpu in
ia64*) tmp_idyn=' -i_dynamic';;
esac
- archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
;;
esac
archive_cmds_need_lc_CXX=no
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
- whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
+ export_dynamic_flag_spec_CXX='$wl--export-dynamic'
+ whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive'
;;
pgCC* | pgcpp*)
# Portland Group C++ compiler
case `$CC -V` in
*pgCC\ [1-5].* | *pgcpp\ [1-5].*)
prelink_cmds_CXX='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
- compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
old_archive_cmds_CXX='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
- $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
- $RANLIB $oldlib'
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+ $RANLIB $oldlib'
archive_cmds_CXX='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
archive_expsym_cmds_CXX='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
;;
*) # Version 6 and above use weak symbols
- archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
;;
esac
- hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
- whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir'
+ export_dynamic_flag_spec_CXX='$wl--export-dynamic'
+ whole_archive_flag_spec_CXX='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
;;
cxx*)
# Compaq C++
- archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols'
runpath_var=LD_RUN_PATH
hardcode_libdir_flag_spec_CXX='-rpath $libdir'
@@ -20663,18 +21206,18 @@
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
;;
xl* | mpixl* | bgxl*)
# IBM XL 8.0 on PPC, with GNU ld
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
- export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
- archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
+ hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
+ export_dynamic_flag_spec_CXX='$wl--export-dynamic'
+ archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ if test yes = "$supports_anon_versioning"; then
archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
fi
;;
*)
@@ -20682,10 +21225,10 @@
*Sun\ C*)
# Sun C++ 5.9
no_undefined_flag_CXX=' -zdefs'
- archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+ archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
hardcode_libdir_flag_spec_CXX='-R$libdir'
- whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ whole_archive_flag_spec_CXX='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
compiler_needs_object_CXX=yes
# Not sure whether something based on
@@ -20743,22 +21286,17 @@
ld_shlibs_CXX=yes
;;
- openbsd2*)
- # C++ shared libraries are fairly broken
- ld_shlibs_CXX=no
- ;;
-
- openbsd*)
+ openbsd* | bitrig*)
if test -f /usr/libexec/ld.so; then
hardcode_direct_CXX=yes
hardcode_shlibpath_var_CXX=no
hardcode_direct_absolute_CXX=yes
archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
- export_dynamic_flag_spec_CXX='${wl}-E'
- whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
+ archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
+ export_dynamic_flag_spec_CXX='$wl-E'
+ whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
fi
output_verbose_link_cmd=func_echo_all
else
@@ -20774,9 +21312,9 @@
# KCC will only create a shared library if the output file
# ends with ".so" (or ".sl" for HP-UX), so rename the library
# to its proper name (with version) after linking.
- archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+ hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
hardcode_libdir_separator_CXX=:
# Archives containing C++ object files must be created using
@@ -20794,17 +21332,17 @@
cxx*)
case $host in
osf3*)
- allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
- archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*'
+ archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
;;
*)
allow_undefined_flag_CXX=' -expect_unresolved \*'
- archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
- echo "-hidden">> $lib.exp~
- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
- $RM $lib.exp'
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~
+ $RM $lib.exp'
hardcode_libdir_flag_spec_CXX='-rpath $libdir'
;;
esac
@@ -20819,21 +21357,21 @@
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+ if test yes,no = "$GXX,$with_gnu_ld"; then
+ allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*'
case $host in
osf3*)
- archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ archive_cmds_CXX='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
;;
*)
- archive_cmds_CXX='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
;;
esac
- hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+ hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
hardcode_libdir_separator_CXX=:
# Commands to make compiler produce verbose output that lists
@@ -20879,9 +21417,9 @@
# Sun C++ 4.2, 5.x and Centerline C++
archive_cmds_need_lc_CXX=yes
no_undefined_flag_CXX=' -zdefs'
- archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+ $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
hardcode_libdir_flag_spec_CXX='-R$libdir'
hardcode_shlibpath_var_CXX=no
@@ -20889,7 +21427,7 @@
solaris2.[0-5] | solaris2.[0-5].*) ;;
*)
# The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'.
+ # but understands '-z linker_flag'.
# Supported since Solaris 2.6 (maybe 2.5.1?)
whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
;;
@@ -20906,30 +21444,30 @@
;;
gcx*)
# Green Hills C++ Compiler
- archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
# The C++ compiler must be used to create the archive.
old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
;;
*)
# GNU C++ compiler with Solaris linker
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
+ if test yes,no = "$GXX,$with_gnu_ld"; then
+ no_undefined_flag_CXX=' $wl-z ${wl}defs'
if $CC --version | $GREP -v '^2\.7' > /dev/null; then
- archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+ $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
else
- # g++ 2.7 appears to require `-G' NOT `-shared' on this
+ # g++ 2.7 appears to require '-G' NOT '-shared' on this
# platform.
- archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+ $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
@@ -20937,11 +21475,11 @@
output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
fi
- hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
+ hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir'
case $host_os in
solaris2.[0-5] | solaris2.[0-5].*) ;;
*)
- whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
;;
esac
fi
@@ -20950,52 +21488,52 @@
;;
sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
- no_undefined_flag_CXX='${wl}-z,text'
+ no_undefined_flag_CXX='$wl-z,text'
archive_cmds_need_lc_CXX=no
hardcode_shlibpath_var_CXX=no
runpath_var='LD_RUN_PATH'
case $cc_basename in
CC*)
- archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
- archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
;;
sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
+ # Note: We CANNOT use -z defs as we might desire, because we do not
# link with -lc, and that would cause any symbols used from libc to
# always be unresolved, which means just about no library would
# ever link correctly. If we're not using GNU ld we use -z text
# though, which does catch some bad symbols but isn't as heavy-handed
# as -z defs.
- no_undefined_flag_CXX='${wl}-z,text'
- allow_undefined_flag_CXX='${wl}-z,nodefs'
+ no_undefined_flag_CXX='$wl-z,text'
+ allow_undefined_flag_CXX='$wl-z,nodefs'
archive_cmds_need_lc_CXX=no
hardcode_shlibpath_var_CXX=no
- hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir'
+ hardcode_libdir_flag_spec_CXX='$wl-R,$libdir'
hardcode_libdir_separator_CXX=':'
link_all_deplibs_CXX=yes
- export_dynamic_flag_spec_CXX='${wl}-Bexport'
+ export_dynamic_flag_spec_CXX='$wl-Bexport'
runpath_var='LD_RUN_PATH'
case $cc_basename in
CC*)
- archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~
- '"$old_archive_cmds_CXX"
+ '"$old_archive_cmds_CXX"
reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~
- '"$reload_cmds_CXX"
+ '"$reload_cmds_CXX"
;;
*)
- archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
;;
@@ -21027,10 +21565,10 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
$as_echo "$ld_shlibs_CXX" >&6; }
- test "$ld_shlibs_CXX" = no && can_build_shared=no
+ test no = "$ld_shlibs_CXX" && can_build_shared=no
- GCC_CXX="$GXX"
- LD_CXX="$LD"
+ GCC_CXX=$GXX
+ LD_CXX=$LD
## CAVEAT EMPTOR:
## There is no encapsulation within the following macros, do not change
@@ -21074,13 +21612,13 @@
pre_test_object_deps_done=no
for p in `eval "$output_verbose_link_cmd"`; do
- case ${prev}${p} in
+ case $prev$p in
-L* | -R* | -l*)
# Some compilers place space between "-{L,R}" and the path.
# Remove the space.
- if test $p = "-L" ||
- test $p = "-R"; then
+ if test x-L = "$p" ||
+ test x-R = "$p"; then
prev=$p
continue
fi
@@ -21096,16 +21634,16 @@
case $p in
=*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
esac
- if test "$pre_test_object_deps_done" = no; then
- case ${prev} in
+ if test no = "$pre_test_object_deps_done"; then
+ case $prev in
-L | -R)
# Internal compiler library paths should come after those
# provided the user. The postdeps already come after the
# user supplied libs so there is no need to process them.
if test -z "$compiler_lib_search_path_CXX"; then
- compiler_lib_search_path_CXX="${prev}${p}"
+ compiler_lib_search_path_CXX=$prev$p
else
- compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}"
+ compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p"
fi
;;
# The "-l" case would never come before the object being
@@ -21113,9 +21651,9 @@
esac
else
if test -z "$postdeps_CXX"; then
- postdeps_CXX="${prev}${p}"
+ postdeps_CXX=$prev$p
else
- postdeps_CXX="${postdeps_CXX} ${prev}${p}"
+ postdeps_CXX="${postdeps_CXX} $prev$p"
fi
fi
prev=
@@ -21130,15 +21668,15 @@
continue
fi
- if test "$pre_test_object_deps_done" = no; then
+ if test no = "$pre_test_object_deps_done"; then
if test -z "$predep_objects_CXX"; then
- predep_objects_CXX="$p"
+ predep_objects_CXX=$p
else
predep_objects_CXX="$predep_objects_CXX $p"
fi
else
if test -z "$postdep_objects_CXX"; then
- postdep_objects_CXX="$p"
+ postdep_objects_CXX=$p
else
postdep_objects_CXX="$postdep_objects_CXX $p"
fi
@@ -21168,51 +21706,6 @@
postdep_objects_CXX=
postdeps_CXX=
;;
-
-linux*)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
-
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
-
- if test "$solaris_use_stlport4" != yes; then
- postdeps_CXX='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
-
-solaris*)
- case $cc_basename in
- CC* | sunCC*)
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
-
- # Adding this requires a known-good setup of shared libraries for
- # Sun compiler versions before 5.6, else PIC objects from an old
- # archive will be linked into the output, leading to subtle bugs.
- if test "$solaris_use_stlport4" != yes; then
- postdeps_CXX='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
esac
@@ -21221,7 +21714,7 @@
esac
compiler_lib_search_dirs_CXX=
if test -n "${compiler_lib_search_path_CXX}"; then
- compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+ compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'`
fi
@@ -21260,17 +21753,18 @@
# C++ specific cases for pic, static, wl, etc.
- if test "$GXX" = yes; then
+ if test yes = "$GXX"; then
lt_prog_compiler_wl_CXX='-Wl,'
lt_prog_compiler_static_CXX='-static'
case $host_os in
aix*)
# All AIX code is PIC.
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
lt_prog_compiler_static_CXX='-Bstatic'
fi
+ lt_prog_compiler_pic_CXX='-fPIC'
;;
amigaos*)
@@ -21281,8 +21775,8 @@
;;
m68k)
# FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
+ # adding the '-m68020' flag to GCC prevents building anything better,
+ # like '-m68040'.
lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
;;
esac
@@ -21297,6 +21791,11 @@
# Although the cygwin gcc ignores -fPIC, still need this for old-style
# (--disable-auto-import) libraries
lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
+ case $host_os in
+ os2*)
+ lt_prog_compiler_static_CXX='$wl-static'
+ ;;
+ esac
;;
darwin* | rhapsody*)
# PIC is the default on this platform
@@ -21346,7 +21845,7 @@
case $host_os in
aix[4-9]*)
# All AIX code is PIC.
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
lt_prog_compiler_static_CXX='-Bstatic'
else
@@ -21386,14 +21885,14 @@
case $cc_basename in
CC*)
lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
- if test "$host_cpu" != ia64; then
+ lt_prog_compiler_static_CXX='$wl-a ${wl}archive'
+ if test ia64 != "$host_cpu"; then
lt_prog_compiler_pic_CXX='+Z'
fi
;;
aCC*)
lt_prog_compiler_wl_CXX='-Wl,'
- lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
+ lt_prog_compiler_static_CXX='$wl-a ${wl}archive'
case $host_cpu in
hppa*64*|ia64*)
# +Z the default
@@ -21430,7 +21929,7 @@
lt_prog_compiler_pic_CXX='-fPIC'
;;
ecpc* )
- # old Intel C++ for x86_64 which still supported -KPIC.
+ # old Intel C++ for x86_64, which still supported -KPIC.
lt_prog_compiler_wl_CXX='-Wl,'
lt_prog_compiler_pic_CXX='-KPIC'
lt_prog_compiler_static_CXX='-static'
@@ -21575,7 +22074,7 @@
fi
case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
+ # For platforms that do not support PIC, -DPIC is meaningless:
*djgpp*)
lt_prog_compiler_pic_CXX=
;;
@@ -21607,7 +22106,7 @@
lt_cv_prog_compiler_pic_works_CXX=no
ac_outfile=conftest.$ac_objext
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
+ lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" ## exclude from sc_useless_quotes_in_assignment
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
# Note that $ac_compile itself does not contain backslashes and begins
@@ -21637,7 +22136,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
-if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then
+if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then
case $lt_prog_compiler_pic_CXX in
"" | " "*) ;;
*) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
@@ -21663,7 +22162,7 @@
$as_echo_n "(cached) " >&6
else
lt_cv_prog_compiler_static_works_CXX=no
- save_LDFLAGS="$LDFLAGS"
+ save_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
echo "$lt_simple_link_test_code" > conftest.$ac_ext
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
@@ -21682,13 +22181,13 @@
fi
fi
$RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
+ LDFLAGS=$save_LDFLAGS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5
$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
-if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then
+if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then
:
else
lt_prog_compiler_static_CXX=
@@ -21802,8 +22301,8 @@
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
+hard_links=nottested
+if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then
# do not overwrite the value of need_locks provided by the user
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
$as_echo_n "checking if we can lock with hard links... " >&6; }
@@ -21815,9 +22314,9 @@
ln conftest.a conftest.b 2>/dev/null && hard_links=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
$as_echo "$hard_links" >&6; }
- if test "$hard_links" = no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+ if test no = "$hard_links"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;}
need_locks=warn
fi
else
@@ -21834,17 +22333,21 @@
case $host_os in
aix[4-9]*)
# If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global defined
- # symbols, whereas GNU nm marks them as "W".
+ # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+ # Without the "-l" option, or with the "-B" option, AIX nm treats
+ # weak defined symbols like other global defined symbols, whereas
+ # GNU nm marks them as "W".
+ # While the 'weak' keyword is ignored in the Export File, we need
+ # it in the Import File for the 'aix-soname' feature, so we have
+ # to replace the "-B" option with "-P" for AIX nm.
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
else
- export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
fi
;;
pw32*)
- export_symbols_cmds_CXX="$ltdll_cmds"
+ export_symbols_cmds_CXX=$ltdll_cmds
;;
cygwin* | mingw* | cegcc*)
case $cc_basename in
@@ -21867,7 +22370,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
$as_echo "$ld_shlibs_CXX" >&6; }
-test "$ld_shlibs_CXX" = no && can_build_shared=no
+test no = "$ld_shlibs_CXX" && can_build_shared=no
with_gnu_ld_CXX=$with_gnu_ld
@@ -21884,7 +22387,7 @@
# Assume -lc should be added
archive_cmds_need_lc_CXX=yes
- if test "$enable_shared" = yes && test "$GCC" = yes; then
+ if test yes,yes = "$GCC,$enable_shared"; then
case $archive_cmds_CXX in
*'~'*)
# FIXME: we may have to deal with multi-command sequences.
@@ -22012,7 +22515,7 @@
library_names_spec=
libname_spec='lib$name'
soname_spec=
-shrext_cmds=".so"
+shrext_cmds=.so
postinstall_cmds=
postuninstall_cmds=
finish_cmds=
@@ -22029,14 +22532,16 @@
# flags to be left without arguments
need_version=unknown
+
+
case $host_os in
aix3*)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
shlibpath_var=LIBPATH
# AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
+ soname_spec='$libname$release$shared_ext$major'
;;
aix[4-9]*)
@@ -22044,41 +22549,91 @@
need_lib_prefix=no
need_version=no
hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
else
# With GCC up to 2.95.x, collect2 would create an import file
# for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
+ # the line '#! .'. This would cause the generated library to
+ # depend on '.', always an invalid library. This was fixed in
# development snapshots of GCC prior to 3.0.
case $host_os in
aix4 | aix4.[01] | aix4.[01].*)
if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
echo ' yes '
- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
:
else
can_build_shared=no
fi
;;
esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # Using Import Files as archive members, it is possible to support
+ # filename-based versioning of shared library archives on AIX. While
+ # this would work for both with and without runtime linking, it will
+ # prevent static linking of such archives. So we do filename-based
+ # shared library versioning with .so extension only, which is used
+ # when both runtime linking and shared linking is enabled.
+ # Unfortunately, runtime linking may impact performance, so we do
+ # not want this to be the default eventually. Also, we use the
+ # versioned .so libs for executables only if there is the -brtl
+ # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+ # To allow for filename-based versioning support, we need to create
+ # libNAME.so.V as an archive file, containing:
+ # *) an Import File, referring to the versioned filename of the
+ # archive as well as the shared archive member, telling the
+ # bitwidth (32 or 64) of that shared object, and providing the
+ # list of exported symbols of that shared object, eventually
+ # decorated with the 'weak' keyword
+ # *) the shared object with the F_LOADONLY flag set, to really avoid
+ # it being seen by the linker.
+ # At run time we better use the real file rather than another symlink,
+ # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+ case $with_aix_soname,$aix_use_runtimelinking in
+ # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
# soname into executable. Probably we can add versioning support to
# collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
+ aix,yes) # traditional libtool
+ dynamic_linker='AIX unversionable lib.so'
# If using run time linking (on AIX 4.2 or later) use lib<name>.so
# instead of lib<name>.a to let people know that these are not
# typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ ;;
+ aix,no) # traditional AIX only
+ dynamic_linker='AIX lib.a(lib.so.V)'
# We preserve .a as extension for shared libraries through AIX4.2
# and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
+ library_names_spec='$libname$release.a $libname.a'
+ soname_spec='$libname$release$shared_ext$major'
+ ;;
+ svr4,*) # full svr4 only
+ dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
+ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+ # We do not specify a path in Import Files, so LIBPATH fires.
+ shlibpath_overrides_runpath=yes
+ ;;
+ *,yes) # both, prefer svr4
+ dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
+ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+ # unpreferred sharedlib libNAME.a needs extra handling
+ postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+ postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+ # We do not specify a path in Import Files, so LIBPATH fires.
+ shlibpath_overrides_runpath=yes
+ ;;
+ *,no) # both, prefer aix
+ dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
+ library_names_spec='$libname$release.a $libname.a'
+ soname_spec='$libname$release$shared_ext$major'
+ # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+ postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+ postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+ ;;
+ esac
shlibpath_var=LIBPATH
fi
;;
@@ -22088,18 +22643,18 @@
powerpc)
# Since July 2007 AmigaOS4 officially supports .so libraries.
# When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
;;
m68k)
library_names_spec='$libname.ixlibrary $libname.a'
# Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
;;
esac
;;
beos*)
- library_names_spec='${libname}${shared_ext}'
+ library_names_spec='$libname$shared_ext'
dynamic_linker="$host_os ld.so"
shlibpath_var=LIBRARY_PATH
;;
@@ -22107,8 +22662,8 @@
bsdi[45]*)
version_type=linux # correct to gnu/linux during the next big refactor
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
@@ -22120,7 +22675,7 @@
cygwin* | mingw* | pw32* | cegcc*)
version_type=windows
- shrext_cmds=".dll"
+ shrext_cmds=.dll
need_version=no
need_lib_prefix=no
@@ -22129,8 +22684,8 @@
# gcc
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname~
@@ -22146,16 +22701,16 @@
case $host_os in
cygwin*)
# Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
;;
mingw* | cegcc*)
# MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
;;
pw32*)
# pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+ library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
;;
esac
dynamic_linker='Win32 ld.exe'
@@ -22164,8 +22719,8 @@
*,cl*)
# Native MSVC
libname_spec='$name'
- soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
- library_names_spec='${libname}.dll.lib'
+ soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
+ library_names_spec='$libname.dll.lib'
case $build_os in
mingw*)
@@ -22192,7 +22747,7 @@
sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
;;
*)
- sys_lib_search_path_spec="$LIB"
+ sys_lib_search_path_spec=$LIB
if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
# It is most probably a Windows format PATH.
sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
@@ -22205,8 +22760,8 @@
esac
# DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname'
@@ -22219,7 +22774,7 @@
*)
# Assume MSVC wrapper
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
dynamic_linker='Win32 ld.exe'
;;
esac
@@ -22232,8 +22787,8 @@
version_type=darwin
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
+ library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
+ soname_spec='$libname$release$major$shared_ext'
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
@@ -22245,8 +22800,8 @@
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
;;
@@ -22264,12 +22819,13 @@
version_type=freebsd-$objformat
case $version_type in
freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
need_version=no
need_lib_prefix=no
;;
freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
need_version=yes
;;
esac
@@ -22299,10 +22855,10 @@
need_lib_prefix=no
need_version=no
dynamic_linker="$host_os runtime_loader"
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LIBRARY_PATH
- shlibpath_overrides_runpath=yes
+ shlibpath_overrides_runpath=no
sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
hardcode_into_libs=yes
;;
@@ -22320,14 +22876,15 @@
dynamic_linker="$host_os dld.so"
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ if test 32 = "$HPUX_IA64_MODE"; then
sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux32
else
sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux64
fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
hppa*64*)
shrext_cmds='.sl'
@@ -22335,8 +22892,8 @@
dynamic_linker="$host_os dld.sl"
shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
@@ -22345,8 +22902,8 @@
dynamic_linker="$host_os dld.sl"
shlibpath_var=SHLIB_PATH
shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
;;
esac
# HP-UX runs *really* slowly unless shared libraries are mode 555, ...
@@ -22359,8 +22916,8 @@
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
@@ -22371,7 +22928,7 @@
case $host_os in
nonstopux*) version_type=nonstopux ;;
*)
- if test "$lt_cv_prog_gnu_ld" = yes; then
+ if test yes = "$lt_cv_prog_gnu_ld"; then
version_type=linux # correct to gnu/linux during the next big refactor
else
version_type=irix
@@ -22379,8 +22936,8 @@
esac
need_lib_prefix=no
need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='$libname$release$shared_ext$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
case $host_os in
irix5* | nonstopux*)
libsuff= shlibsuff=
@@ -22399,8 +22956,8 @@
esac
shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
+ sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
hardcode_into_libs=yes
;;
@@ -22409,13 +22966,33 @@
dynamic_linker=no
;;
+linux*android*)
+ version_type=none # Android doesn't support versioned libraries.
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext'
+ soname_spec='$libname$release$shared_ext'
+ finish_cmds=
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ dynamic_linker='Android linker'
+ # Don't embed -rpath directories since the linker doesn't support them.
+ hardcode_libdir_flag_spec_CXX='-L$libdir'
+ ;;
+
# This must be glibc/ELF.
linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
@@ -22459,7 +23036,12 @@
# before this can be enabled.
hardcode_into_libs=yes
- # Append ld.so.conf contents to the search path
+ # Ideally, we could use ldconfig to report *all* directores which are
+ # searched for libraries, however this is still not possible. Aside from not
+ # being certain /sbin/ldconfig is available, command
+ # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+ # even though it is searched at run-time. Try to do the best guess by
+ # appending ld.so.conf contents (and includes) to the search path.
if test -f /etc/ld.so.conf; then
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
@@ -22491,12 +23073,12 @@
need_lib_prefix=no
need_version=no
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
dynamic_linker='NetBSD (a.out) ld.so'
else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
dynamic_linker='NetBSD ld.elf_so'
fi
shlibpath_var=LD_LIBRARY_PATH
@@ -22506,7 +23088,7 @@
newsos6)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
;;
@@ -22515,58 +23097,68 @@
version_type=qnx
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
dynamic_linker='ldqnx.so'
;;
-openbsd*)
+openbsd* | bitrig*)
version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
+ sys_lib_dlsearch_path_spec=/usr/lib
need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+ need_version=no
+ else
+ need_version=yes
+ fi
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[89] | openbsd2.[89].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
+ shlibpath_overrides_runpath=yes
;;
os2*)
libname_spec='$name'
- shrext_cmds=".dll"
+ version_type=windows
+ shrext_cmds=.dll
+ need_version=no
need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
+ # OS/2 can only load a DLL with a base name of 8 characters or less.
+ soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+ v=$($ECHO $release$versuffix | tr -d .-);
+ n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+ $ECHO $n$v`$shared_ext'
+ library_names_spec='${libname}_dll.$libext'
dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
+ shlibpath_var=BEGINLIBPATH
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
;;
osf3* | osf4* | osf5*)
version_type=osf
need_lib_prefix=no
need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='$libname$release$shared_ext$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
rdos*)
@@ -22577,8 +23169,8 @@
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
@@ -22588,11 +23180,11 @@
sunos4*)
version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
+ if test yes = "$with_gnu_ld"; then
need_lib_prefix=no
fi
need_version=yes
@@ -22600,8 +23192,8 @@
sysv4 | sysv4.3*)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
case $host_vendor in
sni)
@@ -22622,24 +23214,24 @@
;;
sysv4*MP*)
- if test -d /usr/nec ;then
+ if test -d /usr/nec; then
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
+ library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
+ soname_spec='$libname$shared_ext.$major'
shlibpath_var=LD_LIBRARY_PATH
fi
;;
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
+ version_type=sco
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
+ if test yes = "$with_gnu_ld"; then
sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
else
sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
@@ -22657,7 +23249,7 @@
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
@@ -22665,8 +23257,8 @@
uts4*)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
;;
@@ -22676,20 +23268,32 @@
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
+test no = "$dynamic_linker" && can_build_shared=no
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
+ sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
+if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
+ sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
fi
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
+
+
+
@@ -22732,15 +23336,15 @@
hardcode_action_CXX=
if test -n "$hardcode_libdir_flag_spec_CXX" ||
test -n "$runpath_var_CXX" ||
- test "X$hardcode_automatic_CXX" = "Xyes" ; then
+ test yes = "$hardcode_automatic_CXX"; then
# We can hardcode non-existent directories.
- if test "$hardcode_direct_CXX" != no &&
+ if test no != "$hardcode_direct_CXX" &&
# If the only mechanism to avoid hardcoding is shlibpath_var, we
# have to relink, otherwise we might link with an installed library
# when we should be linking with a yet-to-be-installed one
- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
- test "$hardcode_minus_L_CXX" != no; then
+ ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" &&
+ test no != "$hardcode_minus_L_CXX"; then
# Linking always hardcodes the temporary library directory.
hardcode_action_CXX=relink
else
@@ -22755,12 +23359,12 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5
$as_echo "$hardcode_action_CXX" >&6; }
-if test "$hardcode_action_CXX" = relink ||
- test "$inherit_rpath_CXX" = yes; then
+if test relink = "$hardcode_action_CXX" ||
+ test yes = "$inherit_rpath_CXX"; then
# Fast installation is not supported
enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
+elif test yes = "$shlibpath_overrides_runpath" ||
+ test no = "$enable_shared"; then
# Fast installation is not necessary
enable_fast_install=needless
fi
@@ -22783,7 +23387,7 @@
lt_cv_path_LD=$lt_save_path_LD
lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-fi # test "$_lt_caught_CXX_error" != yes
+fi # test yes != "$_lt_caught_CXX_error"
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -24060,7 +24664,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mw__mwvalidcheckl" >&5
$as_echo "$ac_cv_lib_mw__mwvalidcheckl" >&6; }
if test "x$ac_cv_lib_mw__mwvalidcheckl" = xyes; then :
- LIBM="-lmw"
+ LIBM=-lmw
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cos in -lm" >&5
@@ -24142,7 +24746,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_cos" >&5
$as_echo "$ac_cv_lib_m_cos" >&6; }
if test "x$ac_cv_lib_m_cos" = xyes; then :
- LIBM="-lm"
+ LIBM=-lm
fi
;;
@@ -29599,7 +30203,6 @@
videomeasure \
linsys \
apexsink dc1394 \
- gsettings \
musepack nas sdl timidity \
wininet \
xvid lv2 sndio libvisual"
@@ -31498,6 +32101,49 @@
+ GST_PLUGINS_ALL="$GST_PLUGINS_ALL netsim"
+
+
+
+ # Check whether --enable-netsim was given.
+if test "${enable_netsim+set}" = set; then :
+ enableval=$enable_netsim;
+ case "${enableval}" in
+ yes) gst_use_netsim=yes ;;
+ no) gst_use_netsim=no ;;
+ *) as_fn_error $? "bad value ${enableval} for --enable-netsim" "$LINENO" 5 ;;
+ esac
+
+else
+ gst_use_netsim=yes
+fi
+
+ if test x$gst_use_netsim = xno; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: disabling dependency-less plugin netsim" >&5
+$as_echo "$as_me: disabling dependency-less plugin netsim" >&6;}
+ WITHOUT_PLUGINS="$WITHOUT_PLUGINS netsim"
+ fi
+
+
+ if [ -z "$WITH_PLUGINS" ] || echo " $WITH_PLUGINS " | tr , ' ' | grep -i " netsim " > /dev/null; then
+ GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED netsim"
+ fi
+ if echo " $WITHOUT_PLUGINS " | tr , ' ' | grep -i " netsim " > /dev/null; then
+ GST_PLUGINS_SELECTED=`echo " $GST_PLUGINS_SELECTED " | $SED -e 's/ netsim / /'`
+ fi
+ if echo " $GST_PLUGINS_NONPORTED " | tr , ' ' | grep -i " netsim " > /dev/null; then
+ GST_PLUGINS_SELECTED=`echo " $GST_PLUGINS_SELECTED " | $SED -e 's/ netsim / /'`
+ fi
+ if echo " $GST_PLUGINS_SELECTED " | grep -i " netsim " > /dev/null; then
+ USE_PLUGIN_NETSIM_TRUE=
+ USE_PLUGIN_NETSIM_FALSE='#'
+else
+ USE_PLUGIN_NETSIM_TRUE='#'
+ USE_PLUGIN_NETSIM_FALSE=
+fi
+
+
+
GST_PLUGINS_ALL="$GST_PLUGINS_ALL nuvdemux"
@@ -31799,49 +32445,6 @@
- GST_PLUGINS_ALL="$GST_PLUGINS_ALL rtp"
-
-
-
- # Check whether --enable-rtp was given.
-if test "${enable_rtp+set}" = set; then :
- enableval=$enable_rtp;
- case "${enableval}" in
- yes) gst_use_rtp=yes ;;
- no) gst_use_rtp=no ;;
- *) as_fn_error $? "bad value ${enableval} for --enable-rtp" "$LINENO" 5 ;;
- esac
-
-else
- gst_use_rtp=yes
-fi
-
- if test x$gst_use_rtp = xno; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: disabling dependency-less plugin rtp" >&5
-$as_echo "$as_me: disabling dependency-less plugin rtp" >&6;}
- WITHOUT_PLUGINS="$WITHOUT_PLUGINS rtp"
- fi
-
-
- if [ -z "$WITH_PLUGINS" ] || echo " $WITH_PLUGINS " | tr , ' ' | grep -i " rtp " > /dev/null; then
- GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED rtp"
- fi
- if echo " $WITHOUT_PLUGINS " | tr , ' ' | grep -i " rtp " > /dev/null; then
- GST_PLUGINS_SELECTED=`echo " $GST_PLUGINS_SELECTED " | $SED -e 's/ rtp / /'`
- fi
- if echo " $GST_PLUGINS_NONPORTED " | tr , ' ' | grep -i " rtp " > /dev/null; then
- GST_PLUGINS_SELECTED=`echo " $GST_PLUGINS_SELECTED " | $SED -e 's/ rtp / /'`
- fi
- if echo " $GST_PLUGINS_SELECTED " | grep -i " rtp " > /dev/null; then
- USE_PLUGIN_RTP_TRUE=
- USE_PLUGIN_RTP_FALSE='#'
-else
- USE_PLUGIN_RTP_TRUE='#'
- USE_PLUGIN_RTP_FALSE=
-fi
-
-
-
GST_PLUGINS_ALL="$GST_PLUGINS_ALL sdi"
@@ -34651,6 +35254,7 @@
GST_GL_HAVE_GLINTPTR=0
GST_GL_HAVE_GLSYNC=0
GST_GL_HAVE_GLUINT64=0
+GST_GL_HAVE_GLINT64=0
old_CFLAGS=$CFLAGS
CFLAGS="$GL_CFLAGS $CFLAGS"
@@ -34745,6 +35349,21 @@
GST_GL_HAVE_GLUINT64=1
fi
+ac_fn_c_check_type "$LINENO" "GLint64" "ac_cv_type_GLint64" "$GL_INCLUDES
+"
+if test "x$ac_cv_type_GLint64" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_GLINT64 1
+_ACEOF
+
+
+fi
+
+if test "x$ac_cv_type_GLint64" = "xyes"; then
+ GST_GL_HAVE_GLINT64=1
+fi
+
CFLAGS=$old_CFLAGS
GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
@@ -34754,6 +35373,7 @@
#define GST_GL_HAVE_GLINTPTR $GST_GL_HAVE_GLINTPTR
#define GST_GL_HAVE_GLSYNC $GST_GL_HAVE_GLSYNC
#define GST_GL_HAVE_GLUINT64 $GST_GL_HAVE_GLUINT64
+#define GST_GL_HAVE_GLINT64 $GST_GL_HAVE_GLINT64
"
ac_config_commands="$ac_config_commands gst-libs/gst/gl/gstglconfig.h"
@@ -34968,6 +35588,95 @@
fi
+VULKAN_CONFIG_DEFINES=""
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB" >&5
+$as_echo_n "checking for XCB... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+ if test -n "$XCB_CFLAGS"; then
+ pkg_cv_XCB_CFLAGS="$XCB_CFLAGS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb >= 1.10\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "xcb >= 1.10") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_XCB_CFLAGS=`$PKG_CONFIG --cflags "xcb >= 1.10" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ fi
+else
+ pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+ if test -n "$XCB_LIBS"; then
+ pkg_cv_XCB_LIBS="$XCB_LIBS"
+ else
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb >= 1.10\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "xcb >= 1.10") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_XCB_LIBS=`$PKG_CONFIG --libs "xcb >= 1.10" 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
+ XCB_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xcb >= 1.10"`
+ else
+ XCB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcb >= 1.10"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$XCB_PKG_ERRORS" >&5
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ HAVE_XCB=no
+elif test $pkg_failed = untried; then
+ HAVE_XCB=no
+else
+ XCB_CFLAGS=$pkg_cv_XCB_CFLAGS
+ XCB_LIBS=$pkg_cv_XCB_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ HAVE_XCB=yes
+fi
+
+ if test "x$HAVE_XCB" = "xyes"; then
+ USE_XCB_TRUE=
+ USE_XCB_FALSE='#'
+else
+ USE_XCB_TRUE='#'
+ USE_XCB_FALSE=
+fi
+
+if test "x$HAVE_XCB" = "xyes"; then
+ VULKAN_CONFIG_DEFINES="$VULKAN_CONFIG_DEFINES
+ #define GST_VULKAN_HAVE_WINDOW_XCB 1"
+fi
+
+ac_config_commands="$ac_config_commands ext/vulkan/vkconfig.h"
+
echo
@@ -37944,6 +38653,102 @@
fi
+echo
+{ $as_echo "$as_me:${as_lineno-$LINENO}: *** checking feature: tinyalsa ***" >&5
+$as_echo "$as_me: *** checking feature: tinyalsa ***" >&6;}
+if test "xtinyalsa" != "x"
+then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: *** for plug-ins: tinyalsa ***" >&5
+$as_echo "$as_me: *** for plug-ins: tinyalsa ***" >&6;}
+fi
+NOUSE=
+if test "x$USE_TINYALSA" = "xno"; then
+ NOUSE="yes"
+fi
+# Check whether --enable-tinyalsa was given.
+if test "${enable_tinyalsa+set}" = set; then :
+ enableval=$enable_tinyalsa; case "${enableval}" in
+ yes) USE_TINYALSA=yes;;
+ no) USE_TINYALSA=no;;
+ *) as_fn_error $? "bad value ${enableval} for --enable-tinyalsa" "$LINENO" 5 ;;
+ esac
+else
+ USE_TINYALSA=yes
+fi
+
+if test "x$NOUSE" = "xyes"; then
+ USE_TINYALSA="no"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** tinyalsa pre-configured not to be built" >&5
+$as_echo "$as_me: WARNING: *** tinyalsa pre-configured not to be built" >&2;}
+fi
+NOUSE=
+
+if echo " $GST_PLUGINS_NONPORTED " | tr , ' ' | grep -i " TINYALSA " > /dev/null; then
+ USE_TINYALSA="no"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** tinyalsa not ported" >&5
+$as_echo "$as_me: WARNING: *** tinyalsa not ported" >&2;}
+fi
+
+
+if test x$USE_TINYALSA = xyes; then
+
+ gst_check_save_LIBS=$LIBS
+ gst_check_save_LDFLAGS=$LDFLAGS
+ gst_check_save_CFLAGS=$CFLAGS
+ gst_check_save_CPPFLAGS=$CPPFLAGS
+ gst_check_save_CXXFLAGS=$CXXFLAGS
+
+ HAVE_TINYALSA=no
+
+ ac_fn_c_check_header_mongrel "$LINENO" "tinyalsa/asoundlib.h" "ac_cv_header_tinyalsa_asoundlib_h" "$ac_includes_default"
+if test "x$ac_cv_header_tinyalsa_asoundlib_h" = xyes; then :
+ HAVE_TINYALSA="yes"
+else
+ HAVE_TINYALSA="no"
+fi
+
+
+
+
+ LIBS=$gst_check_save_LIBS
+ LDFLAGS=$gst_check_save_LDFLAGS
+ CFLAGS=$gst_check_save_CFLAGS
+ CPPFLAGS=$gst_check_save_CPPFLAGS
+ CXXFLAGS=$gst_check_save_CXXFLAGS
+
+ if test x$HAVE_TINYALSA = xno; then
+ USE_TINYALSA=no
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: *** These plugins will be built: tinyalsa" >&5
+$as_echo "$as_me: *** These plugins will be built: tinyalsa" >&6;}
+ fi
+fi
+if test x$USE_TINYALSA = xyes; then
+ :
+ if test "xtinyalsa" != "x"; then
+ GST_PLUGINS_YES="\ttinyalsa\n$GST_PLUGINS_YES"
+ fi
+
+$as_echo "#define HAVE_TINYALSA /**/" >>confdefs.h
+
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: *** These plugins will not be built: tinyalsa" >&5
+$as_echo "$as_me: *** These plugins will not be built: tinyalsa" >&6;}
+ if test "xtinyalsa" != "x"; then
+ GST_PLUGINS_NO="\ttinyalsa\n$GST_PLUGINS_NO"
+ fi
+ :
+fi
+ if test x$USE_TINYALSA = xyes; then
+ USE_TINYALSA_TRUE=
+ USE_TINYALSA_FALSE='#'
+else
+ USE_TINYALSA_TRUE='#'
+ USE_TINYALSA_FALSE=
+fi
+
+
+
if test "x$BUILD_EXTERNAL" = "xyes"; then
@@ -40251,6 +41056,46 @@
+# Extract the first word of "wayland-scanner", so it can be a program name with args.
+set dummy wayland-scanner; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_wayland_scanner+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $wayland_scanner in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_wayland_scanner="$wayland_scanner" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_wayland_scanner="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+wayland_scanner=$ac_cv_path_wayland_scanner
+if test -n "$wayland_scanner"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $wayland_scanner" >&5
+$as_echo "$wayland_scanner" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
echo
{ $as_echo "$as_me:${as_lineno-$LINENO}: *** checking feature: wayland sink ***" >&5
$as_echo "$as_me: *** checking feature: wayland sink ***" >&6;}
@@ -40308,12 +41153,12 @@
pkg_cv_WAYLAND_CFLAGS="$WAYLAND_CFLAGS"
else
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"wayland-client >= 1.4.0 wayland-scanner\""; } >&5
- ($PKG_CONFIG --exists --print-errors "wayland-client >= 1.4.0 wayland-scanner") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"wayland-client >= 1.4.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "wayland-client >= 1.4.0") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_WAYLAND_CFLAGS=`$PKG_CONFIG --cflags "wayland-client >= 1.4.0 wayland-scanner" 2>/dev/null`
+ pkg_cv_WAYLAND_CFLAGS=`$PKG_CONFIG --cflags "wayland-client >= 1.4.0" 2>/dev/null`
else
pkg_failed=yes
fi
@@ -40326,12 +41171,12 @@
pkg_cv_WAYLAND_LIBS="$WAYLAND_LIBS"
else
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"wayland-client >= 1.4.0 wayland-scanner\""; } >&5
- ($PKG_CONFIG --exists --print-errors "wayland-client >= 1.4.0 wayland-scanner") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"wayland-client >= 1.4.0\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "wayland-client >= 1.4.0") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_WAYLAND_LIBS=`$PKG_CONFIG --libs "wayland-client >= 1.4.0 wayland-scanner" 2>/dev/null`
+ pkg_cv_WAYLAND_LIBS=`$PKG_CONFIG --libs "wayland-client >= 1.4.0" 2>/dev/null`
else
pkg_failed=yes
fi
@@ -40350,9 +41195,9 @@
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- WAYLAND_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "wayland-client >= 1.4.0 wayland-scanner"`
+ WAYLAND_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "wayland-client >= 1.4.0"`
else
- WAYLAND_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "wayland-client >= 1.4.0 wayland-scanner"`
+ WAYLAND_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "wayland-client >= 1.4.0"`
fi
# Put the nasty error message in config.log where it belongs
echo "$WAYLAND_PKG_ERRORS" >&5
@@ -40370,7 +41215,14 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
- HAVE_WAYLAND="yes"
+ 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
+
fi
@@ -40413,47 +41265,6 @@
-# Extract the first word of "wayland-scanner", so it can be a program name with args.
-set dummy wayland-scanner; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_wayland_scanner+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $wayland_scanner in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_wayland_scanner="$wayland_scanner" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_wayland_scanner="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-wayland_scanner=$ac_cv_path_wayland_scanner
-if test -n "$wayland_scanner"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $wayland_scanner" >&5
-$as_echo "$wayland_scanner" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
echo
{ $as_echo "$as_me:${as_lineno-$LINENO}: *** checking feature: WebP ***" >&5
$as_echo "$as_me: *** checking feature: WebP ***" >&6;}
@@ -41325,8 +42136,8 @@
echo
-{ $as_echo "$as_me:${as_lineno-$LINENO}: *** checking feature: AAC decoder plug-in ***" >&5
-$as_echo "$as_me: *** checking feature: AAC decoder plug-in ***" >&6;}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: *** checking feature: FAAD2 AAC decoder plug-in ***" >&5
+$as_echo "$as_me: *** checking feature: FAAD2 AAC decoder plug-in ***" >&6;}
if test "xfaad" != "x"
then
{ $as_echo "$as_me:${as_lineno-$LINENO}: *** for plug-ins: faad ***" >&5
@@ -41371,72 +42182,6 @@
HAVE_FAAD=no
- HAVE_FAAD="yes"
- faad_hdr=""
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for faacDecOpen in -lfaad" >&5
-$as_echo_n "checking for faacDecOpen in -lfaad... " >&6; }
-if ${ac_cv_lib_faad_faacDecOpen+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lfaad $LIBM $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char faacDecOpen ();
-int
-main ()
-{
-return faacDecOpen ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_faad_faacDecOpen=yes
-else
- ac_cv_lib_faad_faacDecOpen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_faad_faacDecOpen" >&5
-$as_echo "$ac_cv_lib_faad_faacDecOpen" >&6; }
-if test "x$ac_cv_lib_faad_faacDecOpen" = xyes; then :
- HAVE_FAAD=yes
-else
- HAVE_FAAD=no
-fi
-
- if test "x$HAVE_FAAD" = "xyes"; then
- ac_fn_c_check_header_mongrel "$LINENO" "faad.h" "ac_cv_header_faad_h" "$ac_includes_default"
-if test "x$ac_cv_header_faad_h" = xyes; then :
- :
-else
- HAVE_FAAD=no
-fi
-
-
- if test "x$HAVE_FAAD" = "xyes"; then
- FAAD_LIBS="-lfaad $LIBM"
- else
- HAVE_FAAD="no"
- fi
- else
- HAVE_FAAD="no"
- fi
-
-
-
- if test $HAVE_FAAD = "no"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for NeAACDecOpen in -lfaad" >&5
$as_echo_n "checking for NeAACDecOpen in -lfaad... " >&6; }
@@ -41490,31 +42235,7 @@
if test "x$HAVE_FAAD" = "xyes"; then
- FAAD_LIBS="-lfaad $LIBM"
-$as_echo "#define FAAD_IS_NEAAC 1" >>confdefs.h
-
- faad_hdr="neaacdec.h"
-
- else
-
- HAVE_FAAD="no"
-
- fi
- else
-
- HAVE_FAAD="no"
-
- fi
-
-
-
- else
- faad_hdr="faad.h"
- fi
- if test $HAVE_FAAD = "yes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking Checking for FAAD >= 2.0" >&5
-$as_echo_n "checking Checking for FAAD >= 2.0... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <faad.h>
@@ -41522,13 +42243,11 @@
main ()
{
- #if !defined(FAAD2_VERSION) || !defined(FAAD_FMT_DOUBLE)
- #error Not faad2
- #else
- /* Release candidate of 2.0 is not good enough for us. This field
- * was added only in 2.0 final and does not exist in 2.0-RC3 */
- faacDecConfiguration conf; conf.dontUpSampleImplicitSBR = 1;
- #endif
+ #if !defined(FAAD2_VERSION) || !defined(FAAD_FMT_DOUBLE)
+ #error Not faad2
+ #elif !defined(LATM)
+ #error Not faad2 >= 2.7
+ #endif
;
return 0;
@@ -41537,52 +42256,33 @@
if ac_fn_c_try_compile "$LINENO"; then :
HAVE_FAAD="yes"
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking Checking FAAD2 version in $faad_hdr" >&5
-$as_echo_n "checking Checking FAAD2 version in $faad_hdr... " >&6; }
- for minor in 10 9 8 7 6 5 0; do
- if test x$faad2_minor_version = "x"; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
- #include <$faad_hdr>
- FAAD2_VERSION
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "\"2\.$minor\"$" >/dev/null 2>&1; then :
-
- faad2_minor_version=$minor
-
-fi
-rm -f conftest*
-
- fi
- done
- if test x$faad2_minor_version = "x"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no idea" >&5
-$as_echo "no idea" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.$faad2_minor_version" >&5
-$as_echo "2.$faad2_minor_version" >&6; }
-
-cat >>confdefs.h <<_ACEOF
-#define FAAD2_MINOR_VERSION $faad2_minor_version
-_ACEOF
-
- fi
+ FAAD_LIBS="-lfaad"
else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Found libfaad, but version not recent enough. Need faad2 >= 2.7" >&5
+$as_echo "$as_me: WARNING: Found libfaad, but version not recent enough. Need faad2 >= 2.7" >&2;}
HAVE_FAAD="no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+ else
+
+ HAVE_FAAD="no"
+
+ fi
+ else
+
+ HAVE_FAAD="no"
+
fi
+
+
LIBS=$gst_check_save_LIBS
LDFLAGS=$gst_check_save_LDFLAGS
CFLAGS=$gst_check_save_CFLAGS
@@ -44463,167 +45163,6 @@
echo
-{ $as_echo "$as_me:${as_lineno-$LINENO}: *** checking feature: mpg123 audio decoder ***" >&5
-$as_echo "$as_me: *** checking feature: mpg123 audio decoder ***" >&6;}
-if test "xmpg123" != "x"
-then
- { $as_echo "$as_me:${as_lineno-$LINENO}: *** for plug-ins: mpg123 ***" >&5
-$as_echo "$as_me: *** for plug-ins: mpg123 ***" >&6;}
-fi
-NOUSE=
-if test "x$USE_MPG123" = "xno"; then
- NOUSE="yes"
-fi
-# Check whether --enable-mpg123 was given.
-if test "${enable_mpg123+set}" = set; then :
- enableval=$enable_mpg123; case "${enableval}" in
- yes) USE_MPG123=yes;;
- no) USE_MPG123=no;;
- *) as_fn_error $? "bad value ${enableval} for --enable-mpg123" "$LINENO" 5 ;;
- esac
-else
- USE_MPG123=yes
-fi
-
-if test "x$NOUSE" = "xyes"; then
- USE_MPG123="no"
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** mpg123 pre-configured not to be built" >&5
-$as_echo "$as_me: WARNING: *** mpg123 pre-configured not to be built" >&2;}
-fi
-NOUSE=
-
-if echo " $GST_PLUGINS_NONPORTED " | tr , ' ' | grep -i " MPG123 " > /dev/null; then
- USE_MPG123="no"
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** mpg123 not ported" >&5
-$as_echo "$as_me: WARNING: *** mpg123 not ported" >&2;}
-fi
-
-
-if test x$USE_MPG123 = xyes; then
-
- gst_check_save_LIBS=$LIBS
- gst_check_save_LDFLAGS=$LDFLAGS
- gst_check_save_CFLAGS=$CFLAGS
- gst_check_save_CPPFLAGS=$CPPFLAGS
- gst_check_save_CXXFLAGS=$CXXFLAGS
-
- HAVE_MPG123=no
-
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for MPG123" >&5
-$as_echo_n "checking for MPG123... " >&6; }
-
-if test -n "$PKG_CONFIG"; then
- if test -n "$MPG123_CFLAGS"; then
- pkg_cv_MPG123_CFLAGS="$MPG123_CFLAGS"
- else
- if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libmpg123 >= 1.13\""; } >&5
- ($PKG_CONFIG --exists --print-errors "libmpg123 >= 1.13") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- pkg_cv_MPG123_CFLAGS=`$PKG_CONFIG --cflags "libmpg123 >= 1.13" 2>/dev/null`
-else
- pkg_failed=yes
-fi
- fi
-else
- pkg_failed=untried
-fi
-if test -n "$PKG_CONFIG"; then
- if test -n "$MPG123_LIBS"; then
- pkg_cv_MPG123_LIBS="$MPG123_LIBS"
- else
- if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libmpg123 >= 1.13\""; } >&5
- ($PKG_CONFIG --exists --print-errors "libmpg123 >= 1.13") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- pkg_cv_MPG123_LIBS=`$PKG_CONFIG --libs "libmpg123 >= 1.13" 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
- MPG123_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libmpg123 >= 1.13"`
- else
- MPG123_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libmpg123 >= 1.13"`
- fi
- # Put the nasty error message in config.log where it belongs
- echo "$MPG123_PKG_ERRORS" >&5
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- HAVE_MPG123="no"
-elif test $pkg_failed = untried; then
- HAVE_MPG123="no"
-else
- MPG123_CFLAGS=$pkg_cv_MPG123_CFLAGS
- MPG123_LIBS=$pkg_cv_MPG123_LIBS
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- HAVE_MPG123="yes"
-fi
-
-
-
-
- LIBS=$gst_check_save_LIBS
- LDFLAGS=$gst_check_save_LDFLAGS
- CFLAGS=$gst_check_save_CFLAGS
- CPPFLAGS=$gst_check_save_CPPFLAGS
- CXXFLAGS=$gst_check_save_CXXFLAGS
-
- if test x$HAVE_MPG123 = xno; then
- USE_MPG123=no
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: *** These plugins will be built: mpg123" >&5
-$as_echo "$as_me: *** These plugins will be built: mpg123" >&6;}
- fi
-fi
-if test x$USE_MPG123 = xyes; then
- :
- if test "xmpg123" != "x"; then
- GST_PLUGINS_YES="\tmpg123\n$GST_PLUGINS_YES"
- fi
-
-$as_echo "#define HAVE_MPG123 /**/" >>confdefs.h
-
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: *** These plugins will not be built: mpg123" >&5
-$as_echo "$as_me: *** These plugins will not be built: mpg123" >&6;}
- if test "xmpg123" != "x"; then
- GST_PLUGINS_NO="\tmpg123\n$GST_PLUGINS_NO"
- fi
- :
-fi
- if test x$USE_MPG123 = xyes; then
- USE_MPG123_TRUE=
- USE_MPG123_FALSE='#'
-else
- USE_MPG123_TRUE='#'
- USE_MPG123_FALSE=
-fi
-
-
-
-echo
{ $as_echo "$as_me:${as_lineno-$LINENO}: *** checking feature: mplex ***" >&5
$as_echo "$as_me: *** checking feature: mplex ***" >&6;}
if test "xmplex" != "x"
@@ -47502,6 +48041,10 @@
HAVE_RSVG=no
+ which="librsvg-2.0 >= 2.36.2"
+ required="no"
+
+
pkg_failed=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for RSVG" >&5
$as_echo_n "checking for RSVG... " >&6; }
@@ -47511,12 +48054,12 @@
pkg_cv_RSVG_CFLAGS="$RSVG_CFLAGS"
else
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"librsvg-2.0 >= 2.36 cairo\""; } >&5
- ($PKG_CONFIG --exists --print-errors "librsvg-2.0 >= 2.36 cairo") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$which\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "$which") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_RSVG_CFLAGS=`$PKG_CONFIG --cflags "librsvg-2.0 >= 2.36 cairo" 2>/dev/null`
+ pkg_cv_RSVG_CFLAGS=`$PKG_CONFIG --cflags "$which" 2>/dev/null`
else
pkg_failed=yes
fi
@@ -47529,12 +48072,12 @@
pkg_cv_RSVG_LIBS="$RSVG_LIBS"
else
if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"librsvg-2.0 >= 2.36 cairo\""; } >&5
- ($PKG_CONFIG --exists --print-errors "librsvg-2.0 >= 2.36 cairo") 2>&5
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$which\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "$which") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
- pkg_cv_RSVG_LIBS=`$PKG_CONFIG --libs "librsvg-2.0 >= 2.36 cairo" 2>/dev/null`
+ pkg_cv_RSVG_LIBS=`$PKG_CONFIG --libs "$which" 2>/dev/null`
else
pkg_failed=yes
fi
@@ -47553,9 +48096,9 @@
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
- RSVG_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "librsvg-2.0 >= 2.36 cairo"`
+ RSVG_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$which"`
else
- RSVG_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "librsvg-2.0 >= 2.36 cairo"`
+ RSVG_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$which"`
fi
# Put the nasty error message in config.log where it belongs
echo "$RSVG_PKG_ERRORS" >&5
@@ -47563,11 +48106,23 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
- HAVE_RSVG="no"
+ HAVE_RSVG="no"
+ if test "x$required" = "xyes"; then
+ as_fn_error $? "$RSVG_PKG_ERRORS" "$LINENO" 5
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: $RSVG_PKG_ERRORS" >&5
+$as_echo "$as_me: $RSVG_PKG_ERRORS" >&6;}
+ fi
elif test $pkg_failed = untried; then
- HAVE_RSVG="no"
+ HAVE_RSVG="no"
+ if test "x$required" = "xyes"; then
+ as_fn_error $? "$RSVG_PKG_ERRORS" "$LINENO" 5
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: $RSVG_PKG_ERRORS" >&5
+$as_echo "$as_me: $RSVG_PKG_ERRORS" >&6;}
+ fi
else
RSVG_CFLAGS=$pkg_cv_RSVG_CFLAGS
@@ -47575,83 +48130,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
- HAVE_RSVG="yes"
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for RSVG_2_36_2" >&5
-$as_echo_n "checking for RSVG_2_36_2... " >&6; }
-
-if test -n "$PKG_CONFIG"; then
- if test -n "$RSVG_2_36_2_CFLAGS"; then
- pkg_cv_RSVG_2_36_2_CFLAGS="$RSVG_2_36_2_CFLAGS"
- else
- if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"librsvg-2.0 >= 2.36.2\""; } >&5
- ($PKG_CONFIG --exists --print-errors "librsvg-2.0 >= 2.36.2") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- pkg_cv_RSVG_2_36_2_CFLAGS=`$PKG_CONFIG --cflags "librsvg-2.0 >= 2.36.2" 2>/dev/null`
-else
- pkg_failed=yes
-fi
- fi
-else
- pkg_failed=untried
-fi
-if test -n "$PKG_CONFIG"; then
- if test -n "$RSVG_2_36_2_LIBS"; then
- pkg_cv_RSVG_2_36_2_LIBS="$RSVG_2_36_2_LIBS"
- else
- if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"librsvg-2.0 >= 2.36.2\""; } >&5
- ($PKG_CONFIG --exists --print-errors "librsvg-2.0 >= 2.36.2") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- pkg_cv_RSVG_2_36_2_LIBS=`$PKG_CONFIG --libs "librsvg-2.0 >= 2.36.2" 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
- RSVG_2_36_2_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "librsvg-2.0 >= 2.36.2"`
- else
- RSVG_2_36_2_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "librsvg-2.0 >= 2.36.2"`
- fi
- # Put the nasty error message in config.log where it belongs
- echo "$RSVG_2_36_2_PKG_ERRORS" >&5
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- HAVE_RSVG_2_36_2="no"
-elif test $pkg_failed = untried; then
- HAVE_RSVG_2_36_2="no"
-else
- RSVG_2_36_2_CFLAGS=$pkg_cv_RSVG_2_36_2_CFLAGS
- RSVG_2_36_2_LIBS=$pkg_cv_RSVG_2_36_2_LIBS
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- HAVE_RSVG_2_36_2="yes"
-fi
- if test "x$HAVE_RSVG_2_36_2" = "xyes"; then
-
-$as_echo "#define HAVE_RSVG_2_36_2 1" >>confdefs.h
-
- fi
+ HAVE_RSVG="yes"
fi
@@ -48792,7 +49271,7 @@
$as_echo "yes" >&6; }
QT_CFLAGS="$QT_CFLAGS $GNUSTL_CFLAGS"
- QT_LIBS="$QT_CFLAGS $GNUSTL_LIBS"
+ QT_LIBS="$QT_LIBS $GNUSTL_LIBS"
fi
@@ -48950,6 +49429,148 @@
echo
+{ $as_echo "$as_me:${as_lineno-$LINENO}: *** checking feature: Vulkan elements ***" >&5
+$as_echo "$as_me: *** checking feature: Vulkan elements ***" >&6;}
+if test "xvulkan" != "x"
+then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: *** for plug-ins: vulkan ***" >&5
+$as_echo "$as_me: *** for plug-ins: vulkan ***" >&6;}
+fi
+NOUSE=
+if test "x$USE_VULKAN" = "xno"; then
+ NOUSE="yes"
+fi
+# Check whether --enable-vulkan was given.
+if test "${enable_vulkan+set}" = set; then :
+ enableval=$enable_vulkan; case "${enableval}" in
+ yes) USE_VULKAN=yes;;
+ no) USE_VULKAN=no;;
+ *) as_fn_error $? "bad value ${enableval} for --enable-vulkan" "$LINENO" 5 ;;
+ esac
+else
+ USE_VULKAN=yes
+fi
+
+if test "x$NOUSE" = "xyes"; then
+ USE_VULKAN="no"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** vulkan pre-configured not to be built" >&5
+$as_echo "$as_me: WARNING: *** vulkan pre-configured not to be built" >&2;}
+fi
+NOUSE=
+
+if echo " $GST_PLUGINS_NONPORTED " | tr , ' ' | grep -i " VULKAN " > /dev/null; then
+ USE_VULKAN="no"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** vulkan not ported" >&5
+$as_echo "$as_me: WARNING: *** vulkan not ported" >&2;}
+fi
+
+
+if test x$USE_VULKAN = xyes; then
+
+ gst_check_save_LIBS=$LIBS
+ gst_check_save_LDFLAGS=$LDFLAGS
+ gst_check_save_CFLAGS=$CFLAGS
+ gst_check_save_CPPFLAGS=$CPPFLAGS
+ gst_check_save_CXXFLAGS=$CXXFLAGS
+
+ 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 :
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for vkCreateDevice in -lvulkan" >&5
+$as_echo_n "checking for vkCreateDevice in -lvulkan... " >&6; }
+if ${ac_cv_lib_vulkan_vkCreateDevice+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lvulkan $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char vkCreateDevice ();
+int
+main ()
+{
+return vkCreateDevice ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_vulkan_vkCreateDevice=yes
+else
+ ac_cv_lib_vulkan_vkCreateDevice=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_vulkan_vkCreateDevice" >&5
+$as_echo "$ac_cv_lib_vulkan_vkCreateDevice" >&6; }
+if test "x$ac_cv_lib_vulkan_vkCreateDevice" = xyes; then :
+
+ VULKAN_LIBS="-lvulkan"
+
+ if test "x$HAVE_XCB" = "xyes"; then
+ HAVE_VULKAN=yes
+ fi
+
+fi
+
+
+fi
+
+
+
+
+ LIBS=$gst_check_save_LIBS
+ LDFLAGS=$gst_check_save_LDFLAGS
+ CFLAGS=$gst_check_save_CFLAGS
+ CPPFLAGS=$gst_check_save_CPPFLAGS
+ CXXFLAGS=$gst_check_save_CXXFLAGS
+
+ if test x$HAVE_VULKAN = xno; then
+ USE_VULKAN=no
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: *** These plugins will be built: vulkan" >&5
+$as_echo "$as_me: *** These plugins will be built: vulkan" >&6;}
+ fi
+fi
+if test x$USE_VULKAN = xyes; then
+ :
+ if test "xvulkan" != "x"; then
+ GST_PLUGINS_YES="\tvulkan\n$GST_PLUGINS_YES"
+ fi
+
+$as_echo "#define HAVE_VULKAN /**/" >>confdefs.h
+
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: *** These plugins will not be built: vulkan" >&5
+$as_echo "$as_me: *** These plugins will not be built: vulkan" >&6;}
+ if test "xvulkan" != "x"; then
+ GST_PLUGINS_NO="\tvulkan\n$GST_PLUGINS_NO"
+ fi
+ :
+fi
+ if test x$USE_VULKAN = xyes; then
+ USE_VULKAN_TRUE=
+ USE_VULKAN_FALSE='#'
+else
+ USE_VULKAN_TRUE='#'
+ USE_VULKAN_FALSE=
+fi
+
+
+
+echo
{ $as_echo "$as_me:${as_lineno-$LINENO}: *** checking feature: libvisual visualization library ***" >&5
$as_echo "$as_me: *** checking feature: libvisual visualization library ***" >&6;}
if test "xlibvisual" != "x"
@@ -54870,419 +55491,6 @@
echo
-{ $as_echo "$as_me:${as_lineno-$LINENO}: *** checking feature: GSettings plugin ***" >&5
-$as_echo "$as_me: *** checking feature: GSettings plugin ***" >&6;}
-if test "xgsettings" != "x"
-then
- { $as_echo "$as_me:${as_lineno-$LINENO}: *** for plug-ins: gsettings ***" >&5
-$as_echo "$as_me: *** for plug-ins: gsettings ***" >&6;}
-fi
-NOUSE=
-if test "x$USE_GSETTINGS" = "xno"; then
- NOUSE="yes"
-fi
-# Check whether --enable-gsettings was given.
-if test "${enable_gsettings+set}" = set; then :
- enableval=$enable_gsettings; case "${enableval}" in
- yes) USE_GSETTINGS=yes;;
- no) USE_GSETTINGS=no;;
- *) as_fn_error $? "bad value ${enableval} for --enable-gsettings" "$LINENO" 5 ;;
- esac
-else
- USE_GSETTINGS=yes
-fi
-
-if test "x$NOUSE" = "xyes"; then
- USE_GSETTINGS="no"
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** gsettings pre-configured not to be built" >&5
-$as_echo "$as_me: WARNING: *** gsettings pre-configured not to be built" >&2;}
-fi
-NOUSE=
-
-if echo " $GST_PLUGINS_NONPORTED " | tr , ' ' | grep -i " GSETTINGS " > /dev/null; then
- USE_GSETTINGS="no"
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** gsettings not ported" >&5
-$as_echo "$as_me: WARNING: *** gsettings not ported" >&2;}
-fi
-
-
-if test x$USE_GSETTINGS = xyes; then
-
- gst_check_save_LIBS=$LIBS
- gst_check_save_LDFLAGS=$LDFLAGS
- gst_check_save_CFLAGS=$CFLAGS
- gst_check_save_CPPFLAGS=$CPPFLAGS
- gst_check_save_CXXFLAGS=$CXXFLAGS
-
- HAVE_GSETTINGS=no
-
-
- which="gio-2.0 >= 2.25.0"
- required="no"
-
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GSETTINGS" >&5
-$as_echo_n "checking for GSETTINGS... " >&6; }
-
-if test -n "$PKG_CONFIG"; then
- if test -n "$GSETTINGS_CFLAGS"; then
- pkg_cv_GSETTINGS_CFLAGS="$GSETTINGS_CFLAGS"
- else
- if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$which\""; } >&5
- ($PKG_CONFIG --exists --print-errors "$which") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- pkg_cv_GSETTINGS_CFLAGS=`$PKG_CONFIG --cflags "$which" 2>/dev/null`
-else
- pkg_failed=yes
-fi
- fi
-else
- pkg_failed=untried
-fi
-if test -n "$PKG_CONFIG"; then
- if test -n "$GSETTINGS_LIBS"; then
- pkg_cv_GSETTINGS_LIBS="$GSETTINGS_LIBS"
- else
- if test -n "$PKG_CONFIG" && \
- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$which\""; } >&5
- ($PKG_CONFIG --exists --print-errors "$which") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
- pkg_cv_GSETTINGS_LIBS=`$PKG_CONFIG --libs "$which" 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
- GSETTINGS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$which"`
- else
- GSETTINGS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$which"`
- fi
- # Put the nasty error message in config.log where it belongs
- echo "$GSETTINGS_PKG_ERRORS" >&5
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
- HAVE_GSETTINGS="no"
- if test "x$required" = "xyes"; then
- as_fn_error $? "$GSETTINGS_PKG_ERRORS" "$LINENO" 5
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: $GSETTINGS_PKG_ERRORS" >&5
-$as_echo "$as_me: $GSETTINGS_PKG_ERRORS" >&6;}
- fi
-
-elif test $pkg_failed = untried; then
-
- HAVE_GSETTINGS="no"
- if test "x$required" = "xyes"; then
- as_fn_error $? "$GSETTINGS_PKG_ERRORS" "$LINENO" 5
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: $GSETTINGS_PKG_ERRORS" >&5
-$as_echo "$as_me: $GSETTINGS_PKG_ERRORS" >&6;}
- fi
-
-else
- GSETTINGS_CFLAGS=$pkg_cv_GSETTINGS_CFLAGS
- GSETTINGS_LIBS=$pkg_cv_GSETTINGS_LIBS
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
- HAVE_GSETTINGS="yes"
-
-fi
-
-
- if test "x$HAVE_GSETTINGS" = "xyes"; then
-
-
- # Check whether --enable-schemas-compile was given.
-if test "${enable_schemas_compile+set}" = set; then :
- enableval=$enable_schemas_compile; case ${enableval} in
- yes) GSETTINGS_DISABLE_SCHEMAS_COMPILE="" ;;
- no) GSETTINGS_DISABLE_SCHEMAS_COMPILE="1" ;;
- *) as_fn_error $? "bad value ${enableval} for --enable-schemas-compile" "$LINENO" 5 ;;
- esac
-fi
-
-
-
-
-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
-set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PKG_CONFIG+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $PKG_CONFIG in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
-if test -n "$PKG_CONFIG"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
-$as_echo "$PKG_CONFIG" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_path_PKG_CONFIG"; then
- ac_pt_PKG_CONFIG=$PKG_CONFIG
- # Extract the first word of "pkg-config", so it can be a program name with args.
-set dummy pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $ac_pt_PKG_CONFIG in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
-if test -n "$ac_pt_PKG_CONFIG"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
-$as_echo "$ac_pt_PKG_CONFIG" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_pt_PKG_CONFIG" = x; then
- PKG_CONFIG=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- PKG_CONFIG=$ac_pt_PKG_CONFIG
- fi
-else
- PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
-fi
-
-fi
-if test -n "$PKG_CONFIG"; then
- _pkg_min_version=0.16
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
-$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
- if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- PKG_CONFIG=""
- fi
-
-fi
- gsettingsschemadir=${datadir}/glib-2.0/schemas
-
- if test x$cross_compiling != xyes; then
- GLIB_COMPILE_SCHEMAS=`$PKG_CONFIG --variable glib_compile_schemas gio-2.0`
- else
- # Extract the first word of "glib-compile-schemas", so it can be a program name with args.
-set dummy glib-compile-schemas; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_GLIB_COMPILE_SCHEMAS+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $GLIB_COMPILE_SCHEMAS in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_GLIB_COMPILE_SCHEMAS="$GLIB_COMPILE_SCHEMAS" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_GLIB_COMPILE_SCHEMAS="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-fi
-GLIB_COMPILE_SCHEMAS=$ac_cv_path_GLIB_COMPILE_SCHEMAS
-if test -n "$GLIB_COMPILE_SCHEMAS"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GLIB_COMPILE_SCHEMAS" >&5
-$as_echo "$GLIB_COMPILE_SCHEMAS" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- fi
-
- if test "x$GLIB_COMPILE_SCHEMAS" = "x"; then
- as_fn_error $? "glib-compile-schemas not found." "$LINENO" 5
- else
- :
- fi
-
- GSETTINGS_RULES='
-.PHONY : uninstall-gsettings-schemas install-gsettings-schemas clean-gsettings-schemas
-
-mostlyclean-am: clean-gsettings-schemas
-
-gsettings__enum_file = $(addsuffix .enums.xml,$(gsettings_ENUM_NAMESPACE))
-
-%.gschema.valid: %.gschema.xml $(gsettings__enum_file)
- $(AM_V_GEN) if test -f "$<"; then d=; else d="$(srcdir)/"; fi; $(GLIB_COMPILE_SCHEMAS) --strict --dry-run $(addprefix --schema-file=,$(gsettings__enum_file)) --schema-file=$${d}$< && touch $@
-
-all-am: $(gsettings_SCHEMAS:.xml=.valid)
-uninstall-am: uninstall-gsettings-schemas
-install-data-am: install-gsettings-schemas
-
-.SECONDARY: $(gsettings_SCHEMAS)
-
-install-gsettings-schemas: $(gsettings_SCHEMAS) $(gsettings__enum_file)
- @$(NORMAL_INSTALL)
- if test -n "$^"; then \
- test -z "$(gsettingsschemadir)" || $(MKDIR_P) "$(DESTDIR)$(gsettingsschemadir)"; \
- $(INSTALL_DATA) $^ "$(DESTDIR)$(gsettingsschemadir)"; \
- test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir); \
- fi
-
-uninstall-gsettings-schemas:
- @$(NORMAL_UNINSTALL)
- @list='\''$(gsettings_SCHEMAS) $(gsettings__enum_file)'\''; test -n "$(gsettingsschemadir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e '\''s|^.*/||'\''`; \
- test -n "$$files" || exit 0; \
- echo " ( cd '\''$(DESTDIR)$(gsettingsschemadir)'\'' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(gsettingsschemadir)" && rm -f $$files
- test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir)
-
-clean-gsettings-schemas:
- rm -f $(gsettings_SCHEMAS:.xml=.valid) $(gsettings__enum_file)
-
-ifdef gsettings_ENUM_NAMESPACE
-$(gsettings__enum_file): $(gsettings_ENUM_FILES)
- $(AM_V_GEN) glib-mkenums --comments '\''<!-- @comment@ -->'\'' --fhead "<schemalist>" --vhead " <@type@ id='\''$(gsettings_ENUM_NAMESPACE).@EnumName@'\''>" --vprod " <value nick='\''@valuenick@'\'' value='\''@valuenum@'\''/>" --vtail " </@type@>" --ftail "</schemalist>" $^ > $@.tmp && mv $@.tmp $@
-endif
-'
-
-
-
-
-
-
- fi
-
-
- LIBS=$gst_check_save_LIBS
- LDFLAGS=$gst_check_save_LDFLAGS
- CFLAGS=$gst_check_save_CFLAGS
- CPPFLAGS=$gst_check_save_CPPFLAGS
- CXXFLAGS=$gst_check_save_CXXFLAGS
-
- if test x$HAVE_GSETTINGS = xno; then
- USE_GSETTINGS=no
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: *** These plugins will be built: gsettings" >&5
-$as_echo "$as_me: *** These plugins will be built: gsettings" >&6;}
- fi
-fi
-if test x$USE_GSETTINGS = xyes; then
- :
- if test "xgsettings" != "x"; then
- GST_PLUGINS_YES="\tgsettings\n$GST_PLUGINS_YES"
- fi
-
-$as_echo "#define HAVE_GSETTINGS /**/" >>confdefs.h
-
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: *** These plugins will not be built: gsettings" >&5
-$as_echo "$as_me: *** These plugins will not be built: gsettings" >&6;}
- if test "xgsettings" != "x"; then
- GST_PLUGINS_NO="\tgsettings\n$GST_PLUGINS_NO"
- fi
- :
-fi
- if test x$USE_GSETTINGS = xyes; then
- USE_GSETTINGS_TRUE=
- USE_GSETTINGS_FALSE='#'
-else
- USE_GSETTINGS_TRUE='#'
- USE_GSETTINGS_FALSE=
-fi
-
-
-
-echo
{ $as_echo "$as_me:${as_lineno-$LINENO}: *** checking feature: sndio audio ***" >&5
$as_echo "$as_me: *** checking feature: sndio audio ***" >&6;}
if test "xsndio" != "x"
@@ -57097,14 +57305,6 @@
fi
if false; then
- USE_MPG123_TRUE=
- USE_MPG123_FALSE='#'
-else
- USE_MPG123_TRUE='#'
- USE_MPG123_FALSE=
-fi
-
- if false; then
USE_MPLEX_TRUE=
USE_MPLEX_FALSE='#'
else
@@ -57297,14 +57497,6 @@
fi
if false; then
- USE_GSETTINGS_TRUE=
- USE_GSETTINGS_FALSE='#'
-else
- USE_GSETTINGS_TRUE='#'
- USE_GSETTINGS_FALSE=
-fi
-
- if false; then
USE_XVID_TRUE=
USE_XVID_FALSE='#'
else
@@ -57494,7 +57686,7 @@
$MKDIR_P tests/check/orc
-ac_config_files="$ac_config_files Makefile common/Makefile common/m4/Makefile gst-plugins-bad.spec gst/Makefile gst/accurip/Makefile gst/adpcmdec/Makefile gst/adpcmenc/Makefile gst/aiff/Makefile gst/videoframe_audiolevel/Makefile gst/asfmux/Makefile gst/audiofxbad/Makefile gst/audiomixer/Makefile gst/audiovisualizers/Makefile gst/autoconvert/Makefile gst/bayer/Makefile gst/camerabin2/Makefile gst/cdxaparse/Makefile gst/coloreffects/Makefile gst/dataurisrc/Makefile gst/dccp/Makefile gst/debugutils/Makefile gst/dvbsuboverlay/Makefile gst/dvdspu/Makefile gst/faceoverlay/Makefile gst/festival/Makefile gst/fieldanalysis/Makefile gst/freeverb/Makefile gst/frei0r/Makefile gst/gaudieffects/Makefile gst/geometrictransform/Makefile gst/gdp/Makefile gst/hdvparse/Makefile gst/id3tag/Makefile gst/inter/Makefile gst/interlace/Makefile gst/ivfparse/Makefile gst/ivtc/Makefile gst/jp2kdecimator/Makefile gst/jpegformat/Makefile gst/librfb/Makefile gst/midi/Makefile gst/mpegdemux/Makefile gst/mpegtsdemux/Makefile gst/mpegtsmux/Makefile gst/mpegtsmux/tsmux/Makefile gst/mpegpsmux/Makefile gst/mve/Makefile gst/mxf/Makefile gst/nuvdemux/Makefile gst/onvif/Makefile gst/patchdetect/Makefile gst/pcapparse/Makefile gst/pnm/Makefile gst/rawparse/Makefile gst/removesilence/Makefile gst/rtp/Makefile gst/sdi/Makefile gst/sdp/Makefile gst/segmentclip/Makefile gst/siren/Makefile gst/smooth/Makefile gst/speed/Makefile gst/subenc/Makefile gst/stereo/Makefile gst/tta/Makefile gst/videofilters/Makefile gst/videomeasure/Makefile gst/videoparsers/Makefile gst/videosignal/Makefile gst/vmnc/Makefile gst/y4m/Makefile gst/yadif/Makefile gst/compositor/Makefile gst-libs/Makefile gst-libs/gst/Makefile gst-libs/gst/adaptivedemux/Makefile gst-libs/gst/basecamerabinsrc/Makefile gst-libs/gst/gl/Makefile gst-libs/gst/gl/android/Makefile gst-libs/gst/gl/cocoa/Makefile gst-libs/gst/gl/dispmanx/Makefile gst-libs/gst/gl/glprototypes/Makefile gst-libs/gst/gl/eagl/Makefile gst-libs/gst/gl/egl/Makefile gst-libs/gst/gl/wayland/Makefile gst-libs/gst/gl/win32/Makefile gst-libs/gst/gl/x11/Makefile gst-libs/gst/insertbin/Makefile gst-libs/gst/interfaces/Makefile gst-libs/gst/codecparsers/Makefile gst-libs/gst/mpegts/Makefile gst-libs/gst/uridownloader/Makefile gst-libs/gst/wayland/Makefile gst-libs/gst/base/Makefile gst-libs/gst/player/Makefile gst-libs/gst/video/Makefile sys/Makefile sys/dshowdecwrapper/Makefile sys/acmenc/Makefile sys/acmmp3dec/Makefile sys/androidmedia/Makefile sys/applemedia/Makefile sys/applemedia-nonpublic/Makefile sys/avc/Makefile sys/bluez/Makefile sys/d3dvideosink/Makefile sys/decklink/Makefile sys/directsound/Makefile sys/dshowsrcwrapper/Makefile sys/dshowvideosink/Makefile sys/dvb/Makefile sys/fbdev/Makefile sys/linsys/Makefile sys/nvenc/Makefile sys/opensles/Makefile sys/shm/Makefile sys/uvch264/Makefile sys/vcd/Makefile sys/vdpau/Makefile sys/pvr2d/Makefile sys/wasapi/Makefile sys/wininet/Makefile sys/winks/Makefile sys/winscreencap/Makefile tests/Makefile tests/check/Makefile tests/files/Makefile tests/examples/Makefile tests/examples/avsamplesink/Makefile tests/examples/camerabin2/Makefile tests/examples/codecparsers/Makefile tests/examples/directfb/Makefile tests/examples/gl/Makefile tests/examples/gl/cocoa/Makefile tests/examples/gl/clutter/Makefile tests/examples/gl/generic/Makefile tests/examples/gl/generic/cube/Makefile tests/examples/gl/generic/cubeyuv/Makefile tests/examples/gl/generic/doublecube/Makefile tests/examples/gl/generic/recordgraphic/Makefile tests/examples/gl/gtk/Makefile tests/examples/gl/gtk/gtkvideooverlay/Makefile tests/examples/gl/gtk/3dvideo/Makefile tests/examples/gl/gtk/filternovideooverlay/Makefile tests/examples/gl/gtk/filtervideooverlay/Makefile tests/examples/gl/gtk/fxtest/Makefile tests/examples/gl/gtk/switchvideooverlay/Makefile tests/examples/gl/qt/Makefile tests/examples/gl/sdl/Makefile tests/examples/gtk/Makefile tests/examples/mpegts/Makefile tests/examples/mxf/Makefile tests/examples/opencv/Makefile tests/examples/uvch264/Makefile tests/examples/waylandsink/Makefile tests/icles/Makefile ext/voamrwbenc/Makefile ext/voaacenc/Makefile ext/assrender/Makefile ext/apexsink/Makefile ext/bs2b/Makefile ext/bz2/Makefile ext/chromaprint/Makefile ext/curl/Makefile ext/dash/Makefile ext/dc1394/Makefile ext/directfb/Makefile ext/wayland/Makefile ext/daala/Makefile ext/dts/Makefile ext/gl/Makefile ext/gtk/Makefile ext/faac/Makefile ext/faad/Makefile ext/flite/Makefile ext/fluidsynth/Makefile ext/gsm/Makefile ext/hls/Makefile ext/kate/Makefile ext/ladspa/Makefile ext/lv2/Makefile ext/libde265/Makefile ext/libmms/Makefile ext/libvisual/Makefile ext/Makefile ext/modplug/Makefile ext/mpeg2enc/Makefile ext/mpg123/Makefile ext/mimic/Makefile ext/mplex/Makefile ext/musepack/Makefile ext/nas/Makefile ext/neon/Makefile ext/ofa/Makefile ext/openal/Makefile ext/opencv/Makefile ext/openexr/Makefile ext/openh264/Makefile ext/openjpeg/Makefile ext/openni2/Makefile ext/opus/Makefile ext/qt/Makefile ext/rsvg/Makefile ext/resindvd/Makefile ext/rtmp/Makefile ext/sbc/Makefile ext/schroedinger/Makefile ext/sdl/Makefile ext/smoothstreaming/Makefile ext/sndfile/Makefile ext/soundtouch/Makefile ext/spandsp/Makefile ext/sndio/Makefile ext/srtp/Makefile ext/teletextdec/Makefile ext/gme/Makefile ext/gsettings/Makefile ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml ext/spc/Makefile ext/timidity/Makefile ext/webp/Makefile ext/x265/Makefile ext/xvid/Makefile ext/zbar/Makefile ext/dtls/Makefile po/Makefile.in docs/Makefile docs/plugins/Makefile docs/libs/Makefile docs/version.entities pkgconfig/Makefile pkgconfig/gstreamer-plugins-bad.pc pkgconfig/gstreamer-plugins-bad-uninstalled.pc pkgconfig/gstreamer-codecparsers.pc pkgconfig/gstreamer-codecparsers-uninstalled.pc pkgconfig/gstreamer-insertbin.pc pkgconfig/gstreamer-insertbin-uninstalled.pc pkgconfig/gstreamer-gl.pc pkgconfig/gstreamer-gl-uninstalled.pc pkgconfig/gstreamer-mpegts.pc pkgconfig/gstreamer-mpegts-uninstalled.pc pkgconfig/gstreamer-player.pc pkgconfig/gstreamer-player-uninstalled.pc pkgconfig/gstreamer-wayland.pc pkgconfig/gstreamer-wayland-uninstalled.pc pkgconfig/gstreamer-bad-base.pc pkgconfig/gstreamer-bad-base-uninstalled.pc pkgconfig/gstreamer-bad-video.pc pkgconfig/gstreamer-bad-video-uninstalled.pc tools/Makefile m4/Makefile"
+ac_config_files="$ac_config_files Makefile common/Makefile common/m4/Makefile gst-plugins-bad.spec gst/Makefile gst/accurip/Makefile gst/adpcmdec/Makefile gst/adpcmenc/Makefile gst/aiff/Makefile gst/videoframe_audiolevel/Makefile gst/asfmux/Makefile gst/audiofxbad/Makefile gst/audiomixer/Makefile gst/audiovisualizers/Makefile gst/autoconvert/Makefile gst/bayer/Makefile gst/camerabin2/Makefile gst/cdxaparse/Makefile gst/coloreffects/Makefile gst/dataurisrc/Makefile gst/dccp/Makefile gst/debugutils/Makefile gst/dvbsuboverlay/Makefile gst/dvdspu/Makefile gst/faceoverlay/Makefile gst/festival/Makefile gst/fieldanalysis/Makefile gst/freeverb/Makefile gst/frei0r/Makefile gst/gaudieffects/Makefile gst/geometrictransform/Makefile gst/gdp/Makefile gst/hdvparse/Makefile gst/id3tag/Makefile gst/inter/Makefile gst/interlace/Makefile gst/ivfparse/Makefile gst/ivtc/Makefile gst/jp2kdecimator/Makefile gst/jpegformat/Makefile gst/librfb/Makefile gst/midi/Makefile gst/mpegdemux/Makefile gst/mpegtsdemux/Makefile gst/mpegtsmux/Makefile gst/mpegtsmux/tsmux/Makefile gst/mpegpsmux/Makefile gst/mve/Makefile gst/mxf/Makefile gst/netsim/Makefile gst/nuvdemux/Makefile gst/onvif/Makefile gst/patchdetect/Makefile gst/pcapparse/Makefile gst/pnm/Makefile gst/rawparse/Makefile gst/removesilence/Makefile gst/sdi/Makefile gst/sdp/Makefile gst/segmentclip/Makefile gst/siren/Makefile gst/smooth/Makefile gst/speed/Makefile gst/subenc/Makefile gst/stereo/Makefile gst/tta/Makefile gst/videofilters/Makefile gst/videomeasure/Makefile gst/videoparsers/Makefile gst/videosignal/Makefile gst/vmnc/Makefile gst/y4m/Makefile gst/yadif/Makefile gst/compositor/Makefile gst-libs/Makefile gst-libs/gst/Makefile gst-libs/gst/adaptivedemux/Makefile gst-libs/gst/basecamerabinsrc/Makefile gst-libs/gst/gl/Makefile gst-libs/gst/gl/android/Makefile gst-libs/gst/gl/cocoa/Makefile gst-libs/gst/gl/dispmanx/Makefile gst-libs/gst/gl/glprototypes/Makefile gst-libs/gst/gl/eagl/Makefile gst-libs/gst/gl/egl/Makefile gst-libs/gst/gl/wayland/Makefile gst-libs/gst/gl/win32/Makefile gst-libs/gst/gl/x11/Makefile gst-libs/gst/insertbin/Makefile gst-libs/gst/interfaces/Makefile gst-libs/gst/codecparsers/Makefile gst-libs/gst/mpegts/Makefile gst-libs/gst/uridownloader/Makefile gst-libs/gst/wayland/Makefile gst-libs/gst/base/Makefile gst-libs/gst/player/Makefile gst-libs/gst/video/Makefile gst-libs/gst/audio/Makefile sys/Makefile sys/dshowdecwrapper/Makefile sys/acmenc/Makefile sys/acmmp3dec/Makefile sys/androidmedia/Makefile sys/applemedia/Makefile sys/applemedia-nonpublic/Makefile sys/avc/Makefile sys/bluez/Makefile sys/d3dvideosink/Makefile sys/decklink/Makefile sys/directsound/Makefile sys/dshowsrcwrapper/Makefile sys/dshowvideosink/Makefile sys/dvb/Makefile sys/fbdev/Makefile sys/linsys/Makefile sys/nvenc/Makefile sys/opensles/Makefile sys/shm/Makefile sys/tinyalsa/Makefile sys/uvch264/Makefile sys/vcd/Makefile sys/vdpau/Makefile sys/pvr2d/Makefile sys/wasapi/Makefile sys/wininet/Makefile sys/winks/Makefile sys/winscreencap/Makefile tests/Makefile tests/check/Makefile tests/files/Makefile tests/examples/Makefile tests/examples/avsamplesink/Makefile tests/examples/camerabin2/Makefile tests/examples/codecparsers/Makefile tests/examples/directfb/Makefile tests/examples/gl/Makefile tests/examples/gl/cocoa/Makefile tests/examples/gl/clutter/Makefile tests/examples/gl/generic/Makefile tests/examples/gl/generic/cube/Makefile tests/examples/gl/generic/cubeyuv/Makefile tests/examples/gl/generic/doublecube/Makefile tests/examples/gl/generic/recordgraphic/Makefile tests/examples/gl/gtk/Makefile tests/examples/gl/gtk/gtkvideooverlay/Makefile tests/examples/gl/gtk/3dvideo/Makefile tests/examples/gl/gtk/filternovideooverlay/Makefile tests/examples/gl/gtk/filtervideooverlay/Makefile tests/examples/gl/gtk/fxtest/Makefile tests/examples/gl/gtk/switchvideooverlay/Makefile tests/examples/gl/qt/Makefile tests/examples/gl/sdl/Makefile tests/examples/gtk/Makefile tests/examples/mpegts/Makefile tests/examples/mxf/Makefile tests/examples/opencv/Makefile tests/examples/uvch264/Makefile tests/examples/waylandsink/Makefile tests/icles/Makefile ext/voamrwbenc/Makefile ext/voaacenc/Makefile ext/assrender/Makefile ext/apexsink/Makefile ext/bs2b/Makefile ext/bz2/Makefile ext/chromaprint/Makefile ext/curl/Makefile ext/dash/Makefile ext/dc1394/Makefile ext/directfb/Makefile ext/wayland/Makefile ext/daala/Makefile ext/dts/Makefile ext/gl/Makefile ext/gtk/Makefile ext/faac/Makefile ext/faad/Makefile ext/flite/Makefile ext/fluidsynth/Makefile ext/gsm/Makefile ext/hls/Makefile ext/kate/Makefile ext/ladspa/Makefile ext/lv2/Makefile ext/libde265/Makefile ext/libmms/Makefile ext/libvisual/Makefile ext/Makefile ext/modplug/Makefile ext/mpeg2enc/Makefile ext/mimic/Makefile ext/mplex/Makefile ext/musepack/Makefile ext/nas/Makefile ext/neon/Makefile ext/ofa/Makefile ext/openal/Makefile ext/opencv/Makefile ext/openexr/Makefile ext/openh264/Makefile ext/openjpeg/Makefile ext/openni2/Makefile ext/opus/Makefile ext/qt/Makefile ext/rsvg/Makefile ext/resindvd/Makefile ext/rtmp/Makefile ext/sbc/Makefile ext/schroedinger/Makefile ext/sdl/Makefile ext/smoothstreaming/Makefile ext/sndfile/Makefile ext/soundtouch/Makefile ext/spandsp/Makefile ext/sndio/Makefile ext/srtp/Makefile ext/teletextdec/Makefile ext/gme/Makefile ext/spc/Makefile ext/timidity/Makefile ext/vulkan/Makefile ext/vulkan/xcb/Makefile ext/webp/Makefile ext/x265/Makefile ext/xvid/Makefile ext/zbar/Makefile ext/dtls/Makefile po/Makefile.in docs/Makefile docs/plugins/Makefile docs/libs/Makefile docs/version.entities pkgconfig/Makefile pkgconfig/gstreamer-plugins-bad.pc pkgconfig/gstreamer-plugins-bad-uninstalled.pc pkgconfig/gstreamer-codecparsers.pc pkgconfig/gstreamer-codecparsers-uninstalled.pc pkgconfig/gstreamer-insertbin.pc pkgconfig/gstreamer-insertbin-uninstalled.pc pkgconfig/gstreamer-gl.pc pkgconfig/gstreamer-gl-uninstalled.pc pkgconfig/gstreamer-mpegts.pc pkgconfig/gstreamer-mpegts-uninstalled.pc pkgconfig/gstreamer-player.pc pkgconfig/gstreamer-player-uninstalled.pc pkgconfig/gstreamer-wayland.pc pkgconfig/gstreamer-wayland-uninstalled.pc pkgconfig/gstreamer-bad-base.pc pkgconfig/gstreamer-bad-base-uninstalled.pc pkgconfig/gstreamer-bad-video.pc pkgconfig/gstreamer-bad-video-uninstalled.pc pkgconfig/gstreamer-bad-audio.pc pkgconfig/gstreamer-bad-audio-uninstalled.pc tools/Makefile m4/Makefile"
sed \
@@ -58041,6 +58233,10 @@
as_fn_error $? "conditional \"USE_PLUGIN_MXF\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${USE_PLUGIN_NETSIM_TRUE}" && test -z "${USE_PLUGIN_NETSIM_FALSE}"; then
+ as_fn_error $? "conditional \"USE_PLUGIN_NETSIM\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${USE_PLUGIN_NUVDEMUX_TRUE}" && test -z "${USE_PLUGIN_NUVDEMUX_FALSE}"; then
as_fn_error $? "conditional \"USE_PLUGIN_NUVDEMUX\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -58069,10 +58265,6 @@
as_fn_error $? "conditional \"USE_PLUGIN_REMOVESILENCE\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-if test -z "${USE_PLUGIN_RTP_TRUE}" && test -z "${USE_PLUGIN_RTP_FALSE}"; then
- as_fn_error $? "conditional \"USE_PLUGIN_RTP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
if test -z "${USE_PLUGIN_SDI_TRUE}" && test -z "${USE_PLUGIN_SDI_FALSE}"; then
as_fn_error $? "conditional \"USE_PLUGIN_SDI\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -58229,6 +58421,10 @@
as_fn_error $? "conditional \"HAVE_JPEG\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${USE_XCB_TRUE}" && test -z "${USE_XCB_FALSE}"; then
+ as_fn_error $? "conditional \"USE_XCB\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${USE_DIRECTSOUND_TRUE}" && test -z "${USE_DIRECTSOUND_FALSE}"; then
as_fn_error $? "conditional \"USE_DIRECTSOUND\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -58289,6 +58485,10 @@
as_fn_error $? "conditional \"USE_NVENC_GST_GL\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${USE_TINYALSA_TRUE}" && test -z "${USE_TINYALSA_FALSE}"; then
+ as_fn_error $? "conditional \"USE_TINYALSA\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${USE_ASSRENDER_TRUE}" && test -z "${USE_ASSRENDER_FALSE}"; then
as_fn_error $? "conditional \"USE_ASSRENDER\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -58445,10 +58645,6 @@
as_fn_error $? "conditional \"USE_MPEG2ENC\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-if test -z "${USE_MPG123_TRUE}" && test -z "${USE_MPG123_FALSE}"; then
- as_fn_error $? "conditional \"USE_MPG123\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
if test -z "${USE_MPLEX_TRUE}" && test -z "${USE_MPLEX_FALSE}"; then
as_fn_error $? "conditional \"USE_MPLEX\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -58525,6 +58721,10 @@
as_fn_error $? "conditional \"USE_QT\" 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
if test -z "${USE_LIBVISUAL_TRUE}" && test -z "${USE_LIBVISUAL_FALSE}"; then
as_fn_error $? "conditional \"USE_LIBVISUAL\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -58605,10 +58805,6 @@
as_fn_error $? "conditional \"USE_SPANDSP\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-if test -z "${USE_GSETTINGS_TRUE}" && test -z "${USE_GSETTINGS_FALSE}"; then
- as_fn_error $? "conditional \"USE_GSETTINGS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
if test -z "${USE_SNDIO_TRUE}" && test -z "${USE_SNDIO_FALSE}"; then
as_fn_error $? "conditional \"USE_SNDIO\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -58777,10 +58973,6 @@
as_fn_error $? "conditional \"USE_MPEG2ENC\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-if test -z "${USE_MPG123_TRUE}" && test -z "${USE_MPG123_FALSE}"; then
- as_fn_error $? "conditional \"USE_MPG123\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
if test -z "${USE_MPLEX_TRUE}" && test -z "${USE_MPLEX_FALSE}"; then
as_fn_error $? "conditional \"USE_MPLEX\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -58877,10 +59069,6 @@
as_fn_error $? "conditional \"USE_GME\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-if test -z "${USE_GSETTINGS_TRUE}" && test -z "${USE_GSETTINGS_FALSE}"; then
- as_fn_error $? "conditional \"USE_GSETTINGS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
if test -z "${USE_XVID_TRUE}" && test -z "${USE_XVID_FALSE}"; then
as_fn_error $? "conditional \"USE_XVID\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -59346,7 +59534,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.7.1, which was
+This file was extended by GStreamer Bad Plug-ins $as_me 1.7.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -59412,7 +59600,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.7.1
+GStreamer Bad Plug-ins config.status 1.7.2
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -59550,6 +59738,7 @@
enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
+shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`'
SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
@@ -59597,10 +59786,13 @@
GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
+lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`'
nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
+lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`'
objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
@@ -59665,7 +59857,8 @@
finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
+configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`'
+configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`'
hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
@@ -59771,9 +59964,12 @@
compiler \
lt_cv_sys_global_symbol_pipe \
lt_cv_sys_global_symbol_to_cdecl \
+lt_cv_sys_global_symbol_to_import \
lt_cv_sys_global_symbol_to_c_name_address \
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
+lt_cv_nm_interface \
nm_file_list_spec \
+lt_cv_truncate_bin \
lt_prog_compiler_no_builtin_flag \
lt_prog_compiler_pic \
lt_prog_compiler_wl \
@@ -59839,7 +60035,7 @@
compiler_lib_search_path_CXX; do
case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
;;
*)
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -59866,7 +60062,8 @@
postuninstall_cmds \
finish_cmds \
sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec \
+configure_time_dlsearch_path \
+configure_time_lt_sys_library_path \
reload_cmds_CXX \
old_archive_cmds_CXX \
old_archive_from_new_cmds_CXX \
@@ -59880,7 +60077,7 @@
postlink_cmds_CXX; do
case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[\\\\\\\`\\"\\\$]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
;;
*)
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -59889,19 +60086,16 @@
done
ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-# See if we are running on zsh, and set the options which allow our
+# See if we are running on zsh, and set the options that allow our
# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
+if test -n "\${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
PACKAGE='$PACKAGE'
VERSION='$VERSION'
- TIMESTAMP='$TIMESTAMP'
RM='$RM'
ofile='$ofile'
@@ -59938,6 +60132,9 @@
gl_config_defines='$GL_CONFIG_DEFINES'
+vulkan_config_defines='$VULKAN_CONFIG_DEFINES'
+
+
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
@@ -59952,6 +60149,7 @@
"po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;;
"$ac_stdint_h") CONFIG_COMMANDS="$CONFIG_COMMANDS $ac_stdint_h" ;;
"gst-libs/gst/gl/gstglconfig.h") CONFIG_COMMANDS="$CONFIG_COMMANDS gst-libs/gst/gl/gstglconfig.h" ;;
+ "ext/vulkan/vkconfig.h") CONFIG_COMMANDS="$CONFIG_COMMANDS ext/vulkan/vkconfig.h" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"common/Makefile") CONFIG_FILES="$CONFIG_FILES common/Makefile" ;;
"common/m4/Makefile") CONFIG_FILES="$CONFIG_FILES common/m4/Makefile" ;;
@@ -60001,6 +60199,7 @@
"gst/mpegpsmux/Makefile") CONFIG_FILES="$CONFIG_FILES gst/mpegpsmux/Makefile" ;;
"gst/mve/Makefile") CONFIG_FILES="$CONFIG_FILES gst/mve/Makefile" ;;
"gst/mxf/Makefile") CONFIG_FILES="$CONFIG_FILES gst/mxf/Makefile" ;;
+ "gst/netsim/Makefile") CONFIG_FILES="$CONFIG_FILES gst/netsim/Makefile" ;;
"gst/nuvdemux/Makefile") CONFIG_FILES="$CONFIG_FILES gst/nuvdemux/Makefile" ;;
"gst/onvif/Makefile") CONFIG_FILES="$CONFIG_FILES gst/onvif/Makefile" ;;
"gst/patchdetect/Makefile") CONFIG_FILES="$CONFIG_FILES gst/patchdetect/Makefile" ;;
@@ -60008,7 +60207,6 @@
"gst/pnm/Makefile") CONFIG_FILES="$CONFIG_FILES gst/pnm/Makefile" ;;
"gst/rawparse/Makefile") CONFIG_FILES="$CONFIG_FILES gst/rawparse/Makefile" ;;
"gst/removesilence/Makefile") CONFIG_FILES="$CONFIG_FILES gst/removesilence/Makefile" ;;
- "gst/rtp/Makefile") CONFIG_FILES="$CONFIG_FILES gst/rtp/Makefile" ;;
"gst/sdi/Makefile") CONFIG_FILES="$CONFIG_FILES gst/sdi/Makefile" ;;
"gst/sdp/Makefile") CONFIG_FILES="$CONFIG_FILES gst/sdp/Makefile" ;;
"gst/segmentclip/Makefile") CONFIG_FILES="$CONFIG_FILES gst/segmentclip/Makefile" ;;
@@ -60049,6 +60247,7 @@
"gst-libs/gst/base/Makefile") CONFIG_FILES="$CONFIG_FILES gst-libs/gst/base/Makefile" ;;
"gst-libs/gst/player/Makefile") CONFIG_FILES="$CONFIG_FILES gst-libs/gst/player/Makefile" ;;
"gst-libs/gst/video/Makefile") CONFIG_FILES="$CONFIG_FILES gst-libs/gst/video/Makefile" ;;
+ "gst-libs/gst/audio/Makefile") CONFIG_FILES="$CONFIG_FILES gst-libs/gst/audio/Makefile" ;;
"sys/Makefile") CONFIG_FILES="$CONFIG_FILES sys/Makefile" ;;
"sys/dshowdecwrapper/Makefile") CONFIG_FILES="$CONFIG_FILES sys/dshowdecwrapper/Makefile" ;;
"sys/acmenc/Makefile") CONFIG_FILES="$CONFIG_FILES sys/acmenc/Makefile" ;;
@@ -60069,6 +60268,7 @@
"sys/nvenc/Makefile") CONFIG_FILES="$CONFIG_FILES sys/nvenc/Makefile" ;;
"sys/opensles/Makefile") CONFIG_FILES="$CONFIG_FILES sys/opensles/Makefile" ;;
"sys/shm/Makefile") CONFIG_FILES="$CONFIG_FILES sys/shm/Makefile" ;;
+ "sys/tinyalsa/Makefile") CONFIG_FILES="$CONFIG_FILES sys/tinyalsa/Makefile" ;;
"sys/uvch264/Makefile") CONFIG_FILES="$CONFIG_FILES sys/uvch264/Makefile" ;;
"sys/vcd/Makefile") CONFIG_FILES="$CONFIG_FILES sys/vcd/Makefile" ;;
"sys/vdpau/Makefile") CONFIG_FILES="$CONFIG_FILES sys/vdpau/Makefile" ;;
@@ -60140,7 +60340,6 @@
"ext/Makefile") CONFIG_FILES="$CONFIG_FILES ext/Makefile" ;;
"ext/modplug/Makefile") CONFIG_FILES="$CONFIG_FILES ext/modplug/Makefile" ;;
"ext/mpeg2enc/Makefile") CONFIG_FILES="$CONFIG_FILES ext/mpeg2enc/Makefile" ;;
- "ext/mpg123/Makefile") CONFIG_FILES="$CONFIG_FILES ext/mpg123/Makefile" ;;
"ext/mimic/Makefile") CONFIG_FILES="$CONFIG_FILES ext/mimic/Makefile" ;;
"ext/mplex/Makefile") CONFIG_FILES="$CONFIG_FILES ext/mplex/Makefile" ;;
"ext/musepack/Makefile") CONFIG_FILES="$CONFIG_FILES ext/musepack/Makefile" ;;
@@ -60169,10 +60368,10 @@
"ext/srtp/Makefile") CONFIG_FILES="$CONFIG_FILES ext/srtp/Makefile" ;;
"ext/teletextdec/Makefile") CONFIG_FILES="$CONFIG_FILES ext/teletextdec/Makefile" ;;
"ext/gme/Makefile") CONFIG_FILES="$CONFIG_FILES ext/gme/Makefile" ;;
- "ext/gsettings/Makefile") CONFIG_FILES="$CONFIG_FILES ext/gsettings/Makefile" ;;
- "ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml") CONFIG_FILES="$CONFIG_FILES ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml" ;;
"ext/spc/Makefile") CONFIG_FILES="$CONFIG_FILES ext/spc/Makefile" ;;
"ext/timidity/Makefile") CONFIG_FILES="$CONFIG_FILES ext/timidity/Makefile" ;;
+ "ext/vulkan/Makefile") CONFIG_FILES="$CONFIG_FILES ext/vulkan/Makefile" ;;
+ "ext/vulkan/xcb/Makefile") CONFIG_FILES="$CONFIG_FILES ext/vulkan/xcb/Makefile" ;;
"ext/webp/Makefile") CONFIG_FILES="$CONFIG_FILES ext/webp/Makefile" ;;
"ext/x265/Makefile") CONFIG_FILES="$CONFIG_FILES ext/x265/Makefile" ;;
"ext/xvid/Makefile") CONFIG_FILES="$CONFIG_FILES ext/xvid/Makefile" ;;
@@ -60202,6 +60401,8 @@
"pkgconfig/gstreamer-bad-base-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES pkgconfig/gstreamer-bad-base-uninstalled.pc" ;;
"pkgconfig/gstreamer-bad-video.pc") CONFIG_FILES="$CONFIG_FILES pkgconfig/gstreamer-bad-video.pc" ;;
"pkgconfig/gstreamer-bad-video-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES pkgconfig/gstreamer-bad-video-uninstalled.pc" ;;
+ "pkgconfig/gstreamer-bad-audio.pc") CONFIG_FILES="$CONFIG_FILES pkgconfig/gstreamer-bad-audio.pc" ;;
+ "pkgconfig/gstreamer-bad-audio-uninstalled.pc") CONFIG_FILES="$CONFIG_FILES pkgconfig/gstreamer-bad-audio-uninstalled.pc" ;;
"tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;;
"m4/Makefile") CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;;
@@ -60894,55 +61095,53 @@
;;
"libtool":C)
- # See if we are running on zsh, and set the options which allow our
+ # See if we are running on zsh, and set the options that allow our
# commands through without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
+ if test -n "${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
- cfgfile="${ofile}T"
+ cfgfile=${ofile}T
trap "$RM \"$cfgfile\"; exit 1" 1 2 15
$RM "$cfgfile"
cat <<_LT_EOF >> "$cfgfile"
#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Generated automatically by $as_me ($PACKAGE) $VERSION
# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+
+# Provide generalized library-building support services.
+# Written by Gordon Matzigkeit, 1996
+
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of of the License, or
+# (at your option) any later version.
#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# Written by Gordon Matzigkeit, 1996
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program or library that is built
+# using GNU Libtool, you may include this file under the same
+# distribution terms that you use for the rest of that program.
#
-# This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# GNU Libtool 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
# The names of the tagged configurations supported by this script.
-available_tags="CXX "
+available_tags='CXX '
+
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
# ### BEGIN LIBTOOL CONFIG
@@ -60971,6 +61170,9 @@
# Whether or not to optimize for fast installation.
fast_install=$enable_fast_install
+# Shared archive member basename,for filename based shared library versioning on AIX.
+shared_archive_member_spec=$shared_archive_member_spec
+
# Shell to use when invoking shell scripts.
SHELL=$lt_SHELL
@@ -61082,18 +61284,27 @@
# Transform the output of nm in a proper C declaration.
global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+# Transform the output of nm into a list of symbols to manually relocate.
+global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import
+
# Transform the output of nm in a C name address pair.
global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+# The name lister interface.
+nm_interface=$lt_lt_cv_nm_interface
+
# Specify filename containing input files for \$NM.
nm_file_list_spec=$lt_nm_file_list_spec
-# The root where to search for dependent libraries,and in which our libraries should be installed.
+# The root where to search for dependent libraries,and where our libraries should be installed.
lt_sysroot=$lt_sysroot
+# Command to truncate a binary pipe.
+lt_truncate_bin=$lt_lt_cv_truncate_bin
+
# The name of the directory that contains temporary libtool files.
objdir=$objdir
@@ -61184,8 +61395,11 @@
# Compile-time system search path for libraries.
sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+# Detected run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path
+
+# Explicit LT_SYS_LIBRARY_PATH set during ./configure time.
+configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path
# Whether dlopen is supported.
dlopen_support=$enable_dlopen
@@ -61278,13 +61492,13 @@
# Whether we need a single "-rpath" flag with a separated argument.
hardcode_libdir_separator=$lt_hardcode_libdir_separator
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
# DIR into the resulting binary.
hardcode_direct=$hardcode_direct
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# "absolute",i.e impossible to change by setting \$shlibpath_var if the
# library is relocated.
hardcode_direct_absolute=$hardcode_direct_absolute
@@ -61350,13 +61564,72 @@
_LT_EOF
+ cat <<'_LT_EOF' >> "$cfgfile"
+
+# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
+
+# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+# string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+# string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+# string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+# "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+# VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+ case x$2 in
+ x)
+ ;;
+ *:)
+ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
+ ;;
+ x:*)
+ eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
+ ;;
+ *::*)
+ eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+ eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
+ ;;
+ *)
+ eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
+ ;;
+ esac
+}
+
+
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+ for cc_temp in $*""; do
+ case $cc_temp in
+ compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+ distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+ done
+ func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+
+
+# ### END FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_EOF
+
case $host_os in
aix3*)
cat <<\_LT_EOF >> "$cfgfile"
# AIX sometimes has problems with the GCC collect2 program. For some
# reason, if we set the COLLECT_NAMES environment variable, the problems
# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
+if test set != "${COLLECT_NAMES+set}"; then
COLLECT_NAMES=
export COLLECT_NAMES
fi
@@ -61365,7 +61638,7 @@
esac
-ltmain="$ac_aux_dir/ltmain.sh"
+ltmain=$ac_aux_dir/ltmain.sh
# We use sed instead of cat because bash on DJGPP gets confused if
@@ -61375,165 +61648,6 @@
sed '$q' "$ltmain" >> "$cfgfile" \
|| (rm -f "$cfgfile"; exit 1)
- if test x"$xsi_shell" = xyes; then
- sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
-func_dirname ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_basename ()$/,/^} # func_basename /c\
-func_basename ()\
-{\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
-func_dirname_and_basename ()\
-{\
-\ case ${1} in\
-\ */*) func_dirname_result="${1%/*}${2}" ;;\
-\ * ) func_dirname_result="${3}" ;;\
-\ esac\
-\ func_basename_result="${1##*/}"\
-} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
-func_stripname ()\
-{\
-\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
-\ # positional parameters, so assign one to ordinary parameter first.\
-\ func_stripname_result=${3}\
-\ func_stripname_result=${func_stripname_result#"${1}"}\
-\ func_stripname_result=${func_stripname_result%"${2}"}\
-} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
-func_split_long_opt ()\
-{\
-\ func_split_long_opt_name=${1%%=*}\
-\ func_split_long_opt_arg=${1#*=}\
-} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
-func_split_short_opt ()\
-{\
-\ func_split_short_opt_arg=${1#??}\
-\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
-} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
-func_lo2o ()\
-{\
-\ case ${1} in\
-\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
-\ *) func_lo2o_result=${1} ;;\
-\ esac\
-} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_xform ()$/,/^} # func_xform /c\
-func_xform ()\
-{\
- func_xform_result=${1%.*}.lo\
-} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_arith ()$/,/^} # func_arith /c\
-func_arith ()\
-{\
- func_arith_result=$(( $* ))\
-} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_len ()$/,/^} # func_len /c\
-func_len ()\
-{\
- func_len_result=${#1}\
-} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-fi
-
-if test x"$lt_shell_append" = xyes; then
- sed -e '/^func_append ()$/,/^} # func_append /c\
-func_append ()\
-{\
- eval "${1}+=\\${2}"\
-} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
-func_append_quoted ()\
-{\
-\ func_quote_for_eval "${2}"\
-\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
-} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-
-
- # Save a `func_append' function call where possible by direct use of '+='
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-else
- # Save a `func_append' function call even when '+=' is not available
- sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
-$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
-fi
-
-
mv -f "$cfgfile" "$ofile" ||
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
@@ -61620,13 +61734,13 @@
# Whether we need a single "-rpath" flag with a separated argument.
hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
# DIR into the resulting binary.
hardcode_direct=$hardcode_direct_CXX
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# "absolute",i.e impossible to change by setting \$shlibpath_var if the
# library is relocated.
hardcode_direct_absolute=$hardcode_direct_absolute_CXX
@@ -62306,6 +62420,43 @@
mv $outfile gst-libs/gst/gl/gstglconfig.h
fi
;;
+ "ext/vulkan/vkconfig.h":C)
+ outfile=vkconfig.h-tmp
+ cat > $outfile <<\_______EOF
+/* vkconfig.h
+ *
+ * This is a generated file. Please modify `configure.ac'
+ */
+
+#ifndef __GST_VULKAN_CONFIG_H__
+#define __GST_VULKAN_CONFIG_H__
+
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+
+_______EOF
+
+ cat >>$outfile <<_______EOF
+$vulkan_config_defines
+_______EOF
+
+ cat >>$outfile <<_______EOF
+
+G_END_DECLS
+
+#endif /* __GST_VULKAN_CONFIG_H__ */
+_______EOF
+
+
+ if cmp -s $outfile ext/vulkan/vkconfig.h; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: ext/vulkan/vkconfig.h is unchanged" >&5
+$as_echo "$as_me: ext/vulkan/vkconfig.h is unchanged" >&6;}
+ rm -f $outfile
+ else
+ mv $outfile ext/vulkan/vkconfig.h
+ fi
+ ;;
esac
done # for ac_tag
diff --git a/configure.ac b/configure.ac
index 5aa65e6..1dc9b7f 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.7.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-bad])
+AC_INIT([GStreamer Bad Plug-ins],[1.7.2],[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, 701, 0, 701)
+AS_LIBTOOL(GST, 702, 0, 702)
dnl *** required versions of GStreamer stuff ***
-GST_REQ=1.7.1
-GSTPB_REQ=1.7.1
+GST_REQ=1.7.2
+GSTPB_REQ=1.7.2
dnl *** autotools stuff ****
@@ -451,7 +451,6 @@
videomeasure \
linsys \
apexsink dc1394 \
- gsettings \
musepack nas sdl timidity \
wininet \
xvid lv2 sndio libvisual"
@@ -502,6 +501,7 @@
AG_GST_CHECK_PLUGIN(mpegpsmux)
AG_GST_CHECK_PLUGIN(mve)
AG_GST_CHECK_PLUGIN(mxf)
+AG_GST_CHECK_PLUGIN(netsim)
AG_GST_CHECK_PLUGIN(nuvdemux)
AG_GST_CHECK_PLUGIN(onvif)
AG_GST_CHECK_PLUGIN(patchdetect)
@@ -509,7 +509,6 @@
AG_GST_CHECK_PLUGIN(pnm)
AG_GST_CHECK_PLUGIN(rawparse)
AG_GST_CHECK_PLUGIN(removesilence)
-AG_GST_CHECK_PLUGIN(rtp)
AG_GST_CHECK_PLUGIN(sdi)
AG_GST_CHECK_PLUGIN(sdp)
AG_GST_CHECK_PLUGIN(segmentclip)
@@ -1340,6 +1339,7 @@
GST_GL_HAVE_GLINTPTR=0
GST_GL_HAVE_GLSYNC=0
GST_GL_HAVE_GLUINT64=0
+GST_GL_HAVE_GLINT64=0
old_CFLAGS=$CFLAGS
CFLAGS="$GL_CFLAGS $CFLAGS"
@@ -1374,6 +1374,11 @@
GST_GL_HAVE_GLUINT64=1
fi
+AC_CHECK_TYPES(GLint64, [], [], [[$GL_INCLUDES]])
+if test "x$ac_cv_type_GLint64" = "xyes"; then
+ GST_GL_HAVE_GLINT64=1
+fi
+
CFLAGS=$old_CFLAGS
GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
@@ -1383,6 +1388,7 @@
#define GST_GL_HAVE_GLINTPTR $GST_GL_HAVE_GLINTPTR
#define GST_GL_HAVE_GLSYNC $GST_GL_HAVE_GLSYNC
#define GST_GL_HAVE_GLUINT64 $GST_GL_HAVE_GLUINT64
+#define GST_GL_HAVE_GLINT64 $GST_GL_HAVE_GLINT64
"
AC_CONFIG_COMMANDS([gst-libs/gst/gl/gstglconfig.h], [
@@ -1458,6 +1464,55 @@
AC_SUBST(HAVE_JPEG)
AM_CONDITIONAL(HAVE_JPEG, test "x$HAVE_JPEG" = "xyes")
+dnl Vulkan
+VULKAN_CONFIG_DEFINES=""
+
+PKG_CHECK_MODULES(XCB, xcb >= 1.10, HAVE_XCB=yes, HAVE_XCB=no)
+
+AM_CONDITIONAL(USE_XCB, test "x$HAVE_XCB" = "xyes")
+if test "x$HAVE_XCB" = "xyes"; then
+ VULKAN_CONFIG_DEFINES="$VULKAN_CONFIG_DEFINES
+ #define GST_VULKAN_HAVE_WINDOW_XCB 1"
+fi
+
+AC_CONFIG_COMMANDS([ext/vulkan/vkconfig.h], [
+ outfile=vkconfig.h-tmp
+ cat > $outfile <<\_______EOF
+/* vkconfig.h
+ *
+ * This is a generated file. Please modify `configure.ac'
+ */
+
+#ifndef __GST_VULKAN_CONFIG_H__
+#define __GST_VULKAN_CONFIG_H__
+
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+
+_______EOF
+
+ cat >>$outfile <<_______EOF
+$vulkan_config_defines
+_______EOF
+
+ cat >>$outfile <<_______EOF
+
+G_END_DECLS
+
+#endif /* __GST_VULKAN_CONFIG_H__ */
+_______EOF
+
+
+ if cmp -s $outfile ext/vulkan/vkconfig.h; then
+ AC_MSG_NOTICE([ext/vulkan/vkconfig.h is unchanged])
+ rm -f $outfile
+ else
+ mv $outfile ext/vulkan/vkconfig.h
+ fi
+],[
+vulkan_config_defines='$VULKAN_CONFIG_DEFINES'
+])
dnl *** sys plug-ins ***
@@ -1887,6 +1942,12 @@
])
AM_CONDITIONAL(USE_NVENC_GST_GL, test "x$USE_NVENC_GST_GL" = "xyes")
+dnl check for tinyalsa
+translit(dnm, m, l) AM_CONDITIONAL(USE_TINYALSA, true)
+AG_GST_CHECK_FEATURE(TINYALSA, [tinyalsa], tinyalsa, [
+ AC_CHECK_HEADER(tinyalsa/asoundlib.h, HAVE_TINYALSA="yes", HAVE_TINYALSA="no")
+])
+
dnl *** ext plug-ins ***
dnl keep this list sorted alphabetically !
@@ -2089,14 +2150,20 @@
dnl **** Wayland ****
translit(dnm, m, l) AM_CONDITIONAL(USE_WAYLAND, true)
+AC_PATH_PROG([wayland_scanner], [wayland-scanner])
AG_GST_CHECK_FEATURE(WAYLAND, [wayland sink], wayland , [
- PKG_CHECK_MODULES(WAYLAND, wayland-client >= 1.4.0 wayland-scanner, [
- HAVE_WAYLAND="yes" ], [ HAVE_WAYLAND="no"
+ 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
+ ],
+ [ HAVE_WAYLAND="no"
])
])
-AC_PATH_PROG([wayland_scanner], [wayland-scanner])
-
dnl **** WebP ****
translit(dnm, m, l) AM_CONDITIONAL(USE_WEBP, true)
AG_GST_CHECK_FEATURE(WEBP, [WebP], webp , [
@@ -2152,60 +2219,27 @@
AC_SUBST(FAAC_LIBS)
])
-dnl **** Free AAC Decoder (FAAD) ****
+dnl **** Free AAC Decoder (FAAD2) ****
translit(dnm, m, l) AM_CONDITIONAL(USE_FAAD, true)
-AG_GST_CHECK_FEATURE(FAAD, [AAC decoder plug-in], faad, [
- HAVE_FAAD="yes"
- faad_hdr=""
- AG_GST_CHECK_LIBHEADER(FAAD, faad, faacDecOpen, $LIBM, faad.h,
- FAAD_LIBS="-lfaad $LIBM", HAVE_FAAD="no")
- if test $HAVE_FAAD = "no"; then
- AG_GST_CHECK_LIBHEADER(FAAD, faad, NeAACDecOpen, $LIBM, neaacdec.h,
- [ FAAD_LIBS="-lfaad $LIBM"
- AC_DEFINE(FAAD_IS_NEAAC, 1, [Define if AAC is using new api prefix])
- faad_hdr="neaacdec.h"
- ], [
- HAVE_FAAD="no"
- ],)
- else
- faad_hdr="faad.h"
- fi
- if test $HAVE_FAAD = "yes"; then
- AC_MSG_CHECKING([Checking for FAAD >= 2.0])
+AG_GST_CHECK_FEATURE(FAAD, [FAAD2 AAC decoder plug-in], faad, [
+ AG_GST_CHECK_LIBHEADER(FAAD, faad, NeAACDecOpen, $LIBM, neaacdec.h, [
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <faad.h>]], [[
- #if !defined(FAAD2_VERSION) || !defined(FAAD_FMT_DOUBLE)
- #error Not faad2
- #else
- /* Release candidate of 2.0 is not good enough for us. This field
- * was added only in 2.0 final and does not exist in 2.0-RC3 */
- faacDecConfiguration conf; conf.dontUpSampleImplicitSBR = 1;
- #endif
+ #if !defined(FAAD2_VERSION) || !defined(FAAD_FMT_DOUBLE)
+ #error Not faad2
+ #elif !defined(LATM)
+ #error Not faad2 >= 2.7
+ #endif
]])],[
HAVE_FAAD="yes"
-
- AC_MSG_CHECKING([Checking FAAD2 version in $faad_hdr])
- for minor in 10 9 8 7 6 5 0; do
- if test x$faad2_minor_version = "x"; then
- AC_EGREP_CPP([\"2\.$minor\"$], [
- #include <$faad_hdr>
- FAAD2_VERSION
- ], [
- faad2_minor_version=$minor
- ])
- fi
- done
- if test x$faad2_minor_version = "x"; then
- AC_MSG_RESULT([no idea])
- else
- AC_MSG_RESULT([2.$faad2_minor_version])
- AC_DEFINE_UNQUOTED([FAAD2_MINOR_VERSION], [$faad2_minor_version], [The x in 2.x])
- fi
- ],[
+ FAAD_LIBS="-lfaad"
+ ], [
+ AC_MSG_WARN([Found libfaad, but version not recent enough. Need faad2 >= 2.7])
HAVE_FAAD="no"
])
- fi
+ ], [
+ HAVE_FAAD="no"
+ ])
AC_SUBST(FAAD_LIBS)
- AC_SUBST(FAAD_IS_NEAAC)
])
dnl *** fbdev ***
@@ -2476,14 +2510,6 @@
fi
])
-dnl *** mpg123 ***
-translit(dnm, m, l) AM_CONDITIONAL(USE_MPG123, true)
-AG_GST_CHECK_FEATURE(MPG123, [mpg123 audio decoder], mpg123, [
- PKG_CHECK_MODULES(MPG123, libmpg123 >= 1.13, HAVE_MPG123="yes", HAVE_MPG123="no")
- AC_SUBST(MPG123_CFLAGS)
- AC_SUBST(MPG123_LIBS)
-])
-
dnl *** mplex ***
translit(dnm, m, l) AM_CONDITIONAL(USE_MPLEX, true)
AG_GST_CHECK_FEATURE(MPLEX, [mplex], mplex, [
@@ -2749,17 +2775,7 @@
dnl *** rsvg ***
translit(dnm, m, l) AM_CONDITIONAL(USE_RSVG, true)
AG_GST_CHECK_FEATURE(RSVG, [rsvg decoder], rsvg, [
- PKG_CHECK_MODULES(RSVG, librsvg-2.0 >= 2.36 cairo, [
- HAVE_RSVG="yes"
- PKG_CHECK_MODULES(RSVG_2_36_2, librsvg-2.0 >= 2.36.2, HAVE_RSVG_2_36_2="yes", HAVE_RSVG_2_36_2="no")
- if test "x$HAVE_RSVG_2_36_2" = "xyes"; then
- AC_DEFINE(HAVE_RSVG_2_36_2, [1], [Have RSVG 2.36.2 or newer])
- fi
- ], [
- HAVE_RSVG="no"
- ])
- AC_SUBST(RSVG_CFLAGS)
- AC_SUBST(RSVG_LIBS)
+ AG_GST_PKG_CHECK_MODULES(RSVG, librsvg-2.0 >= 2.36.2)
])
dnl *** gl ***
@@ -2848,7 +2864,7 @@
# manually for the library one is using
PKG_CHECK_MODULES(GNUSTL, gnustl, [
QT_CFLAGS="$QT_CFLAGS $GNUSTL_CFLAGS"
- QT_LIBS="$QT_CFLAGS $GNUSTL_LIBS"
+ QT_LIBS="$QT_LIBS $GNUSTL_LIBS"
], [
AC_MSG_NOTICE([Could not find Standard C++ library])])
@@ -2890,6 +2906,22 @@
])
])
+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
+ fi
+ ], [])
+ ], [])
+])
+
dnl *** libvisual ***
translit(dnm, m, l) AM_CONDITIONAL(USE_LIBVISUAL, true)
AG_GST_CHECK_FEATURE(LIBVISUAL, [libvisual visualization library], libvisual, [
@@ -3211,15 +3243,6 @@
AC_SUBST(SPANDSP_CFLAGS)
AC_SUBST(SPANDSP_LIBS)
-dnl *** GSettings ***
-translit(dnm, m, l) AM_CONDITIONAL(USE_GSETTINGS, true)
-AG_GST_CHECK_FEATURE(GSETTINGS, [GSettings plugin], gsettings, [
- AG_GST_PKG_CHECK_MODULES(GSETTINGS, gio-2.0 >= 2.25.0)
- if test "x$HAVE_GSETTINGS" = "xyes"; then
- GLIB_GSETTINGS
- fi
-])
-
dnl *** sndio ***
translit(dnm, m, l) AM_CONDITIONAL(USE_SNDIO, true)
AG_GST_CHECK_FEATURE(SNDIO, [sndio audio], sndio, [
@@ -3341,7 +3364,6 @@
AM_CONDITIONAL(USE_MODPLUG, false)
AM_CONDITIONAL(USE_MIMIC, false)
AM_CONDITIONAL(USE_MPEG2ENC, false)
-AM_CONDITIONAL(USE_MPG123, false)
AM_CONDITIONAL(USE_MPLEX, false)
AM_CONDITIONAL(USE_MUSEPACK, false)
AM_CONDITIONAL(USE_NAS, false)
@@ -3366,7 +3388,6 @@
AM_CONDITIONAL(USE_SPC, false)
AM_CONDITIONAL(USE_SRTP, false)
AM_CONDITIONAL(USE_GME, false)
-AM_CONDITIONAL(USE_GSETTINGS, false)
AM_CONDITIONAL(USE_XVID, false)
AM_CONDITIONAL(USE_DVB, false)
AM_CONDITIONAL(USE_WININET, false)
@@ -3515,6 +3536,7 @@
gst/mpegpsmux/Makefile
gst/mve/Makefile
gst/mxf/Makefile
+gst/netsim/Makefile
gst/nuvdemux/Makefile
gst/onvif/Makefile
gst/patchdetect/Makefile
@@ -3522,7 +3544,6 @@
gst/pnm/Makefile
gst/rawparse/Makefile
gst/removesilence/Makefile
-gst/rtp/Makefile
gst/sdi/Makefile
gst/sdp/Makefile
gst/segmentclip/Makefile
@@ -3563,6 +3584,7 @@
gst-libs/gst/base/Makefile
gst-libs/gst/player/Makefile
gst-libs/gst/video/Makefile
+gst-libs/gst/audio/Makefile
sys/Makefile
sys/dshowdecwrapper/Makefile
sys/acmenc/Makefile
@@ -3583,6 +3605,7 @@
sys/nvenc/Makefile
sys/opensles/Makefile
sys/shm/Makefile
+sys/tinyalsa/Makefile
sys/uvch264/Makefile
sys/vcd/Makefile
sys/vdpau/Makefile
@@ -3654,7 +3677,6 @@
ext/Makefile
ext/modplug/Makefile
ext/mpeg2enc/Makefile
-ext/mpg123/Makefile
ext/mimic/Makefile
ext/mplex/Makefile
ext/musepack/Makefile
@@ -3683,10 +3705,10 @@
ext/srtp/Makefile
ext/teletextdec/Makefile
ext/gme/Makefile
-ext/gsettings/Makefile
-ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml
ext/spc/Makefile
ext/timidity/Makefile
+ext/vulkan/Makefile
+ext/vulkan/xcb/Makefile
ext/webp/Makefile
ext/x265/Makefile
ext/xvid/Makefile
@@ -3716,6 +3738,8 @@
pkgconfig/gstreamer-bad-base-uninstalled.pc
pkgconfig/gstreamer-bad-video.pc
pkgconfig/gstreamer-bad-video-uninstalled.pc
+pkgconfig/gstreamer-bad-audio.pc
+pkgconfig/gstreamer-bad-audio-uninstalled.pc
tools/Makefile
m4/Makefile
)
diff --git a/docs/Makefile.in b/docs/Makefile.in
index 0c53151..5a80f5e 100644
--- a/docs/Makefile.in
+++ b/docs/Makefile.in
@@ -114,16 +114,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -296,7 +295,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -318,7 +316,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -340,9 +337,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -504,6 +498,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -517,8 +512,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -605,8 +598,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -658,6 +649,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -678,6 +670,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -715,7 +709,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/docs/libs/Makefile.in b/docs/libs/Makefile.in
index ae32eb4..eaa7328 100644
--- a/docs/libs/Makefile.in
+++ b/docs/libs/Makefile.in
@@ -133,16 +133,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -258,7 +257,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -280,7 +278,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -302,9 +299,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -466,6 +460,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -479,8 +474,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -567,8 +560,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -620,6 +611,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -640,6 +632,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -677,7 +671,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/docs/libs/gst-plugins-bad-libs-sections.txt b/docs/libs/gst-plugins-bad-libs-sections.txt
index 84c435e..c672555 100644
--- a/docs/libs/gst-plugins-bad-libs-sections.txt
+++ b/docs/libs/gst-plugins-bad-libs-sections.txt
@@ -1445,7 +1445,6 @@
GstPlayer
gst_player_new
-gst_player_new_full
gst_player_play
gst_player_pause
diff --git a/docs/libs/html/GstGLBaseFilter.html b/docs/libs/html/GstGLBaseFilter.html
index b383e00..433b3f5 100644
--- a/docs/libs/html/GstGLBaseFilter.html
+++ b/docs/libs/html/GstGLBaseFilter.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstGLBaseFilter: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gl.html" title="OpenGL Helper Library">
<link rel="prev" href="gst-plugins-bad-libs-GstEGLImageMemory.html" title="GstEGLImageMemory">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="GstGLBaseFilter.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -51,7 +51,7 @@
</div>
<div class="refsect1">
<a name="GstGLBaseFilter.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -95,7 +95,7 @@
GL context from the pipeline.</p>
<div class="refsect3">
<a name="id-1.2.9.13.8.2.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -114,13 +114,14 @@
gboolean (*gl_start) (GstGLBaseFilter *filter);
void (*gl_stop) (GstGLBaseFilter *filter);
+ gboolean (*gl_set_caps) (GstGLBaseFilter *filter, GstCaps * incaps, GstCaps * outcaps);
gpointer _padding[GST_PADDING];
} GstGLBaseFilterClass;
</pre>
<div class="refsect3">
<a name="id-1.2.9.13.8.3.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -148,6 +149,12 @@
<td class="struct_member_annotations"> </td>
</tr>
<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLBaseFilterClass.gl-set-caps"></a>gl_set_caps</code></em> ()</p></td>
+<td class="struct_member_description"><p>called in the GL thread when caps are set on <em class="parameter"><code>filter</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
<td class="struct_member_name"><p><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GstGLBaseFilterClass.-padding"></a>_padding</code></em>[GST_PADDING];</p></td>
<td> </td>
<td> </td>
diff --git a/docs/libs/html/GstGLBufferPool.html b/docs/libs/html/GstGLBufferPool.html
index 5a87703..997e188 100644
--- a/docs/libs/html/GstGLBufferPool.html
+++ b/docs/libs/html/GstGLBufferPool.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstGLBufferPool: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gl.html" title="OpenGL Helper Library">
<link rel="prev" href="gst-plugins-bad-libs-GstGLAPI.html" title="GstGLAPI">
@@ -34,7 +34,7 @@
</tr></table></div>
<div class="refsect1">
<a name="GstGLBufferPool.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -51,7 +51,7 @@
</div>
<div class="refsect1">
<a name="GstGLBufferPool.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -92,7 +92,7 @@
gst_gl_buffer_pool_new (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.9.3.7.2.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
diff --git a/docs/libs/html/GstGLColorConvert.html b/docs/libs/html/GstGLColorConvert.html
index fbfc2c4..d3e6416 100644
--- a/docs/libs/html/GstGLColorConvert.html
+++ b/docs/libs/html/GstGLColorConvert.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstGLColorConvert: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gl.html" title="OpenGL Helper Library">
<link rel="prev" href="GstGLBufferPool.html" title="GstGLBufferPool">
@@ -34,7 +34,7 @@
</tr></table></div>
<div class="refsect1">
<a name="GstGLColorConvert.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -77,7 +77,7 @@
</div>
<div class="refsect1">
<a name="GstGLColorConvert.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -126,7 +126,7 @@
gst_gl_color_convert_new (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.9.4.7.2.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -155,7 +155,7 @@
with the information required for conversion.</p>
<div class="refsect3">
<a name="id-1.2.9.4.7.3.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -201,7 +201,7 @@
<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideo.html#GstVideoInfo"><span class="type">GstVideoInfo</span></a>s passed to <a class="link" href="GstGLColorConvert.html#gst-gl-color-convert-set-caps" title="gst_gl_color_convert_set_caps ()"><code class="function">gst_gl_color_convert_set_caps()</code></a></p>
<div class="refsect3">
<a name="id-1.2.9.4.7.5.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -258,7 +258,7 @@
</div>
<div class="refsect1">
<a name="GstGLColorConvert.see-also"></a><h2>See Also</h2>
-<p><a class="link" href="GstGLUpload.html" title="GstGLUpload"><span class="type">GstGLUpload</span></a>, <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-libs/html/GstGLDownload.html"><span class="type">GstGLDownload</span></a>, <a class="link" href="gst-plugins-bad-libs-gstglmemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p>
+<p><a class="link" href="GstGLUpload.html" title="GstGLUpload"><span class="type">GstGLUpload</span></a>, <span class="type">GstGLDownload</span>, <a class="link" href="gst-plugins-bad-libs-gstglmemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p>
</div>
</div>
<div class="footer">
diff --git a/docs/libs/html/GstGLContext.html b/docs/libs/html/GstGLContext.html
index 46377d2..4eaef85 100644
--- a/docs/libs/html/GstGLContext.html
+++ b/docs/libs/html/GstGLContext.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstGLContext: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gl.html" title="OpenGL Helper Library">
<link rel="prev" href="GstGLColorConvert.html" title="GstGLColorConvert">
@@ -34,7 +34,7 @@
</tr></table></div>
<div class="refsect1">
<a name="GstGLContext.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -249,7 +249,7 @@
</div>
<div class="refsect1">
<a name="GstGLContext.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -304,7 +304,7 @@
</p>
<div class="refsect3">
<a name="id-1.2.9.5.7.4.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -334,7 +334,7 @@
</p>
<div class="refsect3">
<a name="id-1.2.9.5.7.5.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -364,7 +364,7 @@
<p>Wraps an existing OpenGL context into a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a>.</p>
<div class="refsect3">
<a name="id-1.2.9.5.7.6.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -420,7 +420,7 @@
<p>Should only be called once.</p>
<div class="refsect3">
<a name="id-1.2.9.5.7.7.7"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -461,7 +461,7 @@
called for this context.</p>
<div class="refsect3">
<a name="id-1.2.9.5.7.8.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -488,7 +488,7 @@
currently set window. See <a class="link" href="GstGLContext.html#gst-gl-context-set-window" title="gst_gl_context_set_window ()"><code class="function">gst_gl_context_set_window()</code></a> for details.</p>
<div class="refsect3">
<a name="id-1.2.9.5.7.9.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -535,7 +535,7 @@
be retrieved using this method.</p>
<div class="refsect3">
<a name="id-1.2.9.5.7.11.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -568,7 +568,7 @@
gst_gl_context_get_window (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.9.5.7.12.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -601,7 +601,7 @@
already running.</p>
<div class="refsect3">
<a name="id-1.2.9.5.7.13.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -641,7 +641,7 @@
<p>MT-safe</p>
<div class="refsect3">
<a name="id-1.2.9.5.7.14.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -676,7 +676,7 @@
gst_gl_context_get_display (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.9.5.7.15.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -706,7 +706,7 @@
the <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> chosen.</p>
<div class="refsect3">
<a name="id-1.2.9.5.7.16.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -734,7 +734,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.9.5.7.17.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -762,7 +762,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.9.5.7.18.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -788,7 +788,7 @@
gst_gl_context_get_current_gl_context (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GstGLPlatform" title="enum GstGLPlatform"><span class="type">GstGLPlatform</span></a> platform</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.9.5.7.19.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -820,7 +820,7 @@
returned.</p>
<div class="refsect3">
<a name="id-1.2.9.5.7.20.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -859,7 +859,7 @@
gst_gl_context_get_thread (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.9.5.7.21.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -889,7 +889,7 @@
<p>Note: This will always fail for two wrapped <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a>'s</p>
<div class="refsect3">
<a name="id-1.2.9.5.7.22.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -928,7 +928,7 @@
determine their existence and so will fail if that is not the case.</p>
<div class="refsect3">
<a name="id-1.2.9.5.7.23.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -966,7 +966,7 @@
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> min</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.9.5.7.24.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1017,7 +1017,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.9.5.7.25.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1056,7 +1056,7 @@
allow wrapped contexts to be used as regular <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a>'s.</p>
<div class="refsect3">
<a name="id-1.2.9.5.7.26.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1090,7 +1090,7 @@
<a name="GstGLContextError"></a><h3>enum GstGLContextError</h3>
<div class="refsect3">
<a name="id-1.2.9.5.8.2.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
diff --git a/docs/libs/html/GstGLDisplay.html b/docs/libs/html/GstGLDisplay.html
index 0339415..e2c8fd1 100644
--- a/docs/libs/html/GstGLDisplay.html
+++ b/docs/libs/html/GstGLDisplay.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstGLDisplay: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gl.html" title="OpenGL Helper Library">
<link rel="prev" href="gst-plugins-bad-libs-GstGLContextWGL.html" title="GstGLContextWGL">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="GstGLDisplay.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -118,7 +118,7 @@
</div>
<div class="refsect1">
<a name="GstGLDisplay.signals"></a><h2>Signals</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="signals_return">
<col width="300px" class="signals_name">
@@ -134,7 +134,7 @@
</div>
<div class="refsect1">
<a name="GstGLDisplay.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -206,7 +206,7 @@
gst_gl_display_get_handle_type (<em class="parameter"><code><a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a> *display</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.9.11.8.3.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -239,7 +239,7 @@
API supported by a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a>.</p>
<div class="refsect3">
<a name="id-1.2.9.11.8.4.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -268,7 +268,7 @@
<p>see <a class="link" href="GstGLDisplay.html#gst-gl-display-filter-gl-api" title="gst_gl_display_filter_gl_api ()"><code class="function">gst_gl_display_filter_gl_api()</code></a> for what the returned value represents</p>
<div class="refsect3">
<a name="id-1.2.9.11.8.5.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -295,7 +295,7 @@
<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.9.11.8.6.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -334,7 +334,7 @@
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Threads.html#GThread"><span class="type">GThread</span></a> *thread</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.9.11.8.7.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -377,7 +377,7 @@
<em class="parameter"><code><a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a> **display</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.9.11.8.9.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -416,7 +416,7 @@
</p>
<div class="refsect3">
<a name="id-1.2.9.11.8.10.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -451,7 +451,7 @@
<a name="GstGLDisplayType"></a><h3>enum GstGLDisplayType</h3>
<div class="refsect3">
<a name="id-1.2.9.11.9.3.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -524,7 +524,7 @@
display's object lock held.</p>
<div class="refsect3">
<a name="id-1.2.9.11.10.2.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
diff --git a/docs/libs/html/GstGLFilter.html b/docs/libs/html/GstGLFilter.html
index f6ad33d..895facc 100644
--- a/docs/libs/html/GstGLFilter.html
+++ b/docs/libs/html/GstGLFilter.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstGLFilter: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gl.html" title="OpenGL Helper Library">
<link rel="prev" href="GstGLBaseFilter.html" title="GstGLBaseFilter">
@@ -34,7 +34,7 @@
</tr></table></div>
<div class="refsect1">
<a name="GstGLFilter.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -77,7 +77,7 @@
</div>
<div class="refsect1">
<a name="GstGLFilter.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -123,7 +123,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.9.14.7.2.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -175,7 +175,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.9.14.7.3.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -242,7 +242,7 @@
<p>See also: <a class="link" href="GstGLFilter.html#gst-gl-filter-render-to-target" title="gst_gl_filter_render_to_target ()"><code class="function">gst_gl_filter_render_to_target()</code></a></p>
<div class="refsect3">
<a name="id-1.2.9.14.7.4.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -290,7 +290,7 @@
automatic download if needed.</p>
<div class="refsect3">
<a name="id-1.2.9.14.7.5.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -331,7 +331,7 @@
<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBuffer.html"><span class="type">GstBuffer</span></a>s.</p>
<div class="refsect3">
<a name="id-1.2.9.14.8.2.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -362,7 +362,7 @@
</pre>
<div class="refsect3">
<a name="id-1.2.9.14.8.3.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
diff --git a/docs/libs/html/GstGLFramebuffer.html b/docs/libs/html/GstGLFramebuffer.html
index 607c8c4..4a9c8c8 100644
--- a/docs/libs/html/GstGLFramebuffer.html
+++ b/docs/libs/html/GstGLFramebuffer.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstGLFramebuffer: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gl.html" title="OpenGL Helper Library">
<link rel="prev" href="GstGLFilter.html" title="GstGLFilter">
@@ -34,7 +34,7 @@
</tr></table></div>
<div class="refsect1">
<a name="GstGLFramebuffer.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -77,7 +77,7 @@
</div>
<div class="refsect1">
<a name="GstGLFramebuffer.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/libs/html/GstGLUpload.html b/docs/libs/html/GstGLUpload.html
index 81e6363..39228b3 100644
--- a/docs/libs/html/GstGLUpload.html
+++ b/docs/libs/html/GstGLUpload.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstGLUpload: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gl.html" title="OpenGL Helper Library">
<link rel="prev" href="gst-plugins-bad-libs-GstGLSyncMeta.html" title="GstGLSyncMeta">
@@ -34,7 +34,7 @@
</tr></table></div>
<div class="refsect1">
<a name="GstGLUpload.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -93,7 +93,7 @@
</div>
<div class="refsect1">
<a name="GstGLUpload.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -125,7 +125,7 @@
gst_gl_upload_new (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.9.19.7.2.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -152,7 +152,7 @@
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstCaps.html"><span class="type">GstCaps</span></a> **out_caps</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.9.19.7.3.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -194,7 +194,7 @@
with the information required for upload.</p>
<div class="refsect3">
<a name="id-1.2.9.19.7.4.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -237,7 +237,7 @@
<p>Adds the required allocation parameters to support uploading.</p>
<div class="refsect3">
<a name="id-1.2.9.19.7.5.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -284,7 +284,7 @@
<a class="link" href="GstGLUpload.html#gst-gl-upload-set-caps" title="gst_gl_upload_set_caps ()"><code class="function">gst_gl_upload_set_caps()</code></a>.</p>
<div class="refsect3">
<a name="id-1.2.9.19.7.7.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -325,7 +325,7 @@
</div>
<div class="refsect1">
<a name="GstGLUpload.see-also"></a><h2>See Also</h2>
-<p><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-libs/html/GstGLDownload.html"><span class="type">GstGLDownload</span></a>, <a class="link" href="gst-plugins-bad-libs-gstglmemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p>
+<p><span class="type">GstGLDownload</span>, <a class="link" href="gst-plugins-bad-libs-gstglmemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p>
</div>
</div>
<div class="footer">
diff --git a/docs/libs/html/GstGLWindow.html b/docs/libs/html/GstGLWindow.html
index 91cb01e..90f9a6a 100644
--- a/docs/libs/html/GstGLWindow.html
+++ b/docs/libs/html/GstGLWindow.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstGLWindow: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gl.html" title="OpenGL Helper Library">
<link rel="prev" href="gst-plugins-bad-libs-Utilities.html" title="Utilities">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="GstGLWindow.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -230,7 +230,7 @@
</div>
<div class="refsect1">
<a name="GstGLWindow.signals"></a><h2>Signals</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="signals_return">
<col width="300px" class="signals_name">
@@ -252,7 +252,7 @@
</div>
<div class="refsect1">
<a name="GstGLWindow.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -332,7 +332,7 @@
gst_gl_window_new (<em class="parameter"><code><a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a> *display</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.9.21.8.8.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -361,7 +361,7 @@
<p>Redraw the window contents. Implementations should invoke the draw callback.</p>
<div class="refsect3">
<a name="id-1.2.9.21.8.9.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -384,7 +384,7 @@
<p>Whether the runloop is running</p>
<div class="refsect3">
<a name="id-1.2.9.21.8.10.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -407,7 +407,7 @@
<p>Quit the runloop's execution.</p>
<div class="refsect3">
<a name="id-1.2.9.21.8.11.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -430,7 +430,7 @@
<p>Start the execution of the runloop.</p>
<div class="refsect3">
<a name="id-1.2.9.21.8.12.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -452,7 +452,7 @@
gst_gl_window_get_context (<em class="parameter"><code><a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> *window</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.9.21.8.13.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -480,7 +480,7 @@
gst_gl_window_get_display (<em class="parameter"><code><a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> *window</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.9.21.8.14.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -513,7 +513,7 @@
have executed when this function returns.</p>
<div class="refsect3">
<a name="id-1.2.9.21.8.15.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -555,7 +555,7 @@
have been executed when this function returns.</p>
<div class="refsect3">
<a name="id-1.2.9.21.8.16.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -600,7 +600,7 @@
<p>Sets the callback called when the window is about to close.</p>
<div class="refsect3">
<a name="id-1.2.9.21.8.17.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -645,7 +645,7 @@
<p>Sets the draw callback called everytime <a class="link" href="GstGLWindow.html#gst-gl-window-draw" title="gst_gl_window_draw ()"><code class="function">gst_gl_window_draw()</code></a> is called</p>
<div class="refsect3">
<a name="id-1.2.9.21.8.18.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -690,7 +690,7 @@
<p>Sets the resize callback called everytime a resize of the window occurs.</p>
<div class="refsect3">
<a name="id-1.2.9.21.8.19.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -735,7 +735,7 @@
require this to be called with a valid handle before drawing can commence.</p>
<div class="refsect3">
<a name="id-1.2.9.21.8.20.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -764,7 +764,7 @@
gst_gl_window_get_window_handle (<em class="parameter"><code><a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> *window</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.9.21.8.21.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -794,7 +794,7 @@
to ignore this information.</p>
<div class="refsect3">
<a name="id-1.2.9.21.8.22.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -829,7 +829,7 @@
<p>Present the window to the screen.</p>
<div class="refsect3">
<a name="id-1.2.9.21.8.23.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -853,7 +853,7 @@
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *height</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.9.21.8.24.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -895,7 +895,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.9.21.8.25.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -923,7 +923,7 @@
<a name="GstGLWindowError"></a><h3>enum GstGLWindowError</h3>
<div class="refsect3">
<a name="id-1.2.9.21.9.2.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -982,7 +982,7 @@
</pre>
<div class="refsect3">
<a name="id-1.2.9.21.9.4.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -1092,7 +1092,7 @@
<p>Will be emitted when a key event is received by the GstGLwindow.</p>
<div class="refsect3">
<a name="id-1.2.9.21.10.2.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1138,7 +1138,7 @@
<p>Will be emitted when a mouse event is received by the GstGLwindow.</p>
<div class="refsect3">
<a name="id-1.2.9.21.10.3.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
diff --git a/docs/libs/html/annotation-glossary.html b/docs/libs/html/annotation-glossary.html
index 002195c..9d8ecbe 100644
--- a/docs/libs/html/annotation-glossary.html
+++ b/docs/libs/html/annotation-glossary.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Annotation Glossary: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="prev" href="api-index-deprecated.html" title="Index of deprecated API">
diff --git a/docs/libs/html/api-index-deprecated.html b/docs/libs/html/api-index-deprecated.html
index 1bb359a..f4cd866 100644
--- a/docs/libs/html/api-index-deprecated.html
+++ b/docs/libs/html/api-index-deprecated.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index of deprecated API: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="prev" href="api-index-full.html" title="Index">
diff --git a/docs/libs/html/api-index-full.html b/docs/libs/html/api-index-full.html
index 064c13f..b666dea 100644
--- a/docs/libs/html/api-index-full.html
+++ b/docs/libs/html/api-index-full.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="prev" href="gstreamer-libs-hierarchy.html" title="Part II. Object Hierarchy">
@@ -2920,10 +2920,6 @@
</dt>
<dd></dd>
<dt>
-<a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-new-full" title="gst_player_new_full ()">gst_player_new_full</a>, function in <a class="link" href="gst-plugins-bad-libs-gstplayer.html" title="gstplayer">gstplayer</a>
-</dt>
-<dd></dd>
-<dt>
<a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-pause" title="gst_player_pause ()">gst_player_pause</a>, function in <a class="link" href="gst-plugins-bad-libs-gstplayer.html" title="gstplayer">gstplayer</a>
</dt>
<dd></dd>
diff --git a/docs/libs/html/base.html b/docs/libs/html/base.html
index 4e4f768..ee826c0 100644
--- a/docs/libs/html/base.html
+++ b/docs/libs/html/base.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GStreamer Base classes from gst-plugins-bad: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-plugins-bad.html" title="Part I. GStreamer Bad Plugins Libraries">
<link rel="prev" href="gst-plugins-bad-libs-GstInsertbin.html" title="GstInsertbin">
diff --git a/docs/libs/html/ch08.html b/docs/libs/html/ch08.html
index 7698ec2..5f145ee 100644
--- a/docs/libs/html/ch08.html
+++ b/docs/libs/html/ch08.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Interfaces: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-plugins-bad.html" title="Part I. GStreamer Bad Plugins Libraries">
<link rel="prev" href="gst-plugins-bad-libs-gstplayer-visualization.html" title="gstplayer-visualization">
diff --git a/docs/libs/html/codecparsers.html b/docs/libs/html/codecparsers.html
index a776dea..1259078 100644
--- a/docs/libs/html/codecparsers.html
+++ b/docs/libs/html/codecparsers.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Bitstream parsing Library: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-plugins-bad.html" title="Part I. GStreamer Bad Plugins Libraries">
<link rel="prev" href="compiling.html" title="Compiling">
diff --git a/docs/libs/html/compiling.html b/docs/libs/html/compiling.html
index be3610f..c9ca33b 100644
--- a/docs/libs/html/compiling.html
+++ b/docs/libs/html/compiling.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Compiling: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-plugins-bad.html" title="Part I. GStreamer Bad Plugins Libraries">
<link rel="prev" href="gstreamer-plugins-bad.html" title="Part I. GStreamer Bad Plugins Libraries">
diff --git a/docs/libs/html/gl.html b/docs/libs/html/gl.html
index d0e1b06..53e0606 100644
--- a/docs/libs/html/gl.html
+++ b/docs/libs/html/gl.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>OpenGL Helper Library: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-plugins-bad.html" title="Part I. GStreamer Bad Plugins Libraries">
<link rel="prev" href="gst-plugins-bad-libs-GstVideoAggregatorPad.html" title="GstVideoAggregatorPad">
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 5377a28..7778a0e 100644
--- a/docs/libs/html/gst-plugins-bad-libs-1.0.devhelp2
+++ b/docs/libs/html/gst-plugins-bad-libs-1.0.devhelp2
@@ -669,7 +669,6 @@
<keyword type="struct" name="struct GstGLWindowX11" link="gst-plugins-bad-libs-GstGLWindowX11.html#GstGLWindowX11"/>
<keyword type="struct" name="struct GstGLWindowX11Class" link="gst-plugins-bad-libs-GstGLWindowX11.html#GstGLWindowX11Class"/>
<keyword type="function" name="gst_player_new ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-new"/>
- <keyword type="function" name="gst_player_new_full ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-new-full"/>
<keyword type="function" name="gst_player_play ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-play"/>
<keyword type="function" name="gst_player_pause ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-pause"/>
<keyword type="function" name="gst_player_stop ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-stop"/>
@@ -797,7 +796,7 @@
<keyword type="function" name="gst_photography_get_flash_mode ()" link="gst-plugins-bad-libs-GstPhotography.html#gst-photography-get-flash-mode"/>
<keyword type="function" name="gst_photography_get_flicker_mode ()" link="gst-plugins-bad-libs-GstPhotography.html#gst-photography-get-flicker-mode"/>
<keyword type="function" name="gst_photography_get_focus_mode ()" link="gst-plugins-bad-libs-GstPhotography.html#gst-photography-get-focus-mode"/>
- <keyword type="function" name="gst_photography_get_noise_reduction ()" link="gst-plugins-bad-libs-GstPhotography.html#gst-photography-get-noise-reduction" since="0.10.21"/>
+ <keyword type="function" name="gst_photography_get_noise_reduction ()" link="gst-plugins-bad-libs-GstPhotography.html#gst-photography-get-noise-reduction"/>
<keyword type="function" name="gst_photography_get_zoom ()" link="gst-plugins-bad-libs-GstPhotography.html#gst-photography-get-zoom"/>
<keyword type="function" name="gst_photography_set_ev_compensation ()" link="gst-plugins-bad-libs-GstPhotography.html#gst-photography-set-ev-compensation"/>
<keyword type="function" name="gst_photography_set_iso_speed ()" link="gst-plugins-bad-libs-GstPhotography.html#gst-photography-set-iso-speed"/>
@@ -809,7 +808,7 @@
<keyword type="function" name="gst_photography_set_flash_mode ()" link="gst-plugins-bad-libs-GstPhotography.html#gst-photography-set-flash-mode"/>
<keyword type="function" name="gst_photography_set_flicker_mode ()" link="gst-plugins-bad-libs-GstPhotography.html#gst-photography-set-flicker-mode"/>
<keyword type="function" name="gst_photography_set_focus_mode ()" link="gst-plugins-bad-libs-GstPhotography.html#gst-photography-set-focus-mode"/>
- <keyword type="function" name="gst_photography_set_noise_reduction ()" link="gst-plugins-bad-libs-GstPhotography.html#gst-photography-set-noise-reduction" since="0.10.21"/>
+ <keyword type="function" name="gst_photography_set_noise_reduction ()" link="gst-plugins-bad-libs-GstPhotography.html#gst-photography-set-noise-reduction"/>
<keyword type="function" name="gst_photography_set_zoom ()" link="gst-plugins-bad-libs-GstPhotography.html#gst-photography-set-zoom"/>
<keyword type="function" name="gst_photography_get_capabilities ()" link="gst-plugins-bad-libs-GstPhotography.html#gst-photography-get-capabilities"/>
<keyword type="function" name="gst_photography_prepare_for_capture ()" link="gst-plugins-bad-libs-GstPhotography.html#gst-photography-prepare-for-capture"/>
@@ -817,7 +816,7 @@
<keyword type="function" name="gst_photography_set_config ()" link="gst-plugins-bad-libs-GstPhotography.html#gst-photography-set-config"/>
<keyword type="function" name="gst_photography_get_config ()" link="gst-plugins-bad-libs-GstPhotography.html#gst-photography-get-config"/>
<keyword type="struct" name="GstPhotography" link="gst-plugins-bad-libs-GstPhotography.html#GstPhotography"/>
- <keyword type="enum" name="enum GstPhotographyNoiseReduction" link="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyNoiseReduction" since="0.10.21"/>
+ <keyword type="enum" name="enum GstPhotographyNoiseReduction" link="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyNoiseReduction"/>
<keyword type="enum" name="enum GstPhotographyWhiteBalanceMode" link="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyWhiteBalanceMode"/>
<keyword type="enum" name="enum GstPhotographyColorToneMode" link="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyColorToneMode"/>
<keyword type="enum" name="enum GstPhotographySceneMode" link="gst-plugins-bad-libs-GstPhotography.html#GstPhotographySceneMode"/>
diff --git a/docs/libs/html/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html b/docs/libs/html/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html
index cb6b969..7bb131e 100644
--- a/docs/libs/html/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html
+++ b/docs/libs/html/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ATSC variants of MPEG-TS descriptors: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="mpegts.html" title="Mpeg TS helper library">
<link rel="prev" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html" title="DVB variants of MPEG-TS sections">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -65,7 +65,7 @@
<p>Consult the relevant specifications for more details.</p>
<div class="refsect3">
<a name="id-1.2.5.8.7.2.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html b/docs/libs/html/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html
index e879118..1bb831b 100644
--- a/docs/libs/html/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html
+++ b/docs/libs/html/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ATSC variants of MPEG-TS sections: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="mpegts.html" title="Mpeg TS helper library">
<link rel="prev" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html" title="Base MPEG-TS descriptors">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -101,7 +101,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -172,7 +172,7 @@
</p>
<div class="refsect3">
<a name="id-1.2.5.6.7.2.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -200,7 +200,7 @@
</p>
<div class="refsect3">
<a name="id-1.2.5.6.7.3.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -228,7 +228,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.6.7.4.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -263,7 +263,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.6.7.6.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -291,7 +291,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.6.7.7.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -319,7 +319,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.6.7.8.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -354,7 +354,7 @@
<p>see also: <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSectionTableID" title="enum GstMpegtsSectionTableID"><span class="type">GstMpegtsSectionTableID</span></a></p>
<div class="refsect3">
<a name="id-1.2.5.6.8.2.6"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -478,7 +478,7 @@
, can be used both for TVCT and CVCT tables</p>
<div class="refsect3">
<a name="id-1.2.5.6.8.3.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -584,7 +584,7 @@
Cable Virtual Channel Table (A65)</p>
<div class="refsect3">
<a name="id-1.2.5.6.8.4.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -620,7 +620,7 @@
<a name="GstMpegtsAtscMGTTableType"></a><h3>enum GstMpegtsAtscMGTTableType</h3>
<div class="refsect3">
<a name="id-1.2.5.6.8.5.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -666,7 +666,7 @@
</p>
<div class="refsect3">
<a name="id-1.2.5.6.8.6.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -715,7 +715,7 @@
<p>Master Guide Table (A65)</p>
<div class="refsect3">
<a name="id-1.2.5.6.8.7.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -756,7 +756,7 @@
</pre>
<div class="refsect3">
<a name="id-1.2.5.6.8.8.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -793,7 +793,7 @@
<p>An ATSC EIT Event</p>
<div class="refsect3">
<a name="id-1.2.5.6.8.9.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -847,7 +847,7 @@
<p>Event Information Table (ATSC)</p>
<div class="refsect3">
<a name="id-1.2.5.6.8.10.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -887,7 +887,7 @@
<p>Extended Text Table (ATSC)</p>
<div class="refsect3">
<a name="id-1.2.5.6.8.11.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -936,7 +936,7 @@
<p>System Time Table (A65)</p>
<div class="refsect3">
<a name="id-1.2.5.6.8.12.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html b/docs/libs/html/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html
index 3f3e64e..6511d48 100644
--- a/docs/libs/html/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html
+++ b/docs/libs/html/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Base MPEG-TS descriptors: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="mpegts.html" title="Mpeg TS helper library">
<link rel="prev" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">
@@ -34,7 +34,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -116,7 +116,7 @@
</div>
<a name="GstMpegtsDescriptor"></a><div class="refsect1">
<a name="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -186,7 +186,7 @@
array of descriptors, iterate the <a href="https://developer.gnome.org/glib/unstable/glib-Arrays.html#GArray"><span class="type">GArray</span></a> manually.</p>
<div class="refsect3">
<a name="id-1.2.5.5.9.2.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -227,7 +227,7 @@
will not be copied.</p>
<div class="refsect3">
<a name="id-1.2.5.5.9.3.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -268,7 +268,7 @@
</p>
<div class="refsect3">
<a name="id-1.2.5.5.9.4.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -311,7 +311,7 @@
<p>Return: <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a>, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on failure</p>
<div class="refsect3">
<a name="id-1.2.5.5.9.5.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -351,7 +351,7 @@
ISO 639-1 language code from the returned ISO 639-2 one.</p>
<div class="refsect3">
<a name="id-1.2.5.5.9.6.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -391,7 +391,7 @@
ISO 639-1 language code from the returned ISO 639-2 one.</p>
<div class="refsect3">
<a name="id-1.2.5.5.9.7.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -434,7 +434,7 @@
(<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.5.5.9.8.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -471,7 +471,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.5.9.10.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -511,7 +511,7 @@
<p>Mpeg-TS descriptor (ISO/IEC 13818-1).</p>
<div class="refsect3">
<a name="id-1.2.5.5.10.2.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -555,7 +555,7 @@
<p>Consult the relevant specifications for more details.</p>
<div class="refsect3">
<a name="id-1.2.5.5.10.3.6"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -844,7 +844,7 @@
not yet identified from known specifications.</p>
<div class="refsect3">
<a name="id-1.2.5.5.10.4.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -880,7 +880,7 @@
<a name="GstMpegtsIso639AudioType"></a><h3>enum GstMpegtsIso639AudioType</h3>
<div class="refsect3">
<a name="id-1.2.5.5.10.6.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-Base-MPEG-TS-sections.html b/docs/libs/html/gst-plugins-bad-libs-Base-MPEG-TS-sections.html
index c7740c4..4ee4907 100644
--- a/docs/libs/html/gst-plugins-bad-libs-Base-MPEG-TS-sections.html
+++ b/docs/libs/html/gst-plugins-bad-libs-Base-MPEG-TS-sections.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Base MPEG-TS sections: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="mpegts.html" title="Mpeg TS helper library">
<link rel="prev" href="gst-plugins-bad-libs-Mpeg-ts-helper-library.html" title="Mpeg-ts helper library">
@@ -34,7 +34,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-Base-MPEG-TS-sections.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -190,7 +190,7 @@
</div>
<a name="GstMpegtsSection"></a><div class="refsect1">
<a name="gst-plugins-bad-libs-Base-MPEG-TS-sections.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -264,7 +264,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.4.9.3.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -299,7 +299,7 @@
<p>Returns the <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> contained in a message.</p>
<div class="refsect3">
<a name="id-1.2.5.4.9.4.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -330,7 +330,7 @@
<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a>.</p>
<div class="refsect3">
<a name="id-1.2.5.4.9.5.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -364,7 +364,7 @@
<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstEvent.html"><span class="type">GstEvent</span></a></p>
<div class="refsect3">
<a name="id-1.2.5.4.9.6.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -394,7 +394,7 @@
immediately. Otherwise, the data field is allocated and populated.</p>
<div class="refsect3">
<a name="id-1.2.5.4.9.7.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -438,7 +438,7 @@
to the beginning of the section.</p>
<div class="refsect3">
<a name="id-1.2.5.4.9.8.7"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -496,7 +496,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.4.9.11.7"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -551,7 +551,7 @@
array of <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-libs/html/gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPatProgram"><span class="type">GstMpegtsPatPrograms</span></a></p>
<div class="refsect3">
<a name="id-1.2.5.4.9.14.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -586,7 +586,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.4.9.15.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -640,7 +640,7 @@
</p>
<div class="refsect3">
<a name="id-1.2.5.4.9.18.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -674,7 +674,7 @@
<p>Returns the array of <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> contained in the section</p>
<div class="refsect3">
<a name="id-1.2.5.4.9.19.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -704,7 +704,7 @@
Access Table.</p>
<div class="refsect3">
<a name="id-1.2.5.4.9.20.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -750,7 +750,7 @@
<p>Mpeg-TS Section Information (SI) (ISO/IEC 13818-1)</p>
<div class="refsect3">
<a name="id-1.2.5.4.10.2.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -816,7 +816,7 @@
<span class="type">GstMpegtsSectionSCTETableID</span></p>
<div class="refsect3">
<a name="id-1.2.5.4.10.3.6"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -908,7 +908,7 @@
<p>Types of <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> that the library handles.</p>
<div class="refsect3">
<a name="id-1.2.5.4.10.4.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -1049,7 +1049,7 @@
<p>A program entry from a Program Association Table (ITU H.222.0, ISO/IEC 13818-1).</p>
<div class="refsect3">
<a name="id-1.2.5.4.10.5.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -1086,7 +1086,7 @@
container <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a>.</p>
<div class="refsect3">
<a name="id-1.2.5.4.10.6.6"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -1130,7 +1130,7 @@
<p>An individual stream definition.</p>
<div class="refsect3">
<a name="id-1.2.5.4.10.7.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -1167,7 +1167,7 @@
<p>Corresponds to table 2-34 of ITU H.222.0 | ISO/IEC 13818-1</p>
<div class="refsect3">
<a name="id-1.2.5.4.10.8.6"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html b/docs/libs/html/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html
index edeca4b..12009b4 100644
--- a/docs/libs/html/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html
+++ b/docs/libs/html/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>DVB variants of MPEG-TS descriptors: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="mpegts.html" title="Mpeg TS helper library">
<link rel="prev" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html" title="ATSC variants of MPEG-TS descriptors">
@@ -34,7 +34,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -370,7 +370,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -554,7 +554,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.2.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -597,7 +597,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.4.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -640,7 +640,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.6.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -676,7 +676,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.7.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -712,7 +712,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.8.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -748,7 +748,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.9.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -791,7 +791,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.11.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -829,7 +829,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.12.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -875,7 +875,7 @@
:</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.13.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -912,7 +912,7 @@
will be allocated, and transferred to the caller.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.14.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -944,7 +944,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.15.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -992,7 +992,7 @@
and transferred to the caller.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.16.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1039,7 +1039,7 @@
. The language is in ISO639 format.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.17.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1094,7 +1094,7 @@
</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.18.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1129,7 +1129,7 @@
ISO 639-1 language code from the returned ISO 639-2 one.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.19.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1182,7 +1182,7 @@
(<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.5.9.8.20.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1212,7 +1212,7 @@
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint16"><span class="type">guint16</span></a> ancillary</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.5.9.8.21.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1258,7 +1258,7 @@
(<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageDescriptor" title="struct GstMpegtsDVBLinkageDescriptor"><span class="type">GstMpegtsDVBLinkageDescriptor</span></a> *desc</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.5.9.8.23.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1284,7 +1284,7 @@
(<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageDescriptor" title="struct GstMpegtsDVBLinkageDescriptor"><span class="type">GstMpegtsDVBLinkageDescriptor</span></a> *desc</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.5.9.8.24.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1310,7 +1310,7 @@
(<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageDescriptor" title="struct GstMpegtsDVBLinkageDescriptor"><span class="type">GstMpegtsDVBLinkageDescriptor</span></a> *desc</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.5.9.8.25.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1340,7 +1340,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.26.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1378,7 +1378,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.27.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1426,7 +1426,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.28.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1475,7 +1475,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.30.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1511,7 +1511,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.31.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1553,7 +1553,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.32.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1599,7 +1599,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.33.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1635,7 +1635,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.34.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1671,7 +1671,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.35.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1709,7 +1709,7 @@
:</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.36.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1745,7 +1745,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.37.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1781,7 +1781,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.38.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1810,7 +1810,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.39.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1847,7 +1847,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.40.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1884,7 +1884,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.41.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1922,7 +1922,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.9.8.42.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1964,7 +1964,7 @@
<p>Consult the relevant specifications for more details.</p>
<div class="refsect3">
<a name="id-1.2.5.9.9.2.6"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -2304,7 +2304,7 @@
<p>Consult the relevant specifications for more details.</p>
<div class="refsect3">
<a name="id-1.2.5.9.9.3.6"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -2455,7 +2455,7 @@
<p>Extended Event Descriptor (EN 300 468 v.1.13.1)</p>
<div class="refsect3">
<a name="id-1.2.5.9.9.7.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -2511,7 +2511,7 @@
<p>Satellite Delivery System Descriptor (EN 300 468 v.1.13.1)</p>
<div class="refsect3">
<a name="id-1.2.5.9.9.8.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -2573,7 +2573,7 @@
<a name="GstMpegtsDVBCodeRate"></a><h3>enum GstMpegtsDVBCodeRate</h3>
<div class="refsect3">
<a name="id-1.2.5.9.9.9.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -2654,7 +2654,7 @@
<a name="GstMpegtsModulationType"></a><h3>enum GstMpegtsModulationType</h3>
<div class="refsect3">
<a name="id-1.2.5.9.9.10.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -2745,7 +2745,7 @@
<a name="GstMpegtsSatellitePolarizationType"></a><h3>enum GstMpegtsSatellitePolarizationType</h3>
<div class="refsect3">
<a name="id-1.2.5.9.9.11.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -2781,7 +2781,7 @@
<a name="GstMpegtsSatelliteRolloff"></a><h3>enum GstMpegtsSatelliteRolloff</h3>
<div class="refsect3">
<a name="id-1.2.5.9.9.12.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -2832,7 +2832,7 @@
<p>Cable Delivery System Descriptor (EN 300 468 v.1.13.1)</p>
<div class="refsect3">
<a name="id-1.2.5.9.9.13.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -2873,7 +2873,7 @@
<a name="GstMpegtsCableOuterFECScheme"></a><h3>enum GstMpegtsCableOuterFECScheme</h3>
<div class="refsect3">
<a name="id-1.2.5.9.9.14.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -2920,7 +2920,7 @@
<p>Terrestrial Delivery System Descriptor (EN 300 468 v.1.13.1)</p>
<div class="refsect3">
<a name="id-1.2.5.9.9.15.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -2996,7 +2996,7 @@
<a name="GstMpegtsTerrestrialTransmissionMode"></a><h3>enum GstMpegtsTerrestrialTransmissionMode</h3>
<div class="refsect3">
<a name="id-1.2.5.9.9.16.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -3057,7 +3057,7 @@
<a name="GstMpegtsTerrestrialGuardInterval"></a><h3>enum GstMpegtsTerrestrialGuardInterval</h3>
<div class="refsect3">
<a name="id-1.2.5.9.9.17.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -3128,7 +3128,7 @@
<a name="GstMpegtsTerrestrialHierarchy"></a><h3>enum GstMpegtsTerrestrialHierarchy</h3>
<div class="refsect3">
<a name="id-1.2.5.9.9.18.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -3174,7 +3174,7 @@
</pre>
<div class="refsect3">
<a name="id-1.2.5.9.9.19.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -3206,7 +3206,7 @@
</pre>
<div class="refsect3">
<a name="id-1.2.5.9.9.20.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -3251,7 +3251,7 @@
<p>describe DVB-T2 transmissions according to EN 302 755</p>
<div class="refsect3">
<a name="id-1.2.5.9.9.21.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -3314,7 +3314,7 @@
<p>As specified in Table 87 of ETSI EN 300 468 v1.13.1</p>
<div class="refsect3">
<a name="id-1.2.5.9.9.22.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -3472,7 +3472,7 @@
<p>As specified in Table 100 of ETSI EN 300 468 v1.13.1</p>
<div class="refsect3">
<a name="id-1.2.5.9.9.23.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -3514,7 +3514,7 @@
<p>Linkage Type (EN 300 468 v.1.13.1)</p>
<div class="refsect3">
<a name="id-1.2.5.9.9.24.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -3605,7 +3605,7 @@
<a name="GstMpegtsDVBLinkageHandOverType"></a><h3>enum GstMpegtsDVBLinkageHandOverType</h3>
<div class="refsect3">
<a name="id-1.2.5.9.9.25.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -3694,7 +3694,7 @@
</pre>
<div class="refsect3">
<a name="id-1.2.5.9.9.29.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -3749,7 +3749,7 @@
</pre>
<div class="refsect3">
<a name="id-1.2.5.9.9.30.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -3796,7 +3796,7 @@
<a name="GstMpegtsDVBScramblingModeType"></a><h3>enum GstMpegtsDVBScramblingModeType</h3>
<div class="refsect3">
<a name="id-1.2.5.9.9.31.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -3871,7 +3871,7 @@
</pre>
<div class="refsect3">
<a name="id-1.2.5.9.9.33.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -3903,7 +3903,7 @@
<p>a multilingual network name entry</p>
<div class="refsect3">
<a name="id-1.2.5.9.9.34.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -3935,7 +3935,7 @@
<p>a multilingual bouquet name entry</p>
<div class="refsect3">
<a name="id-1.2.5.9.9.35.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -3968,7 +3968,7 @@
<p>a multilingual service name entry</p>
<div class="refsect3">
<a name="id-1.2.5.9.9.36.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -4004,7 +4004,7 @@
</pre>
<div class="refsect3">
<a name="id-1.2.5.9.9.37.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html b/docs/libs/html/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html
index 60cfa7d..add57a5 100644
--- a/docs/libs/html/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html
+++ b/docs/libs/html/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>DVB variants of MPEG-TS sections: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="mpegts.html" title="Mpeg TS helper library">
<link rel="prev" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html" title="ATSC variants of MPEG-TS sections">
@@ -34,7 +34,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -136,7 +136,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -213,7 +213,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.7.8.2.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -266,7 +266,7 @@
is managed by the <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a></p>
<div class="refsect3">
<a name="id-1.2.5.7.8.5.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -294,7 +294,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.7.8.6.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -322,7 +322,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.7.8.7.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -375,7 +375,7 @@
is managed by the <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a></p>
<div class="refsect3">
<a name="id-1.2.5.7.8.10.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -403,7 +403,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.7.8.11.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -430,7 +430,7 @@
<p>Returns the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstDateTime.html"><span class="type">GstDateTime</span></a> of the TDT</p>
<div class="refsect3">
<a name="id-1.2.5.7.8.12.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -458,7 +458,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.5.7.8.13.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -487,7 +487,7 @@
<p>see also: <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSectionTableID" title="enum GstMpegtsSectionTableID"><span class="type">GstMpegtsSectionTableID</span></a></p>
<div class="refsect3">
<a name="id-1.2.5.7.9.2.6"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -703,7 +703,7 @@
<p>Network Information Table (ISO/IEC 13818-1 / EN 300 468)</p>
<div class="refsect3">
<a name="id-1.2.5.7.9.3.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -746,7 +746,7 @@
</pre>
<div class="refsect3">
<a name="id-1.2.5.7.9.4.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -784,7 +784,7 @@
<p>DVB Bouquet Association Table (EN 300 468)</p>
<div class="refsect3">
<a name="id-1.2.5.7.9.5.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -830,7 +830,7 @@
<p>Service Description Table (EN 300 468)</p>
<div class="refsect3">
<a name="id-1.2.5.7.9.7.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -877,7 +877,7 @@
</pre>
<div class="refsect3">
<a name="id-1.2.5.7.9.8.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -936,7 +936,7 @@
<p>Event Information Table (EN 300 468)</p>
<div class="refsect3">
<a name="id-1.2.5.7.9.9.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -1001,7 +1001,7 @@
</p>
<div class="refsect3">
<a name="id-1.2.5.7.9.10.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -1049,7 +1049,7 @@
<p>Corresponds to table 6 of ETSI EN 300 468 (v1.13.0)</p>
<div class="refsect3">
<a name="id-1.2.5.7.9.11.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -1102,7 +1102,7 @@
<p>Time Offset Table (EN 300 468)</p>
<div class="refsect3">
<a name="id-1.2.5.7.9.12.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstAggregator.html b/docs/libs/html/gst-plugins-bad-libs-GstAggregator.html
index 8c13670..c27b39c 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstAggregator.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstAggregator.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstAggregator: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="base.html" title="GStreamer Base classes from gst-plugins-bad">
<link rel="prev" href="base.html" title="GStreamer Base classes from gst-plugins-bad">
@@ -34,7 +34,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstAggregator.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -77,7 +77,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstAggregator.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -145,7 +145,7 @@
sent before pushing the buffer.</p>
<div class="refsect3">
<a name="id-1.2.7.2.6.2.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -175,7 +175,7 @@
<p>Sets the caps to be used on the src pad.</p>
<div class="refsect3">
<a name="id-1.2.7.2.6.3.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -209,7 +209,7 @@
sink pad.</p>
<div class="refsect3">
<a name="id-1.2.7.2.6.4.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -248,7 +248,7 @@
<p>Typically only called by subclasses.</p>
<div class="refsect3">
<a name="id-1.2.7.2.6.5.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -283,7 +283,7 @@
<p>Aggregator base class object structure.</p>
<div class="refsect3">
<a name="id-1.2.7.2.7.2.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -369,7 +369,7 @@
_finish_buffer from inside that function.</p>
<div class="refsect3">
<a name="id-1.2.7.2.7.3.7"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstAggregatorPad.html b/docs/libs/html/gst-plugins-bad-libs-GstAggregatorPad.html
index 11dcb33..59fe84a 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstAggregatorPad.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstAggregatorPad.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstAggregatorPad: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="base.html" title="GStreamer Base classes from gst-plugins-bad">
<link rel="prev" href="gst-plugins-bad-libs-GstAggregator.html" title="GstAggregator">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstAggregatorPad.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -76,7 +76,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstAggregatorPad.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -106,7 +106,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.7.3.6.2.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -134,7 +134,7 @@
gst_aggregator_pad_get_buffer (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstAggregatorPad.html#GstAggregatorPad" title="struct GstAggregatorPad"><span class="type">GstAggregatorPad</span></a> *pad</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.7.3.6.3.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -165,7 +165,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.7.3.6.4.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -212,7 +212,7 @@
<p>The implementation the GstPad to use with <a class="link" href="gst-plugins-bad-libs-GstAggregator.html#GstAggregator" title="struct GstAggregator"><span class="type">GstAggregator</span></a></p>
<div class="refsect3">
<a name="id-1.2.7.3.7.2.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -259,7 +259,7 @@
</pre>
<div class="refsect3">
<a name="id-1.2.7.3.7.3.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstEGLImageMemory.html b/docs/libs/html/gst-plugins-bad-libs-GstEGLImageMemory.html
index 4e2e23b..44272b8 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstEGLImageMemory.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstEGLImageMemory.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstEGLImageMemory: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gl.html" title="OpenGL Helper Library">
<link rel="prev" href="GstGLDisplay.html" title="GstGLDisplay">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstEGLImageMemory.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -100,7 +100,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstEGLImageMemory.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLAPI.html b/docs/libs/html/gst-plugins-bad-libs-GstGLAPI.html
index 4035ec5..80fb6eb 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLAPI.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLAPI.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstGLAPI: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gl.html" title="OpenGL Helper Library">
<link rel="prev" href="gl.html" title="OpenGL Helper Library">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstGLAPI.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -84,7 +84,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstGLAPI.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -128,7 +128,7 @@
gst_gl_api_to_string (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GstGLAPI" title="enum GstGLAPI"><span class="type">GstGLAPI</span></a> api</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.9.2.6.2.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -154,7 +154,7 @@
gst_gl_api_from_string (<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *api_s</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.9.2.6.3.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -180,7 +180,7 @@
gst_gl_platform_to_string (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GstGLPlatform" title="enum GstGLPlatform"><span class="type">GstGLPlatform</span></a> api</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.9.2.6.4.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -206,7 +206,7 @@
gst_gl_platform_from_string (<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *platform_s</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.9.2.6.5.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -239,7 +239,7 @@
<a name="GstGLAPI"></a><h3>enum GstGLAPI</h3>
<div class="refsect3">
<a name="id-1.2.9.2.7.2.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -285,7 +285,7 @@
<a name="GstGLPlatform"></a><h3>enum GstGLPlatform</h3>
<div class="refsect3">
<a name="id-1.2.9.2.7.3.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLContextCocoa.html b/docs/libs/html/gst-plugins-bad-libs-GstGLContextCocoa.html
index 49fc8fe..0f93ee1 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLContextCocoa.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLContextCocoa.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstGLContextCocoa: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gl.html" title="OpenGL Helper Library">
<link rel="prev" href="GstGLContext.html" title="GstGLContext">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstGLContextCocoa.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -68,7 +68,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstGLContextCocoa.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLContextEGL.html b/docs/libs/html/gst-plugins-bad-libs-GstGLContextEGL.html
index 5736e8e..989d4e4 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLContextEGL.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLContextEGL.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstGLContextEGL: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gl.html" title="OpenGL Helper Library">
<link rel="prev" href="gst-plugins-bad-libs-GstGLContextCocoa.html" title="GstGLContextCocoa">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstGLContextEGL.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -68,7 +68,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstGLContextEGL.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -118,6 +118,8 @@
GstGLAPI gl_api;
+ const gchar *egl_exts;
+
EGLImageKHR (*eglCreateImage) (EGLDisplay dpy, EGLContext ctx, EGLenum target,
EGLClientBuffer buffer, const EGLint *attrib_list);
EGLBoolean (*eglDestroyImage) (EGLDisplay dpy, EGLImageKHR image);
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLContextEagl.html b/docs/libs/html/gst-plugins-bad-libs-GstGLContextEagl.html
index 137dded..04fc3cc 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLContextEagl.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLContextEagl.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstGLContextEagl: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gl.html" title="OpenGL Helper Library">
<link rel="prev" href="gst-plugins-bad-libs-GstGLContextEGL.html" title="GstGLContextEGL">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstGLContextEagl.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -60,7 +60,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstGLContextEagl.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLContextGLX.html b/docs/libs/html/gst-plugins-bad-libs-GstGLContextGLX.html
index 807561a..427b47f 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLContextGLX.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLContextGLX.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstGLContextGLX: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gl.html" title="OpenGL Helper Library">
<link rel="prev" href="gst-plugins-bad-libs-GstGLContextEagl.html" title="GstGLContextEagl">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstGLContextGLX.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -68,7 +68,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstGLContextGLX.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLContextWGL.html b/docs/libs/html/gst-plugins-bad-libs-GstGLContextWGL.html
index 0af2373..6a32503 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLContextWGL.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLContextWGL.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstGLContextWGL: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gl.html" title="OpenGL Helper Library">
<link rel="prev" href="gst-plugins-bad-libs-GstGLContextGLX.html" title="GstGLContextGLX">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstGLContextWGL.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -68,7 +68,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstGLContextWGL.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLSyncMeta.html b/docs/libs/html/gst-plugins-bad-libs-GstGLSyncMeta.html
index 624b9d5..84ee24b 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLSyncMeta.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLSyncMeta.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstGLSyncMeta: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gl.html" title="OpenGL Helper Library">
<link rel="prev" href="gst-plugins-bad-libs-gstglshader.html" title="GstGLShader">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstGLSyncMeta.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -89,7 +89,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstGLSyncMeta.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -165,6 +165,8 @@
void (*set_sync_gl) (GstGLSyncMeta * sync, GstGLContext * context);
void (*wait) (GstGLSyncMeta * sync, GstGLContext * context);
void (*wait_gl) (GstGLSyncMeta * sync, GstGLContext * context);
+ void (*wait_cpu) (GstGLSyncMeta * sync, GstGLContext * context);
+ void (*wait_cpu_gl) (GstGLSyncMeta * sync, GstGLContext * context);
void (*copy) (GstGLSyncMeta * src, GstBuffer * sbuffer, GstGLSyncMeta * dest, GstBuffer * dbuffer);
void (*free) (GstGLSyncMeta * sync, GstGLContext * context);
void (*free_gl) (GstGLSyncMeta * sync, GstGLContext * context);
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLWindowAndroid.html b/docs/libs/html/gst-plugins-bad-libs-GstGLWindowAndroid.html
index 0a8592b..23e4a91 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLWindowAndroid.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLWindowAndroid.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstGLWindowAndroid: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gl.html" title="OpenGL Helper Library">
<link rel="prev" href="GstGLWindow.html" title="GstGLWindow">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstGLWindowAndroid.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -50,7 +50,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstGLWindowAndroid.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLWindowCocoa.html b/docs/libs/html/gst-plugins-bad-libs-GstGLWindowCocoa.html
index b1e2e83..1b94a61 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLWindowCocoa.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLWindowCocoa.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstGLWindowCocoa: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gl.html" title="OpenGL Helper Library">
<link rel="prev" href="gst-plugins-bad-libs-GstGLWindowAndroid.html" title="GstGLWindowAndroid">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstGLWindowCocoa.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -60,7 +60,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstGLWindowCocoa.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLWindowDispmanx.html b/docs/libs/html/gst-plugins-bad-libs-GstGLWindowDispmanx.html
index 1240617..57e0398 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLWindowDispmanx.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLWindowDispmanx.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstGLWindowDispmanx: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gl.html" title="OpenGL Helper Library">
<link rel="prev" href="gst-plugins-bad-libs-GstGLWindowCocoa.html" title="GstGLWindowCocoa">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstGLWindowDispmanx.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -50,7 +50,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstGLWindowDispmanx.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLWindowWayland.html b/docs/libs/html/gst-plugins-bad-libs-GstGLWindowWayland.html
index 7b0935c..3e8a549 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLWindowWayland.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLWindowWayland.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstGLWindowWayland: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gl.html" title="OpenGL Helper Library">
<link rel="prev" href="gst-plugins-bad-libs-GstGLWindowDispmanx.html" title="GstGLWindowDispmanx">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstGLWindowWayland.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -50,7 +50,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstGLWindowWayland.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLWindowWin32.html b/docs/libs/html/gst-plugins-bad-libs-GstGLWindowWin32.html
index ecaa029..bc5a710 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLWindowWin32.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLWindowWin32.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstGLWindowWin32: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gl.html" title="OpenGL Helper Library">
<link rel="prev" href="gst-plugins-bad-libs-GstGLWindowWayland.html" title="GstGLWindowWayland">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstGLWindowWin32.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -60,7 +60,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstGLWindowWin32.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLWindowX11.html b/docs/libs/html/gst-plugins-bad-libs-GstGLWindowX11.html
index ed38254..d282f13 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLWindowX11.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLWindowX11.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstGLWindowX11: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gl.html" title="OpenGL Helper Library">
<link rel="prev" href="gst-plugins-bad-libs-GstGLWindowWin32.html" title="GstGLWindowWin32">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstGLWindowX11.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -76,7 +76,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstGLWindowX11.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstInsertbin.html b/docs/libs/html/gst-plugins-bad-libs-GstInsertbin.html
index 6c0fb9c..0859be6 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstInsertbin.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstInsertbin.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstInsertbin: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="tools.html" title="Useful elements">
<link rel="prev" href="tools.html" title="Useful elements">
@@ -36,7 +36,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstInsertbin.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -103,7 +103,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstInsertbin.signals"></a><h2>Signals</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="signals_return">
<col width="300px" class="signals_name">
@@ -140,7 +140,7 @@
</div>
<a name="GstInsertBin"></a><div class="refsect1">
<a name="gst-plugins-bad-libs-GstInsertbin.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -200,7 +200,7 @@
operation is requested.</p>
<div class="refsect3">
<a name="id-1.2.6.2.10.2.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -239,7 +239,7 @@
<p>Creates a new <a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBin"><span class="type">GstInsertBin</span></a></p>
<div class="refsect3">
<a name="id-1.2.6.2.10.3.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -271,7 +271,7 @@
<p>Same as the <a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBin-append" title="The “append” signal"><span class="type">“append”</span></a> signal.</p>
<div class="refsect3">
<a name="id-1.2.6.2.10.4.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -312,7 +312,7 @@
<p>Same as the <a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBin-prepend" title="The “prepend” signal"><span class="type">“prepend”</span></a> signal.</p>
<div class="refsect3">
<a name="id-1.2.6.2.10.5.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -355,7 +355,7 @@
<p>Same as the <a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBin-insert-after" title="The “insert-after” signal"><span class="type">“insert-after”</span></a> signal.</p>
<div class="refsect3">
<a name="id-1.2.6.2.10.6.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -404,7 +404,7 @@
<p>Same as the <a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBin-insert-before" title="The “insert-before” signal"><span class="type">“insert-before”</span></a> signal.</p>
<div class="refsect3">
<a name="id-1.2.6.2.10.7.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -450,7 +450,7 @@
<p>Same as the <a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBin-remove" title="The “remove” signal"><span class="type">“remove”</span></a> signal.</p>
<div class="refsect3">
<a name="id-1.2.6.2.10.8.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -511,7 +511,7 @@
<p>Same as <a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#gst-insert-bin-append" title="gst_insert_bin_append ()"><code class="function">gst_insert_bin_append()</code></a></p>
<div class="refsect3">
<a name="id-1.2.6.2.12.2.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -566,7 +566,7 @@
<p>Same as <a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#gst-insert-bin-insert-after" title="gst_insert_bin_insert_after ()"><code class="function">gst_insert_bin_insert_after()</code></a></p>
<div class="refsect3">
<a name="id-1.2.6.2.12.3.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -626,7 +626,7 @@
<p>Same as <a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#gst-insert-bin-insert-before" title="gst_insert_bin_insert_before ()"><code class="function">gst_insert_bin_insert_before()</code></a></p>
<div class="refsect3">
<a name="id-1.2.6.2.12.4.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -684,7 +684,7 @@
<p>Same as <a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#gst-insert-bin-prepend" title="gst_insert_bin_prepend ()"><code class="function">gst_insert_bin_prepend()</code></a></p>
<div class="refsect3">
<a name="id-1.2.6.2.12.5.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -735,7 +735,7 @@
<p>Same as <a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#gst-insert-bin-remove" title="gst_insert_bin_remove ()"><code class="function">gst_insert_bin_remove()</code></a></p>
<div class="refsect3">
<a name="id-1.2.6.2.12.6.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstPhotography.html b/docs/libs/html/gst-plugins-bad-libs-GstPhotography.html
index e35ef86..f138273 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstPhotography.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstPhotography.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstPhotography: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="ch08.html" title="Interfaces">
<link rel="prev" href="ch08.html" title="Interfaces">
@@ -50,7 +50,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstPhotography.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -301,7 +301,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstPhotography.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -444,7 +444,7 @@
to e.g. reconfigure capsfilters in pipeline if any.</p>
<div class="refsect3">
<a name="id-1.2.11.2.7.2.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -475,7 +475,7 @@
<p>Get the ev compensation value for the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a></p>
<div class="refsect3">
<a name="id-1.2.11.2.7.3.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -509,7 +509,7 @@
<p>Get the ISO value (light sensivity) for the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a></p>
<div class="refsect3">
<a name="id-1.2.11.2.7.4.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -543,7 +543,7 @@
<p>Get the aperture value for the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a></p>
<div class="refsect3">
<a name="id-1.2.11.2.7.5.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -577,7 +577,7 @@
<p>Get the fixed exposure time (in us) for the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a></p>
<div class="refsect3">
<a name="id-1.2.11.2.7.6.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -612,7 +612,7 @@
<p>Get the white balance mode for the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a></p>
<div class="refsect3">
<a name="id-1.2.11.2.7.7.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -646,7 +646,7 @@
<p>Get the color tone mode for the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a></p>
<div class="refsect3">
<a name="id-1.2.11.2.7.8.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -680,7 +680,7 @@
<p>Get the scene mode for the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a></p>
<div class="refsect3">
<a name="id-1.2.11.2.7.9.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -714,7 +714,7 @@
<p>Get the flash mode for the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a></p>
<div class="refsect3">
<a name="id-1.2.11.2.7.10.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -748,7 +748,7 @@
<p>Get the flicker mode value for the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a></p>
<div class="refsect3">
<a name="id-1.2.11.2.7.11.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -782,7 +782,7 @@
<p>Get the focus mode value for the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a></p>
<div class="refsect3">
<a name="id-1.2.11.2.7.12.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -816,7 +816,7 @@
<p>Get the noise reduction mode for the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a></p>
<div class="refsect3">
<a name="id-1.2.11.2.7.13.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -840,7 +840,6 @@
<a name="id-1.2.11.2.7.13.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if getting the value succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
</div>
-<p class="since">Since: 0.10.21</p>
</div>
<hr>
<div class="refsect2">
@@ -851,7 +850,7 @@
<p>Get the zoom value for the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a></p>
<div class="refsect3">
<a name="id-1.2.11.2.7.14.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -885,7 +884,7 @@
<p>Set the ev compensation value for the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a></p>
<div class="refsect3">
<a name="id-1.2.11.2.7.15.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -919,7 +918,7 @@
<p>Set the ISO value (light sensivity) for the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a></p>
<div class="refsect3">
<a name="id-1.2.11.2.7.16.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -953,7 +952,7 @@
<p>Set the aperture value for the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a></p>
<div class="refsect3">
<a name="id-1.2.11.2.7.17.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -987,7 +986,7 @@
<p>Set the fixed exposure time (in us) for the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a></p>
<div class="refsect3">
<a name="id-1.2.11.2.7.18.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1022,7 +1021,7 @@
<p>Set the white balance mode for the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a></p>
<div class="refsect3">
<a name="id-1.2.11.2.7.19.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1056,7 +1055,7 @@
<p>Set the color tone mode for the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a></p>
<div class="refsect3">
<a name="id-1.2.11.2.7.20.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1090,7 +1089,7 @@
<p>Set the scene mode for the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a></p>
<div class="refsect3">
<a name="id-1.2.11.2.7.21.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1124,7 +1123,7 @@
<p>Set the flash mode for the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a></p>
<div class="refsect3">
<a name="id-1.2.11.2.7.22.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1158,7 +1157,7 @@
<p>Set the flicker mode value for the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a>.</p>
<div class="refsect3">
<a name="id-1.2.11.2.7.23.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1192,7 +1191,7 @@
<p>Set the focus mode value for the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a>.</p>
<div class="refsect3">
<a name="id-1.2.11.2.7.24.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1226,7 +1225,7 @@
<p>Set the noise reduction mode for the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a></p>
<div class="refsect3">
<a name="id-1.2.11.2.7.25.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1250,7 +1249,6 @@
<a name="id-1.2.11.2.7.25.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if setting the value succeeded, <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p>
</div>
-<p class="since">Since: 0.10.21</p>
</div>
<hr>
<div class="refsect2">
@@ -1262,7 +1260,7 @@
E.g. 1.0 to get original image and 3.0 for 3x zoom and so on.</p>
<div class="refsect3">
<a name="id-1.2.11.2.7.26.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1296,7 +1294,7 @@
interface features the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="type">GstElement</span></a> supports</p>
<div class="refsect3">
<a name="id-1.2.11.2.7.27.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1328,7 +1326,7 @@
done. Image capture will begin after callback returns.</p>
<div class="refsect3">
<a name="id-1.2.11.2.7.28.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1374,7 +1372,7 @@
message is posted to bus when autofocusing has finished.</p>
<div class="refsect3">
<a name="id-1.2.11.2.7.29.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1404,7 +1402,7 @@
<p>Set all configuration settings at once.</p>
<div class="refsect3">
<a name="id-1.2.11.2.7.30.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1438,7 +1436,7 @@
<p>Get all configuration settings at once.</p>
<div class="refsect3">
<a name="id-1.2.11.2.7.31.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1477,7 +1475,7 @@
<p>Noise Reduction features of a photography capture or filter element.</p>
<div class="refsect3">
<a name="id-1.2.11.2.8.3.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -1529,7 +1527,6 @@
</tbody>
</table></div>
</div>
-<p class="since">Since: 0.10.21</p>
</div>
<hr>
<div class="refsect2">
@@ -1537,7 +1534,7 @@
<p>Modes for white balance control.</p>
<div class="refsect3">
<a name="id-1.2.11.2.8.4.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -1618,7 +1615,7 @@
<p>Modes for special color effects.</p>
<div class="refsect3">
<a name="id-1.2.11.2.8.5.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -1748,7 +1745,7 @@
good capturing result in certain scene.</p>
<div class="refsect3">
<a name="id-1.2.11.2.8.6.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -1897,7 +1894,7 @@
<p>Modes for flash control.</p>
<div class="refsect3">
<a name="id-1.2.11.2.8.7.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -1951,7 +1948,7 @@
<p>Reduce flicker in video caused by light source fluctuation.</p>
<div class="refsect3">
<a name="id-1.2.11.2.8.8.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -1996,7 +1993,7 @@
<p>Choose mode for focusing algorithm.</p>
<div class="refsect3">
<a name="id-1.2.11.2.8.9.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -2081,7 +2078,7 @@
message.</p>
<div class="refsect3">
<a name="id-1.2.11.2.8.10.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -2127,7 +2124,7 @@
supports.</p>
<div class="refsect3">
<a name="id-1.2.11.2.8.11.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -2225,7 +2222,7 @@
too long exposure time. Used in <a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SHAKE-RISK:CAPS" title="GST_PHOTOGRAPHY_SHAKE_RISK"><span class="type">GST_PHOTOGRAPHY_SHAKE_RISK</span></a> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html"><span class="type">GstMessage</span></a>.</p>
<div class="refsect3">
<a name="id-1.2.11.2.8.12.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstVideoAggregator.html b/docs/libs/html/gst-plugins-bad-libs-GstVideoAggregator.html
index c8ed5f7..6918daf 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstVideoAggregator.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstVideoAggregator.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstVideoAggregator: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="video.html" title="Video helpers and baseclasses">
<link rel="prev" href="video.html" title="Video helpers and baseclasses">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstVideoAggregator.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -77,7 +77,7 @@
</pre>
<div class="refsect3">
<a name="id-1.2.8.2.6.2.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -104,6 +104,9 @@
<a name="GstVideoAggregatorClass"></a><h3>struct GstVideoAggregatorClass</h3>
<pre class="programlisting">struct GstVideoAggregatorClass {
GstCaps * (*update_caps) (GstVideoAggregator * videoaggregator,
+ GstCaps * caps,
+ GstCaps * filter_caps);
+ GstCaps * (*fixate_caps) (GstVideoAggregator * videoaggregator,
GstCaps * caps);
GstFlowReturn (*aggregate_frames) (GstVideoAggregator * videoaggregator,
GstBuffer * outbuffer);
@@ -116,14 +119,12 @@
GstVideoInfo * best_info,
gboolean * at_least_one_alpha);
- gboolean preserve_update_caps_result;
-
GstCaps *sink_non_alpha_caps;
};
</pre>
<div class="refsect3">
<a name="id-1.2.8.2.6.3.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -138,6 +139,16 @@
<td class="struct_member_annotations"> </td>
</tr>
<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoAggregatorClass.fixate-caps"></a>fixate_caps</code></em> ()</p></td>
+<td class="struct_member_description"><p>Fixate and return the src pad caps provided. The function takes
+ownership of <em class="parameter"><code>caps</code></em>
+and returns a fixated version of
+<em class="parameter"><code>caps</code></em>
+. <em class="parameter"><code>caps</code></em>
+is not guaranteed to be writable.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoAggregatorClass.aggregate-frames"></a>aggregate_frames</code></em> ()</p></td>
<td class="struct_member_description"><p>Lets subclasses aggregate frames that are ready. Subclasses
should iterate the GstElement.sinkpads and use the already
@@ -169,13 +180,6 @@
<td class="struct_member_annotations"> </td>
</tr>
<tr>
-<td class="struct_member_name"><p><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstVideoAggregatorClass.preserve-update-caps-result"></a>preserve_update_caps_result</code></em>;</p></td>
-<td class="struct_member_description"><p>Sub-classes should set this to true if the return result
-of the <code class="function">update_caps()</code> method should not be further modified
-by GstVideoAggregator by removing fields.</p></td>
-<td class="struct_member_annotations"> </td>
-</tr>
-<tr>
<td class="struct_member_name"><p><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstCaps.html"><span class="type">GstCaps</span></a> *<em class="structfield"><code><a name="GstVideoAggregatorClass.sink-non-alpha-caps"></a>sink_non_alpha_caps</code></em>;</p></td>
<td> </td>
<td> </td>
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstVideoAggregatorPad.html b/docs/libs/html/gst-plugins-bad-libs-GstVideoAggregatorPad.html
index fabcaec..5a4b3ef 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstVideoAggregatorPad.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstVideoAggregatorPad.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstVideoAggregatorPad: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="video.html" title="Video helpers and baseclasses">
<link rel="prev" href="gst-plugins-bad-libs-GstVideoAggregator.html" title="GstVideoAggregator">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-GstVideoAggregatorPad.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -84,7 +84,7 @@
</pre>
<div class="refsect3">
<a name="id-1.2.8.3.6.2.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html b/docs/libs/html/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html
index 2e0bfae..6cf4c6a 100644
--- a/docs/libs/html/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html
+++ b/docs/libs/html/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ISDB variants of MPEG-TS descriptors: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="mpegts.html" title="Mpeg TS helper library">
<link rel="prev" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -65,7 +65,7 @@
<p>Consult the relevant specifications for more details.</p>
<div class="refsect3">
<a name="id-1.2.5.10.7.2.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-Mpeg-ts-helper-library.html b/docs/libs/html/gst-plugins-bad-libs-Mpeg-ts-helper-library.html
index f96b8b9..b54a2d1 100644
--- a/docs/libs/html/gst-plugins-bad-libs-Mpeg-ts-helper-library.html
+++ b/docs/libs/html/gst-plugins-bad-libs-Mpeg-ts-helper-library.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Mpeg-ts helper library: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="mpegts.html" title="Mpeg TS helper library">
<link rel="prev" href="mpegts.html" title="Mpeg TS helper library">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-Mpeg-ts-helper-library.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
diff --git a/docs/libs/html/gst-plugins-bad-libs-Utilities.html b/docs/libs/html/gst-plugins-bad-libs-Utilities.html
index 934c372..53963c7 100644
--- a/docs/libs/html/gst-plugins-bad-libs-Utilities.html
+++ b/docs/libs/html/gst-plugins-bad-libs-Utilities.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Utilities: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gl.html" title="OpenGL Helper Library">
<link rel="prev" href="GstGLUpload.html" title="GstGLUpload">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-Utilities.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -212,7 +212,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-Utilities.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -238,7 +238,7 @@
<p>callback definition for operating on textures</p>
<div class="refsect3">
<a name="id-1.2.9.20.6.2.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -277,7 +277,7 @@
<p>callback definition for operating through a Framebuffer object</p>
<div class="refsect3">
<a name="id-1.2.9.20.6.3.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -302,7 +302,7 @@
<p>client draw callback</p>
<div class="refsect3">
<a name="id-1.2.9.20.6.4.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -445,7 +445,7 @@
<p>Note: must be called in the GL thread.</p>
<div class="refsect3">
<a name="id-1.2.9.20.6.17.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -509,7 +509,7 @@
<a name="GstGLDisplayProjection"></a><h3>enum GstGLDisplayProjection</h3>
<div class="refsect3">
<a name="id-1.2.9.20.7.2.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-gstglmemory.html b/docs/libs/html/gst-plugins-bad-libs-gstglmemory.html
index de3d9e7..7b2f356 100644
--- a/docs/libs/html/gst-plugins-bad-libs-gstglmemory.html
+++ b/docs/libs/html/gst-plugins-bad-libs-gstglmemory.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstGLMemory: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gl.html" title="OpenGL Helper Library">
<link rel="prev" href="GstGLFramebuffer.html" title="GstGLFramebuffer">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-gstglmemory.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -82,7 +82,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-gstglmemory.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -97,8 +97,8 @@
<a name="gst-plugins-bad-libs-gstglmemory.description"></a><h2>Description</h2>
<p>GstGLMemory is a <span class="type">GstGLBaseBuffer</span> subclass providing support for the mapping of
GL textures. </p>
-<p><a class="link" href="gst-plugins-bad-libs-gstglmemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> is created through <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-libs/html/gst-plugins-bad-libs-gstglmemory.html#gst-gl-memory-alloc"><code class="function">gst_gl_memory_alloc()</code></a> or system memory can
-be wrapped through <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-libs/html/gst-plugins-bad-libs-gstglmemory.html#gst-gl-memory-wrapped"><code class="function">gst_gl_memory_wrapped()</code></a>.</p>
+<p><a class="link" href="gst-plugins-bad-libs-gstglmemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> is created through <code class="function">gst_gl_memory_alloc()</code> or system memory can
+be wrapped through <code class="function">gst_gl_memory_wrapped()</code>.</p>
<p>Data is uploaded or downloaded from the GPU as is necessary.</p>
</div>
<div class="refsect1">
@@ -127,7 +127,7 @@
with the required parameters</p>
<div class="refsect3">
<a name="id-1.2.9.16.6.3.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -189,7 +189,7 @@
<em class="parameter"><code><span class="type">GstGLVideoAllocationParams</span> *params</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.9.16.6.4.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -235,7 +235,7 @@
gst_is_gl_memory (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMemory.html"><span class="type">GstMemory</span></a> *mem</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.9.16.6.6.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -251,7 +251,7 @@
<div class="refsect3">
<a name="id-1.2.9.16.6.6.5"></a><h4>Returns</h4>
<p> whether the memory at <em class="parameter"><code>mem</code></em>
-is a <a class="link" href="gst-plugins-bad-libs-gstglmemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p>
+is a <span class="type">GstGLMemoryPBO</span></p>
</div>
</div>
</div>
@@ -274,7 +274,7 @@
<p>Represents information about a GL texture</p>
<div class="refsect3">
<a name="id-1.2.9.16.7.2.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-gstglshader.html b/docs/libs/html/gst-plugins-bad-libs-gstglshader.html
index f579896..cde60ab 100644
--- a/docs/libs/html/gst-plugins-bad-libs-gstglshader.html
+++ b/docs/libs/html/gst-plugins-bad-libs-gstglshader.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GstGLShader: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gl.html" title="OpenGL Helper Library">
<link rel="prev" href="gst-plugins-bad-libs-gstglmemory.html" title="GstGLMemory">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-gstglshader.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -294,7 +294,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-gstglshader.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -309,7 +309,7 @@
</div>
<a name="GstGLShader"></a><div class="refsect1">
<a name="gst-plugins-bad-libs-gstglshader.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -340,7 +340,7 @@
<p>Note: must be called in the GL thread</p>
<div class="refsect3">
<a name="id-1.2.9.17.9.2.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -367,7 +367,7 @@
gst_gl_shader_get_program_handle (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstglshader.html#GstGLShader"><span class="type">GstGLShader</span></a> *shader</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.9.17.9.3.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -394,7 +394,7 @@
<p>Note: must be called in the GL thread</p>
<div class="refsect3">
<a name="id-1.2.9.17.9.4.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -419,7 +419,7 @@
must have been linked.</p>
<div class="refsect3">
<a name="id-1.2.9.17.9.5.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-gstmpegvideometa.html b/docs/libs/html/gst-plugins-bad-libs-gstmpegvideometa.html
index 4c1edfd..0c6bc90 100644
--- a/docs/libs/html/gst-plugins-bad-libs-gstmpegvideometa.html
+++ b/docs/libs/html/gst-plugins-bad-libs-gstmpegvideometa.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>gstmpegvideometa: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="codecparsers.html" title="Bitstream parsing Library">
<link rel="prev" href="gst-plugins-bad-libs-vc1parser.html" title="vc1parser">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-gstmpegvideometa.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -73,7 +73,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-gstmpegvideometa.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -121,7 +121,7 @@
<p>Provided structures must either be <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> or GSlice-allocated.</p>
<div class="refsect3">
<a name="id-1.2.4.8.7.4.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -179,7 +179,7 @@
If elements wish to use those for longer, they are required to make a copy.</p>
<div class="refsect3">
<a name="id-1.2.4.8.8.2.7"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-gstplayer-gmaincontextsignaldispatcher.html b/docs/libs/html/gst-plugins-bad-libs-gstplayer-gmaincontextsignaldispatcher.html
index caf3ffa..1c293aa 100644
--- a/docs/libs/html/gst-plugins-bad-libs-gstplayer-gmaincontextsignaldispatcher.html
+++ b/docs/libs/html/gst-plugins-bad-libs-gstplayer-gmaincontextsignaldispatcher.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>gstplayer-gmaincontextsignaldispatcher: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="player.html" title="Player Library">
<link rel="prev" href="gst-plugins-bad-libs-gstplayer-mediainfo.html" title="gstplayer-mediainfo">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-gstplayer-gmaincontextsignaldispatcher.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -60,10 +60,10 @@
(<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#GMainContext"><span class="type">GMainContext</span></a> *application_context</code></em>);</pre>
<p>Creates a new GstPlayerSignalDispatcher that uses <em class="parameter"><code>application_context</code></em>
,
-or the thread default one if <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is used. See <a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-new-full" title="gst_player_new_full ()"><code class="function">gst_player_new_full()</code></a>.</p>
+or the thread default one if <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is used. See <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-libs/html/gst-plugins-bad-libs-gstplayer.html#gst-player-new-full"><code class="function">gst_player_new_full()</code></a>.</p>
<div class="refsect3">
<a name="id-1.2.10.4.5.2.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-gstplayer-mediainfo.html b/docs/libs/html/gst-plugins-bad-libs-gstplayer-mediainfo.html
index f69807f..b370149 100644
--- a/docs/libs/html/gst-plugins-bad-libs-gstplayer-mediainfo.html
+++ b/docs/libs/html/gst-plugins-bad-libs-gstplayer-mediainfo.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>gstplayer-mediainfo: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="player.html" title="Player Library">
<link rel="prev" href="gst-plugins-bad-libs-gstplayer.html" title="gstplayer">
@@ -34,7 +34,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-gstplayer-mediainfo.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -238,7 +238,7 @@
</div>
<a name="GstPlayerMediaInfo"></a><a name="GstPlayerStreamInfo"></a><a name="GstPlayerAudioInfo"></a><a name="GstPlayerVideoInfo"></a><a name="GstPlayerSubtitleInfo"></a><div class="refsect1">
<a name="gst-plugins-bad-libs-gstplayer-mediainfo.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -288,7 +288,7 @@
gst_player_media_info_get_uri (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a> *info</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.10.3.12.2.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -313,7 +313,7 @@
gst_player_media_info_get_duration (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a> *info</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.10.3.12.3.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -338,7 +338,7 @@
gst_player_media_info_get_title (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a> *info</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.10.3.12.4.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -364,7 +364,7 @@
(<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a> *info</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.10.3.12.5.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -389,7 +389,7 @@
gst_player_media_info_is_seekable (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a> *info</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.10.3.12.6.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -417,7 +417,7 @@
Application can use gst_sample_*_() API's to get caps, buffer etc.</p>
<div class="refsect3">
<a name="id-1.2.10.3.12.7.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -443,7 +443,7 @@
gst_player_media_info_get_tags (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a> *info</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.10.3.12.8.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -469,7 +469,7 @@
gst_player_media_info_get_stream_list (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a> *info</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.10.3.12.9.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -497,7 +497,7 @@
<p>Function to get stream index from <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerStreamInfo"><span class="type">GstPlayerStreamInfo</span></a> instance.</p>
<div class="refsect3">
<a name="id-1.2.10.3.12.10.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -522,7 +522,7 @@
gst_player_stream_info_get_caps (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerStreamInfo"><span class="type">GstPlayerStreamInfo</span></a> *info</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.10.3.12.11.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -548,7 +548,7 @@
gst_player_stream_info_get_tags (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerStreamInfo"><span class="type">GstPlayerStreamInfo</span></a> *info</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.10.3.12.12.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -575,7 +575,7 @@
<p>A string describing codec used in <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerStreamInfo"><span class="type">GstPlayerStreamInfo</span></a>.</p>
<div class="refsect3">
<a name="id-1.2.10.3.12.13.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -604,7 +604,7 @@
(ex: "audio", "video", "subtitle")</p>
<div class="refsect3">
<a name="id-1.2.10.3.12.14.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -629,7 +629,7 @@
gst_player_audio_info_get_bitrate (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="type">GstPlayerAudioInfo</span></a> *info</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.10.3.12.15.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -654,7 +654,7 @@
gst_player_audio_info_get_channels (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="type">GstPlayerAudioInfo</span></a> *info</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.10.3.12.16.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -679,7 +679,7 @@
gst_player_audio_info_get_language (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="type">GstPlayerAudioInfo</span></a> *info</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.10.3.12.17.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -704,7 +704,7 @@
gst_player_audio_info_get_max_bitrate (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="type">GstPlayerAudioInfo</span></a> *info</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.10.3.12.18.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -729,7 +729,7 @@
gst_player_audio_info_get_sample_rate (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="type">GstPlayerAudioInfo</span></a> *info</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.10.3.12.19.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -754,7 +754,7 @@
gst_player_video_info_get_bitrate (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="type">GstPlayerVideoInfo</span></a> *info</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.10.3.12.20.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -779,7 +779,7 @@
gst_player_video_info_get_height (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="type">GstPlayerVideoInfo</span></a> *info</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.10.3.12.21.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -804,7 +804,7 @@
gst_player_video_info_get_width (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="type">GstPlayerVideoInfo</span></a> *info</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.10.3.12.22.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -837,7 +837,7 @@
gst_player_video_info_get_max_bitrate (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="type">GstPlayerVideoInfo</span></a> *info</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.10.3.12.24.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -868,7 +868,7 @@
</p>
<div class="refsect3">
<a name="id-1.2.10.3.12.25.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -901,7 +901,7 @@
gst_player_subtitle_info_get_language (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerSubtitleInfo"><span class="type">GstPlayerSubtitleInfo</span></a> *info</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.10.3.12.26.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-gstplayer-videooverlayvideorenderer.html b/docs/libs/html/gst-plugins-bad-libs-gstplayer-videooverlayvideorenderer.html
index 08e32ae..5d3cf5b 100644
--- a/docs/libs/html/gst-plugins-bad-libs-gstplayer-videooverlayvideorenderer.html
+++ b/docs/libs/html/gst-plugins-bad-libs-gstplayer-videooverlayvideorenderer.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>gstplayer-videooverlayvideorenderer: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="player.html" title="Player Library">
<link rel="prev" href="gst-plugins-bad-libs-gstplayer-gmaincontextsignaldispatcher.html" title="gstplayer-gmaincontextsignaldispatcher">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-gstplayer-videooverlayvideorenderer.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -78,7 +78,7 @@
(<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> window_handle</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.10.5.5.2.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -105,7 +105,7 @@
(<em class="parameter"><code><span class="type">GstPlayerVideoOverlayVideoRenderer</span> *self</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.10.5.5.3.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -136,7 +136,7 @@
should be rendered</p>
<div class="refsect3">
<a name="id-1.2.10.5.5.4.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-gstplayer-visualization.html b/docs/libs/html/gst-plugins-bad-libs-gstplayer-visualization.html
index b6e3b0a..bf839ee 100644
--- a/docs/libs/html/gst-plugins-bad-libs-gstplayer-visualization.html
+++ b/docs/libs/html/gst-plugins-bad-libs-gstplayer-visualization.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>gstplayer-visualization: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="player.html" title="Player Library">
<link rel="prev" href="gst-plugins-bad-libs-gstplayer-videooverlayvideorenderer.html" title="gstplayer-videooverlayvideorenderer">
@@ -34,7 +34,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-gstplayer-visualization.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -77,7 +77,7 @@
</div>
<a name="GstPlayerVisualization"></a><div class="refsect1">
<a name="gst-plugins-bad-libs-gstplayer-visualization.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -119,7 +119,7 @@
<p>Frees a <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated array of <a class="link" href="gst-plugins-bad-libs-gstplayer-visualization.html#GstPlayerVisualization"><span class="type">GstPlayerVisualization</span></a>.</p>
<div class="refsect3">
<a name="id-1.2.10.6.8.3.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -142,7 +142,7 @@
freed using <a class="link" href="gst-plugins-bad-libs-gstplayer-visualization.html#gst-player-visualization-free" title="gst_player_visualization_free ()"><code class="function">gst_player_visualization_free()</code></a>.</p>
<div class="refsect3">
<a name="id-1.2.10.6.8.4.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -170,7 +170,7 @@
<p>Frees a <a class="link" href="gst-plugins-bad-libs-gstplayer-visualization.html#GstPlayerVisualization"><span class="type">GstPlayerVisualization</span></a>.</p>
<div class="refsect3">
<a name="id-1.2.10.6.8.5.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -197,7 +197,7 @@
<p>A <a class="link" href="gst-plugins-bad-libs-gstplayer-visualization.html#GstPlayerVisualization"><span class="type">GstPlayerVisualization</span></a> descriptor.</p>
<div class="refsect3">
<a name="id-1.2.10.6.9.2.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-gstplayer.html b/docs/libs/html/gst-plugins-bad-libs-gstplayer.html
index c2d798d..8d116a1 100644
--- a/docs/libs/html/gst-plugins-bad-libs-gstplayer.html
+++ b/docs/libs/html/gst-plugins-bad-libs-gstplayer.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>gstplayer: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="player.html" title="Player Library">
<link rel="prev" href="player.html" title="Player Library">
@@ -38,7 +38,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-gstplayer.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -54,14 +54,6 @@
</tr>
<tr>
<td class="function_type">
-<a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="returnvalue">GstPlayer</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-new-full" title="gst_player_new_full ()">gst_player_new_full</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
@@ -394,7 +386,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-gstplayer.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -490,7 +482,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-gstplayer.signals"></a><h2>Signals</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="signals_return">
<col width="300px" class="signals_name">
@@ -562,7 +554,7 @@
</div>
<a name="GstPlayer"></a><a name="GstPlayerSignalDispatcher"></a><a name="GstPlayerVideoRenderer"></a><div class="refsect1">
<a name="gst-plugins-bad-libs-gstplayer.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -641,18 +633,8 @@
<div class="refsect2">
<a name="gst-player-new"></a><h3>gst_player_new ()</h3>
<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="returnvalue">GstPlayer</span></a> *
-gst_player_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-<div class="refsect3">
-<a name="id-1.2.10.2.14.2.4"></a><h4>Returns</h4>
-<p> a new <a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-player-new-full"></a><h3>gst_player_new_full ()</h3>
-<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="returnvalue">GstPlayer</span></a> *
-gst_player_new_full (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerVideoRenderer"><span class="type">GstPlayerVideoRenderer</span></a> *video_renderer</code></em>,
- <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerSignalDispatcher"><span class="type">GstPlayerSignalDispatcher</span></a> *signal_dispatcher</code></em>);</pre>
+gst_player_new (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerVideoRenderer"><span class="type">GstPlayerVideoRenderer</span></a> *video_renderer</code></em>,
+ <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerSignalDispatcher"><span class="type">GstPlayerSignalDispatcher</span></a> *signal_dispatcher</code></em>);</pre>
<p>Creates a new <a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance that uses <em class="parameter"><code>signal_dispatcher</code></em>
to dispatch
signals to some event loop system, or emits signals directly if NULL is
@@ -662,8 +644,8 @@
no special video set up will be done and some default handling will be
performed.</p>
<div class="refsect3">
-<a name="id-1.2.10.2.14.3.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.2.6"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -684,7 +666,7 @@
</table></div>
</div>
<div class="refsect3">
-<a name="id-1.2.10.2.14.3.7"></a><h4>Returns</h4>
+<a name="id-1.2.10.2.14.2.7"></a><h4>Returns</h4>
<p> a new <a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p>
</div>
</div>
@@ -695,8 +677,8 @@
gst_player_play (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
<p>Request to play the loaded stream.</p>
<div class="refsect3">
-<a name="id-1.2.10.2.14.4.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.3.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -717,8 +699,8 @@
gst_player_pause (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
<p>Pauses the current stream.</p>
<div class="refsect3">
-<a name="id-1.2.10.2.14.5.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.4.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -740,8 +722,8 @@
<p>Stops playing the current stream and resets to the first position
in the stream.</p>
<div class="refsect3">
-<a name="id-1.2.10.2.14.6.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.5.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -765,8 +747,8 @@
time
in nanoseconds.</p>
<div class="refsect3">
-<a name="id-1.2.10.2.14.7.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.6.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -795,8 +777,8 @@
<em class="parameter"><code>const <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>);</pre>
<p>Sets the next URI to play.</p>
<div class="refsect3">
-<a name="id-1.2.10.2.14.8.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.7.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -824,8 +806,36 @@
gst_player_get_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>);</pre>
<p>Gets the URI of the currently-playing stream.</p>
<div class="refsect3">
+<a name="id-1.2.10.2.14.8.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.10.2.14.8.6"></a><h4>Returns</h4>
+<p> a string containing the URI of the
+currently-playing stream. <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after usage. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-player-get-duration"></a><h3>gst_player_get_duration ()</h3>
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>
+gst_player_get_duration (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
+<p>Retrieves the duration of the media stream that self represents.</p>
+<div class="refsect3">
<a name="id-1.2.10.2.14.9.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -840,34 +850,6 @@
</div>
<div class="refsect3">
<a name="id-1.2.10.2.14.9.6"></a><h4>Returns</h4>
-<p> a string containing the URI of the
-currently-playing stream. <a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after usage. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-player-get-duration"></a><h3>gst_player_get_duration ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>
-gst_player_get_duration (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
-<p>Retrieves the duration of the media stream that self represents.</p>
-<div class="refsect3">
-<a name="id-1.2.10.2.14.10.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>player</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="id-1.2.10.2.14.10.6"></a><h4>Returns</h4>
<p> the duration of the currently-playing media stream, in
nanoseconds.</p>
</div>
@@ -878,8 +860,8 @@
<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>
gst_player_get_position (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
<div class="refsect3">
-<a name="id-1.2.10.2.14.11.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.10.4"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -893,7 +875,7 @@
</table></div>
</div>
<div class="refsect3">
-<a name="id-1.2.10.2.14.11.5"></a><h4>Returns</h4>
+<a name="id-1.2.10.2.14.10.5"></a><h4>Returns</h4>
<p> the absolute position time, in nanoseconds, of the
currently-playing stream.</p>
</div>
@@ -906,8 +888,8 @@
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> val</code></em>);</pre>
<p>Sets the volume level of the stream as a percentage between 0 and 1.</p>
<div class="refsect3">
-<a name="id-1.2.10.2.14.12.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.11.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -936,8 +918,8 @@
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> val</code></em>);</pre>
<p><a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the currently-playing stream should be muted.</p>
<div class="refsect3">
-<a name="id-1.2.10.2.14.13.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.12.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -965,8 +947,8 @@
gst_player_get_volume (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
<p>Returns the current volume level, as a percentage between 0 and 1.</p>
<div class="refsect3">
-<a name="id-1.2.10.2.14.14.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.13.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -980,7 +962,7 @@
</table></div>
</div>
<div class="refsect3">
-<a name="id-1.2.10.2.14.14.6"></a><h4>Returns</h4>
+<a name="id-1.2.10.2.14.13.6"></a><h4>Returns</h4>
<p> the volume as percentage between 0 and 1.</p>
</div>
</div>
@@ -990,8 +972,33 @@
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gst_player_get_mute (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
<div class="refsect3">
+<a name="id-1.2.10.2.14.14.4"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.10.2.14.14.5"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the currently-playing stream is muted.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-player-get-pipeline"></a><h3>gst_player_get_pipeline ()</h3>
+<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="returnvalue">GstElement</span></a> *
+gst_player_get_pipeline (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
+<div class="refsect3">
<a name="id-1.2.10.2.14.15.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1006,31 +1013,6 @@
</div>
<div class="refsect3">
<a name="id-1.2.10.2.14.15.5"></a><h4>Returns</h4>
-<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the currently-playing stream is muted.</p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-player-get-pipeline"></a><h3>gst_player_get_pipeline ()</h3>
-<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html"><span class="returnvalue">GstElement</span></a> *
-gst_player_get_pipeline (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
-<div class="refsect3">
-<a name="id-1.2.10.2.14.16.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>player</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="id-1.2.10.2.14.16.5"></a><h4>Returns</h4>
<p> The internal playbin instance. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
@@ -1045,8 +1027,8 @@
<p>Set interval in milliseconds between two position-updated signals.
Pass 0 to stop updating the position.</p>
<div class="refsect3">
-<a name="id-1.2.10.2.14.17.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.16.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1074,8 +1056,8 @@
gst_player_get_position_update_interval
(<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
<div class="refsect3">
-<a name="id-1.2.10.2.14.18.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.17.4"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1089,7 +1071,7 @@
</table></div>
</div>
<div class="refsect3">
-<a name="id-1.2.10.2.14.18.5"></a><h4>Returns</h4>
+<a name="id-1.2.10.2.14.17.5"></a><h4>Returns</h4>
<p> current position update interval in milliseconds</p>
</div>
</div>
@@ -1100,8 +1082,8 @@
gst_player_state_get_name (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerState" title="enum GstPlayerState"><span class="type">GstPlayerState</span></a> state</code></em>);</pre>
<p>Gets a string representing the given state.</p>
<div class="refsect3">
-<a name="id-1.2.10.2.14.19.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.18.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1115,7 +1097,7 @@
</table></div>
</div>
<div class="refsect3">
-<a name="id-1.2.10.2.14.19.6"></a><h4>Returns</h4>
+<a name="id-1.2.10.2.14.18.6"></a><h4>Returns</h4>
<p> a string with the name of the state. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
@@ -1133,8 +1115,8 @@
gst_player_error_get_name (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerError" title="enum GstPlayerError"><span class="type">GstPlayerError</span></a> error</code></em>);</pre>
<p>Gets a string representing the given error.</p>
<div class="refsect3">
-<a name="id-1.2.10.2.14.21.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.20.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1148,7 +1130,7 @@
</table></div>
</div>
<div class="refsect3">
-<a name="id-1.2.10.2.14.21.6"></a><h4>Returns</h4>
+<a name="id-1.2.10.2.14.20.6"></a><h4>Returns</h4>
<p> a string with the given error. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
@@ -1160,8 +1142,8 @@
gst_player_get_media_info (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
<p>A Function to get the current media info <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a> instance.</p>
<div class="refsect3">
-<a name="id-1.2.10.2.14.22.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.21.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1175,7 +1157,7 @@
</table></div>
</div>
<div class="refsect3">
-<a name="id-1.2.10.2.14.22.6"></a><h4>Returns</h4>
+<a name="id-1.2.10.2.14.21.6"></a><h4>Returns</h4>
<p> media info instance.</p>
<p>The caller should free it with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
@@ -1187,8 +1169,35 @@
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
gst_player_get_audio_streams (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a> *info</code></em>);</pre>
<div class="refsect3">
+<a name="id-1.2.10.2.14.22.4"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.10.2.14.22.5"></a><h4>Returns</h4>
+<p> A <a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of
+matching <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="type">GstPlayerAudioInfo</span></a>. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstPlayerAudioInfo]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-player-get-video-streams"></a><h3>gst_player_get_video_streams ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
+gst_player_get_video_streams (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a> *info</code></em>);</pre>
+<div class="refsect3">
<a name="id-1.2.10.2.14.23.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1204,18 +1213,18 @@
<div class="refsect3">
<a name="id-1.2.10.2.14.23.5"></a><h4>Returns</h4>
<p> A <a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of
-matching <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="type">GstPlayerAudioInfo</span></a>. </p>
-<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstPlayerAudioInfo]</span></p>
+matching <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="type">GstPlayerVideoInfo</span></a>. </p>
+<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstPlayerVideoInfo]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
-<a name="gst-player-get-video-streams"></a><h3>gst_player_get_video_streams ()</h3>
+<a name="gst-player-get-subtitle-streams"></a><h3>gst_player_get_subtitle_streams ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
-gst_player_get_video_streams (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a> *info</code></em>);</pre>
+gst_player_get_subtitle_streams (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a> *info</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.10.2.14.24.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1231,33 +1240,6 @@
<div class="refsect3">
<a name="id-1.2.10.2.14.24.5"></a><h4>Returns</h4>
<p> A <a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of
-matching <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="type">GstPlayerVideoInfo</span></a>. </p>
-<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstPlayerVideoInfo]</span></p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-player-get-subtitle-streams"></a><h3>gst_player_get_subtitle_streams ()</h3>
-<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> *
-gst_player_get_subtitle_streams (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a> *info</code></em>);</pre>
-<div class="refsect3">
-<a name="id-1.2.10.2.14.25.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>info</p></td>
-<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a></p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="id-1.2.10.2.14.25.5"></a><h4>Returns</h4>
-<p> A <a href="https://developer.gnome.org/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of
matching <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerSubtitleInfo"><span class="type">GstPlayerSubtitleInfo</span></a>. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstPlayerSubtitleInfo]</span></p>
</div>
@@ -1269,8 +1251,43 @@
gst_player_set_audio_track (<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><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> stream_index</code></em>);</pre>
<div class="refsect3">
+<a name="id-1.2.10.2.14.25.4"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>stream_index</p></td>
+<td class="parameter_description"><p>stream index</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.10.2.14.25.5"></a><h4>Returns</h4>
+<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
+<p>Sets the audio track <em class="parameter"><code>stream_idex</code></em>
+.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-player-set-video-track"></a><h3>gst_player_set_video_track ()</h3>
+<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_player_set_video_track (<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><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> stream_index</code></em>);</pre>
+<div class="refsect3">
<a name="id-1.2.10.2.14.26.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1293,19 +1310,19 @@
<div class="refsect3">
<a name="id-1.2.10.2.14.26.5"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
-<p>Sets the audio track <em class="parameter"><code>stream_idex</code></em>
+<p>Sets the video track <em class="parameter"><code>stream_index</code></em>
.</p>
</div>
</div>
<hr>
<div class="refsect2">
-<a name="gst-player-set-video-track"></a><h3>gst_player_set_video_track ()</h3>
+<a name="gst-player-set-subtitle-track"></a><h3>gst_player_set_subtitle_track ()</h3>
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_player_set_video_track (<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><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> stream_index</code></em>);</pre>
+gst_player_set_subtitle_track (<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><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> stream_index</code></em>);</pre>
<div class="refsect3">
<a name="id-1.2.10.2.14.27.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1328,41 +1345,6 @@
<div class="refsect3">
<a name="id-1.2.10.2.14.27.5"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
-<p>Sets the video track <em class="parameter"><code>stream_index</code></em>
-.</p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-player-set-subtitle-track"></a><h3>gst_player_set_subtitle_track ()</h3>
-<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_player_set_subtitle_track (<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><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> stream_index</code></em>);</pre>
-<div class="refsect3">
-<a name="id-1.2.10.2.14.28.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody>
-<tr>
-<td class="parameter_name"><p>player</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-<tr>
-<td class="parameter_name"><p>stream_index</p></td>
-<td class="parameter_description"><p>stream index</p></td>
-<td class="parameter_annotations"> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="id-1.2.10.2.14.28.5"></a><h4>Returns</h4>
-<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
<p>Sets the subtitle strack <em class="parameter"><code>stream_index</code></em>
.</p>
</div>
@@ -1374,8 +1356,36 @@
gst_player_get_current_audio_track (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
<p>A Function to get current audio <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="type">GstPlayerAudioInfo</span></a> instance.</p>
<div class="refsect3">
+<a name="id-1.2.10.2.14.28.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="id-1.2.10.2.14.28.6"></a><h4>Returns</h4>
+<p> current audio track.</p>
+<p>The caller should free it with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
+<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-player-get-current-video-track"></a><h3>gst_player_get_current_video_track ()</h3>
+<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="returnvalue">GstPlayerVideoInfo</span></a> *
+gst_player_get_current_video_track (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
+<p>A Function to get current video <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="type">GstPlayerVideoInfo</span></a> instance.</p>
+<div class="refsect3">
<a name="id-1.2.10.2.14.29.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1390,20 +1400,20 @@
</div>
<div class="refsect3">
<a name="id-1.2.10.2.14.29.6"></a><h4>Returns</h4>
-<p> current audio track.</p>
+<p> current video track.</p>
<p>The caller should free it with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
-<a name="gst-player-get-current-video-track"></a><h3>gst_player_get_current_video_track ()</h3>
-<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="returnvalue">GstPlayerVideoInfo</span></a> *
-gst_player_get_current_video_track (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
-<p>A Function to get current video <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="type">GstPlayerVideoInfo</span></a> instance.</p>
+<a name="gst-player-get-current-subtitle-track"></a><h3>gst_player_get_current_subtitle_track ()</h3>
+<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerSubtitleInfo"><span class="returnvalue">GstPlayerSubtitleInfo</span></a> *
+gst_player_get_current_subtitle_track (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
+<p>A Function to get current subtitle <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerSubtitleInfo"><span class="type">GstPlayerSubtitleInfo</span></a> instance.</p>
<div class="refsect3">
<a name="id-1.2.10.2.14.30.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1418,34 +1428,6 @@
</div>
<div class="refsect3">
<a name="id-1.2.10.2.14.30.6"></a><h4>Returns</h4>
-<p> current video track.</p>
-<p>The caller should free it with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
-<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-player-get-current-subtitle-track"></a><h3>gst_player_get_current_subtitle_track ()</h3>
-<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerSubtitleInfo"><span class="returnvalue">GstPlayerSubtitleInfo</span></a> *
-gst_player_get_current_subtitle_track (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
-<p>A Function to get current subtitle <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerSubtitleInfo"><span class="type">GstPlayerSubtitleInfo</span></a> instance.</p>
-<div class="refsect3">
-<a name="id-1.2.10.2.14.31.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="parameters_name">
-<col class="parameters_description">
-<col width="200px" class="parameters_annotations">
-</colgroup>
-<tbody><tr>
-<td class="parameter_name"><p>player</p></td>
-<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
-<td class="parameter_annotations"> </td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect3">
-<a name="id-1.2.10.2.14.31.6"></a><h4>Returns</h4>
<p> current subtitle track.</p>
<p>The caller should free it with <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
@@ -1459,8 +1441,8 @@
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);</pre>
<p>Enable or disable the current audio track.</p>
<div class="refsect3">
-<a name="id-1.2.10.2.14.32.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.31.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1489,8 +1471,8 @@
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);</pre>
<p>Enable or disable the current video track.</p>
<div class="refsect3">
-<a name="id-1.2.10.2.14.33.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.32.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1519,8 +1501,8 @@
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);</pre>
<p>Enable or disable the current subtitle track.</p>
<div class="refsect3">
-<a name="id-1.2.10.2.14.34.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.33.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1548,8 +1530,8 @@
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="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>);</pre>
<div class="refsect3">
-<a name="id-1.2.10.2.14.35.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.34.4"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1570,7 +1552,7 @@
</table></div>
</div>
<div class="refsect3">
-<a name="id-1.2.10.2.14.35.5"></a><h4>Returns</h4>
+<a name="id-1.2.10.2.14.34.5"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> or <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
<p>Sets the external subtitle URI.</p>
</div>
@@ -1582,8 +1564,8 @@
gst_player_get_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>);</pre>
<p>current subtitle URI</p>
<div class="refsect3">
-<a name="id-1.2.10.2.14.36.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.35.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1597,7 +1579,7 @@
</table></div>
</div>
<div class="refsect3">
-<a name="id-1.2.10.2.14.36.6"></a><h4>Returns</h4>
+<a name="id-1.2.10.2.14.35.6"></a><h4>Returns</h4>
<p> URI of the current external subtitle.
<a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after usage. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
@@ -1610,8 +1592,8 @@
gst_player_set_visualization (<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="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
<div class="refsect3">
-<a name="id-1.2.10.2.14.37.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.36.4"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1633,7 +1615,7 @@
</table></div>
</div>
<div class="refsect3">
-<a name="id-1.2.10.2.14.37.5"></a><h4>Returns</h4>
+<a name="id-1.2.10.2.14.36.5"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the visualizations was set correctly. Otherwise,
<a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
</div>
@@ -1646,8 +1628,8 @@
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);</pre>
<p>Enable or disable the visualization.</p>
<div class="refsect3">
-<a name="id-1.2.10.2.14.38.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.37.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1674,8 +1656,8 @@
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
gst_player_get_current_visualization (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
<div class="refsect3">
-<a name="id-1.2.10.2.14.39.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.38.4"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1689,7 +1671,7 @@
</table></div>
</div>
<div class="refsect3">
-<a name="id-1.2.10.2.14.39.5"></a><h4>Returns</h4>
+<a name="id-1.2.10.2.14.38.5"></a><h4>Returns</h4>
<p> Name of the currently enabled visualization.
<a href="https://developer.gnome.org/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after usage. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
@@ -1703,8 +1685,8 @@
(<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerColorBalanceType" title="enum GstPlayerColorBalanceType"><span class="type">GstPlayerColorBalanceType</span></a> type</code></em>);</pre>
<p>Gets a string representing the given color balance type.</p>
<div class="refsect3">
-<a name="id-1.2.10.2.14.40.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.39.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1718,7 +1700,7 @@
</table></div>
</div>
<div class="refsect3">
-<a name="id-1.2.10.2.14.40.6"></a><h4>Returns</h4>
+<a name="id-1.2.10.2.14.39.6"></a><h4>Returns</h4>
<p> a string with the name of the color
balance type. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
@@ -1732,8 +1714,8 @@
<p>Checks whether the <em class="parameter"><code>player</code></em>
has color balance support available.</p>
<div class="refsect3">
-<a name="id-1.2.10.2.14.41.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.40.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1747,7 +1729,7 @@
</table></div>
</div>
<div class="refsect3">
-<a name="id-1.2.10.2.14.41.6"></a><h4>Returns</h4>
+<a name="id-1.2.10.2.14.40.6"></a><h4>Returns</h4>
<p> <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>player</code></em>
has color balance support. Otherwise,
<a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
@@ -1764,8 +1746,8 @@
to the passed
value.</p>
<div class="refsect3">
-<a name="id-1.2.10.2.14.42.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.41.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1801,8 +1783,8 @@
<p>Retrieve the current value of the indicated <em class="parameter"><code>type</code></em>
.</p>
<div class="refsect3">
-<a name="id-1.2.10.2.14.43.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.42.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1823,7 +1805,7 @@
</table></div>
</div>
<div class="refsect3">
-<a name="id-1.2.10.2.14.43.6"></a><h4>Returns</h4>
+<a name="id-1.2.10.2.14.42.6"></a><h4>Returns</h4>
<p> The current value of <em class="parameter"><code>type</code></em>
, between [0,1]. In case of
error -1 is returned.</p>
@@ -1835,8 +1817,8 @@
<pre class="programlisting"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
gst_player_get_rate (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
<div class="refsect3">
-<a name="id-1.2.10.2.14.44.4"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.43.4"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1850,7 +1832,7 @@
</table></div>
</div>
<div class="refsect3">
-<a name="id-1.2.10.2.14.44.5"></a><h4>Returns</h4>
+<a name="id-1.2.10.2.14.43.5"></a><h4>Returns</h4>
<p> current playback rate</p>
</div>
</div>
@@ -1862,8 +1844,8 @@
<em class="parameter"><code><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> rate</code></em>);</pre>
<p>Playback at specified rate</p>
<div class="refsect3">
-<a name="id-1.2.10.2.14.45.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<a name="id-1.2.10.2.14.44.5"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1896,7 +1878,7 @@
<a name="GstPlayerState"></a><h3>enum GstPlayerState</h3>
<div class="refsect3">
<a name="id-1.2.10.2.15.3.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -1941,7 +1923,7 @@
<a name="GstPlayerError"></a><h3>enum GstPlayerError</h3>
<div class="refsect3">
<a name="id-1.2.10.2.15.4.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -1962,7 +1944,7 @@
<a name="GstPlayerColorBalanceType"></a><h3>enum GstPlayerColorBalanceType</h3>
<div class="refsect3">
<a name="id-1.2.10.2.15.5.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-h264parser.html b/docs/libs/html/gst-plugins-bad-libs-h264parser.html
index 066b443..a501690 100644
--- a/docs/libs/html/gst-plugins-bad-libs-h264parser.html
+++ b/docs/libs/html/gst-plugins-bad-libs-h264parser.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>h264parser: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="codecparsers.html" title="Bitstream parsing Library">
<link rel="prev" href="codecparsers.html" title="Bitstream parsing Library">
@@ -34,7 +34,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-h264parser.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -211,7 +211,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-h264parser.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -400,7 +400,7 @@
</p>
<div class="refsect3">
<a name="id-1.2.4.3.7.7.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -457,7 +457,7 @@
.</p>
<div class="refsect3">
<a name="id-1.2.4.3.7.8.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -516,7 +516,7 @@
is up to date.</p>
<div class="refsect3">
<a name="id-1.2.4.3.7.9.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -555,7 +555,7 @@
structure.</p>
<div class="refsect3">
<a name="id-1.2.4.3.7.10.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -608,7 +608,7 @@
structure.</p>
<div class="refsect3">
<a name="id-1.2.4.3.7.11.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -659,7 +659,7 @@
to parsing a new PPS NAL unit.</p>
<div class="refsect3">
<a name="id-1.2.4.3.7.12.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -701,7 +701,7 @@
array.</p>
<div class="refsect3">
<a name="id-1.2.4.3.7.13.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -752,7 +752,7 @@
and sets it to <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
<div class="refsect3">
<a name="id-1.2.4.3.7.15.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -778,7 +778,7 @@
structure.</p>
<div class="refsect3">
<a name="id-1.2.4.3.7.16.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -824,7 +824,7 @@
to parsing a new PPS NAL unit.</p>
<div class="refsect3">
<a name="id-1.2.4.3.7.17.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -863,7 +863,7 @@
internal resources.</p>
<div class="refsect3">
<a name="id-1.2.4.3.7.18.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -895,7 +895,7 @@
arguments.</p>
<div class="refsect3">
<a name="id-1.2.4.3.7.19.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -934,7 +934,7 @@
arguments.</p>
<div class="refsect3">
<a name="id-1.2.4.3.7.20.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -973,7 +973,7 @@
arguments.</p>
<div class="refsect3">
<a name="id-1.2.4.3.7.21.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1012,7 +1012,7 @@
arguments.</p>
<div class="refsect3">
<a name="id-1.2.4.3.7.22.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1055,7 +1055,7 @@
to 1.</p>
<div class="refsect3">
<a name="id-1.2.4.3.7.23.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -1113,7 +1113,7 @@
<p>Indicates the type of H264 Nal Units</p>
<div class="refsect3">
<a name="id-1.2.4.3.8.4.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -1270,7 +1270,7 @@
<p>The result of parsing H264 data.</p>
<div class="refsect3">
<a name="id-1.2.4.3.8.5.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -1329,7 +1329,7 @@
<p>The type of SEI message.</p>
<div class="refsect3">
<a name="id-1.2.4.3.8.6.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -1383,7 +1383,7 @@
<p>SEI pic_struct type</p>
<div class="refsect3">
<a name="id-1.2.4.3.8.7.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -1465,7 +1465,7 @@
<p>Type of Picture slice</p>
<div class="refsect3">
<a name="id-1.2.4.3.8.8.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -1560,7 +1560,7 @@
<p>Structure defining the Nal unit headers</p>
<div class="refsect3">
<a name="id-1.2.4.3.8.10.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -1710,7 +1710,7 @@
<p>H264 Sequence Parameter Set (SPS)</p>
<div class="refsect3">
<a name="id-1.2.4.3.8.11.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -2047,7 +2047,7 @@
<p>Defines the HRD parameters</p>
<div class="refsect3">
<a name="id-1.2.4.3.8.13.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -2178,7 +2178,7 @@
<p>The structure representing the VUI parameters.</p>
<div class="refsect3">
<a name="id-1.2.4.3.8.14.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-jpegparser.html b/docs/libs/html/gst-plugins-bad-libs-jpegparser.html
index b8aa24e..34d2f5c 100644
--- a/docs/libs/html/gst-plugins-bad-libs-jpegparser.html
+++ b/docs/libs/html/gst-plugins-bad-libs-jpegparser.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>jpegparser: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="codecparsers.html" title="Bitstream parsing Library">
<link rel="prev" href="gst-plugins-bad-libs-h264parser.html" title="h264parser">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-jpegparser.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -108,7 +108,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-jpegparser.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -223,7 +223,7 @@
data available when parsing the segment.</p>
<div class="refsect3">
<a name="id-1.2.4.4.7.2.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -273,7 +273,7 @@
available.</p>
<div class="refsect3">
<a name="id-1.2.4.4.7.3.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -312,7 +312,7 @@
available.</p>
<div class="refsect3">
<a name="id-1.2.4.4.7.4.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -357,7 +357,7 @@
<a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>;</p>
<div class="refsect3">
<a name="id-1.2.4.4.7.5.7"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -403,7 +403,7 @@
table will also be set to <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.</p>
<div class="refsect3">
<a name="id-1.2.4.4.7.6.7"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -440,7 +440,7 @@
available.</p>
<div class="refsect3">
<a name="id-1.2.4.4.7.7.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -483,7 +483,7 @@
specified by the JPEG standard.</p>
<div class="refsect3">
<a name="id-1.2.4.4.7.9.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -566,7 +566,7 @@
<p>JPEG entropy coding mode.</p>
<div class="refsect3">
<a name="id-1.2.4.4.8.11.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -598,7 +598,7 @@
<p>JPEG encoding processes.</p>
<div class="refsect3">
<a name="id-1.2.4.4.8.12.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -651,7 +651,7 @@
<p>A structure that contains the type of a segment, its offset and its size.</p>
<div class="refsect3">
<a name="id-1.2.4.4.8.13.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -702,7 +702,7 @@
<p>Frame header.</p>
<div class="refsect3">
<a name="id-1.2.4.4.8.14.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -752,7 +752,7 @@
<p>Component-specification parameters.</p>
<div class="refsect3">
<a name="id-1.2.4.4.8.15.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -795,7 +795,7 @@
<p>Scan header.</p>
<div class="refsect3">
<a name="id-1.2.4.4.8.16.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -829,7 +829,7 @@
<p>Component-specification parameters.</p>
<div class="refsect3">
<a name="id-1.2.4.4.8.17.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -868,7 +868,7 @@
decode an image.</p>
<div class="refsect3">
<a name="id-1.2.4.4.8.18.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -902,7 +902,7 @@
<p>Huffman table.</p>
<div class="refsect3">
<a name="id-1.2.4.4.8.19.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -942,7 +942,7 @@
<p>Quantization table.</p>
<div class="refsect3">
<a name="id-1.2.4.4.8.20.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-mpeg4parser.html b/docs/libs/html/gst-plugins-bad-libs-mpeg4parser.html
index 04c76e8..6d08dd6 100644
--- a/docs/libs/html/gst-plugins-bad-libs-mpeg4parser.html
+++ b/docs/libs/html/gst-plugins-bad-libs-mpeg4parser.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>mpeg4parser: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="codecparsers.html" title="Bitstream parsing Library">
<link rel="prev" href="gst-plugins-bad-libs-mpegvideoparser.html" title="mpegvideoparser">
@@ -34,7 +34,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-mpeg4parser.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -101,7 +101,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-mpeg4parser.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -217,7 +217,7 @@
found.</p>
<div class="refsect3">
<a name="id-1.2.4.6.7.2.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -279,7 +279,7 @@
structure.</p>
<div class="refsect3">
<a name="id-1.2.4.6.7.3.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -333,7 +333,7 @@
structure.</p>
<div class="refsect3">
<a name="id-1.2.4.6.7.4.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -378,7 +378,7 @@
structure.</p>
<div class="refsect3">
<a name="id-1.2.4.6.7.5.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -428,7 +428,7 @@
structure.</p>
<div class="refsect3">
<a name="id-1.2.4.6.7.6.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -479,7 +479,7 @@
structure.</p>
<div class="refsect3">
<a name="id-1.2.4.6.7.7.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -527,7 +527,7 @@
structure</p>
<div class="refsect3">
<a name="id-1.2.4.6.7.8.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -580,7 +580,7 @@
defined in: Table 6-3 — Start code values</p>
<div class="refsect3">
<a name="id-1.2.4.6.8.2.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -718,7 +718,7 @@
defined in: Table 6-5 -- Meaning of visual object type</p>
<div class="refsect3">
<a name="id-1.2.4.6.8.3.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -761,7 +761,7 @@
defined in: Table 6-12 -- Meaning of pixel aspect ratio</p>
<div class="refsect3">
<a name="id-1.2.4.6.8.4.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -820,7 +820,7 @@
<p>Result type of any parsing function.</p>
<div class="refsect3">
<a name="id-1.2.4.6.8.5.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -871,7 +871,7 @@
Table 6-20 -- Meaning of vop_coding_type</p>
<div class="refsect3">
<a name="id-1.2.4.6.8.6.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -917,7 +917,7 @@
defined in: Table 6-13 -- Meaning of chroma_format</p>
<div class="refsect3">
<a name="id-1.2.4.6.8.7.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -938,7 +938,7 @@
Table 6-16 — Video Object Layer shape type</p>
<div class="refsect3">
<a name="id-1.2.4.6.8.8.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -977,7 +977,7 @@
Table V2 - 2 -- Meaning of sprite_enable codewords</p>
<div class="refsect3">
<a name="id-1.2.4.6.8.9.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -1012,7 +1012,7 @@
Table G.1 — FLC table for profile_and_level_indication</p>
<div class="refsect3">
<a name="id-1.2.4.6.8.10.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -1132,7 +1132,7 @@
Table G.1 — FLC table for profile_and_level_indication</p>
<div class="refsect3">
<a name="id-1.2.4.6.8.11.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -1462,7 +1462,7 @@
<p>A structure that contains the type of a packet, its offset and its size</p>
<div class="refsect3">
<a name="id-1.2.4.6.8.20.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -1515,7 +1515,7 @@
6.2.5.2 Video Plane with Short Header</p>
<div class="refsect3">
<a name="id-1.2.4.6.8.21.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-mpegvideoparser.html b/docs/libs/html/gst-plugins-bad-libs-mpegvideoparser.html
index 17486e0..ffb89b5 100644
--- a/docs/libs/html/gst-plugins-bad-libs-mpegvideoparser.html
+++ b/docs/libs/html/gst-plugins-bad-libs-mpegvideoparser.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>mpegvideoparser: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="codecparsers.html" title="Bitstream parsing Library">
<link rel="prev" href="gst-plugins-bad-libs-jpegparser.html" title="jpegparser">
@@ -34,7 +34,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-mpegvideoparser.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -133,7 +133,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-mpegvideoparser.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -219,7 +219,7 @@
the data to find the next packet if needed.</p>
<div class="refsect3">
<a name="id-1.2.4.5.7.2.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -273,7 +273,7 @@
</p>
<div class="refsect3">
<a name="id-1.2.4.5.7.3.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -327,7 +327,7 @@
</p>
<div class="refsect3">
<a name="id-1.2.4.5.7.4.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -382,7 +382,7 @@
</p>
<div class="refsect3">
<a name="id-1.2.4.5.7.5.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -436,7 +436,7 @@
</p>
<div class="refsect3">
<a name="id-1.2.4.5.7.6.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -490,7 +490,7 @@
</p>
<div class="refsect3">
<a name="id-1.2.4.5.7.7.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -557,7 +557,7 @@
</p>
<div class="refsect3">
<a name="id-1.2.4.5.7.9.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -620,7 +620,7 @@
arguments.</p>
<div class="refsect3">
<a name="id-1.2.4.5.7.11.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -659,7 +659,7 @@
arguments.</p>
<div class="refsect3">
<a name="id-1.2.4.5.7.12.6"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -689,7 +689,7 @@
<p>Indicates the type of MPEG packet</p>
<div class="refsect3">
<a name="id-1.2.4.5.8.2.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -771,7 +771,7 @@
Picture may occur together or separately.</p>
<div class="refsect3">
<a name="id-1.2.4.5.8.3.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -823,7 +823,7 @@
<p>Mpeg-2 Levels.</p>
<div class="refsect3">
<a name="id-1.2.4.5.8.4.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -868,7 +868,7 @@
<p>Mpeg-2 Profiles.</p>
<div class="refsect3">
<a name="id-1.2.4.5.8.5.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -927,7 +927,7 @@
<p>Picture type.</p>
<div class="refsect3">
<a name="id-1.2.4.5.8.6.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -972,7 +972,7 @@
<p>Picture structure type.</p>
<div class="refsect3">
<a name="id-1.2.4.5.8.7.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -1028,7 +1028,7 @@
<p>The Mpeg2 Video Sequence Header structure.</p>
<div class="refsect3">
<a name="id-1.2.4.5.8.8.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -1132,7 +1132,7 @@
<p>The Mpeg2 Video Sequence Extension structure.</p>
<div class="refsect3">
<a name="id-1.2.4.5.8.9.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -1214,7 +1214,7 @@
<p>The Mpeg2 Video Picture Header structure.</p>
<div class="refsect3">
<a name="id-1.2.4.5.8.10.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -1267,7 +1267,7 @@
<p>The Mpeg Video Group of Picture structure.</p>
<div class="refsect3">
<a name="id-1.2.4.5.8.11.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -1341,7 +1341,7 @@
<p>The Mpeg2 Video Picture Extension structure.</p>
<div class="refsect3">
<a name="id-1.2.4.5.8.12.5"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
diff --git a/docs/libs/html/gst-plugins-bad-libs-vc1parser.html b/docs/libs/html/gst-plugins-bad-libs-vc1parser.html
index 8e59b2f..bfca072 100644
--- a/docs/libs/html/gst-plugins-bad-libs-vc1parser.html
+++ b/docs/libs/html/gst-plugins-bad-libs-vc1parser.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>vc1parser: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="codecparsers.html" title="Bitstream parsing Library">
<link rel="prev" href="gst-plugins-bad-libs-mpeg4parser.html" title="mpeg4parser">
@@ -34,7 +34,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-vc1parser.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -141,7 +141,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-libs-vc1parser.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -273,7 +273,7 @@
fields</p>
<div class="refsect3">
<a name="id-1.2.4.7.7.2.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -316,7 +316,7 @@
fields.</p>
<div class="refsect3">
<a name="id-1.2.4.7.7.3.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -359,7 +359,7 @@
fields.</p>
<div class="refsect3">
<a name="id-1.2.4.7.7.4.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -403,7 +403,7 @@
fields.</p>
<div class="refsect3">
<a name="id-1.2.4.7.7.5.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -447,7 +447,7 @@
fields.</p>
<div class="refsect3">
<a name="id-1.2.4.7.7.6.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -491,7 +491,7 @@
fields.</p>
<div class="refsect3">
<a name="id-1.2.4.7.7.7.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -535,7 +535,7 @@
fields.</p>
<div class="refsect3">
<a name="id-1.2.4.7.7.8.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -585,7 +585,7 @@
fields.</p>
<div class="refsect3">
<a name="id-1.2.4.7.7.9.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -664,7 +664,7 @@
if in advanced mode.</p>
<div class="refsect3">
<a name="id-1.2.4.7.7.13.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -709,7 +709,7 @@
<a name="GstVC1StartCode"></a><h3>enum GstVC1StartCode</h3>
<div class="refsect3">
<a name="id-1.2.4.7.8.4.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -780,7 +780,7 @@
<a name="GstVC1Profile"></a><h3>enum GstVC1Profile</h3>
<div class="refsect3">
<a name="id-1.2.4.7.8.5.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -816,7 +816,7 @@
<a name="GstVC1ParserResult"></a><h3>enum GstVC1ParserResult</h3>
<div class="refsect3">
<a name="id-1.2.4.7.8.6.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -857,7 +857,7 @@
<a name="GstVC1PictureType"></a><h3>enum GstVC1PictureType</h3>
<div class="refsect3">
<a name="id-1.2.4.7.8.7.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -898,7 +898,7 @@
<a name="GstVC1Level"></a><h3>enum GstVC1Level</h3>
<div class="refsect3">
<a name="id-1.2.4.7.8.8.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -959,7 +959,7 @@
<a name="GstVC1QuantizerSpec"></a><h3>enum GstVC1QuantizerSpec</h3>
<div class="refsect3">
<a name="id-1.2.4.7.8.9.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -995,7 +995,7 @@
<a name="GstVC1DQProfile"></a><h3>enum GstVC1DQProfile</h3>
<div class="refsect3">
<a name="id-1.2.4.7.8.10.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -1031,7 +1031,7 @@
<a name="GstVC1Condover"></a><h3>enum GstVC1Condover</h3>
<div class="refsect3">
<a name="id-1.2.4.7.8.11.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -1062,7 +1062,7 @@
<a name="GstVC1MvMode"></a><h3>enum GstVC1MvMode</h3>
<div class="refsect3">
<a name="id-1.2.4.7.8.12.3"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
@@ -1401,7 +1401,7 @@
</pre>
<div class="refsect3">
<a name="id-1.2.4.7.8.22.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
@@ -1694,7 +1694,7 @@
</pre>
<div class="refsect3">
<a name="id-1.2.4.7.8.23.4"></a><h4>Members</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
diff --git a/docs/libs/html/gstreamer-libs-hierarchy.html b/docs/libs/html/gstreamer-libs-hierarchy.html
index 0c757bf..8311fac 100644
--- a/docs/libs/html/gstreamer-libs-hierarchy.html
+++ b/docs/libs/html/gstreamer-libs-hierarchy.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Part II. Object Hierarchy: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="prev" href="gst-plugins-bad-libs-GstPhotography.html" title="GstPhotography">
diff --git a/docs/libs/html/gstreamer-plugins-bad.html b/docs/libs/html/gstreamer-plugins-bad.html
index 68632e8..3f6225c 100644
--- a/docs/libs/html/gstreamer-plugins-bad.html
+++ b/docs/libs/html/gstreamer-plugins-bad.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Part I. GStreamer Bad Plugins Libraries: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="prev" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
diff --git a/docs/libs/html/index.html b/docs/libs/html/index.html
index 331bc27..078eb7f 100644
--- a/docs/libs/html/index.html
+++ b/docs/libs/html/index.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GStreamer Bad Plugins 1.0 Library Reference Manual: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="next" href="gstreamer-plugins-bad.html" title="Part I. GStreamer Bad Plugins Libraries">
<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
@@ -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.7.1)
+ for GStreamer Bad Library 1.0 (1.7.2)
<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/libs/html/index.sgml b/docs/libs/html/index.sgml
index e4f2596..81f6d2e 100644
--- a/docs/libs/html/index.sgml
+++ b/docs/libs/html/index.sgml
@@ -1627,7 +1627,6 @@
<ANCHOR id="gst-plugins-bad-libs-gstplayer.description" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstplayer.html#gst-plugins-bad-libs-gstplayer.description">
<ANCHOR id="gst-plugins-bad-libs-gstplayer.functions_details" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstplayer.html#gst-plugins-bad-libs-gstplayer.functions_details">
<ANCHOR id="gst-player-new" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstplayer.html#gst-player-new">
-<ANCHOR id="gst-player-new-full" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstplayer.html#gst-player-new-full">
<ANCHOR id="gst-player-play" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstplayer.html#gst-player-play">
<ANCHOR id="gst-player-pause" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstplayer.html#gst-player-pause">
<ANCHOR id="gst-player-stop" href="gst-plugins-bad-libs-1.0/gst-plugins-bad-libs-gstplayer.html#gst-player-stop">
diff --git a/docs/libs/html/mpegts.html b/docs/libs/html/mpegts.html
index 27dce1b..a76a196 100644
--- a/docs/libs/html/mpegts.html
+++ b/docs/libs/html/mpegts.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Mpeg TS helper library: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-plugins-bad.html" title="Part I. GStreamer Bad Plugins Libraries">
<link rel="prev" href="gst-plugins-bad-libs-gstmpegvideometa.html" title="gstmpegvideometa">
diff --git a/docs/libs/html/player.html b/docs/libs/html/player.html
index 0d90935..fedeebb 100644
--- a/docs/libs/html/player.html
+++ b/docs/libs/html/player.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Player Library: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-plugins-bad.html" title="Part I. GStreamer Bad Plugins Libraries">
<link rel="prev" href="gst-plugins-bad-libs-GstGLWindowX11.html" title="GstGLWindowX11">
diff --git a/docs/libs/html/tools.html b/docs/libs/html/tools.html
index 7e5a3d0..eb97a9f 100644
--- a/docs/libs/html/tools.html
+++ b/docs/libs/html/tools.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Useful elements: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-plugins-bad.html" title="Part I. GStreamer Bad Plugins Libraries">
<link rel="prev" href="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html" title="ISDB variants of MPEG-TS descriptors">
diff --git a/docs/libs/html/video.html b/docs/libs/html/video.html
index d10d709..9785deb 100644
--- a/docs/libs/html/video.html
+++ b/docs/libs/html/video.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Video helpers and baseclasses: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-plugins-bad.html" title="Part I. GStreamer Bad Plugins Libraries">
<link rel="prev" href="gst-plugins-bad-libs-GstAggregatorPad.html" title="GstAggregatorPad">
diff --git a/docs/plugins/Makefile.in b/docs/plugins/Makefile.in
index 5c6edd5..b140e45 100644
--- a/docs/plugins/Makefile.in
+++ b/docs/plugins/Makefile.in
@@ -131,16 +131,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -316,7 +315,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -338,7 +336,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -360,9 +357,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -524,6 +518,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -537,8 +532,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -625,8 +618,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -678,6 +669,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -698,6 +690,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -735,7 +729,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/docs/plugins/gst-plugins-bad-plugins-docs.sgml b/docs/plugins/gst-plugins-bad-plugins-docs.sgml
index bd25df3..69db609 100644
--- a/docs/plugins/gst-plugins-bad-plugins-docs.sgml
+++ b/docs/plugins/gst-plugins-bad-plugins-docs.sgml
@@ -68,7 +68,6 @@
<xi:include href="xml/element-mpegpsmux.xml" />
<xi:include href="xml/element-mpegtsmux.xml" />
<xi:include href="xml/element-mplex.xml" />
- <xi:include href="xml/element-mpg123audiodec.xml" />
<xi:include href="xml/element-neonhttpsrc.xml" />
<xi:include href="xml/element-ofa.xml" />
<xi:include href="xml/element-openalsrc.xml" />
diff --git a/docs/plugins/gst-plugins-bad-plugins-sections.txt b/docs/plugins/gst-plugins-bad-plugins-sections.txt
index a289e22..7fed114 100644
--- a/docs/plugins/gst-plugins-bad-plugins-sections.txt
+++ b/docs/plugins/gst-plugins-bad-plugins-sections.txt
@@ -975,20 +975,6 @@
</SECTION>
<SECTION>
-<FILE>element-mpg123audiodec</FILE>
-<TITLE>mpg123audiodec</TITLE>
-GstMpg123AudioDec
-<SUBSECTION Standard>
-GstMpg123AudioDecClass
-GST_MPG123_AUDIO_DEC
-GST_MPG123_AUDIO_DEC_CLASS
-GST_IS_MPG123_AUDIO_DEC
-GST_IS_MPG123_AUDIO_DEC_CLASS
-GST_TYPE_MPG123_AUDIO_DEC
-gst_mpg123_audio_dec_get_type
-</SECTION>
-
-<SECTION>
<FILE>element-mxfdemux</FILE>
<TITLE>mxfdemux</TITLE>
GstMXFDemux
diff --git a/docs/plugins/gst-plugins-bad-plugins.args b/docs/plugins/gst-plugins-bad-plugins.args
index 3c6b35b..0bdbfbd 100644
--- a/docs/plugins/gst-plugins-bad-plugins.args
+++ b/docs/plugins/gst-plugins-bad-plugins.args
@@ -18749,6 +18749,36 @@
</ARG>
<ARG>
+<NAME>GstVideoParse::framesize</NAME>
+<TYPE>guint</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Framesize</NICK>
+<BLURB>Size of an image in raw stream (0: default).</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstVideoParse::offsets</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Offsets</NICK>
+<BLURB>Offset of each planes in bytes using string format: 'o0,o1,o2,o3'.</BLURB>
+<DEFAULT>NULL</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstVideoParse::strides</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Strides</NICK>
+<BLURB>Stride of each planes in bytes using string format: 's0,s1,s2,s3'.</BLURB>
+<DEFAULT>NULL</DEFAULT>
+</ARG>
+
+<ARG>
<NAME>GstMetadataParse::exif</NAME>
<TYPE>gboolean</TYPE>
<RANGE></RANGE>
@@ -46389,16 +46419,6 @@
</ARG>
<ARG>
-<NAME>GstGSettingsAudioSink::profile</NAME>
-<TYPE>GstGSettingsAudioSinkProfile</TYPE>
-<RANGE></RANGE>
-<FLAGS>rw</FLAGS>
-<NICK>Profile</NICK>
-<BLURB>Profile.</BLURB>
-<DEFAULT>Sound Events</DEFAULT>
-</ARG>
-
-<ARG>
<NAME>Gstsolarize::silent</NAME>
<TYPE>gboolean</TYPE>
<RANGE></RANGE>
@@ -47079,6 +47099,16 @@
</ARG>
<ARG>
+<NAME>GstCvSobel::mask</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Mask</NICK>
+<BLURB>Sets whether the detected derivative edges should be used as a mask on the original input or not.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
<NAME>GstCvSmooth::param1</NAME>
<TYPE>gint</TYPE>
<RANGE>>= 1</RANGE>
@@ -47199,6 +47229,16 @@
</ARG>
<ARG>
+<NAME>GstCvLaplace::mask</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Mask</NICK>
+<BLURB>Sets whether the detected edges should be used as a mask on the original input or not.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
<NAME>GstRotate::angle</NAME>
<TYPE>gdouble</TYPE>
<RANGE></RANGE>
@@ -58504,7 +58544,7 @@
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
<NICK>Use in-band FEC</NICK>
-<BLURB>Use forward error correction if available.</BLURB>
+<BLURB>Use forward error correction if available (needs PLC enabled).</BLURB>
<DEFAULT>FALSE</DEFAULT>
</ARG>
@@ -58674,7 +58714,7 @@
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
<NICK>Calculate Motion</NICK>
-<BLURB>If needs calculate motion on frame you need this property setting true otherwise false.</BLURB>
+<BLURB>Toggles motion calculation. If FALSE, this filter does nothing.</BLURB>
<DEFAULT>TRUE</DEFAULT>
</ARG>
@@ -58684,7 +58724,7 @@
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
<NICK>Color of Motion Cells</NICK>
-<BLURB>The color of motion cells separated with ",".</BLURB>
+<BLURB>Color for motion cells in R,G,B format. Max per channel is 255.</BLURB>
<DEFAULT>"255,255,0"</DEFAULT>
</ARG>
@@ -58714,7 +58754,7 @@
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
<NICK>Display</NICK>
-<BLURB>Motion Cells visible or not on Current Frame.</BLURB>
+<BLURB>Toggle display of motion cells on current frame.</BLURB>
<DEFAULT>FALSE</DEFAULT>
</ARG>
@@ -58723,8 +58763,8 @@
<TYPE>gint</TYPE>
<RANGE>[1,60]</RANGE>
<FLAGS>rw</FLAGS>
-<NICK>Gap is time in second, elapsed time from last motion timestamp. </NICK>
-<BLURB>If elapsed time minus form last motion timestamp is greater or equal than gap then we post motion finished bus message. .</BLURB>
+<NICK>Motion-finished Threshold</NICK>
+<BLURB>Interval in seconds after which motion is considered finished and a motion finished bus message is posted.</BLURB>
<DEFAULT>5</DEFAULT>
</ARG>
@@ -58734,7 +58774,7 @@
<RANGE>[8,32]</RANGE>
<FLAGS>rw</FLAGS>
<NICK>Number of Horizontal Grids</NICK>
-<BLURB>You can give number of horizontal grid cells.</BLURB>
+<BLURB>Number of horizontal grid cells.</BLURB>
<DEFAULT>10</DEFAULT>
</ARG>
@@ -58744,7 +58784,7 @@
<RANGE>[8,32]</RANGE>
<FLAGS>rw</FLAGS>
<NICK>Number of Vertical Grids</NICK>
-<BLURB>You can give number of vertical grid cells.</BLURB>
+<BLURB>Number of vertical grid cells.</BLURB>
<DEFAULT>10</DEFAULT>
</ARG>
@@ -58753,8 +58793,8 @@
<TYPE>gint</TYPE>
<RANGE>[1,60]</RANGE>
<FLAGS>rw</FLAGS>
-<NICK>MINIMUN MOTION FRAMES</NICK>
-<BLURB>Define the minimum number of motion frames that trigger a motion event.</BLURB>
+<NICK>Minimum Motion Frames</NICK>
+<BLURB>Minimum number of motion frames triggering a motion event.</BLURB>
<DEFAULT>1</DEFAULT>
</ARG>
@@ -58764,7 +58804,7 @@
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
<NICK>Motion Cells Of Interest(MOCI)</NICK>
-<BLURB>The line and column idx separated with ":", describe a cell. Cells separated with ",".</BLURB>
+<BLURB>Describe a cell with its line and column idx separated with ":". Pass multiple cells as a comma-separated list.</BLURB>
<DEFAULT>NULL</DEFAULT>
</ARG>
@@ -58774,7 +58814,7 @@
<RANGE>[G_MAXULONG,5]</RANGE>
<FLAGS>rw</FLAGS>
<NICK>Motion Cell Thickness</NICK>
-<BLURB>Motion Cell Border Thickness, if it's -1 then motion cell will be fill.</BLURB>
+<BLURB>Motion Cell Border Thickness. Set to -1 to fill motion cell.</BLURB>
<DEFAULT>1</DEFAULT>
</ARG>
@@ -58784,7 +58824,7 @@
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
<NICK>Motion Mask with Cells Position</NICK>
-<BLURB>The line and column idx separated with ":" what cells want we mask-out, describe a cell. Cells separated with ",".</BLURB>
+<BLURB>Describe a cell with its line and column idx separated with ":". Pass multiple cells as a comma-separated list.</BLURB>
<DEFAULT>NULL</DEFAULT>
</ARG>
@@ -58794,7 +58834,7 @@
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
<NICK>Motion Mask with Coordinates</NICK>
-<BLURB>The upper left x, y and lower right x, y coordinates separated with ":", describe a region. Regions separated with ",".</BLURB>
+<BLURB>Describe a region with its upper left and lower right x, y coordinates separated with ":". Pass multiple regions as a comma-separated list.</BLURB>
<DEFAULT>NULL</DEFAULT>
</ARG>
@@ -58804,7 +58844,7 @@
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
<NICK>Post All Motion</NICK>
-<BLURB>Element post bus msg for every motion frame or just motion start and motion stop.</BLURB>
+<BLURB>Post bus messages for every motion frame or just motion start and motion stop.</BLURB>
<DEFAULT>FALSE</DEFAULT>
</ARG>
@@ -58813,8 +58853,8 @@
<TYPE>gint</TYPE>
<RANGE>[0,180]</RANGE>
<FLAGS>rw</FLAGS>
-<NICK>POSTNOMOTION</NICK>
-<BLURB>If non 0 post a no_motion event is posted on the bus if no motion is detected for N seconds.</BLURB>
+<NICK>No-motion Threshold</NICK>
+<BLURB>If non 0, post a no_motion event on the bus if no motion is detected for the given number of seconds.</BLURB>
<DEFAULT>0</DEFAULT>
</ARG>
@@ -58824,7 +58864,7 @@
<RANGE>[0,1]</RANGE>
<FLAGS>rw</FLAGS>
<NICK>Motion Sensitivity</NICK>
-<BLURB>You can tunning the element motion sensitivity.</BLURB>
+<BLURB>Motion detection sensitivity.</BLURB>
<DEFAULT>0.5</DEFAULT>
</ARG>
@@ -58834,7 +58874,7 @@
<RANGE>[0,1]</RANGE>
<FLAGS>rw</FLAGS>
<NICK>Lower bound of motion cells number</NICK>
-<BLURB>Threshold value for motion, when motion cells number greater sum cells * threshold, we show motion.</BLURB>
+<BLURB>Threshold value for motion. Filter detects motion when at least this fraction of the cells have moved.</BLURB>
<DEFAULT>0.01</DEFAULT>
</ARG>
@@ -58844,7 +58884,7 @@
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
<NICK>Use alpha</NICK>
-<BLURB>Use or not alpha blending on frames with motion cells.</BLURB>
+<BLURB>Toggle usage of alpha blending on frames with motion cells.</BLURB>
<DEFAULT>TRUE</DEFAULT>
</ARG>
@@ -58865,7 +58905,7 @@
<FLAGS>rw</FLAGS>
<NICK>Eyes profile</NICK>
<BLURB>Location of Haar cascade file to use for eye-pair detection.</BLURB>
-<DEFAULT>"/usr/share/opencv/haarcascades/haarcascade_mcs_eyepair_small.xml"</DEFAULT>
+<DEFAULT>"/usr/share/OpenCV/haarcascades/haarcascade_mcs_eyepair_small.xml"</DEFAULT>
</ARG>
<ARG>
@@ -58915,7 +58955,7 @@
<FLAGS>rw</FLAGS>
<NICK>Mouth profile</NICK>
<BLURB>Location of Haar cascade file to use for mouth detection.</BLURB>
-<DEFAULT>"/usr/share/opencv/haarcascades/haarcascade_mcs_mouth.xml"</DEFAULT>
+<DEFAULT>"/usr/share/OpenCV/haarcascades/haarcascade_mcs_mouth.xml"</DEFAULT>
</ARG>
<ARG>
@@ -58925,7 +58965,7 @@
<FLAGS>rw</FLAGS>
<NICK>Nose profile</NICK>
<BLURB>Location of Haar cascade file to use for nose detection.</BLURB>
-<DEFAULT>"/usr/share/opencv/haarcascades/haarcascade_mcs_nose.xml"</DEFAULT>
+<DEFAULT>"/usr/share/OpenCV/haarcascades/haarcascade_mcs_nose.xml"</DEFAULT>
</ARG>
<ARG>
@@ -58935,7 +58975,7 @@
<FLAGS>rw</FLAGS>
<NICK>Face profile</NICK>
<BLURB>Location of Haar cascade file to use for face detection.</BLURB>
-<DEFAULT>"/usr/share/opencv/haarcascades/haarcascade_frontalface_default.xml"</DEFAULT>
+<DEFAULT>"/usr/share/OpenCV/haarcascades/haarcascade_frontalface_default.xml"</DEFAULT>
</ARG>
<ARG>
@@ -58975,7 +59015,7 @@
<FLAGS>rw</FLAGS>
<NICK>Profile</NICK>
<BLURB>Location of Haar cascade file to use for face blurion.</BLURB>
-<DEFAULT>"/usr/share/opencv/haarcascades/haarcascade_frontalface_default.xml"</DEFAULT>
+<DEFAULT>"/usr/share/OpenCV/haarcascades/haarcascade_frontalface_default.xml"</DEFAULT>
</ARG>
<ARG>
@@ -68111,6 +68151,46 @@
</ARG>
<ARG>
+<NAME>GstGLSinkBin::brightness</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[-1,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Brightness</NICK>
+<BLURB>brightness.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstGLSinkBin::contrast</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,2]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Contrast</NICK>
+<BLURB>contrast.</BLURB>
+<DEFAULT>1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstGLSinkBin::hue</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[-1,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Hue</NICK>
+<BLURB>hue.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstGLSinkBin::saturation</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,2]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Saturation</NICK>
+<BLURB>saturation.</BLURB>
+<DEFAULT>1</DEFAULT>
+</ARG>
+
+<ARG>
<NAME>GstGLMixerBin::latency</NAME>
<TYPE>gint64</TYPE>
<RANGE>>= 0</RANGE>
@@ -69070,3 +69150,213 @@
<DEFAULT>"%s\\n"</DEFAULT>
</ARG>
+<ARG>
+<NAME>GstNetSim::delay-probability</NAME>
+<TYPE>gfloat</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Delay Probability</NICK>
+<BLURB>The Probability a buffer is delayed.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstNetSim::drop-packets</NAME>
+<TYPE>guint</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Drop Packets</NICK>
+<BLURB>Drop the next n packets.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstNetSim::drop-probability</NAME>
+<TYPE>gfloat</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Drop Probability</NICK>
+<BLURB>The Probability a buffer is dropped.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstNetSim::duplicate-probability</NAME>
+<TYPE>gfloat</TYPE>
+<RANGE>[0,1]</RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Duplicate Probability</NICK>
+<BLURB>The Probability a buffer is duplicated.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstNetSim::max-delay</NAME>
+<TYPE>gint</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Maximum delay (ms)</NICK>
+<BLURB>The maximum delay in ms to apply to buffers.</BLURB>
+<DEFAULT>400</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstNetSim::min-delay</NAME>
+<TYPE>gint</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Minimum delay (ms)</NICK>
+<BLURB>The minimum delay in ms to apply to buffers.</BLURB>
+<DEFAULT>200</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstGDPDepay::ts-offset</NAME>
+<TYPE>gint64</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Timestamp Offset</NICK>
+<BLURB>Timestamp Offset.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstGLColorBalance::brightness</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[-1,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Brightness</NICK>
+<BLURB>brightness.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstGLColorBalance::contrast</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,2]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Contrast</NICK>
+<BLURB>contrast.</BLURB>
+<DEFAULT>1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstGLColorBalance::hue</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[-1,1]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Hue</NICK>
+<BLURB>hue.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstGLColorBalance::saturation</NAME>
+<TYPE>gdouble</TYPE>
+<RANGE>[0,2]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Saturation</NICK>
+<BLURB>saturation.</BLURB>
+<DEFAULT>1</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstToneGenerateSrc::freq</NAME>
+<TYPE>gint</TYPE>
+<RANGE>[0,20000]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Frequency</NICK>
+<BLURB>Frequency of test signal.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstToneGenerateSrc::freq2</NAME>
+<TYPE>gint</TYPE>
+<RANGE>[0,20000]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Second Frequency</NICK>
+<BLURB>Frequency of second telephony tone component.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstToneGenerateSrc::off-time</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= 0</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Signal OFF time first period </NICK>
+<BLURB>Time of the first period when the tone signal is off.</BLURB>
+<DEFAULT>1000</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstToneGenerateSrc::off-time2</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= 0</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Signal OFF time first period </NICK>
+<BLURB>Time of the second period when the tone signal is off.</BLURB>
+<DEFAULT>1000</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstToneGenerateSrc::on-time</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= 1</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Signal ON time first period</NICK>
+<BLURB>Time of the first period when the tone signal is present.</BLURB>
+<DEFAULT>1000</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstToneGenerateSrc::on-time2</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= 1</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Signal ON time second period</NICK>
+<BLURB>Time of the second period when the tone signal is present.</BLURB>
+<DEFAULT>1000</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstToneGenerateSrc::repeat</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Repeat the specified tone period </NICK>
+<BLURB>Whether to repeat specified tone indefinitly.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstToneGenerateSrc::samplesperbuffer</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= 1</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Samples per buffer</NICK>
+<BLURB>Number of samples in each outgoing buffer.</BLURB>
+<DEFAULT>1024</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstToneGenerateSrc::volume</NAME>
+<TYPE>gint</TYPE>
+<RANGE>[-50,0]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Volume</NICK>
+<BLURB>Volume of first signal.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstToneGenerateSrc::volume2</NAME>
+<TYPE>gint</TYPE>
+<RANGE>[-50,0]</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Volume2</NICK>
+<BLURB>Volume of second tone signal.</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
diff --git a/docs/plugins/gst-plugins-bad-plugins.hierarchy b/docs/plugins/gst-plugins-bad-plugins.hierarchy
index d955186..c43c7b7 100644
--- a/docs/plugins/gst-plugins-bad-plugins.hierarchy
+++ b/docs/plugins/gst-plugins-bad-plugins.hierarchy
@@ -37,7 +37,6 @@
GstDtsDec
GstFaad
GstGSMDec
- GstMpg123AudioDec
GstOpusDec
GstSbcDec
GstSirenDec
@@ -73,6 +72,7 @@
GstAudioSink
GstOpenALSink
GstDecklinkAudioSink
+ GstAvdtpSink
GstChecksumSink
GstCurlBaseSink
GstCurlFileSink
@@ -96,6 +96,7 @@
GstQtSink
GstWaylandSink
GstBaseSrc
+ GstAvdtpSrc
GstDataURISrc
GstFliteTestSrc
GstInterAudioSrc
@@ -113,10 +114,10 @@
GstDvbSrc
GstGLTestSrc
GstMMS
- GstNeonhttpSrc
GstRTMPSrc
GstRfbSrc
GstShmSrc
+ GstToneGenerateSrc
GstVCDSrc
GstBaseTransform
GstAudioFilter
@@ -143,6 +144,7 @@
GstGLColorConvertElement
GstGLDownloadElement
GstGLFilter
+ GstGLColorBalance
GstGLColorscale
GstGLDeinterlace
GstGLDifferenceMatte
@@ -233,11 +235,13 @@
GstSolarize
GstVideoAnalyse
GstVideoDiff
+ GstZBar
GstZebraStripe
GstWatchdog
GstYadif
GstBin
DvbBaseBin
+ GstA2dpSink
GstAdaptiveDemux
GstDashDemux
GstHLSDemux
@@ -296,14 +300,13 @@
GstMpeg2enc
GstMpegPSDemux
GstMplex
+ GstNetSim
GstPcapParse
GstPitch
GstRTPBaseDepayload
GstRTPOpusDepay
- GstRtpH265Depay
GstRTPBasePayload
GstRtpAsfPay
- GstRtpH265Pay
GstRtpOPUSPay
GstRawParse
GstAudioParse
@@ -326,7 +329,6 @@
GstLibde265Dec
GstOpenEXRDec
GstOpenJPEGDec
- GstOpenh264Dec
GstPnmdec
GstRsvgDec
GstSchroDec
@@ -334,7 +336,6 @@
GstWebPDec
GstVideoEncoder
GstOpenJPEGEnc
- GstOpenh264Enc
GstPnmenc
GstSchroEnc
GstWebpEnc
@@ -360,6 +361,7 @@
GstCompositorPad
GstGLBaseMixerPad
GstGLMixerPad
+ GstGLStereoMixPad
GstGLVideoMixerPad
GstPadTemplate
GstPlugin
diff --git a/docs/plugins/gst-plugins-bad-plugins.interfaces b/docs/plugins/gst-plugins-bad-plugins.interfaces
index 6b16fd5..c9d803f 100644
--- a/docs/plugins/gst-plugins-bad-plugins.interfaces
+++ b/docs/plugins/gst-plugins-bad-plugins.interfaces
@@ -33,25 +33,22 @@
GstFaceOverlay GstChildProxy
GstFreeverb GstPreset
GstGLBaseMixer GstChildProxy
+GstGLColorBalance GstColorBalance
GstGLFilterBin GstChildProxy
GstGLImageSink GstVideoOverlay
GstGLImageSink GstVideoOverlay GstNavigation
GstGLImageSinkBin GstChildProxy GstVideoOverlay GstNavigation
+GstGLImageSinkBin GstChildProxy GstVideoOverlay GstNavigation GstColorBalance
GstGLMixer GstChildProxy
GstGLMixerBin GstChildProxy
GstGLMosaic GstChildProxy
GstGLSinkBin GstChildProxy GstVideoOverlay GstNavigation
+GstGLSinkBin GstChildProxy GstVideoOverlay GstNavigation GstColorBalance
GstGLSrcBin GstChildProxy
GstGLStereoMix GstChildProxy
GstGLVideoMixer GstChildProxy
GstGLVideoMixerBin GstChildProxy
GstGSMEnc GstPreset
-GstGSettingsAudioSink GstChildProxy
-GstGSettingsAudioSrc GstChildProxy
-GstGSettingsSwitchSink GstChildProxy
-GstGSettingsSwitchSrc GstChildProxy
-GstGSettingsVideoSink GstChildProxy
-GstGSettingsVideoSrc GstChildProxy
GstGtkBaseSink GstNavigation
GstGtkGLSink GstNavigation
GstGtkSink GstNavigation
diff --git a/docs/plugins/html/ch01.html b/docs/plugins/html/ch01.html
index 45e03bd..f209c3a 100644
--- a/docs/plugins/html/ch01.html
+++ b/docs/plugins/html/ch01.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>gst-plugins-bad Elements: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="prev" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
@@ -174,9 +174,6 @@
<span class="refentrytitle"><a href="gst-plugins-bad-plugins-mplex.html">mplex</a></span><span class="refpurpose"></span>
</dt>
<dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-mpg123audiodec.html">mpg123audiodec</a></span><span class="refpurpose"></span>
-</dt>
-<dt>
<span class="refentrytitle"><a href="gst-plugins-bad-plugins-neonhttpsrc.html">neonhttpsrc</a></span><span class="refpurpose"></span>
</dt>
<dt>
diff --git a/docs/plugins/html/ch02.html b/docs/plugins/html/ch02.html
index b08fdd5..908212b 100644
--- a/docs/plugins/html/ch02.html
+++ b/docs/plugins/html/ch02.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>gst-plugins-bad Plugins: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="prev" href="gst-plugins-bad-plugins-wavescope.html" title="wavescope">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-1.0.devhelp2 b/docs/plugins/html/gst-plugins-bad-plugins-1.0.devhelp2
index 1230f11..02a5094 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-1.0.devhelp2
+++ b/docs/plugins/html/gst-plugins-bad-plugins-1.0.devhelp2
@@ -52,7 +52,6 @@
<sub name="mpegpsmux" link="gst-plugins-bad-plugins-mpegpsmux.html"/>
<sub name="mpegtsmux" link="gst-plugins-bad-plugins-mpegtsmux.html"/>
<sub name="mplex" link="gst-plugins-bad-plugins-mplex.html"/>
- <sub name="mpg123audiodec" link="gst-plugins-bad-plugins-mpg123audiodec.html"/>
<sub name="neonhttpsrc" link="gst-plugins-bad-plugins-neonhttpsrc.html"/>
<sub name="ofa" link="gst-plugins-bad-plugins-ofa.html"/>
<sub name="openalsrc" link="gst-plugins-bad-plugins-openalsrc.html"/>
@@ -181,6 +180,7 @@
<keyword type="property" name="The “aperture-size” property" link="gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace--aperture-size"/>
<keyword type="property" name="The “scale” property" link="gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace--scale"/>
<keyword type="property" name="The “shift” property" link="gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace--shift"/>
+ <keyword type="property" name="The “mask” property" link="gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace--mask"/>
<keyword type="struct" name="struct GstCvSmooth" link="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth-struct"/>
<keyword type="property" name="The “param1” property" link="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth--param1"/>
<keyword type="property" name="The “param2” property" link="gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth--param2"/>
@@ -195,6 +195,7 @@
<keyword type="property" name="The “aperture-size” property" link="gst-plugins-bad-plugins-cvsobel.html#GstCvSobel--aperture-size"/>
<keyword type="property" name="The “x-order” property" link="gst-plugins-bad-plugins-cvsobel.html#GstCvSobel--x-order"/>
<keyword type="property" name="The “y-order” property" link="gst-plugins-bad-plugins-cvsobel.html#GstCvSobel--y-order"/>
+ <keyword type="property" name="The “mask” property" link="gst-plugins-bad-plugins-cvsobel.html#GstCvSobel--mask"/>
<keyword type="struct" name="struct GstDataURISrc" link="gst-plugins-bad-plugins-dataurisrc.html#GstDataURISrc-struct"/>
<keyword type="property" name="The “uri” property" link="gst-plugins-bad-plugins-dataurisrc.html#GstDataURISrc--uri"/>
<keyword type="struct" name="struct GstDiffuse" link="gst-plugins-bad-plugins-diffuse.html#GstDiffuse-struct"/>
@@ -378,8 +379,7 @@
<keyword type="property" name="The “sector-size” property" link="gst-plugins-bad-plugins-mplex.html#GstMplex--sector-size"/>
<keyword type="property" name="The “system-headers” property" link="gst-plugins-bad-plugins-mplex.html#GstMplex--system-headers"/>
<keyword type="property" name="The “vbr” property" link="gst-plugins-bad-plugins-mplex.html#GstMplex--vbr"/>
- <keyword type="struct" name="struct GstMpg123AudioDec" link="gst-plugins-bad-plugins-mpg123audiodec.html#GstMpg123AudioDec-struct"/>
- <keyword type="struct" name="struct GstNeonhttpSrc" link="gst-plugins-bad-plugins-neonhttpsrc.html#GstNeonhttpSrc-struct"/>
+ <keyword type="struct" name="struct GstNeonhttpSrc" link="gst-plugins-bad-plugins-neonhttpsrc.html#GstNeonhttpSrc"/>
<keyword type="property" name="The “location” property" link="gst-plugins-bad-plugins-neonhttpsrc.html#GstNeonhttpSrc--location"/>
<keyword type="property" name="The “proxy” property" link="gst-plugins-bad-plugins-neonhttpsrc.html#GstNeonhttpSrc--proxy"/>
<keyword type="property" name="The “uri” property" link="gst-plugins-bad-plugins-neonhttpsrc.html#GstNeonhttpSrc--uri"/>
@@ -513,11 +513,14 @@
<keyword type="property" name="The “width” property" link="gst-plugins-bad-plugins-videoparse.html#GstVideoParse--width"/>
<keyword type="property" name="The “interlaced” property" link="gst-plugins-bad-plugins-videoparse.html#GstVideoParse--interlaced"/>
<keyword type="property" name="The “top-field-first” property" link="gst-plugins-bad-plugins-videoparse.html#GstVideoParse--top-field-first"/>
+ <keyword type="property" name="The “framesize” property" link="gst-plugins-bad-plugins-videoparse.html#GstVideoParse--framesize"/>
+ <keyword type="property" name="The “offsets” property" link="gst-plugins-bad-plugins-videoparse.html#GstVideoParse--offsets"/>
+ <keyword type="property" name="The “strides” property" link="gst-plugins-bad-plugins-videoparse.html#GstVideoParse--strides"/>
<keyword type="struct" name="struct GstWaterRipple" link="gst-plugins-bad-plugins-waterripple.html#GstWaterRipple-struct"/>
<keyword type="property" name="The “amplitude” property" link="gst-plugins-bad-plugins-waterripple.html#GstWaterRipple--amplitude"/>
<keyword type="property" name="The “phase” property" link="gst-plugins-bad-plugins-waterripple.html#GstWaterRipple--phase"/>
<keyword type="property" name="The “wavelength” property" link="gst-plugins-bad-plugins-waterripple.html#GstWaterRipple--wavelength"/>
- <keyword type="struct" name="struct GstZBar" link="gst-plugins-bad-plugins-zbar.html#GstZBar"/>
+ <keyword type="struct" name="struct GstZBar" link="gst-plugins-bad-plugins-zbar.html#GstZBar-struct"/>
<keyword type="property" name="The “message” property" link="gst-plugins-bad-plugins-zbar.html#GstZBar--message"/>
<keyword type="property" name="The “cache” property" link="gst-plugins-bad-plugins-zbar.html#GstZBar--cache"/>
<keyword type="property" name="The “attach-frame” property" link="gst-plugins-bad-plugins-zbar.html#GstZBar--attach-frame"/>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-accurip.html b/docs/plugins/html/gst-plugins-bad-plugins-accurip.html
index 053fbaa..d237171 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-accurip.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-accurip.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>accurip: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="ch01.html" title="gst-plugins-bad Elements">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-accurip.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -57,7 +57,7 @@
</div>
<a name="GstAccurip"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-accurip.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-aiffmux.html b/docs/plugins/html/gst-plugins-bad-plugins-aiffmux.html
index b91586e..7f44a85 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-aiffmux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-aiffmux.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>aiffmux: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-aiffparse.html" title="aiffparse">
@@ -34,7 +34,7 @@
</tr></table></div>
<a name="GstAiffMux"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-aiffmux.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-aiffparse.html b/docs/plugins/html/gst-plugins-bad-plugins-aiffparse.html
index 75d2e66..75f74f1 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-aiffparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-aiffparse.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>aiffparse: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-accurip.html" title="accurip">
@@ -34,7 +34,7 @@
</tr></table></div>
<a name="GstAiffParse"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-aiffparse.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-assrender.html b/docs/plugins/html/gst-plugins-bad-plugins-assrender.html
index d54b130..92fb1a7 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-assrender.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-assrender.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>assrender: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-aiffmux.html" title="aiffmux">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-assrender.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -62,7 +62,7 @@
</div>
<a name="GstAssRender"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-assrender.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-audiomixer.html b/docs/plugins/html/gst-plugins-bad-plugins-audiomixer.html
index 8bdb3bd..32a5c26 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-audiomixer.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-audiomixer.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>audiomixer: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-assrender.html" title="assrender">
@@ -36,7 +36,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-audiomixer.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -74,7 +74,7 @@
</div>
<a name="GstAudioMixer"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-audiomixer.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -94,7 +94,7 @@
<span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-libs/html/gst-plugins-bad-libs-GstAggregator.html#GstAggregator">GstAggregator</a>
<span class="lineart">╰──</span> GstAudioAggregator
<span class="lineart">╰──</span> GstAudioMixer
- <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad/html/gst-plugins-bad-plugins-liveadder.html#GstLiveAdder">GstLiveAdder</a>
+ <span class="lineart">╰──</span> GstLiveAdder
</pre>
</div>
<div class="refsect1">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-autoconvert.html b/docs/plugins/html/gst-plugins-bad-plugins-autoconvert.html
index 2c7bfd6..0528ed6 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-autoconvert.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-autoconvert.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>autoconvert: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-audiomixer.html" title="audiomixer">
@@ -36,7 +36,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-autoconvert.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -58,7 +58,7 @@
</div>
<a name="GstAutoConvert"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-autoconvert.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-bs2b.html b/docs/plugins/html/gst-plugins-bad-plugins-bs2b.html
index 9643170..620f3e3 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-bs2b.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-bs2b.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>bs2b: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-autoconvert.html" title="autoconvert">
@@ -33,7 +33,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-bs2b.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-bulge.html b/docs/plugins/html/gst-plugins-bad-plugins-bulge.html
index 44426f5..ed35772 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-bulge.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-bulge.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>bulge: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-bs2b.html" title="bs2b">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-bulge.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -50,7 +50,7 @@
</div>
<a name="GstBulge"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-bulge.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-burn.html b/docs/plugins/html/gst-plugins-bad-plugins-burn.html
index 84bb863..274a187 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-burn.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-burn.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>burn: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-bulge.html" title="bulge">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-burn.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -57,7 +57,7 @@
</div>
<a name="GstBurn"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-burn.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-camerabin.html b/docs/plugins/html/gst-plugins-bad-plugins-camerabin.html
index 577dbf3..65f62a4 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-camerabin.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-camerabin.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>camerabin: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-burn.html" title="burn">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-chromium.html b/docs/plugins/html/gst-plugins-bad-plugins-chromium.html
index ee7a5bf..0ff3909 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-chromium.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-chromium.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>chromium: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-camerabin.html" title="camerabin">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-chromium.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-circle.html b/docs/plugins/html/gst-plugins-bad-plugins-circle.html
index 3a1481d..19f5546 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-circle.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-circle.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>circle: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-chromium.html" title="chromium">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-circle.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -62,7 +62,7 @@
</div>
<a name="GstCircle"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-circle.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-coloreffects.html b/docs/plugins/html/gst-plugins-bad-plugins-coloreffects.html
index 1df54d4..58f8c93 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-coloreffects.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-coloreffects.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>coloreffects: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-circle.html" title="circle">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-coloreffects.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -50,7 +50,7 @@
</div>
<a name="GstColorEffects"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-coloreffects.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-compositor.html b/docs/plugins/html/gst-plugins-bad-plugins-compositor.html
index 9a982e3..2f0a564 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-compositor.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-compositor.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>compositor: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-coloreffects.html" title="coloreffects">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-compositor.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cvdilate.html b/docs/plugins/html/gst-plugins-bad-plugins-cvdilate.html
index 2ce59bf..a138c80 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cvdilate.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cvdilate.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>cvdilate: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-compositor.html" title="compositor">
@@ -34,7 +34,7 @@
</tr></table></div>
<a name="GstCvDilate"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-cvdilate.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cvequalizehist.html b/docs/plugins/html/gst-plugins-bad-plugins-cvequalizehist.html
index d425935..318d2f9 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cvequalizehist.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cvequalizehist.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>cvequalizehist: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-cverode.html" title="cverode">
@@ -34,7 +34,7 @@
</tr></table></div>
<a name="GstCvEqualizeHist"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-cvequalizehist.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cverode.html b/docs/plugins/html/gst-plugins-bad-plugins-cverode.html
index 5e1c293..4f4a9b4 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cverode.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cverode.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>cverode: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-cvdilate.html" title="cvdilate">
@@ -34,7 +34,7 @@
</tr></table></div>
<a name="GstCvErode"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-cverode.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cvlaplace.html b/docs/plugins/html/gst-plugins-bad-plugins-cvlaplace.html
index 126c31d..fc59170 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cvlaplace.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cvlaplace.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>cvlaplace: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-cvequalizehist.html" title="cvequalizehist">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-cvlaplace.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -57,12 +57,17 @@
<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace--shift" title="The “shift” property">shift</a></td>
<td class="property_flags">Read / Write</td>
</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace--mask" title="The “mask” property">mask</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
</tbody>
</table></div>
</div>
<a name="GstCvLaplace"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-cvlaplace.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -137,7 +142,7 @@
</tr>
<tr>
<td><p><span class="term">details</span></p></td>
-<td>video/x-raw, format=(string)GRAY8, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td>video/x-raw, format=(string)RGB, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
</tr>
</tbody>
</table></div>
@@ -161,7 +166,7 @@
</tr>
<tr>
<td><p><span class="term">details</span></p></td>
-<td>video/x-raw, format=(string)GRAY16_LE, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td>video/x-raw, format=(string)RGB, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
</tr>
</tbody>
</table></div>
@@ -207,6 +212,14 @@
<p>Allowed values: >= 0</p>
<p>Default value: 0</p>
</div>
+<hr>
+<div class="refsect2">
+<a name="GstCvLaplace--mask"></a><h3>The <code class="literal">“mask”</code> property</h3>
+<pre class="programlisting"> “mask” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>Sets whether the detected edges should be used as a mask on the original input or not.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: TRUE</p>
+</div>
</div>
</div>
<div class="footer">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cvsmooth.html b/docs/plugins/html/gst-plugins-bad-plugins-cvsmooth.html
index 51a684c..dc5a0ca 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cvsmooth.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cvsmooth.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>cvsmooth: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-cvlaplace.html" title="cvlaplace">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-cvsmooth.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -92,7 +92,7 @@
</div>
<a name="GstCvSmooth"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-cvsmooth.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cvsobel.html b/docs/plugins/html/gst-plugins-bad-plugins-cvsobel.html
index 2a4fb38..ce3690a 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cvsobel.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cvsobel.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>cvsobel: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-cvsmooth.html" title="cvsmooth">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-cvsobel.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -57,12 +57,17 @@
<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-cvsobel.html#GstCvSobel--y-order" title="The “y-order” property">y-order</a></td>
<td class="property_flags">Read / Write</td>
</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-cvsobel.html#GstCvSobel--mask" title="The “mask” property">mask</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
</tbody>
</table></div>
</div>
<a name="GstCvSobel"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-cvsobel.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -137,7 +142,7 @@
</tr>
<tr>
<td><p><span class="term">details</span></p></td>
-<td>video/x-raw, format=(string)GRAY8, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td>video/x-raw, format=(string)RGB, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
</tr>
</tbody>
</table></div>
@@ -161,7 +166,7 @@
</tr>
<tr>
<td><p><span class="term">details</span></p></td>
-<td>video/x-raw, format=(string)GRAY16_LE, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+<td>video/x-raw, format=(string)RGB, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
</tr>
</tbody>
</table></div>
@@ -207,6 +212,14 @@
<p>Allowed values: >= G_MAXULONG</p>
<p>Default value: 0</p>
</div>
+<hr>
+<div class="refsect2">
+<a name="GstCvSobel--mask"></a><h3>The <code class="literal">“mask”</code> property</h3>
+<pre class="programlisting"> “mask” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>Sets whether the detected derivative edges should be used as a mask on the original input or not.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: TRUE</p>
+</div>
</div>
</div>
<div class="footer">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dataurisrc.html b/docs/plugins/html/gst-plugins-bad-plugins-dataurisrc.html
index 02dbe96..b71b2c5 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dataurisrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dataurisrc.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>dataurisrc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-cvsobel.html" title="cvsobel">
@@ -36,7 +36,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-dataurisrc.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -52,7 +52,7 @@
</div>
<a name="GstDataURISrc"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-dataurisrc.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-diffuse.html b/docs/plugins/html/gst-plugins-bad-plugins-diffuse.html
index 96b3615..1bbc46b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-diffuse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-diffuse.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>diffuse: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-dataurisrc.html" title="dataurisrc">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-diffuse.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -50,7 +50,7 @@
</div>
<a name="GstDiffuse"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-diffuse.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dilate.html b/docs/plugins/html/gst-plugins-bad-plugins-dilate.html
index 56409f3..99aec3d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dilate.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dilate.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>dilate: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-diffuse.html" title="diffuse">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-dilate.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -57,7 +57,7 @@
</div>
<a name="GstDilate"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-dilate.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dodge.html b/docs/plugins/html/gst-plugins-bad-plugins-dodge.html
index 2d1da01..5ffd277 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dodge.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dodge.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>dodge: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-dilate.html" title="dilate">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-dodge.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -50,7 +50,7 @@
</div>
<a name="GstDodge"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-dodge.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dtmfdetect.html b/docs/plugins/html/gst-plugins-bad-plugins-dtmfdetect.html
index 54f4957..9ec2389 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dtmfdetect.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dtmfdetect.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>dtmfdetect: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-dodge.html" title="dodge">
@@ -34,7 +34,7 @@
</tr></table></div>
<a name="GstDtmfDetect"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-dtmfdetect.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dtsdec.html b/docs/plugins/html/gst-plugins-bad-plugins-dtsdec.html
index 7dc3912..0a083af 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dtsdec.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dtsdec.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>dtsdec: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-dtmfdetect.html" title="dtmfdetect">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-dtsdec.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -50,7 +50,7 @@
</div>
<a name="GstDtsDec"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-dtsdec.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dvbsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-dvbsrc.html
index 0bddfdd..a817f4d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dvbsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dvbsrc.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>dvbsrc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-dtsdec.html" title="dtsdec">
@@ -36,7 +36,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-dvbsrc.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -310,7 +310,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-dvbsrc.signals"></a><h2>Signals</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="signals_return">
<col width="300px" class="signals_name">
@@ -342,7 +342,7 @@
</div>
<a name="GstDvbSrc"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-dvbsrc.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dvdspu.html b/docs/plugins/html/gst-plugins-bad-plugins-dvdspu.html
index b61e146..88c5d7d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dvdspu.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dvdspu.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>dvdspu: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-dvbsrc.html" title="dvbsrc">
@@ -34,7 +34,7 @@
</tr></table></div>
<a name="GstDVDSpu"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-dvdspu.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-edgedetect.html b/docs/plugins/html/gst-plugins-bad-plugins-edgedetect.html
index 112d46a..e8bae8a 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-edgedetect.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-edgedetect.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>edgedetect: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-exclusion.html" title="exclusion">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-exclusion.html b/docs/plugins/html/gst-plugins-bad-plugins-exclusion.html
index ebb51eb..67178cc 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-exclusion.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-exclusion.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>exclusion: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-dvdspu.html" title="dvdspu">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-exclusion.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -57,7 +57,7 @@
</div>
<a name="GstExclusion"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-exclusion.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-faac.html b/docs/plugins/html/gst-plugins-bad-plugins-faac.html
index ea9bccc..7314a9e 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-faac.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-faac.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>faac: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-edgedetect.html" title="edgedetect">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-faac.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -87,7 +87,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-faac.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-faad.html b/docs/plugins/html/gst-plugins-bad-plugins-faad.html
index 403cee7..abe78e0 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-faad.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-faad.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>faad: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-faac.html" title="faac">
@@ -34,7 +34,7 @@
</tr></table></div>
<a name="GstFaad"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-faad.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-faceblur.html b/docs/plugins/html/gst-plugins-bad-plugins-faceblur.html
index 9fd9a38..7494189 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-faceblur.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-faceblur.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>faceblur: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-faad.html" title="faad">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-facedetect.html b/docs/plugins/html/gst-plugins-bad-plugins-facedetect.html
index f972681..e0a9194 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-facedetect.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-facedetect.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>facedetect: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-faceblur.html" title="faceblur">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-festival.html b/docs/plugins/html/gst-plugins-bad-plugins-festival.html
index 062af12..0948314 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-festival.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-festival.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>festival: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-facedetect.html" title="facedetect">
@@ -34,7 +34,7 @@
</tr></table></div>
<a name="GstFestival"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-festival.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-fisheye.html b/docs/plugins/html/gst-plugins-bad-plugins-fisheye.html
index fcd664a..acc45ff 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-fisheye.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-fisheye.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>fisheye: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-festival.html" title="festival">
@@ -34,7 +34,7 @@
</tr></table></div>
<a name="GstFisheye"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-fisheye.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-fpsdisplaysink.html b/docs/plugins/html/gst-plugins-bad-plugins-fpsdisplaysink.html
index 6e7c808..6b0d4f3 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-fpsdisplaysink.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-fpsdisplaysink.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>fpsdisplaysink: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-fisheye.html" title="fisheye">
@@ -37,7 +37,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-fpsdisplaysink.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -106,7 +106,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-fpsdisplaysink.signals"></a><h2>Signals</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="signals_return">
<col width="300px" class="signals_name">
@@ -121,7 +121,7 @@
</div>
<a name="GstFPSDisplaySink"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-fpsdisplaysink.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -344,7 +344,7 @@
<p>Signals the application about the measured fps</p>
<div class="refsect3">
<a name="id-1.2.38.13.2.5"></a><h4>Parameters</h4>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
@@ -380,7 +380,6 @@
</table></div>
</div>
<p>Flags: <a href="https://developer.gnome.org/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
-<p class="since">Since: 0.10.20</p>
</div>
</div>
</div>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gaussianblur.html b/docs/plugins/html/gst-plugins-bad-plugins-gaussianblur.html
index 66853ce..7156792 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-gaussianblur.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gaussianblur.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>gaussianblur: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-fpsdisplaysink.html" title="fpsdisplaysink">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-jpegparse.html b/docs/plugins/html/gst-plugins-bad-plugins-jpegparse.html
index 20cc166..1fb5061 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-jpegparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-jpegparse.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>jpegparse: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-gaussianblur.html" title="gaussianblur">
@@ -34,7 +34,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-jpegparse.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
@@ -77,7 +77,7 @@
</div>
<a name="GstJpegParse"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-jpegparse.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-kaleidoscope.html b/docs/plugins/html/gst-plugins-bad-plugins-kaleidoscope.html
index 98b9a28..ac5aca0 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-kaleidoscope.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-kaleidoscope.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>kaleidoscope: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-jpegparse.html" title="jpegparse">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-kaleidoscope.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -62,7 +62,7 @@
</div>
<a name="GstKaleidoscope"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-kaleidoscope.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-liveadder.html b/docs/plugins/html/gst-plugins-bad-plugins-liveadder.html
index f51fe92..d8f512b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-liveadder.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-liveadder.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>liveadder: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-kaleidoscope.html" title="kaleidoscope">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-marble.html b/docs/plugins/html/gst-plugins-bad-plugins-marble.html
index c177cc9..2228dc9 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-marble.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-marble.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>marble: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-liveadder.html" title="liveadder">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-marble.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -67,7 +67,7 @@
</div>
<a name="GstMarble"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-marble.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mimdec.html b/docs/plugins/html/gst-plugins-bad-plugins-mimdec.html
index e8f3aa0..793ba8f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mimdec.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mimdec.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>mimdec: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-mimenc.html" title="mimenc">
@@ -34,7 +34,7 @@
</tr></table></div>
<a name="GstMimDec"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-mimdec.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mimenc.html b/docs/plugins/html/gst-plugins-bad-plugins-mimenc.html
index 649662f..5a4af8f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mimenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mimenc.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>mimenc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-marble.html" title="marble">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-mimenc.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -50,7 +50,7 @@
</div>
<a name="GstMimEnc"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-mimenc.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mirror.html b/docs/plugins/html/gst-plugins-bad-plugins-mirror.html
index e18dfaf..3a7241a 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mirror.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mirror.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>mirror: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-mimdec.html" title="mimdec">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-mirror.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -50,7 +50,7 @@
</div>
<a name="GstMirror"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-mirror.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-modplug.html b/docs/plugins/html/gst-plugins-bad-plugins-modplug.html
index 5829ac1..01d1f09 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-modplug.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-modplug.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>modplug: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-mirror.html" title="mirror">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-modplug.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -108,7 +108,7 @@
</div>
<a name="GstModPlug"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-modplug.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mpeg2enc.html b/docs/plugins/html/gst-plugins-bad-plugins-mpeg2enc.html
index 6e336d8..7141ebd 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mpeg2enc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mpeg2enc.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>mpeg2enc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-modplug.html" title="modplug">
@@ -36,7 +36,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-mpeg2enc.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -218,7 +218,7 @@
</div>
<a name="GstMpeg2enc"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-mpeg2enc.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mpegpsmux.html b/docs/plugins/html/gst-plugins-bad-plugins-mpegpsmux.html
index f27f8ea..ead2d90 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mpegpsmux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mpegpsmux.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>mpegpsmux: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-mpeg2enc.html" title="mpeg2enc">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-mpegpsmux.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mpegtsmux.html b/docs/plugins/html/gst-plugins-bad-plugins-mpegtsmux.html
index f95dee2..e596d07 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mpegtsmux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mpegtsmux.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>mpegtsmux: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-mpegpsmux.html" title="mpegpsmux">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-mpegtsmux.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -149,6 +149,10 @@
</tr>
<tr>
<td><p><span class="term"></span></p></td>
+<td> video/x-h265, stream-format=(string)byte-stream, alignment=(string){ au, nal }</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
<td> audio/mpeg, parsed=(boolean)true, mpegversion=(int){ 1, 2 }</td>
</tr>
<tr>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mpg123audiodec.html b/docs/plugins/html/gst-plugins-bad-plugins-mpg123audiodec.html
deleted file mode 100644
index 3b7b281..0000000
--- a/docs/plugins/html/gst-plugins-bad-plugins-mpg123audiodec.html
+++ /dev/null
@@ -1,156 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>mpg123audiodec: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
-<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
-<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
-<link rel="prev" href="gst-plugins-bad-plugins-mplex.html" title="mplex">
-<link rel="next" href="gst-plugins-bad-plugins-neonhttpsrc.html" title="neonhttpsrc">
-<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
-<link rel="stylesheet" href="style.css" type="text/css">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
-<td width="100%" align="left" class="shortcuts">
-<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
- <a href="#gst-plugins-bad-plugins-mpg123audiodec.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span>
- <a href="#gst-plugins-bad-plugins-mpg123audiodec.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-bad-plugins-mplex.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-bad-plugins-neonhttpsrc.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="refentry">
-<a name="gst-plugins-bad-plugins-mpg123audiodec"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-mpg123audiodec.top_of_page"></a>mpg123audiodec</span></h2>
-<p>mpg123audiodec</p>
-</td>
-<td class="gallery_image" valign="top" align="right"></td>
-</tr></table></div>
-<a name="GstMpg123AudioDec"></a><div class="refsect1">
-<a name="gst-plugins-bad-plugins-mpg123audiodec.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
-<colgroup>
-<col width="150px" class="name">
-<col class="description">
-</colgroup>
-<tbody><tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-mpg123audiodec.html#GstMpg123AudioDec-struct" title="struct GstMpg123AudioDec">GstMpg123AudioDec</a></td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-plugins-mpg123audiodec.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
- <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
- <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
- <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
- <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstaudiodecoder.html#GstAudioDecoder">GstAudioDecoder</a>
- <span class="lineart">╰──</span> GstMpg123AudioDec
-</pre>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-plugins-mpg123audiodec.description"></a><h2>Description</h2>
-<div class="refsynopsisdiv">
-<h2>Synopsis</h2>
-<div class="refsect2">
-<a name="id-1.2.52.6.2.1"></a><h3>Element Information</h3>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term">plugin</span></p></td>
-<td>
- mpg123
- </td>
-</tr>
-<tr>
-<td><p><span class="term">author</span></p></td>
-<td>Carlos Rafael Giani <dv@pseudoterminal.org></td>
-</tr>
-<tr>
-<td><p><span class="term">class</span></p></td>
-<td>Codec/Decoder/Audio</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="id-1.2.52.6.2.2"></a><h3>Element Pads</h3>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term">name</span></p></td>
-<td>sink</td>
-</tr>
-<tr>
-<td><p><span class="term">direction</span></p></td>
-<td>sink</td>
-</tr>
-<tr>
-<td><p><span class="term">presence</span></p></td>
-<td>always</td>
-</tr>
-<tr>
-<td><p><span class="term">details</span></p></td>
-<td>audio/mpeg, mpegversion=(int)1, layer=(int)[ 1, 3 ], rate=(int){ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000 }, channels=(int)[ 1, 2 ], parsed=(boolean)true</td>
-</tr>
-</tbody>
-</table></div>
-<div class="variablelist"><table border="0" class="variablelist">
-<colgroup>
-<col align="left" valign="top">
-<col>
-</colgroup>
-<tbody>
-<tr>
-<td><p><span class="term">name</span></p></td>
-<td>src</td>
-</tr>
-<tr>
-<td><p><span class="term">direction</span></p></td>
-<td>source</td>
-</tr>
-<tr>
-<td><p><span class="term">presence</span></p></td>
-<td>always</td>
-</tr>
-<tr>
-<td><p><span class="term">details</span></p></td>
-<td>audio/x-raw, format=(string){ S16LE, U16LE, S32LE, U32LE, S24LE, U24LE, F32LE }, rate=(int){ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000 }, channels=(int)[ 1, 2 ], layout=(string)interleaved</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-plugins-mpg123audiodec.functions_details"></a><h2>Functions</h2>
-<p></p>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-plugins-mpg123audiodec.other_details"></a><h2>Types and Values</h2>
-<div class="refsect2">
-<a name="GstMpg123AudioDec-struct"></a><h3>struct GstMpg123AudioDec</h3>
-<pre class="programlisting">struct GstMpg123AudioDec;</pre>
-</div>
-</div>
-</div>
-<div class="footer">
-<hr>Generated by GTK-Doc V1.24</div>
-</body>
-</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mplex.html b/docs/plugins/html/gst-plugins-bad-plugins-mplex.html
index a9ad171..7f6cbf8 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mplex.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mplex.html
@@ -3,11 +3,11 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>mplex: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-mpegtsmux.html" title="mpegtsmux">
-<link rel="next" href="gst-plugins-bad-plugins-mpg123audiodec.html" title="mpg123audiodec">
+<link rel="next" href="gst-plugins-bad-plugins-neonhttpsrc.html" title="neonhttpsrc">
<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
@@ -22,7 +22,7 @@
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="gst-plugins-bad-plugins-mpegtsmux.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-bad-plugins-mpg123audiodec.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-neonhttpsrc.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="gst-plugins-bad-plugins-mplex"></a><div class="titlepage"></div>
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-mplex.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -82,7 +82,7 @@
</div>
<a name="GstMplex"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-mplex.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-neonhttpsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-neonhttpsrc.html
index 8d0a65d..251915c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-neonhttpsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-neonhttpsrc.html
@@ -3,10 +3,10 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>neonhttpsrc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
-<link rel="prev" href="gst-plugins-bad-plugins-mpg123audiodec.html" title="mpg123audiodec">
+<link rel="prev" href="gst-plugins-bad-plugins-mplex.html" title="mplex">
<link rel="next" href="gst-plugins-bad-plugins-ofa.html" title="ofa">
<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
@@ -15,14 +15,13 @@
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
- <a href="#gst-plugins-bad-plugins-neonhttpsrc.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span>
- <a href="#gst-plugins-bad-plugins-neonhttpsrc.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces"> <span class="dim">|</span>
+ <a href="#gst-plugins-bad-plugins-neonhttpsrc.description" class="shortcut">Description</a></span><span id="nav_interfaces"> <span class="dim">|</span>
<a href="#gst-plugins-bad-plugins-neonhttpsrc.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties"> <span class="dim">|</span>
<a href="#gst-plugins-bad-plugins-neonhttpsrc.properties" class="shortcut">Properties</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-bad-plugins-mpg123audiodec.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-mplex.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="gst-plugins-bad-plugins-ofa.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
@@ -36,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-neonhttpsrc.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -122,31 +121,20 @@
</tbody>
</table></div>
</div>
-<a name="GstNeonhttpSrc"></a><div class="refsect1">
+<div class="refsect1">
<a name="gst-plugins-bad-plugins-neonhttpsrc.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody><tr>
<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-neonhttpsrc.html#GstNeonhttpSrc-struct" title="struct GstNeonhttpSrc">GstNeonhttpSrc</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-neonhttpsrc.html#GstNeonhttpSrc" title="struct GstNeonhttpSrc">GstNeonhttpSrc</a></td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
-<a name="gst-plugins-bad-plugins-neonhttpsrc.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
- <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
- <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
- <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
- <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseSrc.html">GstBaseSrc</a>
- <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstPushSrc.html">GstPushSrc</a>
- <span class="lineart">╰──</span> GstNeonhttpSrc
-</pre>
-</div>
-<div class="refsect1">
<a name="gst-plugins-bad-plugins-neonhttpsrc.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
<p>
GstNeonhttpSrc implements
@@ -157,7 +145,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.53.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.52.6.2.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -183,7 +171,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.53.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.52.6.2.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -218,8 +206,44 @@
<div class="refsect1">
<a name="gst-plugins-bad-plugins-neonhttpsrc.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
-<a name="GstNeonhttpSrc-struct"></a><h3>struct GstNeonhttpSrc</h3>
-<pre class="programlisting">struct GstNeonhttpSrc;</pre>
+<a name="GstNeonhttpSrc"></a><h3>struct GstNeonhttpSrc</h3>
+<pre class="programlisting">struct GstNeonhttpSrc {
+ GstPushSrc element;
+
+ /* socket */
+ ne_session *session;
+ ne_request *request;
+ ne_uri uri;
+ gchar *location;
+ gchar *query_string;
+ ne_uri proxy;
+ gchar *user_agent;
+ gchar **cookies;
+
+ guint64 content_size;
+
+ gboolean eos;
+
+ /* whether to request icecast metadata */
+ gboolean iradio_mode;
+
+ /* enable Neon HTTP redirects (HTTP 302 status code) */
+ gboolean automatic_redirect;
+
+ /* enable Neon HTTP debug messages */
+ gboolean neon_http_debug;
+
+ /* accept self-signed certificates */
+ gboolean accept_self_signed;
+
+ gint64 read_position;
+ gboolean seekable;
+
+ /* seconds before timing out when connecting or reading to/from a socket */
+ guint connect_timeout;
+ guint read_timeout;
+};
+</pre>
</div>
</div>
<div class="refsect1">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-ofa.html b/docs/plugins/html/gst-plugins-bad-plugins-ofa.html
index faa4a32..4d367a0 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-ofa.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-ofa.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ofa: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-neonhttpsrc.html" title="neonhttpsrc">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-ofa.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -51,7 +51,7 @@
</div>
<a name="GstOFA"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-ofa.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -78,7 +78,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.54.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.53.7.2.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -104,7 +104,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.54.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.53.7.2.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-openalsink.html b/docs/plugins/html/gst-plugins-bad-plugins-openalsink.html
index 11e753d..4effea8 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-openalsink.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-openalsink.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>openalsink: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-openalsrc.html" title="openalsrc">
@@ -36,7 +36,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.56.3.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.55.3.2.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -62,7 +62,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.56.3.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.55.3.2.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-openalsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-openalsrc.html
index 41f4626..8523bff 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-openalsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-openalsrc.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>openalsrc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-ofa.html" title="ofa">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-openalsrc.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -59,7 +59,7 @@
</div>
<a name="GstOpenalSrc"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-openalsrc.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -88,7 +88,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.55.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.54.7.2.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -114,7 +114,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.55.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.54.7.2.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-opencvtextoverlay.html b/docs/plugins/html/gst-plugins-bad-plugins-opencvtextoverlay.html
index 80147c1..255cd05 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-opencvtextoverlay.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-opencvtextoverlay.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>opencvtextoverlay: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-templatematch.html" title="templatematch">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-opencvtextoverlay.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -93,7 +93,7 @@
</div>
<a name="GstOpenalSrc"></a><a name="GstOpencvTextOverlay"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-opencvtextoverlay.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -121,7 +121,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.80.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.79.8.2.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -147,7 +147,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.80.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.79.8.2.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-opusdec.html b/docs/plugins/html/gst-plugins-bad-plugins-opusdec.html
index f6717a8..c12e055 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-opusdec.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-opusdec.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>opusdec: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-openalsink.html" title="openalsink">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-opusdec.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -57,7 +57,7 @@
</div>
<a name="GstOpenalSrc"></a><a name="GstOpencvTextOverlay"></a><a name="GstOpusDec"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-opusdec.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -83,7 +83,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.57.9.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.56.9.2.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -109,7 +109,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.57.9.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.56.9.2.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -189,7 +189,7 @@
<div class="refsect2">
<a name="GstOpusDec--use-inband-fec"></a><h3>The <code class="literal">“use-inband-fec”</code> property</h3>
<pre class="programlisting"> “use-inband-fec” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
-<p>Use forward error correction if available.</p>
+<p>Use forward error correction if available (needs PLC enabled).</p>
<p>Flags: Read / Write</p>
<p>Default value: FALSE</p>
</div>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-opusenc.html b/docs/plugins/html/gst-plugins-bad-plugins-opusenc.html
index 7e8fd44..3807433 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-opusenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-opusenc.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>opusenc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-opusdec.html" title="opusdec">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-opusenc.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -112,7 +112,7 @@
</div>
<a name="GstOpenalSrc"></a><a name="GstOpencvTextOverlay"></a><a name="GstOpusDec"></a><a name="GstOpusEnc"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-opusenc.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -138,7 +138,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.58.10.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.57.10.2.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -164,7 +164,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.58.10.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.57.10.2.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-opusparse.html b/docs/plugins/html/gst-plugins-bad-plugins-opusparse.html
index da892bf..7e28441 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-opusparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-opusparse.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>opusparse: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-opusenc.html" title="opusenc">
@@ -34,7 +34,7 @@
</tr></table></div>
<a name="GstOpenalSrc"></a><a name="GstOpencvTextOverlay"></a><a name="GstOpusDec"></a><a name="GstOpusEnc"></a><a name="GstOpusParse"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-opusparse.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -60,7 +60,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.59.10.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.58.10.2.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -86,7 +86,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.59.10.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.58.10.2.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-pcapparse.html b/docs/plugins/html/gst-plugins-bad-plugins-pcapparse.html
index b4fea18..4176e8a 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-pcapparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-pcapparse.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>pcapparse: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-rtpopusdepay.html" title="rtpopusdepay">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-pcapparse.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -80,7 +80,7 @@
</div>
<a name="GstPcapParse"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-pcapparse.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -107,7 +107,7 @@
<a class="link" href="gst-plugins-bad-plugins-pcapparse.html#GstPcapParse--src-port" title="The “src-port” property"><span class="type">“src-port”</span></a> and <a class="link" href="gst-plugins-bad-plugins-pcapparse.html#GstPcapParse--dst-port" title="The “dst-port” property"><span class="type">“dst-port”</span></a> to restrict which packets
should be included.</p>
<div class="refsect2">
-<a name="id-1.2.62.7.3"></a><h3>Example pipelines</h3>
+<a name="id-1.2.61.7.3"></a><h3>Example pipelines</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -126,7 +126,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.62.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.61.7.4.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -152,7 +152,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.62.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.61.7.4.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-pinch.html b/docs/plugins/html/gst-plugins-bad-plugins-pinch.html
index 34e857d..763aee5 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-pinch.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-pinch.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>pinch: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-pcapparse.html" title="pcapparse">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-pinch.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -50,7 +50,7 @@
</div>
<a name="GstPinch"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-pinch.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -78,7 +78,7 @@
<a name="gst-plugins-bad-plugins-pinch.description"></a><h2>Description</h2>
<p>Pinch applies a 'pinch' geometric transform to the image.</p>
<div class="refsect2">
-<a name="id-1.2.63.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.62.7.3"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -94,7 +94,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.63.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.62.7.4.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -120,7 +120,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.63.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.62.7.4.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
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 dcc53d0..aed8849 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-aiff.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-aiff.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>aiff: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="ch02.html" title="gst-plugins-bad Plugins">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 72320a7..538efef 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-assrender.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-assrender.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>assrender: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-autoconvert.html" title="autoconvert">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 6b33924..0d3f2ac 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiomixer.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiomixer.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>audiomixer: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-aiff.html" title="aiff">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 2b6061a..953cca5 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiovisualizers.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiovisualizers.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>audiovisualizers: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-audiomixer.html" title="audiomixer">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 624a615..183958f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-autoconvert.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-autoconvert.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>autoconvert: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-audiovisualizers.html" title="audiovisualizers">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 507d4e6..deb21eb 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-bayer.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-bayer.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>bayer: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-assrender.html" title="assrender">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 3fb6ab2..d85d680 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-bs2b.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-bs2b.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>bs2b: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-bayer.html" title="bayer">
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 e562880..65af93a 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-bz2.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-bz2.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>bz2: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-bs2b.html" title="bs2b">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 4cbbcc7..6690e87 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-camerabin.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-camerabin.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>camerabin: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-bz2.html" title="bz2">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 2bcbc4b..279e398 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-coloreffects.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-coloreffects.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>coloreffects: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-camerabin.html" title="camerabin">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 083ef57..fa16f12 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-curl.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-curl.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>curl: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-coloreffects.html" title="coloreffects">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 3af5562..c605667 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dataurisrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dataurisrc.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>dataurisrc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-curl.html" title="curl">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 fe51c1a..a75207d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-debugutilsbad.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-debugutilsbad.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>debugutilsbad: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-dataurisrc.html" title="dataurisrc">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 6b3fa39..f626b73 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dtsdec.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dtsdec.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>dtsdec: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-debugutilsbad.html" title="debugutilsbad">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 30cfc9e..cea5582 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvb.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvb.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>dvb: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-dtsdec.html" title="dtsdec">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 b222ced..7b631d7 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvdspu.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvdspu.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>dvdspu: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-dvb.html" title="dvb">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 a5083bc..b5f5a83 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-faac.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-faac.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>faac: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-dvdspu.html" title="dvdspu">
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 0d15276..1576cb0 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-faad.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-faad.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>faad: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-faac.html" title="faac">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 684cf86..652b6e8 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-festival.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-festival.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>festival: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-faad.html" title="faad">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 54a6782..78007ab 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-gaudieffects.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-gaudieffects.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>gaudieffects: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-festival.html" title="festival">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 80d2a5d..6182914 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-geometrictransform.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-geometrictransform.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>geometrictransform: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-gaudieffects.html" title="gaudieffects">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 b5d60af..2aa1d9b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-gsm.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-gsm.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>gsm: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-geometrictransform.html" title="geometrictransform">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 8cc647e..821de50 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-jpegformat.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-jpegformat.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>jpegformat: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-gsm.html" title="gsm">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 16908cf..80ec5ce 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mimic.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mimic.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>mimic: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-jpegformat.html" title="jpegformat">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 effcab5..5f2bc44 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mms.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mms.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>mms: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-mimic.html" title="mimic">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 6f0ca22..edefe80 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-modplug.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-modplug.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>modplug: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-mms.html" title="mms">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 ffbc078..f357dde 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpeg2enc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpeg2enc.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>mpeg2enc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-modplug.html" title="modplug">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 3f0001b..a332a2b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegpsmux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegpsmux.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>mpegpsmux: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-mpeg2enc.html" title="mpeg2enc">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 37eb8ac..03c748f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegtsmux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegtsmux.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>mpegtsmux: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-mpegpsmux.html" title="mpegpsmux">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 8456da8..2538b29 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mplex.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mplex.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>mplex: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-mpegtsmux.html" title="mpegtsmux">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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-neon.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-neon.html
index 3f33c9e..b6865d2 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-neon.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-neon.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>neon: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-mplex.html" title="mplex">
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 887898b..11863c5 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-ofa.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-ofa.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ofa: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-neon.html" title="neon">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 219f394..e36b09b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-openal.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-openal.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>openal: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-ofa.html" title="ofa">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 b2f2c11..e334866 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-opencv.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-opencv.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>opencv: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-openal.html" title="openal">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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-opus.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-opus.html
index 7fdc0ab..9e47666 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-opus.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-opus.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>opus: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-opencv.html" title="opencv">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 695747b..3d60dda 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-pcapparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-pcapparse.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>pcapparse: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-opus.html" title="opus">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 a97eb88..b970a8c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rawparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rawparse.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>rawparse: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-pcapparse.html" title="pcapparse">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 60362c5..91cf930 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rfbsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rfbsrc.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>rfbsrc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-rawparse.html" title="rawparse">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 73e707b..0f259fc 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rtmp.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rtmp.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>rtmp: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-rfbsrc.html" title="rfbsrc">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 53d28f7..4dd4106 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-sdp.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-sdp.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>sdp: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-rtmp.html" title="rtmp">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 2b55014..f7a4e2d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-shm.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-shm.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>shm: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-sdp.html" title="sdp">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 d398954..d5263c0 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-soundtouch.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-soundtouch.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>soundtouch: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-shm.html" title="shm">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 6e9cf8e..f34c65e 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-speed.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-speed.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>speed: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-soundtouch.html" title="soundtouch">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 46f2cc6..de02bc1 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-voaacenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-voaacenc.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>voaacenc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-speed.html" title="speed">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 27a086c..d9f88e5 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-voamrwbenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-voamrwbenc.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>voamrwbenc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-voaacenc.html" title="voaacenc">
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.1</td>
+<td>1.7.2</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 9ea9485..999d285 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-zbar.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-zbar.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>zbar: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
<link rel="prev" href="gst-plugins-bad-plugins-plugin-voamrwbenc.html" title="voamrwbenc">
@@ -41,7 +41,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.7.0.1</td>
+<td>1.7.2</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
@@ -49,7 +49,7 @@
</tr>
<tr>
<td><p><span class="term">package</span></p></td>
-<td>GStreamer Bad Plug-ins git</td>
+<td>GStreamer Bad Plug-ins source release</td>
</tr>
<tr>
<td><p><span class="term">origin</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-pyramidsegment.html b/docs/plugins/html/gst-plugins-bad-plugins-pyramidsegment.html
index 9936792..15c27a1 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-pyramidsegment.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-pyramidsegment.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>pyramidsegment: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-pinch.html" title="pinch">
@@ -36,7 +36,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.64.4.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.63.4.2.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -62,7 +62,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.64.4.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.63.4.2.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-rfbsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-rfbsrc.html
index 1f72c34..0f9fe63 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-rfbsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-rfbsrc.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>rfbsrc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-pyramidsegment.html" title="pyramidsegment">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-rfbsrc.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -110,7 +110,7 @@
</div>
<a name="GstRfbSrc"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-rfbsrc.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -137,7 +137,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.65.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.64.7.2.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -163,7 +163,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.65.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.64.7.2.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-rtmpsink.html b/docs/plugins/html/gst-plugins-bad-plugins-rtmpsink.html
index 75d17f3..61029d3 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-rtmpsink.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-rtmpsink.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>rtmpsink: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-rfbsrc.html" title="rfbsrc">
@@ -36,7 +36,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-rtmpsink.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -52,7 +52,7 @@
</div>
<a name="GstRTMPSink"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-rtmpsink.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -84,7 +84,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.66.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.65.8.2.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -110,7 +110,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.66.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.65.8.2.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-rtmpsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-rtmpsrc.html
index 4a3e760..a0da564 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-rtmpsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-rtmpsrc.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>rtmpsrc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-rtmpsink.html" title="rtmpsink">
@@ -36,7 +36,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-rtmpsrc.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -52,7 +52,7 @@
</div>
<a name="GstRTMPSrc"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-rtmpsrc.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -85,7 +85,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.67.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.66.8.2.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -111,7 +111,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.67.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.66.8.2.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-rtpopusdepay.html b/docs/plugins/html/gst-plugins-bad-plugins-rtpopusdepay.html
index f601bd8..e7ec327 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-rtpopusdepay.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-rtpopusdepay.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>rtpopusdepay: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-rtpopuspay.html" title="rtpopuspay">
@@ -34,7 +34,7 @@
</tr></table></div>
<a name="GstOpenalSrc"></a><a name="GstOpencvTextOverlay"></a><a name="GstOpusDec"></a><a name="GstOpusEnc"></a><a name="GstOpusParse"></a><a name="GstRTPOpusDepay"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-rtpopusdepay.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -60,7 +60,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.61.11.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.60.11.2.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -86,7 +86,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.61.11.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.60.11.2.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-rtpopuspay.html b/docs/plugins/html/gst-plugins-bad-plugins-rtpopuspay.html
index 5e4bad7..5cb199e 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-rtpopuspay.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-rtpopuspay.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>rtpopuspay: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-opusparse.html" title="opusparse">
@@ -34,7 +34,7 @@
</tr></table></div>
<a name="GstOpenalSrc"></a><a name="GstOpencvTextOverlay"></a><a name="GstOpusDec"></a><a name="GstOpusEnc"></a><a name="GstOpusParse"></a><a name="GstRTPOpusDepay"></a><a name="GstRtpOPUSPay"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-rtpopuspay.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -60,7 +60,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.60.12.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.59.12.2.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -86,7 +86,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.60.12.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.59.12.2.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-sdpdemux.html b/docs/plugins/html/gst-plugins-bad-plugins-sdpdemux.html
index a11eaae..fcc629a 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-sdpdemux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-sdpdemux.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>sdpdemux: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-shmsrc.html" title="shmsrc">
@@ -36,7 +36,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-sdpdemux.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -68,7 +68,7 @@
</div>
<a name="GstSDPDemux"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-sdpdemux.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -108,7 +108,7 @@
<p>sdpdemux acts like a live element and will therefore only generate data in the
PLAYING state.</p>
<div class="refsect2">
-<a name="id-1.2.70.8.5"></a><h3>Example launch line</h3>
+<a name="id-1.2.69.8.5"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -125,7 +125,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.70.8.6.1"></a><h3>Element Information</h3>
+<a name="id-1.2.69.8.6.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -151,7 +151,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.70.8.6.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.69.8.6.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-shmsink.html b/docs/plugins/html/gst-plugins-bad-plugins-shmsink.html
index f55f712..caa3fe9 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-shmsink.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-shmsink.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>shmsink: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-rtmpsrc.html" title="rtmpsrc">
@@ -36,7 +36,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-shmsink.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -74,7 +74,7 @@
</div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-shmsink.signals"></a><h2>Signals</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="signals_return">
<col width="300px" class="signals_name">
@@ -96,7 +96,7 @@
</div>
<a name="GstShmSink"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-shmsink.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -122,7 +122,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.68.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.67.8.2.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -148,7 +148,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.68.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.67.8.2.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-shmsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-shmsrc.html
index 72e88ef..f40773f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-shmsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-shmsrc.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>shmsrc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-shmsink.html" title="shmsink">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-shmsrc.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -64,7 +64,7 @@
</div>
<a name="GstShmSrc"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-shmsrc.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -91,7 +91,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.69.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.68.7.2.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -117,7 +117,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.69.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.68.7.2.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-solarize.html b/docs/plugins/html/gst-plugins-bad-plugins-solarize.html
index 83a0f2e..0de876d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-solarize.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-solarize.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>solarize: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-sdpdemux.html" title="sdpdemux">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-solarize.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -67,7 +67,7 @@
</div>
<a name="GstSolarize"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-solarize.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -93,7 +93,7 @@
<a name="gst-plugins-bad-plugins-solarize.description"></a><h2>Description</h2>
<p>Solarize does a smart inverse in a video stream in realtime.</p>
<div class="refsect2">
-<a name="id-1.2.71.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.70.7.3"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -109,7 +109,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.71.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.70.7.4.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -135,7 +135,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.71.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.70.7.4.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-spacescope.html b/docs/plugins/html/gst-plugins-bad-plugins-spacescope.html
index e5fc0ff..5a68b2c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-spacescope.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-spacescope.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>spacescope: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-solarize.html" title="solarize">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-spacescope.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -50,7 +50,7 @@
</div>
<a name="GstSpaceScope"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-spacescope.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -76,7 +76,7 @@
<p>Spacescope is a simple audio visualisation element. It maps the left and
right channel to x and y coordinates.</p>
<div class="refsect2">
-<a name="id-1.2.72.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.71.7.3"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -92,7 +92,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.72.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.71.7.4.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -118,7 +118,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.72.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.71.7.4.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-spectrascope.html b/docs/plugins/html/gst-plugins-bad-plugins-spectrascope.html
index e1829f9..fbdb602 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-spectrascope.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-spectrascope.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>spectrascope: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-spacescope.html" title="spacescope">
@@ -34,7 +34,7 @@
</tr></table></div>
<a name="GstSpectraScope"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-spectrascope.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -60,7 +60,7 @@
<p>Spectrascope is a simple spectrum visualisation element. It renders the
frequency spectrum as a series of bars.</p>
<div class="refsect2">
-<a name="id-1.2.73.6.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.72.6.3"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -76,7 +76,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.73.6.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.72.6.4.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -102,7 +102,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.73.6.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.72.6.4.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-speed.html b/docs/plugins/html/gst-plugins-bad-plugins-speed.html
index 96e19eb..b3b55d4 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-speed.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-speed.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>speed: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-synaescope.html" title="synaescope">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-speed.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -50,7 +50,7 @@
</div>
<a name="GstSpeed"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-speed.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -78,7 +78,7 @@
element (but relies on the decoder/demuxer to handle this correctly, also
requires a fairly up-to-date gst-plugins-base, as of February 2007).</p>
<div class="refsect2">
-<a name="id-1.2.75.7.4"></a><h3>Example launch line</h3>
+<a name="id-1.2.74.7.4"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -94,7 +94,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.75.7.5.1"></a><h3>Element Information</h3>
+<a name="id-1.2.74.7.5.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -120,7 +120,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.75.7.5.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.74.7.5.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-sphere.html b/docs/plugins/html/gst-plugins-bad-plugins-sphere.html
index cb03c49..fec16b6 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-sphere.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-sphere.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>sphere: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-speed.html" title="speed">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-sphere.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -50,7 +50,7 @@
</div>
<a name="GstSphere"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-sphere.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -78,7 +78,7 @@
<a name="gst-plugins-bad-plugins-sphere.description"></a><h2>Description</h2>
<p>The sphere element applies a 'sphere' geometric transform to the image.</p>
<div class="refsect2">
-<a name="id-1.2.76.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.75.7.3"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -94,7 +94,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.76.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.75.7.4.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -120,7 +120,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.76.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.75.7.4.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-square.html b/docs/plugins/html/gst-plugins-bad-plugins-square.html
index 48cbe54..609624e 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-square.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-square.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>square: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-sphere.html" title="sphere">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-square.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -62,7 +62,7 @@
</div>
<a name="GstSquare"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-square.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -89,7 +89,7 @@
<a name="gst-plugins-bad-plugins-square.description"></a><h2>Description</h2>
<p>The square element distorts the center part of the image into a square.</p>
<div class="refsect2">
-<a name="id-1.2.77.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.76.7.3"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -105,7 +105,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.77.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.76.7.4.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -131,7 +131,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.77.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.76.7.4.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-stretch.html b/docs/plugins/html/gst-plugins-bad-plugins-stretch.html
index 5d20b48..9559a46 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-stretch.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-stretch.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>stretch: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-square.html" title="square">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-stretch.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -50,7 +50,7 @@
</div>
<a name="GstStretch"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-stretch.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -78,7 +78,7 @@
<a name="gst-plugins-bad-plugins-stretch.description"></a><h2>Description</h2>
<p>The stretch element stretches the image in a circle around the center point.</p>
<div class="refsect2">
-<a name="id-1.2.78.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.77.7.3"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -94,7 +94,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.78.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.77.7.4.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -120,7 +120,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.78.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.77.7.4.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-synaescope.html b/docs/plugins/html/gst-plugins-bad-plugins-synaescope.html
index f8db57a..65ba20b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-synaescope.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-synaescope.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>synaescope: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-spectrascope.html" title="spectrascope">
@@ -34,7 +34,7 @@
</tr></table></div>
<a name="GstSynaeScope"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-synaescope.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -60,7 +60,7 @@
<p>Synaescope is an audio visualisation element. It analyzes frequencies and
out-of phase properties of audio and draws this as clouds of stars.</p>
<div class="refsect2">
-<a name="id-1.2.74.6.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.73.6.3"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -76,7 +76,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.74.6.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.73.6.4.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -102,7 +102,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.74.6.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.73.6.4.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-templatematch.html b/docs/plugins/html/gst-plugins-bad-plugins-templatematch.html
index 258c897..d5fcf4f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-templatematch.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-templatematch.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>templatematch: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-stretch.html" title="stretch">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-templatematch.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -63,7 +63,7 @@
</div>
<a name="GstSynaeScope"></a><a name="GstTemplateMatch"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-templatematch.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -91,7 +91,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.79.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.78.8.2.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -117,7 +117,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.79.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.78.8.2.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-tunnel.html b/docs/plugins/html/gst-plugins-bad-plugins-tunnel.html
index 6fa8327..f0d0bc3 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-tunnel.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-tunnel.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>tunnel: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-opencvtextoverlay.html" title="opencvtextoverlay">
@@ -34,7 +34,7 @@
</tr></table></div>
<a name="GstTunnel"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-tunnel.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -63,7 +63,7 @@
<p>Tunnel is a geometric image transform element. It applies a light tunnel
effect.</p>
<div class="refsect2">
-<a name="id-1.2.81.6.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.80.6.3"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -79,7 +79,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.81.6.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.80.6.4.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -105,7 +105,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.81.6.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.80.6.4.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-twirl.html b/docs/plugins/html/gst-plugins-bad-plugins-twirl.html
index ff5bd59..5776c03 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-twirl.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-twirl.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>twirl: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-tunnel.html" title="tunnel">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-twirl.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -50,7 +50,7 @@
</div>
<a name="GstTwirl"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-twirl.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -78,7 +78,7 @@
<a name="gst-plugins-bad-plugins-twirl.description"></a><h2>Description</h2>
<p>The twirl element twists the image from the center out.</p>
<div class="refsect2">
-<a name="id-1.2.82.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.81.7.3"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -94,7 +94,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.82.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.81.7.4.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -120,7 +120,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.82.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.81.7.4.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-videoparse.html b/docs/plugins/html/gst-plugins-bad-plugins-videoparse.html
index d021987..67d8508 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-videoparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-videoparse.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>videoparse: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-twirl.html" title="twirl">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-videoparse.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -112,12 +112,29 @@
<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-videoparse.html#GstVideoParse--top-field-first" title="The “top-field-first” property">top-field-first</a></td>
<td class="property_flags">Read / Write</td>
</tr>
+<tr>
+<td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-videoparse.html#GstVideoParse--framesize" title="The “framesize” property">framesize</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-videoparse.html#GstVideoParse--offsets" title="The “offsets” property">offsets</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-videoparse.html#GstVideoParse--strides" title="The “strides” property">strides</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
</tbody>
</table></div>
</div>
<a name="GstVideoParse"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-videoparse.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -144,7 +161,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.83.7.3.1"></a><h3>Element Information</h3>
+<a name="id-1.2.82.7.3.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -170,7 +187,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.83.7.3.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.82.7.3.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -352,6 +369,30 @@
<p>Flags: Read / Write</p>
<p>Default value: TRUE</p>
</div>
+<hr>
+<div class="refsect2">
+<a name="GstVideoParse--framesize"></a><h3>The <code class="literal">“framesize”</code> property</h3>
+<pre class="programlisting"> “framesize” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Size of an image in raw stream (0: default).</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstVideoParse--offsets"></a><h3>The <code class="literal">“offsets”</code> property</h3>
+<pre class="programlisting"> “offsets” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Offset of each planes in bytes using string format: 'o0,o1,o2,o3'.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstVideoParse--strides"></a><h3>The <code class="literal">“strides”</code> property</h3>
+<pre class="programlisting"> “strides” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Stride of each planes in bytes using string format: 's0,s1,s2,s3'.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
</div>
</div>
<div class="footer">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-voaacenc.html b/docs/plugins/html/gst-plugins-bad-plugins-voaacenc.html
index 325654d..52bf574 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-voaacenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-voaacenc.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>voaacenc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-zbar.html" title="zbar">
@@ -36,7 +36,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-voaacenc.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -51,7 +51,7 @@
</div>
<a name="GstVoAacEnc"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-voaacenc.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -83,7 +83,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.86.8.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.85.8.2.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -109,7 +109,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.86.8.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.85.8.2.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-voamrwbenc.html b/docs/plugins/html/gst-plugins-bad-plugins-voamrwbenc.html
index f18d2d4..813631b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-voamrwbenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-voamrwbenc.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>voamrwbenc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-voaacenc.html" title="voaacenc">
@@ -36,7 +36,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.87.3.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.86.3.2.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -62,7 +62,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.87.3.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.86.3.2.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-waterripple.html b/docs/plugins/html/gst-plugins-bad-plugins-waterripple.html
index 4bc97fd..4966341 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-waterripple.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-waterripple.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>waterripple: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-videoparse.html" title="videoparse">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-waterripple.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -62,7 +62,7 @@
</div>
<a name="GstWaterRipple"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-waterripple.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -90,7 +90,7 @@
<a name="gst-plugins-bad-plugins-waterripple.description"></a><h2>Description</h2>
<p>The waterripple element creates a water ripple effect on the image.</p>
<div class="refsect2">
-<a name="id-1.2.84.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.83.7.3"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -106,7 +106,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.84.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.83.7.4.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -132,7 +132,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.84.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.83.7.4.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-wavescope.html b/docs/plugins/html/gst-plugins-bad-plugins-wavescope.html
index 4b0d38d..24acc5e 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-wavescope.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-wavescope.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>wavescope: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-voamrwbenc.html" title="voamrwbenc">
@@ -35,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-wavescope.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -50,7 +50,7 @@
</div>
<a name="GstWaveScope"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-wavescope.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
@@ -76,7 +76,7 @@
<p>Wavescope is a simple audio visualisation element. It renders the waveforms
like on an oscilloscope.</p>
<div class="refsect2">
-<a name="id-1.2.88.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.87.7.3"></a><h3>Example launch line</h3>
<div class="informalexample">
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
<tbody>
@@ -92,7 +92,7 @@
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.88.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.87.7.4.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -118,7 +118,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.88.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.87.7.4.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-zbar.html b/docs/plugins/html/gst-plugins-bad-plugins-zbar.html
index 488401b..7f81a64 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-zbar.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-zbar.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>zbar: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
<link rel="prev" href="gst-plugins-bad-plugins-waterripple.html" title="waterripple">
@@ -15,7 +15,8 @@
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span>
- <a href="#gst-plugins-bad-plugins-zbar.description" class="shortcut">Description</a></span><span id="nav_properties"> <span class="dim">|</span>
+ <a href="#gst-plugins-bad-plugins-zbar.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span>
+ <a href="#gst-plugins-bad-plugins-zbar.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties"> <span class="dim">|</span>
<a href="#gst-plugins-bad-plugins-zbar.properties" class="shortcut">Properties</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
@@ -34,7 +35,7 @@
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-bad-plugins-zbar.properties"></a><h2>Properties</h2>
-<div class="informaltable"><table border="0">
+<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
@@ -59,25 +60,36 @@
</tbody>
</table></div>
</div>
-<div class="refsect1">
+<a name="GstZBar"></a><div class="refsect1">
<a name="gst-plugins-bad-plugins-zbar.other"></a><h2>Types and Values</h2>
-<div class="informaltable"><table width="100%" border="0">
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody><tr>
<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-zbar.html#GstZBar" title="struct GstZBar">GstZBar</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-zbar.html#GstZBar-struct" title="struct GstZBar">GstZBar</a></td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
+<a name="gst-plugins-bad-plugins-zbar.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+ <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+ <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
+ <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
+ <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseTransform.html">GstBaseTransform</a>
+ <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideofilter.html#GstVideoFilter">GstVideoFilter</a>
+ <span class="lineart">╰──</span> GstZBar
+</pre>
+</div>
+<div class="refsect1">
<a name="gst-plugins-bad-plugins-zbar.description"></a><h2>Description</h2>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
-<a name="id-1.2.85.5.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.84.7.2.1"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -103,7 +115,7 @@
</div>
<hr>
<div class="refsect2">
-<a name="id-1.2.85.5.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.84.7.2.2"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
@@ -162,10 +174,8 @@
<div class="refsect1">
<a name="gst-plugins-bad-plugins-zbar.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
-<a name="GstZBar"></a><h3>struct GstZBar</h3>
-<pre class="programlisting">struct GstZBar {
-};
-</pre>
+<a name="GstZBar-struct"></a><h3>struct GstZBar</h3>
+<pre class="programlisting">struct GstZBar;</pre>
</div>
</div>
<div class="refsect1">
diff --git a/docs/plugins/html/index.html b/docs/plugins/html/index.html
index a7946b3..4b92889 100644
--- a/docs/plugins/html/index.html
+++ b/docs/plugins/html/index.html
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GStreamer Bad Plugins 1.0 Plugins Reference Manual: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
<link rel="next" href="ch01.html" title="gst-plugins-bad Elements">
<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
@@ -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.7.1)
+ for GStreamer Bad Plugins 1.0 (1.7.2)
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>
@@ -176,9 +176,6 @@
<span class="refentrytitle"><a href="gst-plugins-bad-plugins-mplex.html">mplex</a></span><span class="refpurpose"></span>
</dt>
<dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-plugins-mpg123audiodec.html">mpg123audiodec</a></span><span class="refpurpose"></span>
-</dt>
-<dt>
<span class="refentrytitle"><a href="gst-plugins-bad-plugins-neonhttpsrc.html">neonhttpsrc</a></span><span class="refpurpose"></span>
</dt>
<dt>
diff --git a/docs/plugins/html/index.sgml b/docs/plugins/html/index.sgml
index 9a29d99..89fdccb 100644
--- a/docs/plugins/html/index.sgml
+++ b/docs/plugins/html/index.sgml
@@ -186,6 +186,7 @@
<ANCHOR id="GstCvLaplace--aperture-size" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace--aperture-size">
<ANCHOR id="GstCvLaplace--scale" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace--scale">
<ANCHOR id="GstCvLaplace--shift" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace--shift">
+<ANCHOR id="GstCvLaplace--mask" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvlaplace.html#GstCvLaplace--mask">
<ANCHOR id="gst-plugins-bad-plugins-cvsmooth" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html">
<ANCHOR id="gst-plugins-bad-plugins-cvsmooth.properties" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html#gst-plugins-bad-plugins-cvsmooth.properties">
<ANCHOR id="GstCvSmooth" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsmooth.html#GstCvSmooth">
@@ -218,6 +219,7 @@
<ANCHOR id="GstCvSobel--aperture-size" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html#GstCvSobel--aperture-size">
<ANCHOR id="GstCvSobel--x-order" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html#GstCvSobel--x-order">
<ANCHOR id="GstCvSobel--y-order" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html#GstCvSobel--y-order">
+<ANCHOR id="GstCvSobel--mask" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-cvsobel.html#GstCvSobel--mask">
<ANCHOR id="gst-plugins-bad-plugins-dataurisrc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-dataurisrc.html">
<ANCHOR id="gst-plugins-bad-plugins-dataurisrc.properties" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-dataurisrc.html#gst-plugins-bad-plugins-dataurisrc.properties">
<ANCHOR id="GstDataURISrc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-dataurisrc.html#GstDataURISrc">
@@ -642,24 +644,14 @@
<ANCHOR id="GstMplex--sector-size" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-mplex.html#GstMplex--sector-size">
<ANCHOR id="GstMplex--system-headers" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-mplex.html#GstMplex--system-headers">
<ANCHOR id="GstMplex--vbr" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-mplex.html#GstMplex--vbr">
-<ANCHOR id="gst-plugins-bad-plugins-mpg123audiodec" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-mpg123audiodec.html">
-<ANCHOR id="GstMpg123AudioDec" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-mpg123audiodec.html#GstMpg123AudioDec">
-<ANCHOR id="gst-plugins-bad-plugins-mpg123audiodec.other" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-mpg123audiodec.html#gst-plugins-bad-plugins-mpg123audiodec.other">
-<ANCHOR id="gst-plugins-bad-plugins-mpg123audiodec.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-mpg123audiodec.html#gst-plugins-bad-plugins-mpg123audiodec.object-hierarchy">
-<ANCHOR id="gst-plugins-bad-plugins-mpg123audiodec.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-mpg123audiodec.html#gst-plugins-bad-plugins-mpg123audiodec.description">
-<ANCHOR id="gst-plugins-bad-plugins-mpg123audiodec.functions_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-mpg123audiodec.html#gst-plugins-bad-plugins-mpg123audiodec.functions_details">
-<ANCHOR id="gst-plugins-bad-plugins-mpg123audiodec.other_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-mpg123audiodec.html#gst-plugins-bad-plugins-mpg123audiodec.other_details">
-<ANCHOR id="GstMpg123AudioDec-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-mpg123audiodec.html#GstMpg123AudioDec-struct">
<ANCHOR id="gst-plugins-bad-plugins-neonhttpsrc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html">
<ANCHOR id="gst-plugins-bad-plugins-neonhttpsrc.properties" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html#gst-plugins-bad-plugins-neonhttpsrc.properties">
-<ANCHOR id="GstNeonhttpSrc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html#GstNeonhttpSrc">
<ANCHOR id="gst-plugins-bad-plugins-neonhttpsrc.other" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html#gst-plugins-bad-plugins-neonhttpsrc.other">
-<ANCHOR id="gst-plugins-bad-plugins-neonhttpsrc.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html#gst-plugins-bad-plugins-neonhttpsrc.object-hierarchy">
<ANCHOR id="gst-plugins-bad-plugins-neonhttpsrc.implemented-interfaces" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html#gst-plugins-bad-plugins-neonhttpsrc.implemented-interfaces">
<ANCHOR id="gst-plugins-bad-plugins-neonhttpsrc.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html#gst-plugins-bad-plugins-neonhttpsrc.description">
<ANCHOR id="gst-plugins-bad-plugins-neonhttpsrc.functions_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html#gst-plugins-bad-plugins-neonhttpsrc.functions_details">
<ANCHOR id="gst-plugins-bad-plugins-neonhttpsrc.other_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html#gst-plugins-bad-plugins-neonhttpsrc.other_details">
-<ANCHOR id="GstNeonhttpSrc-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html#GstNeonhttpSrc-struct">
+<ANCHOR id="GstNeonhttpSrc" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html#GstNeonhttpSrc">
<ANCHOR id="gst-plugins-bad-plugins-neonhttpsrc.property-details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html#gst-plugins-bad-plugins-neonhttpsrc.property-details">
<ANCHOR id="GstNeonhttpSrc--location" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html#GstNeonhttpSrc--location">
<ANCHOR id="GstNeonhttpSrc--proxy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-neonhttpsrc.html#GstNeonhttpSrc--proxy">
@@ -1079,6 +1071,9 @@
<ANCHOR id="GstVideoParse--width" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-videoparse.html#GstVideoParse--width">
<ANCHOR id="GstVideoParse--interlaced" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-videoparse.html#GstVideoParse--interlaced">
<ANCHOR id="GstVideoParse--top-field-first" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-videoparse.html#GstVideoParse--top-field-first">
+<ANCHOR id="GstVideoParse--framesize" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-videoparse.html#GstVideoParse--framesize">
+<ANCHOR id="GstVideoParse--offsets" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-videoparse.html#GstVideoParse--offsets">
+<ANCHOR id="GstVideoParse--strides" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-videoparse.html#GstVideoParse--strides">
<ANCHOR id="gst-plugins-bad-plugins-waterripple" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-waterripple.html">
<ANCHOR id="gst-plugins-bad-plugins-waterripple.properties" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-waterripple.html#gst-plugins-bad-plugins-waterripple.properties">
<ANCHOR id="GstWaterRipple" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-waterripple.html#GstWaterRipple">
@@ -1095,11 +1090,13 @@
<ANCHOR id="gst-plugins-bad-plugins-waterripple.see-also" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-waterripple.html#gst-plugins-bad-plugins-waterripple.see-also">
<ANCHOR id="gst-plugins-bad-plugins-zbar" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-zbar.html">
<ANCHOR id="gst-plugins-bad-plugins-zbar.properties" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-zbar.html#gst-plugins-bad-plugins-zbar.properties">
+<ANCHOR id="GstZBar" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-zbar.html#GstZBar">
<ANCHOR id="gst-plugins-bad-plugins-zbar.other" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-zbar.html#gst-plugins-bad-plugins-zbar.other">
+<ANCHOR id="gst-plugins-bad-plugins-zbar.object-hierarchy" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-zbar.html#gst-plugins-bad-plugins-zbar.object-hierarchy">
<ANCHOR id="gst-plugins-bad-plugins-zbar.description" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-zbar.html#gst-plugins-bad-plugins-zbar.description">
<ANCHOR id="gst-plugins-bad-plugins-zbar.functions_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-zbar.html#gst-plugins-bad-plugins-zbar.functions_details">
<ANCHOR id="gst-plugins-bad-plugins-zbar.other_details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-zbar.html#gst-plugins-bad-plugins-zbar.other_details">
-<ANCHOR id="GstZBar" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-zbar.html#GstZBar">
+<ANCHOR id="GstZBar-struct" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-zbar.html#GstZBar-struct">
<ANCHOR id="gst-plugins-bad-plugins-zbar.property-details" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-zbar.html#gst-plugins-bad-plugins-zbar.property-details">
<ANCHOR id="GstZBar--message" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-zbar.html#GstZBar--message">
<ANCHOR id="GstZBar--cache" href="gst-plugins-bad-plugins-1.0/gst-plugins-bad-plugins-zbar.html#GstZBar--cache">
diff --git a/docs/plugins/inspect/plugin-accurip.xml b/docs/plugins/inspect/plugin-accurip.xml
index c9d4d62..d940c06 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.7.1</version>
+ <version>1.7.2</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 91235c3..9b682a5 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.7.1</version>
+ <version>1.7.2</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 196fdf5..1258995 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.7.1</version>
+ <version>1.7.2</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 5509238..2ec5672 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.7.1</version>
+ <version>1.7.2</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-androidcamera.xml b/docs/plugins/inspect/plugin-androidcamera.xml
new file mode 100644
index 0000000..c9417ca
--- /dev/null
+++ b/docs/plugins/inspect/plugin-androidcamera.xml
@@ -0,0 +1,28 @@
+<plugin>
+ <name>androidcamera</name>
+ <description>Capture from Android cameras</description>
+ <filename>../../sys/androidcamera/.libs/libgstandroidcamera.so</filename>
+ <basename>libgstandroidcamera.so</basename>
+ <version>0.10.22.1</version>
+ <license>LGPL</license>
+ <source>gst-plugins-bad</source>
+ <package>GStreamer Bad Plug-ins git</package>
+ <origin>Unknown package origin</origin>
+ <elements>
+ <element>
+ <name>ahcsrc</name>
+ <longname>Android Camera Source</longname>
+ <class>Source/Video</class>
+ <description>Reads frames from android.hardware.Camera class into buffers</description>
+ <author>Youness Alaoui <youness.alaoui@collabora.co.uk></author>
+ <pads>
+ <caps>
+ <name>src</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>video/x-raw-yuv, format=(fourcc) { YV12 , YUY2 , NV21 , NV16 }, width=(int) [ 1, 2147483647 ], height=(int) [ 1, 2147483647 ], framerate=(fraction) [ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)16, depth=(int)16, red_mask=(int)63488, green_mask=(int)2016, blue_mask=(int)31, width=(int) [ 1, 2147483647 ], height=(int) [ 1, 2147483647 ], framerate=(fraction) [ 0/1, 2147483647/1 ] </details>
+ </caps>
+ </pads>
+ </element>
+ </elements>
+</plugin>
diff --git a/docs/plugins/inspect/plugin-asfmux.xml b/docs/plugins/inspect/plugin-asfmux.xml
index 94cbd7f..66f6fb6 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.7.1</version>
+ <version>1.7.2</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 2b82155..37edff3 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.7.1</version>
+ <version>1.7.2</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 33be9db..d9d81fd 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.7.1</version>
+ <version>1.7.2</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 4ee5420..666aa3e 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.7.1</version>
+ <version>1.7.2</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 e51db5a..21e4232 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.7.1</version>
+ <version>1.7.2</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 9cefab8..40603b2 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.7.1</version>
+ <version>1.7.2</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 6689df2..7231156 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.7.1</version>
+ <version>1.7.2</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
new file mode 100644
index 0000000..73f0fa5
--- /dev/null
+++ b/docs/plugins/inspect/plugin-bluez.xml
@@ -0,0 +1,58 @@
+<plugin>
+ <name>bluez</name>
+ <description>Bluez-based bluetooth support</description>
+ <filename>../../sys/bluez/.libs/libgstbluez.so</filename>
+ <basename>libgstbluez.so</basename>
+ <version>1.7.2</version>
+ <license>LGPL</license>
+ <source>gst-plugins-bad</source>
+ <package>GStreamer Bad Plug-ins source release</package>
+ <origin>Unknown package origin</origin>
+ <elements>
+ <element>
+ <name>a2dpsink</name>
+ <longname>Bluetooth A2DP sink</longname>
+ <class>Sink/Audio</class>
+ <description>Plays audio to an A2DP device</description>
+ <author>Marcel Holtmann <marcel@holtmann.org></author>
+ <pads>
+ <caps>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>audio/x-sbc, rate=(int){ 16000, 32000, 44100, 48000 }, channels=(int)[ 1, 2 ], channel-mode=(string){ mono, dual, stereo, joint }, blocks=(int){ 4, 8, 12, 16 }, subbands=(int){ 4, 8 }, allocation-method=(string){ snr, loudness }, bitpool=(int)[ 2, 64 ]; audio/mpeg</details>
+ </caps>
+ </pads>
+ </element>
+ <element>
+ <name>avdtpsink</name>
+ <longname>Bluetooth AVDTP sink</longname>
+ <class>Sink/Audio</class>
+ <description>Plays audio to an A2DP device</description>
+ <author>Marcel Holtmann <marcel@holtmann.org></author>
+ <pads>
+ <caps>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>application/x-rtp, media=(string)audio, payload=(int)[ 96, 127 ], clock-rate=(int){ 16000, 32000, 44100, 48000 }, encoding-name=(string)SBC; application/x-rtp, media=(string)audio, payload=(int)14, clock-rate=(int)90000; application/x-rtp, media=(string)audio, payload=(int)[ 96, 127 ], clock-rate=(int)90000, encoding-name=(string)MPA</details>
+ </caps>
+ </pads>
+ </element>
+ <element>
+ <name>avdtpsrc</name>
+ <longname>Bluetooth AVDTP Source</longname>
+ <class>Source/Audio/Network/RTP</class>
+ <description>Receives audio from an A2DP device</description>
+ <author>Arun Raghavan <arun.raghavan@collabora.co.uk></author>
+ <pads>
+ <caps>
+ <name>src</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>application/x-rtp, media=(string)audio, payload=(int)[ 96, 127 ], clock-rate=(int){ 16000, 32000, 44100, 48000 }, encoding-name=(string)SBC; application/x-rtp, media=(string)audio, payload=(int)[ 96, 127 ], clock-rate=(int){ 8000, 11025, 12000, 16000, 22050, 2400, 32000, 44100, 48000, 64000, 88200, 96000 }, encoding-name=(string)MP4A-LATM</details>
+ </caps>
+ </pads>
+ </element>
+ </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-bz2.xml b/docs/plugins/inspect/plugin-bz2.xml
index 31ccde0..1e71df3 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.7.1</version>
+ <version>1.7.2</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 4fb7261..4f2caf2 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.7.1</version>
+ <version>1.7.2</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 8ddc3fb..0e50af5 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.7.1</version>
+ <version>1.7.2</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 8c617c1..7f812ee 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.7.1</version>
+ <version>1.7.2</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 1919763..7c69add 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.7.1</version>
+ <version>1.7.2</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 937a1e6..0dfe727 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.7.1</version>
+ <version>1.7.2</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 3b3fb4e..555e189 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.7.1</version>
+ <version>1.7.2</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 ef767d9..dfd541d 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.7.1</version>
+ <version>1.7.2</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 3ceb8e5..9ac730e 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.7.1</version>
+ <version>1.7.2</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 cc1c762..c882b7f 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.7.1</version>
+ <version>1.7.2</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins</package>
@@ -50,7 +50,7 @@
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
- <details>video/x-raw, format=(string)UYVY, width=(int)720, height=(int)486, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)10/11, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)720, height=(int)486, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)10/11, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)720, height=(int)576, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)12/11, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)720, height=(int)486, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)10/11, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)720, height=(int)576, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)12/11, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)720, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)720, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)720, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)2048, height=(int)1556, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)2048, height=(int)1556, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)2048, height=(int)1556, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2</details>
+ <details>video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)[ 0/1, 2147483647/1 ], format=(string)ARGB</details>
</caps>
</pads>
</element>
@@ -65,7 +65,7 @@
<name>src</name>
<direction>source</direction>
<presence>always</presence>
- <details>video/x-raw, format=(string)UYVY, width=(int)720, height=(int)486, framerate=(fraction)30000/1001, interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)10/11, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)720, height=(int)486, framerate=(fraction)24000/1001, interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)10/11, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)720, height=(int)576, framerate=(fraction)25/1, interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)12/11, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)720, height=(int)486, framerate=(fraction)30000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)10/11, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)720, height=(int)576, framerate=(fraction)25/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)12/11, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)24000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)24/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)25/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)30000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)30/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)25/1, interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)30000/1001, interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)30/1, interlace-mode=(string)interleaved, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)50/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)60000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)60/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)720, framerate=(fraction)50/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)720, framerate=(fraction)60000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)1280, height=(int)720, framerate=(fraction)60/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)2048, height=(int)1556, framerate=(fraction)24000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)2048, height=(int)1556, framerate=(fraction)24/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)2048, height=(int)1556, framerate=(fraction)25/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)24000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)24/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)25/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)30000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)30/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)50/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)60000/1001, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160, framerate=(fraction)60/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt2020, chroma-site=(string)mpeg2</details>
+ <details>video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)30000/1001, format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)30000/1001, format=(string)ARGB; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)24000/1001, format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)interleaved, framerate=(fraction)24000/1001, format=(string)ARGB; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)interleaved, framerate=(fraction)25/1, format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)interleaved, framerate=(fraction)25/1, format=(string)ARGB; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)progressive, framerate=(fraction)30000/1001, format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)486, pixel-aspect-ratio=(fraction)10/11, interlace-mode=(string)progressive, framerate=(fraction)30000/1001, format=(string)ARGB; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)UYVY, colorimetry=(string)bt601, chroma-site=(string)mpeg2; video/x-raw, width=(int)720, height=(int)576, pixel-aspect-ratio=(fraction)12/11, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24000/1001, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24000/1001, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24/1, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30000/1001, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30000/1001, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30/1, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)25/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)25/1, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)30000/1001, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)30000/1001, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)30/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)interleaved, framerate=(fraction)30/1, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)50/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)50/1, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60000/1001, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60000/1001, format=(string)ARGB; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60/1, format=(string)ARGB; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)50/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)50/1, format=(string)ARGB; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60000/1001, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60000/1001, format=(string)ARGB; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60/1, format=(string)ARGB; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24000/1001, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24000/1001, format=(string)ARGB; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24/1, format=(string)ARGB; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)UYVY, colorimetry=(string)bt709, chroma-site=(string)mpeg2; video/x-raw, width=(int)2048, height=(int)1556, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24000/1001, format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24000/1001, format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24/1, format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)24/1, format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)25/1, format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30000/1001, format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30000/1001, format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30/1, format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)30/1, format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)50/1, format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)50/1, format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60000/1001, format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60000/1001, format=(string)ARGB; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60/1, format=(string)UYVY, colorimetry=(string)bt2020, chroma-site=(string)mpeg2; video/x-raw, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, framerate=(fraction)60/1, format=(string)ARGB</details>
</caps>
</pads>
</element>
diff --git a/docs/plugins/inspect/plugin-dfbvideosink.xml b/docs/plugins/inspect/plugin-dfbvideosink.xml
index 71d30b7..633205c 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.7.1</version>
+ <version>1.7.2</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 d6e61eb..b2ac908 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.7.1</version>
+ <version>1.7.2</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 2498439..72ee556 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.7.1</version>
+ <version>1.7.2</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 192620a..48f6fe5 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.7.1</version>
+ <version>1.7.2</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 60406d4..54ec8e9 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.7.1</version>
+ <version>1.7.2</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 24df678..1bd503b 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.7.1</version>
+ <version>1.7.2</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 87de695..71ef5bc 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.7.1</version>
+ <version>1.7.2</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 a2131a3..29219f8 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.7.1</version>
+ <version>1.7.2</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-festival.xml b/docs/plugins/inspect/plugin-festival.xml
index ab6617c..2f0a0e5 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.7.1</version>
+ <version>1.7.2</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 48ed3f4..8c5ac1b 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.7.1</version>
+ <version>1.7.2</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 b3d1cbb..174844c 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.7.1</version>
+ <version>1.7.2</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 5e8e0d0..cb95ae3 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.7.1</version>
+ <version>1.7.2</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 0adcede..f786769 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.7.1</version>
+ <version>1.7.2</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 e05fece..216f41e 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.7.1</version>
+ <version>1.7.2</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 5969f03..2e368be 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.7.1</version>
+ <version>1.7.2</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 1687c20..f00d466 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.7.1</version>
+ <version>1.7.2</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 2c4599f..beeae06 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.7.1</version>
+ <version>1.7.2</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 881ff6e..b5f58c4 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.7.1</version>
+ <version>1.7.2</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 e702d25..fa2241a 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.7.1</version>
+ <version>1.7.2</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 d920cd7..18b66f0 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.7.1</version>
+ <version>1.7.2</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 201e957..c3c6a39 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.7.1</version>
+ <version>1.7.2</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 b1f2475..c321bf8 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.7.1</version>
+ <version>1.7.2</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 3892dbf..a29621f 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.7.1</version>
+ <version>1.7.2</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 dba74e6..1032c55 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.7.1</version>
+ <version>1.7.2</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 0672d82..6985c5b 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.7.1</version>
+ <version>1.7.2</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 d0318a8..4fcef6b 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.7.1</version>
+ <version>1.7.2</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 6f7c51c..6dfb140 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.7.1</version>
+ <version>1.7.2</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 747864a..4efc2ed 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.7.1</version>
+ <version>1.7.2</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 7d6092c..2a04754 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.7.1</version>
+ <version>1.7.2</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 581c1fe..8fd44c9 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.7.1</version>
+ <version>1.7.2</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 5334d1f..3988364 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.7.1</version>
+ <version>1.7.2</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 d0d1904..9ea36b8 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.7.1</version>
+ <version>1.7.2</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 eb1c653..6c0950f 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.7.1</version>
+ <version>1.7.2</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 429f3ea..db8a0ca 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.7.1</version>
+ <version>1.7.2</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 7e5bba2..2bab92a 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.7.1</version>
+ <version>1.7.2</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 b1ad224..05cfa0c 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.7.1</version>
+ <version>1.7.2</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 00c040f..0983766 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.7.1</version>
+ <version>1.7.2</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 dc5323c..4d71d4e 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.7.1</version>
+ <version>1.7.2</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 9ac3419..c3de7e4 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.7.1</version>
+ <version>1.7.2</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 582c551..7ca646c 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.7.1</version>
+ <version>1.7.2</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 29385f8..b57a589 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.7.1</version>
+ <version>1.7.2</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
@@ -20,7 +20,7 @@
<name>sink_%d</name>
<direction>sink</direction>
<presence>request</presence>
- <details>video/mpeg, parsed=(boolean)true, mpegversion=(int){ 1, 2, 4 }, systemstream=(boolean)false; video/x-dirac; video/x-h264, stream-format=(string)byte-stream, alignment=(string){ au, nal }; audio/mpeg, parsed=(boolean)true, mpegversion=(int){ 1, 2 }; audio/mpeg, framed=(boolean)true, mpegversion=(int)4, stream-format=(string)adts; audio/mpeg, mpegversion=(int)4, stream-format=(string)raw; audio/x-lpcm, width=(int){ 16, 20, 24 }, rate=(int){ 48000, 96000 }, channels=(int)[ 1, 8 ], dynamic_range=(int)[ 0, 255 ], emphasis=(boolean){ false, true }, mute=(boolean){ false, true }; audio/x-ac3, framed=(boolean)true; audio/x-dts, framed=(boolean)true; audio/x-opus, channels=(int)[ 1, 8 ], channel-mapping-family=(int){ 0, 1 }; subpicture/x-dvb; application/x-teletext; meta/x-klv, parsed=(boolean)true</details>
+ <details>video/mpeg, parsed=(boolean)true, mpegversion=(int){ 1, 2, 4 }, systemstream=(boolean)false; video/x-dirac; video/x-h264, stream-format=(string)byte-stream, alignment=(string){ au, nal }; video/x-h265, stream-format=(string)byte-stream, alignment=(string){ au, nal }; audio/mpeg, parsed=(boolean)true, mpegversion=(int){ 1, 2 }; audio/mpeg, framed=(boolean)true, mpegversion=(int)4, stream-format=(string)adts; audio/mpeg, mpegversion=(int)4, stream-format=(string)raw; audio/x-lpcm, width=(int){ 16, 20, 24 }, rate=(int){ 48000, 96000 }, channels=(int)[ 1, 8 ], dynamic_range=(int)[ 0, 255 ], emphasis=(boolean){ false, true }, mute=(boolean){ false, true }; audio/x-ac3, framed=(boolean)true; audio/x-dts, framed=(boolean)true; audio/x-opus, channels=(int)[ 1, 8 ], channel-mapping-family=(int){ 0, 1 }; subpicture/x-dvb; application/x-teletext; meta/x-klv, parsed=(boolean)true</details>
</caps>
<caps>
<name>src</name>
diff --git a/docs/plugins/inspect/plugin-mpg123.xml b/docs/plugins/inspect/plugin-mpg123.xml
deleted file mode 100644
index 3d0005b..0000000
--- a/docs/plugins/inspect/plugin-mpg123.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<plugin>
- <name>mpg123</name>
- <description>mp3 decoding based on the mpg123 library</description>
- <filename>../../ext/mpg123/.libs/libgstmpg123.so</filename>
- <basename>libgstmpg123.so</basename>
- <version>1.7.1</version>
- <license>LGPL</license>
- <source>gst-plugins-bad</source>
- <package>GStreamer Bad Plug-ins source release</package>
- <origin>Unknown package origin</origin>
- <elements>
- <element>
- <name>mpg123audiodec</name>
- <longname>mpg123 mp3 decoder</longname>
- <class>Codec/Decoder/Audio</class>
- <description>Decodes mp3 streams using the mpg123 library</description>
- <author>Carlos Rafael Giani <dv@pseudoterminal.org></author>
- <pads>
- <caps>
- <name>sink</name>
- <direction>sink</direction>
- <presence>always</presence>
- <details>audio/mpeg, mpegversion=(int)1, layer=(int)[ 1, 3 ], rate=(int){ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000 }, channels=(int)[ 1, 2 ], parsed=(boolean)true</details>
- </caps>
- <caps>
- <name>src</name>
- <direction>source</direction>
- <presence>always</presence>
- <details>audio/x-raw, format=(string){ S16LE, U16LE, S32LE, U32LE, S24LE, U24LE, F32LE }, rate=(int){ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000 }, channels=(int)[ 1, 2 ], layout=(string)interleaved</details>
- </caps>
- </pads>
- </element>
- </elements>
-</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-mplex.xml b/docs/plugins/inspect/plugin-mplex.xml
index e8be8ee..4d6587f 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.7.1</version>
+ <version>1.7.2</version>
<license>GPL</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 6eb16a2..38e7769 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.7.1</version>
+ <version>1.7.2</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
new file mode 100644
index 0000000..86943c5
--- /dev/null
+++ b/docs/plugins/inspect/plugin-netsim.xml
@@ -0,0 +1,34 @@
+<plugin>
+ <name>netsim</name>
+ <description>Network Simulator</description>
+ <filename>../../gst/netsim/.libs/libgstnetsim.so</filename>
+ <basename>libgstnetsim.so</basename>
+ <version>1.7.2</version>
+ <license>LGPL</license>
+ <source>gst-plugins-bad</source>
+ <package>GStreamer Bad Plug-ins source release</package>
+ <origin>Unknown package origin</origin>
+ <elements>
+ <element>
+ <name>netsim</name>
+ <longname>Network Simulator</longname>
+ <class>Filter/Network</class>
+ <description>An element that simulates network jitter, packet loss and packet duplication</description>
+ <author>Philippe Kalaf <philippe.kalaf@collabora.co.uk></author>
+ <pads>
+ <caps>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>ANY</details>
+ </caps>
+ <caps>
+ <name>src</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>ANY</details>
+ </caps>
+ </pads>
+ </element>
+ </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-ofa.xml b/docs/plugins/inspect/plugin-ofa.xml
index 2a176dd..809bd05 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.7.1</version>
+ <version>1.7.2</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 fd8e61b..893cbe0 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.7.1</version>
+ <version>1.7.2</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 2af2837..9bf44e4 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.7.1</version>
+ <version>1.7.2</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
@@ -83,13 +83,13 @@
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
- <details>video/x-raw, format=(string)GRAY8, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+ <details>video/x-raw, format=(string)RGB, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
</caps>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
- <details>video/x-raw, format=(string)GRAY16_LE, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+ <details>video/x-raw, format=(string)RGB, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
</caps>
</pads>
</element>
@@ -125,13 +125,13 @@
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
- <details>video/x-raw, format=(string)GRAY8, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+ <details>video/x-raw, format=(string)RGB, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
</caps>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
- <details>video/x-raw, format=(string)GRAY16_LE, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+ <details>video/x-raw, format=(string)RGB, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
</caps>
</pads>
</element>
diff --git a/docs/plugins/inspect/plugin-openexr.xml b/docs/plugins/inspect/plugin-openexr.xml
index f26c022..6ed052f 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.7.1</version>
+ <version>1.7.2</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 b109778..fb952fc 100644
--- a/docs/plugins/inspect/plugin-opengl.xml
+++ b/docs/plugins/inspect/plugin-opengl.xml
@@ -3,13 +3,34 @@
<description>OpenGL plugin</description>
<filename>../../ext/gl/.libs/libgstopengl.so</filename>
<basename>libgstopengl.so</basename>
- <version>1.7.1</version>
+ <version>1.7.2</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
<origin>Unknown package origin</origin>
<elements>
<element>
+ <name>glcolorbalance</name>
+ <longname>Video balance</longname>
+ <class>Filter/Effect/Video</class>
+ <description>Adjusts brightness, contrast, hue, saturation on a video stream</description>
+ <author>Matthew Waters <matthew@centricular.com></author>
+ <pads>
+ <caps>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
+ </caps>
+ <caps>
+ <name>src</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
+ </caps>
+ </pads>
+ </element>
+ <element>
<name>glcolorconvert</name>
<longname>OpenGL color converter</longname>
<class>Filter/Converter/Video</class>
@@ -105,7 +126,7 @@
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
- <details>video/x-raw(memory:GLMemory)</details>
+ <details>video/x-raw(memory:GLMemory); video/x-raw</details>
</caps>
<caps>
<name>src</name>
diff --git a/docs/plugins/inspect/plugin-openh264.xml b/docs/plugins/inspect/plugin-openh264.xml
index 832e398..2c0bb5e 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.7.1</version>
+ <version>1.5.0.1</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 a343126..c381495 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.7.1</version>
+ <version>1.7.2</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-opus.xml b/docs/plugins/inspect/plugin-opus.xml
index 3f050db..36542b4 100644
--- a/docs/plugins/inspect/plugin-opus.xml
+++ b/docs/plugins/inspect/plugin-opus.xml
@@ -3,7 +3,7 @@
<description>OPUS plugin library</description>
<filename>../../ext/opus/.libs/libgstopus.so</filename>
<basename>libgstopus.so</basename>
- <version>1.7.1</version>
+ <version>1.7.2</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 53791b2..8bfbb79 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.7.1</version>
+ <version>1.7.2</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 89eff8d..2d2fc51 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.7.1</version>
+ <version>1.7.2</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 b44e97e..04e8117 100644
--- a/docs/plugins/inspect/plugin-qt.xml
+++ b/docs/plugins/inspect/plugin-qt.xml
@@ -3,7 +3,7 @@
<description>Qt sink</description>
<filename>../../ext/qt/.libs/libgstqtsink.so</filename>
<basename>libgstqtsink.so</basename>
- <version>1.7.1</version>
+ <version>1.7.2</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
@@ -20,7 +20,7 @@
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
- <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+ <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
</caps>
</pads>
</element>
diff --git a/docs/plugins/inspect/plugin-rawparse.xml b/docs/plugins/inspect/plugin-rawparse.xml
index 77e9ec3..ee5ac27 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.7.1</version>
+ <version>1.7.2</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 6d9fcde..a9f9842 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.7.1</version>
+ <version>1.7.2</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 b7ed305..b8358aa 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.7.1</version>
+ <version>1.7.2</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 e4243cb..2e3f14a 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.7.1</version>
+ <version>1.7.2</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 79d20c3..2206ab4 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.7.1</version>
+ <version>1.7.2</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 547f3c4..b7f2c43 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.7.1</version>
+ <version>1.7.2</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-rtpbad.xml b/docs/plugins/inspect/plugin-rtpbad.xml
index 00b65f7..b4a1b7f 100644
--- a/docs/plugins/inspect/plugin-rtpbad.xml
+++ b/docs/plugins/inspect/plugin-rtpbad.xml
@@ -3,7 +3,7 @@
<description>Real-time protocol plugins</description>
<filename>../../gst/rtp/.libs/libgstrtpbad.so</filename>
<basename>libgstrtpbad.so</basename>
- <version>1.7.1</version>
+ <version>1.6.0</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 3423e87..f4ceb73 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.7.1</version>
+ <version>1.7.2</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 6e0ae60..41aa41f 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.7.1</version>
+ <version>1.7.2</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 edbb068..3bc0eb0 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.7.1</version>
+ <version>1.7.2</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 7f7ebf8..0e9259b 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.7.1</version>
+ <version>1.7.2</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 b0e7d6a..bb561b1 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.7.1</version>
+ <version>1.7.2</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 25b367b..73da5c1 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.7.1</version>
+ <version>1.7.2</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 e25a3f3..da43470 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.7.1</version>
+ <version>1.7.2</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 f1c4497..4a5356c 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.7.1</version>
+ <version>1.7.2</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
new file mode 100644
index 0000000..272d2ed
--- /dev/null
+++ b/docs/plugins/inspect/plugin-sndfile.xml
@@ -0,0 +1,34 @@
+<plugin>
+ <name>sndfile</name>
+ <description>use libsndfile to read and write various audio formats</description>
+ <filename>../../ext/sndfile/.libs/libgstsndfile.so</filename>
+ <basename>libgstsndfile.so</basename>
+ <version>1.5.2</version>
+ <license>LGPL</license>
+ <source>gst-plugins-bad</source>
+ <package>GStreamer Bad Plug-ins source release</package>
+ <origin>Unknown package origin</origin>
+ <elements>
+ <element>
+ <name>sfdec</name>
+ <longname>Sndfile decoder</longname>
+ <class>Decoder/Audio</class>
+ <description>Read audio streams using libsndfile</description>
+ <author>Stefan Sauer <ensonic@user.sf.net></author>
+ <pads>
+ <caps>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>audio/x-ircam; audio/x-nist; audio/x-paris; audio/x-rf64; audio/x-sds; audio/x-svx; audio/x-voc; audio/x-w64; audio/x-xi</details>
+ </caps>
+ <caps>
+ <name>src</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>audio/x-raw, format=(string){ F32LE, S32LE, S16LE }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]</details>
+ </caps>
+ </pads>
+ </element>
+ </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-soundtouch.xml b/docs/plugins/inspect/plugin-soundtouch.xml
index 1fae792..bef47b3 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.7.1</version>
+ <version>1.7.2</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 4a6e005..e25fe70 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.7.1</version>
+ <version>1.7.2</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
@@ -51,5 +51,20 @@
</caps>
</pads>
</element>
+ <element>
+ <name>tonegeneratesrc</name>
+ <longname>Telephony Tone Generator source</longname>
+ <class>Source/Audio</class>
+ <description>Creates telephony signals of given frequency, volume, cadence</description>
+ <author>Iskratel <www.iskratel.com></author>
+ <pads>
+ <caps>
+ <name>src</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)8000, channels=(int)1</details>
+ </caps>
+ </pads>
+ </element>
</elements>
</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-speed.xml b/docs/plugins/inspect/plugin-speed.xml
index d5c05d4..414906f 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.7.1</version>
+ <version>1.7.2</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 9b1f527..40d6e26 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.7.1</version>
+ <version>1.7.2</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 d4d1af5..f9cc125 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.7.1</version>
+ <version>1.7.2</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 2c6d48e..b746995 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.7.1</version>
+ <version>1.7.2</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 448a909..1aaced2 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.7.1</version>
+ <version>1.7.2</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer</package>
diff --git a/docs/plugins/inspect/plugin-uvch264.xml b/docs/plugins/inspect/plugin-uvch264.xml
index f985d85..4423fdf 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.7.1</version>
+ <version>1.7.2</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 024cfcd..7c5e5de 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.7.1</version>
+ <version>1.7.2</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 9a5b669..9d45eb4 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.7.1</version>
+ <version>1.7.2</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 fd29f63..35ea768 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.7.1</version>
+ <version>1.7.2</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 1e791be..fc030bc 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.7.1</version>
+ <version>1.7.2</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 fa81559..c2ab57b 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.7.1</version>
+ <version>1.7.2</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 a402cf2..81190e7 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.7.1</version>
+ <version>1.7.2</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 5f9421d..d7f95aa 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.7.1</version>
+ <version>1.7.2</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 986d584..eb6b112 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.7.1</version>
+ <version>1.7.2</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 806a65c..7eac0c1 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.7.1</version>
+ <version>1.7.2</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 40560b9..7d36c5e 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.7.1</version>
+ <version>1.7.2</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-wildmidi.xml b/docs/plugins/inspect/plugin-wildmidi.xml
index 7e7e3fc..637e3bb 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.7.1</version>
+ <version>1.7.2</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 55bff54..403e3ca 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.7.1</version>
+ <version>1.7.2</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 327e501..12f393f 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.7.1</version>
+ <version>1.7.2</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 a3dcb01..f344793 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.7.1</version>
+ <version>1.7.2</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 1935311..6aad5df 100644
--- a/docs/plugins/inspect/plugin-zbar.xml
+++ b/docs/plugins/inspect/plugin-zbar.xml
@@ -3,10 +3,10 @@
<description>zbar barcode scanner</description>
<filename>../../ext/zbar/.libs/libgstzbar.so</filename>
<basename>libgstzbar.so</basename>
- <version>1.7.0.1</version>
+ <version>1.7.2</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
- <package>GStreamer Bad Plug-ins git</package>
+ <package>GStreamer Bad Plug-ins source release</package>
<origin>Unknown package origin</origin>
<elements>
<element>
diff --git a/ext/Makefile.am b/ext/Makefile.am
index 33ddba7..f97ef44 100644
--- a/ext/Makefile.am
+++ b/ext/Makefile.am
@@ -16,12 +16,6 @@
APEXSINK_DIR =
endif
-# if USE_AUDIOFILE
-# AUDIOFILE_DIR=audiofile
-# else
-AUDIOFILE_DIR=
-# endif
-
if USE_BS2B
BS2B_DIR=bs2b
else
@@ -166,12 +160,6 @@
LIBDE265_DIR =
endif
-# if USE_LIBFAME
-# LIBFAME_DIR=libfame
-# else
-LIBFAME_DIR=
-# endif
-
if USE_LIBMMS
LIBMMS_DIR=libmms
else
@@ -196,12 +184,6 @@
MPEG2ENC_DIR=
endif
-if USE_MPG123
-MPG123_DIR=mpg123
-else
-MPG123_DIR=
-endif
-
if USE_MIMIC
MIMIC_DIR=mimic
else
@@ -382,12 +364,6 @@
TELETEXTDEC_DIR=
endif
-if USE_GSETTINGS
-GSETTINGS_DIR=gsettings
-else
-GSETTINGS_DIR=
-endif
-
if USE_XVID
XVID_DIR=xvid
else
@@ -430,6 +406,12 @@
DTLS_DIR=
endif
+if USE_VULKAN
+VULKAN_DIR=vulkan
+else
+VULKAN_DIR=
+endif
+
SUBDIRS=\
$(VOAACENC_DIR) \
$(ASSRENDER_DIR) \
@@ -454,19 +436,16 @@
$(FAAD_DIR) \
$(FLITE_DIR) \
$(FLUIDSYNTH_DIR) \
- $(GSETTINGS_DIR) \
$(GSM_DIR) \
$(G729_DIR) \
$(KATE_DIR) \
$(LADSPA_DIR) \
$(LV2_DIR) \
$(LIBDE265_DIR) \
- $(LIBFAME_DIR) \
$(LIBMMS_DIR) \
$(LIBVISUAL_DIR) \
$(MODPLUG_DIR) \
$(MPEG2ENC_DIR) \
- $(MPG123_DIR) \
$(MIMIC_DIR) \
$(MPLEX_DIR) \
$(MUSEPACK_DIR) \
@@ -501,7 +480,8 @@
$(HLS_DIR) \
$(WEBP_DIR) \
$(X265_DIR) \
- $(DTLS_DIR)
+ $(DTLS_DIR) \
+ $(VULKAN_DIR)
DIST_SUBDIRS = \
assrender \
@@ -518,7 +498,6 @@
faad \
flite \
fluidsynth \
- gsettings \
gsm \
hls \
ladspa \
@@ -535,7 +514,6 @@
modplug \
mimic \
mpeg2enc \
- mpg123 \
mplex \
musepack \
nas \
@@ -570,6 +548,7 @@
rtmp \
webp \
x265 \
- dtls
+ dtls \
+ vulkan
include $(top_srcdir)/common/parallel-subdirs.mak
diff --git a/ext/Makefile.in b/ext/Makefile.in
index 867d289..82b6d6d 100644
--- a/ext/Makefile.in
+++ b/ext/Makefile.in
@@ -119,16 +119,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -302,7 +301,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -324,7 +322,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -346,9 +343,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -510,6 +504,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -523,8 +518,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -611,8 +604,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -664,6 +655,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -684,6 +676,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -721,7 +715,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -767,13 +760,7 @@
@USE_VOAMRWBENC_TRUE@VOAMRWBENC_DIR = voamrwbenc
@USE_APEXSINK_FALSE@APEXSINK_DIR =
@USE_APEXSINK_TRUE@APEXSINK_DIR = apexsink
-
-# if USE_AUDIOFILE
-# AUDIOFILE_DIR=audiofile
-# else
-AUDIOFILE_DIR =
@USE_BS2B_FALSE@BS2B_DIR =
-# endif
@USE_BS2B_TRUE@BS2B_DIR = bs2b
@USE_BZ2_FALSE@BZ2_DIR =
@USE_BZ2_TRUE@BZ2_DIR = bz2
@@ -825,13 +812,7 @@
@USE_LV2_TRUE@LV2_DIR = lv2
@USE_LIBDE265_FALSE@LIBDE265_DIR =
@USE_LIBDE265_TRUE@LIBDE265_DIR = libde265
-
-# if USE_LIBFAME
-# LIBFAME_DIR=libfame
-# else
-LIBFAME_DIR =
@USE_LIBMMS_FALSE@LIBMMS_DIR =
-# endif
@USE_LIBMMS_TRUE@LIBMMS_DIR = libmms
@USE_LIBVISUAL_FALSE@LIBVISUAL_DIR =
@USE_LIBVISUAL_TRUE@LIBVISUAL_DIR = libvisual
@@ -839,8 +820,6 @@
@USE_MODPLUG_TRUE@MODPLUG_DIR = modplug
@USE_MPEG2ENC_FALSE@MPEG2ENC_DIR =
@USE_MPEG2ENC_TRUE@MPEG2ENC_DIR = mpeg2enc
-@USE_MPG123_FALSE@MPG123_DIR =
-@USE_MPG123_TRUE@MPG123_DIR = mpg123
@USE_MIMIC_FALSE@MIMIC_DIR =
@USE_MIMIC_TRUE@MIMIC_DIR = mimic
@USE_MPLEX_FALSE@MPLEX_DIR =
@@ -903,8 +882,6 @@
@USE_GME_TRUE@GME_DIR = gme
@USE_TELETEXTDEC_FALSE@TELETEXTDEC_DIR =
@USE_TELETEXTDEC_TRUE@TELETEXTDEC_DIR = teletextdec
-@USE_GSETTINGS_FALSE@GSETTINGS_DIR =
-@USE_GSETTINGS_TRUE@GSETTINGS_DIR = gsettings
@USE_XVID_FALSE@XVID_DIR =
@USE_XVID_TRUE@XVID_DIR = xvid
@USE_ZBAR_FALSE@ZBAR_DIR =
@@ -919,6 +896,8 @@
@USE_X265_TRUE@X265_DIR = x265
@USE_DTLS_FALSE@DTLS_DIR =
@USE_DTLS_TRUE@DTLS_DIR = dtls
+@USE_VULKAN_FALSE@VULKAN_DIR =
+@USE_VULKAN_TRUE@VULKAN_DIR = vulkan
SUBDIRS = \
$(VOAACENC_DIR) \
$(ASSRENDER_DIR) \
@@ -943,19 +922,16 @@
$(FAAD_DIR) \
$(FLITE_DIR) \
$(FLUIDSYNTH_DIR) \
- $(GSETTINGS_DIR) \
$(GSM_DIR) \
$(G729_DIR) \
$(KATE_DIR) \
$(LADSPA_DIR) \
$(LV2_DIR) \
$(LIBDE265_DIR) \
- $(LIBFAME_DIR) \
$(LIBMMS_DIR) \
$(LIBVISUAL_DIR) \
$(MODPLUG_DIR) \
$(MPEG2ENC_DIR) \
- $(MPG123_DIR) \
$(MIMIC_DIR) \
$(MPLEX_DIR) \
$(MUSEPACK_DIR) \
@@ -990,7 +966,8 @@
$(HLS_DIR) \
$(WEBP_DIR) \
$(X265_DIR) \
- $(DTLS_DIR)
+ $(DTLS_DIR) \
+ $(VULKAN_DIR)
DIST_SUBDIRS = \
assrender \
@@ -1007,7 +984,6 @@
faad \
flite \
fluidsynth \
- gsettings \
gsm \
hls \
ladspa \
@@ -1024,7 +1000,6 @@
modplug \
mimic \
mpeg2enc \
- mpg123 \
mplex \
musepack \
nas \
@@ -1059,7 +1034,8 @@
rtmp \
webp \
x265 \
- dtls
+ dtls \
+ vulkan
all: all-recursive
diff --git a/ext/apexsink/Makefile.in b/ext/apexsink/Makefile.in
index 7e8b913..c73888b 100644
--- a/ext/apexsink/Makefile.in
+++ b/ext/apexsink/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -326,7 +325,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -348,7 +346,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -370,9 +367,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -534,6 +528,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -547,8 +542,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -635,8 +628,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -688,6 +679,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -708,6 +700,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -745,7 +739,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/assrender/Makefile.in b/ext/assrender/Makefile.in
index 30e633d..be23ec2 100644
--- a/ext/assrender/Makefile.in
+++ b/ext/assrender/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -323,7 +322,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -345,7 +343,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -367,9 +364,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -531,6 +525,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -544,8 +539,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -632,8 +625,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -685,6 +676,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -705,6 +697,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -742,7 +736,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/bs2b/Makefile.in b/ext/bs2b/Makefile.in
index 9bb49e4..ff99928 100644
--- a/ext/bs2b/Makefile.in
+++ b/ext/bs2b/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/bz2/Makefile.in b/ext/bz2/Makefile.in
index 87f6f6e..4567748 100644
--- a/ext/bz2/Makefile.in
+++ b/ext/bz2/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/chromaprint/Makefile.in b/ext/chromaprint/Makefile.in
index ff35fb1..cb7d272 100644
--- a/ext/chromaprint/Makefile.in
+++ b/ext/chromaprint/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -325,7 +324,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +345,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +366,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +527,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +541,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +627,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +678,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +699,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +738,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/curl/Makefile.in b/ext/curl/Makefile.in
index 5f319de..71e2f56 100644
--- a/ext/curl/Makefile.in
+++ b/ext/curl/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -337,7 +336,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -359,7 +357,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -381,9 +378,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -545,6 +539,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -558,8 +553,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -646,8 +639,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -699,6 +690,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -719,6 +711,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -756,7 +750,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/curl/gstcurlbasesink.c b/ext/curl/gstcurlbasesink.c
index 58397a1..725f1ac 100644
--- a/ext/curl/gstcurlbasesink.c
+++ b/ext/curl/gstcurlbasesink.c
@@ -349,12 +349,17 @@
sink = GST_CURL_BASE_SINK (bsink);
- GST_OBJECT_LOCK (sink);
-
gst_buffer_map (buf, &map, GST_MAP_READ);
data = map.data;
size = map.size;
+ if (size == 0) {
+ gst_buffer_unmap (buf, &map);
+ return GST_FLOW_OK;
+ }
+
+ GST_OBJECT_LOCK (sink);
+
/* check if the transfer thread has encountered problems while the
* pipeline thread was working elsewhere */
if (sink->flow_ret != GST_FLOW_OK) {
diff --git a/ext/daala/Makefile.in b/ext/daala/Makefile.in
index 9fb4b04..e92fc4d 100644
--- a/ext/daala/Makefile.in
+++ b/ext/daala/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -325,7 +324,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +345,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +366,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +527,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +541,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +627,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +678,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +699,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +738,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/dash/Makefile.in b/ext/dash/Makefile.in
index 35e0af3..ef65ab0 100644
--- a/ext/dash/Makefile.in
+++ b/ext/dash/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -328,7 +327,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -350,7 +348,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -372,9 +369,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -536,6 +530,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -549,8 +544,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -637,8 +630,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -690,6 +681,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -710,6 +702,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -747,7 +741,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/dash/gstdashdemux.c b/ext/dash/gstdashdemux.c
index 35ae2e3..9bbc5ae 100644
--- a/ext/dash/gstdashdemux.c
+++ b/ext/dash/gstdashdemux.c
@@ -233,19 +233,20 @@
static GstFlowReturn
gst_dash_demux_stream_update_fragment_info (GstAdaptiveDemuxStream * stream);
static GstFlowReturn gst_dash_demux_stream_seek (GstAdaptiveDemuxStream *
- stream, GstClockTime ts);
-static gboolean
-gst_dash_demux_stream_has_next_fragment (GstAdaptiveDemuxStream * stream);
+ stream, gboolean forward, GstSeekFlags flags, GstClockTime ts,
+ GstClockTime * final_ts);
+static gboolean gst_dash_demux_stream_has_next_fragment (GstAdaptiveDemuxStream
+ * stream);
static GstFlowReturn
gst_dash_demux_stream_advance_fragment (GstAdaptiveDemuxStream * stream);
static gboolean
gst_dash_demux_stream_advance_subfragment (GstAdaptiveDemuxStream * stream);
static gboolean gst_dash_demux_stream_select_bitrate (GstAdaptiveDemuxStream *
stream, guint64 bitrate);
-static gint64
-gst_dash_demux_get_manifest_update_interval (GstAdaptiveDemux * demux);
-static GstFlowReturn
-gst_dash_demux_update_manifest_data (GstAdaptiveDemux * demux, GstBuffer * buf);
+static gint64 gst_dash_demux_get_manifest_update_interval (GstAdaptiveDemux *
+ demux);
+static GstFlowReturn gst_dash_demux_update_manifest_data (GstAdaptiveDemux *
+ demux, GstBuffer * buf);
static gint64
gst_dash_demux_stream_get_fragment_waiting_time (GstAdaptiveDemuxStream *
stream);
@@ -309,18 +310,33 @@
gint64 * stop)
{
GstDashDemux *self = GST_DASH_DEMUX (demux);
- GDateTime *now = gst_dash_demux_get_server_now_utc (self);
- GDateTime *mstart =
- gst_date_time_to_g_date_time (self->client->mpd_node->
- availabilityStartTime);
+ GDateTime *now;
+ GDateTime *mstart;
GTimeSpan stream_now;
+ if (self->client->mpd_node->availabilityStartTime == NULL)
+ return FALSE;
+
+ now = gst_dash_demux_get_server_now_utc (self);
+ mstart =
+ gst_date_time_to_g_date_time (self->client->
+ mpd_node->availabilityStartTime);
stream_now = g_date_time_difference (now, mstart);
g_date_time_unref (now);
g_date_time_unref (mstart);
- *stop = stream_now * GST_USECOND;
- *start = *stop - (self->client->mpd_node->timeShiftBufferDepth * GST_MSECOND);
+ if (stream_now <= 0)
+ return FALSE;
+
+ *stop = stream_now * GST_USECOND;
+ if (self->client->mpd_node->timeShiftBufferDepth == GST_MPD_DURATION_NONE) {
+ *start = 0;
+ } else {
+ *start =
+ *stop - (self->client->mpd_node->timeShiftBufferDepth * GST_MSECOND);
+ if (*start < 0)
+ *start = 0;
+ }
return TRUE;
}
@@ -684,6 +700,11 @@
period_idx = 0;
if (gst_mpd_client_is_live (dashdemux->client)) {
GDateTime *g_now;
+ if (dashdemux->client->mpd_node->availabilityStartTime == NULL) {
+ ret = FALSE;
+ GST_ERROR_OBJECT (demux, "MPD does not have availabilityStartTime");
+ goto done;
+ }
if (dashdemux->clock_drift == NULL) {
gchar **urls;
urls =
@@ -827,7 +848,7 @@
}
/* Create and activate new pads */
- pad = gst_ghost_pad_new_no_target_from_template (name, tmpl);
+ pad = gst_pad_new_from_template (tmpl, name);
g_free (name);
gst_object_unref (tmpl);
@@ -1061,7 +1082,8 @@
static void
gst_dash_demux_stream_sidx_seek (GstDashDemuxStream * dashstream,
- GstClockTime ts)
+ gboolean forward, GstSeekFlags flags, GstClockTime ts,
+ GstClockTime * final_ts)
{
GstSidxBox *sidx = SIDX (dashstream);
GstSidxBoxEntry *entry;
@@ -1071,36 +1093,68 @@
if (sidx->entries[idx - 1].pts + sidx->entries[idx - 1].duration < ts) {
dashstream->sidx_current_remaining = 0;
} else {
+ GstSearchMode mode = GST_SEARCH_MODE_BEFORE;
+
+ if ((flags & GST_SEEK_FLAG_SNAP_NEAREST) == GST_SEEK_FLAG_SNAP_NEAREST) {
+ mode = GST_SEARCH_MODE_BEFORE;
+ } else if ((forward && (flags & GST_SEEK_FLAG_SNAP_AFTER)) ||
+ (!forward && (flags & GST_SEEK_FLAG_SNAP_BEFORE))) {
+ mode = GST_SEARCH_MODE_AFTER;
+ } else {
+ mode = GST_SEARCH_MODE_BEFORE;
+ }
+
entry =
gst_util_array_binary_search (sidx->entries, sidx->entries_count,
sizeof (GstSidxBoxEntry),
- (GCompareDataFunc) gst_dash_demux_index_entry_search,
- GST_SEARCH_MODE_BEFORE, &ts, NULL);
+ (GCompareDataFunc) gst_dash_demux_index_entry_search, mode, &ts, NULL);
idx = entry - sidx->entries;
+
+ /* FIXME in reverse mode, if we are exactly at a fragment start it makes more
+ * sense to start from the end of the previous fragment */
+ /* FIXME we should have a GST_SEARCH_MODE_NEAREST */
+ if ((flags & GST_SEEK_FLAG_SNAP_NEAREST) == GST_SEEK_FLAG_SNAP_NEAREST &&
+ idx + 1 < sidx->entries_count) {
+ if (ABS (sidx->entries[idx + 1].pts - ts) <
+ ABS (sidx->entries[idx].pts - ts))
+ idx += 1;
+ }
+
dashstream->sidx_current_remaining = sidx->entries[idx].size;
}
sidx->entry_index = idx;
dashstream->sidx_index = idx;
+
+ if (final_ts) {
+ if (idx == sidx->entries_count)
+ *final_ts = sidx->entries[idx].pts + sidx->entries[idx].duration;
+ else
+ *final_ts = sidx->entries[idx].pts;
+ }
}
static GstFlowReturn
-gst_dash_demux_stream_seek (GstAdaptiveDemuxStream * stream, GstClockTime ts)
+gst_dash_demux_stream_seek (GstAdaptiveDemuxStream * stream, gboolean forward,
+ GstSeekFlags flags, GstClockTime ts, GstClockTime * final_ts)
{
GstDashDemuxStream *dashstream = (GstDashDemuxStream *) stream;
GstDashDemux *dashdemux = GST_DASH_DEMUX_CAST (stream->demux);
if (gst_mpd_client_has_isoff_ondemand_profile (dashdemux->client)) {
if (dashstream->sidx_parser.status == GST_ISOFF_SIDX_PARSER_FINISHED) {
- gst_dash_demux_stream_sidx_seek (dashstream, ts);
+ gst_dash_demux_stream_sidx_seek (dashstream, forward, flags, ts,
+ final_ts);
} else {
/* no index yet, seek when we have it */
+ /* FIXME - the final_ts won't be correct here */
dashstream->pending_seek_ts = ts;
}
}
- gst_mpd_client_stream_seek (dashdemux->client, dashstream->active_stream, ts);
+ gst_mpd_client_stream_seek (dashdemux->client, dashstream->active_stream,
+ forward, flags, ts, final_ts);
return GST_FLOW_OK;
}
@@ -1254,6 +1308,10 @@
return ret;
}
+#define SEEK_UPDATES_PLAY_POSITION(r, start_type, stop_type) \
+ ((r >= 0 && start_type != GST_SEEK_TYPE_NONE) || \
+ (r < 0 && stop_type != GST_SEEK_TYPE_NONE))
+
static gboolean
gst_dash_demux_seek (GstAdaptiveDemux * demux, GstEvent * seek)
{
@@ -1273,11 +1331,16 @@
gst_event_parse_seek (seek, &rate, &format, &flags, &start_type, &start,
&stop_type, &stop);
- /* TODO check if start-type/stop-type is SET */
- if (demux->segment.rate > 0.0)
- target_pos = (GstClockTime) demux->segment.start;
- else
- target_pos = (GstClockTime) demux->segment.stop;
+ if (!SEEK_UPDATES_PLAY_POSITION (rate, start_type, stop_type)) {
+ /* nothing to do if we don't have to update the current position */
+ return TRUE;
+ }
+
+ if (demux->segment.rate > 0.0) {
+ target_pos = (GstClockTime) start;
+ } else {
+ target_pos = (GstClockTime) stop;
+ }
/* select the requested Period in the Media Presentation */
if (!gst_mpd_client_setup_media_presentation (dashdemux->client, target_pos,
@@ -1326,7 +1389,7 @@
gst_isoff_sidx_parser_clear (&dashstream->sidx_parser);
gst_isoff_sidx_parser_init (&dashstream->sidx_parser);
}
- gst_dash_demux_stream_seek (iter->data, target_pos);
+ gst_dash_demux_stream_seek (iter->data, rate >= 0, 0, target_pos, NULL);
}
return TRUE;
}
@@ -1379,17 +1442,23 @@
if (period_id) {
if (!gst_mpd_client_set_period_id (new_client, period_id)) {
GST_DEBUG_OBJECT (demux, "Error setting up the updated manifest file");
+ gst_mpd_client_free (new_client);
+ gst_buffer_unmap (buffer, &mapinfo);
return GST_FLOW_EOS;
}
} else {
if (!gst_mpd_client_set_period_index (new_client, period_idx)) {
GST_DEBUG_OBJECT (demux, "Error setting up the updated manifest file");
+ gst_mpd_client_free (new_client);
+ gst_buffer_unmap (buffer, &mapinfo);
return GST_FLOW_EOS;
}
}
if (!gst_dash_demux_setup_mpdparser_streams (dashdemux, new_client)) {
GST_ERROR_OBJECT (demux, "Failed to setup streams on manifest " "update");
+ gst_mpd_client_free (new_client);
+ gst_buffer_unmap (buffer, &mapinfo);
return GST_FLOW_ERROR;
}
@@ -1405,6 +1474,8 @@
GST_DEBUG_OBJECT (demux,
"Stream of index %d is missing from manifest update",
demux_stream->index);
+ gst_mpd_client_free (new_client);
+ gst_buffer_unmap (buffer, &mapinfo);
return GST_FLOW_EOS;
}
@@ -1424,7 +1495,8 @@
GST_TIME_FORMAT, GST_TIME_ARGS (ts),
GST_TIME_ARGS (ts + (10 * GST_USECOND)));
ts += 10 * GST_USECOND;
- gst_mpd_client_stream_seek (new_client, new_stream, ts);
+ gst_mpd_client_stream_seek (new_client, new_stream,
+ demux->segment.rate >= 0, 0, ts, NULL);
}
demux_stream->active_stream = new_stream;
@@ -1442,6 +1514,7 @@
* source element and we have received the 404 HTML response instead of
* the manifest */
GST_WARNING_OBJECT (demux, "Error parsing the manifest.");
+ gst_mpd_client_free (new_client);
gst_buffer_unmap (buffer, &mapinfo);
return GST_FLOW_ERROR;
}
@@ -1457,20 +1530,21 @@
{
GstDashDemux *dashdemux = GST_DASH_DEMUX_CAST (stream->demux);
GstDashDemuxStream *dashstream = (GstDashDemuxStream *) stream;
- GstDateTime *seg_end_time;
+ GstDateTime *segmentAvailability;
GstActiveStream *active_stream = dashstream->active_stream;
- seg_end_time =
- gst_mpd_client_get_next_segment_availability_end_time (dashdemux->client,
- active_stream);
+ segmentAvailability =
+ gst_mpd_client_get_next_segment_availability_start_time
+ (dashdemux->client, active_stream);
- if (seg_end_time) {
+ if (segmentAvailability) {
gint64 diff;
GstDateTime *cur_time;
cur_time = gst_date_time_new_now_utc ();
- diff = gst_mpd_client_calculate_time_difference (cur_time, seg_end_time);
- gst_date_time_unref (seg_end_time);
+ diff = gst_mpd_client_calculate_time_difference (cur_time,
+ segmentAvailability);
+ gst_date_time_unref (segmentAvailability);
gst_date_time_unref (cur_time);
/* subtract the server's clock drift, so that if the server's
time is behind our idea of UTC, we need to sleep for longer
@@ -1584,8 +1658,10 @@
/* when finished, prepare for real data streaming */
if (dash_stream->sidx_parser.status == GST_ISOFF_SIDX_PARSER_FINISHED) {
if (GST_CLOCK_TIME_IS_VALID (dash_stream->pending_seek_ts)) {
+ /* FIXME, preserve seek flags */
gst_dash_demux_stream_sidx_seek (dash_stream,
- dash_stream->pending_seek_ts);
+ demux->segment.rate >= 0, 0, dash_stream->pending_seek_ts,
+ NULL);
dash_stream->pending_seek_ts = GST_CLOCK_TIME_NONE;
} else {
SIDX (dash_stream)->entry_index = dash_stream->sidx_index;
@@ -1748,16 +1824,16 @@
return gst_date_time_new_from_g_date_time (dt2);
}
-struct Rfc822TimeZone
+struct Rfc5322TimeZone
{
const gchar *name;
gfloat tzoffset;
};
/*
- Parse an RFC822 (section 5) date-time from the Date: field in the
+ Parse an RFC5322 (section 3.3) date-time from the Date: field in the
HTTP response.
- See https://tools.ietf.org/html/rfc822#section-5
+ See https://tools.ietf.org/html/rfc5322#section-3.3
*/
static GstDateTime *
gst_dash_demux_parse_http_head (GstDashDemuxClockDrift * clock_drift,
@@ -1767,7 +1843,7 @@
"May", "Jun", "Jul", "Aug",
"Sep", "Oct", "Nov", "Dec", NULL
};
- static const struct Rfc822TimeZone timezones[] = {
+ static const struct Rfc5322TimeZone timezones[] = {
{"Z", 0},
{"UT", 0},
{"GMT", 0},
@@ -1824,9 +1900,6 @@
break;
}
}
- while (*z == ' ') {
- ++z;
- }
for (int i = 0; timezones[i].name && !parsed_tz; ++i) {
if (g_ascii_strncasecmp (timezones[i].name, z,
strlen (timezones[i].name)) == 0) {
@@ -1855,6 +1928,9 @@
}
}
}
+ /* Accept year in both 2 digit or 4 digit format */
+ if (year < 100)
+ year += 2000;
}
if (month > 0 && parsed_tz) {
value = gst_date_time_new (tzoffset,
diff --git a/ext/dash/gstmpdparser.c b/ext/dash/gstmpdparser.c
index 8510999..df96c57 100644
--- a/ext/dash/gstmpdparser.c
+++ b/ext/dash/gstmpdparser.c
@@ -4652,7 +4652,8 @@
gboolean
gst_mpd_client_stream_seek (GstMpdClient * client, GstActiveStream * stream,
- GstClockTime ts)
+ gboolean forward, GstSeekFlags flags, GstClockTime ts,
+ GstClockTime * final_ts)
{
gint index = 0;
gint repeat_index = 0;
@@ -4669,18 +4670,48 @@
stream->segments->len);
in_segment = FALSE;
if (segment->start <= ts) {
+ GstClockTime end_time;
+
if (segment->repeat >= 0) {
- in_segment =
- ts < segment->start + (segment->repeat + 1) * segment->duration;
+ end_time = segment->start + (segment->repeat + 1) * segment->duration;
} else {
- GstClockTime end =
+ end_time =
gst_mpdparser_get_segment_end_time (client, stream->segments,
segment, index);
- in_segment = ts < end;
}
+
+ /* avoid downloading another fragment just for 1ns in reverse mode */
+ if (forward)
+ in_segment = ts < end_time;
+ else
+ in_segment = ts <= end_time;
+
if (in_segment) {
selectedChunk = segment;
repeat_index = (ts - segment->start) / segment->duration;
+
+ /* At the end of a segment in reverse mode, start from the previous fragment */
+ if (!forward && repeat_index > 0
+ && ((ts - segment->start) % segment->duration == 0))
+ repeat_index--;
+
+ if ((flags & GST_SEEK_FLAG_SNAP_NEAREST) ==
+ GST_SEEK_FLAG_SNAP_NEAREST) {
+ /* FIXME implement this */
+ } else if ((forward && flags & GST_SEEK_FLAG_SNAP_AFTER) ||
+ (!forward && flags & GST_SEEK_FLAG_SNAP_BEFORE)) {
+
+ if (repeat_index + 1 < segment->repeat) {
+ repeat_index++;
+ } else {
+ repeat_index = 0;
+ if (index + 1 >= stream->segments->len) {
+ selectedChunk = NULL;
+ } else {
+ selectedChunk = g_ptr_array_index (stream->segments, index + 1);
+ }
+ }
+ }
break;
}
}
@@ -4692,6 +4723,9 @@
GST_DEBUG ("Seek to after last segment");
return FALSE;
}
+
+ if (final_ts)
+ *final_ts = selectedChunk->start + selectedChunk->duration * repeat_index;
} else {
GstClockTime duration =
gst_mpd_client_get_segment_duration (client, stream, NULL);
@@ -4710,12 +4744,22 @@
ts = 0;
index = ts / duration;
+
+ if ((flags & GST_SEEK_FLAG_SNAP_NEAREST) == GST_SEEK_FLAG_SNAP_NEAREST) {
+ /* FIXME implement this */
+ } else if ((forward && flags & GST_SEEK_FLAG_SNAP_AFTER) ||
+ (!forward && flags & GST_SEEK_FLAG_SNAP_BEFORE)) {
+ index++;
+ }
+
if (segments_count > 0 && index >= segments_count) {
stream->segment_index = segments_count;
stream->segment_repeat_index = 0;
GST_DEBUG ("Seek to after last segment");
return FALSE;
}
+ if (final_ts)
+ *final_ts = index * duration;
}
stream->segment_repeat_index = repeat_index;
@@ -5284,7 +5328,7 @@
if (stream->cur_segment_base && stream->cur_segment_base->indexRange) {
*uri =
g_strdup (gst_mpdparser_get_initializationURL (stream,
- stream->cur_segment_base->Initialization));
+ stream->cur_segment_base->RepresentationIndex));
*range_start = stream->cur_segment_base->indexRange->first_byte_pos;
*range_end = stream->cur_segment_base->indexRange->last_byte_pos;
} else if (stream->cur_seg_template && stream->cur_seg_template->index) {
@@ -5750,14 +5794,14 @@
GstDateTime *
-gst_mpd_client_get_next_segment_availability_end_time (GstMpdClient * client,
+gst_mpd_client_get_next_segment_availability_start_time (GstMpdClient * client,
GstActiveStream * stream)
{
GstDateTime *availability_start_time, *rv;
gint seg_idx;
- GstClockTime seg_duration;
- gint64 offset;
GstStreamPeriod *stream_period;
+ GstMediaSegment *segment;
+ GstClockTime segmentEndTime;
g_return_val_if_fail (client != NULL, NULL);
g_return_val_if_fail (stream != NULL, NULL);
@@ -5765,17 +5809,40 @@
stream_period = gst_mpdparser_get_stream_period (client);
seg_idx = stream->segment_index;
- seg_duration = gst_mpd_client_get_segment_duration (client, stream, NULL);
- if (seg_duration == 0)
- return NULL;
+
+ if (stream->segments) {
+ segment = g_ptr_array_index (stream->segments, seg_idx);
+
+ if (segment->repeat >= 0) {
+ segmentEndTime = segment->start + (stream->segment_repeat_index + 1) *
+ segment->duration;
+ } else if (seg_idx < stream->segments->len - 1) {
+ const GstMediaSegment *next_segment =
+ g_ptr_array_index (stream->segments, seg_idx + 1);
+ segmentEndTime = next_segment->start;
+ } else {
+ const GstStreamPeriod *stream_period;
+ stream_period = gst_mpdparser_get_stream_period (client);
+ segmentEndTime = stream_period->start + stream_period->duration;
+ }
+ } else {
+ GstClockTime seg_duration;
+ seg_duration = gst_mpd_client_get_segment_duration (client, stream, NULL);
+ if (seg_duration == 0)
+ return NULL;
+ segmentEndTime = (1 + seg_idx) * seg_duration;
+ }
+
availability_start_time = gst_mpd_client_get_availability_start_time (client);
- if (availability_start_time == NULL)
- return (GstDateTime *) NULL;
+ if (availability_start_time == NULL) {
+ GST_WARNING_OBJECT (client, "Failed to get availability_start_time");
+ return NULL;
+ }
if (stream_period && stream_period->period) {
GstDateTime *t =
gst_mpd_client_add_time_difference (availability_start_time,
- stream_period->start / 1000);
+ stream_period->start / GST_USECOND);
gst_date_time_unref (availability_start_time);
availability_start_time = t;
@@ -5785,24 +5852,31 @@
}
}
- offset = (1 + seg_idx) * seg_duration;
rv = gst_mpd_client_add_time_difference (availability_start_time,
- offset / GST_USECOND);
+ segmentEndTime / GST_USECOND);
gst_date_time_unref (availability_start_time);
+ if (rv == NULL) {
+ GST_WARNING_OBJECT (client, "Failed to offset availability_start_time");
+ return NULL;
+ }
+
return rv;
}
gboolean
gst_mpd_client_seek_to_time (GstMpdClient * client, GDateTime * time)
{
- GDateTime *start =
- gst_date_time_to_g_date_time (client->mpd_node->availabilityStartTime);
+ GDateTime *start;
GTimeSpan ts_microseconds;
GstClockTime ts;
gboolean ret = TRUE;
GList *stream;
- g_return_val_if_fail (gst_mpd_client_is_live (client), 0);
+ g_return_val_if_fail (gst_mpd_client_is_live (client), FALSE);
+ g_return_val_if_fail (client->mpd_node->availabilityStartTime != NULL, FALSE);
+
+ start =
+ gst_date_time_to_g_date_time (client->mpd_node->availabilityStartTime);
ts_microseconds = g_date_time_difference (time, start);
g_date_time_unref (start);
@@ -5813,7 +5887,9 @@
ts = ts_microseconds * GST_USECOND;
for (stream = client->active_streams; stream; stream = g_list_next (stream)) {
- ret = ret & gst_mpd_client_stream_seek (client, stream->data, ts);
+ ret =
+ ret & gst_mpd_client_stream_seek (client, stream->data, TRUE, 0, ts,
+ NULL);
}
return ret;
}
diff --git a/ext/dash/gstmpdparser.h b/ext/dash/gstmpdparser.h
index fcd3b69..1b303aa 100644
--- a/ext/dash/gstmpdparser.h
+++ b/ext/dash/gstmpdparser.h
@@ -544,7 +544,7 @@
gboolean gst_mpd_client_get_next_header (GstMpdClient *client, gchar **uri, guint stream_idx, gint64 * range_start, gint64 * range_end);
gboolean gst_mpd_client_get_next_header_index (GstMpdClient *client, gchar **uri, guint stream_idx, gint64 * range_start, gint64 * range_end);
gboolean gst_mpd_client_is_live (GstMpdClient * client);
-gboolean gst_mpd_client_stream_seek (GstMpdClient * client, GstActiveStream * stream, GstClockTime ts);
+gboolean gst_mpd_client_stream_seek (GstMpdClient * client, GstActiveStream * stream, gboolean forward, GstSeekFlags flags, GstClockTime ts, GstClockTime * final_ts);
gboolean gst_mpd_client_seek_to_time (GstMpdClient * client, GDateTime * time);
GstClockTime gst_mpd_parser_get_stream_presentation_offset (GstMpdClient *client, guint stream_idx);
gchar** gst_mpd_client_get_utc_timing_sources (GstMpdClient *client, guint methods, GstMPDUTCTimingType *selected_method);
@@ -579,7 +579,7 @@
gboolean gst_mpd_client_has_next_segment (GstMpdClient * client, GstActiveStream * stream, gboolean forward);
GstFlowReturn gst_mpd_client_advance_segment (GstMpdClient * client, GstActiveStream * stream, gboolean forward);
void gst_mpd_client_seek_to_first_segment (GstMpdClient * client);
-GstDateTime *gst_mpd_client_get_next_segment_availability_end_time (GstMpdClient * client, GstActiveStream * stream);
+GstDateTime *gst_mpd_client_get_next_segment_availability_start_time (GstMpdClient * client, GstActiveStream * stream);
/* Get audio/video stream parameters (caps, width, height, rate, number of channels) */
GstCaps * gst_mpd_client_get_stream_caps (GstActiveStream * stream);
diff --git a/ext/dc1394/Makefile.in b/ext/dc1394/Makefile.in
index b8e7948..7a2173b 100644
--- a/ext/dc1394/Makefile.in
+++ b/ext/dc1394/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -323,7 +322,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -345,7 +343,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -367,9 +364,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -531,6 +525,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -544,8 +539,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -632,8 +625,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -685,6 +676,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -705,6 +697,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -742,7 +736,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/directfb/Makefile.in b/ext/directfb/Makefile.in
index 82c33ee..7aa2e3b 100644
--- a/ext/directfb/Makefile.in
+++ b/ext/directfb/Makefile.in
@@ -118,16 +118,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -333,7 +332,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -355,7 +353,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -377,9 +374,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -541,6 +535,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -554,8 +549,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -642,8 +635,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -695,6 +686,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -715,6 +707,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -752,7 +746,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/dtls/Makefile.in b/ext/dtls/Makefile.in
index 6a5eb8b..24a0ef6 100644
--- a/ext/dtls/Makefile.in
+++ b/ext/dtls/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -330,7 +329,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -352,7 +350,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -374,9 +371,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -538,6 +532,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -551,8 +546,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -639,8 +632,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -692,6 +683,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -712,6 +704,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -749,7 +743,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/dts/Makefile.in b/ext/dts/Makefile.in
index d06ba46..68e789c 100644
--- a/ext/dts/Makefile.in
+++ b/ext/dts/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/faac/Makefile.in b/ext/faac/Makefile.in
index 55e737e..7e3d70b 100644
--- a/ext/faac/Makefile.in
+++ b/ext/faac/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -323,7 +322,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -345,7 +343,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -367,9 +364,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -531,6 +525,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -544,8 +539,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -632,8 +625,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -685,6 +676,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -705,6 +697,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -742,7 +736,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/faad/Makefile.am b/ext/faad/Makefile.am
index 2aef183..56ad30f 100644
--- a/ext/faad/Makefile.am
+++ b/ext/faad/Makefile.am
@@ -1,11 +1,11 @@
plugin_LTLIBRARIES = libgstfaad.la
libgstfaad_la_SOURCES = gstfaad.c
-libgstfaad_la_CFLAGS = -DGST_USE_UNSTABLE_API \
+libgstfaad_la_CFLAGS = \
$(GST_PLUGINS_BASE_CFLAGS) \
$(GST_BASE_CFLAGS) $(GST_CFLAGS) $(FAAD_CFLAGS)
libgstfaad_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-@GST_API_VERSION@ \
- $(GST_BASE_LIBS) $(GST_LIBS) $(FAAD_LIBS)
+ $(GST_BASE_LIBS) $(GST_LIBS) $(FAAD_LIBS) $(LIBM)
libgstfaad_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstfaad_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
diff --git a/ext/faad/Makefile.in b/ext/faad/Makefile.in
index 5a1e47f..b49d862 100644
--- a/ext/faad/Makefile.in
+++ b/ext/faad/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -166,7 +165,7 @@
am__DEPENDENCIES_1 =
libgstfaad_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1)
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
am_libgstfaad_la_OBJECTS = libgstfaad_la-gstfaad.lo
libgstfaad_la_OBJECTS = $(am_libgstfaad_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -785,12 +778,12 @@
wayland_scanner = @wayland_scanner@
plugin_LTLIBRARIES = libgstfaad.la
libgstfaad_la_SOURCES = gstfaad.c
-libgstfaad_la_CFLAGS = -DGST_USE_UNSTABLE_API \
+libgstfaad_la_CFLAGS = \
$(GST_PLUGINS_BASE_CFLAGS) \
$(GST_BASE_CFLAGS) $(GST_CFLAGS) $(FAAD_CFLAGS)
libgstfaad_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-@GST_API_VERSION@ \
- $(GST_BASE_LIBS) $(GST_LIBS) $(FAAD_LIBS)
+ $(GST_BASE_LIBS) $(GST_LIBS) $(FAAD_LIBS) $(LIBM)
libgstfaad_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstfaad_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
diff --git a/ext/faad/gstfaad.c b/ext/faad/gstfaad.c
index 8197ca5..b72b42d 100644
--- a/ext/faad/gstfaad.c
+++ b/ext/faad/gstfaad.c
@@ -42,49 +42,8 @@
#include <string.h>
#include <gst/audio/audio.h>
-/* These are the correct types for these functions, as defined in the source,
- * with types changed to match glib types, since those are defined for us.
- * However, upstream FAAD is distributed with a broken header file that defined
- * these wrongly (in a way which was broken on 64 bit systems).
- *
- * Upstream CVS still has the bug, but has also renamed all the public symbols
- * for Better Corporate Branding (or whatever), so we need to take that
- * (FAAD_IS_NEAAC) into account as well.
- *
- * We must call them using these definitions. Most distributions now have the
- * corrected header file (they distribute a patch along with the source),
- * but not all, hence this Truly Evil Hack.
- *
- * Note: The prototypes don't need to be defined conditionaly, as the cpp will
- * do that for us.
- */
-#if FAAD2_MINOR_VERSION < 7
-#ifdef FAAD_IS_NEAAC
-#define NeAACDecInit NeAACDecInit_no_definition
-#define NeAACDecInit2 NeAACDecInit2_no_definition
-#else
-#define faacDecInit faacDecInit_no_definition
-#define faacDecInit2 faacDecInit2_no_definition
-#endif
-#endif /* FAAD2_MINOR_VERSION < 7 */
-
#include "gstfaad.h"
-#if FAAD2_MINOR_VERSION < 7
-#ifdef FAAD_IS_NEAAC
-#undef NeAACDecInit
-#undef NeAACDecInit2
-#else
-#undef faacDecInit
-#undef faacDecInit2
-#endif
-
-extern long faacDecInit (faacDecHandle, guint8 *, guint32, guint32 *, guint8 *);
-extern gint8 faacDecInit2 (faacDecHandle, guint8 *, guint32,
- guint32 *, guint8 *);
-
-#endif /* FAAD2_MINOR_VERSION < 7 */
-
GST_DEBUG_CATEGORY_STATIC (faad_debug);
#define GST_CAT_DEFAULT faad_debug
@@ -277,11 +236,7 @@
faad->packetised = FALSE;
if ((value = gst_structure_get_value (str, "codec_data"))) {
-#if FAAD2_MINOR_VERSION >= 7
unsigned long samplerate;
-#else
- guint32 samplerate;
-#endif
guint8 channels;
/* We have codec data, means packetised stream */
@@ -691,11 +646,7 @@
init:
/* init if not already done during capsnego */
if (!faad->init) {
-#if FAAD2_MINOR_VERSION >= 7
unsigned long rate;
-#else
- guint32 rate;
-#endif
guint8 ch;
GST_DEBUG_OBJECT (faad, "initialising ...");
diff --git a/ext/faad/gstfaad.h b/ext/faad/gstfaad.h
index 1e34797..03bd6ab 100644
--- a/ext/faad/gstfaad.h
+++ b/ext/faad/gstfaad.h
@@ -23,11 +23,7 @@
#include <gst/gst.h>
#include <gst/audio/gstaudiodecoder.h>
-#ifdef FAAD_IS_NEAAC
#include <neaacdec.h>
-#else
-#include <faad.h>
-#endif
G_BEGIN_DECLS
diff --git a/ext/flite/Makefile.in b/ext/flite/Makefile.in
index 822b579..4145c8d 100644
--- a/ext/flite/Makefile.in
+++ b/ext/flite/Makefile.in
@@ -115,16 +115,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -322,7 +321,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -344,7 +342,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -366,9 +363,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -530,6 +524,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -543,8 +538,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -631,8 +624,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -684,6 +675,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -704,6 +696,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -741,7 +735,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/fluidsynth/Makefile.in b/ext/fluidsynth/Makefile.in
index c039273..f707070 100644
--- a/ext/fluidsynth/Makefile.in
+++ b/ext/fluidsynth/Makefile.in
@@ -117,16 +117,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -331,7 +330,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -353,7 +351,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -375,9 +372,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -539,6 +533,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -552,8 +547,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -640,8 +633,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -693,6 +684,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -713,6 +705,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -750,7 +744,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/gl/Makefile.am b/ext/gl/Makefile.am
index e1b1447..5d55f54 100644
--- a/ext/gl/Makefile.am
+++ b/ext/gl/Makefile.am
@@ -13,6 +13,7 @@
gstglimagesink.c \
gstglfiltercube.c \
gstgleffects.c \
+ effects/gstgleffectscurves.c \
effects/gstgleffectssources.c \
effects/gstgleffectidentity.c \
effects/gstgleffectmirror.c \
@@ -32,6 +33,7 @@
effects/gstgleffectsobel.c \
effects/gstgleffectlaplacian.c \
gstglcolorscale.c \
+ gstglcolorbalance.c \
gstglmixer.c \
gstglvideomixer.c \
gstglfiltershader.c \
@@ -54,6 +56,7 @@
gstgleffects.h \
effects/gstgleffectssources.h \
gstglcolorscale.h \
+ gstglcolorbalance.h \
gstglmixer.h \
gstglvideomixer.h \
gstglfiltershader.h \
@@ -92,7 +95,11 @@
if HAVE_GRAPHENE
libgstopengl_la_SOURCES += \
gstgltransformation.c \
- gstgltransformation.h
+ gstglvideoflip.c
+
+noinst_HEADERS += \
+ gstgltransformation.h \
+ gstglvideoflip.h
endif
if HAVE_JPEG
diff --git a/ext/gl/Makefile.in b/ext/gl/Makefile.in
index 64242a8..9c35e8f 100644
--- a/ext/gl/Makefile.in
+++ b/ext/gl/Makefile.in
@@ -116,18 +116,22 @@
@HAVE_GRAPHENE_TRUE@am__append_5 = \
@HAVE_GRAPHENE_TRUE@ gstgltransformation.c \
-@HAVE_GRAPHENE_TRUE@ gstgltransformation.h
+@HAVE_GRAPHENE_TRUE@ gstglvideoflip.c
-@HAVE_JPEG_TRUE@@HAVE_PNG_TRUE@am__append_6 = \
-@HAVE_JPEG_TRUE@@HAVE_PNG_TRUE@ gstgloverlay.c
+@HAVE_GRAPHENE_TRUE@am__append_6 = \
+@HAVE_GRAPHENE_TRUE@ gstgltransformation.h \
+@HAVE_GRAPHENE_TRUE@ gstglvideoflip.h
@HAVE_JPEG_TRUE@@HAVE_PNG_TRUE@am__append_7 = \
+@HAVE_JPEG_TRUE@@HAVE_PNG_TRUE@ gstgloverlay.c
+
+@HAVE_JPEG_TRUE@@HAVE_PNG_TRUE@am__append_8 = \
@HAVE_JPEG_TRUE@@HAVE_PNG_TRUE@ gstgloverlay.h
-@HAVE_WINDOW_COCOA_TRUE@am__append_8 = \
+@HAVE_WINDOW_COCOA_TRUE@am__append_9 = \
@HAVE_WINDOW_COCOA_TRUE@ caopengllayersink.m
-@HAVE_WINDOW_COCOA_TRUE@am__append_9 = \
+@HAVE_WINDOW_COCOA_TRUE@am__append_10 = \
@HAVE_WINDOW_COCOA_TRUE@ caopengllayersink.h
subdir = ext/gl
@@ -156,16 +160,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__noinst_HEADERS_DIST) \
@@ -215,22 +218,23 @@
gstgluploadelement.c gstgldownloadelement.c \
gstglcolorconvertelement.c gstglfilterbin.c gstglmixerbin.c \
gstglsinkbin.c gstglsrcbin.c gstglimagesink.c \
- gstglfiltercube.c gstgleffects.c effects/gstgleffectssources.c \
- effects/gstgleffectidentity.c effects/gstgleffectmirror.c \
- effects/gstgleffectsqueeze.c effects/gstgleffectstretch.c \
- effects/gstgleffectfisheye.c effects/gstgleffecttwirl.c \
- effects/gstgleffectbulge.c effects/gstgleffecttunnel.c \
- effects/gstgleffectsquare.c effects/gstgleffectlumatocurve.c \
+ gstglfiltercube.c gstgleffects.c effects/gstgleffectscurves.c \
+ effects/gstgleffectssources.c effects/gstgleffectidentity.c \
+ effects/gstgleffectmirror.c effects/gstgleffectsqueeze.c \
+ effects/gstgleffectstretch.c effects/gstgleffectfisheye.c \
+ effects/gstgleffecttwirl.c effects/gstgleffectbulge.c \
+ effects/gstgleffecttunnel.c effects/gstgleffectsquare.c \
+ effects/gstgleffectlumatocurve.c \
effects/gstgleffectrgbtocurve.c effects/gstgleffectsin.c \
effects/gstgleffectxray.c effects/gstgleffectglow.c \
effects/gstgleffectblur.c effects/gstgleffectsobel.c \
- effects/gstgleffectlaplacian.c gstglcolorscale.c gstglmixer.c \
- gstglvideomixer.c gstglfiltershader.c gstglfilterapp.c \
- gstglviewconvert.c gstglstereosplit.c gstglstereomix.c \
- gstglfilterglass.c gstgldeinterlace.c gltestsrc.c \
- gstgltestsrc.c gstglmosaic.c gstgldifferencematte.c \
- gstgltransformation.c gstgltransformation.h gstgloverlay.c \
- caopengllayersink.m
+ effects/gstgleffectlaplacian.c gstglcolorscale.c \
+ gstglcolorbalance.c gstglmixer.c gstglvideomixer.c \
+ gstglfiltershader.c gstglfilterapp.c gstglviewconvert.c \
+ gstglstereosplit.c gstglstereomix.c gstglfilterglass.c \
+ gstgldeinterlace.c gltestsrc.c gstgltestsrc.c gstglmosaic.c \
+ gstgldifferencematte.c gstgltransformation.c gstglvideoflip.c \
+ gstgloverlay.c caopengllayersink.m
am__dirstamp = $(am__leading_dot)dirstamp
@USE_OPENGL_TRUE@am__objects_1 = libgstopengl_la-gstglfilterglass.lo \
@USE_OPENGL_TRUE@ libgstopengl_la-gstgldeinterlace.lo \
@@ -239,7 +243,8 @@
@USE_OPENGL_TRUE@ libgstopengl_la-gstglmosaic.lo
@HAVE_PNG_TRUE@@USE_OPENGL_TRUE@am__objects_2 = libgstopengl_la-gstgldifferencematte.lo
@HAVE_GRAPHENE_TRUE@am__objects_3 = \
-@HAVE_GRAPHENE_TRUE@ libgstopengl_la-gstgltransformation.lo
+@HAVE_GRAPHENE_TRUE@ libgstopengl_la-gstgltransformation.lo \
+@HAVE_GRAPHENE_TRUE@ libgstopengl_la-gstglvideoflip.lo
@HAVE_JPEG_TRUE@@HAVE_PNG_TRUE@am__objects_4 = libgstopengl_la-gstgloverlay.lo
@HAVE_WINDOW_COCOA_TRUE@am__objects_5 = \
@HAVE_WINDOW_COCOA_TRUE@ libgstopengl_la-caopengllayersink.lo
@@ -254,6 +259,7 @@
libgstopengl_la-gstglimagesink.lo \
libgstopengl_la-gstglfiltercube.lo \
libgstopengl_la-gstgleffects.lo \
+ effects/libgstopengl_la-gstgleffectscurves.lo \
effects/libgstopengl_la-gstgleffectssources.lo \
effects/libgstopengl_la-gstgleffectidentity.lo \
effects/libgstopengl_la-gstgleffectmirror.lo \
@@ -273,6 +279,7 @@
effects/libgstopengl_la-gstgleffectsobel.lo \
effects/libgstopengl_la-gstgleffectlaplacian.lo \
libgstopengl_la-gstglcolorscale.lo \
+ libgstopengl_la-gstglcolorbalance.lo \
libgstopengl_la-gstglmixer.lo \
libgstopengl_la-gstglvideomixer.lo \
libgstopengl_la-gstglfiltershader.lo \
@@ -354,12 +361,13 @@
gstgldownloadelement.h gstglcolorconvertelement.h \
gstglfilterbin.h gstglmixerbin.h gstglsinkbin.h gstglsrcbin.h \
gstglimagesink.h gstglfiltercube.h gstgleffects.h \
- effects/gstgleffectssources.h gstglcolorscale.h gstglmixer.h \
- gstglvideomixer.h gstglfiltershader.h gstglfilterapp.h \
- gstglstereosplit.h gstglstereomix.h gstglviewconvert.h \
- gstglfilterglass.h gstgldeinterlace.h gltestsrc.h \
- gstgltestsrc.h gstglmosaic.h effects/gstgleffectscurves.h \
- effects/gstgleffectlumatocurve.h gstgldifferencematte.h \
+ effects/gstgleffectssources.h gstglcolorscale.h \
+ gstglcolorbalance.h gstglmixer.h gstglvideomixer.h \
+ gstglfiltershader.h gstglfilterapp.h gstglstereosplit.h \
+ gstglstereomix.h gstglviewconvert.h gstglfilterglass.h \
+ gstgldeinterlace.h gltestsrc.h gstgltestsrc.h gstglmosaic.h \
+ effects/gstgleffectscurves.h effects/gstgleffectlumatocurve.h \
+ gstgldifferencematte.h gstgltransformation.h gstglvideoflip.h \
gstgloverlay.h caopengllayersink.h
HEADERS = $(noinst_HEADERS)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
@@ -467,7 +475,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -489,7 +496,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -511,9 +517,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -675,6 +678,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -688,8 +692,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -776,8 +778,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -829,6 +829,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -849,6 +850,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -886,7 +889,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -931,29 +933,32 @@
gstgluploadelement.c gstgldownloadelement.c \
gstglcolorconvertelement.c gstglfilterbin.c gstglmixerbin.c \
gstglsinkbin.c gstglsrcbin.c gstglimagesink.c \
- gstglfiltercube.c gstgleffects.c effects/gstgleffectssources.c \
- effects/gstgleffectidentity.c effects/gstgleffectmirror.c \
- effects/gstgleffectsqueeze.c effects/gstgleffectstretch.c \
- effects/gstgleffectfisheye.c effects/gstgleffecttwirl.c \
- effects/gstgleffectbulge.c effects/gstgleffecttunnel.c \
- effects/gstgleffectsquare.c effects/gstgleffectlumatocurve.c \
+ gstglfiltercube.c gstgleffects.c effects/gstgleffectscurves.c \
+ effects/gstgleffectssources.c effects/gstgleffectidentity.c \
+ effects/gstgleffectmirror.c effects/gstgleffectsqueeze.c \
+ effects/gstgleffectstretch.c effects/gstgleffectfisheye.c \
+ effects/gstgleffecttwirl.c effects/gstgleffectbulge.c \
+ effects/gstgleffecttunnel.c effects/gstgleffectsquare.c \
+ effects/gstgleffectlumatocurve.c \
effects/gstgleffectrgbtocurve.c effects/gstgleffectsin.c \
effects/gstgleffectxray.c effects/gstgleffectglow.c \
effects/gstgleffectblur.c effects/gstgleffectsobel.c \
- effects/gstgleffectlaplacian.c gstglcolorscale.c gstglmixer.c \
- gstglvideomixer.c gstglfiltershader.c gstglfilterapp.c \
- gstglviewconvert.c gstglstereosplit.c gstglstereomix.c \
- $(am__append_1) $(am__append_3) $(am__append_5) \
- $(am__append_6) $(am__append_8)
+ effects/gstgleffectlaplacian.c gstglcolorscale.c \
+ gstglcolorbalance.c gstglmixer.c gstglvideomixer.c \
+ gstglfiltershader.c gstglfilterapp.c gstglviewconvert.c \
+ gstglstereosplit.c gstglstereomix.c $(am__append_1) \
+ $(am__append_3) $(am__append_5) $(am__append_7) \
+ $(am__append_9)
noinst_HEADERS = gstglbasemixer.h gstgluploadelement.h \
gstgldownloadelement.h gstglcolorconvertelement.h \
gstglfilterbin.h gstglmixerbin.h gstglsinkbin.h gstglsrcbin.h \
gstglimagesink.h gstglfiltercube.h gstgleffects.h \
- effects/gstgleffectssources.h gstglcolorscale.h gstglmixer.h \
- gstglvideomixer.h gstglfiltershader.h gstglfilterapp.h \
- gstglstereosplit.h gstglstereomix.h gstglviewconvert.h \
- $(am__append_2) $(am__append_4) $(am__append_7) \
- $(am__append_9)
+ effects/gstgleffectssources.h gstglcolorscale.h \
+ gstglcolorbalance.h gstglmixer.h gstglvideomixer.h \
+ gstglfiltershader.h gstglfilterapp.h gstglstereosplit.h \
+ gstglstereomix.h gstglviewconvert.h $(am__append_2) \
+ $(am__append_4) $(am__append_6) $(am__append_8) \
+ $(am__append_10)
libgstopengl_la_OBJCFLAGS = \
-I$(top_srcdir)/gst-libs \
-I$(top_builddir)/gst-libs \
@@ -1064,6 +1069,8 @@
effects/$(DEPDIR)/$(am__dirstamp):
@$(MKDIR_P) effects/$(DEPDIR)
@: > effects/$(DEPDIR)/$(am__dirstamp)
+effects/libgstopengl_la-gstgleffectscurves.lo: \
+ effects/$(am__dirstamp) effects/$(DEPDIR)/$(am__dirstamp)
effects/libgstopengl_la-gstgleffectssources.lo: \
effects/$(am__dirstamp) effects/$(DEPDIR)/$(am__dirstamp)
effects/libgstopengl_la-gstgleffectidentity.lo: \
@@ -1115,6 +1122,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstopengl_la-caopengllayersink.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstopengl_la-gltestsrc.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstopengl_la-gstglbasemixer.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstopengl_la-gstglcolorbalance.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstopengl_la-gstglcolorconvertelement.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstopengl_la-gstglcolorscale.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstopengl_la-gstgldeinterlace.Plo@am__quote@
@@ -1138,6 +1146,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstopengl_la-gstgltestsrc.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstopengl_la-gstgltransformation.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstopengl_la-gstgluploadelement.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstopengl_la-gstglvideoflip.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstopengl_la-gstglvideomixer.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstopengl_la-gstglviewconvert.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstopengl_la-gstopengl.Plo@am__quote@
@@ -1150,6 +1159,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@effects/$(DEPDIR)/libgstopengl_la-gstgleffectlumatocurve.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@effects/$(DEPDIR)/libgstopengl_la-gstgleffectmirror.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@effects/$(DEPDIR)/libgstopengl_la-gstgleffectrgbtocurve.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@effects/$(DEPDIR)/libgstopengl_la-gstgleffectscurves.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@effects/$(DEPDIR)/libgstopengl_la-gstgleffectsin.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@effects/$(DEPDIR)/libgstopengl_la-gstgleffectsobel.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@effects/$(DEPDIR)/libgstopengl_la-gstgleffectsquare.Plo@am__quote@
@@ -1268,6 +1278,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 $(libgstopengl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopengl_la_CFLAGS) $(CFLAGS) -c -o libgstopengl_la-gstgleffects.lo `test -f 'gstgleffects.c' || echo '$(srcdir)/'`gstgleffects.c
+effects/libgstopengl_la-gstgleffectscurves.lo: effects/gstgleffectscurves.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstopengl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopengl_la_CFLAGS) $(CFLAGS) -MT effects/libgstopengl_la-gstgleffectscurves.lo -MD -MP -MF effects/$(DEPDIR)/libgstopengl_la-gstgleffectscurves.Tpo -c -o effects/libgstopengl_la-gstgleffectscurves.lo `test -f 'effects/gstgleffectscurves.c' || echo '$(srcdir)/'`effects/gstgleffectscurves.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) effects/$(DEPDIR)/libgstopengl_la-gstgleffectscurves.Tpo effects/$(DEPDIR)/libgstopengl_la-gstgleffectscurves.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='effects/gstgleffectscurves.c' object='effects/libgstopengl_la-gstgleffectscurves.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 $(libgstopengl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopengl_la_CFLAGS) $(CFLAGS) -c -o effects/libgstopengl_la-gstgleffectscurves.lo `test -f 'effects/gstgleffectscurves.c' || echo '$(srcdir)/'`effects/gstgleffectscurves.c
+
effects/libgstopengl_la-gstgleffectssources.lo: effects/gstgleffectssources.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstopengl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopengl_la_CFLAGS) $(CFLAGS) -MT effects/libgstopengl_la-gstgleffectssources.lo -MD -MP -MF effects/$(DEPDIR)/libgstopengl_la-gstgleffectssources.Tpo -c -o effects/libgstopengl_la-gstgleffectssources.lo `test -f 'effects/gstgleffectssources.c' || echo '$(srcdir)/'`effects/gstgleffectssources.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) effects/$(DEPDIR)/libgstopengl_la-gstgleffectssources.Tpo effects/$(DEPDIR)/libgstopengl_la-gstgleffectssources.Plo
@@ -1401,6 +1418,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 $(libgstopengl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopengl_la_CFLAGS) $(CFLAGS) -c -o libgstopengl_la-gstglcolorscale.lo `test -f 'gstglcolorscale.c' || echo '$(srcdir)/'`gstglcolorscale.c
+libgstopengl_la-gstglcolorbalance.lo: gstglcolorbalance.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstopengl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopengl_la_CFLAGS) $(CFLAGS) -MT libgstopengl_la-gstglcolorbalance.lo -MD -MP -MF $(DEPDIR)/libgstopengl_la-gstglcolorbalance.Tpo -c -o libgstopengl_la-gstglcolorbalance.lo `test -f 'gstglcolorbalance.c' || echo '$(srcdir)/'`gstglcolorbalance.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstopengl_la-gstglcolorbalance.Tpo $(DEPDIR)/libgstopengl_la-gstglcolorbalance.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstglcolorbalance.c' object='libgstopengl_la-gstglcolorbalance.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 $(libgstopengl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopengl_la_CFLAGS) $(CFLAGS) -c -o libgstopengl_la-gstglcolorbalance.lo `test -f 'gstglcolorbalance.c' || echo '$(srcdir)/'`gstglcolorbalance.c
+
libgstopengl_la-gstglmixer.lo: gstglmixer.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstopengl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopengl_la_CFLAGS) $(CFLAGS) -MT libgstopengl_la-gstglmixer.lo -MD -MP -MF $(DEPDIR)/libgstopengl_la-gstglmixer.Tpo -c -o libgstopengl_la-gstglmixer.lo `test -f 'gstglmixer.c' || echo '$(srcdir)/'`gstglmixer.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstopengl_la-gstglmixer.Tpo $(DEPDIR)/libgstopengl_la-gstglmixer.Plo
@@ -1499,6 +1523,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 $(libgstopengl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopengl_la_CFLAGS) $(CFLAGS) -c -o libgstopengl_la-gstgltransformation.lo `test -f 'gstgltransformation.c' || echo '$(srcdir)/'`gstgltransformation.c
+libgstopengl_la-gstglvideoflip.lo: gstglvideoflip.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstopengl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopengl_la_CFLAGS) $(CFLAGS) -MT libgstopengl_la-gstglvideoflip.lo -MD -MP -MF $(DEPDIR)/libgstopengl_la-gstglvideoflip.Tpo -c -o libgstopengl_la-gstglvideoflip.lo `test -f 'gstglvideoflip.c' || echo '$(srcdir)/'`gstglvideoflip.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstopengl_la-gstglvideoflip.Tpo $(DEPDIR)/libgstopengl_la-gstglvideoflip.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstglvideoflip.c' object='libgstopengl_la-gstglvideoflip.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 $(libgstopengl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopengl_la_CFLAGS) $(CFLAGS) -c -o libgstopengl_la-gstglvideoflip.lo `test -f 'gstglvideoflip.c' || echo '$(srcdir)/'`gstglvideoflip.c
+
libgstopengl_la-gstgloverlay.lo: gstgloverlay.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstopengl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstopengl_la_CFLAGS) $(CFLAGS) -MT libgstopengl_la-gstgloverlay.lo -MD -MP -MF $(DEPDIR)/libgstopengl_la-gstgloverlay.Tpo -c -o libgstopengl_la-gstgloverlay.lo `test -f 'gstgloverlay.c' || echo '$(srcdir)/'`gstgloverlay.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstopengl_la-gstgloverlay.Tpo $(DEPDIR)/libgstopengl_la-gstgloverlay.Plo
diff --git a/ext/gl/effects/gstgleffectidentity.c b/ext/gl/effects/gstgleffectidentity.c
index ce29f60..5687d64 100644
--- a/ext/gl/effects/gstgleffectidentity.c
+++ b/ext/gl/effects/gstgleffectidentity.c
@@ -54,6 +54,8 @@
gst_gl_shader_get_attribute_location (shader, "a_position");
filter->draw_attr_texture_loc =
gst_gl_shader_get_attribute_location (shader, "a_texcoord");
+
+ g_hash_table_insert (effects->shaderstable, (gchar *) "identity0", shader);
}
gst_gl_shader_use (shader);
diff --git a/ext/gl/effects/gstgleffectscurves.c b/ext/gl/effects/gstgleffectscurves.c
new file mode 100644
index 0000000..d16361b
--- /dev/null
+++ b/ext/gl/effects/gstgleffectscurves.c
@@ -0,0 +1,210 @@
+/*
+ * GStreamer
+ * Copyright (C) 2008 Filippo Argiolas <filippo.argiolas@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "gstgleffectscurves.h"
+
+/* CURVE for the heat signature effect */
+const GstGLEffectsCurve xpro_curve = {
+ 256, 1, 3,
+ "\0\0\37\0\0\37\0\1\40\0\2!\0\2\"\0\3\"\1\4%\1\4%\1\5%\1\5'\1\7'\1\7(\1\7"
+ "(\1\10*\1\11+\1\11,\1\12,\1\13/\1\14/\1\14" "1\2\15" "1\2\15" "1\2\16"
+ "4\2\17" "" "4\3\17" "5\3\22" "7\3\22" "7\3\23" "8\3\24"
+ "9\3\25;\3\26;\3\27<\3\27=\4\31"
+ "=\4\33?\4\34@\5\34B\5\35C\5\36D\5\40D\5\40G\5!G\6\"H\6$H\7&J\7&K\7*M\7*M"
+ "\10+N\10-P\11-P\11/R\11" "3R\11" "3T\12" "4U\12" "5U\13" "7W\14" "8Y\14"
+ "9Y\14"
+ "<Y\16=[\16@^\16@^\17C^\17D`\20F`\20Jb\22Jb\22Kc\23Me\24Nf\25Qg\26Rg\27Ti"
+ "\27Wj\30Xl\31Yl\33\\m\34^p\35`p\40bp\40fq!fr$gt$lt%lu'mv(px*qy-ty/uz/x|0"
+ "y}3|}4}~5\177\2018\203\2019\203\201;\204\202=\207\203?\210\204@\214\204C"
+ "\214\206D\216\207G\217\210H\223\211K\223\211M\225\212P\226\214Q\231\215T"
+ "\232\215U\234\216X\235\217Y\240\220\\\241\220^\243\221`\244\223b\246\224"
+ "e\250\224f\252\225i\253\226l\255\227m\256\231p\261\231q\262\232t\264\233"
+ "v\265\234x\267\234z\270\235|\271\236~\274\240\201\275\240\202\277\241\204"
+ "\300\242\207\302\243\210\303\243\212\305\244\214\306\245\216\307\246\220"
+ "\311\250\221\313\250\224\315\251\226\316\252\227\317\253\232\321\253\234"
+ "\322\254\235\323\255\240\325\256\242\326\256\242\330\256\245\331\261\250"
+ "\331\262\251\332\262\253\334\263\255\335\264\256\336\265\261\340\266\263"
+ "\341\266\264\342\267\266\343\270\270\344\271\271\344\271\271\346\273\276"
+ "\347\274\277\350\275\277\351\275\302\352\276\304\353\277\306\353\300\307"
+ "\355\300\311\356\301\314\356\302\315\357\303\317\360\304\320\360\304\322"
+ "\361\305\323\362\306\325\362\307\327\363\307\330\363\310\330\364\311\333"
+ "\364\313\334\365\313\336\365\314\340\365\314\342\366\316\342\366\316\346"
+ "\367\317\347\367\320\351\367\320\353\370\322\354\370\322\356\370\323\356"
+ "\370\324\360\371\325\360\371\325\363\371\326\363\371\327\363\372\330\365"
+ "\372\330\366\372\331\366\372\331\370\372\332\371\373\332\371\373\333\372"
+ "\373\334\373\373\335\373\373\336\374\373\336\374\374\337\374\374\340\375"
+ "\374\341\375\374\341\376\374\342\376\374\343\376\374\344\376\374\344\377"
+ "\374\345\377\374\346\377\375\346\377\375\346\377\375\347\377\375\350\377"
+ "\375\351\377\375\352\377\375\352\377\375\352\377\375\353\377\375\353\377"
+ "\376\354\377\376\354\377\376\356\377\376\356\377\376\356\377\376\357\377"
+ "\376\360\377\376\360\377\376\360\377\376\360\377\376\362\377\376\362\377"
+ "\376\363\377\376\363\377\376\363\377\376\363\377\376\364\377\376\364\377"
+ "\376\365\377\377\365\377\377\366\377\377\366\377\377\366\377\377\367\377"
+ "\377\367\377\377\367\377\377\370",
+};
+
+const GstGLEffectsCurve luma_xpro_curve = {
+ 256, 1, 3,
+ "\0\0\1\0\1\1\0\1\2\0\1\2\0\1\2\0\1\2\0\1\3\0\2\3\0\2\4\0\2\4\0\2\5\0\2\6"
+ "\0\3\6\0\3\6\0\3\7\0\3\10\0\4\10\0\4\11\0\4\12\0\4\12\1\4\13\1\5\14\1\5\15"
+ "\1\5\15\1\5\16\1\5\17\1\6\17\1\6\20\1\7\21\1\7\23\2\10\23\2\10\24\2\10\24"
+ "\2\11\26\2\11\27\2\11\30\3\11\31\3\12\31\3\13\32\3\13\33\4\13\34\4\14\35"
+ "\4\14\36\4\15\37\5\15\40\5\15\"\6\16#\6\17#\6\20$\7\20%\7\20%\10\21&\10\22"
+ "'\10\22)\11\24*\11\24*\12\24+\12\26.\13\26.\14\27.\14\30/\15\31"
+ "1\15\31" "" "2\16\32" "3\16\33" "3\20\33" "5\20\35" "6\20\36" "7\22\37"
+ "7\23\"9\23#9\24$" ":\25$<\27&<\27'=\31'?\31)?\32*@\35+B\35-C\36.C\37"
+ "1E\"2F#3H$5H&6I'7I)7K"
+ "+:M-<N-<N1@N1BQ2BQ6CQ6EU7HU<IU=IV@NX@NXBQZCS[FU[HU]IV_MZ_N[_Q]`S_bU`dXbe"
+ "Zbe]gg]ig`ji`jjdljenlgpljqnpwppwpqxqszqw|sx}u|\201u}\203w\177\204x\177\206"
+ "x\204\210x\204\212z\212\213|\212\217}\217\221}\221\222}\222\224\177\226\224"
+ "\201\226\226\203\230\233\203\235\235\204\236\235\204\236\236\210\244\242"
+ "\210\244\242\210\245\244\212\251\245\213\252\251\213\254\252\215\257\254"
+ "\215\261\256\217\261\257\221\266\261\221\267\261\222\273\264\224\273\267"
+ "\224\274\267\224\276\273\230\301\273\230\302\274\231\304\276\231\307\302"
+ "\233\312\302\235\312\304\235\314\306\236\316\307\240\320\311\240\321\314"
+ "\242\324\315\242\325\316\244\327\320\245\332\321\245\333\321\245\334\323"
+ "\251\335\325\251\335\330\252\341\332\254\341\332\256\344\334\256\346\334"
+ "\256\347\337\257\347\340\261\350\340\263\351\342\263\352\344\264\354\345"
+ "\266\355\346\266\356\347\267\357\350\271\360\351\273\361\352\273\362\352"
+ "\274\362\355\276\364\356\277\364\357\277\365\360\277\365\360\302\366\361"
+ "\302\367\361\304\370\363\304\370\363\307\370\364\307\371\364\311\371\366"
+ "\312\372\367\312\372\367\314\372\367\316\373\370\316\373\370\320\373\371"
+ "\320\374\371\321\374\372\323\374\372\324\375\372\325\375\372\325\375\373"
+ "\327\375\373\330\375\374\332\375\374\333\375\375\334\376\375\334\376\375"
+ "\335\376\375\337\376\375\337\376\375\340\376\376\342\376\376\344\376\376"
+ "\344\376\376\345\376\376\346\376\376\347\376\376\350\377\376\351\377\377"
+ "\353\377\377\354\377\377\356\377\377\357\377\377\361\377\377\361\377\377"
+ "\361\377\377\364\377\377\365\377\377\366\377\377\367\377\377\367\377\377"
+ "\371\377\377\371\377\377\372\377\377\373\377\377\373\377\377\374\377\377"
+ "\375\377\377\375\377\377\375\377\377\376",
+};
+
+/* CURVE for the heat signature effect */
+const GstGLEffectsCurve heat_curve = {
+ 256, 1, 3,
+ "\0\0\0\0\0\0\0\1\0\0\1\0\0\1\1\0\2\1\0\2\1\1\2\1\1\2\2\1\2\2\1\3\2\1\3\3"
+ "\1\3\3\1\4\3\1\4\4\1\5\4\1\5\5\2\5\6\2\6\6\2\6\7\2\6\7\2\7\7\2\7\11\2\10"
+ "\11\2\10\12\3\11\13\3\11\13\3\11\14\3\12\15\3\12\17\3\13\17\3\14\20\3\14"
+ "\22\4\15\23\4\16\24\4\16\26\4\16\27\4\17\31\4\20\34\4\21\34\5\21\40\5\22"
+ "\40\5\22$\5\23$\5\25&\6\25(\6\26-\6\26-\6\27" "0\6\31" "2\7\31"
+ "5\7\32;\7\34"
+ ";\7\34?\10\35C\10\36G\10\37L\10\40V\11!V\11\"[\11$a\11&l\12&l\12'r\12(~\13"
+ "*~\13,\204\14,\213\14.\221\14/\227\14" "1\236\15" "2\244\15" "4\252\15"
+ "5\260" "\16" "7\267\16"
+ "8\275\17:\302\17;\310\17=\323\20?\323\21@\330\21D\335\21D"
+ "\342\22E\346\22I\353\23I\356\23K\362\24M\365\24N\370\25P\372\26R\374\26T"
+ "\376\26V\377\27X\377\27Z\377\30\\\376\31`\376\31`\375\32b\373\32d\371\33"
+ "f\366\34j\363\34j\360\35l\354\36n\350\36r\344\37r\337\40t\333\40w\326!y\321"
+ "\"|\314#~\307$\201\301$\204\267%\207\267&\212\261'\214\254(\217\247(\222"
+ "\241)\226\234*\231\227+\234\222,\237\216-\242\211.\245\205/\251\2010\254"
+ "}1\257z2\262w3\266t4\271p5\274m6\277j7\302f8\305c9\310`:\314\\;\317Y<\321"
+ "V>\324S?\327P@\332LA\335IB\337FC\342CE\344@F\347=G\351;I\3538I\3558M\357"
+ "3P\3610S\363.V\365+Y\366)\\\370'`\371%d\372#g\373\"l\374\40p\374\37t\374"
+ "\35t\375\34}\376\33\202\376\32\202\375\31\213\375\30\220\375\27\225\375\27"
+ "\232\373\26\237\372\25\244\371\24\251\370\23\256\367\23\262\367\22\267\364"
+ "\21\274\362\20\300\361\20\305\357\17\311\355\16\311\353\16\322\351\15\326"
+ "\346\15\332\346\14\336\344\14\341\337\13\341\335\13\350\332\12\353\330\11"
+ "\356\330\11\360\322\10\362\320\10\364\320\10\364\312\7\366\307\7\366\304"
+ "\7\367\302\6\367\277\6\370\274\5\367\271\5\367\271\5\367\263\4\365\260\4"
+ "\364\255\4\363\253\3\362\250\3\361\245\3\360\242\3\357\240\3\357\235\2\355"
+ "\232\2\355\227\2\354\225\2\353\221\1\353\216\1\353\216\1\353\213\1\353\204"
+ "\1\353\201\1\354}\1\354y\0\354v\0\355r\0\355n\0\355j\0\356f\0\356b\0\357"
+ "_\0\357[\0\357W\0\357S\0\360O\0\360O\0\361K\0\361C\0\362@\0\363<\0\3638\0"
+ "\3648\0\3641\0\365.\0\366+\0\366'\0\367'\0\370!\0\370\36\0\370\33\0\371\30"
+ "\0\371\26\0\373\26\0\373\23\0\374\15\0\374\13\0\375\10\0\375\5\0\376\3\0",
+};
+
+const GstGLEffectsCurve sepia_curve = {
+ 256, 1, 3,
+ "\0\0\0\0\0\0\0\0\0\0\1\0\1\1\0\1\1\0\1\1\1\2\1\1\2\2\1\3\2\1\3\2\1\3\2\1"
+ "\4\3\2\4\3\2\4\3\2\6\4\2\6\4\2\6\4\2\7\5\2\7\5\3\11\6\3\11\6\3\12\7\3\13"
+ "\10\3\15\10\4\16\11\4\17\11\4\21\12\4\22\13\4\22\13\5\23\14\5\24\15\5\26"
+ "\16\6\31\20\6\31\21\6\32\22\7\34\22\7\35\23\7\40\24\10\40\26\10!\26\11#\30"
+ "\11&\31\12&\32\12'\34\13)\34\13*\37\13,\37\13-\40\14.\"\15" "0\"\15"
+ "2#\17" "" "3&\17" "4&\17" "5'\20" "8(\21"
+ "9)\21:*\23<,\23=-\23A.\24A0\25B0\25C2\26D3"
+ "\30H4\30H7\31K7\32K8\32L9\33M:\34P<\34Q=\35S>\37T?\37UA\40VB!XC!ZD#\\F#^"
+ "G#^J$`J&bK'bM'eM(fO)gP)iQ*kS,mT-mU-nV.oX/rY0sZ2u]2v]3w^3x`4za5{c7|c8~e8\177"
+ "f9\200i:\203i<\204j<\206k=\207m>\210n?\211o?\213qA\214rC\215sC\217uD\220"
+ "vD\221wF\223xG\224zH\225{J\227|K\230~K\231\177L\232\200M\234\202O\235\203"
+ "P\236\204Q\240\206Q\241\207S\242\210T\243\211U\245\213V\246\214X\247\215"
+ "Y\250\217Y\252\220Z\253\221\\\254\223]\254\224^\255\225`\257\227a\260\230"
+ "b\261\231c\262\232e\264\234e\265\235f\266\236g\267\240i\267\241i\272\242"
+ "k\273\243m\274\245n\274\246o\276\247q\277\250r\300\252s\301\253u\302\254"
+ "v\304\255w\305\257x\306\257z\306\261{\307\262|\310\264~\310\265\177\313\266"
+ "\200\314\267\202\315\267\203\316\272\204\317\273\206\317\274\207\320\276"
+ "\210\322\277\211\323\277\213\324\301\214\325\302\215\326\304\217\326\305"
+ "\220\327\306\221\327\307\223\331\310\224\333\311\225\334\311\227\334\313"
+ "\227\335\315\231\335\316\231\337\317\234\340\320\235\341\320\235\341\323"
+ "\240\342\324\241\343\324\242\343\326\243\345\327\245\345\330\245\346\331"
+ "\250\346\333\252\347\334\253\351\335\254\351\335\255\351\337\257\352\340"
+ "\260\353\341\260\354\342\262\355\343\264\355\344\265\355\345\266\356\346"
+ "\266\356\347\272\357\350\273\360\351\274\360\351\276\361\352\277\361\353"
+ "\300\362\353\301\362\354\302\362\355\304\362\356\305\364\357\305\364\357"
+ "\310\364\360\311\365\361\313\365\361\314\366\362\315\366\362\316\366\363"
+ "\316\367\364\320\367\364\320\367\365\324\367\365\324\370\366\326\370\366"
+ "\327\371\366\330\371\367\331\371\367\333\371\370\333\372\370\336\372\370"
+ "\336\372\371\340\373\371\341\373\372\342\373\372\343\374\372\344\374\373"
+ "\344\374\373\347\374\374\350\375\374\351\375\374\351\375\374\352\375\375"
+ "\352\376\375\353\376\376\355\376\376\356\376\376\357\377\377\357",
+};
+
+const GstGLEffectsCurve xray_curve = {
+ 256, 1, 3,
+ "\377\377\377\377\377\377\376\376\376\375\375\376\374\375\375\373\374\375"
+ "\372\374\374\371\374\374\370\373\373\366\373\372\366\372\372\365\372\371"
+ "\363\371\371\363\371\370\362\370\370\360\370\367\360\367\366\357\367\365"
+ "\356\366\365\355\366\364\353\365\363\353\365\363\352\364\362\351\363\362"
+ "\347\363\361\346\362\361\345\362\361\344\362\360\343\361\357\343\361\356"
+ "\342\360\356\341\360\356\340\357\355\336\356\354\336\356\354\335\355\353"
+ "\334\355\353\333\355\352\331\354\351\331\353\351\330\353\350\327\353\350"
+ "\325\352\347\325\351\347\324\350\346\323\350\345\322\347\344\321\347\344"
+ "\320\347\344\317\346\343\316\346\342\315\345\341\314\344\341\313\344\340"
+ "\312\344\340\311\343\337\310\342\337\307\342\335\306\341\335\305\341\335"
+ "\303\340\334\303\337\333\302\337\333\301\337\332\300\336\331\276\335\331"
+ "\276\334\330\274\334\330\274\334\327\273\333\327\272\333\326\271\332\325"
+ "\270\332\325\267\331\324\266\330\323\265\330\323\264\327\322\263\327\321"
+ "\262\326\320\261\325\320\257\325\317\257\324\317\256\324\316\254\323\315"
+ "\254\322\315\253\322\314\252\321\313\251\321\313\250\320\312\246\317\311"
+ "\245\317\311\245\316\310\244\316\307\243\315\307\242\314\306\241\314\305"
+ "\240\312\305\237\312\304\236\312\303\235\311\303\234\311\302\233\307\301"
+ "\232\307\300\231\307\300\230\306\277\227\305\276\226\305\276\225\304\275"
+ "\224\303\274\223\303\273\222\302\273\221\301\272\220\301\271\217\300\270"
+ "\216\277\270\215\277\267\214\276\266\213\275\265\212\275\265\211\274\264"
+ "\210\273\263\207\273\262\206\272\262\205\271\261\204\270\260\203\270\257"
+ "\202\267\257\201\266\256\200\266\255\177\265\254~\264\253}\263\253|\263\252"
+ "{\262\251z\261\250y\260\247x\260\247w\257\246v\256\245u\255\244t\255\243"
+ "s\254\243r\253\242q\252\241p\252\240o\251\237n\250\236m\247\235l\246\235"
+ "l\246\235j\245\233i\244\232h\243\231g\242\230f\242\227e\241\226d\240\226"
+ "c\237\225b\236\224a\235\223`\234\222_\234\221_\233\220]\232\217\\\231\216"
+ "\\\230\215Z\227\214Y\226\214X\226\213W\225\212V\224\211U\223\210T\222\207"
+ "S\221\206R\221\205Q\217\204P\216\203O\215\202N\215\201M\214\200M\213\177"
+ "K\212~J\211}I\211|H\210|G\206zG\205zE\204xD\203vC\203vB\201tA\200s@\200q"
+ "@~p>}o>|o<{l<yk;xi9wh8wg8te6sd5qd4pa3n_2m]1k\\0j\\0hY.fW-dU,cT+aR*_P)_O("
+ "]M'YK'XI%VI$TF$RD\"OB!M@\40K?\37I=\37G=\35E9\34C9\34A5\33>5\31<2\31<0\27"
+ ":.\27" "5,\26" "3*\24"
+ "1*\23.&\22.&\22*\"\21'\40\17%\36\16\"\34\15\"\32\14"
+ "\36\32\13\33\26\13\31\24\11\26\22\11\24\20\7\24\16\6\21\16\5\14\14\4\12\10"
+ "\3\7\6\3\5\4\1\2\2",
+};
diff --git a/ext/gl/effects/gstgleffectscurves.h b/ext/gl/effects/gstgleffectscurves.h
index e0e98a5..9b566a5 100644
--- a/ext/gl/effects/gstgleffectscurves.h
+++ b/ext/gl/effects/gstgleffectscurves.h
@@ -21,6 +21,7 @@
#ifndef __GST_GL_EFFECTS_TEXTURES_H__
#define __GST_GL_EFFECTS_TEXTURES_H__
+#include <glib.h>
struct _GstGLEffectsCurve {
guint width;
@@ -32,181 +33,15 @@
typedef struct _GstGLEffectsCurve GstGLEffectsCurve;
/* CURVE for the heat signature effect */
-static const GstGLEffectsCurve xpro_curve = {
- 256, 1, 3,
- "\0\0\37\0\0\37\0\1\40\0\2!\0\2\"\0\3\"\1\4%\1\4%\1\5%\1\5'\1\7'\1\7(\1\7"
- "(\1\10*\1\11+\1\11,\1\12,\1\13/\1\14/\1\14""1\2\15""1\2\15""1\2\16""4\2\17"
- """4\3\17""5\3\22""7\3\22""7\3\23""8\3\24""9\3\25;\3\26;\3\27<\3\27=\4\31"
- "=\4\33?\4\34@\5\34B\5\35C\5\36D\5\40D\5\40G\5!G\6\"H\6$H\7&J\7&K\7*M\7*M"
- "\10+N\10-P\11-P\11/R\11""3R\11""3T\12""4U\12""5U\13""7W\14""8Y\14""9Y\14"
- "<Y\16=[\16@^\16@^\17C^\17D`\20F`\20Jb\22Jb\22Kc\23Me\24Nf\25Qg\26Rg\27Ti"
- "\27Wj\30Xl\31Yl\33\\m\34^p\35`p\40bp\40fq!fr$gt$lt%lu'mv(px*qy-ty/uz/x|0"
- "y}3|}4}~5\177\2018\203\2019\203\201;\204\202=\207\203?\210\204@\214\204C"
- "\214\206D\216\207G\217\210H\223\211K\223\211M\225\212P\226\214Q\231\215T"
- "\232\215U\234\216X\235\217Y\240\220\\\241\220^\243\221`\244\223b\246\224"
- "e\250\224f\252\225i\253\226l\255\227m\256\231p\261\231q\262\232t\264\233"
- "v\265\234x\267\234z\270\235|\271\236~\274\240\201\275\240\202\277\241\204"
- "\300\242\207\302\243\210\303\243\212\305\244\214\306\245\216\307\246\220"
- "\311\250\221\313\250\224\315\251\226\316\252\227\317\253\232\321\253\234"
- "\322\254\235\323\255\240\325\256\242\326\256\242\330\256\245\331\261\250"
- "\331\262\251\332\262\253\334\263\255\335\264\256\336\265\261\340\266\263"
- "\341\266\264\342\267\266\343\270\270\344\271\271\344\271\271\346\273\276"
- "\347\274\277\350\275\277\351\275\302\352\276\304\353\277\306\353\300\307"
- "\355\300\311\356\301\314\356\302\315\357\303\317\360\304\320\360\304\322"
- "\361\305\323\362\306\325\362\307\327\363\307\330\363\310\330\364\311\333"
- "\364\313\334\365\313\336\365\314\340\365\314\342\366\316\342\366\316\346"
- "\367\317\347\367\320\351\367\320\353\370\322\354\370\322\356\370\323\356"
- "\370\324\360\371\325\360\371\325\363\371\326\363\371\327\363\372\330\365"
- "\372\330\366\372\331\366\372\331\370\372\332\371\373\332\371\373\333\372"
- "\373\334\373\373\335\373\373\336\374\373\336\374\374\337\374\374\340\375"
- "\374\341\375\374\341\376\374\342\376\374\343\376\374\344\376\374\344\377"
- "\374\345\377\374\346\377\375\346\377\375\346\377\375\347\377\375\350\377"
- "\375\351\377\375\352\377\375\352\377\375\352\377\375\353\377\375\353\377"
- "\376\354\377\376\354\377\376\356\377\376\356\377\376\356\377\376\357\377"
- "\376\360\377\376\360\377\376\360\377\376\360\377\376\362\377\376\362\377"
- "\376\363\377\376\363\377\376\363\377\376\363\377\376\364\377\376\364\377"
- "\376\365\377\377\365\377\377\366\377\377\366\377\377\366\377\377\367\377"
- "\377\367\377\377\367\377\377\370",
-};
+extern const GstGLEffectsCurve xpro_curve;
-static const GstGLEffectsCurve luma_xpro_curve = {
- 256, 1, 3,
- "\0\0\1\0\1\1\0\1\2\0\1\2\0\1\2\0\1\2\0\1\3\0\2\3\0\2\4\0\2\4\0\2\5\0\2\6"
- "\0\3\6\0\3\6\0\3\7\0\3\10\0\4\10\0\4\11\0\4\12\0\4\12\1\4\13\1\5\14\1\5\15"
- "\1\5\15\1\5\16\1\5\17\1\6\17\1\6\20\1\7\21\1\7\23\2\10\23\2\10\24\2\10\24"
- "\2\11\26\2\11\27\2\11\30\3\11\31\3\12\31\3\13\32\3\13\33\4\13\34\4\14\35"
- "\4\14\36\4\15\37\5\15\40\5\15\"\6\16#\6\17#\6\20$\7\20%\7\20%\10\21&\10\22"
- "'\10\22)\11\24*\11\24*\12\24+\12\26.\13\26.\14\27.\14\30/\15\31""1\15\31"
- """2\16\32""3\16\33""3\20\33""5\20\35""6\20\36""7\22\37""7\23\"9\23#9\24$"
- ":\25$<\27&<\27'=\31'?\31)?\32*@\35+B\35-C\36.C\37""1E\"2F#3H$5H&6I'7I)7K"
- "+:M-<N-<N1@N1BQ2BQ6CQ6EU7HU<IU=IV@NX@NXBQZCS[FU[HU]IV_MZ_N[_Q]`S_bU`dXbe"
- "Zbe]gg]ig`ji`jjdljenlgpljqnpwppwpqxqszqw|sx}u|\201u}\203w\177\204x\177\206"
- "x\204\210x\204\212z\212\213|\212\217}\217\221}\221\222}\222\224\177\226\224"
- "\201\226\226\203\230\233\203\235\235\204\236\235\204\236\236\210\244\242"
- "\210\244\242\210\245\244\212\251\245\213\252\251\213\254\252\215\257\254"
- "\215\261\256\217\261\257\221\266\261\221\267\261\222\273\264\224\273\267"
- "\224\274\267\224\276\273\230\301\273\230\302\274\231\304\276\231\307\302"
- "\233\312\302\235\312\304\235\314\306\236\316\307\240\320\311\240\321\314"
- "\242\324\315\242\325\316\244\327\320\245\332\321\245\333\321\245\334\323"
- "\251\335\325\251\335\330\252\341\332\254\341\332\256\344\334\256\346\334"
- "\256\347\337\257\347\340\261\350\340\263\351\342\263\352\344\264\354\345"
- "\266\355\346\266\356\347\267\357\350\271\360\351\273\361\352\273\362\352"
- "\274\362\355\276\364\356\277\364\357\277\365\360\277\365\360\302\366\361"
- "\302\367\361\304\370\363\304\370\363\307\370\364\307\371\364\311\371\366"
- "\312\372\367\312\372\367\314\372\367\316\373\370\316\373\370\320\373\371"
- "\320\374\371\321\374\372\323\374\372\324\375\372\325\375\372\325\375\373"
- "\327\375\373\330\375\374\332\375\374\333\375\375\334\376\375\334\376\375"
- "\335\376\375\337\376\375\337\376\375\340\376\376\342\376\376\344\376\376"
- "\344\376\376\345\376\376\346\376\376\347\376\376\350\377\376\351\377\377"
- "\353\377\377\354\377\377\356\377\377\357\377\377\361\377\377\361\377\377"
- "\361\377\377\364\377\377\365\377\377\366\377\377\367\377\377\367\377\377"
- "\371\377\377\371\377\377\372\377\377\373\377\377\373\377\377\374\377\377"
- "\375\377\377\375\377\377\375\377\377\376",
-};
+extern const GstGLEffectsCurve luma_xpro_curve;
/* CURVE for the heat signature effect */
-static const GstGLEffectsCurve heat_curve = {
- 256, 1, 3,
- "\0\0\0\0\0\0\0\1\0\0\1\0\0\1\1\0\2\1\0\2\1\1\2\1\1\2\2\1\2\2\1\3\2\1\3\3"
- "\1\3\3\1\4\3\1\4\4\1\5\4\1\5\5\2\5\6\2\6\6\2\6\7\2\6\7\2\7\7\2\7\11\2\10"
- "\11\2\10\12\3\11\13\3\11\13\3\11\14\3\12\15\3\12\17\3\13\17\3\14\20\3\14"
- "\22\4\15\23\4\16\24\4\16\26\4\16\27\4\17\31\4\20\34\4\21\34\5\21\40\5\22"
- "\40\5\22$\5\23$\5\25&\6\25(\6\26-\6\26-\6\27""0\6\31""2\7\31""5\7\32;\7\34"
- ";\7\34?\10\35C\10\36G\10\37L\10\40V\11!V\11\"[\11$a\11&l\12&l\12'r\12(~\13"
- "*~\13,\204\14,\213\14.\221\14/\227\14""1\236\15""2\244\15""4\252\15""5\260"
- "\16""7\267\16""8\275\17:\302\17;\310\17=\323\20?\323\21@\330\21D\335\21D"
- "\342\22E\346\22I\353\23I\356\23K\362\24M\365\24N\370\25P\372\26R\374\26T"
- "\376\26V\377\27X\377\27Z\377\30\\\376\31`\376\31`\375\32b\373\32d\371\33"
- "f\366\34j\363\34j\360\35l\354\36n\350\36r\344\37r\337\40t\333\40w\326!y\321"
- "\"|\314#~\307$\201\301$\204\267%\207\267&\212\261'\214\254(\217\247(\222"
- "\241)\226\234*\231\227+\234\222,\237\216-\242\211.\245\205/\251\2010\254"
- "}1\257z2\262w3\266t4\271p5\274m6\277j7\302f8\305c9\310`:\314\\;\317Y<\321"
- "V>\324S?\327P@\332LA\335IB\337FC\342CE\344@F\347=G\351;I\3538I\3558M\357"
- "3P\3610S\363.V\365+Y\366)\\\370'`\371%d\372#g\373\"l\374\40p\374\37t\374"
- "\35t\375\34}\376\33\202\376\32\202\375\31\213\375\30\220\375\27\225\375\27"
- "\232\373\26\237\372\25\244\371\24\251\370\23\256\367\23\262\367\22\267\364"
- "\21\274\362\20\300\361\20\305\357\17\311\355\16\311\353\16\322\351\15\326"
- "\346\15\332\346\14\336\344\14\341\337\13\341\335\13\350\332\12\353\330\11"
- "\356\330\11\360\322\10\362\320\10\364\320\10\364\312\7\366\307\7\366\304"
- "\7\367\302\6\367\277\6\370\274\5\367\271\5\367\271\5\367\263\4\365\260\4"
- "\364\255\4\363\253\3\362\250\3\361\245\3\360\242\3\357\240\3\357\235\2\355"
- "\232\2\355\227\2\354\225\2\353\221\1\353\216\1\353\216\1\353\213\1\353\204"
- "\1\353\201\1\354}\1\354y\0\354v\0\355r\0\355n\0\355j\0\356f\0\356b\0\357"
- "_\0\357[\0\357W\0\357S\0\360O\0\360O\0\361K\0\361C\0\362@\0\363<\0\3638\0"
- "\3648\0\3641\0\365.\0\366+\0\366'\0\367'\0\370!\0\370\36\0\370\33\0\371\30"
- "\0\371\26\0\373\26\0\373\23\0\374\15\0\374\13\0\375\10\0\375\5\0\376\3\0",
-};
+extern const GstGLEffectsCurve heat_curve;
-static const GstGLEffectsCurve sepia_curve = {
- 256, 1, 3,
- "\0\0\0\0\0\0\0\0\0\0\1\0\1\1\0\1\1\0\1\1\1\2\1\1\2\2\1\3\2\1\3\2\1\3\2\1"
- "\4\3\2\4\3\2\4\3\2\6\4\2\6\4\2\6\4\2\7\5\2\7\5\3\11\6\3\11\6\3\12\7\3\13"
- "\10\3\15\10\4\16\11\4\17\11\4\21\12\4\22\13\4\22\13\5\23\14\5\24\15\5\26"
- "\16\6\31\20\6\31\21\6\32\22\7\34\22\7\35\23\7\40\24\10\40\26\10!\26\11#\30"
- "\11&\31\12&\32\12'\34\13)\34\13*\37\13,\37\13-\40\14.\"\15""0\"\15""2#\17"
- """3&\17""4&\17""5'\20""8(\21""9)\21:*\23<,\23=-\23A.\24A0\25B0\25C2\26D3"
- "\30H4\30H7\31K7\32K8\32L9\33M:\34P<\34Q=\35S>\37T?\37UA\40VB!XC!ZD#\\F#^"
- "G#^J$`J&bK'bM'eM(fO)gP)iQ*kS,mT-mU-nV.oX/rY0sZ2u]2v]3w^3x`4za5{c7|c8~e8\177"
- "f9\200i:\203i<\204j<\206k=\207m>\210n?\211o?\213qA\214rC\215sC\217uD\220"
- "vD\221wF\223xG\224zH\225{J\227|K\230~K\231\177L\232\200M\234\202O\235\203"
- "P\236\204Q\240\206Q\241\207S\242\210T\243\211U\245\213V\246\214X\247\215"
- "Y\250\217Y\252\220Z\253\221\\\254\223]\254\224^\255\225`\257\227a\260\230"
- "b\261\231c\262\232e\264\234e\265\235f\266\236g\267\240i\267\241i\272\242"
- "k\273\243m\274\245n\274\246o\276\247q\277\250r\300\252s\301\253u\302\254"
- "v\304\255w\305\257x\306\257z\306\261{\307\262|\310\264~\310\265\177\313\266"
- "\200\314\267\202\315\267\203\316\272\204\317\273\206\317\274\207\320\276"
- "\210\322\277\211\323\277\213\324\301\214\325\302\215\326\304\217\326\305"
- "\220\327\306\221\327\307\223\331\310\224\333\311\225\334\311\227\334\313"
- "\227\335\315\231\335\316\231\337\317\234\340\320\235\341\320\235\341\323"
- "\240\342\324\241\343\324\242\343\326\243\345\327\245\345\330\245\346\331"
- "\250\346\333\252\347\334\253\351\335\254\351\335\255\351\337\257\352\340"
- "\260\353\341\260\354\342\262\355\343\264\355\344\265\355\345\266\356\346"
- "\266\356\347\272\357\350\273\360\351\274\360\351\276\361\352\277\361\353"
- "\300\362\353\301\362\354\302\362\355\304\362\356\305\364\357\305\364\357"
- "\310\364\360\311\365\361\313\365\361\314\366\362\315\366\362\316\366\363"
- "\316\367\364\320\367\364\320\367\365\324\367\365\324\370\366\326\370\366"
- "\327\371\366\330\371\367\331\371\367\333\371\370\333\372\370\336\372\370"
- "\336\372\371\340\373\371\341\373\372\342\373\372\343\374\372\344\374\373"
- "\344\374\373\347\374\374\350\375\374\351\375\374\351\375\374\352\375\375"
- "\352\376\375\353\376\376\355\376\376\356\376\376\357\377\377\357",
-};
+extern const GstGLEffectsCurve sepia_curve;
-static const GstGLEffectsCurve xray_curve = {
- 256, 1, 3,
- "\377\377\377\377\377\377\376\376\376\375\375\376\374\375\375\373\374\375"
- "\372\374\374\371\374\374\370\373\373\366\373\372\366\372\372\365\372\371"
- "\363\371\371\363\371\370\362\370\370\360\370\367\360\367\366\357\367\365"
- "\356\366\365\355\366\364\353\365\363\353\365\363\352\364\362\351\363\362"
- "\347\363\361\346\362\361\345\362\361\344\362\360\343\361\357\343\361\356"
- "\342\360\356\341\360\356\340\357\355\336\356\354\336\356\354\335\355\353"
- "\334\355\353\333\355\352\331\354\351\331\353\351\330\353\350\327\353\350"
- "\325\352\347\325\351\347\324\350\346\323\350\345\322\347\344\321\347\344"
- "\320\347\344\317\346\343\316\346\342\315\345\341\314\344\341\313\344\340"
- "\312\344\340\311\343\337\310\342\337\307\342\335\306\341\335\305\341\335"
- "\303\340\334\303\337\333\302\337\333\301\337\332\300\336\331\276\335\331"
- "\276\334\330\274\334\330\274\334\327\273\333\327\272\333\326\271\332\325"
- "\270\332\325\267\331\324\266\330\323\265\330\323\264\327\322\263\327\321"
- "\262\326\320\261\325\320\257\325\317\257\324\317\256\324\316\254\323\315"
- "\254\322\315\253\322\314\252\321\313\251\321\313\250\320\312\246\317\311"
- "\245\317\311\245\316\310\244\316\307\243\315\307\242\314\306\241\314\305"
- "\240\312\305\237\312\304\236\312\303\235\311\303\234\311\302\233\307\301"
- "\232\307\300\231\307\300\230\306\277\227\305\276\226\305\276\225\304\275"
- "\224\303\274\223\303\273\222\302\273\221\301\272\220\301\271\217\300\270"
- "\216\277\270\215\277\267\214\276\266\213\275\265\212\275\265\211\274\264"
- "\210\273\263\207\273\262\206\272\262\205\271\261\204\270\260\203\270\257"
- "\202\267\257\201\266\256\200\266\255\177\265\254~\264\253}\263\253|\263\252"
- "{\262\251z\261\250y\260\247x\260\247w\257\246v\256\245u\255\244t\255\243"
- "s\254\243r\253\242q\252\241p\252\240o\251\237n\250\236m\247\235l\246\235"
- "l\246\235j\245\233i\244\232h\243\231g\242\230f\242\227e\241\226d\240\226"
- "c\237\225b\236\224a\235\223`\234\222_\234\221_\233\220]\232\217\\\231\216"
- "\\\230\215Z\227\214Y\226\214X\226\213W\225\212V\224\211U\223\210T\222\207"
- "S\221\206R\221\205Q\217\204P\216\203O\215\202N\215\201M\214\200M\213\177"
- "K\212~J\211}I\211|H\210|G\206zG\205zE\204xD\203vC\203vB\201tA\200s@\200q"
- "@~p>}o>|o<{l<yk;xi9wh8wg8te6sd5qd4pa3n_2m]1k\\0j\\0hY.fW-dU,cT+aR*_P)_O("
- "]M'YK'XI%VI$TF$RD\"OB!M@\40K?\37I=\37G=\35E9\34C9\34A5\33>5\31<2\31<0\27"
- ":.\27""5,\26""3*\24""1*\23.&\22.&\22*\"\21'\40\17%\36\16\"\34\15\"\32\14"
- "\36\32\13\33\26\13\31\24\11\26\22\11\24\20\7\24\16\6\21\16\5\14\14\4\12\10"
- "\3\7\6\3\5\4\1\2\2",
-};
+extern const GstGLEffectsCurve xray_curve;
#endif
diff --git a/ext/gl/effects/gstgleffectssources.c b/ext/gl/effects/gstgleffectssources.c
index 3da856c..6bdc155 100644
--- a/ext/gl/effects/gstgleffectssources.c
+++ b/ext/gl/effects/gstgleffectssources.c
@@ -152,7 +152,7 @@
" vec2 normcoord;"
" normcoord = texturecoord - 0.5;"
" float r = length (normcoord);"
- " normcoord *= r * sqrt(2);"
+ " normcoord *= r * 1.41421;" /* sqrt (2) */
" texturecoord = normcoord + 0.5;"
" gl_FragColor = texture2D (tex, texturecoord);"
"}";
diff --git a/ext/gl/gstglcolorbalance.c b/ext/gl/gstglcolorbalance.c
new file mode 100644
index 0000000..27dcb00
--- /dev/null
+++ b/ext/gl/gstglcolorbalance.c
@@ -0,0 +1,557 @@
+/* GStreamer
+ * Copyright (C) <2016> Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+/*
+ * This file was modified from videobalance and converted to OpenGL
+ */
+
+/**
+ * SECTION:element-glcolorbalance
+ *
+ * Adjusts brightness, contrast, hue, saturation on a video stream.
+ *
+ * <refsect2>
+ * <title>Example launch line</title>
+ * |[
+ * gst-launch-1.0 videotestsrc ! glupload ! glcolorbalance saturation=0.0 ! glcolorconvert ! gldownload ! ximagesink
+ * ]| This pipeline converts the image to black and white by setting the
+ * saturation to 0.0.
+ * </refsect2>
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <gst/math-compat.h>
+
+#include "gstglcolorbalance.h"
+#include <string.h>
+
+#include <gst/video/colorbalance.h>
+
+GST_DEBUG_CATEGORY_STATIC (glcolorbalance_debug);
+#define GST_CAT_DEFAULT glcolorbalance_debug
+
+/* GstGLColorBalance properties */
+#define DEFAULT_PROP_CONTRAST 1.0
+#define DEFAULT_PROP_BRIGHTNESS 0.0
+#define DEFAULT_PROP_HUE 0.0
+#define DEFAULT_PROP_SATURATION 1.0
+
+/* *INDENT-OFF* */
+static const gchar *color_balance_frag =
+ "#ifdef GL_ES\n"
+ "precision mediump float;\n"
+ "#endif\n"
+ "uniform float brightness;\n"
+ "uniform float contrast;\n"
+ "uniform float saturation;\n"
+ "uniform float hue;\n"
+ "varying vec2 v_texcoord;\n"
+ "uniform sampler2D tex;\n"
+ "#define from_yuv_bt601_offset vec3(-0.0625, -0.5, -0.5)\n"
+ "#define from_yuv_bt601_rcoeff vec3(1.164, 0.000, 1.596)\n"
+ "#define from_yuv_bt601_gcoeff vec3(1.164,-0.391,-0.813)\n"
+ "#define from_yuv_bt601_bcoeff vec3(1.164, 2.018, 0.000)\n"
+ "#define from_rgb_bt601_offset vec3(0.0625, 0.5, 0.5)\n"
+ "#define from_rgb_bt601_ycoeff vec3(0.256816, 0.504154, 0.0979137)\n"
+ "#define from_rgb_bt601_ucoeff vec3(-0.148246, -0.29102, 0.439266)\n"
+ "#define from_rgb_bt601_vcoeff vec3(0.439271, -0.367833, -0.071438)\n"
+ "#define PI 3.14159265\n"
+ "\n"
+ "vec3 yuv_to_rgb (vec3 val) {\n"
+ " vec3 rgb;\n"
+ " val += from_yuv_bt601_offset;\n"
+ " rgb.r = dot(val, from_yuv_bt601_rcoeff);\n"
+ " rgb.g = dot(val, from_yuv_bt601_gcoeff);\n"
+ " rgb.b = dot(val, from_yuv_bt601_bcoeff);\n"
+ " return rgb;\n"
+ "}\n"
+ "vec3 rgb_to_yuv (vec3 val) {\n"
+ " vec3 yuv;\n"
+ " yuv.r = dot(val.rgb, from_rgb_bt601_ycoeff);\n"
+ " yuv.g = dot(val.rgb, from_rgb_bt601_ucoeff);\n"
+ " yuv.b = dot(val.rgb, from_rgb_bt601_vcoeff);\n"
+ " yuv += from_rgb_bt601_offset;\n"
+ " return yuv;\n"
+ "}\n"
+ /* 224 = 256 - (256 - 240) - 16*/
+ "float luma_to_narrow (float luma) {\n"
+ " return (luma + 16.0 / 256.0) * 219.0 / 256.0;"
+ "}\n"
+ "float luma_to_full (float luma) {\n"
+ " return (luma * 256.0 / 219.0) - 16.0 / 256.0;"
+ "}\n"
+ "void main () {\n"
+ " vec3 yuv;\n"
+ /* operations translated from videobalanceand tested with glvideomixer
+ * with one pad's paremeters blend-equation-rgb={subtract,reverse-subtract},
+ * blend-function-src-rgb=src-color and blend-function-dst-rgb=dst-color */
+ " float hue_cos = cos (PI * hue);\n"
+ " float hue_sin = sin (PI * hue);\n"
+ " vec4 rgba = texture2D (tex, v_texcoord);\n"
+ " yuv = rgb_to_yuv (rgba.rgb);\n"
+ " yuv.x = clamp (luma_to_narrow (luma_to_full(yuv.x) * contrast) + brightness, 0.0, 1.0);\n"
+ " vec2 uv = yuv.yz;\n"
+ " yuv.y = clamp (0.5 + (((uv.x - 0.5) * hue_cos + (uv.y - 0.5) * hue_sin) * saturation), 0.0, 1.0);\n"
+ " yuv.z = clamp (0.5 + (((0.5 - uv.x) * hue_sin + (uv.y - 0.5) * hue_cos) * saturation), 0.0, 1.0);\n"
+ " rgba.rgb = yuv_to_rgb (yuv);\n"
+ " gl_FragColor = rgba;\n"
+ "}\n";
+/* *INDENT-ON* */
+
+enum
+{
+ PROP_0,
+ PROP_CONTRAST,
+ PROP_BRIGHTNESS,
+ PROP_HUE,
+ PROP_SATURATION
+};
+
+static void gst_gl_color_balance_colorbalance_init (GstColorBalanceInterface *
+ iface);
+
+static void gst_gl_color_balance_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * pspec);
+static void gst_gl_color_balance_get_property (GObject * object, guint prop_id,
+ GValue * value, GParamSpec * pspec);
+
+#define gst_gl_color_balance_parent_class parent_class
+G_DEFINE_TYPE_WITH_CODE (GstGLColorBalance, gst_gl_color_balance,
+ GST_TYPE_GL_FILTER,
+ G_IMPLEMENT_INTERFACE (GST_TYPE_COLOR_BALANCE,
+ gst_gl_color_balance_colorbalance_init));
+
+static gboolean
+gst_gl_color_balance_is_passthrough (GstGLColorBalance * glcolorbalance)
+{
+ return glcolorbalance->contrast == 1.0 &&
+ glcolorbalance->brightness == 0.0 &&
+ glcolorbalance->hue == 0.0 && glcolorbalance->saturation == 1.0;
+}
+
+static void
+gst_gl_color_balance_update_properties (GstGLColorBalance * glcolorbalance)
+{
+ gboolean passthrough;
+ GstBaseTransform *base = GST_BASE_TRANSFORM (glcolorbalance);
+
+ GST_OBJECT_LOCK (glcolorbalance);
+ passthrough = gst_gl_color_balance_is_passthrough (glcolorbalance);
+ GST_OBJECT_UNLOCK (glcolorbalance);
+
+ gst_base_transform_set_passthrough (base, passthrough);
+}
+
+static gboolean
+_create_shader (GstGLColorBalance * balance)
+{
+ GstGLBaseFilter *base_filter = GST_GL_BASE_FILTER (balance);
+ GstGLFilter *filter = GST_GL_FILTER (balance);
+ GError *error = NULL;
+
+ if (balance->shader)
+ gst_object_unref (balance->shader);
+
+ if (!(balance->shader =
+ gst_gl_shader_new_link_with_stages (base_filter->context, &error,
+ gst_glsl_stage_new_default_vertex (base_filter->context),
+ gst_glsl_stage_new_with_string (base_filter->context,
+ GL_FRAGMENT_SHADER, GST_GLSL_VERSION_NONE,
+ GST_GLSL_PROFILE_ES | GST_GLSL_PROFILE_COMPATIBILITY,
+ color_balance_frag), NULL))) {
+ GST_ELEMENT_ERROR (balance, RESOURCE, NOT_FOUND, ("%s",
+ "Failed to initialize colorbalance shader"), ("%s",
+ error ? error->message : "Unknown error"));
+ return FALSE;
+ }
+
+ filter->draw_attr_position_loc =
+ gst_gl_shader_get_attribute_location (balance->shader, "a_position");
+ filter->draw_attr_texture_loc =
+ gst_gl_shader_get_attribute_location (balance->shader, "a_texcoord");
+
+ return TRUE;
+}
+
+static gboolean
+gst_gl_color_balance_gl_start (GstGLBaseFilter * base_filter)
+{
+ GstGLColorBalance *balance = GST_GL_COLOR_BALANCE (base_filter);
+
+ if (!_create_shader (balance))
+ return FALSE;
+
+ return GST_GL_BASE_FILTER_CLASS (parent_class)->gl_start (base_filter);
+}
+
+static void
+gst_gl_color_balance_gl_stop (GstGLBaseFilter * base_filter)
+{
+ GstGLColorBalance *balance = GST_GL_COLOR_BALANCE (base_filter);
+
+ if (balance->shader)
+ gst_object_unref (balance->shader);
+ balance->shader = NULL;
+
+ GST_GL_BASE_FILTER_CLASS (parent_class)->gl_stop (base_filter);
+}
+
+static void
+gst_gl_color_balance_before_transform (GstBaseTransform * base, GstBuffer * buf)
+{
+ GstGLColorBalance *balance = GST_GL_COLOR_BALANCE (base);
+ GstClockTime timestamp, stream_time;
+
+ timestamp = GST_BUFFER_TIMESTAMP (buf);
+ stream_time =
+ gst_segment_to_stream_time (&base->segment, GST_FORMAT_TIME, timestamp);
+
+ GST_DEBUG_OBJECT (balance, "sync to %" GST_TIME_FORMAT,
+ GST_TIME_ARGS (timestamp));
+
+ if (GST_CLOCK_TIME_IS_VALID (stream_time))
+ gst_object_sync_values (GST_OBJECT (balance), stream_time);
+}
+
+static void
+gst_gl_color_balance_callback (gint width, gint height, guint tex_id,
+ gpointer data)
+{
+ GstGLColorBalance *balance = GST_GL_COLOR_BALANCE (data);
+ GstGLFilter *filter = GST_GL_FILTER (data);
+ const GstGLFuncs *gl = GST_GL_BASE_FILTER (data)->context->gl_vtable;
+
+ if (!balance->shader)
+ _create_shader (balance);
+
+ gst_gl_shader_use (balance->shader);
+ GST_OBJECT_LOCK (balance);
+ gst_gl_shader_set_uniform_1f (balance->shader, "brightness",
+ balance->brightness);
+ gst_gl_shader_set_uniform_1f (balance->shader, "contrast", balance->contrast);
+ gst_gl_shader_set_uniform_1f (balance->shader, "saturation",
+ balance->saturation);
+ gst_gl_shader_set_uniform_1f (balance->shader, "hue", balance->hue);
+ GST_OBJECT_UNLOCK (balance);
+
+ gl->BindTexture (GL_TEXTURE_2D, tex_id);
+
+ gst_gl_filter_draw_texture (filter, tex_id, width, height);
+}
+
+static gboolean
+gst_gl_color_balance_filter_texture (GstGLFilter * filter, guint in_tex,
+ guint out_tex)
+{
+ gst_gl_filter_render_to_target (filter, TRUE, in_tex, out_tex,
+ (GLCB) gst_gl_color_balance_callback, filter);
+
+ return TRUE;
+}
+
+static void
+gst_gl_color_balance_finalize (GObject * object)
+{
+ GstGLColorBalance *balance = GST_GL_COLOR_BALANCE (object);
+ GList *channels = NULL;
+
+ channels = balance->channels;
+ while (channels) {
+ GstColorBalanceChannel *channel = channels->data;
+
+ g_object_unref (channel);
+ channels->data = NULL;
+ channels = g_list_next (channels);
+ }
+
+ if (balance->channels)
+ g_list_free (balance->channels);
+
+ G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+static void
+gst_gl_color_balance_class_init (GstGLColorBalanceClass * klass)
+{
+ GObjectClass *gobject_class = (GObjectClass *) klass;
+ GstElementClass *gstelement_class = (GstElementClass *) klass;
+ GstBaseTransformClass *trans_class = (GstBaseTransformClass *) klass;
+ GstGLBaseFilterClass *base_filter_class = (GstGLBaseFilterClass *) klass;
+ GstGLFilterClass *filter_class = (GstGLFilterClass *) klass;
+
+ GST_DEBUG_CATEGORY_INIT (glcolorbalance_debug, "glcolorbalance", 0,
+ "glcolorbalance");
+
+ gobject_class->finalize = gst_gl_color_balance_finalize;
+ gobject_class->set_property = gst_gl_color_balance_set_property;
+ gobject_class->get_property = gst_gl_color_balance_get_property;
+
+ g_object_class_install_property (gobject_class, PROP_CONTRAST,
+ g_param_spec_double ("contrast", "Contrast", "contrast",
+ 0.0, 2.0, DEFAULT_PROP_CONTRAST,
+ GST_PARAM_CONTROLLABLE | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class, PROP_BRIGHTNESS,
+ g_param_spec_double ("brightness", "Brightness", "brightness", -1.0, 1.0,
+ DEFAULT_PROP_BRIGHTNESS,
+ GST_PARAM_CONTROLLABLE | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class, PROP_HUE,
+ g_param_spec_double ("hue", "Hue", "hue", -1.0, 1.0, DEFAULT_PROP_HUE,
+ GST_PARAM_CONTROLLABLE | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class, PROP_SATURATION,
+ g_param_spec_double ("saturation", "Saturation", "saturation", 0.0, 2.0,
+ DEFAULT_PROP_SATURATION,
+ GST_PARAM_CONTROLLABLE | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+ gst_element_class_set_static_metadata (gstelement_class, "Video balance",
+ "Filter/Effect/Video",
+ "Adjusts brightness, contrast, hue, saturation on a video stream",
+ "Matthew Waters <matthew@centricular.com>");
+
+ trans_class->before_transform =
+ GST_DEBUG_FUNCPTR (gst_gl_color_balance_before_transform);
+ trans_class->transform_ip_on_passthrough = FALSE;
+
+ base_filter_class->gl_start =
+ GST_DEBUG_FUNCPTR (gst_gl_color_balance_gl_start);
+ base_filter_class->gl_stop = GST_DEBUG_FUNCPTR (gst_gl_color_balance_gl_stop);
+
+ filter_class->filter_texture =
+ GST_DEBUG_FUNCPTR (gst_gl_color_balance_filter_texture);
+}
+
+static void
+gst_gl_color_balance_init (GstGLColorBalance * glcolorbalance)
+{
+ const gchar *channels[4] = { "HUE", "SATURATION",
+ "BRIGHTNESS", "CONTRAST"
+ };
+ gint i;
+
+ /* Initialize propertiews */
+ glcolorbalance->contrast = DEFAULT_PROP_CONTRAST;
+ glcolorbalance->brightness = DEFAULT_PROP_BRIGHTNESS;
+ glcolorbalance->hue = DEFAULT_PROP_HUE;
+ glcolorbalance->saturation = DEFAULT_PROP_SATURATION;
+
+ gst_gl_color_balance_update_properties (glcolorbalance);
+
+ /* Generate the channels list */
+ for (i = 0; i < G_N_ELEMENTS (channels); i++) {
+ GstColorBalanceChannel *channel;
+
+ channel = g_object_new (GST_TYPE_COLOR_BALANCE_CHANNEL, NULL);
+ channel->label = g_strdup (channels[i]);
+ channel->min_value = -1000;
+ channel->max_value = 1000;
+
+ glcolorbalance->channels =
+ g_list_append (glcolorbalance->channels, channel);
+ }
+}
+
+static const GList *
+gst_gl_color_balance_colorbalance_list_channels (GstColorBalance * balance)
+{
+ GstGLColorBalance *glcolorbalance = GST_GL_COLOR_BALANCE (balance);
+
+ g_return_val_if_fail (glcolorbalance != NULL, NULL);
+ g_return_val_if_fail (GST_IS_GL_COLOR_BALANCE (glcolorbalance), NULL);
+
+ return glcolorbalance->channels;
+}
+
+static void
+gst_gl_color_balance_colorbalance_set_value (GstColorBalance * balance,
+ GstColorBalanceChannel * channel, gint value)
+{
+ GstGLColorBalance *vb = GST_GL_COLOR_BALANCE (balance);
+ gdouble new_val;
+ gboolean changed = FALSE;
+
+ g_return_if_fail (vb != NULL);
+ g_return_if_fail (GST_IS_GL_COLOR_BALANCE (vb));
+ g_return_if_fail (channel->label != NULL);
+
+ GST_OBJECT_LOCK (vb);
+ if (!g_ascii_strcasecmp (channel->label, "HUE")) {
+ new_val = (value + 1000.0) * 2.0 / 2000.0 - 1.0;
+ changed = new_val != vb->hue;
+ vb->hue = new_val;
+ } else if (!g_ascii_strcasecmp (channel->label, "SATURATION")) {
+ new_val = (value + 1000.0) * 2.0 / 2000.0;
+ changed = new_val != vb->saturation;
+ vb->saturation = new_val;
+ } else if (!g_ascii_strcasecmp (channel->label, "BRIGHTNESS")) {
+ new_val = (value + 1000.0) * 2.0 / 2000.0 - 1.0;
+ changed = new_val != vb->brightness;
+ vb->brightness = new_val;
+ } else if (!g_ascii_strcasecmp (channel->label, "CONTRAST")) {
+ new_val = (value + 1000.0) * 2.0 / 2000.0;
+ changed = new_val != vb->contrast;
+ vb->contrast = new_val;
+ }
+ GST_OBJECT_UNLOCK (vb);
+
+ if (changed)
+ gst_gl_color_balance_update_properties (vb);
+
+ if (changed) {
+ gst_color_balance_value_changed (balance, channel,
+ gst_color_balance_get_value (balance, channel));
+ }
+}
+
+static gint
+gst_gl_color_balance_colorbalance_get_value (GstColorBalance * balance,
+ GstColorBalanceChannel * channel)
+{
+ GstGLColorBalance *vb = GST_GL_COLOR_BALANCE (balance);
+ gint value = 0;
+
+ g_return_val_if_fail (vb != NULL, 0);
+ g_return_val_if_fail (GST_IS_GL_COLOR_BALANCE (vb), 0);
+ g_return_val_if_fail (channel->label != NULL, 0);
+
+ if (!g_ascii_strcasecmp (channel->label, "HUE")) {
+ value = (vb->hue + 1) * 2000.0 / 2.0 - 1000.0;
+ } else if (!g_ascii_strcasecmp (channel->label, "SATURATION")) {
+ value = vb->saturation * 2000.0 / 2.0 - 1000.0;
+ } else if (!g_ascii_strcasecmp (channel->label, "BRIGHTNESS")) {
+ value = (vb->brightness + 1) * 2000.0 / 2.0 - 1000.0;
+ } else if (!g_ascii_strcasecmp (channel->label, "CONTRAST")) {
+ value = vb->contrast * 2000.0 / 2.0 - 1000.0;
+ }
+
+ return value;
+}
+
+static GstColorBalanceType
+gst_gl_color_balance_colorbalance_get_balance_type (GstColorBalance * balance)
+{
+ return GST_COLOR_BALANCE_HARDWARE;
+}
+
+static void
+gst_gl_color_balance_colorbalance_init (GstColorBalanceInterface * iface)
+{
+ iface->list_channels = gst_gl_color_balance_colorbalance_list_channels;
+ iface->set_value = gst_gl_color_balance_colorbalance_set_value;
+ iface->get_value = gst_gl_color_balance_colorbalance_get_value;
+ iface->get_balance_type = gst_gl_color_balance_colorbalance_get_balance_type;
+}
+
+static GstColorBalanceChannel *
+gst_gl_color_balance_find_channel (GstGLColorBalance * balance,
+ const gchar * label)
+{
+ GList *l;
+
+ for (l = balance->channels; l; l = l->next) {
+ GstColorBalanceChannel *channel = l->data;
+
+ if (g_ascii_strcasecmp (channel->label, label) == 0)
+ return channel;
+ }
+ return NULL;
+}
+
+static void
+gst_gl_color_balance_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * pspec)
+{
+ GstGLColorBalance *balance = GST_GL_COLOR_BALANCE (object);
+ gdouble d;
+ const gchar *label = NULL;
+
+ GST_OBJECT_LOCK (balance);
+ switch (prop_id) {
+ case PROP_CONTRAST:
+ d = g_value_get_double (value);
+ GST_DEBUG_OBJECT (balance, "Changing contrast from %lf to %lf",
+ balance->contrast, d);
+ if (d != balance->contrast)
+ label = "CONTRAST";
+ balance->contrast = d;
+ break;
+ case PROP_BRIGHTNESS:
+ d = g_value_get_double (value);
+ GST_DEBUG_OBJECT (balance, "Changing brightness from %lf to %lf",
+ balance->brightness, d);
+ if (d != balance->brightness)
+ label = "BRIGHTNESS";
+ balance->brightness = d;
+ break;
+ case PROP_HUE:
+ d = g_value_get_double (value);
+ GST_DEBUG_OBJECT (balance, "Changing hue from %lf to %lf", balance->hue,
+ d);
+ if (d != balance->hue)
+ label = "HUE";
+ balance->hue = d;
+ break;
+ case PROP_SATURATION:
+ d = g_value_get_double (value);
+ GST_DEBUG_OBJECT (balance, "Changing saturation from %lf to %lf",
+ balance->saturation, d);
+ if (d != balance->saturation)
+ label = "SATURATION";
+ balance->saturation = d;
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+
+ GST_OBJECT_UNLOCK (balance);
+ gst_gl_color_balance_update_properties (balance);
+
+ if (label) {
+ GstColorBalanceChannel *channel =
+ gst_gl_color_balance_find_channel (balance, label);
+ gst_color_balance_value_changed (GST_COLOR_BALANCE (balance), channel,
+ gst_color_balance_get_value (GST_COLOR_BALANCE (balance), channel));
+ }
+}
+
+static void
+gst_gl_color_balance_get_property (GObject * object, guint prop_id,
+ GValue * value, GParamSpec * pspec)
+{
+ GstGLColorBalance *balance = GST_GL_COLOR_BALANCE (object);
+
+ switch (prop_id) {
+ case PROP_CONTRAST:
+ g_value_set_double (value, balance->contrast);
+ break;
+ case PROP_BRIGHTNESS:
+ g_value_set_double (value, balance->brightness);
+ break;
+ case PROP_HUE:
+ g_value_set_double (value, balance->hue);
+ break;
+ case PROP_SATURATION:
+ g_value_set_double (value, balance->saturation);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
diff --git a/ext/gl/gstglcolorbalance.h b/ext/gl/gstglcolorbalance.h
new file mode 100644
index 0000000..cf0bcd7
--- /dev/null
+++ b/ext/gl/gstglcolorbalance.h
@@ -0,0 +1,73 @@
+/* GStreamer
+ * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+
+#ifndef __GST_GL_COLOR_BALANCE_H__
+#define __GST_GL_COLOR_BALANCE_H__
+
+#include <gst/gst.h>
+#include <gst/video/video.h>
+#include <gst/gl/gl.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_GL_COLOR_BALANCE \
+ (gst_gl_color_balance_get_type())
+#define GST_GL_COLOR_BALANCE(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_GL_COLOR_BALANCE,GstGLColorBalance))
+#define GST_GL_COLOR_BALANCE_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_GL_COLOR_BALANCE,GstGLColorBalanceClass))
+#define GST_IS_GL_COLOR_BALANCE(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_GL_COLOR_BALANCE))
+#define GST_IS_GL_COLOR_BALANCE_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_GL_COLOR_BALANCE))
+
+typedef struct _GstGLColorBalance GstGLColorBalance;
+typedef struct _GstGLColorBalanceClass GstGLColorBalanceClass;
+
+/**
+ * GstGLColorBalance:
+ *
+ * Opaque data structure.
+ */
+struct _GstGLColorBalance {
+ GstGLFilter videofilter;
+
+ /* < private > */
+ GstGLShader *shader;
+
+ /* channels for interface */
+ GList *channels;
+
+ /* properties */
+ gdouble contrast;
+ gdouble brightness;
+ gdouble hue;
+ gdouble saturation;
+};
+
+struct _GstGLColorBalanceClass {
+ GstGLFilterClass parent_class;
+};
+
+GType gst_gl_color_balance_get_type(void);
+
+G_END_DECLS
+
+#endif /* __GST_GL_COLOR_BALANCE_H__ */
diff --git a/ext/gl/gstglcolorconvertelement.c b/ext/gl/gstglcolorconvertelement.c
index 76a70f2..bd4fbeb 100644
--- a/ext/gl/gstglcolorconvertelement.c
+++ b/ext/gl/gstglcolorconvertelement.c
@@ -191,6 +191,9 @@
convert->out_caps))
return FALSE;
+ if (!gst_gl_color_convert_decide_allocation (convert->convert, query))
+ return FALSE;
+
return TRUE;
}
diff --git a/ext/gl/gstgldownloadelement.c b/ext/gl/gstgldownloadelement.c
index 917bdc7..ff931fa 100644
--- a/ext/gl/gstgldownloadelement.c
+++ b/ext/gl/gstgldownloadelement.c
@@ -53,10 +53,10 @@
GST_STATIC_CAPS ("video/x-raw; video/x-raw(memory:GLMemory)"));
static GstStaticPadTemplate gst_gl_download_element_sink_pad_template =
-GST_STATIC_PAD_TEMPLATE ("sink",
+ GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_SINK,
GST_PAD_ALWAYS,
- GST_STATIC_CAPS ("video/x-raw(memory:GLMemory)"));
+ GST_STATIC_CAPS ("video/x-raw(memory:GLMemory); video/x-raw"));
static void
gst_gl_download_element_class_init (GstGLDownloadElementClass * klass)
diff --git a/ext/gl/gstgleffects.c b/ext/gl/gstgleffects.c
index 5c906fc..b2b453f 100644
--- a/ext/gl/gstgleffects.c
+++ b/ext/gl/gstgleffects.c
@@ -550,7 +550,8 @@
if (!(shader = gst_gl_shader_new_link_with_stages (context, &error,
gst_glsl_stage_new_default_vertex (context),
gst_glsl_stage_new_with_string (context, GL_FRAGMENT_SHADER,
- GST_GLSL_VERSION_NONE, GST_GLSL_PROFILE_ES,
+ GST_GLSL_VERSION_NONE,
+ GST_GLSL_PROFILE_ES | GST_GLSL_PROFILE_COMPATIBILITY,
shader_source_gles2), NULL))) {
GST_ELEMENT_ERROR (effects, RESOURCE, NOT_FOUND,
("Failed to initialize %s shader", shader_name), (NULL));
diff --git a/ext/gl/gstglfiltershader.c b/ext/gl/gstglfiltershader.c
index 12a8a9a..2117388 100644
--- a/ext/gl/gstglfiltershader.c
+++ b/ext/gl/gstglfiltershader.c
@@ -22,14 +22,14 @@
/**
* SECTION:element-glshader
*
- * Filter loading OpenGL fragment shader from file
+ * OpenGL fragment shader filter
*
* <refsect2>
* <title>Examples</title>
* |[
- * gst-launch-1.0 videotestsrc ! glupload ! glshader location=myshader.fs ! glimagesink
+ * gst-launch-1.0 videotestsrc ! glupload ! glshader fragment="\"`cat myshader.frag`\"" ! glimagesink
* ]|
- * FBO (Frame Buffer Object) and GLSL (OpenGL Shading Language) are required.
+ * FBO (Frame Buffer Object) and GLSL (OpenGL Shading Language) are required. A #version header is required
* </refsect2>
*/
#ifdef HAVE_CONFIG_H
diff --git a/ext/gl/gstglimagesink.c b/ext/gl/gstglimagesink.c
index dc25e66..9228801 100644
--- a/ext/gl/gstglimagesink.c
+++ b/ext/gl/gstglimagesink.c
@@ -409,8 +409,8 @@
* structure)
{
GstGLImageSink *sink = GST_GLIMAGE_SINK (navigation);
+ gboolean handled = FALSE;
GstEvent *event = NULL;
- GstPad *pad = NULL;
GstGLWindow *window;
guint width, height;
gdouble x, y;
@@ -427,9 +427,6 @@
height = GST_VIDEO_SINK_HEIGHT (sink);
gst_gl_window_get_surface_dimensions (window, &width, &height);
- event = gst_event_new_navigation (structure);
-
- pad = gst_pad_get_peer (GST_VIDEO_SINK_PAD (sink));
/* Converting pointer coordinates to the non scaled geometry */
if (width != 0 && gst_structure_get_double (structure, "pointer_x", &x)
&& height != 0 && gst_structure_get_double (structure, "pointer_y", &y)) {
@@ -441,10 +438,17 @@
stream_x, "pointer_y", G_TYPE_DOUBLE, stream_y, NULL);
}
- if (GST_IS_PAD (pad) && GST_IS_EVENT (event))
- gst_pad_send_event (pad, event);
+ event = gst_event_new_navigation (structure);
+ if (event) {
+ gst_event_ref (event);
+ handled = gst_pad_push_event (GST_VIDEO_SINK_PAD (sink), event);
- gst_object_unref (pad);
+ if (!handled)
+ gst_element_post_message ((GstElement *) sink,
+ gst_navigation_message_new_event ((GstObject *) sink, event));
+
+ gst_event_unref (event);
+ }
gst_object_unref (window);
}
@@ -717,8 +721,7 @@
gst_glimage_sink_key_event_cb (GstGLWindow * window, char *event_name, char
*key_string, GstGLImageSink * gl_sink)
{
- GST_DEBUG_OBJECT (gl_sink, "glimagesink event %s key %s pressed", event_name,
- key_string);
+ GST_DEBUG_OBJECT (gl_sink, "event %s key %s pressed", event_name, key_string);
gst_navigation_send_key_event (GST_NAVIGATION (gl_sink),
event_name, key_string);
}
@@ -727,8 +730,7 @@
gst_glimage_sink_mouse_event_cb (GstGLWindow * window, char *event_name,
int button, double posx, double posy, GstGLImageSink * gl_sink)
{
- GST_DEBUG_OBJECT (gl_sink, "glimagesink event %s at %g, %g", event_name, posx,
- posy);
+ GST_DEBUG_OBJECT (gl_sink, "event %s at %g, %g", event_name, posx, posy);
gst_navigation_send_mouse_event (GST_NAVIGATION (gl_sink),
event_name, button, posx, posy);
}
@@ -1472,6 +1474,15 @@
gst_gl_sync_meta_wait (sync_meta, glimage_sink->context);
GST_GLIMAGE_SINK_LOCK (glimage_sink);
+ if (glimage_sink->window_resized) {
+ glimage_sink->window_resized = FALSE;
+ GST_GLIMAGE_SINK_UNLOCK (glimage_sink);
+ GST_DEBUG_OBJECT (glimage_sink, "Sending reconfigure event on sinkpad.");
+ gst_pad_push_event (GST_BASE_SINK (glimage_sink)->sinkpad,
+ gst_event_new_reconfigure ());
+ GST_GLIMAGE_SINK_LOCK (glimage_sink);
+ }
+
target = &glimage_sink->input_buffer;
if (GST_VIDEO_INFO_MULTIVIEW_MODE (&glimage_sink->in_info) ==
GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME &&
@@ -1869,7 +1880,6 @@
*/
const GstGLFuncs *gl;
gboolean do_reshape;
- gboolean reconfigure;
GST_DEBUG_OBJECT (gl_sink, "GL Window resized to %ux%u", width, height);
@@ -1883,7 +1893,7 @@
height = MAX (1, height);
/* Check if we would suggest a different width/height now */
- reconfigure = ((gl_sink->window_width != width)
+ gl_sink->window_resized = ((gl_sink->window_width != width)
|| (gl_sink->window_height != height))
&& (gl_sink->window_width != 0)
&& (gl_sink->window_height != 0);
@@ -1891,12 +1901,6 @@
gl_sink->window_width = width;
gl_sink->window_height = height;
- if (reconfigure) {
- GST_DEBUG ("Sending reconfigure event on sinkpad.");
- gst_pad_push_event (GST_BASE_SINK (gl_sink)->sinkpad,
- gst_event_new_reconfigure ());
- }
-
gst_gl_insert_debug_marker (gl_sink->context, "%s window resize to %ix%i",
GST_OBJECT_NAME (gl_sink), width, height);
@@ -2117,6 +2121,15 @@
/* Recreate the output texture if needed */
GST_GLIMAGE_SINK_LOCK (gl_sink);
+ if (gl_sink->window_resized) {
+ gl_sink->window_resized = FALSE;
+ GST_GLIMAGE_SINK_UNLOCK (gl_sink);
+ GST_DEBUG_OBJECT (gl_sink, "Sending reconfigure event on sinkpad.");
+ gst_pad_push_event (GST_BASE_SINK (gl_sink)->sinkpad,
+ gst_event_new_reconfigure ());
+ GST_GLIMAGE_SINK_LOCK (gl_sink);
+ }
+
if (gl_sink->output_mode_changed && gl_sink->input_buffer != NULL) {
GST_DEBUG ("Recreating output after mode/size change");
update_output_format (gl_sink);
diff --git a/ext/gl/gstglimagesink.h b/ext/gl/gstglimagesink.h
index 8f9b2e6..6e9b98e 100644
--- a/ext/gl/gstglimagesink.h
+++ b/ext/gl/gstglimagesink.h
@@ -102,7 +102,8 @@
GstGLSyncMeta *stored_sync_meta;
GLuint redisplay_texture;
- gboolean caps_change;
+ /* protected with drawing_lock */
+ gboolean window_resized;
guint window_width;
guint window_height;
diff --git a/ext/gl/gstglmixer.c b/ext/gl/gstglmixer.c
index 401e4ed..5ca1316 100644
--- a/ext/gl/gstglmixer.c
+++ b/ext/gl/gstglmixer.c
@@ -221,9 +221,17 @@
/* copies the given caps */
static GstCaps *
-_update_caps (GstVideoAggregator * vagg, GstCaps * caps)
+_update_caps (GstVideoAggregator * vagg, GstCaps * caps, GstCaps * filter)
{
- return gst_gl_caps_replace_all_caps_features (caps,
+ GstCaps *tmp;
+
+ if (filter) {
+ tmp = gst_caps_intersect (caps, filter);
+ } else {
+ tmp = caps;
+ }
+
+ return gst_gl_caps_replace_all_caps_features (tmp,
GST_CAPS_FEATURE_MEMORY_GL_MEMORY);
}
@@ -408,7 +416,6 @@
gst_gl_mixer_init (GstGLMixer * mix)
{
mix->priv = GST_GL_MIXER_GET_PRIVATE (mix);
- mix->array_buffers = 0;
mix->fbo = 0;
mix->depthbuffer = 0;
@@ -591,16 +598,47 @@
}
}
+static gboolean
+_upload_frames (GstAggregator * agg, GstAggregatorPad * agg_pad,
+ gpointer user_data)
+{
+ GstVideoAggregatorPad *vaggpad = GST_VIDEO_AGGREGATOR_PAD (agg_pad);
+ GstGLMixerPad *pad = GST_GL_MIXER_PAD (agg_pad);
+ GstGLMixer *mix = GST_GL_MIXER (agg);
+
+ if (vaggpad->buffer != NULL) {
+ GstVideoInfo gl_info;
+ GstVideoFrame gl_frame;
+ GstGLSyncMeta *sync_meta;
+
+ gst_video_info_set_format (&gl_info,
+ GST_VIDEO_FORMAT_RGBA,
+ GST_VIDEO_INFO_WIDTH (&vaggpad->info),
+ GST_VIDEO_INFO_HEIGHT (&vaggpad->info));
+
+ sync_meta = gst_buffer_get_gl_sync_meta (vaggpad->buffer);
+ if (sync_meta)
+ gst_gl_sync_meta_wait (sync_meta, GST_GL_BASE_MIXER (mix)->context);
+
+ if (!gst_video_frame_map (&gl_frame, &gl_info, vaggpad->buffer,
+ GST_MAP_READ | GST_MAP_GL)) {
+ GST_ERROR_OBJECT (agg_pad, "Failed to map input frame");
+ return FALSE;
+ }
+
+ pad->current_texture = *(guint *) gl_frame.data[0];
+ gst_video_frame_unmap (&gl_frame);
+ }
+
+ return TRUE;
+}
+
gboolean
gst_gl_mixer_process_textures (GstGLMixer * mix, GstBuffer * outbuf)
{
- guint i;
- GList *walk;
guint out_tex;
gboolean res = TRUE;
- guint array_index = 0;
GstVideoFrame out_frame;
- GstElement *element = GST_ELEMENT (mix);
GstVideoAggregator *vagg = GST_VIDEO_AGGREGATOR (mix);
GstGLMixerClass *mix_class = GST_GL_MIXER_GET_CLASS (mix);
GstGLMixerPrivate *priv = mix->priv;
@@ -614,47 +652,9 @@
out_tex = *(guint *) out_frame.data[0];
- GST_OBJECT_LOCK (mix);
- walk = element->sinkpads;
-
- i = mix->frames->len;
- g_ptr_array_set_size (mix->frames, element->numsinkpads);
- for (; i < element->numsinkpads; i++)
- mix->frames->pdata[i] = g_slice_new0 (GstGLMixerFrameData);
- while (walk) {
- GstGLMixerPad *pad = GST_GL_MIXER_PAD (walk->data);
- GstVideoAggregatorPad *vaggpad = walk->data;
- GstGLMixerFrameData *frame;
-
- frame = g_ptr_array_index (mix->frames, array_index);
- frame->pad = pad;
- frame->texture = 0;
-
- walk = g_list_next (walk);
-
- if (vaggpad->buffer != NULL) {
- GstVideoInfo gl_info;
- GstVideoFrame gl_frame;
- GstGLSyncMeta *sync_meta;
-
- gst_video_info_set_format (&gl_info,
- GST_VIDEO_FORMAT_RGBA,
- GST_VIDEO_INFO_WIDTH (&vaggpad->info),
- GST_VIDEO_INFO_HEIGHT (&vaggpad->info));
-
- sync_meta = gst_buffer_get_gl_sync_meta (vaggpad->buffer);
- if (sync_meta)
- gst_gl_sync_meta_wait (sync_meta, GST_GL_BASE_MIXER (mix)->context);
-
- if (gst_video_frame_map (&gl_frame, &gl_info, vaggpad->buffer,
- GST_MAP_READ | GST_MAP_GL)) {
- frame->texture = *(guint *) gl_frame.data[0];
- gst_video_frame_unmap (&gl_frame);
- }
- }
-
- ++array_index;
- }
+ if (!gst_aggregator_iterate_sinkpads (GST_AGGREGATOR (mix),
+ (GstAggregatorPadForeachFunc) _upload_frames, NULL))
+ return FALSE;
g_mutex_lock (&priv->gl_resource_lock);
if (!priv->gl_resource_ready)
@@ -668,13 +668,11 @@
goto out;
}
- mix_class->process_textures (mix, mix->frames, out_tex);
+ mix_class->process_textures (mix, out_tex);
g_mutex_unlock (&priv->gl_resource_lock);
out:
- GST_OBJECT_UNLOCK (mix);
-
gst_video_frame_unmap (&out_frame);
return res;
@@ -683,31 +681,9 @@
static gboolean
gst_gl_mixer_process_buffers (GstGLMixer * mix, GstBuffer * outbuf)
{
- GList *walk;
- guint i, array_index = 0;
- GstElement *element = GST_ELEMENT (mix);
GstGLMixerClass *mix_class = GST_GL_MIXER_GET_CLASS (mix);
- GST_OBJECT_LOCK (mix);
- walk = GST_ELEMENT (mix)->sinkpads;
- i = mix->frames->len;
- g_ptr_array_set_size (mix->frames, element->numsinkpads);
- for (; i < element->numsinkpads; i++)
- mix->frames->pdata[i] = g_slice_new0 (GstGLMixerFrameData);
- while (walk) { /* We walk with this list because it's ordered */
- GstVideoAggregatorPad *vaggpad = walk->data;
-
- walk = g_list_next (walk);
-
- if (vaggpad->buffer != NULL) {
- /* put buffer into array */
- mix->array_buffers->pdata[array_index] = vaggpad->buffer;
- }
- ++array_index;
- }
- GST_OBJECT_UNLOCK (mix);
-
- return mix_class->process_buffers (mix, mix->array_buffers, outbuf);
+ return mix_class->process_buffers (mix, outbuf);
}
static GstFlowReturn
@@ -753,32 +729,9 @@
}
}
-static void
-_free_glmixer_frame_data (GstGLMixerFrameData * frame)
-{
- g_slice_free1 (sizeof (GstGLMixerFrameData), frame);
-}
-
static gboolean
gst_gl_mixer_start (GstAggregator * agg)
{
- guint i;
- GstGLMixer *mix = GST_GL_MIXER (agg);
- GstElement *element = GST_ELEMENT (agg);
-
- GST_OBJECT_LOCK (mix);
- mix->array_buffers = g_ptr_array_new_full (element->numsinkpads, NULL);
- mix->frames = g_ptr_array_new_full (element->numsinkpads,
- (GDestroyNotify) _free_glmixer_frame_data);
-
- g_ptr_array_set_size (mix->array_buffers, element->numsinkpads);
- g_ptr_array_set_size (mix->frames, element->numsinkpads);
-
- for (i = 0; i < element->numsinkpads; i++)
- mix->frames->pdata[i] = g_slice_new0 (GstGLMixerFrameData);
-
- GST_OBJECT_UNLOCK (mix);
-
return GST_AGGREGATOR_CLASS (parent_class)->start (agg);
}
@@ -789,13 +742,6 @@
GstGLMixerClass *mixer_class = GST_GL_MIXER_GET_CLASS (mix);
GstGLContext *context = GST_GL_BASE_MIXER (mix)->context;
- GST_OBJECT_LOCK (agg);
- g_ptr_array_free (mix->frames, TRUE);
- mix->frames = NULL;
- g_ptr_array_free (mix->array_buffers, TRUE);
- mix->array_buffers = NULL;
- GST_OBJECT_UNLOCK (agg);
-
if (mixer_class->reset)
mixer_class->reset (mix);
if (mix->fbo) {
diff --git a/ext/gl/gstglmixer.h b/ext/gl/gstglmixer.h
index 01eed34..81976a7 100644
--- a/ext/gl/gstglmixer.h
+++ b/ext/gl/gstglmixer.h
@@ -31,7 +31,6 @@
typedef struct _GstGLMixer GstGLMixer;
typedef struct _GstGLMixerClass GstGLMixerClass;
typedef struct _GstGLMixerPrivate GstGLMixerPrivate;
-typedef struct _GstGLMixerFrameData GstGLMixerFrameData;
#define GST_TYPE_GL_MIXER_PAD (gst_gl_mixer_pad_get_type())
#define GST_GL_MIXER_PAD(obj) \
@@ -52,6 +51,8 @@
struct _GstGLMixerPad
{
GstGLBaseMixerPad parent;
+
+ guint current_texture;
};
struct _GstGLMixerPadClass
@@ -76,18 +77,13 @@
typedef gboolean (*GstGLMixerSetCaps) (GstGLMixer* mixer,
GstCaps* outcaps);
typedef void (*GstGLMixerReset) (GstGLMixer *mixer);
-typedef gboolean (*GstGLMixerProcessFunc) (GstGLMixer *mix,
- GPtrArray *buffers, GstBuffer *outbuf);
-typedef gboolean (*GstGLMixerProcessTextures) (GstGLMixer *mix,
- GPtrArray *frames, guint out_tex);
+typedef gboolean (*GstGLMixerProcessFunc) (GstGLMixer *mix, GstBuffer *outbuf);
+typedef gboolean (*GstGLMixerProcessTextures) (GstGLMixer *mix, guint out_tex);
struct _GstGLMixer
{
GstGLBaseMixer vaggregator;
- GPtrArray *array_buffers;
- GPtrArray *frames;
-
GLuint fbo;
GLuint depthbuffer;
@@ -106,12 +102,6 @@
GstGLMixerProcessTextures process_textures;
};
-struct _GstGLMixerFrameData
-{
- GstGLMixerPad *pad;
- guint texture;
-};
-
GType gst_gl_mixer_get_type(void);
gboolean gst_gl_mixer_process_textures (GstGLMixer * mix, GstBuffer * outbuf);
diff --git a/ext/gl/gstglmosaic.c b/ext/gl/gstglmosaic.c
index 0a98341..83ac798 100644
--- a/ext/gl/gstglmosaic.c
+++ b/ext/gl/gstglmosaic.c
@@ -70,7 +70,7 @@
GstCaps * outcaps);
static gboolean gst_gl_mosaic_process_textures (GstGLMixer * mixer,
- GPtrArray * frames, guint out_tex);
+ guint out_tex);
static void gst_gl_mosaic_callback (gpointer stuff);
//vertex source
@@ -142,7 +142,6 @@
gst_gl_mosaic_init (GstGLMosaic * mosaic)
{
mosaic->shader = NULL;
- mosaic->input_frames = NULL;
}
static void
@@ -176,8 +175,6 @@
{
GstGLMosaic *mosaic = GST_GL_MOSAIC (mixer);
- mosaic->input_frames = NULL;
-
//blocking call, wait the opengl thread has destroyed the shader
if (mosaic->shader)
gst_gl_context_del_shader (GST_GL_BASE_MIXER (mixer)->context,
@@ -196,13 +193,10 @@
}
static gboolean
-gst_gl_mosaic_process_textures (GstGLMixer * mix, GPtrArray * frames,
- guint out_tex)
+gst_gl_mosaic_process_textures (GstGLMixer * mix, guint out_tex)
{
GstGLMosaic *mosaic = GST_GL_MOSAIC (mix);
- mosaic->input_frames = frames;
-
//blocking call, use a FBO
gst_gl_context_use_fbo_v2 (GST_GL_BASE_MIXER (mix)->context,
GST_VIDEO_INFO_WIDTH (&GST_VIDEO_AGGREGATOR (mix)->info),
@@ -219,6 +213,7 @@
GstGLMosaic *mosaic = GST_GL_MOSAIC (stuff);
GstGLMixer *mixer = GST_GL_MIXER (mosaic);
GstGLFuncs *gl = GST_GL_BASE_MIXER (mixer)->context->gl_vtable;
+ GList *walk;
static GLfloat xrot = 0;
static GLfloat yrot = 0;
@@ -255,8 +250,10 @@
attr_texture_loc =
gst_gl_shader_get_attribute_location (mosaic->shader, "a_texCoord");
- while (count < mosaic->input_frames->len && count < 6) {
- GstGLMixerFrameData *frame;
+ GST_OBJECT_LOCK (mosaic);
+ walk = GST_ELEMENT (mosaic)->sinkpads;
+ while (walk) {
+ GstGLMixerPad *pad = walk->data;
/* *INDENT-OFF* */
gfloat v_vertices[] = {
/* front face */
@@ -294,20 +291,13 @@
guint in_tex;
guint width, height;
- frame = g_ptr_array_index (mosaic->input_frames, count);
- if (!frame) {
- GST_DEBUG ("skipping texture, null frame");
- count++;
- continue;
- }
- in_tex = frame->texture;
- width = GST_VIDEO_INFO_WIDTH (&GST_VIDEO_AGGREGATOR_PAD (frame->pad)->info);
- height =
- GST_VIDEO_INFO_HEIGHT (&GST_VIDEO_AGGREGATOR_PAD (frame->pad)->info);
+ in_tex = pad->current_texture;
+ width = GST_VIDEO_INFO_WIDTH (&GST_VIDEO_AGGREGATOR_PAD (pad)->info);
+ height = GST_VIDEO_INFO_HEIGHT (&GST_VIDEO_AGGREGATOR_PAD (pad)->info);
if (!in_tex || width <= 0 || height <= 0) {
- GST_DEBUG ("skipping texture:%u frame:%p width:%u height %u",
- in_tex, frame, width, height);
+ GST_DEBUG ("skipping texture:%u pad:%p width:%u height %u",
+ in_tex, pad, width, height);
count++;
continue;
}
@@ -335,7 +325,10 @@
gl->DrawElements (GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, indices);
++count;
+
+ walk = g_list_next (walk);
}
+ GST_OBJECT_UNLOCK (mosaic);
gl->DisableVertexAttribArray (attr_position_loc);
gl->DisableVertexAttribArray (attr_texture_loc);
diff --git a/ext/gl/gstglmosaic.h b/ext/gl/gstglmosaic.h
index 49c99e7..e0b340c 100644
--- a/ext/gl/gstglmosaic.h
+++ b/ext/gl/gstglmosaic.h
@@ -40,7 +40,6 @@
GstGLMixer mixer;
GstGLShader *shader;
- GPtrArray *input_frames;
};
struct _GstGLMosaicClass
diff --git a/ext/gl/gstglsinkbin.c b/ext/gl/gstglsinkbin.c
index cab615f..c9c5a72 100644
--- a/ext/gl/gstglsinkbin.c
+++ b/ext/gl/gstglsinkbin.c
@@ -42,6 +42,8 @@
gpointer g_iface_data);
static void gst_gl_sink_bin_navigation_interface_init (gpointer g_iface,
gpointer g_iface_data);
+static void gst_gl_sink_bin_color_balance_init (gpointer g_iface,
+ gpointer g_iface_data);
#define DEFAULT_SYNC TRUE
#define DEFAULT_MAX_LATENESS -1
@@ -54,6 +56,12 @@
#define DEFAULT_THROTTLE_TIME 0
#define DEFAULT_MAX_BITRATE 0
+/* GstGLColorBalance properties */
+#define DEFAULT_PROP_CONTRAST 1.0
+#define DEFAULT_PROP_BRIGHTNESS 0.0
+#define DEFAULT_PROP_HUE 0.0
+#define DEFAULT_PROP_SATURATION 1.0
+
enum
{
PROP_0,
@@ -70,6 +78,10 @@
PROP_RENDER_DELAY,
PROP_THROTTLE_TIME,
PROP_MAX_BITRATE,
+ PROP_CONTRAST,
+ PROP_BRIGHTNESS,
+ PROP_HUE,
+ PROP_SATURATION,
};
enum
@@ -87,6 +99,8 @@
gst_gl_sink_bin_video_overlay_init);
G_IMPLEMENT_INTERFACE (GST_TYPE_NAVIGATION,
gst_gl_sink_bin_navigation_interface_init);
+ G_IMPLEMENT_INTERFACE (GST_TYPE_COLOR_BALANCE,
+ gst_gl_sink_bin_color_balance_init)
GST_DEBUG_CATEGORY_INIT (gst_debug_gl_sink_bin, "glimagesink", 0,
"OpenGL Video Sink Bin"));
@@ -166,6 +180,23 @@
G_MAXUINT64, DEFAULT_MAX_BITRATE,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ /* colorbalance */
+ g_object_class_install_property (gobject_class, PROP_CONTRAST,
+ g_param_spec_double ("contrast", "Contrast", "contrast",
+ 0.0, 2.0, DEFAULT_PROP_CONTRAST,
+ GST_PARAM_CONTROLLABLE | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class, PROP_BRIGHTNESS,
+ g_param_spec_double ("brightness", "Brightness", "brightness", -1.0, 1.0,
+ DEFAULT_PROP_BRIGHTNESS,
+ GST_PARAM_CONTROLLABLE | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class, PROP_HUE,
+ g_param_spec_double ("hue", "Hue", "hue", -1.0, 1.0, DEFAULT_PROP_HUE,
+ GST_PARAM_CONTROLLABLE | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class, PROP_SATURATION,
+ g_param_spec_double ("saturation", "Saturation", "saturation", 0.0, 2.0,
+ DEFAULT_PROP_SATURATION,
+ GST_PARAM_CONTROLLABLE | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
/**
* GstGLSinkBin::create-element:
* @object: the #GstGLSinkBin
@@ -198,11 +229,14 @@
self->upload = gst_element_factory_make ("glupload", NULL);
self->convert = gst_element_factory_make ("glcolorconvert", NULL);
+ self->balance = gst_element_factory_make ("glcolorbalance", NULL);
res &= gst_bin_add (GST_BIN (self), self->upload);
res &= gst_bin_add (GST_BIN (self), self->convert);
+ res &= gst_bin_add (GST_BIN (self), self->balance);
res &= gst_element_link_pads (self->upload, "src", self->convert, "sink");
+ res &= gst_element_link_pads (self->convert, "src", self->balance, "sink");
pad = gst_element_get_static_pad (self->upload, "sink");
if (!pad) {
@@ -214,6 +248,15 @@
gst_object_unref (pad);
}
+ gst_gl_object_add_control_binding_proxy (GST_OBJECT (self->balance),
+ GST_OBJECT (self), "contrast");
+ gst_gl_object_add_control_binding_proxy (GST_OBJECT (self->balance),
+ GST_OBJECT (self), "brightness");
+ gst_gl_object_add_control_binding_proxy (GST_OBJECT (self->balance),
+ GST_OBJECT (self), "hue");
+ gst_gl_object_add_control_binding_proxy (GST_OBJECT (self->balance),
+ GST_OBJECT (self), "saturation");
+
if (!res) {
GST_WARNING_OBJECT (self, "Failed to add/connect the necessary machinery");
}
@@ -227,7 +270,7 @@
gst_object_set_name (GST_OBJECT (self->sink), "sink");
res &= gst_bin_add (GST_BIN (self), self->sink);
- res &= gst_element_link_pads (self->convert, "src", self->sink, "sink");
+ res &= gst_element_link_pads (self->balance, "src", self->sink, "sink");
if (!res)
GST_ERROR_OBJECT (self, "Failed to link sink element into the pipeline");
@@ -281,6 +324,13 @@
}
break;
}
+ case PROP_CONTRAST:
+ case PROP_BRIGHTNESS:
+ case PROP_HUE:
+ case PROP_SATURATION:
+ if (self->balance)
+ g_object_set_property (G_OBJECT (self->balance), pspec->name, value);
+ break;
default:
if (self->sink)
g_object_set_property (G_OBJECT (self->sink), pspec->name, value);
@@ -298,6 +348,13 @@
case PROP_SINK:
g_value_set_object (value, self->sink);
break;
+ case PROP_CONTRAST:
+ case PROP_BRIGHTNESS:
+ case PROP_HUE:
+ case PROP_SATURATION:
+ if (self->balance)
+ g_object_get_property (G_OBJECT (self->balance), pspec->name, value);
+ break;
default:
if (self->sink)
g_object_get_property (G_OBJECT (self->sink), pspec->name, value);
@@ -454,3 +511,89 @@
iface->set_render_rectangle = gst_gl_sink_bin_overlay_set_render_rectangle;
iface->set_window_handle = gst_gl_sink_bin_overlay_set_window_handle;
}
+
+static const GList *
+gst_gl_sink_bin_color_balance_list_channels (GstColorBalance * balance)
+{
+ GstGLSinkBin *self = GST_GL_SINK_BIN (balance);
+ GstColorBalance *balance_element = NULL;
+ const GList *list = NULL;
+
+ balance_element =
+ GST_COLOR_BALANCE (gst_bin_get_by_interface (GST_BIN (self),
+ GST_TYPE_COLOR_BALANCE));
+
+ if (balance_element) {
+ list = gst_color_balance_list_channels (balance_element);
+ gst_object_unref (balance_element);
+ }
+
+ return list;
+}
+
+static void
+gst_gl_sink_bin_color_balance_set_value (GstColorBalance * balance,
+ GstColorBalanceChannel * channel, gint value)
+{
+ GstGLSinkBin *self = GST_GL_SINK_BIN (balance);
+ GstColorBalance *balance_element = NULL;
+
+ balance_element =
+ GST_COLOR_BALANCE (gst_bin_get_by_interface (GST_BIN (self),
+ GST_TYPE_COLOR_BALANCE));
+
+ if (balance_element) {
+ gst_color_balance_set_value (balance_element, channel, value);
+ gst_object_unref (balance_element);
+ }
+}
+
+static gint
+gst_gl_sink_bin_color_balance_get_value (GstColorBalance * balance,
+ GstColorBalanceChannel * channel)
+{
+ GstGLSinkBin *self = GST_GL_SINK_BIN (balance);
+ GstColorBalance *balance_element = NULL;
+ gint val = 0;
+
+ balance_element =
+ GST_COLOR_BALANCE (gst_bin_get_by_interface (GST_BIN (self),
+ GST_TYPE_COLOR_BALANCE));
+
+ if (balance_element) {
+ val = gst_color_balance_get_value (balance_element, channel);
+ gst_object_unref (balance_element);
+ }
+
+ return val;
+}
+
+static GstColorBalanceType
+gst_gl_sink_bin_color_balance_get_balance_type (GstColorBalance * balance)
+{
+ GstGLSinkBin *self = GST_GL_SINK_BIN (balance);
+ GstColorBalance *balance_element = NULL;
+ GstColorBalanceType type = 0;
+
+ balance_element =
+ GST_COLOR_BALANCE (gst_bin_get_by_interface (GST_BIN (self),
+ GST_TYPE_COLOR_BALANCE));
+
+ if (balance_element) {
+ type = gst_color_balance_get_balance_type (balance_element);
+ gst_object_unref (balance_element);
+ }
+
+ return type;
+}
+
+static void
+gst_gl_sink_bin_color_balance_init (gpointer g_iface, gpointer g_iface_data)
+{
+ GstColorBalanceInterface *iface = (GstColorBalanceInterface *) g_iface;
+
+ iface->list_channels = gst_gl_sink_bin_color_balance_list_channels;
+ iface->set_value = gst_gl_sink_bin_color_balance_set_value;
+ iface->get_value = gst_gl_sink_bin_color_balance_get_value;
+ iface->get_balance_type = gst_gl_sink_bin_color_balance_get_balance_type;
+}
diff --git a/ext/gl/gstglsinkbin.h b/ext/gl/gstglsinkbin.h
index 1dbb40d..f4529d0 100644
--- a/ext/gl/gstglsinkbin.h
+++ b/ext/gl/gstglsinkbin.h
@@ -56,6 +56,7 @@
GstElement *upload;
GstElement *convert;
+ GstElement *balance;
GstElement *sink;
};
diff --git a/ext/gl/gstglstereomix.c b/ext/gl/gstglstereomix.c
index c342a23..fee1080 100644
--- a/ext/gl/gstglstereomix.c
+++ b/ext/gl/gstglstereomix.c
@@ -30,15 +30,27 @@
#define GST_CAT_DEFAULT gst_gl_stereo_mix_debug
GST_DEBUG_CATEGORY (gst_gl_stereo_mix_debug);
+G_DEFINE_TYPE (GstGLStereoMixPad, gst_gl_stereo_mix_pad, GST_TYPE_GL_MIXER_PAD);
+
+static void
+gst_gl_stereo_mix_pad_class_init (GstGLStereoMixPadClass * klass)
+{
+}
+
+static void
+gst_gl_stereo_mix_pad_init (GstGLStereoMixPad * pad)
+{
+}
+
#define gst_gl_stereo_mix_parent_class parent_class
G_DEFINE_TYPE (GstGLStereoMix, gst_gl_stereo_mix, GST_TYPE_GL_MIXER);
-static GstCaps *_update_caps (GstVideoAggregator * vagg, GstCaps * caps);
+static GstCaps *_update_caps (GstVideoAggregator * vagg, GstCaps * caps,
+ GstCaps * filter);
static gboolean _negotiated_caps (GstVideoAggregator * videoaggregator,
GstCaps * caps);
gboolean gst_gl_stereo_mix_make_output (GstGLStereoMix * mix);
-static gboolean gst_gl_stereo_mix_process_frames (GstGLStereoMix * mixer,
- GPtrArray * in_frames);
+static gboolean gst_gl_stereo_mix_process_frames (GstGLStereoMix * mixer);
#define DEFAULT_DOWNMIX GST_GL_STEREO_DOWNMIX_ANAGLYPH_GREEN_MAGENTA_DUBOIS
@@ -143,6 +155,7 @@
gst_element_class_add_pad_template (element_class,
gst_static_pad_template_get (&sink_factory));
+ agg_class->sinkpads_type = GST_TYPE_GL_STEREO_MIX_PAD;
agg_class->stop = gst_gl_stereo_mix_stop;
agg_class->start = gst_gl_stereo_mix_start;
agg_class->src_query = gst_gl_stereo_mix_src_query;
@@ -153,7 +166,6 @@
videoaggregator_class->get_output_buffer =
gst_gl_stereo_mix_get_output_buffer;
videoaggregator_class->find_best_format = gst_gl_stereo_mix_find_best_format;
- videoaggregator_class->preserve_update_caps_result = TRUE;
base_mix_class->supported_gl_api = GST_GL_API_OPENGL | GST_GL_API_OPENGL3;
}
@@ -250,10 +262,8 @@
gboolean
gst_gl_stereo_mix_make_output (GstGLStereoMix * mix)
{
- guint i;
GList *walk;
gboolean res = FALSE;
- guint array_index = 0;
GstElement *element = GST_ELEMENT (mix);
gboolean missing_buffer = FALSE;
@@ -261,33 +271,23 @@
GST_OBJECT_LOCK (mix);
walk = element->sinkpads;
-
- i = mix->frames->len;
- g_ptr_array_set_size (mix->frames, element->numsinkpads);
- for (; i < element->numsinkpads; i++)
- mix->frames->pdata[i] = g_slice_new0 (GstGLStereoMixFrameData);
while (walk) {
- GstGLMixerPad *pad = GST_GL_MIXER_PAD (walk->data);
GstVideoAggregatorPad *vaggpad = walk->data;
- GstGLStereoMixFrameData *frame;
+ GstGLStereoMixPad *pad = walk->data;
GST_LOG_OBJECT (mix, "Checking pad %" GST_PTR_FORMAT, vaggpad);
- frame = g_ptr_array_index (mix->frames, array_index);
- frame->base.pad = pad;
- frame->buf = NULL;
-
- walk = g_list_next (walk);
-
if (vaggpad->buffer != NULL) {
- frame->buf = vaggpad->buffer;
+ pad->current_buffer = vaggpad->buffer;
- GST_DEBUG_OBJECT (pad, "Got buffer %" GST_PTR_FORMAT, frame->buf);
+ GST_DEBUG_OBJECT (pad, "Got buffer %" GST_PTR_FORMAT,
+ pad->current_buffer);
} else {
GST_LOG_OBJECT (mix, "No buffer on pad %" GST_PTR_FORMAT, vaggpad);
+ pad->current_buffer = NULL;
missing_buffer = TRUE;
}
- ++array_index;
+ walk = g_list_next (walk);
}
if (missing_buffer) {
/* We're still waiting for a buffer to turn up on at least one input */
@@ -297,7 +297,7 @@
}
/* Copy GL memory from each input frame to the output */
- if (!gst_gl_stereo_mix_process_frames (mix, mix->frames)) {
+ if (!gst_gl_stereo_mix_process_frames (mix)) {
GST_LOG_OBJECT (mix, "Failed to process frames to output");
goto out;
}
@@ -371,41 +371,18 @@
}
}
-static void
-_free_glmixer_frame_data (GstGLStereoMixFrameData * frame)
-{
- if (frame == NULL)
- return;
- if (frame->buf)
- gst_buffer_unref (frame->buf);
- g_slice_free1 (sizeof (GstGLStereoMixFrameData), frame);
-}
-
static gboolean
gst_gl_stereo_mix_start (GstAggregator * agg)
{
- guint i;
GstGLStereoMix *mix = GST_GL_STEREO_MIX (agg);
- GstElement *element = GST_ELEMENT (agg);
if (!GST_AGGREGATOR_CLASS (parent_class)->start (agg))
return FALSE;
GST_OBJECT_LOCK (mix);
- mix->array_buffers = g_ptr_array_new_full (element->numsinkpads,
- (GDestroyNotify) _free_glmixer_frame_data);
- mix->frames = g_ptr_array_new_full (element->numsinkpads, NULL);
-
- g_ptr_array_set_size (mix->array_buffers, element->numsinkpads);
- g_ptr_array_set_size (mix->frames, element->numsinkpads);
-
- for (i = 0; i < element->numsinkpads; i++)
- mix->frames->pdata[i] = g_slice_new0 (GstGLStereoMixFrameData);
-
mix->viewconvert = gst_gl_view_convert_new ();
g_object_set (G_OBJECT (mix->viewconvert), "downmix-mode",
mix->downmix_mode, NULL);
-
GST_OBJECT_UNLOCK (mix);
return TRUE;
@@ -419,13 +396,6 @@
if (!GST_AGGREGATOR_CLASS (parent_class)->stop (agg))
return FALSE;
- GST_OBJECT_LOCK (agg);
- g_ptr_array_free (mix->frames, TRUE);
- mix->frames = NULL;
- g_ptr_array_free (mix->array_buffers, TRUE);
- mix->array_buffers = NULL;
- GST_OBJECT_UNLOCK (agg);
-
if (mix->viewconvert) {
gst_object_unref (mix->viewconvert);
mix->viewconvert = NULL;
@@ -471,7 +441,7 @@
/* Return the possible output caps we decided in find_best_format() */
static GstCaps *
-_update_caps (GstVideoAggregator * vagg, GstCaps * caps)
+_update_caps (GstVideoAggregator * vagg, GstCaps * caps, GstCaps * filter)
{
GstGLStereoMix *mix = GST_GL_STEREO_MIX (vagg);
@@ -511,34 +481,34 @@
return TRUE;
}
+/* called with the object lock held */
static gboolean
-gst_gl_stereo_mix_process_frames (GstGLStereoMix * mixer, GPtrArray * frames)
+gst_gl_stereo_mix_process_frames (GstGLStereoMix * mixer)
{
GstVideoAggregator *vagg = GST_VIDEO_AGGREGATOR (mixer);
GstBuffer *converted_buffer, *inbuf;
GstVideoInfo *out_info = &vagg->info;
- gint count = 0;
#ifndef G_DISABLE_ASSERT
gint n;
#endif
gint v, views;
gint valid_views = 0;
+ GList *walk;
inbuf = gst_buffer_new ();
- while (count < frames->len) {
- GstGLStereoMixFrameData *frame;
+ walk = GST_ELEMENT (mixer)->sinkpads;
+ while (walk) {
+ GstGLStereoMixPad *pad = walk->data;
GstMemory *in_mem;
- frame = g_ptr_array_index (frames, count);
- GST_LOG_OBJECT (mixer, "Handling frame %d", count);
+ GST_LOG_OBJECT (mixer, "Handling frame %d", valid_views);
- if (!frame) {
+ if (!pad || !pad->current_buffer) {
GST_DEBUG ("skipping texture, null frame");
- count++;
continue;
}
- in_mem = gst_buffer_get_memory (frame->buf, 0);
+ in_mem = gst_buffer_get_memory (pad->current_buffer, 0);
GST_LOG_OBJECT (mixer,
"Appending memory %" GST_PTR_FORMAT " to intermediate buffer", in_mem);
@@ -551,10 +521,10 @@
*/
gst_buffer_append_memory (inbuf, in_mem);
/* Use parent buffer meta to keep input buffer alive */
- gst_buffer_add_parent_buffer_meta (inbuf, frame->buf);
+ gst_buffer_add_parent_buffer_meta (inbuf, pad->current_buffer);
- count++;
valid_views++;
+ walk = g_list_next (walk);
}
if (mixer->mix_info.views != valid_views) {
diff --git a/ext/gl/gstglstereomix.h b/ext/gl/gstglstereomix.h
index 0c06d42..b0f1bd2 100644
--- a/ext/gl/gstglstereomix.h
+++ b/ext/gl/gstglstereomix.h
@@ -40,15 +40,30 @@
typedef struct _GstGLStereoMix GstGLStereoMix;
typedef struct _GstGLStereoMixClass GstGLStereoMixClass;
-typedef struct _GstGLStereoMixFrameData GstGLStereoMixFrameData;
+typedef struct _GstGLStereoMixPad GstGLStereoMixPad;
+typedef struct _GstGLStereoMixPadClass GstGLStereoMixPadClass;
+
+struct _GstGLStereoMixPad
+{
+ GstGLMixerPad mixer_pad;
+
+ gboolean mapped;
+ GstBuffer *current_buffer;
+};
+
+struct _GstGLStereoMixPadClass
+{
+ GstGLMixerPadClass mixer_pad_class;
+};
+
+#define GST_TYPE_GL_STEREO_MIX_PAD (gst_gl_stereo_mix_pad_get_type ())
+GType gst_gl_stereo_mix_pad_get_type (void);
+
struct _GstGLStereoMix
{
GstGLMixer mixer;
- GPtrArray *array_buffers;
- GPtrArray *frames;
-
GLuint out_tex_id;
GstGLViewConvert *viewconvert;
@@ -69,13 +84,6 @@
GstGLMixerClass mixer_class;
};
-struct _GstGLStereoMixFrameData
-{
- GstGLMixerFrameData base;
- gboolean mapped;
- GstBuffer *buf;
-};
-
GType gst_gl_stereo_mix_get_type(void);
G_END_DECLS
diff --git a/ext/gl/gstgltransformation.c b/ext/gl/gstgltransformation.c
index 7d1472f..779447c 100644
--- a/ext/gl/gstgltransformation.c
+++ b/ext/gl/gstgltransformation.c
@@ -1,6 +1,7 @@
/*
* GStreamer
* Copyright (C) 2014 Lubosz Sarnecki <lubosz@gmail.com>
+ * Copyright (C) 2016 Matthew Waters <matthew@centricular.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -86,6 +87,8 @@
static gboolean gst_gl_transformation_set_caps (GstGLFilter * filter,
GstCaps * incaps, GstCaps * outcaps);
+static gboolean gst_gl_transformation_src_event (GstBaseTransform * trans,
+ GstEvent * event);
static void gst_gl_transformation_reset_gl (GstGLFilter * filter);
static gboolean gst_gl_transformation_stop (GstBaseTransform * trans);
@@ -126,13 +129,17 @@
{
GObjectClass *gobject_class;
GstElementClass *element_class;
+ GstBaseTransformClass *base_transform_class;
gobject_class = (GObjectClass *) klass;
element_class = GST_ELEMENT_CLASS (klass);
+ base_transform_class = GST_BASE_TRANSFORM_CLASS (klass);
gobject_class->set_property = gst_gl_transformation_set_property;
gobject_class->get_property = gst_gl_transformation_get_property;
+ base_transform_class->src_event = gst_gl_transformation_src_event;
+
GST_GL_FILTER_CLASS (klass)->init_fbo = gst_gl_transformation_init_shader;
GST_GL_FILTER_CLASS (klass)->display_reset_cb =
gst_gl_transformation_reset_gl;
@@ -192,12 +199,14 @@
g_object_class_install_property (gobject_class, PROP_SCALE_X,
g_param_spec_float ("scale-x", "X Scale",
"Scale multiplier for the X-Axis.",
- 0.0, G_MAXFLOAT, 1.0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ -G_MAXFLOAT, G_MAXFLOAT, 1.0,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class, PROP_SCALE_Y,
g_param_spec_float ("scale-y", "Y Scale",
"Scale multiplier for the Y-Axis.",
- 0.0, G_MAXFLOAT, 1.0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ -G_MAXFLOAT, G_MAXFLOAT, 1.0,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
/* Pivot */
g_object_class_install_property (gobject_class, PROP_PIVOT_X,
@@ -218,18 +227,19 @@
g_param_spec_float ("pivot-z", "Z Pivot",
"Relevant for rotation in 3D space. You look into the negative Z axis direction",
-G_MAXFLOAT, G_MAXFLOAT, 0.0,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
/* MVP */
g_object_class_install_property (gobject_class, PROP_MVP,
g_param_spec_boxed ("mvp-matrix",
"Modelview Projection Matrix",
"The final Graphene 4x4 Matrix for transformation",
- GRAPHENE_TYPE_MATRIX, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+ GRAPHENE_TYPE_MATRIX, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
gst_element_class_set_metadata (element_class, "OpenGL transformation filter",
"Filter/Effect/Video", "Transform video on the GPU",
- "Lubosz Sarnecki <lubosz@gmail.com>");
+ "Lubosz Sarnecki <lubosz@gmail.com>\n"
+ "Matthew Waters <matthew@centricular.com>");
GST_GL_BASE_FILTER_CLASS (klass)->supported_gl_api =
GST_GL_API_OPENGL | GST_GL_API_OPENGL3 | GST_GL_API_GLES2;
@@ -255,69 +265,95 @@
static void
gst_gl_transformation_build_mvp (GstGLTransformation * transformation)
{
- graphene_point3d_t translation_vector =
- GRAPHENE_POINT3D_INIT (transformation->xtranslation * 2.0 *
- transformation->aspect,
- transformation->ytranslation * 2.0,
- transformation->ztranslation * 2.0);
+ GstGLFilter *filter = GST_GL_FILTER (transformation);
+ graphene_matrix_t modelview_matrix;
- graphene_point3d_t pivot_vector =
- GRAPHENE_POINT3D_INIT (-transformation->xpivot * transformation->aspect,
- transformation->ypivot,
- -transformation->zpivot);
-
- graphene_point3d_t negative_pivot_vector;
-
- graphene_matrix_t model_matrix;
- graphene_matrix_t projection_matrix;
- graphene_matrix_t view_matrix;
- graphene_matrix_t vp_matrix;
-
- graphene_vec3_t eye;
- graphene_vec3_t center;
- graphene_vec3_t up;
-
- graphene_vec3_init (&eye, 0.f, 0.f, 1.f);
- graphene_vec3_init (¢er, 0.f, 0.f, 0.f);
- graphene_vec3_init (&up, 0.f, 1.f, 0.f);
-
- /* Translate into pivot origin */
- graphene_matrix_init_translate (&model_matrix, &pivot_vector);
-
- /* Scale */
- graphene_matrix_scale (&model_matrix,
- transformation->xscale, transformation->yscale, 1.0f);
-
- /* Rotation */
- graphene_matrix_rotate (&model_matrix,
- transformation->xrotation, graphene_vec3_x_axis ());
- graphene_matrix_rotate (&model_matrix,
- transformation->yrotation, graphene_vec3_y_axis ());
- graphene_matrix_rotate (&model_matrix,
- transformation->zrotation, graphene_vec3_z_axis ());
-
- /* Translate back from pivot origin */
- graphene_point3d_scale (&pivot_vector, -1.0, &negative_pivot_vector);
- graphene_matrix_translate (&model_matrix, &negative_pivot_vector);
-
- /* Translation */
- graphene_matrix_translate (&model_matrix, &translation_vector);
-
- if (transformation->ortho) {
- graphene_matrix_init_ortho (&projection_matrix,
- -transformation->aspect, transformation->aspect,
- -1, 1, transformation->znear, transformation->zfar);
+ if (!filter->out_info.finfo) {
+ graphene_matrix_init_identity (&transformation->model_matrix);
+ graphene_matrix_init_identity (&transformation->view_matrix);
+ graphene_matrix_init_identity (&transformation->projection_matrix);
} else {
- graphene_matrix_init_perspective (&projection_matrix,
- transformation->fov,
- transformation->aspect, transformation->znear, transformation->zfar);
+ graphene_point3d_t translation_vector =
+ GRAPHENE_POINT3D_INIT (transformation->xtranslation * 2.0 *
+ transformation->aspect,
+ transformation->ytranslation * 2.0,
+ transformation->ztranslation * 2.0);
+
+ graphene_point3d_t pivot_vector =
+ GRAPHENE_POINT3D_INIT (-transformation->xpivot * transformation->aspect,
+ transformation->ypivot,
+ -transformation->zpivot);
+
+ graphene_point3d_t negative_pivot_vector;
+
+ graphene_vec3_t eye;
+ graphene_vec3_t center;
+ graphene_vec3_t up;
+
+ gboolean current_passthrough;
+ gboolean passthrough;
+
+ graphene_vec3_init (&eye, 0.f, 0.f, 1.f);
+ graphene_vec3_init (¢er, 0.f, 0.f, 0.f);
+ graphene_vec3_init (&up, 0.f, 1.f, 0.f);
+
+ /* Translate into pivot origin */
+ graphene_matrix_init_translate (&transformation->model_matrix,
+ &pivot_vector);
+
+ /* Scale */
+ graphene_matrix_scale (&transformation->model_matrix,
+ transformation->xscale, transformation->yscale, 1.0f);
+
+ /* Rotation */
+ graphene_matrix_rotate (&transformation->model_matrix,
+ transformation->xrotation, graphene_vec3_x_axis ());
+ graphene_matrix_rotate (&transformation->model_matrix,
+ transformation->yrotation, graphene_vec3_y_axis ());
+ graphene_matrix_rotate (&transformation->model_matrix,
+ transformation->zrotation, graphene_vec3_z_axis ());
+
+ /* Translate back from pivot origin */
+ graphene_point3d_scale (&pivot_vector, -1.0, &negative_pivot_vector);
+ graphene_matrix_translate (&transformation->model_matrix,
+ &negative_pivot_vector);
+
+ /* Translation */
+ graphene_matrix_translate (&transformation->model_matrix,
+ &translation_vector);
+
+ if (transformation->ortho) {
+ graphene_matrix_init_ortho (&transformation->projection_matrix,
+ -transformation->aspect, transformation->aspect,
+ -1, 1, transformation->znear, transformation->zfar);
+ } else {
+ graphene_matrix_init_perspective (&transformation->projection_matrix,
+ transformation->fov,
+ transformation->aspect, transformation->znear, transformation->zfar);
+ }
+
+ graphene_matrix_init_look_at (&transformation->view_matrix, &eye, ¢er,
+ &up);
+
+ current_passthrough =
+ gst_base_transform_is_passthrough (GST_BASE_TRANSFORM (transformation));
+ passthrough = transformation->xtranslation == 0.
+ && transformation->ytranslation == 0.
+ && transformation->ztranslation == 0. && transformation->xrotation == 0.
+ && transformation->yrotation == 0. && transformation->zrotation == 0.
+ && transformation->xscale == 1. && transformation->yscale == 1.
+ && gst_video_info_is_equal (&filter->in_info, &filter->out_info);
+ gst_base_transform_set_passthrough (GST_BASE_TRANSFORM (transformation),
+ passthrough);
+ if (current_passthrough != passthrough) {
+ gst_base_transform_reconfigure_src (GST_BASE_TRANSFORM (transformation));
+ }
}
- graphene_matrix_init_look_at (&view_matrix, &eye, ¢er, &up);
-
- graphene_matrix_multiply (&view_matrix, &projection_matrix, &vp_matrix);
- graphene_matrix_multiply (&model_matrix, &vp_matrix,
- &transformation->mvp_matrix);
+ graphene_matrix_multiply (&transformation->model_matrix,
+ &transformation->view_matrix, &modelview_matrix);
+ graphene_matrix_multiply (&modelview_matrix,
+ &transformation->projection_matrix, &transformation->mvp_matrix);
}
static void
@@ -366,11 +402,6 @@
case PROP_PIVOT_Z:
filter->zpivot = g_value_get_float (value);
break;
- case PROP_MVP:
- if (g_value_get_boxed (value) != NULL)
- filter->mvp_matrix = *((graphene_matrix_t *) g_value_get_boxed (value));
- return;
- break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -451,6 +482,152 @@
}
static void
+_find_plane_normal (const graphene_point3d_t * A, const graphene_point3d_t * B,
+ const graphene_point3d_t * C, graphene_vec3_t * plane_normal)
+{
+ graphene_vec3_t U, V, A_v, B_v, C_v;
+
+ graphene_point3d_to_vec3 (A, &A_v);
+ graphene_point3d_to_vec3 (B, &B_v);
+ graphene_point3d_to_vec3 (C, &C_v);
+
+ graphene_vec3_subtract (&B_v, &A_v, &U);
+ graphene_vec3_subtract (&C_v, &A_v, &V);
+
+ graphene_vec3_cross (&U, &V, plane_normal);
+ graphene_vec3_normalize (plane_normal, plane_normal);
+}
+
+static void
+_find_model_coords (GstGLTransformation * transformation,
+ const graphene_point3d_t * screen_coords, graphene_point3d_t * res)
+{
+ graphene_matrix_t modelview, inverse_proj, inverse_modelview;
+ graphene_vec4_t v1, v2;
+ graphene_point3d_t p1;
+ gfloat w;
+
+ graphene_vec4_init (&v1, screen_coords->x, screen_coords->y, screen_coords->z,
+ 1.);
+ graphene_matrix_inverse (&transformation->projection_matrix, &inverse_proj);
+ graphene_matrix_transform_vec4 (&inverse_proj, &v1, &v2);
+
+ /* perspective division */
+ w = graphene_vec4_get_w (&v2);
+ p1.x = graphene_vec4_get_x (&v2) / w;
+ p1.y = graphene_vec4_get_y (&v2) / w;
+ p1.z = graphene_vec4_get_z (&v2) / w;
+
+ graphene_matrix_multiply (&transformation->model_matrix,
+ &transformation->view_matrix, &modelview);
+ graphene_matrix_inverse (&modelview, &inverse_modelview);
+ graphene_matrix_transform_point3d (&inverse_modelview, &p1, res);
+}
+
+static gboolean
+gst_gl_transformation_src_event (GstBaseTransform * trans, GstEvent * event)
+{
+ GstGLTransformation *transformation = GST_GL_TRANSFORMATION (trans);
+ GstGLFilter *filter = GST_GL_FILTER (trans);
+ gdouble new_x, new_y, x, y;
+ GstStructure *structure;
+ gboolean ret;
+
+ GST_DEBUG_OBJECT (trans, "handling %s event", GST_EVENT_TYPE_NAME (event));
+
+ switch (GST_EVENT_TYPE (event)) {
+ case GST_EVENT_NAVIGATION:
+ event =
+ GST_EVENT (gst_mini_object_make_writable (GST_MINI_OBJECT (event)));
+
+ structure = (GstStructure *) gst_event_get_structure (event);
+ if (gst_structure_get_double (structure, "pointer_x", &x) &&
+ gst_structure_get_double (structure, "pointer_y", &y)) {
+ gfloat w = (gfloat) GST_VIDEO_INFO_WIDTH (&filter->in_info);
+ gfloat h = (gfloat) GST_VIDEO_INFO_HEIGHT (&filter->in_info);
+ graphene_point3d_t screen_point_near, screen_point_far;
+ graphene_point3d_t model_coord_near, model_coord_far;
+ graphene_point3d_t bottom_left, bottom_right, top_left, top_right;
+ graphene_point3d_t result;
+ graphene_vec3_t plane_normal;
+ graphene_plane_t video_plane;
+ gfloat d;
+
+ GST_DEBUG_OBJECT (trans, "converting %f,%f", x, y);
+
+ graphene_point3d_init (&top_left, -1., 1., 0.);
+ graphene_point3d_init (&top_right, 1., 1., 0.);
+ graphene_point3d_init (&bottom_left, -1., -1., 0.);
+ graphene_point3d_init (&bottom_right, 1., -1., 0.);
+ /* to NDC */
+ graphene_point3d_init (&screen_point_near, 2. * x / w - 1.,
+ 2. * y / h - 1., -1.);
+ graphene_point3d_init (&screen_point_far, 2. * x / w - 1.,
+ 2. * y / h - 1., 1.);
+
+ _find_plane_normal (&bottom_left, &top_left, &top_right, &plane_normal);
+ graphene_plane_init_from_point (&video_plane, &plane_normal, &top_left);
+ d = graphene_plane_get_constant (&video_plane);
+
+ /* get the closest and furthest points in the viewing area for the
+ * specified screen coordinate in order to construct a ray */
+ _find_model_coords (transformation, &screen_point_near,
+ &model_coord_near);
+ _find_model_coords (transformation, &screen_point_far,
+ &model_coord_far);
+
+ {
+ graphene_vec3_t model_coord_near_vec3, model_coord_far_vec3;
+ graphene_vec3_t tmp, intersection, coord_dir;
+ gfloat num, denom, t;
+
+ /* get the direction of the ray */
+ graphene_point3d_to_vec3 (&model_coord_near, &model_coord_near_vec3);
+ graphene_point3d_to_vec3 (&model_coord_far, &model_coord_far_vec3);
+ graphene_vec3_subtract (&model_coord_near_vec3, &model_coord_far_vec3,
+ &coord_dir);
+
+ /* Intersect the ray with the video plane to find the distance, t:
+ * Ray: P = P0 + t Pdir
+ * Plane: P dot N + d = 0
+ *
+ * Substituting for P and rearranging gives:
+ *
+ * t = (P0 dot N + d) / (Pdir dot N) */
+ denom = graphene_vec3_dot (&coord_dir, &plane_normal);
+ num = graphene_vec3_dot (&model_coord_near_vec3, &plane_normal);
+ t = -(num + d) / denom;
+
+ /* video coord = P0 + t Pdir */
+ graphene_vec3_scale (&coord_dir, t, &tmp);
+ graphene_vec3_add (&tmp, &model_coord_near_vec3, &intersection);
+ graphene_point3d_init_from_vec3 (&result, &intersection);
+ }
+
+ new_x = (result.x / transformation->aspect + 1.) * w / 2;
+ new_y = (result.y + 1.) * h / 2;
+
+ if (new_x < 0. || new_x > w || new_y < 0 || new_y > h) {
+ /* coords off video surface */
+ gst_event_unref (event);
+ return TRUE;
+ }
+
+ GST_DEBUG_OBJECT (trans, "to %fx%f", new_x, new_y);
+ gst_structure_set (structure, "pointer_x", G_TYPE_DOUBLE, new_x,
+ "pointer_y", G_TYPE_DOUBLE, new_y, NULL);
+ }
+ break;
+ default:
+ break;
+ }
+
+ ret = GST_BASE_TRANSFORM_CLASS (parent_class)->src_event (trans, event);
+
+ return ret;
+}
+
+static void
gst_gl_transformation_reset_gl (GstGLFilter * filter)
{
GstGLTransformation *transformation = GST_GL_TRANSFORMATION (filter);
diff --git a/ext/gl/gstgltransformation.h b/ext/gl/gstgltransformation.h
index 6b9051a..7d41c61 100644
--- a/ext/gl/gstgltransformation.h
+++ b/ext/gl/gstgltransformation.h
@@ -71,6 +71,9 @@
gfloat zfar;
gboolean ortho;
+ graphene_matrix_t model_matrix;
+ graphene_matrix_t view_matrix;
+ graphene_matrix_t projection_matrix;
graphene_matrix_t mvp_matrix;
gboolean caps_change;
diff --git a/ext/gl/gstglvideoflip.c b/ext/gl/gstglvideoflip.c
new file mode 100644
index 0000000..caae79e
--- /dev/null
+++ b/ext/gl/gstglvideoflip.c
@@ -0,0 +1,509 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * SECTION:element-glvideo_flip
+ *
+ * Transforms video on the GPU.
+ *
+ * <refsect2>
+ * <title>Examples</title>
+ * |[
+ * gst-launch-1.0 videotestsrc ! glupload ! glvideoflip method=clockwise ! glimagesinkelement
+ * ]| This pipeline flips the test image 90 degrees clockwise.
+ * </refsect2>
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "gstglvideoflip.h"
+
+#define GST_CAT_DEFAULT gst_gl_video_flip_debug
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
+
+#define DEFAULT_METHOD GST_GL_VIDEO_FLIP_METHOD_IDENTITY
+
+enum
+{
+ PROP_0,
+ PROP_METHOD,
+};
+
+static GstStaticPadTemplate _sink_template = GST_STATIC_PAD_TEMPLATE ("sink",
+ GST_PAD_SINK,
+ GST_PAD_ALWAYS,
+ GST_STATIC_CAPS ("video/x-raw(" GST_CAPS_FEATURE_MEMORY_GL_MEMORY "), "
+ "format = (string) RGBA, "
+ "width = " GST_VIDEO_SIZE_RANGE ", "
+ "height = " GST_VIDEO_SIZE_RANGE ", "
+ "framerate = " GST_VIDEO_FPS_RANGE ", "
+ "texture-target = (string) 2D"));
+
+static GstStaticPadTemplate _src_template = GST_STATIC_PAD_TEMPLATE ("src",
+ GST_PAD_SRC,
+ GST_PAD_ALWAYS,
+ GST_STATIC_CAPS ("video/x-raw(" GST_CAPS_FEATURE_MEMORY_GL_MEMORY "), "
+ "format = (string) RGBA, "
+ "width = " GST_VIDEO_SIZE_RANGE ", "
+ "height = " GST_VIDEO_SIZE_RANGE ", "
+ "framerate = " GST_VIDEO_FPS_RANGE ", "
+ "texture-target = (string) 2D"));
+
+#define GST_TYPE_GL_VIDEO_FLIP_METHOD (gst_video_flip_method_get_type())
+static const GEnumValue video_flip_methods[] = {
+ {GST_GL_VIDEO_FLIP_METHOD_IDENTITY, "Identity (no rotation)", "none"},
+ {GST_GL_VIDEO_FLIP_METHOD_90R, "Rotate clockwise 90 degrees", "clockwise"},
+ {GST_GL_VIDEO_FLIP_METHOD_180, "Rotate 180 degrees", "rotate-180"},
+ {GST_GL_VIDEO_FLIP_METHOD_90L, "Rotate counter-clockwise 90 degrees",
+ "counterclockwise"},
+ {GST_GL_VIDEO_FLIP_METHOD_FLIP_HORIZ, "Flip horizontally", "horizontal-flip"},
+ {GST_GL_VIDEO_FLIP_METHOD_FLIP_VERT, "Flip vertically", "vertical-flip"},
+ {GST_GL_VIDEO_FLIP_METHOD_FLIP_UL_LR,
+ "Flip across upper left/lower right diagonal", "upper-left-diagonal"},
+ {GST_GL_VIDEO_FLIP_METHOD_FLIP_UR_LL,
+ "Flip across upper right/lower left diagonal", "upper-right-diagonal"},
+ {GST_GL_VIDEO_FLIP_METHOD_AUTO,
+ "Select flip method based on image-orientation tag", "automatic"},
+ {0, NULL, NULL},
+};
+
+static GType
+gst_video_flip_method_get_type (void)
+{
+ static GType video_flip_method_type = 0;
+
+ if (!video_flip_method_type) {
+ video_flip_method_type = g_enum_register_static ("GstGLVideoFlipMethod",
+ video_flip_methods);
+ }
+ return video_flip_method_type;
+}
+
+#define gst_gl_video_flip_parent_class parent_class
+G_DEFINE_TYPE_WITH_CODE (GstGLVideoFlip, gst_gl_video_flip,
+ GST_TYPE_BIN, GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT,
+ "glvideoflip", 0, "glvideoflip element"););
+
+static void gst_gl_video_flip_finalize (GObject * object);
+static void gst_gl_video_flip_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * pspec);
+static void gst_gl_video_flip_get_property (GObject * object, guint prop_id,
+ GValue * value, GParamSpec * pspec);
+
+static GstPadProbeReturn _input_sink_probe (GstPad * pad,
+ GstPadProbeInfo * info, gpointer user_data);
+static GstPadProbeReturn _trans_src_probe (GstPad * pad, GstPadProbeInfo * info,
+ gpointer user_data);
+
+static void
+gst_gl_video_flip_class_init (GstGLVideoFlipClass * klass)
+{
+ GObjectClass *gobject_class;
+ GstElementClass *element_class;
+
+ gobject_class = (GObjectClass *) klass;
+ element_class = GST_ELEMENT_CLASS (klass);
+
+ gobject_class->finalize = gst_gl_video_flip_finalize;
+ gobject_class->set_property = gst_gl_video_flip_set_property;
+ gobject_class->get_property = gst_gl_video_flip_get_property;
+
+ g_object_class_install_property (gobject_class, PROP_METHOD,
+ g_param_spec_enum ("method", "method", "method",
+ GST_TYPE_GL_VIDEO_FLIP_METHOD, DEFAULT_METHOD,
+ GST_PARAM_CONTROLLABLE | G_PARAM_READWRITE | G_PARAM_CONSTRUCT |
+ G_PARAM_STATIC_STRINGS));
+
+ gst_element_class_add_pad_template (element_class,
+ gst_static_pad_template_get (&_src_template));
+ gst_element_class_add_pad_template (element_class,
+ gst_static_pad_template_get (&_sink_template));
+
+ gst_element_class_set_metadata (element_class, "OpenGL video flip filter",
+ "Filter/Effect/Video", "Flip video on the GPU",
+ "Matthew Waters <matthew@centricular.com>");
+}
+
+static void
+gst_gl_video_flip_init (GstGLVideoFlip * flip)
+{
+ gboolean res = TRUE;
+ GstPad *pad;
+
+ flip->aspect = 1.0;
+
+ flip->input_capsfilter = gst_element_factory_make ("capsfilter", NULL);
+ res &= gst_bin_add (GST_BIN (flip), flip->input_capsfilter);
+
+ flip->transformation = gst_element_factory_make ("gltransformation", NULL);
+ g_object_set (flip->transformation, "ortho", TRUE, NULL);
+ res &= gst_bin_add (GST_BIN (flip), flip->transformation);
+
+ flip->output_capsfilter = gst_element_factory_make ("capsfilter", NULL);
+ res &= gst_bin_add (GST_BIN (flip), flip->output_capsfilter);
+
+ res &=
+ gst_element_link_pads (flip->input_capsfilter, "src",
+ flip->transformation, "sink");
+ res &=
+ gst_element_link_pads (flip->transformation, "src",
+ flip->output_capsfilter, "sink");
+
+ pad = gst_element_get_static_pad (flip->input_capsfilter, "sink");
+ if (!pad) {
+ res = FALSE;
+ } else {
+ GST_DEBUG_OBJECT (flip, "setting target sink pad %" GST_PTR_FORMAT, pad);
+ flip->sinkpad = gst_ghost_pad_new ("sink", pad);
+ flip->sink_probe = gst_pad_add_probe (flip->sinkpad,
+ GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM |
+ GST_PAD_PROBE_TYPE_QUERY_DOWNSTREAM,
+ (GstPadProbeCallback) _input_sink_probe, flip, NULL);
+ gst_element_add_pad (GST_ELEMENT_CAST (flip), flip->sinkpad);
+ gst_object_unref (pad);
+ }
+
+ pad = gst_element_get_static_pad (flip->transformation, "src");
+ flip->src_probe = gst_pad_add_probe (pad,
+ GST_PAD_PROBE_TYPE_QUERY_DOWNSTREAM,
+ (GstPadProbeCallback) _trans_src_probe, flip, NULL);
+ gst_object_unref (pad);
+
+ pad = gst_element_get_static_pad (flip->output_capsfilter, "src");
+ if (!pad) {
+ res = FALSE;
+ } else {
+ GST_DEBUG_OBJECT (flip, "setting target sink pad %" GST_PTR_FORMAT, pad);
+ flip->srcpad = gst_ghost_pad_new ("src", pad);
+ gst_element_add_pad (GST_ELEMENT_CAST (flip), flip->srcpad);
+ gst_object_unref (pad);
+ }
+
+ if (!res) {
+ GST_WARNING_OBJECT (flip, "Failed to add/connect the necessary machinery");
+ }
+}
+
+static void
+gst_gl_video_flip_finalize (GObject * object)
+{
+ GstGLVideoFlip *flip = GST_GL_VIDEO_FLIP (object);
+
+ gst_caps_replace (&flip->input_caps, NULL);
+
+ G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+/* Caps negotiation happens like this:
+ *
+ * 1. caps/accept-caps queries bypass the capsfilters on either side of the
+ * transformation element so the fixed caps don't get in the way.
+ * 2. Receiving a caps event on the sink pad will set fixed caps on either side
+ * of the transformation element.
+ */
+static GstCaps *
+_transform_caps (GstGLVideoFlip * vf, GstPadDirection direction, GstCaps * caps)
+{
+ GstCaps *output = gst_caps_copy (caps);
+ gint i;
+
+ for (i = 0; i < gst_caps_get_size (output); i++) {
+ GstStructure *structure = gst_caps_get_structure (output, i);
+ gint width, height;
+ gint par_n, par_d;
+
+ if (gst_structure_get_int (structure, "width", &width) &&
+ gst_structure_get_int (structure, "height", &height)) {
+
+ switch (vf->active_method) {
+ case GST_GL_VIDEO_FLIP_METHOD_90R:
+ case GST_GL_VIDEO_FLIP_METHOD_90L:
+ case GST_GL_VIDEO_FLIP_METHOD_FLIP_UL_LR:
+ case GST_GL_VIDEO_FLIP_METHOD_FLIP_UR_LL:
+ gst_structure_set (structure, "width", G_TYPE_INT, height,
+ "height", G_TYPE_INT, width, NULL);
+ if (gst_structure_get_fraction (structure, "pixel-aspect-ratio",
+ &par_n, &par_d)) {
+ if (par_n != 1 || par_d != 1) {
+ GValue val = { 0, };
+
+ g_value_init (&val, GST_TYPE_FRACTION);
+ gst_value_set_fraction (&val, par_d, par_n);
+ gst_structure_set_value (structure, "pixel-aspect-ratio", &val);
+ g_value_unset (&val);
+ }
+ }
+ break;
+ case GST_GL_VIDEO_FLIP_METHOD_IDENTITY:
+ case GST_GL_VIDEO_FLIP_METHOD_180:
+ case GST_GL_VIDEO_FLIP_METHOD_FLIP_HORIZ:
+ case GST_GL_VIDEO_FLIP_METHOD_FLIP_VERT:
+ break;
+ default:
+ g_assert_not_reached ();
+ break;
+ }
+ }
+ }
+
+ return output;
+}
+
+/* with object lock */
+static void
+_set_active_method (GstGLVideoFlip * vf, GstGLVideoFlipMethod method,
+ GstCaps * caps)
+{
+ gfloat rot_z = 0., scale_x = 1.0, scale_y = 1.0;
+ GstCaps *output_caps, *templ;
+ GstPad *srcpad;
+
+ switch (method) {
+ case GST_GL_VIDEO_FLIP_METHOD_IDENTITY:
+ break;
+ case GST_GL_VIDEO_FLIP_METHOD_90R:
+ scale_x *= vf->aspect;
+ scale_y *= 1. / vf->aspect;
+ rot_z = 90.;
+ break;
+ case GST_GL_VIDEO_FLIP_METHOD_180:
+ rot_z = 180.;
+ break;
+ case GST_GL_VIDEO_FLIP_METHOD_90L:
+ scale_x *= vf->aspect;
+ scale_y *= 1. / vf->aspect;
+ rot_z = 270.;
+ break;
+ case GST_GL_VIDEO_FLIP_METHOD_FLIP_HORIZ:
+ scale_x *= -1.;
+ break;
+ case GST_GL_VIDEO_FLIP_METHOD_FLIP_UR_LL:
+ scale_x *= -vf->aspect;
+ scale_y *= 1. / vf->aspect;
+ rot_z = 90.;
+ break;
+ case GST_GL_VIDEO_FLIP_METHOD_FLIP_VERT:
+ scale_x *= -1.;
+ rot_z = 180.;
+ break;
+ case GST_GL_VIDEO_FLIP_METHOD_FLIP_UL_LR:
+ scale_x *= -vf->aspect;
+ scale_y *= 1. / vf->aspect;
+ rot_z = 270.;
+ break;
+ default:
+ break;
+ }
+ vf->active_method = method;
+
+ output_caps = _transform_caps (vf, GST_PAD_SINK, caps);
+ gst_caps_replace (&vf->input_caps, caps);
+
+ srcpad = gst_element_get_static_pad (vf->transformation, "src");
+ templ = gst_pad_get_pad_template_caps (srcpad);
+ gst_object_unref (srcpad);
+
+ gst_caps_append (output_caps, gst_caps_ref (templ));
+ GST_OBJECT_UNLOCK (vf);
+
+ g_object_set (vf->input_capsfilter, "caps", gst_caps_ref (caps), NULL);
+ g_object_set (vf->output_capsfilter, "caps", output_caps, NULL);
+ g_object_set (vf->transformation, "rotation-z", rot_z, "scale-x", scale_x,
+ "scale-y", scale_y, NULL);
+ GST_OBJECT_LOCK (vf);
+}
+
+static void
+gst_gl_video_flip_set_method (GstGLVideoFlip * vf, GstGLVideoFlipMethod method,
+ gboolean from_tag)
+{
+ GST_OBJECT_LOCK (vf);
+ /* Store updated method */
+ if (from_tag)
+ vf->tag_method = method;
+ else
+ vf->method = method;
+
+ /* Get the new method */
+ if (vf->method == GST_GL_VIDEO_FLIP_METHOD_AUTO)
+ method = vf->tag_method;
+ else
+ method = vf->method;
+
+ if (vf->input_caps)
+ _set_active_method (vf, method, vf->input_caps);
+ else {
+ /* just store the configured method here. The actual transform configuration
+ * will be done once caps are configured. See caps handling in
+ * _input_sink_probe. */
+ vf->active_method = method;
+ }
+
+ GST_OBJECT_UNLOCK (vf);
+}
+
+static void
+gst_gl_video_flip_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * pspec)
+{
+ GstGLVideoFlip *vf = GST_GL_VIDEO_FLIP (object);
+
+ switch (prop_id) {
+ case PROP_METHOD:
+ gst_gl_video_flip_set_method (vf, g_value_get_enum (value), FALSE);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gst_gl_video_flip_get_property (GObject * object, guint prop_id,
+ GValue * value, GParamSpec * pspec)
+{
+ GstGLVideoFlip *vf = GST_GL_VIDEO_FLIP (object);
+
+ switch (prop_id) {
+ case PROP_METHOD:
+ g_value_set_enum (value, vf->method);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static GstPadProbeReturn
+_input_sink_probe (GstPad * pad, GstPadProbeInfo * info, gpointer user_data)
+{
+ GstGLVideoFlip *vf = GST_GL_VIDEO_FLIP (user_data);
+
+ if (GST_PAD_PROBE_INFO_TYPE (info) & GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) {
+ GstEvent *event = GST_PAD_PROBE_INFO_EVENT (info);
+
+ switch (GST_EVENT_TYPE (event)) {
+ case GST_EVENT_TAG:{
+ GstTagList *taglist;
+ gchar *orientation;
+
+ gst_event_parse_tag (event, &taglist);
+
+ if (gst_tag_list_get_string (taglist, "image-orientation",
+ &orientation)) {
+ if (!g_strcmp0 ("rotate-0", orientation))
+ gst_gl_video_flip_set_method (vf, GST_GL_VIDEO_FLIP_METHOD_IDENTITY,
+ TRUE);
+ else if (!g_strcmp0 ("rotate-90", orientation))
+ gst_gl_video_flip_set_method (vf, GST_GL_VIDEO_FLIP_METHOD_90R,
+ TRUE);
+ else if (!g_strcmp0 ("rotate-180", orientation))
+ gst_gl_video_flip_set_method (vf, GST_GL_VIDEO_FLIP_METHOD_180,
+ TRUE);
+ else if (!g_strcmp0 ("rotate-270", orientation))
+ gst_gl_video_flip_set_method (vf, GST_GL_VIDEO_FLIP_METHOD_90L,
+ TRUE);
+ else if (!g_strcmp0 ("flip-rotate-0", orientation))
+ gst_gl_video_flip_set_method (vf,
+ GST_GL_VIDEO_FLIP_METHOD_FLIP_HORIZ, TRUE);
+ else if (!g_strcmp0 ("flip-rotate-90", orientation))
+ gst_gl_video_flip_set_method (vf,
+ GST_GL_VIDEO_FLIP_METHOD_FLIP_UR_LL, TRUE);
+ else if (!g_strcmp0 ("flip-rotate-180", orientation))
+ gst_gl_video_flip_set_method (vf,
+ GST_GL_VIDEO_FLIP_METHOD_FLIP_VERT, TRUE);
+ else if (!g_strcmp0 ("flip-rotate-270", orientation))
+ gst_gl_video_flip_set_method (vf,
+ GST_GL_VIDEO_FLIP_METHOD_FLIP_UL_LR, TRUE);
+
+ g_free (orientation);
+ }
+ break;
+ }
+ case GST_EVENT_CAPS:{
+ GstCaps *caps;
+ GstVideoInfo v_info;
+
+ gst_event_parse_caps (event, &caps);
+ GST_OBJECT_LOCK (vf);
+ if (gst_video_info_from_caps (&v_info, caps))
+ vf->aspect =
+ (gfloat) GST_VIDEO_INFO_WIDTH (&v_info) /
+ (gfloat) GST_VIDEO_INFO_HEIGHT (&v_info);
+ else
+ vf->aspect = 1.0;
+ _set_active_method (vf, vf->active_method, caps);
+ GST_OBJECT_UNLOCK (vf);
+ break;
+ }
+ default:
+ break;
+ }
+ } else if (GST_PAD_PROBE_INFO_TYPE (info) &
+ GST_PAD_PROBE_TYPE_QUERY_DOWNSTREAM) {
+ GstQuery *query = GST_PAD_PROBE_INFO_QUERY (info);
+
+ switch (GST_QUERY_TYPE (query)) {
+ /* bypass the capsfilter */
+ case GST_QUERY_CAPS:
+ case GST_QUERY_ACCEPT_CAPS:{
+ GstPad *pad = gst_element_get_static_pad (vf->transformation, "sink");
+ if (gst_pad_query (pad, query)) {
+ gst_object_unref (pad);
+ return GST_PAD_PROBE_HANDLED;
+ } else {
+ gst_object_unref (pad);
+ return GST_PAD_PROBE_DROP;
+ }
+ }
+ default:
+ break;
+ }
+ }
+
+ return GST_PAD_PROBE_OK;
+}
+
+static GstPadProbeReturn
+_trans_src_probe (GstPad * pad, GstPadProbeInfo * info, gpointer user_data)
+{
+ GstGLVideoFlip *vf = GST_GL_VIDEO_FLIP (user_data);
+
+ if (GST_PAD_PROBE_INFO_TYPE (info) & GST_PAD_PROBE_TYPE_QUERY_DOWNSTREAM) {
+ GstQuery *query = GST_PAD_PROBE_INFO_QUERY (info);
+
+ switch (GST_QUERY_TYPE (query)) {
+ /* bypass the capsfilter */
+ case GST_QUERY_CAPS:
+ case GST_QUERY_ACCEPT_CAPS:{
+ if (gst_pad_peer_query (vf->srcpad, query))
+ return GST_PAD_PROBE_HANDLED;
+ else
+ return GST_PAD_PROBE_DROP;
+ }
+ default:
+ break;
+ }
+ }
+
+ return GST_PAD_PROBE_OK;
+}
diff --git a/ext/gl/gstglvideoflip.h b/ext/gl/gstglvideoflip.h
new file mode 100644
index 0000000..3b8e81b
--- /dev/null
+++ b/ext/gl/gstglvideoflip.h
@@ -0,0 +1,97 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _GST_GL_VIDEO_FLIP_H_
+#define _GST_GL_VIDEO_FLIP_H_
+
+#include <gst/gl/gl.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_GL_VIDEO_FLIP (gst_gl_video_flip_get_type())
+#define GST_GL_VIDEO_FLIP(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_GL_VIDEO_FLIP,GstGLVideoFlip))
+#define GST_IS_GL_VIDEO_FLIP(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_GL_VIDEO_FLIP))
+#define GST_GL_VIDEO_FLIP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass) ,GST_TYPE_GL_VIDEO_FLIP,GstGLVideoFlipClass))
+#define GST_IS_GL_VIDEO_FLIP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass) ,GST_TYPE_GL_VIDEO_FLIP))
+#define GST_GL_VIDEO_FLIP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj) ,GST_TYPE_GL_VIDEO_FLIP,GstGLVideoFlipClass))
+
+/**
+ * GstVideoFlipMethod:
+ * @GST_GL_VIDEO_FLIP_METHOD_IDENTITY: Identity (no rotation)
+ * @GST_GL_VIDEO_FLIP_METHOD_90R: Rotate clockwise 90 degrees
+ * @GST_GL_VIDEO_FLIP_METHOD_180: Rotate 180 degrees
+ * @GST_GL_VIDEO_FLIP_METHOD_90L: Rotate counter-clockwise 90 degrees
+ * @GST_GL_VIDEO_FLIP_METHOD_FLIP_HORIZ: Flip horizontally
+ * @GST_GL_VIDEO_FLIP_METHOD_FLIP_VERT: Flip vertically
+ * @GST_GL_VIDEO_FLIP_METHOD_FLIP_UL_LR: Flip across upper left/lower right diagonal
+ * @GST_GL_VIDEO_FLIP_METHOD_FLIP_UR_LL: Flip across upper right/lower left diagonal
+ * @GST_GL_VIDEO_FLIP_METHOD_AUTO: Select flip method based on image-orientation tag
+ *
+ * The different flip methods.
+ */
+typedef enum {
+ GST_GL_VIDEO_FLIP_METHOD_IDENTITY,
+ GST_GL_VIDEO_FLIP_METHOD_90R,
+ GST_GL_VIDEO_FLIP_METHOD_180,
+ GST_GL_VIDEO_FLIP_METHOD_90L,
+ GST_GL_VIDEO_FLIP_METHOD_FLIP_HORIZ,
+ GST_GL_VIDEO_FLIP_METHOD_FLIP_VERT,
+ GST_GL_VIDEO_FLIP_METHOD_FLIP_UL_LR,
+ GST_GL_VIDEO_FLIP_METHOD_FLIP_UR_LL,
+ GST_GL_VIDEO_FLIP_METHOD_AUTO,
+} GstGLVideoFlipMethod;
+
+typedef struct _GstGLVideoFlip GstGLVideoFlip;
+typedef struct _GstGLVideoFlipClass GstGLVideoFlipClass;
+
+struct _GstGLVideoFlip
+{
+ GstBin bin;
+
+ GstPad *srcpad;
+ GstPad *sinkpad;
+
+ GstElement *input_capsfilter;
+ GstElement *transformation;
+ GstElement *output_capsfilter;
+
+ gulong sink_probe;
+ gulong src_probe;
+
+ GstCaps *input_caps;
+
+ /* properties */
+ GstGLVideoFlipMethod method;
+ GstGLVideoFlipMethod tag_method;
+ GstGLVideoFlipMethod active_method;
+
+ gfloat aspect;
+};
+
+struct _GstGLVideoFlipClass
+{
+ GstBinClass filter_class;
+};
+
+GType gst_gl_video_flip_get_type (void);
+
+G_END_DECLS
+
+#endif /* _GST_GL_VIDEO_FLIP_H_ */
diff --git a/ext/gl/gstglvideomixer.c b/ext/gl/gstglvideomixer.c
index 9376793..e48151b 100644
--- a/ext/gl/gstglvideomixer.c
+++ b/ext/gl/gstglvideomixer.c
@@ -71,151 +71,72 @@
return mixer_background_type;
}
-typedef struct _GstGLMixerControlBindingProxy GstGLMixerControlBindingProxy;
-typedef struct _GstGLMixerControlBindingProxyClass
- GstGLMixerControlBindingProxyClass;
-
-struct _GstGLMixerControlBindingProxy
+#define GST_TYPE_GL_VIDEO_MIXER_BLEND_EQUATION (gst_gl_video_mixer_blend_equation_get_type())
+static GType
+gst_gl_video_mixer_blend_equation_get_type (void)
{
- GstControlBinding parent;
+ static GType mixer_blend_equation_type = 0;
- GstObject *ref_object;
- const gchar *property_name;
-};
+ static const GEnumValue mixer_blend_equations[] = {
+ {GST_GL_VIDEO_MIXER_BLEND_EQUATION_ADD, "Add", "add"},
+ {GST_GL_VIDEO_MIXER_BLEND_EQUATION_SUBTRACT, "Subtract", "subtract"},
+ {GST_GL_VIDEO_MIXER_BLEND_EQUATION_REVERSE_SUBTRACT, "Reverse Subtract",
+ "reverse-subtract"},
+ {0, NULL, NULL},
+ };
-struct _GstGLMixerControlBindingProxyClass
-{
- GstControlBindingClass parent_class;
-};
-
-GType gst_gl_mixer_control_binding_proxy_get_type (void);
-#define GST_TYPE_GL_MIXER_CONTROL_BINDING \
- (gst_gl_mixer_control_binding_proxy_get_type())
-
-G_DEFINE_TYPE (GstGLMixerControlBindingProxy,
- gst_gl_mixer_control_binding_proxy, GST_TYPE_CONTROL_BINDING);
-
-static void
-gst_gl_mixer_control_binding_proxy_init (GstGLMixerControlBindingProxy * self)
-{
-}
-
-static gboolean
-gst_gl_mixer_control_binding_proxy_sync_values (GstControlBinding * binding,
- GstObject * object, GstClockTime timestamp, GstClockTime last_sync)
-{
- GstGLMixerControlBindingProxy *self = (GstGLMixerControlBindingProxy *)
- binding;
- GstControlBinding *ref_binding;
- gboolean ret = TRUE;
-
- ref_binding = gst_object_get_control_binding (self->ref_object,
- self->property_name);
-
- if (ref_binding) {
- ret = gst_control_binding_sync_values (ref_binding, self->ref_object,
- timestamp, last_sync);
- gst_object_unref (ref_binding);
+ if (!mixer_blend_equation_type) {
+ mixer_blend_equation_type =
+ g_enum_register_static ("GstGLVideoMixerBlendEquation",
+ mixer_blend_equations);
}
-
- return ret;
+ return mixer_blend_equation_type;
}
-static GValue *
-gst_gl_mixer_control_binding_proxy_get_value (GstControlBinding * binding,
- GstClockTime timestamp)
+#define GST_TYPE_GL_VIDEO_MIXER_BLEND_FUNCTION (gst_gl_video_mixer_blend_function_get_type())
+static GType
+gst_gl_video_mixer_blend_function_get_type (void)
{
- GstGLMixerControlBindingProxy *self = (GstGLMixerControlBindingProxy *)
- binding;
- GstControlBinding *ref_binding;
- GValue *ret = NULL;
+ static GType mixer_blend_function_type = 0;
- ref_binding = gst_object_get_control_binding (self->ref_object,
- self->property_name);
+ static const GEnumValue mixer_blend_funcs[] = {
+ {GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ZERO, "Zero", "zero"},
+ {GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE, "One", "one"},
+ {GST_GL_VIDEO_MIXER_BLEND_FUNCTION_SRC_COLOR, "Source Color", "src-color"},
+ {GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE_MINUS_SRC_COLOR,
+ "One Minus Source Color", "one-minus-src-color"},
+ {GST_GL_VIDEO_MIXER_BLEND_FUNCTION_DST_COLOR, "Destination Color",
+ "dst-color"},
+ {GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE_MINUS_DST_COLOR,
+ "One Minus Destination Color", "one-minus-dst-color"},
+ {GST_GL_VIDEO_MIXER_BLEND_FUNCTION_SRC_ALPHA, "Source Alpha", "src-alpha"},
+ {GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE_MINUS_SRC_ALPHA,
+ "One Minus Source Alpha", "one-minus-src-alpha"},
+ {GST_GL_VIDEO_MIXER_BLEND_FUNCTION_DST_ALPHA, "Destination Alpha",
+ "dst-alpha"},
+ {GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE_MINUS_DST_ALPHA,
+ "One Minus Destination Alpha", "one-minus-dst-alpha"},
+ {GST_GL_VIDEO_MIXER_BLEND_FUNCTION_CONSTANT_COLOR, "Constant Color",
+ "constant-color"},
+ {GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE_MINUS_CONSTANT_COLOR,
+ "One Minus Constant Color", "one-minus-contant-color"},
+ {GST_GL_VIDEO_MIXER_BLEND_FUNCTION_CONSTANT_ALPHA, "Constant Alpha",
+ "constant-alpha"},
+ {GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE_MINUS_CONSTANT_COLOR,
+ "One Minus Constant Alpha", "one-minus-contant-alpha"},
+ {GST_GL_VIDEO_MIXER_BLEND_FUNCTION_SRC_ALPHA_SATURATE,
+ "Source Alpha Saturate", "src-alpha-saturate"},
+ {0, NULL, NULL},
+ };
- if (ref_binding) {
- ret = gst_control_binding_get_value (ref_binding, timestamp);
- gst_object_unref (ref_binding);
+ if (!mixer_blend_function_type) {
+ mixer_blend_function_type =
+ g_enum_register_static ("GstGLVideoMixerBlendFunction",
+ mixer_blend_funcs);
}
-
- return ret;
+ return mixer_blend_function_type;
}
-static gboolean
-gst_gl_mixer_control_binding_proxy_get_value_array (GstControlBinding * binding,
- GstClockTime timestamp, GstClockTime interval, guint n_values,
- gpointer values)
-{
- GstGLMixerControlBindingProxy *self = (GstGLMixerControlBindingProxy *)
- binding;
- GstControlBinding *ref_binding;
- gboolean ret = FALSE;
-
- ref_binding = gst_object_get_control_binding (self->ref_object,
- self->property_name);
-
- if (ref_binding) {
- ret = gst_control_binding_get_value_array (ref_binding, timestamp,
- interval, n_values, values);
- gst_object_unref (ref_binding);
- }
-
- return ret;
-}
-
-static gboolean
-gst_gl_mixer_control_binding_proxy_get_g_value_array (GstControlBinding *
- binding, GstClockTime timestamp, GstClockTime interval, guint n_values,
- GValue * values)
-{
- GstGLMixerControlBindingProxy *self = (GstGLMixerControlBindingProxy *)
- binding;
- GstControlBinding *ref_binding;
- gboolean ret = FALSE;
-
- ref_binding = gst_object_get_control_binding (self->ref_object,
- self->property_name);
-
- if (ref_binding) {
- ret = gst_control_binding_get_g_value_array (ref_binding, timestamp,
- interval, n_values, values);
- gst_object_unref (ref_binding);
- }
-
- return ret;
-}
-
-
-static void
- gst_gl_mixer_control_binding_proxy_class_init
- (GstGLMixerControlBindingProxyClass * klass)
-{
- GstControlBindingClass *cb_class = GST_CONTROL_BINDING_CLASS (klass);
-
- cb_class->sync_values = gst_gl_mixer_control_binding_proxy_sync_values;
- cb_class->get_value = gst_gl_mixer_control_binding_proxy_get_value;
- cb_class->get_value_array =
- gst_gl_mixer_control_binding_proxy_get_value_array;
- cb_class->get_g_value_array =
- gst_gl_mixer_control_binding_proxy_get_g_value_array;
-}
-
-static GstControlBinding *
-gst_gl_mixer_control_binding_proxy_new (GstObject * object,
- const gchar * property_name, GstObject * ref_object,
- const gchar * ref_property_name)
-{
- GstGLMixerControlBindingProxy *self =
- g_object_new (GST_TYPE_GL_MIXER_CONTROL_BINDING, "object", object,
- "name", property_name, NULL);
-
- self->ref_object = ref_object;
- self->property_name = ref_property_name;
-
- return (GstControlBinding *) self;
-}
-
-
#define DEFAULT_PAD_XPOS 0
#define DEFAULT_PAD_YPOS 0
#define DEFAULT_PAD_WIDTH 0
@@ -223,6 +144,12 @@
#define DEFAULT_PAD_ALPHA 1.0
#define DEFAULT_PAD_ZORDER 0
#define DEFAULT_PAD_IGNORE_EOS FALSE
+#define DEFAULT_PAD_BLEND_EQUATION_RGB GST_GL_VIDEO_MIXER_BLEND_EQUATION_ADD
+#define DEFAULT_PAD_BLEND_EQUATION_ALPHA GST_GL_VIDEO_MIXER_BLEND_EQUATION_ADD
+#define DEFAULT_PAD_BLEND_FUNCTION_SRC_RGB GST_GL_VIDEO_MIXER_BLEND_FUNCTION_SRC_ALPHA
+#define DEFAULT_PAD_BLEND_FUNCTION_SRC_ALPHA GST_GL_VIDEO_MIXER_BLEND_FUNCTION_SRC_ALPHA
+#define DEFAULT_PAD_BLEND_FUNCTION_DST_RGB GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE_MINUS_SRC_ALPHA
+#define DEFAULT_PAD_BLEND_FUNCTION_DST_ALPHA GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE_MINUS_SRC_ALPHA
enum
{
@@ -232,6 +159,16 @@
PROP_INPUT_WIDTH,
PROP_INPUT_HEIGHT,
PROP_INPUT_ALPHA,
+ PROP_INPUT_BLEND_EQUATION_RGB,
+ PROP_INPUT_BLEND_EQUATION_ALPHA,
+ PROP_INPUT_BLEND_FUNCTION_SRC_RGB,
+ PROP_INPUT_BLEND_FUNCTION_SRC_ALPHA,
+ PROP_INPUT_BLEND_FUNCTION_DST_RGB,
+ PROP_INPUT_BLEND_FUNCTION_DST_ALPHA,
+ PROP_INPUT_BLEND_FUNCTION_CONSTANT_COLOR_RED,
+ PROP_INPUT_BLEND_FUNCTION_CONSTANT_COLOR_GREEN,
+ PROP_INPUT_BLEND_FUNCTION_CONSTANT_COLOR_BLUE,
+ PROP_INPUT_BLEND_FUNCTION_CONSTANT_COLOR_ALPHA,
PROP_INPUT_ZORDER,
PROP_INPUT_IGNORE_EOS,
};
@@ -299,6 +236,71 @@
g_param_spec_double ("alpha", "Alpha", "Alpha of the picture", 0.0, 1.0,
DEFAULT_PAD_ALPHA,
G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class, PROP_INPUT_BLEND_EQUATION_RGB,
+ g_param_spec_enum ("blend-equation-rgb", "Blend Equation RGB",
+ "Blend Equation for RGB",
+ GST_TYPE_GL_VIDEO_MIXER_BLEND_EQUATION,
+ DEFAULT_PAD_BLEND_EQUATION_RGB,
+ G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class,
+ PROP_INPUT_BLEND_EQUATION_ALPHA,
+ g_param_spec_enum ("blend-equation-alpha", "Blend Equation Alpha",
+ "Blend Equation for Alpha", GST_TYPE_GL_VIDEO_MIXER_BLEND_EQUATION,
+ DEFAULT_PAD_BLEND_EQUATION_ALPHA,
+ G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class,
+ PROP_INPUT_BLEND_FUNCTION_SRC_RGB,
+ g_param_spec_enum ("blend-function-src-rgb", "Blend Function Source RGB",
+ "Blend Function for Source RGB",
+ GST_TYPE_GL_VIDEO_MIXER_BLEND_FUNCTION,
+ DEFAULT_PAD_BLEND_FUNCTION_SRC_RGB,
+ G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class,
+ PROP_INPUT_BLEND_FUNCTION_SRC_ALPHA,
+ g_param_spec_enum ("blend-function-src-alpha",
+ "Blend Function Source Alpha", "Blend Function for Source Alpha",
+ GST_TYPE_GL_VIDEO_MIXER_BLEND_FUNCTION,
+ DEFAULT_PAD_BLEND_FUNCTION_SRC_ALPHA,
+ G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class,
+ PROP_INPUT_BLEND_FUNCTION_DST_RGB,
+ g_param_spec_enum ("blend-function-dst-rgb",
+ "Blend Function Destination RGB",
+ "Blend Function for Destination RGB",
+ GST_TYPE_GL_VIDEO_MIXER_BLEND_FUNCTION,
+ DEFAULT_PAD_BLEND_FUNCTION_DST_RGB,
+ G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class,
+ PROP_INPUT_BLEND_FUNCTION_DST_ALPHA,
+ g_param_spec_enum ("blend-function-dst-alpha",
+ "Blend Function Destination Alpha",
+ "Blend Function for Destiniation Alpha",
+ GST_TYPE_GL_VIDEO_MIXER_BLEND_FUNCTION,
+ DEFAULT_PAD_BLEND_FUNCTION_DST_ALPHA,
+ G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class,
+ PROP_INPUT_BLEND_FUNCTION_CONSTANT_COLOR_RED,
+ g_param_spec_double ("blend-constant-color-red",
+ "Blend Constant Color Red", "Blend Constant Color Red", 0.0, 1.0, 0.0,
+ G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class,
+ PROP_INPUT_BLEND_FUNCTION_CONSTANT_COLOR_GREEN,
+ g_param_spec_double ("blend-constant-color-green",
+ "Blend Constant Color Green", "Blend Constant Color Green", 0.0, 1.0,
+ 0.0,
+ G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class,
+ PROP_INPUT_BLEND_FUNCTION_CONSTANT_COLOR_BLUE,
+ g_param_spec_double ("blend-constant-color-blue",
+ "Blend Constant Color Green", "Blend Constant Color Green", 0.0, 1.0,
+ 0.0,
+ G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class,
+ PROP_INPUT_BLEND_FUNCTION_CONSTANT_COLOR_ALPHA,
+ g_param_spec_double ("blend-constant-color-alpha",
+ "Blend Constant Color Alpha", "Blend Constant Color Alpha", 0.0, 1.0,
+ 0.0,
+ G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
}
static void
@@ -328,25 +330,44 @@
g_object_new (gst_gl_video_mixer_input_get_type (), "name",
GST_OBJECT_NAME (mixer_pad), "direction", GST_PAD_DIRECTION (mixer_pad),
NULL);
- GstControlBinding *cb;
if (!gst_ghost_pad_construct (GST_GHOST_PAD (input))) {
gst_object_unref (input);
return NULL;
}
-#define ADD_PROXY_CONTROL_BINDING(prop) \
- cb = gst_gl_mixer_control_binding_proxy_new (GST_OBJECT (mixer_pad), \
- G_STRINGIFY (prop), GST_OBJECT (input), G_STRINGIFY (prop)); \
- gst_object_add_control_binding (GST_OBJECT (mixer_pad), cb)
- ADD_PROXY_CONTROL_BINDING (zorder);
- ADD_PROXY_CONTROL_BINDING (xpos);
- ADD_PROXY_CONTROL_BINDING (ypos);
- ADD_PROXY_CONTROL_BINDING (width);
- ADD_PROXY_CONTROL_BINDING (height);
- ADD_PROXY_CONTROL_BINDING (alpha);
-
-#undef ADD_PROXY_CONTROL_BINDING
+ gst_gl_object_add_control_binding_proxy (GST_OBJECT (mixer_pad),
+ GST_OBJECT (input), "zorder");
+ gst_gl_object_add_control_binding_proxy (GST_OBJECT (mixer_pad),
+ GST_OBJECT (input), "xpos");
+ gst_gl_object_add_control_binding_proxy (GST_OBJECT (mixer_pad),
+ GST_OBJECT (input), "ypos");
+ gst_gl_object_add_control_binding_proxy (GST_OBJECT (mixer_pad),
+ GST_OBJECT (input), "width");
+ gst_gl_object_add_control_binding_proxy (GST_OBJECT (mixer_pad),
+ GST_OBJECT (input), "height");
+ gst_gl_object_add_control_binding_proxy (GST_OBJECT (mixer_pad),
+ GST_OBJECT (input), "alpha");
+ gst_gl_object_add_control_binding_proxy (GST_OBJECT (mixer_pad),
+ GST_OBJECT (input), "blend-equation-rgb");
+ gst_gl_object_add_control_binding_proxy (GST_OBJECT (mixer_pad),
+ GST_OBJECT (input), "blend-equation-alpha");
+ gst_gl_object_add_control_binding_proxy (GST_OBJECT (mixer_pad),
+ GST_OBJECT (input), "blend-function-src-rgb");
+ gst_gl_object_add_control_binding_proxy (GST_OBJECT (mixer_pad),
+ GST_OBJECT (input), "blend-function-src-alpha");
+ gst_gl_object_add_control_binding_proxy (GST_OBJECT (mixer_pad),
+ GST_OBJECT (input), "blend-function-dst-rgb");
+ gst_gl_object_add_control_binding_proxy (GST_OBJECT (mixer_pad),
+ GST_OBJECT (input), "blend-function-dst-alpha");
+ gst_gl_object_add_control_binding_proxy (GST_OBJECT (mixer_pad),
+ GST_OBJECT (input), "blend-constant-color-red");
+ gst_gl_object_add_control_binding_proxy (GST_OBJECT (mixer_pad),
+ GST_OBJECT (input), "blend-constant-color-green");
+ gst_gl_object_add_control_binding_proxy (GST_OBJECT (mixer_pad),
+ GST_OBJECT (input), "blend-constant-color-blue");
+ gst_gl_object_add_control_binding_proxy (GST_OBJECT (mixer_pad),
+ GST_OBJECT (input), "blend-constant-color-alpha");
input->mixer_pad = mixer_pad;
@@ -439,13 +460,15 @@
static void gst_gl_video_mixer_get_property (GObject * object, guint prop_id,
GValue * value, GParamSpec * pspec);
-static GstCaps *_update_caps (GstVideoAggregator * vagg, GstCaps * caps);
+static GstCaps *_update_caps (GstVideoAggregator * vagg, GstCaps * caps,
+ GstCaps * filter);
+static GstCaps *_fixate_caps (GstVideoAggregator * vagg, GstCaps * caps);
static void gst_gl_video_mixer_reset (GstGLMixer * mixer);
static gboolean gst_gl_video_mixer_init_shader (GstGLMixer * mixer,
GstCaps * outcaps);
static gboolean gst_gl_video_mixer_process_textures (GstGLMixer * mixer,
- GPtrArray * in_frames, guint out_tex);
+ guint out_tex);
static void gst_gl_video_mixer_callback (gpointer stuff);
/* *INDENT-OFF* */
@@ -534,6 +557,17 @@
gint width, height;
gdouble alpha;
+ GstGLVideoMixerBlendEquation blend_equation_rgb;
+ GstGLVideoMixerBlendEquation blend_equation_alpha;
+ GstGLVideoMixerBlendFunction blend_function_src_rgb;
+ GstGLVideoMixerBlendFunction blend_function_src_alpha;
+ GstGLVideoMixerBlendFunction blend_function_dst_rgb;
+ GstGLVideoMixerBlendFunction blend_function_dst_alpha;
+ gdouble blend_constant_color_red;
+ gdouble blend_constant_color_green;
+ gdouble blend_constant_color_blue;
+ gdouble blend_constant_color_alpha;
+
gboolean geometry_change;
GLuint vertex_buffer;
};
@@ -559,13 +593,29 @@
PROP_PAD_YPOS,
PROP_PAD_WIDTH,
PROP_PAD_HEIGHT,
- PROP_PAD_ALPHA
+ PROP_PAD_ALPHA,
+ PROP_PAD_BLEND_EQUATION_RGB,
+ PROP_PAD_BLEND_EQUATION_ALPHA,
+ PROP_PAD_BLEND_FUNCTION_SRC_RGB,
+ PROP_PAD_BLEND_FUNCTION_SRC_ALPHA,
+ PROP_PAD_BLEND_FUNCTION_DST_RGB,
+ PROP_PAD_BLEND_FUNCTION_DST_ALPHA,
+ PROP_PAD_BLEND_FUNCTION_CONSTANT_COLOR_RED,
+ PROP_PAD_BLEND_FUNCTION_CONSTANT_COLOR_GREEN,
+ PROP_PAD_BLEND_FUNCTION_CONSTANT_COLOR_BLUE,
+ PROP_PAD_BLEND_FUNCTION_CONSTANT_COLOR_ALPHA,
};
static void
gst_gl_video_mixer_pad_init (GstGLVideoMixerPad * pad)
{
- pad->alpha = 1.0;
+ pad->alpha = DEFAULT_PAD_ALPHA;
+ pad->blend_equation_rgb = DEFAULT_PAD_BLEND_EQUATION_RGB;
+ pad->blend_equation_alpha = DEFAULT_PAD_BLEND_EQUATION_ALPHA;
+ pad->blend_function_src_rgb = DEFAULT_PAD_BLEND_FUNCTION_SRC_RGB;
+ pad->blend_function_src_alpha = DEFAULT_PAD_BLEND_FUNCTION_SRC_ALPHA;
+ pad->blend_function_dst_rgb = DEFAULT_PAD_BLEND_FUNCTION_DST_RGB;
+ pad->blend_function_dst_alpha = DEFAULT_PAD_BLEND_FUNCTION_DST_ALPHA;
}
static void
@@ -596,6 +646,71 @@
g_param_spec_double ("alpha", "Alpha", "Alpha of the picture", 0.0, 1.0,
DEFAULT_PAD_ALPHA,
G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class, PROP_INPUT_BLEND_EQUATION_RGB,
+ g_param_spec_enum ("blend-equation-rgb", "Blend Equation RGB",
+ "Blend Equation for RGB",
+ GST_TYPE_GL_VIDEO_MIXER_BLEND_EQUATION,
+ DEFAULT_PAD_BLEND_EQUATION_RGB,
+ G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class,
+ PROP_INPUT_BLEND_EQUATION_ALPHA,
+ g_param_spec_enum ("blend-equation-alpha", "Blend Equation Alpha",
+ "Blend Equation for Alpha", GST_TYPE_GL_VIDEO_MIXER_BLEND_EQUATION,
+ DEFAULT_PAD_BLEND_EQUATION_ALPHA,
+ G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class,
+ PROP_INPUT_BLEND_FUNCTION_SRC_RGB,
+ g_param_spec_enum ("blend-function-src-rgb", "Blend Function Source RGB",
+ "Blend Function for Source RGB",
+ GST_TYPE_GL_VIDEO_MIXER_BLEND_FUNCTION,
+ DEFAULT_PAD_BLEND_FUNCTION_SRC_RGB,
+ G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class,
+ PROP_INPUT_BLEND_FUNCTION_SRC_ALPHA,
+ g_param_spec_enum ("blend-function-src-alpha",
+ "Blend Function Source Alpha", "Blend Function for Source Alpha",
+ GST_TYPE_GL_VIDEO_MIXER_BLEND_FUNCTION,
+ DEFAULT_PAD_BLEND_FUNCTION_SRC_ALPHA,
+ G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class,
+ PROP_INPUT_BLEND_FUNCTION_DST_RGB,
+ g_param_spec_enum ("blend-function-dst-rgb",
+ "Blend Function Destination RGB",
+ "Blend Function for Destination RGB",
+ GST_TYPE_GL_VIDEO_MIXER_BLEND_FUNCTION,
+ DEFAULT_PAD_BLEND_FUNCTION_DST_RGB,
+ G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class,
+ PROP_INPUT_BLEND_FUNCTION_DST_ALPHA,
+ g_param_spec_enum ("blend-function-dst-alpha",
+ "Blend Function Destination Alpha",
+ "Blend Function for Destiniation Alpha",
+ GST_TYPE_GL_VIDEO_MIXER_BLEND_FUNCTION,
+ DEFAULT_PAD_BLEND_FUNCTION_DST_ALPHA,
+ G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class,
+ PROP_PAD_BLEND_FUNCTION_CONSTANT_COLOR_RED,
+ g_param_spec_double ("blend-constant-color-red",
+ "Blend Constant Color Red", "Blend Constant Color Red", 0.0, 1.0, 0.0,
+ G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class,
+ PROP_PAD_BLEND_FUNCTION_CONSTANT_COLOR_GREEN,
+ g_param_spec_double ("blend-constant-color-green",
+ "Blend Constant Color Green", "Blend Constant Color Green", 0.0, 1.0,
+ 0.0,
+ G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class,
+ PROP_PAD_BLEND_FUNCTION_CONSTANT_COLOR_BLUE,
+ g_param_spec_double ("blend-constant-color-blue",
+ "Blend Constant Color Green", "Blend Constant Color Green", 0.0, 1.0,
+ 0.0,
+ G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class,
+ PROP_PAD_BLEND_FUNCTION_CONSTANT_COLOR_ALPHA,
+ g_param_spec_double ("blend-constant-color-alpha",
+ "Blend Constant Color Alpha", "Blend Constant Color Alpha", 0.0, 1.0,
+ 0.0,
+ G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
}
static void
@@ -620,6 +735,36 @@
case PROP_PAD_ALPHA:
g_value_set_double (value, pad->alpha);
break;
+ case PROP_PAD_BLEND_EQUATION_RGB:
+ g_value_set_enum (value, pad->blend_equation_rgb);
+ break;
+ case PROP_PAD_BLEND_EQUATION_ALPHA:
+ g_value_set_enum (value, pad->blend_equation_alpha);
+ break;
+ case PROP_PAD_BLEND_FUNCTION_SRC_RGB:
+ g_value_set_enum (value, pad->blend_function_src_rgb);
+ break;
+ case PROP_PAD_BLEND_FUNCTION_SRC_ALPHA:
+ g_value_set_enum (value, pad->blend_function_src_alpha);
+ break;
+ case PROP_PAD_BLEND_FUNCTION_DST_RGB:
+ g_value_set_enum (value, pad->blend_function_dst_rgb);
+ break;
+ case PROP_PAD_BLEND_FUNCTION_DST_ALPHA:
+ g_value_set_enum (value, pad->blend_function_dst_alpha);
+ break;
+ case PROP_PAD_BLEND_FUNCTION_CONSTANT_COLOR_RED:
+ g_value_set_double (value, pad->blend_constant_color_red);
+ break;
+ case PROP_PAD_BLEND_FUNCTION_CONSTANT_COLOR_GREEN:
+ g_value_set_double (value, pad->blend_constant_color_green);
+ break;
+ case PROP_PAD_BLEND_FUNCTION_CONSTANT_COLOR_BLUE:
+ g_value_set_double (value, pad->blend_constant_color_blue);
+ break;
+ case PROP_PAD_BLEND_FUNCTION_CONSTANT_COLOR_ALPHA:
+ g_value_set_double (value, pad->blend_constant_color_alpha);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -653,6 +798,36 @@
case PROP_PAD_ALPHA:
pad->alpha = g_value_get_double (value);
break;
+ case PROP_PAD_BLEND_EQUATION_RGB:
+ pad->blend_equation_rgb = g_value_get_enum (value);
+ break;
+ case PROP_PAD_BLEND_EQUATION_ALPHA:
+ pad->blend_equation_alpha = g_value_get_enum (value);
+ break;
+ case PROP_PAD_BLEND_FUNCTION_SRC_RGB:
+ pad->blend_function_src_rgb = g_value_get_enum (value);
+ break;
+ case PROP_PAD_BLEND_FUNCTION_SRC_ALPHA:
+ pad->blend_function_src_alpha = g_value_get_enum (value);
+ break;
+ case PROP_PAD_BLEND_FUNCTION_DST_RGB:
+ pad->blend_function_dst_rgb = g_value_get_enum (value);
+ break;
+ case PROP_PAD_BLEND_FUNCTION_DST_ALPHA:
+ pad->blend_function_dst_alpha = g_value_get_enum (value);
+ break;
+ case PROP_PAD_BLEND_FUNCTION_CONSTANT_COLOR_RED:
+ pad->blend_constant_color_red = g_value_get_double (value);
+ break;
+ case PROP_PAD_BLEND_FUNCTION_CONSTANT_COLOR_GREEN:
+ pad->blend_constant_color_green = g_value_get_double (value);
+ break;
+ case PROP_PAD_BLEND_FUNCTION_CONSTANT_COLOR_BLUE:
+ pad->blend_constant_color_blue = g_value_get_double (value);
+ break;
+ case PROP_PAD_BLEND_FUNCTION_CONSTANT_COLOR_ALPHA:
+ pad->blend_constant_color_alpha = g_value_get_double (value);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -662,6 +837,26 @@
}
static void
+_del_buffer (GstGLContext * context, GLuint * pBuffer)
+{
+ context->gl_vtable->DeleteBuffers (1, pBuffer);
+}
+
+static void
+gst_gl_video_mixer_release_pad (GstElement * element, GstPad * p)
+{
+ GstGLVideoMixerPad *pad = GST_GL_VIDEO_MIXER_PAD (p);
+ if (pad->vertex_buffer) {
+ GstGLBaseMixer *mix = GST_GL_BASE_MIXER (element);
+ gst_gl_context_thread_add (mix->context, (GstGLContextThreadFunc)
+ _del_buffer, &pad->vertex_buffer);
+ pad->vertex_buffer = 0;
+ }
+ GST_ELEMENT_CLASS (g_type_class_peek_parent (G_OBJECT_GET_CLASS (element)))
+ ->release_pad (element, p);
+}
+
+static void
gst_gl_video_mixer_class_init (GstGLVideoMixerClass * klass)
{
GObjectClass *gobject_class;
@@ -671,6 +866,7 @@
gobject_class = (GObjectClass *) klass;
element_class = GST_ELEMENT_CLASS (klass);
+ element_class->release_pad = gst_gl_video_mixer_release_pad;
gobject_class->set_property = gst_gl_video_mixer_set_property;
gobject_class->get_property = gst_gl_video_mixer_get_property;
@@ -690,6 +886,7 @@
gst_gl_video_mixer_process_textures;
vagg_class->update_caps = _update_caps;
+ vagg_class->fixate_caps = _fixate_caps;
agg_class->sinkpads_type = GST_TYPE_GL_VIDEO_MIXER_PAD;
@@ -702,7 +899,6 @@
{
video_mixer->background = DEFAULT_BACKGROUND;
video_mixer->shader = NULL;
- video_mixer->input_frames = NULL;
}
static void
@@ -739,9 +935,9 @@
static void
_mixer_pad_get_output_size (GstGLVideoMixer * mix,
- GstGLVideoMixerPad * mix_pad, gint * width, gint * height)
+ GstGLVideoMixerPad * mix_pad, gint out_par_n, gint out_par_d, gint * width,
+ gint * height)
{
- GstVideoAggregator *vagg = GST_VIDEO_AGGREGATOR (mix);
GstVideoAggregatorPad *vagg_pad = GST_VIDEO_AGGREGATOR_PAD (mix_pad);
gint pad_width, pad_height;
guint dar_n, dar_d;
@@ -764,13 +960,10 @@
gst_video_calculate_display_ratio (&dar_n, &dar_d, pad_width, pad_height,
GST_VIDEO_INFO_PAR_N (&vagg_pad->info),
- GST_VIDEO_INFO_PAR_D (&vagg_pad->info),
- GST_VIDEO_INFO_PAR_N (&vagg->info), GST_VIDEO_INFO_PAR_D (&vagg->info)
- );
+ GST_VIDEO_INFO_PAR_D (&vagg_pad->info), out_par_n, out_par_d);
GST_LOG_OBJECT (mix_pad, "scaling %ux%u by %u/%u (%u/%u / %u/%u)", pad_width,
pad_height, dar_n, dar_d, GST_VIDEO_INFO_PAR_N (&vagg_pad->info),
- GST_VIDEO_INFO_PAR_D (&vagg_pad->info),
- GST_VIDEO_INFO_PAR_N (&vagg->info), GST_VIDEO_INFO_PAR_D (&vagg->info));
+ GST_VIDEO_INFO_PAR_D (&vagg_pad->info), out_par_n, out_par_d);
if (pad_height % dar_n == 0) {
pad_width = gst_util_uint64_scale_int (pad_height, dar_n, dar_d);
@@ -787,17 +980,44 @@
}
static GstCaps *
-_update_caps (GstVideoAggregator * vagg, GstCaps * caps)
+_update_caps (GstVideoAggregator * vagg, GstCaps * caps, GstCaps * filter)
+{
+ GstCaps *ret;
+
+ ret =
+ GST_VIDEO_AGGREGATOR_CLASS (gst_gl_video_mixer_parent_class)->update_caps
+ (vagg, caps, NULL);
+
+ if (filter) {
+ GstCaps *tmp = gst_caps_intersect (ret, filter);
+ gst_caps_unref (ret);
+ ret = tmp;
+ }
+
+ return ret;
+}
+
+static GstCaps *
+_fixate_caps (GstVideoAggregator * vagg, GstCaps * caps)
{
GstGLVideoMixer *mix = GST_GL_VIDEO_MIXER (vagg);
- GList *l;
- gint best_width = -1, best_height = -1;
- GstVideoInfo info;
+ gint best_width = 0, best_height = 0;
+ gint best_fps_n = 0, best_fps_d = 0;
+ gint par_n, par_d;
+ gdouble best_fps = 0.;
GstCaps *ret = NULL;
- int i;
+ GstStructure *s;
+ GList *l;
- caps = gst_caps_make_writable (caps);
- gst_video_info_from_caps (&info, caps);
+ ret = gst_caps_make_writable (caps);
+
+ /* we need this to calculate how large to make the output frame */
+ s = gst_caps_get_structure (ret, 0);
+ if (!gst_structure_has_field (s, "pixel-aspect-ratio")) {
+ gst_structure_set (s, "pixel-aspect-ratio", GST_TYPE_FRACTION, 1, 1, NULL);
+ }
+ gst_structure_fixate_field_nearest_fraction (s, "pixel-aspect-ratio", 1, 1);
+ gst_structure_get_fraction (s, "pixel-aspect-ratio", &par_n, &par_d);
GST_OBJECT_LOCK (vagg);
for (l = GST_ELEMENT (vagg)->sinkpads; l; l = l->next) {
@@ -805,8 +1025,12 @@
GstGLVideoMixerPad *mixer_pad = GST_GL_VIDEO_MIXER_PAD (vaggpad);
gint this_width, this_height;
gint width, height;
+ gint fps_n, fps_d;
+ gdouble cur_fps;
- _mixer_pad_get_output_size (mix, mixer_pad, &width, &height);
+ fps_n = GST_VIDEO_INFO_FPS_N (&vaggpad->info);
+ fps_d = GST_VIDEO_INFO_FPS_D (&vaggpad->info);
+ _mixer_pad_get_output_size (mix, mixer_pad, par_n, par_d, &width, &height);
if (width == 0 || height == 0)
continue;
@@ -818,20 +1042,33 @@
best_width = this_width;
if (best_height < this_height)
best_height = this_height;
+
+ if (fps_d == 0)
+ cur_fps = 0.0;
+ else
+ gst_util_fraction_to_double (fps_n, fps_d, &cur_fps);
+
+ if (best_fps < cur_fps) {
+ best_fps = cur_fps;
+ best_fps_n = fps_n;
+ best_fps_d = fps_d;
+ }
}
GST_OBJECT_UNLOCK (vagg);
- ret =
- GST_VIDEO_AGGREGATOR_CLASS (gst_gl_video_mixer_parent_class)->update_caps
- (vagg, caps);
-
- for (i = 0; i < gst_caps_get_size (ret); i++) {
- GstStructure *s = gst_caps_get_structure (ret, i);
-
- gst_structure_set (s, "width", G_TYPE_INT, best_width, "height", G_TYPE_INT,
- best_height, NULL);
+ if (best_fps_n <= 0 || best_fps_d <= 0 || best_fps == 0.0) {
+ best_fps_n = 25;
+ best_fps_d = 1;
+ best_fps = 25.0;
}
+ s = gst_caps_get_structure (ret, 0);
+ gst_structure_fixate_field_nearest_int (s, "width", best_width);
+ gst_structure_fixate_field_nearest_int (s, "height", best_height);
+ gst_structure_fixate_field_nearest_fraction (s, "framerate", best_fps_n,
+ best_fps_d);
+ ret = gst_caps_fixate (ret);
+
return ret;
}
@@ -864,6 +1101,11 @@
video_mixer->vbo_indices = 0;
}
+ if (video_mixer->checker_vbo) {
+ gl->DeleteBuffers (1, &video_mixer->checker_vbo);
+ video_mixer->checker_vbo = 0;
+ }
+
gst_aggregator_iterate_sinkpads (GST_AGGREGATOR (video_mixer), _reset_pad_gl,
NULL);
}
@@ -874,8 +1116,6 @@
GstGLVideoMixer *video_mixer = GST_GL_VIDEO_MIXER (mixer);
GstGLContext *context = GST_GL_BASE_MIXER (mixer)->context;
- video_mixer->input_frames = NULL;
-
GST_DEBUG_OBJECT (mixer, "context:%p", context);
if (video_mixer->shader)
@@ -905,13 +1145,10 @@
}
static gboolean
-gst_gl_video_mixer_process_textures (GstGLMixer * mix, GPtrArray * frames,
- guint out_tex)
+gst_gl_video_mixer_process_textures (GstGLMixer * mix, guint out_tex)
{
GstGLVideoMixer *video_mixer = GST_GL_VIDEO_MIXER (mix);
- video_mixer->input_frames = frames;
-
gst_gl_context_use_fbo_v2 (GST_GL_BASE_MIXER (mix)->context,
GST_VIDEO_INFO_WIDTH (&GST_VIDEO_AGGREGATOR (mix)->info),
GST_VIDEO_INFO_HEIGHT (&GST_VIDEO_AGGREGATOR (mix)->info),
@@ -1017,6 +1254,123 @@
return TRUE;
}
+static guint
+_blend_equation_to_gl (GstGLVideoMixerBlendEquation equation)
+{
+ switch (equation) {
+ case GST_GL_VIDEO_MIXER_BLEND_EQUATION_ADD:
+ return GL_FUNC_ADD;
+ case GST_GL_VIDEO_MIXER_BLEND_EQUATION_SUBTRACT:
+ return GL_FUNC_SUBTRACT;
+ case GST_GL_VIDEO_MIXER_BLEND_EQUATION_REVERSE_SUBTRACT:
+ return GL_FUNC_REVERSE_SUBTRACT;
+ default:
+ g_assert_not_reached ();
+ return 0;
+ }
+}
+
+static guint
+_blend_function_to_gl (GstGLVideoMixerBlendFunction equation)
+{
+ switch (equation) {
+ case GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ZERO:
+ return GL_ZERO;
+ case GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE:
+ return GL_ONE;
+ case GST_GL_VIDEO_MIXER_BLEND_FUNCTION_SRC_COLOR:
+ return GL_SRC_COLOR;
+ case GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE_MINUS_SRC_COLOR:
+ return GL_ONE_MINUS_SRC_COLOR;
+ case GST_GL_VIDEO_MIXER_BLEND_FUNCTION_DST_COLOR:
+ return GL_DST_COLOR;
+ case GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE_MINUS_DST_COLOR:
+ return GL_ONE_MINUS_DST_COLOR;
+ case GST_GL_VIDEO_MIXER_BLEND_FUNCTION_SRC_ALPHA:
+ return GL_SRC_ALPHA;
+ case GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE_MINUS_SRC_ALPHA:
+ return GL_ONE_MINUS_SRC_ALPHA;
+ case GST_GL_VIDEO_MIXER_BLEND_FUNCTION_DST_ALPHA:
+ return GL_DST_ALPHA;
+ case GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE_MINUS_DST_ALPHA:
+ return GL_ONE_MINUS_DST_ALPHA;
+ case GST_GL_VIDEO_MIXER_BLEND_FUNCTION_CONSTANT_COLOR:
+ return GL_CONSTANT_COLOR;
+ case GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE_MINUS_CONSTANT_COLOR:
+ return GL_ONE_MINUS_CONSTANT_COLOR;
+ case GST_GL_VIDEO_MIXER_BLEND_FUNCTION_CONSTANT_ALPHA:
+ return GL_CONSTANT_ALPHA;
+ case GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE_MINUS_CONSTANT_ALPHA:
+ return GL_ONE_MINUS_CONSTANT_ALPHA;
+ case GST_GL_VIDEO_MIXER_BLEND_FUNCTION_SRC_ALPHA_SATURATE:
+ return GL_SRC_ALPHA_SATURATE;
+ default:
+ g_assert_not_reached ();
+ return 0;
+ }
+}
+
+static gboolean
+_set_blend_state (GstGLVideoMixer * video_mixer, GstGLVideoMixerPad * mix_pad)
+{
+ const GstGLFuncs *gl = GST_GL_BASE_MIXER (video_mixer)->context->gl_vtable;
+ gboolean require_separate = FALSE;
+ guint gl_func_src_rgb, gl_func_src_alpha, gl_func_dst_rgb, gl_func_dst_alpha;
+ guint gl_equation_rgb, gl_equation_alpha;
+
+ require_separate =
+ mix_pad->blend_equation_rgb != mix_pad->blend_equation_alpha
+ || mix_pad->blend_function_src_rgb != mix_pad->blend_function_src_alpha
+ || mix_pad->blend_function_dst_rgb != mix_pad->blend_function_dst_alpha;
+
+ if (require_separate && (!gl->BlendFuncSeparate
+ || !gl->BlendEquationSeparate)) {
+ GST_ERROR_OBJECT (mix_pad,
+ "separated blend equations/functions requested however "
+ "glBlendFuncSeparate or glBlendEquationSeparate not available");
+ return FALSE;
+ }
+
+ if (mix_pad->blend_function_dst_rgb ==
+ GST_GL_VIDEO_MIXER_BLEND_FUNCTION_SRC_ALPHA_SATURATE) {
+ GST_ERROR_OBJECT (mix_pad,
+ "Destination RGB blend function cannot be \'SRC_ALPHA_SATURATE\'");
+ return FALSE;
+ }
+
+ if (mix_pad->blend_function_dst_alpha ==
+ GST_GL_VIDEO_MIXER_BLEND_FUNCTION_SRC_ALPHA_SATURATE) {
+ GST_ERROR_OBJECT (mix_pad,
+ "Destination alpha blend function cannot be \'SRC_ALPHA_SATURATE\'");
+ return FALSE;
+ }
+
+ gl_equation_rgb = _blend_equation_to_gl (mix_pad->blend_equation_rgb);
+ gl_equation_alpha = _blend_equation_to_gl (mix_pad->blend_equation_alpha);
+
+ gl_func_src_rgb = _blend_function_to_gl (mix_pad->blend_function_src_rgb);
+ gl_func_src_alpha = _blend_function_to_gl (mix_pad->blend_function_src_alpha);
+ gl_func_dst_rgb = _blend_function_to_gl (mix_pad->blend_function_dst_rgb);
+ gl_func_dst_alpha = _blend_function_to_gl (mix_pad->blend_function_dst_alpha);
+
+ if (gl->BlendEquationSeparate)
+ gl->BlendEquationSeparate (gl_equation_rgb, gl_equation_alpha);
+ else
+ gl->BlendEquation (gl_equation_rgb);
+
+ if (gl->BlendFuncSeparate)
+ gl->BlendFuncSeparate (gl_func_src_rgb, gl_func_dst_rgb, gl_func_src_alpha,
+ gl_func_dst_alpha);
+ else
+ gl->BlendFunc (gl_func_src_rgb, gl_func_dst_rgb);
+
+ gl->BlendColor (mix_pad->blend_constant_color_red,
+ mix_pad->blend_constant_color_green, mix_pad->blend_constant_color_blue,
+ mix_pad->blend_constant_color_alpha);
+
+ return TRUE;
+}
+
/* opengl scene, params: input texture (not the output mixer->texture) */
static void
gst_gl_video_mixer_callback (gpointer stuff)
@@ -1025,12 +1379,10 @@
GstVideoAggregator *vagg = GST_VIDEO_AGGREGATOR (stuff);
GstGLMixer *mixer = GST_GL_MIXER (video_mixer);
GstGLFuncs *gl = GST_GL_BASE_MIXER (mixer)->context->gl_vtable;
-
GLint attr_position_loc = 0;
GLint attr_texture_loc = 0;
guint out_width, out_height;
-
- guint count = 0;
+ GList *walk;
out_width = GST_VIDEO_INFO_WIDTH (&vagg->info);
out_height = GST_VIDEO_INFO_HEIGHT (&vagg->info);
@@ -1059,9 +1411,11 @@
gl->Enable (GL_BLEND);
- while (count < video_mixer->input_frames->len) {
- GstGLMixerFrameData *frame;
- GstGLVideoMixerPad *pad;
+ GST_OBJECT_LOCK (video_mixer);
+ walk = GST_ELEMENT (video_mixer)->sinkpads;
+ while (walk) {
+ GstGLMixerPad *mix_pad = walk->data;
+ GstGLVideoMixerPad *pad = walk->data;
GstVideoInfo *v_info;
guint in_tex;
guint in_width, in_height;
@@ -1075,26 +1429,23 @@
};
/* *INDENT-ON* */
- frame = g_ptr_array_index (video_mixer->input_frames, count);
- if (!frame) {
- GST_DEBUG ("skipping texture, null frame");
- count++;
- continue;
- }
- pad = (GstGLVideoMixerPad *) frame->pad;
v_info = &GST_VIDEO_AGGREGATOR_PAD (pad)->info;
in_width = GST_VIDEO_INFO_WIDTH (v_info);
in_height = GST_VIDEO_INFO_HEIGHT (v_info);
- if (!frame->texture || in_width <= 0 || in_height <= 0
+ if (!mix_pad->current_texture || in_width <= 0 || in_height <= 0
|| pad->alpha == 0.0f) {
- GST_DEBUG ("skipping texture:%u frame:%p width:%u height:%u alpha:%f",
- frame->texture, frame, in_width, in_height, pad->alpha);
- count++;
+ GST_DEBUG ("skipping texture:%u pad:%p width:%u height:%u alpha:%f",
+ mix_pad->current_texture, pad, in_width, in_height, pad->alpha);
continue;
}
- in_tex = frame->texture;
+ if (!_set_blend_state (video_mixer, pad)) {
+ GST_FIXME_OBJECT (pad, "skipping due to incorrect blend parameters");
+ continue;
+ }
+
+ in_tex = mix_pad->current_texture;
_init_vbo_indices (video_mixer);
@@ -1102,7 +1453,9 @@
gint pad_width, pad_height;
gfloat w, h;
- _mixer_pad_get_output_size (video_mixer, pad, &pad_width, &pad_height);
+ _mixer_pad_get_output_size (video_mixer, pad,
+ GST_VIDEO_INFO_PAR_N (&vagg->info),
+ GST_VIDEO_INFO_PAR_D (&vagg->info), &pad_width, &pad_height);
w = ((gfloat) pad_width / (gfloat) out_width);
h = ((gfloat) pad_height / (gfloat) out_height);
@@ -1135,9 +1488,6 @@
}
gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, video_mixer->vbo_indices);
- gl->BlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- gl->BlendEquation (GL_FUNC_ADD);
-
gl->ActiveTexture (GL_TEXTURE0);
gl->BindTexture (GL_TEXTURE_2D, in_tex);
gst_gl_shader_set_uniform_1i (video_mixer->shader, "texture", 0);
@@ -1154,8 +1504,9 @@
gl->DrawElements (GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, 0);
- ++count;
+ walk = g_list_next (walk);
}
+ GST_OBJECT_UNLOCK (video_mixer);
gl->DisableVertexAttribArray (attr_position_loc);
gl->DisableVertexAttribArray (attr_texture_loc);
diff --git a/ext/gl/gstglvideomixer.h b/ext/gl/gstglvideomixer.h
index 0d0252b..a0776fd 100644
--- a/ext/gl/gstglvideomixer.h
+++ b/ext/gl/gstglvideomixer.h
@@ -53,6 +53,66 @@
}
GstGLVideoMixerBackground;
+/**
+ * GstGLVideoMixerBlendEquation:
+ * @GST_GL_VIDEO_MIXER_BLEND_EQUATION_ADD: Add the two results.
+ * @GST_GL_VIDEO_MIXER_BLEND_EQUATION_SUBTRACT: Subtract component-wise the destination from the source (S - D).
+ * @GST_GL_VIDEO_MIXER_BLEND_EQUATION_REVERSE_SUBTRACT: Subtract component-wise the source from the destination (D - S).
+ *
+ * The blending equation to use. See the opengl specificition for
+ * glBlendEquationSeparate
+ */
+typedef enum
+{
+ GST_GL_VIDEO_MIXER_BLEND_EQUATION_ADD,
+ GST_GL_VIDEO_MIXER_BLEND_EQUATION_SUBTRACT,
+ GST_GL_VIDEO_MIXER_BLEND_EQUATION_REVERSE_SUBTRACT,
+}
+GstGLVideoMixerBlendEquation;
+
+/**
+ * GstGLVideoMixerBlendFunction:
+ * @GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ZERO: All components are zero
+ * @GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE: All components are one
+ * @GST_GL_VIDEO_MIXER_BLEND_FUNCTION_SRC_COLOR: Use the source color/alpha
+ * @GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE_MINUS_SRC_COLOR: One minus the source color/alpha
+ * @GST_GL_VIDEO_MIXER_BLEND_FUNCTION_DST_COLOR: Use the destination color/alpha
+ * @GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE_MINUS_DST_COLOR: One minus the destination color/alpha
+ * @GST_GL_VIDEO_MIXER_BLEND_FUNCTION_SRC_ALPHA: All components are the source alpha
+ * @GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE_MINUS_SRC_ALPHA: All components are one minus the source alpha
+ * @GST_GL_VIDEO_MIXER_BLEND_FUNCTION_DST_ALPHA: All components are the destination alpha
+ * @GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE_MINUS_DST_ALPHA: All components are one minus the destination alpha
+ * @GST_GL_VIDEO_MIXER_BLEND_FUNCTION_CONSTANT_COLOR: Use the constant color/alpha
+ * @GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE_MINUS_CONSTANT_COLOR: Use one minus the constant color/alpha
+ * @GST_GL_VIDEO_MIXER_BLEND_FUNCTION_CONSTANT_ALPHA: All components are the constant alpha
+ * @GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE_MINUS_CONSTANT_COLOR: All components are one minus the constant alpha
+ * @GST_GL_VIDEO_MIXER_BLEND_FUNCTION_SRC_ALPHA_SATURATE: All color components
+ * are the minimum of source alpha and one minus the destination alpha.
+ * Alpha is equal to one.
+ *
+ * The blending function to use. See the opengl specificition for
+ * glBlendFuncSeparate
+ */
+typedef enum
+{
+ GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ZERO,
+ GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE,
+ GST_GL_VIDEO_MIXER_BLEND_FUNCTION_SRC_COLOR,
+ GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE_MINUS_SRC_COLOR,
+ GST_GL_VIDEO_MIXER_BLEND_FUNCTION_DST_COLOR,
+ GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE_MINUS_DST_COLOR,
+ GST_GL_VIDEO_MIXER_BLEND_FUNCTION_SRC_ALPHA,
+ GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE_MINUS_SRC_ALPHA,
+ GST_GL_VIDEO_MIXER_BLEND_FUNCTION_DST_ALPHA,
+ GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE_MINUS_DST_ALPHA,
+ GST_GL_VIDEO_MIXER_BLEND_FUNCTION_CONSTANT_COLOR,
+ GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE_MINUS_CONSTANT_COLOR,
+ GST_GL_VIDEO_MIXER_BLEND_FUNCTION_CONSTANT_ALPHA,
+ GST_GL_VIDEO_MIXER_BLEND_FUNCTION_ONE_MINUS_CONSTANT_ALPHA,
+ GST_GL_VIDEO_MIXER_BLEND_FUNCTION_SRC_ALPHA_SATURATE,
+}
+GstGLVideoMixerBlendFunction;
+
struct _GstGLVideoMixer
{
GstGLMixer mixer;
@@ -61,7 +121,6 @@
GstGLShader *shader;
GstGLShader *checker;
- GPtrArray *input_frames;
GLuint vao;
GLuint vbo_indices;
diff --git a/ext/gl/gstopengl.c b/ext/gl/gstopengl.c
index 5f2a1ac..50676c4 100644
--- a/ext/gl/gstopengl.c
+++ b/ext/gl/gstopengl.c
@@ -47,6 +47,7 @@
#include "gstgluploadelement.h"
#include "gstgldownloadelement.h"
#include "gstglcolorconvertelement.h"
+#include "gstglcolorbalance.h"
#include "gstglfilterbin.h"
#include "gstglsinkbin.h"
#include "gstglsrcbin.h"
@@ -64,6 +65,7 @@
#if HAVE_GRAPHENE
#include "gstgltransformation.h"
+#include "gstglvideoflip.h"
#endif
#if HAVE_JPEG
#if HAVE_PNG
@@ -140,6 +142,11 @@
return FALSE;
}
+ if (!gst_element_register (plugin, "glcolorbalance",
+ GST_RANK_NONE, GST_TYPE_GL_COLOR_BALANCE)) {
+ return FALSE;
+ }
+
if (!gst_element_register (plugin, "glfilterbin",
GST_RANK_NONE, GST_TYPE_GL_FILTER_BIN)) {
return FALSE;
@@ -169,6 +176,11 @@
GST_RANK_NONE, GST_TYPE_GL_TRANSFORMATION)) {
return FALSE;
}
+
+ if (!gst_element_register (plugin, "glvideoflip",
+ GST_RANK_NONE, GST_TYPE_GL_VIDEO_FLIP)) {
+ return FALSE;
+ }
#endif
if (!gst_gl_effects_register_filters (plugin, GST_RANK_NONE)) {
diff --git a/ext/gme/Makefile.in b/ext/gme/Makefile.in
index 43c0bf8..a0864b4 100644
--- a/ext/gme/Makefile.in
+++ b/ext/gme/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -323,7 +322,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -345,7 +343,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -367,9 +364,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -531,6 +525,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -544,8 +539,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -632,8 +625,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -685,6 +676,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -705,6 +697,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -742,7 +736,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/gsettings/Makefile.am b/ext/gsettings/Makefile.am
deleted file mode 100644
index 4cba8ac..0000000
--- a/ext/gsettings/Makefile.am
+++ /dev/null
@@ -1,41 +0,0 @@
-gsettings_SCHEMAS = org.freedesktop.gstreamer-@GST_API_VERSION@.default-elements.gschema.xml
-
-org.freedesktop.gstreamer-@GST_API_VERSION@.default-elements.gschema.xml: org.freedesktop.gstreamer.default-elements.gschema.xml
- cp org.freedesktop.gstreamer.default-elements.gschema.xml org.freedesktop.gstreamer-@GST_API_VERSION@.default-elements.gschema.xml
-
-if USE_GSETTINGS
-@GSETTINGS_RULES@
-endif
-
-plugin_LTLIBRARIES = libgstgsettingselements.la
-
-libgstgsettingselements_la_SOURCES = \
- gstgsettingsaudiosink.c \
- gstgsettingsaudiosrc.c \
- gstgsettingsvideosink.c \
- gstgsettingsvideosrc.c \
- gstswitchsink.c \
- gstswitchsrc.c \
- plugin.c
-
-libgstgsettingselements_la_CFLAGS = $(GST_PLUGINS_BAD_CFLAGS) $(GST_CFLAGS) $(GSETTINGS_CFLAGS) $(DIR_CFLAGS) \
- -DGstSwitchSrc=GstGSettingsSwitchSrc \
- -DGstSwitchSrcClass=GstGSettingsSwitchSrcClass \
- -DGstSwitchSink=GstGSettingsSwitchSink \
- -DGstSwitchSinkClass=GstGSettingsSwitchSinkClass
-libgstgsettingselements_la_LIBADD = $(GST_LIBS) $(GSETTINGS_LIBS)
-libgstgsettingselements_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
-libgstgsettingselements_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
-
-noinst_HEADERS = \
- gstgsettingsaudiosink.h \
- gstgsettingsaudiosrc.h \
- gstgsettingsvideosink.h \
- gstgsettingsvideosrc.h \
- gstswitchsink.h \
- gstswitchsrc.h \
- gstgsettings.h
-
-EXTRA_DIST = org.freedesktop.gstreamer.default-elements.gschema.xml
-
-CLEANFILES = $(gsettings_SCHEMAS)
diff --git a/ext/gsettings/Makefile.in b/ext/gsettings/Makefile.in
deleted file mode 100644
index ad1741a..0000000
--- a/ext/gsettings/Makefile.in
+++ /dev/null
@@ -1,1213 +0,0 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-VPATH = @srcdir@
-am__is_gnu_make = { \
- if test -z '$(MAKELEVEL)'; then \
- false; \
- elif test -n '$(MAKE_HOST)'; then \
- true; \
- elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
- true; \
- else \
- false; \
- fi; \
-}
-am__make_running_with_option = \
- case $${target_option-} in \
- ?) ;; \
- *) echo "am__make_running_with_option: internal error: invalid" \
- "target option '$${target_option-}' specified" >&2; \
- exit 1;; \
- esac; \
- has_opt=no; \
- sane_makeflags=$$MAKEFLAGS; \
- if $(am__is_gnu_make); then \
- sane_makeflags=$$MFLAGS; \
- else \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- bs=\\; \
- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
- esac; \
- fi; \
- skip_next=no; \
- strip_trailopt () \
- { \
- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
- }; \
- for flg in $$sane_makeflags; do \
- test $$skip_next = yes && { skip_next=no; continue; }; \
- case $$flg in \
- *=*|--*) continue;; \
- -*I) strip_trailopt 'I'; skip_next=yes;; \
- -*I?*) strip_trailopt 'I';; \
- -*O) strip_trailopt 'O'; skip_next=yes;; \
- -*O?*) strip_trailopt 'O';; \
- -*l) strip_trailopt 'l'; skip_next=yes;; \
- -*l?*) strip_trailopt 'l';; \
- -[dEDm]) skip_next=yes;; \
- -[JT]) skip_next=yes;; \
- esac; \
- case $$flg in \
- *$$target_option*) has_opt=yes; break;; \
- esac; \
- done; \
- test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = ext/gsettings
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
- $(top_srcdir)/common/m4/as-auto-alt.m4 \
- $(top_srcdir)/common/m4/as-compiler-flag.m4 \
- $(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-version.m4 \
- $(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
- $(top_srcdir)/common/m4/ax_pthread.m4 \
- $(top_srcdir)/common/m4/gst-arch.m4 \
- $(top_srcdir)/common/m4/gst-args.m4 \
- $(top_srcdir)/common/m4/gst-check.m4 \
- $(top_srcdir)/common/m4/gst-default.m4 \
- $(top_srcdir)/common/m4/gst-dowhile.m4 \
- $(top_srcdir)/common/m4/gst-error.m4 \
- $(top_srcdir)/common/m4/gst-feature.m4 \
- $(top_srcdir)/common/m4/gst-gettext.m4 \
- $(top_srcdir)/common/m4/gst-glib2.m4 \
- $(top_srcdir)/common/m4/gst-package-release-datetime.m4 \
- $(top_srcdir)/common/m4/gst-platform.m4 \
- $(top_srcdir)/common/m4/gst-plugin-docs.m4 \
- $(top_srcdir)/common/m4/gst-plugindir.m4 \
- $(top_srcdir)/common/m4/gst.m4 \
- $(top_srcdir)/common/m4/gtk-doc.m4 \
- $(top_srcdir)/common/m4/introspection.m4 \
- $(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
- $(am__DIST_COMMON)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = \
- org.freedesktop.gstreamer.default-elements.gschema.xml
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__installdirs = "$(DESTDIR)$(plugindir)"
-LTLIBRARIES = $(plugin_LTLIBRARIES)
-am__DEPENDENCIES_1 =
-libgstgsettingselements_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1)
-am_libgstgsettingselements_la_OBJECTS = \
- libgstgsettingselements_la-gstgsettingsaudiosink.lo \
- libgstgsettingselements_la-gstgsettingsaudiosrc.lo \
- libgstgsettingselements_la-gstgsettingsvideosink.lo \
- libgstgsettingselements_la-gstgsettingsvideosrc.lo \
- libgstgsettingselements_la-gstswitchsink.lo \
- libgstgsettingselements_la-gstswitchsrc.lo \
- libgstgsettingselements_la-plugin.lo
-libgstgsettingselements_la_OBJECTS = \
- $(am_libgstgsettingselements_la_OBJECTS)
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-am__v_lt_1 =
-libgstgsettingselements_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
- $(libgstgsettingselements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
- --mode=link $(CCLD) $(libgstgsettingselements_la_CFLAGS) \
- $(CFLAGS) $(libgstgsettingselements_la_LDFLAGS) $(LDFLAGS) -o \
- $@
-AM_V_P = $(am__v_P_@AM_V@)
-am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-am__v_GEN_1 =
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_@AM_V@)
-am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-am__v_CC_1 =
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_@AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-am__v_CCLD_1 =
-SOURCES = $(libgstgsettingselements_la_SOURCES)
-DIST_SOURCES = $(libgstgsettingselements_la_SOURCES)
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-HEADERS = $(noinst_HEADERS)
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates. Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
- BEGIN { nonempty = 0; } \
- { items[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique. This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
- list='$(am__tagged_files)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-am__DIST_COMMON = $(srcdir)/Makefile.in \
- $(srcdir)/org.freedesktop.gstreamer.default-elements.gschema.xml.in \
- $(top_srcdir)/depcomp
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-ACMENC_CFLAGS = @ACMENC_CFLAGS@
-ACMMP3DEC_CFLAGS = @ACMMP3DEC_CFLAGS@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-APEXSINK_CFLAGS = @APEXSINK_CFLAGS@
-APEXSINK_LIBS = @APEXSINK_LIBS@
-AR = @AR@
-AS = @AS@
-ASSRENDER_CFLAGS = @ASSRENDER_CFLAGS@
-ASSRENDER_LIBS = @ASSRENDER_LIBS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BLUEZ5_CFLAGS = @BLUEZ5_CFLAGS@
-BLUEZ5_LIBS = @BLUEZ5_LIBS@
-BS2B_CFLAGS = @BS2B_CFLAGS@
-BS2B_LIBS = @BS2B_LIBS@
-BZ2_LIBS = @BZ2_LIBS@
-CC = @CC@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CHROMAPRINT_CFLAGS = @CHROMAPRINT_CFLAGS@
-CHROMAPRINT_LIBS = @CHROMAPRINT_LIBS@
-CLUTTER_CFLAGS = @CLUTTER_CFLAGS@
-CLUTTER_GLX_CFLAGS = @CLUTTER_GLX_CFLAGS@
-CLUTTER_GLX_LIBS = @CLUTTER_GLX_LIBS@
-CLUTTER_LIBS = @CLUTTER_LIBS@
-CLUTTER_X11_CFLAGS = @CLUTTER_X11_CFLAGS@
-CLUTTER_X11_LIBS = @CLUTTER_X11_LIBS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CUDA_CFLAGS = @CUDA_CFLAGS@
-CUDA_LIBS = @CUDA_LIBS@
-CURL_CFLAGS = @CURL_CFLAGS@
-CURL_LIBS = @CURL_LIBS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DAALA_CFLAGS = @DAALA_CFLAGS@
-DAALA_LIBS = @DAALA_LIBS@
-DCCP_LIBS = @DCCP_LIBS@
-DECKLINK_CXXFLAGS = @DECKLINK_CXXFLAGS@
-DECKLINK_LIBS = @DECKLINK_LIBS@
-DEFAULT_AUDIOSINK = @DEFAULT_AUDIOSINK@
-DEFAULT_AUDIOSRC = @DEFAULT_AUDIOSRC@
-DEFAULT_VIDEOSINK = @DEFAULT_VIDEOSINK@
-DEFAULT_VIDEOSRC = @DEFAULT_VIDEOSRC@
-DEFAULT_VISUALIZER = @DEFAULT_VISUALIZER@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DEPRECATED_CFLAGS = @DEPRECATED_CFLAGS@
-DIRECT3D_LIBS = @DIRECT3D_LIBS@
-DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
-DIRECTFB_LIBS = @DIRECTFB_LIBS@
-DIRECTSOUND_LIBS = @DIRECTSOUND_LIBS@
-DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
-DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DTLS_CFLAGS = @DTLS_CFLAGS@
-DTLS_LIBS = @DTLS_LIBS@
-DTS_LIBS = @DTS_LIBS@
-DUMPBIN = @DUMPBIN@
-DVDNAV_CFLAGS = @DVDNAV_CFLAGS@
-DVDNAV_LIBS = @DVDNAV_LIBS@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGL_CFLAGS = @EGL_CFLAGS@
-EGL_LIBS = @EGL_LIBS@
-EGREP = @EGREP@
-ERROR_CFLAGS = @ERROR_CFLAGS@
-ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
-ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
-EXEEXT = @EXEEXT@
-EXIF_CFLAGS = @EXIF_CFLAGS@
-EXIF_LIBS = @EXIF_LIBS@
-FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
-FAAD_LIBS = @FAAD_LIBS@
-FFLAGS = @FFLAGS@
-FGREP = @FGREP@
-FLITE_CFLAGS = @FLITE_CFLAGS@
-FLITE_LIBS = @FLITE_LIBS@
-FLUIDSYNTH_CFLAGS = @FLUIDSYNTH_CFLAGS@
-FLUIDSYNTH_LIBS = @FLUIDSYNTH_LIBS@
-GCOV = @GCOV@
-GCOV_CFLAGS = @GCOV_CFLAGS@
-GCOV_LIBS = @GCOV_LIBS@
-GDBUS_CODEGEN = @GDBUS_CODEGEN@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
-GIO_CFLAGS = @GIO_CFLAGS@
-GIO_LDFLAGS = @GIO_LDFLAGS@
-GIO_LIBS = @GIO_LIBS@
-GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
-GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
-GLES2_CFLAGS = @GLES2_CFLAGS@
-GLES2_LIBS = @GLES2_LIBS@
-GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
-GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
-GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
-GLIB_LIBS = @GLIB_LIBS@
-GLIB_MKENUMS = @GLIB_MKENUMS@
-GLIB_PREFIX = @GLIB_PREFIX@
-GLIB_REQ = @GLIB_REQ@
-GL_CFLAGS = @GL_CFLAGS@
-GL_LIBS = @GL_LIBS@
-GL_OBJCFLAGS = @GL_OBJCFLAGS@
-GME_LIBS = @GME_LIBS@
-GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
-GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
-GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
-GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
-GMSGFMT = @GMSGFMT@
-GMSGFMT_015 = @GMSGFMT_015@
-GNUSTL_CFLAGS = @GNUSTL_CFLAGS@
-GNUSTL_LIBS = @GNUSTL_LIBS@
-GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
-GRAPHENE_LIBS = @GRAPHENE_LIBS@
-GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
-GSM_LIBS = @GSM_LIBS@
-GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
-GSTPB_PREFIX = @GSTPB_PREFIX@
-GST_AGE = @GST_AGE@
-GST_ALLOCATORS_CFLAGS = @GST_ALLOCATORS_CFLAGS@
-GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
-GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
-GST_API_VERSION = @GST_API_VERSION@
-GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
-GST_BASE_LIBS = @GST_BASE_LIBS@
-GST_CFLAGS = @GST_CFLAGS@
-GST_CHECK_CFLAGS = @GST_CHECK_CFLAGS@
-GST_CHECK_LIBS = @GST_CHECK_LIBS@
-GST_CONTROLLER_CFLAGS = @GST_CONTROLLER_CFLAGS@
-GST_CONTROLLER_LIBS = @GST_CONTROLLER_LIBS@
-GST_CURRENT = @GST_CURRENT@
-GST_CXXFLAGS = @GST_CXXFLAGS@
-GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
-GST_LIBS = @GST_LIBS@
-GST_LIBVERSION = @GST_LIBVERSION@
-GST_LIB_LDFLAGS = @GST_LIB_LDFLAGS@
-GST_LICENSE = @GST_LICENSE@
-GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
-GST_NET_CFLAGS = @GST_NET_CFLAGS@
-GST_NET_LIBS = @GST_NET_LIBS@
-GST_OBJCFLAGS = @GST_OBJCFLAGS@
-GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
-GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
-GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
-GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
-GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
-GST_PBUTILS_CFLAGS = @GST_PBUTILS_CFLAGS@
-GST_PBUTILS_LIBS = @GST_PBUTILS_LIBS@
-GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
-GST_PLUGINS_BAD_CFLAGS = @GST_PLUGINS_BAD_CFLAGS@
-GST_PLUGINS_BAD_CXXFLAGS = @GST_PLUGINS_BAD_CXXFLAGS@
-GST_PLUGINS_BAD_OBJCFLAGS = @GST_PLUGINS_BAD_OBJCFLAGS@
-GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
-GST_PLUGINS_BASE_DIR = @GST_PLUGINS_BASE_DIR@
-GST_PLUGINS_BASE_LIBS = @GST_PLUGINS_BASE_LIBS@
-GST_PLUGINS_DIR = @GST_PLUGINS_DIR@
-GST_PLUGINS_GOOD_CFLAGS = @GST_PLUGINS_GOOD_CFLAGS@
-GST_PLUGINS_GOOD_DIR = @GST_PLUGINS_GOOD_DIR@
-GST_PLUGINS_GOOD_LIBS = @GST_PLUGINS_GOOD_LIBS@
-GST_PLUGINS_LIBAV_CFLAGS = @GST_PLUGINS_LIBAV_CFLAGS@
-GST_PLUGINS_LIBAV_DIR = @GST_PLUGINS_LIBAV_DIR@
-GST_PLUGINS_LIBAV_LIBS = @GST_PLUGINS_LIBAV_LIBS@
-GST_PLUGINS_NONPORTED = @GST_PLUGINS_NONPORTED@
-GST_PLUGINS_SELECTED = @GST_PLUGINS_SELECTED@
-GST_PLUGINS_UGLY_CFLAGS = @GST_PLUGINS_UGLY_CFLAGS@
-GST_PLUGINS_UGLY_DIR = @GST_PLUGINS_UGLY_DIR@
-GST_PLUGINS_UGLY_LIBS = @GST_PLUGINS_UGLY_LIBS@
-GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
-GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
-GST_PREFIX = @GST_PREFIX@
-GST_REVISION = @GST_REVISION@
-GST_TOOLS_DIR = @GST_TOOLS_DIR@
-GST_VIDEO_CFLAGS = @GST_VIDEO_CFLAGS@
-GST_VIDEO_LIBS = @GST_VIDEO_LIBS@
-GTK3_CFLAGS = @GTK3_CFLAGS@
-GTK3_GL_CFLAGS = @GTK3_GL_CFLAGS@
-GTK3_GL_LIBS = @GTK3_GL_LIBS@
-GTK3_LIBS = @GTK3_LIBS@
-GTK3_WAYLAND_CFLAGS = @GTK3_WAYLAND_CFLAGS@
-GTK3_WAYLAND_LIBS = @GTK3_WAYLAND_LIBS@
-GTK3_X11_CFLAGS = @GTK3_X11_CFLAGS@
-GTK3_X11_LIBS = @GTK3_X11_LIBS@
-GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
-GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
-GTKDOC_MKPDF = @GTKDOC_MKPDF@
-GTKDOC_REBASE = @GTKDOC_REBASE@
-GTK_BASE_DIR = @GTK_BASE_DIR@
-GTK_CFLAGS = @GTK_CFLAGS@
-GTK_LIBS = @GTK_LIBS@
-GTK_VERSION = @GTK_VERSION@
-G_UDEV_CFLAGS = @G_UDEV_CFLAGS@
-G_UDEV_LIBS = @G_UDEV_LIBS@
-HAVE_CLUTTER = @HAVE_CLUTTER@
-HAVE_CLUTTER_GLX = @HAVE_CLUTTER_GLX@
-HAVE_CLUTTER_X11 = @HAVE_CLUTTER_X11@
-HAVE_CXX = @HAVE_CXX@
-HAVE_DIRECT3D = @HAVE_DIRECT3D@
-HAVE_DIRECTSOUND = @HAVE_DIRECTSOUND@
-HAVE_DTS = @HAVE_DTS@
-HAVE_EGL = @HAVE_EGL@
-HAVE_FAAC = @HAVE_FAAC@
-HAVE_FAAD = @HAVE_FAAD@
-HAVE_FLITE = @HAVE_FLITE@
-HAVE_GL = @HAVE_GL@
-HAVE_GLES2 = @HAVE_GLES2@
-HAVE_GRAPHENE = @HAVE_GRAPHENE@
-HAVE_GSM = @HAVE_GSM@
-HAVE_GTK3 = @HAVE_GTK3@
-HAVE_JPEG = @HAVE_JPEG@
-HAVE_NAS = @HAVE_NAS@
-HAVE_OPENJPEG = @HAVE_OPENJPEG@
-HAVE_PNG = @HAVE_PNG@
-HAVE_SRTP = @HAVE_SRTP@
-HAVE_WASAPI = @HAVE_WASAPI@
-HAVE_WILDMIDI = @HAVE_WILDMIDI@
-HAVE_WINKS = @HAVE_WINKS@
-HAVE_WINSCREENCAP = @HAVE_WINSCREENCAP@
-HAVE_X11 = @HAVE_X11@
-HTML_DIR = @HTML_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INTLLIBS = @INTLLIBS@
-INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
-INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
-INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
-INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
-INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
-INTROSPECTION_INIT = @INTROSPECTION_INIT@
-INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
-INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
-INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
-INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
-JPEG_LIBS = @JPEG_LIBS@
-KATE_CFLAGS = @KATE_CFLAGS@
-KATE_LIBS = @KATE_LIBS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBDC1394_CFLAGS = @LIBDC1394_CFLAGS@
-LIBDC1394_LIBS = @LIBDC1394_LIBS@
-LIBDE265_CFLAGS = @LIBDE265_CFLAGS@
-LIBDE265_LIBS = @LIBDE265_LIBS@
-LIBDIR = @LIBDIR@
-LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
-LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
-LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
-LIBICONV = @LIBICONV@
-LIBINTL = @LIBINTL@
-LIBM = @LIBM@
-LIBMMS_CFLAGS = @LIBMMS_CFLAGS@
-LIBMMS_LIBS = @LIBMMS_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_LIBS = @LIBPNG_LIBS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBUDEV_CFLAGS = @LIBUDEV_CFLAGS@
-LIBUDEV_LIBS = @LIBUDEV_LIBS@
-LIBUSB_CFLAGS = @LIBUSB_CFLAGS@
-LIBUSB_LIBS = @LIBUSB_LIBS@
-LIBVISUAL_CFLAGS = @LIBVISUAL_CFLAGS@
-LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
-LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
-LIBXML2_LIBS = @LIBXML2_LIBS@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LOCALEDIR = @LOCALEDIR@
-LRDF_CFLAGS = @LRDF_CFLAGS@
-LRDF_LIBS = @LRDF_LIBS@
-LTLIBICONV = @LTLIBICONV@
-LTLIBINTL = @LTLIBINTL@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MIMIC_CFLAGS = @MIMIC_CFLAGS@
-MIMIC_LIBS = @MIMIC_LIBS@
-MJPEG_CFLAGS = @MJPEG_CFLAGS@
-MJPEG_LIBS = @MJPEG_LIBS@
-MKDIR_P = @MKDIR_P@
-MOC = @MOC@
-MODPLUG_CFLAGS = @MODPLUG_CFLAGS@
-MODPLUG_LIBS = @MODPLUG_LIBS@
-MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
-MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
-MPLEX_CFLAGS = @MPLEX_CFLAGS@
-MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
-MPLEX_LIBS = @MPLEX_LIBS@
-MSGFMT = @MSGFMT@
-MSGFMT_015 = @MSGFMT_015@
-MSGMERGE = @MSGMERGE@
-MUSEPACK_LIBS = @MUSEPACK_LIBS@
-NAS_CFLAGS = @NAS_CFLAGS@
-NAS_LIBS = @NAS_LIBS@
-NEON_CFLAGS = @NEON_CFLAGS@
-NEON_LIBS = @NEON_LIBS@
-NETTLE_CFLAGS = @NETTLE_CFLAGS@
-NETTLE_LIBS = @NETTLE_LIBS@
-NM = @NM@
-NMEDIT = @NMEDIT@
-NVENCODE_CFLAGS = @NVENCODE_CFLAGS@
-NVENCODE_LIBS = @NVENCODE_LIBS@
-OBJC = @OBJC@
-OBJCDEPMODE = @OBJCDEPMODE@
-OBJCFLAGS = @OBJCFLAGS@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OFA_CFLAGS = @OFA_CFLAGS@
-OFA_LIBS = @OFA_LIBS@
-OPENAL_CFLAGS = @OPENAL_CFLAGS@
-OPENAL_LIBS = @OPENAL_LIBS@
-OPENCV_CFLAGS = @OPENCV_CFLAGS@
-OPENCV_LIBS = @OPENCV_LIBS@
-OPENCV_PREFIX = @OPENCV_PREFIX@
-OPENEXR_CFLAGS = @OPENEXR_CFLAGS@
-OPENEXR_LIBS = @OPENEXR_LIBS@
-OPENH264_CFLAGS = @OPENH264_CFLAGS@
-OPENH264_LIBS = @OPENH264_LIBS@
-OPENJPEG_CFLAGS = @OPENJPEG_CFLAGS@
-OPENJPEG_LIBS = @OPENJPEG_LIBS@
-OPENNI2_CFLAGS = @OPENNI2_CFLAGS@
-OPENNI2_LIBS = @OPENNI2_LIBS@
-OPENSSL_CFLAGS = @OPENSSL_CFLAGS@
-OPENSSL_LIBS = @OPENSSL_LIBS@
-OPUS_CFLAGS = @OPUS_CFLAGS@
-OPUS_LIBS = @OPUS_LIBS@
-ORCC = @ORCC@
-ORCC_FLAGS = @ORCC_FLAGS@
-ORC_CFLAGS = @ORC_CFLAGS@
-ORC_LIBS = @ORC_LIBS@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PACKAGE_VERSION_MAJOR = @PACKAGE_VERSION_MAJOR@
-PACKAGE_VERSION_MICRO = @PACKAGE_VERSION_MICRO@
-PACKAGE_VERSION_MINOR = @PACKAGE_VERSION_MINOR@
-PACKAGE_VERSION_NANO = @PACKAGE_VERSION_NANO@
-PACKAGE_VERSION_RELEASE = @PACKAGE_VERSION_RELEASE@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKG_CONFIG = @PKG_CONFIG@
-PLUGINDIR = @PLUGINDIR@
-POSUB = @POSUB@
-PROFILE_CFLAGS = @PROFILE_CFLAGS@
-PTHREAD_CC = @PTHREAD_CC@
-PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
-PTHREAD_LIBS = @PTHREAD_LIBS@
-PVR_CFLAGS = @PVR_CFLAGS@
-PVR_LIBS = @PVR_LIBS@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-QT_ANDROID_CFLAGS = @QT_ANDROID_CFLAGS@
-QT_ANDROID_LIBS = @QT_ANDROID_LIBS@
-QT_CFLAGS = @QT_CFLAGS@
-QT_LIBS = @QT_LIBS@
-QT_MAC_CFLAGS = @QT_MAC_CFLAGS@
-QT_MAC_LIBS = @QT_MAC_LIBS@
-QT_WAYLAND_CFLAGS = @QT_WAYLAND_CFLAGS@
-QT_WAYLAND_LIBS = @QT_WAYLAND_LIBS@
-QT_X11_CFLAGS = @QT_X11_CFLAGS@
-QT_X11_LIBS = @QT_X11_LIBS@
-RANLIB = @RANLIB@
-RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
-RSVG_CFLAGS = @RSVG_CFLAGS@
-RSVG_LIBS = @RSVG_LIBS@
-RTMP_CFLAGS = @RTMP_CFLAGS@
-RTMP_LIBS = @RTMP_LIBS@
-SBC_CFLAGS = @SBC_CFLAGS@
-SBC_LIBS = @SBC_LIBS@
-SCHRO_CFLAGS = @SCHRO_CFLAGS@
-SCHRO_LIBS = @SCHRO_LIBS@
-SDL_CFLAGS = @SDL_CFLAGS@
-SDL_CLUTTER = @SDL_CLUTTER@
-SDL_CONFIG = @SDL_CONFIG@
-SDL_LIBS = @SDL_LIBS@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
-SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
-SNDFILE_LIBS = @SNDFILE_LIBS@
-SNDIO_LIBS = @SNDIO_LIBS@
-SOUNDTOUCH_CFLAGS = @SOUNDTOUCH_CFLAGS@
-SOUNDTOUCH_LIBS = @SOUNDTOUCH_LIBS@
-SPANDSP_CFLAGS = @SPANDSP_CFLAGS@
-SPANDSP_LIBS = @SPANDSP_LIBS@
-SPC_LIBS = @SPC_LIBS@
-SRTP_CFLAGS = @SRTP_CFLAGS@
-SRTP_LIBS = @SRTP_LIBS@
-SSH2_CFLAGS = @SSH2_CFLAGS@
-SSH2_LIBS = @SSH2_LIBS@
-STRIP = @STRIP@
-TELETEXTDEC_CFLAGS = @TELETEXTDEC_CFLAGS@
-TELETEXTDEC_LIBS = @TELETEXTDEC_LIBS@
-TIGER_CFLAGS = @TIGER_CFLAGS@
-TIGER_LIBS = @TIGER_LIBS@
-TIMIDITY_CFLAGS = @TIMIDITY_CFLAGS@
-TIMIDITY_LIBS = @TIMIDITY_LIBS@
-UIC = @UIC@
-USE_GLES2 = @USE_GLES2@
-USE_NLS = @USE_NLS@
-USE_OPENGL = @USE_OPENGL@
-VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
-VALGRIND_LIBS = @VALGRIND_LIBS@
-VALGRIND_PATH = @VALGRIND_PATH@
-VDPAU_CFLAGS = @VDPAU_CFLAGS@
-VDPAU_LIBS = @VDPAU_LIBS@
-VERSION = @VERSION@
-VOAACENC_CFLAGS = @VOAACENC_CFLAGS@
-VOAACENC_LIBS = @VOAACENC_LIBS@
-VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
-VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
-WARNING_CFLAGS = @WARNING_CFLAGS@
-WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
-WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
-WASAPI_LIBS = @WASAPI_LIBS@
-WAYLAND_CFLAGS = @WAYLAND_CFLAGS@
-WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
-WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
-WAYLAND_LIBS = @WAYLAND_LIBS@
-WEBP_CFLAGS = @WEBP_CFLAGS@
-WEBP_LIBS = @WEBP_LIBS@
-WGET = @WGET@
-WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
-WILDMIDI_LIBS = @WILDMIDI_LIBS@
-WINKS_LIBS = @WINKS_LIBS@
-WINSCREENCAP_LIBS = @WINSCREENCAP_LIBS@
-WINSOCK2_LIBS = @WINSOCK2_LIBS@
-X11_CFLAGS = @X11_CFLAGS@
-X11_LIBS = @X11_LIBS@
-X265_CFLAGS = @X265_CFLAGS@
-X265_LIBS = @X265_LIBS@
-XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
-XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
-XGETTEXT = @XGETTEXT@
-XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-XVID_LIBS = @XVID_LIBS@
-X_CFLAGS = @X_CFLAGS@
-X_LIBS = @X_LIBS@
-ZBAR_CFLAGS = @ZBAR_CFLAGS@
-ZBAR_LIBS = @ZBAR_LIBS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-ac_ct_OBJC = @ac_ct_OBJC@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-ax_pthread_config = @ax_pthread_config@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-pkgpyexecdir = @pkgpyexecdir@
-pkgpythondir = @pkgpythondir@
-plugindir = @plugindir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pyexecdir = @pyexecdir@
-pythondir = @pythondir@
-runstatedir = @runstatedir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-wayland_scanner = @wayland_scanner@
-gsettings_SCHEMAS = org.freedesktop.gstreamer-@GST_API_VERSION@.default-elements.gschema.xml
-plugin_LTLIBRARIES = libgstgsettingselements.la
-libgstgsettingselements_la_SOURCES = \
- gstgsettingsaudiosink.c \
- gstgsettingsaudiosrc.c \
- gstgsettingsvideosink.c \
- gstgsettingsvideosrc.c \
- gstswitchsink.c \
- gstswitchsrc.c \
- plugin.c
-
-libgstgsettingselements_la_CFLAGS = $(GST_PLUGINS_BAD_CFLAGS) $(GST_CFLAGS) $(GSETTINGS_CFLAGS) $(DIR_CFLAGS) \
- -DGstSwitchSrc=GstGSettingsSwitchSrc \
- -DGstSwitchSrcClass=GstGSettingsSwitchSrcClass \
- -DGstSwitchSink=GstGSettingsSwitchSink \
- -DGstSwitchSinkClass=GstGSettingsSwitchSinkClass
-
-libgstgsettingselements_la_LIBADD = $(GST_LIBS) $(GSETTINGS_LIBS)
-libgstgsettingselements_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
-libgstgsettingselements_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
-noinst_HEADERS = \
- gstgsettingsaudiosink.h \
- gstgsettingsaudiosrc.h \
- gstgsettingsvideosink.h \
- gstgsettingsvideosrc.h \
- gstswitchsink.h \
- gstswitchsrc.h \
- gstgsettings.h
-
-EXTRA_DIST = org.freedesktop.gstreamer.default-elements.gschema.xml
-CLEANFILES = $(gsettings_SCHEMAS)
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ext/gsettings/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu ext/gsettings/Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-org.freedesktop.gstreamer.default-elements.gschema.xml: $(top_builddir)/config.status $(srcdir)/org.freedesktop.gstreamer.default-elements.gschema.xml.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-
-install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(MKDIR_P) '$(DESTDIR)$(plugindir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(plugindir)" || exit 1; \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(plugindir)'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(plugindir)"; \
- }
-
-uninstall-pluginLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(plugindir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(plugindir)/$$f"; \
- done
-
-clean-pluginLTLIBRARIES:
- -test -z "$(plugin_LTLIBRARIES)" || rm -f $(plugin_LTLIBRARIES)
- @list='$(plugin_LTLIBRARIES)'; \
- locs=`for p in $$list; do echo $$p; done | \
- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
- sort -u`; \
- test -z "$$locs" || { \
- echo rm -f $${locs}; \
- rm -f $${locs}; \
- }
-
-libgstgsettingselements.la: $(libgstgsettingselements_la_OBJECTS) $(libgstgsettingselements_la_DEPENDENCIES) $(EXTRA_libgstgsettingselements_la_DEPENDENCIES)
- $(AM_V_CCLD)$(libgstgsettingselements_la_LINK) -rpath $(plugindir) $(libgstgsettingselements_la_OBJECTS) $(libgstgsettingselements_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgsettingselements_la-gstgsettingsaudiosink.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgsettingselements_la-gstgsettingsaudiosrc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgsettingselements_la-gstgsettingsvideosink.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgsettingselements_la-gstgsettingsvideosrc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgsettingselements_la-gstswitchsink.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgsettingselements_la-gstswitchsrc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgsettingselements_la-plugin.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-libgstgsettingselements_la-gstgsettingsaudiosink.lo: gstgsettingsaudiosink.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstgsettingselements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstgsettingselements_la_CFLAGS) $(CFLAGS) -MT libgstgsettingselements_la-gstgsettingsaudiosink.lo -MD -MP -MF $(DEPDIR)/libgstgsettingselements_la-gstgsettingsaudiosink.Tpo -c -o libgstgsettingselements_la-gstgsettingsaudiosink.lo `test -f 'gstgsettingsaudiosink.c' || echo '$(srcdir)/'`gstgsettingsaudiosink.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstgsettingselements_la-gstgsettingsaudiosink.Tpo $(DEPDIR)/libgstgsettingselements_la-gstgsettingsaudiosink.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstgsettingsaudiosink.c' object='libgstgsettingselements_la-gstgsettingsaudiosink.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 $(libgstgsettingselements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstgsettingselements_la_CFLAGS) $(CFLAGS) -c -o libgstgsettingselements_la-gstgsettingsaudiosink.lo `test -f 'gstgsettingsaudiosink.c' || echo '$(srcdir)/'`gstgsettingsaudiosink.c
-
-libgstgsettingselements_la-gstgsettingsaudiosrc.lo: gstgsettingsaudiosrc.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstgsettingselements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstgsettingselements_la_CFLAGS) $(CFLAGS) -MT libgstgsettingselements_la-gstgsettingsaudiosrc.lo -MD -MP -MF $(DEPDIR)/libgstgsettingselements_la-gstgsettingsaudiosrc.Tpo -c -o libgstgsettingselements_la-gstgsettingsaudiosrc.lo `test -f 'gstgsettingsaudiosrc.c' || echo '$(srcdir)/'`gstgsettingsaudiosrc.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstgsettingselements_la-gstgsettingsaudiosrc.Tpo $(DEPDIR)/libgstgsettingselements_la-gstgsettingsaudiosrc.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstgsettingsaudiosrc.c' object='libgstgsettingselements_la-gstgsettingsaudiosrc.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 $(libgstgsettingselements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstgsettingselements_la_CFLAGS) $(CFLAGS) -c -o libgstgsettingselements_la-gstgsettingsaudiosrc.lo `test -f 'gstgsettingsaudiosrc.c' || echo '$(srcdir)/'`gstgsettingsaudiosrc.c
-
-libgstgsettingselements_la-gstgsettingsvideosink.lo: gstgsettingsvideosink.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstgsettingselements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstgsettingselements_la_CFLAGS) $(CFLAGS) -MT libgstgsettingselements_la-gstgsettingsvideosink.lo -MD -MP -MF $(DEPDIR)/libgstgsettingselements_la-gstgsettingsvideosink.Tpo -c -o libgstgsettingselements_la-gstgsettingsvideosink.lo `test -f 'gstgsettingsvideosink.c' || echo '$(srcdir)/'`gstgsettingsvideosink.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstgsettingselements_la-gstgsettingsvideosink.Tpo $(DEPDIR)/libgstgsettingselements_la-gstgsettingsvideosink.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstgsettingsvideosink.c' object='libgstgsettingselements_la-gstgsettingsvideosink.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 $(libgstgsettingselements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstgsettingselements_la_CFLAGS) $(CFLAGS) -c -o libgstgsettingselements_la-gstgsettingsvideosink.lo `test -f 'gstgsettingsvideosink.c' || echo '$(srcdir)/'`gstgsettingsvideosink.c
-
-libgstgsettingselements_la-gstgsettingsvideosrc.lo: gstgsettingsvideosrc.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstgsettingselements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstgsettingselements_la_CFLAGS) $(CFLAGS) -MT libgstgsettingselements_la-gstgsettingsvideosrc.lo -MD -MP -MF $(DEPDIR)/libgstgsettingselements_la-gstgsettingsvideosrc.Tpo -c -o libgstgsettingselements_la-gstgsettingsvideosrc.lo `test -f 'gstgsettingsvideosrc.c' || echo '$(srcdir)/'`gstgsettingsvideosrc.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstgsettingselements_la-gstgsettingsvideosrc.Tpo $(DEPDIR)/libgstgsettingselements_la-gstgsettingsvideosrc.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstgsettingsvideosrc.c' object='libgstgsettingselements_la-gstgsettingsvideosrc.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 $(libgstgsettingselements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstgsettingselements_la_CFLAGS) $(CFLAGS) -c -o libgstgsettingselements_la-gstgsettingsvideosrc.lo `test -f 'gstgsettingsvideosrc.c' || echo '$(srcdir)/'`gstgsettingsvideosrc.c
-
-libgstgsettingselements_la-gstswitchsink.lo: gstswitchsink.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstgsettingselements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstgsettingselements_la_CFLAGS) $(CFLAGS) -MT libgstgsettingselements_la-gstswitchsink.lo -MD -MP -MF $(DEPDIR)/libgstgsettingselements_la-gstswitchsink.Tpo -c -o libgstgsettingselements_la-gstswitchsink.lo `test -f 'gstswitchsink.c' || echo '$(srcdir)/'`gstswitchsink.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstgsettingselements_la-gstswitchsink.Tpo $(DEPDIR)/libgstgsettingselements_la-gstswitchsink.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstswitchsink.c' object='libgstgsettingselements_la-gstswitchsink.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 $(libgstgsettingselements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstgsettingselements_la_CFLAGS) $(CFLAGS) -c -o libgstgsettingselements_la-gstswitchsink.lo `test -f 'gstswitchsink.c' || echo '$(srcdir)/'`gstswitchsink.c
-
-libgstgsettingselements_la-gstswitchsrc.lo: gstswitchsrc.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstgsettingselements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstgsettingselements_la_CFLAGS) $(CFLAGS) -MT libgstgsettingselements_la-gstswitchsrc.lo -MD -MP -MF $(DEPDIR)/libgstgsettingselements_la-gstswitchsrc.Tpo -c -o libgstgsettingselements_la-gstswitchsrc.lo `test -f 'gstswitchsrc.c' || echo '$(srcdir)/'`gstswitchsrc.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstgsettingselements_la-gstswitchsrc.Tpo $(DEPDIR)/libgstgsettingselements_la-gstswitchsrc.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstswitchsrc.c' object='libgstgsettingselements_la-gstswitchsrc.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 $(libgstgsettingselements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstgsettingselements_la_CFLAGS) $(CFLAGS) -c -o libgstgsettingselements_la-gstswitchsrc.lo `test -f 'gstswitchsrc.c' || echo '$(srcdir)/'`gstswitchsrc.c
-
-libgstgsettingselements_la-plugin.lo: plugin.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstgsettingselements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstgsettingselements_la_CFLAGS) $(CFLAGS) -MT libgstgsettingselements_la-plugin.lo -MD -MP -MF $(DEPDIR)/libgstgsettingselements_la-plugin.Tpo -c -o libgstgsettingselements_la-plugin.lo `test -f 'plugin.c' || echo '$(srcdir)/'`plugin.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstgsettingselements_la-plugin.Tpo $(DEPDIR)/libgstgsettingselements_la-plugin.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='plugin.c' object='libgstgsettingselements_la-plugin.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 $(libgstgsettingselements_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstgsettingselements_la_CFLAGS) $(CFLAGS) -c -o libgstgsettingselements_la-plugin.lo `test -f 'plugin.c' || echo '$(srcdir)/'`plugin.c
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(am__tagged_files)
- $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- set x; \
- here=`pwd`; \
- $(am__define_uniq_tagged_files); \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: ctags-am
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- $(am__define_uniq_tagged_files); \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
-
-cscopelist-am: $(am__tagged_files)
- list='$(am__tagged_files)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: 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-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-pluginLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-pluginLTLIBRARIES
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-pluginLTLIBRARIES
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-pluginLTLIBRARIES cscopelist-am ctags \
- ctags-am distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-pluginLTLIBRARIES install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
- uninstall-pluginLTLIBRARIES
-
-.PRECIOUS: Makefile
-
-
-org.freedesktop.gstreamer-@GST_API_VERSION@.default-elements.gschema.xml: org.freedesktop.gstreamer.default-elements.gschema.xml
- cp org.freedesktop.gstreamer.default-elements.gschema.xml org.freedesktop.gstreamer-@GST_API_VERSION@.default-elements.gschema.xml
-
-@USE_GSETTINGS_TRUE@@GSETTINGS_RULES@
-
-# 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.
-.NOEXPORT:
diff --git a/ext/gsettings/gstgsettings.h b/ext/gsettings/gstgsettings.h
deleted file mode 100644
index a49aee7..0000000
--- a/ext/gsettings/gstgsettings.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* GStreamer
- * Copyright (C) 2010 Sebastian Dröge <sebastian.droege@collabora.co.uk>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef __GST_GSETTINGS_H__
-#define __GST_GSETTINGS_H__
-
-#include <gst/gst.h>
-
-G_BEGIN_DECLS
-
-#define GST_GSETTINGS_SCHEMA "org.freedesktop.gstreamer-0.10.default-elements"
-#define GST_GSETTINGS_PATH "/desktop/gstreamer/0.10/default-elements/"
-
-#define GST_GSETTINGS_KEY_SOUNDS_AUDIOSINK "sounds-audiosink"
-#define GST_GSETTINGS_KEY_MUSIC_AUDIOSINK "music-audiosink"
-#define GST_GSETTINGS_KEY_CHAT_AUDIOSINK "chat-audiosink"
-#define GST_GSETTINGS_KEY_AUDIOSRC "audiosrc"
-#define GST_GSETTINGS_KEY_VIDEOSINK "videosink"
-#define GST_GSETTINGS_KEY_VIDEOSRC "videosrc"
-#define GST_GSETTINGS_KEY_VISUALIZATION "visualization"
-
-G_END_DECLS
-
-#endif /* __GST_GSETTINGS_H__ */
diff --git a/ext/gsettings/gstgsettingsaudiosink.c b/ext/gsettings/gstgsettingsaudiosink.c
deleted file mode 100644
index f080cb5..0000000
--- a/ext/gsettings/gstgsettingsaudiosink.c
+++ /dev/null
@@ -1,355 +0,0 @@
-/* GStreamer
- * Copyright (C) 2010 Sebastian Dröge <sebastian.droege@collabora.co.uk>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-/**
- * SECTION:element-gsettingsaudiosink
- *
- * This element outputs sound to the audiosink that has been configured in
- * GSettings by the user.
- *
- * <refsect2>
- * <title>Example launch line</title>
- * |[
- * gst-launch audiotestsrc ! audioconvert ! audioresample ! gsettingsaudiosink
- * ]| Play on configured audiosink
- * </refsect2>
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <gst/gst.h>
-#include <gst/glib-compat-private.h>
-#include <string.h>
-
-#include "gstgsettingsaudiosink.h"
-#include "gstgsettings.h"
-
-#define GST_TYPE_GSETTINGS_AUDIOSINK_PROFILE (gst_gsettings_audiosink_profile_get_type())
-static GType
-gst_gsettings_audiosink_profile_get_type (void)
-{
- static GType gsettings_profile_type = 0;
- static const GEnumValue gsettings_profiles[] = {
- {GST_GSETTINGS_AUDIOSINK_PROFILE_SOUNDS, "Sound Events", "sounds"},
- {GST_GSETTINGS_AUDIOSINK_PROFILE_MUSIC, "Music and Movies (default)",
- "music"},
- {GST_GSETTINGS_AUDIOSINK_PROFILE_CHAT, "Audio/Video Conferencing", "chat"},
- {0, NULL, NULL}
- };
-
- if (!gsettings_profile_type) {
- gsettings_profile_type =
- g_enum_register_static ("GstGSettingsAudioSinkProfile",
- gsettings_profiles);
- }
- return gsettings_profile_type;
-}
-
-enum
-{
- PROP_0,
- PROP_PROFILE
-};
-
-GST_BOILERPLATE (GstGSettingsAudioSink, gst_gsettings_audio_sink, GstSwitchSink,
- GST_TYPE_SWITCH_SINK);
-
-static gboolean
-gst_gsettings_audio_sink_change_child (GstGSettingsAudioSink * sink)
-{
- const gchar *key = NULL;
- gchar *new_string;
- GError *err = NULL;
- GstElement *new_kid;
-
- GST_OBJECT_LOCK (sink);
- switch (sink->profile) {
- case GST_GSETTINGS_AUDIOSINK_PROFILE_SOUNDS:
- key = GST_GSETTINGS_KEY_SOUNDS_AUDIOSINK;
- break;
- case GST_GSETTINGS_AUDIOSINK_PROFILE_MUSIC:
- key = GST_GSETTINGS_KEY_MUSIC_AUDIOSINK;
- break;
- case GST_GSETTINGS_AUDIOSINK_PROFILE_CHAT:
- key = GST_GSETTINGS_KEY_CHAT_AUDIOSINK;
- break;
- default:
- break;
- }
-
- new_string = g_settings_get_string (sink->settings, key);
-
- if (new_string != NULL && sink->gsettings_str != NULL &&
- (strlen (new_string) == 0 ||
- strcmp (sink->gsettings_str, new_string) == 0)) {
- g_free (new_string);
- GST_DEBUG_OBJECT (sink,
- "GSettings key was updated, but it didn't change. Ignoring");
- GST_OBJECT_UNLOCK (sink);
- return TRUE;
- }
- GST_OBJECT_UNLOCK (sink);
-
- GST_DEBUG_OBJECT (sink, "GSettings key changed from '%s' to '%s'",
- GST_STR_NULL (sink->gsettings_str), GST_STR_NULL (new_string));
-
- if (new_string) {
- new_kid = gst_parse_bin_from_description (new_string, TRUE, &err);
- if (err) {
- GST_ERROR_OBJECT (sink, "error creating bin '%s': %s", new_string,
- err->message);
- g_error_free (err);
- }
- } else {
- new_kid = NULL;
- }
-
- if (new_kid == NULL) {
- GST_ELEMENT_ERROR (sink, LIBRARY, SETTINGS, (NULL),
- ("Failed to render audio sink from GSettings"));
- goto fail;
- }
-
- if (!gst_switch_sink_set_child (GST_SWITCH_SINK (sink), new_kid)) {
- GST_WARNING_OBJECT (sink, "Failed to update child element");
- goto fail;
- }
-
- g_free (sink->gsettings_str);
- sink->gsettings_str = new_string;
-
- return TRUE;
-
-fail:
- g_free (new_string);
- return FALSE;
-}
-
-static gboolean
-gst_gsettings_audio_sink_switch_profile (GstGSettingsAudioSink * sink,
- GstGSettingsAudioSinkProfile profile)
-{
- if (sink->settings == NULL)
- return TRUE;
-
- GST_OBJECT_LOCK (sink);
- sink->profile = profile;
- GST_OBJECT_UNLOCK (sink);
-
- return gst_gsettings_audio_sink_change_child (sink);
-}
-
-static void
-on_changed (GSettings * settings, gchar * key, GstGSettingsAudioSink * sink)
-{
- gboolean changed = FALSE;
-
- if (!g_str_has_suffix (key, "audiosink"))
- return;
-
- GST_OBJECT_LOCK (sink);
- if ((sink->profile == GST_GSETTINGS_AUDIOSINK_PROFILE_SOUNDS &&
- g_str_equal (key, GST_GSETTINGS_KEY_SOUNDS_AUDIOSINK)) ||
- (sink->profile == GST_GSETTINGS_AUDIOSINK_PROFILE_MUSIC &&
- g_str_equal (key, GST_GSETTINGS_KEY_MUSIC_AUDIOSINK)) ||
- (sink->profile == GST_GSETTINGS_AUDIOSINK_PROFILE_CHAT &&
- g_str_equal (key, GST_GSETTINGS_KEY_CHAT_AUDIOSINK)))
- changed = TRUE;
- GST_OBJECT_UNLOCK (sink);
-
- if (changed)
- gst_gsettings_audio_sink_change_child (sink);
-}
-
-static gboolean
-gst_gsettings_audio_sink_start (GstGSettingsAudioSink * sink)
-{
- GError *err = NULL;
- GThread *thread;
-
- sink->loop = g_main_loop_new (sink->context, FALSE);
-
- thread =
- g_thread_create ((GThreadFunc) g_main_loop_run, sink->loop, FALSE, &err);
- if (!thread) {
- GST_ELEMENT_ERROR (sink, CORE, STATE_CHANGE, (NULL),
- ("Failed to create new thread: %s", err->message));
- g_error_free (err);
- g_main_loop_unref (sink->loop);
- sink->loop = NULL;
- return FALSE;
- }
-
- g_main_context_push_thread_default (sink->context);
- sink->settings = g_settings_new (GST_GSETTINGS_SCHEMA);
- sink->changed_id =
- g_signal_connect_data (G_OBJECT (sink->settings), "changed",
- G_CALLBACK (on_changed), gst_object_ref (sink),
- (GClosureNotify) gst_object_unref, 0);
- g_main_context_pop_thread_default (sink->context);
-
- return TRUE;
-}
-
-static gboolean
-gst_gsettings_audio_sink_reset (GstGSettingsAudioSink * sink)
-{
- gst_switch_sink_set_child (GST_SWITCH_SINK (sink), NULL);
-
- if (sink->changed_id) {
- g_signal_handler_disconnect (sink->settings, sink->changed_id);
- sink->changed_id = 0;
- }
-
- if (sink->loop) {
- g_main_loop_quit (sink->loop);
- g_main_loop_unref (sink->loop);
- sink->loop = NULL;
- }
-
- if (sink->settings) {
- g_object_unref (sink->settings);
- sink->settings = NULL;
- }
-
- GST_OBJECT_LOCK (sink);
- g_free (sink->gsettings_str);
- sink->gsettings_str = NULL;
- GST_OBJECT_UNLOCK (sink);
-
- return TRUE;
-}
-
-static void
-gst_gsettings_audio_sink_finalize (GObject * object)
-{
- GstGSettingsAudioSink *sink = GST_GSETTINGS_AUDIO_SINK (object);
-
- g_free (sink->gsettings_str);
- g_main_context_unref (sink->context);
-
- GST_CALL_PARENT (G_OBJECT_CLASS, finalize, ((GObject *) (sink)));
-}
-
-static void
-gst_gsettings_audio_sink_set_property (GObject * object, guint prop_id,
- const GValue * value, GParamSpec * pspec)
-{
- GstGSettingsAudioSink *sink = GST_GSETTINGS_AUDIO_SINK (object);
-
- switch (prop_id) {
- case PROP_PROFILE:
- gst_gsettings_audio_sink_switch_profile (sink, g_value_get_enum (value));
- break;
- default:
- break;
- }
-}
-
-static void
-gst_gsettings_audio_sink_get_property (GObject * object, guint prop_id,
- GValue * value, GParamSpec * pspec)
-{
- GstGSettingsAudioSink *sink = GST_GSETTINGS_AUDIO_SINK (object);
-
- switch (prop_id) {
- case PROP_PROFILE:
- g_value_set_enum (value, sink->profile);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static GstStateChangeReturn
-gst_gsettings_audio_sink_change_state (GstElement * element,
- GstStateChange transition)
-{
- GstStateChangeReturn ret = GST_STATE_CHANGE_SUCCESS;
- GstGSettingsAudioSink *sink = GST_GSETTINGS_AUDIO_SINK (element);
-
- switch (transition) {
- case GST_STATE_CHANGE_NULL_TO_READY:
- if (!gst_gsettings_audio_sink_start (sink))
- return GST_STATE_CHANGE_FAILURE;
-
- if (!gst_gsettings_audio_sink_change_child (sink)) {
- gst_gsettings_audio_sink_reset (sink);
- return GST_STATE_CHANGE_FAILURE;
- }
- break;
- default:
- break;
- }
-
- ret = GST_CALL_PARENT_WITH_DEFAULT (GST_ELEMENT_CLASS, change_state,
- (element, transition), GST_STATE_CHANGE_SUCCESS);
-
- switch (transition) {
- case GST_STATE_CHANGE_READY_TO_NULL:
- gst_gsettings_audio_sink_reset (sink);
- break;
- default:
- break;
- }
-
- return ret;
-}
-
-static void
-gst_gsettings_audio_sink_init (GstGSettingsAudioSink * sink,
- GstGSettingsAudioSinkClass * g_class)
-{
- sink->context = g_main_context_new ();
- gst_gsettings_audio_sink_reset (sink);
-
- sink->profile = GST_GSETTINGS_AUDIOSINK_PROFILE_MUSIC;
-}
-
-static void
-gst_gsettings_audio_sink_base_init (gpointer klass)
-{
- GstElementClass *eklass = GST_ELEMENT_CLASS (klass);
-
- gst_element_class_set_static_metadata (eklass, "GSettings audio sink",
- "Sink/Audio",
- "Audio sink embedding the GSettings preferences for audio output",
- "Sebastian Dröge <sebastian.droege@collabora.co.uk>");
-}
-
-static void
-gst_gsettings_audio_sink_class_init (GstGSettingsAudioSinkClass * klass)
-{
- GObjectClass *oklass = G_OBJECT_CLASS (klass);
- GstElementClass *eklass = GST_ELEMENT_CLASS (klass);
-
- oklass->finalize = gst_gsettings_audio_sink_finalize;
- oklass->set_property = gst_gsettings_audio_sink_set_property;
- oklass->get_property = gst_gsettings_audio_sink_get_property;
-
- g_object_class_install_property (oklass, PROP_PROFILE,
- g_param_spec_enum ("profile", "Profile", "Profile",
- GST_TYPE_GSETTINGS_AUDIOSINK_PROFILE,
- GST_GSETTINGS_AUDIOSINK_PROFILE_SOUNDS,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-
- eklass->change_state = gst_gsettings_audio_sink_change_state;
-}
diff --git a/ext/gsettings/gstgsettingsaudiosink.h b/ext/gsettings/gstgsettingsaudiosink.h
deleted file mode 100644
index 7a15190..0000000
--- a/ext/gsettings/gstgsettingsaudiosink.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* GStreamer
- * Copyright (C) 2010 Sebastian Dröge <sebastian.droege@collabora.co.uk>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef __GST_GSETTINGS_AUDIO_SINK_H__
-#define __GST_GSETTINGS_AUDIO_SINK_H__
-
-#include <gst/gst.h>
-#include <gio/gio.h>
-#include "gstswitchsink.h"
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_GSETTINGS_AUDIO_SINK \
- (gst_gsettings_audio_sink_get_type ())
-#define GST_GSETTINGS_AUDIO_SINK(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_GSETTINGS_AUDIO_SINK, \
- GstGSettingsAudioSink))
-#define GST_GSETTINGS_AUDIO_SINK_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_GSETTINGS_AUDIO_SINK, \
- GstGSettingsAudioSinkClass))
-#define GST_IS_GSETTINGS_AUDIO_SINK(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_GSETTINGS_AUDIO_SINK))
-#define GST_IS_GSETTINGS_AUDIO_SINK_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_GSETTINGS_AUDIO_SINK))
-
-typedef enum
-{
- GST_GSETTINGS_AUDIOSINK_PROFILE_SOUNDS,
- GST_GSETTINGS_AUDIOSINK_PROFILE_MUSIC,
- GST_GSETTINGS_AUDIOSINK_PROFILE_CHAT,
- GST_GSETTINGS_AUDIOSINK_PROFILE_NONE /* Internal value only */
-} GstGSettingsAudioSinkProfile;
-
-typedef struct _GstGSettingsAudioSink {
- GstSwitchSink parent;
-
- GSettings *settings;
-
- GMainContext *context;
- GMainLoop *loop;
- gulong changed_id;
-
- GstGSettingsAudioSinkProfile profile;
- gchar *gsettings_str;
-} GstGSettingsAudioSink;
-
-typedef struct _GstGSettingsAudioSinkClass {
- GstSwitchSinkClass parent_class;
-} GstGSettingsAudioSinkClass;
-
-GType gst_gsettings_audio_sink_get_type (void);
-
-G_END_DECLS
-
-#endif /* __GST_GSETTINGS_AUDIO_SINK_H__ */
diff --git a/ext/gsettings/gstgsettingsaudiosrc.c b/ext/gsettings/gstgsettingsaudiosrc.c
deleted file mode 100644
index ccd7c79..0000000
--- a/ext/gsettings/gstgsettingsaudiosrc.c
+++ /dev/null
@@ -1,246 +0,0 @@
-/* GStreamer
- * Copyright (C) 2010 Sebastian Dröge <sebastian.droege@collabora.co.uk>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-/**
- * SECTION:element-gsettingsaudiosrc
- *
- * This element outputs sound to the audiosrc that has been configured in
- * GSettings by the user.
- *
- * <refsect2>
- * <title>Example launch line</title>
- * |[
- * gst-launch gsettingsaudiosrc ! audioconvert ! audioresample ! autoaudiosink
- * ]| Play from configured audiosrc
- * </refsect2>
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <gst/gst.h>
-#include <gst/glib-compat-private.h>
-#include <string.h>
-
-#include "gstgsettingsaudiosrc.h"
-#include "gstgsettings.h"
-
-GST_BOILERPLATE (GstGSettingsAudioSrc, gst_gsettings_audio_src, GstSwitchSrc,
- GST_TYPE_SWITCH_SRC);
-
-static gboolean
-gst_gsettings_audio_src_change_child (GstGSettingsAudioSrc * src)
-{
- gchar *new_string;
- GError *err = NULL;
- GstElement *new_kid;
-
- GST_OBJECT_LOCK (src);
- new_string =
- g_settings_get_string (src->settings, GST_GSETTINGS_KEY_AUDIOSRC);
-
- if (new_string != NULL && src->gsettings_str != NULL &&
- (strlen (new_string) == 0 ||
- strcmp (src->gsettings_str, new_string) == 0)) {
- g_free (new_string);
- GST_DEBUG_OBJECT (src,
- "GSettings key was updated, but it didn't change. Ignoring");
- GST_OBJECT_UNLOCK (src);
- return TRUE;
- }
- GST_OBJECT_UNLOCK (src);
-
- GST_DEBUG_OBJECT (src, "GSettings key changed from '%s' to '%s'",
- GST_STR_NULL (src->gsettings_str), GST_STR_NULL (new_string));
-
- if (new_string) {
- new_kid = gst_parse_bin_from_description (new_string, TRUE, &err);
- if (err) {
- GST_ERROR_OBJECT (src, "error creating bin '%s': %s", new_string,
- err->message);
- g_error_free (err);
- }
- } else {
- new_kid = NULL;
- }
-
- if (new_kid == NULL) {
- GST_ELEMENT_ERROR (src, LIBRARY, SETTINGS, (NULL),
- ("Failed to render audio src from GSettings"));
- goto fail;
- }
-
- if (!gst_switch_src_set_child (GST_SWITCH_SRC (src), new_kid)) {
- GST_WARNING_OBJECT (src, "Failed to update child element");
- goto fail;
- }
-
- g_free (src->gsettings_str);
- src->gsettings_str = new_string;
-
- return TRUE;
-
-fail:
- g_free (new_string);
- return FALSE;
-}
-
-static void
-on_changed (GSettings * settings, gchar * key, GstGSettingsAudioSrc * src)
-{
- if (!g_str_equal (key, "audiosrc"))
- return;
-
- gst_gsettings_audio_src_change_child (src);
-}
-
-static gboolean
-gst_gsettings_audio_src_start (GstGSettingsAudioSrc * src)
-{
- GError *err = NULL;
- GThread *thread;
-
- src->loop = g_main_loop_new (src->context, FALSE);
-
- thread =
- g_thread_create ((GThreadFunc) g_main_loop_run, src->loop, FALSE, &err);
- if (!thread) {
- GST_ELEMENT_ERROR (src, CORE, STATE_CHANGE, (NULL),
- ("Failed to create new thread: %s", err->message));
- g_error_free (err);
- g_main_loop_unref (src->loop);
- src->loop = NULL;
- return FALSE;
- }
-
- g_main_context_push_thread_default (src->context);
- src->settings = g_settings_new (GST_GSETTINGS_SCHEMA);
- src->changed_id =
- g_signal_connect_data (G_OBJECT (src->settings), "changed",
- G_CALLBACK (on_changed), gst_object_ref (src),
- (GClosureNotify) gst_object_unref, 0);
- g_main_context_pop_thread_default (src->context);
-
- return TRUE;
-}
-
-static gboolean
-gst_gsettings_audio_src_reset (GstGSettingsAudioSrc * src)
-{
- gst_switch_src_set_child (GST_SWITCH_SRC (src), NULL);
-
- if (src->changed_id) {
- g_signal_handler_disconnect (src->settings, src->changed_id);
- src->changed_id = 0;
- }
-
- if (src->loop) {
- g_main_loop_quit (src->loop);
- g_main_loop_unref (src->loop);
- src->loop = NULL;
- }
-
- if (src->settings) {
- g_object_unref (src->settings);
- src->settings = NULL;
- }
-
- GST_OBJECT_LOCK (src);
- g_free (src->gsettings_str);
- src->gsettings_str = NULL;
- GST_OBJECT_UNLOCK (src);
-
- return TRUE;
-}
-
-static void
-gst_gsettings_audio_src_finalize (GObject * object)
-{
- GstGSettingsAudioSrc *src = GST_GSETTINGS_AUDIO_SRC (object);
-
- g_free (src->gsettings_str);
- g_main_context_unref (src->context);
-
- GST_CALL_PARENT (G_OBJECT_CLASS, finalize, ((GObject *) (src)));
-}
-
-static GstStateChangeReturn
-gst_gsettings_audio_src_change_state (GstElement * element,
- GstStateChange transition)
-{
- GstStateChangeReturn ret = GST_STATE_CHANGE_SUCCESS;
- GstGSettingsAudioSrc *src = GST_GSETTINGS_AUDIO_SRC (element);
-
- switch (transition) {
- case GST_STATE_CHANGE_NULL_TO_READY:
- if (!gst_gsettings_audio_src_start (src))
- return GST_STATE_CHANGE_FAILURE;
-
- if (!gst_gsettings_audio_src_change_child (src)) {
- gst_gsettings_audio_src_reset (src);
- return GST_STATE_CHANGE_FAILURE;
- }
- break;
- default:
- break;
- }
-
- ret = GST_CALL_PARENT_WITH_DEFAULT (GST_ELEMENT_CLASS, change_state,
- (element, transition), GST_STATE_CHANGE_SUCCESS);
-
- switch (transition) {
- case GST_STATE_CHANGE_READY_TO_NULL:
- gst_gsettings_audio_src_reset (src);
- break;
- default:
- break;
- }
-
- return ret;
-}
-
-static void
-gst_gsettings_audio_src_init (GstGSettingsAudioSrc * src,
- GstGSettingsAudioSrcClass * g_class)
-{
- src->context = g_main_context_new ();
- gst_gsettings_audio_src_reset (src);
-}
-
-static void
-gst_gsettings_audio_src_base_init (gpointer klass)
-{
- GstElementClass *eklass = GST_ELEMENT_CLASS (klass);
-
- gst_element_class_set_static_metadata (eklass, "GSettings audio src",
- "Src/Audio",
- "Audio src embedding the GSettings preferences for audio input",
- "Sebastian Dröge <sebastian.droege@collabora.co.uk>");
-}
-
-static void
-gst_gsettings_audio_src_class_init (GstGSettingsAudioSrcClass * klass)
-{
- GObjectClass *oklass = G_OBJECT_CLASS (klass);
- GstElementClass *eklass = GST_ELEMENT_CLASS (klass);
-
- oklass->finalize = gst_gsettings_audio_src_finalize;
-
- eklass->change_state = gst_gsettings_audio_src_change_state;
-}
diff --git a/ext/gsettings/gstgsettingsaudiosrc.h b/ext/gsettings/gstgsettingsaudiosrc.h
deleted file mode 100644
index d5c3fc3..0000000
--- a/ext/gsettings/gstgsettingsaudiosrc.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* GStreamer
- * Copyright (C) 2010 Sebastian Dröge <sebastian.droege@collabora.co.uk>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef __GST_GSETTINGS_AUDIO_SRC_H__
-#define __GST_GSETTINGS_AUDIO_SRC_H__
-
-#include <gst/gst.h>
-#include <gio/gio.h>
-#include "gstswitchsrc.h"
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_GSETTINGS_AUDIO_SRC \
- (gst_gsettings_audio_src_get_type ())
-#define GST_GSETTINGS_AUDIO_SRC(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_GSETTINGS_AUDIO_SRC, \
- GstGSettingsAudioSrc))
-#define GST_GSETTINGS_AUDIO_SRC_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_GSETTINGS_AUDIO_SRC, \
- GstGSettingsAudioSrcClass))
-#define GST_IS_GSETTINGS_AUDIO_SRC(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_GSETTINGS_AUDIO_SRC))
-#define GST_IS_GSETTINGS_AUDIO_SRC_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_GSETTINGS_AUDIO_SRC))
-
-typedef struct _GstGSettingsAudioSrc {
- GstSwitchSrc parent;
-
- GSettings *settings;
-
- GMainContext *context;
- GMainLoop *loop;
- gulong changed_id;
-
- gchar *gsettings_str;
-} GstGSettingsAudioSrc;
-
-typedef struct _GstGSettingsAudioSrcClass {
- GstSwitchSrcClass parent_class;
-} GstGSettingsAudioSrcClass;
-
-GType gst_gsettings_audio_src_get_type (void);
-
-G_END_DECLS
-
-#endif /* __GST_GSETTINGS_AUDIO_SRC_H__ */
diff --git a/ext/gsettings/gstgsettingsvideosink.c b/ext/gsettings/gstgsettingsvideosink.c
deleted file mode 100644
index b7a0a25..0000000
--- a/ext/gsettings/gstgsettingsvideosink.c
+++ /dev/null
@@ -1,246 +0,0 @@
-/* GStreamer
- * Copyright (C) 2010 Sebastian Dröge <sebastian.droege@collabora.co.uk>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-/**
- * SECTION:element-gsettingsvideosink
- *
- * This element outputs sound to the videosink that has been configured in
- * GSettings by the user.
- *
- * <refsect2>
- * <title>Example launch line</title>
- * |[
- * gst-launch videotestsrc ! videoconvert ! videoscale ! gsettingsvideosink
- * ]| Play on configured videosink
- * </refsect2>
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <gst/gst.h>
-#include <gst/glib-compat-private.h>
-#include <string.h>
-
-#include "gstgsettingsvideosink.h"
-#include "gstgsettings.h"
-
-GST_BOILERPLATE (GstGSettingsVideoSink, gst_gsettings_video_sink, GstSwitchSink,
- GST_TYPE_SWITCH_SINK);
-
-static gboolean
-gst_gsettings_video_sink_change_child (GstGSettingsVideoSink * sink)
-{
- gchar *new_string;
- GError *err = NULL;
- GstElement *new_kid;
-
- GST_OBJECT_LOCK (sink);
- new_string =
- g_settings_get_string (sink->settings, GST_GSETTINGS_KEY_VIDEOSINK);
-
- if (new_string != NULL && sink->gsettings_str != NULL &&
- (strlen (new_string) == 0 ||
- strcmp (sink->gsettings_str, new_string) == 0)) {
- g_free (new_string);
- GST_DEBUG_OBJECT (sink,
- "GSettings key was updated, but it didn't change. Ignoring");
- GST_OBJECT_UNLOCK (sink);
- return TRUE;
- }
- GST_OBJECT_UNLOCK (sink);
-
- GST_DEBUG_OBJECT (sink, "GSettings key changed from '%s' to '%s'",
- GST_STR_NULL (sink->gsettings_str), GST_STR_NULL (new_string));
-
- if (new_string) {
- new_kid = gst_parse_bin_from_description (new_string, TRUE, &err);
- if (err) {
- GST_ERROR_OBJECT (sink, "error creating bin '%s': %s", new_string,
- err->message);
- g_error_free (err);
- }
- } else {
- new_kid = NULL;
- }
-
- if (new_kid == NULL) {
- GST_ELEMENT_ERROR (sink, LIBRARY, SETTINGS, (NULL),
- ("Failed to render video sink from GSettings"));
- goto fail;
- }
-
- if (!gst_switch_sink_set_child (GST_SWITCH_SINK (sink), new_kid)) {
- GST_WARNING_OBJECT (sink, "Failed to update child element");
- goto fail;
- }
-
- g_free (sink->gsettings_str);
- sink->gsettings_str = new_string;
-
- return TRUE;
-
-fail:
- g_free (new_string);
- return FALSE;
-}
-
-static void
-on_changed (GSettings * settings, gchar * key, GstGSettingsVideoSink * sink)
-{
- if (!g_str_has_suffix (key, "videosink"))
- return;
-
- gst_gsettings_video_sink_change_child (sink);
-}
-
-static gboolean
-gst_gsettings_video_sink_start (GstGSettingsVideoSink * sink)
-{
- GError *err = NULL;
- GThread *thread;
-
- sink->loop = g_main_loop_new (sink->context, FALSE);
-
- thread =
- g_thread_create ((GThreadFunc) g_main_loop_run, sink->loop, FALSE, &err);
- if (!thread) {
- GST_ELEMENT_ERROR (sink, CORE, STATE_CHANGE, (NULL),
- ("Failed to create new thread: %s", err->message));
- g_error_free (err);
- g_main_loop_unref (sink->loop);
- sink->loop = NULL;
- return FALSE;
- }
-
- g_main_context_push_thread_default (sink->context);
- sink->settings = g_settings_new (GST_GSETTINGS_SCHEMA);
- sink->changed_id =
- g_signal_connect_data (G_OBJECT (sink->settings), "changed",
- G_CALLBACK (on_changed), gst_object_ref (sink),
- (GClosureNotify) gst_object_unref, 0);
- g_main_context_pop_thread_default (sink->context);
-
- return TRUE;
-}
-
-static gboolean
-gst_gsettings_video_sink_reset (GstGSettingsVideoSink * sink)
-{
- gst_switch_sink_set_child (GST_SWITCH_SINK (sink), NULL);
-
- if (sink->changed_id) {
- g_signal_handler_disconnect (sink->settings, sink->changed_id);
- sink->changed_id = 0;
- }
-
- if (sink->loop) {
- g_main_loop_quit (sink->loop);
- g_main_loop_unref (sink->loop);
- sink->loop = NULL;
- }
-
- if (sink->settings) {
- g_object_unref (sink->settings);
- sink->settings = NULL;
- }
-
- GST_OBJECT_LOCK (sink);
- g_free (sink->gsettings_str);
- sink->gsettings_str = NULL;
- GST_OBJECT_UNLOCK (sink);
-
- return TRUE;
-}
-
-static void
-gst_gsettings_video_sink_finalize (GObject * object)
-{
- GstGSettingsVideoSink *sink = GST_GSETTINGS_VIDEO_SINK (object);
-
- g_free (sink->gsettings_str);
- g_main_context_unref (sink->context);
-
- GST_CALL_PARENT (G_OBJECT_CLASS, finalize, ((GObject *) (sink)));
-}
-
-static GstStateChangeReturn
-gst_gsettings_video_sink_change_state (GstElement * element,
- GstStateChange transition)
-{
- GstStateChangeReturn ret = GST_STATE_CHANGE_SUCCESS;
- GstGSettingsVideoSink *sink = GST_GSETTINGS_VIDEO_SINK (element);
-
- switch (transition) {
- case GST_STATE_CHANGE_NULL_TO_READY:
- if (!gst_gsettings_video_sink_start (sink))
- return GST_STATE_CHANGE_FAILURE;
-
- if (!gst_gsettings_video_sink_change_child (sink)) {
- gst_gsettings_video_sink_reset (sink);
- return GST_STATE_CHANGE_FAILURE;
- }
- break;
- default:
- break;
- }
-
- ret = GST_CALL_PARENT_WITH_DEFAULT (GST_ELEMENT_CLASS, change_state,
- (element, transition), GST_STATE_CHANGE_SUCCESS);
-
- switch (transition) {
- case GST_STATE_CHANGE_READY_TO_NULL:
- gst_gsettings_video_sink_reset (sink);
- break;
- default:
- break;
- }
-
- return ret;
-}
-
-static void
-gst_gsettings_video_sink_init (GstGSettingsVideoSink * sink,
- GstGSettingsVideoSinkClass * g_class)
-{
- sink->context = g_main_context_new ();
- gst_gsettings_video_sink_reset (sink);
-}
-
-static void
-gst_gsettings_video_sink_base_init (gpointer klass)
-{
- GstElementClass *eklass = GST_ELEMENT_CLASS (klass);
-
- gst_element_class_set_static_metadata (eklass, "GSettings video sink",
- "Sink/Video",
- "Video sink embedding the GSettings preferences for video input",
- "Sebastian Dröge <sebastian.droege@collabora.co.uk>");
-}
-
-static void
-gst_gsettings_video_sink_class_init (GstGSettingsVideoSinkClass * klass)
-{
- GObjectClass *oklass = G_OBJECT_CLASS (klass);
- GstElementClass *eklass = GST_ELEMENT_CLASS (klass);
-
- oklass->finalize = gst_gsettings_video_sink_finalize;
-
- eklass->change_state = gst_gsettings_video_sink_change_state;
-}
diff --git a/ext/gsettings/gstgsettingsvideosink.h b/ext/gsettings/gstgsettingsvideosink.h
deleted file mode 100644
index d1f9bc6..0000000
--- a/ext/gsettings/gstgsettingsvideosink.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* GStreamer
- * Copyright (C) 2010 Sebastian Dröge <sebastian.droege@collabora.co.uk>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef __GST_GSETTINGS_VIDEO_SINK_H__
-#define __GST_GSETTINGS_VIDEO_SINK_H__
-
-#include <gst/gst.h>
-#include <gio/gio.h>
-#include "gstswitchsink.h"
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_GSETTINGS_VIDEO_SINK \
- (gst_gsettings_video_sink_get_type ())
-#define GST_GSETTINGS_VIDEO_SINK(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_GSETTINGS_VIDEO_SINK, \
- GstGSettingsVideoSink))
-#define GST_GSETTINGS_VIDEO_SINK_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_GSETTINGS_VIDEO_SINK, \
- GstGSettingsVideoSinkClass))
-#define GST_IS_GSETTINGS_VIDEO_SINK(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_GSETTINGS_VIDEO_SINK))
-#define GST_IS_GSETTINGS_VIDEO_SINK_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_GSETTINGS_VIDEO_SINK))
-
-typedef struct _GstGSettingsVideoSink {
- GstSwitchSink parent;
-
- GSettings *settings;
-
- GMainContext *context;
- GMainLoop *loop;
- gulong changed_id;
-
- gchar *gsettings_str;
-} GstGSettingsVideoSink;
-
-typedef struct _GstGSettingsVideoSinkClass {
- GstSwitchSinkClass parent_class;
-} GstGSettingsVideoSinkClass;
-
-GType gst_gsettings_video_sink_get_type (void);
-
-G_END_DECLS
-
-#endif /* __GST_GSETTINGS_VIDEO_SINK_H__ */
diff --git a/ext/gsettings/gstgsettingsvideosrc.c b/ext/gsettings/gstgsettingsvideosrc.c
deleted file mode 100644
index 2b76867..0000000
--- a/ext/gsettings/gstgsettingsvideosrc.c
+++ /dev/null
@@ -1,246 +0,0 @@
-/* GStreamer
- * Copyright (C) 2010 Sebastian Dröge <sebastian.droege@collabora.co.uk>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-/**
- * SECTION:element-gsettingsvideosrc
- *
- * This element outputs sound to the videosrc that has been configured in
- * GSettings by the user.
- *
- * <refsect2>
- * <title>Example launch line</title>
- * |[
- * gst-launch gsettingsvideosrc ! videoconvert ! videoscale ! autovideosink
- * ]| Play from configured videosrc
- * </refsect2>
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <gst/gst.h>
-#include <gst/glib-compat-private.h>
-#include <string.h>
-
-#include "gstgsettingsvideosrc.h"
-#include "gstgsettings.h"
-
-GST_BOILERPLATE (GstGSettingsVideoSrc, gst_gsettings_video_src, GstSwitchSrc,
- GST_TYPE_SWITCH_SRC);
-
-static gboolean
-gst_gsettings_video_src_change_child (GstGSettingsVideoSrc * src)
-{
- gchar *new_string;
- GError *err = NULL;
- GstElement *new_kid;
-
- GST_OBJECT_LOCK (src);
- new_string =
- g_settings_get_string (src->settings, GST_GSETTINGS_KEY_VIDEOSRC);
-
- if (new_string != NULL && src->gsettings_str != NULL &&
- (strlen (new_string) == 0 ||
- strcmp (src->gsettings_str, new_string) == 0)) {
- g_free (new_string);
- GST_DEBUG_OBJECT (src,
- "GSettings key was updated, but it didn't change. Ignoring");
- GST_OBJECT_UNLOCK (src);
- return TRUE;
- }
- GST_OBJECT_UNLOCK (src);
-
- GST_DEBUG_OBJECT (src, "GSettings key changed from '%s' to '%s'",
- GST_STR_NULL (src->gsettings_str), GST_STR_NULL (new_string));
-
- if (new_string) {
- new_kid = gst_parse_bin_from_description (new_string, TRUE, &err);
- if (err) {
- GST_ERROR_OBJECT (src, "error creating bin '%s': %s", new_string,
- err->message);
- g_error_free (err);
- }
- } else {
- new_kid = NULL;
- }
-
- if (new_kid == NULL) {
- GST_ELEMENT_ERROR (src, LIBRARY, SETTINGS, (NULL),
- ("Failed to render video src from GSettings"));
- goto fail;
- }
-
- if (!gst_switch_src_set_child (GST_SWITCH_SRC (src), new_kid)) {
- GST_WARNING_OBJECT (src, "Failed to update child element");
- goto fail;
- }
-
- g_free (src->gsettings_str);
- src->gsettings_str = new_string;
-
- return TRUE;
-
-fail:
- g_free (new_string);
- return FALSE;
-}
-
-static void
-on_changed (GSettings * settings, gchar * key, GstGSettingsVideoSrc * src)
-{
- if (!g_str_equal (key, "videosrc"))
- return;
-
- gst_gsettings_video_src_change_child (src);
-}
-
-static gboolean
-gst_gsettings_video_src_start (GstGSettingsVideoSrc * src)
-{
- GError *err = NULL;
- GThread *thread;
-
- src->loop = g_main_loop_new (src->context, FALSE);
-
- thread =
- g_thread_create ((GThreadFunc) g_main_loop_run, src->loop, FALSE, &err);
- if (!thread) {
- GST_ELEMENT_ERROR (src, CORE, STATE_CHANGE, (NULL),
- ("Failed to create new thread: %s", err->message));
- g_error_free (err);
- g_main_loop_unref (src->loop);
- src->loop = NULL;
- return FALSE;
- }
-
- g_main_context_push_thread_default (src->context);
- src->settings = g_settings_new (GST_GSETTINGS_SCHEMA);
- src->changed_id =
- g_signal_connect_data (G_OBJECT (src->settings), "changed",
- G_CALLBACK (on_changed), gst_object_ref (src),
- (GClosureNotify) gst_object_unref, 0);
- g_main_context_pop_thread_default (src->context);
-
- return TRUE;
-}
-
-static gboolean
-gst_gsettings_video_src_reset (GstGSettingsVideoSrc * src)
-{
- gst_switch_src_set_child (GST_SWITCH_SRC (src), NULL);
-
- if (src->changed_id) {
- g_signal_handler_disconnect (src->settings, src->changed_id);
- src->changed_id = 0;
- }
-
- if (src->loop) {
- g_main_loop_quit (src->loop);
- g_main_loop_unref (src->loop);
- src->loop = NULL;
- }
-
- if (src->settings) {
- g_object_unref (src->settings);
- src->settings = NULL;
- }
-
- GST_OBJECT_LOCK (src);
- g_free (src->gsettings_str);
- src->gsettings_str = NULL;
- GST_OBJECT_UNLOCK (src);
-
- return TRUE;
-}
-
-static void
-gst_gsettings_video_src_finalize (GObject * object)
-{
- GstGSettingsVideoSrc *src = GST_GSETTINGS_VIDEO_SRC (object);
-
- g_free (src->gsettings_str);
- g_main_context_unref (src->context);
-
- GST_CALL_PARENT (G_OBJECT_CLASS, finalize, ((GObject *) (src)));
-}
-
-static GstStateChangeReturn
-gst_gsettings_video_src_change_state (GstElement * element,
- GstStateChange transition)
-{
- GstStateChangeReturn ret = GST_STATE_CHANGE_SUCCESS;
- GstGSettingsVideoSrc *src = GST_GSETTINGS_VIDEO_SRC (element);
-
- switch (transition) {
- case GST_STATE_CHANGE_NULL_TO_READY:
- if (!gst_gsettings_video_src_start (src))
- return GST_STATE_CHANGE_FAILURE;
-
- if (!gst_gsettings_video_src_change_child (src)) {
- gst_gsettings_video_src_reset (src);
- return GST_STATE_CHANGE_FAILURE;
- }
- break;
- default:
- break;
- }
-
- ret = GST_CALL_PARENT_WITH_DEFAULT (GST_ELEMENT_CLASS, change_state,
- (element, transition), GST_STATE_CHANGE_SUCCESS);
-
- switch (transition) {
- case GST_STATE_CHANGE_READY_TO_NULL:
- gst_gsettings_video_src_reset (src);
- break;
- default:
- break;
- }
-
- return ret;
-}
-
-static void
-gst_gsettings_video_src_init (GstGSettingsVideoSrc * src,
- GstGSettingsVideoSrcClass * g_class)
-{
- src->context = g_main_context_new ();
- gst_gsettings_video_src_reset (src);
-}
-
-static void
-gst_gsettings_video_src_base_init (gpointer klass)
-{
- GstElementClass *eklass = GST_ELEMENT_CLASS (klass);
-
- gst_element_class_set_static_metadata (eklass, "GSettings video src",
- "Src/Video",
- "Video src embedding the GSettings preferences for video input",
- "Sebastian Dröge <sebastian.droege@collabora.co.uk>");
-}
-
-static void
-gst_gsettings_video_src_class_init (GstGSettingsVideoSrcClass * klass)
-{
- GObjectClass *oklass = G_OBJECT_CLASS (klass);
- GstElementClass *eklass = GST_ELEMENT_CLASS (klass);
-
- oklass->finalize = gst_gsettings_video_src_finalize;
-
- eklass->change_state = gst_gsettings_video_src_change_state;
-}
diff --git a/ext/gsettings/gstgsettingsvideosrc.h b/ext/gsettings/gstgsettingsvideosrc.h
deleted file mode 100644
index 4b7a6cd..0000000
--- a/ext/gsettings/gstgsettingsvideosrc.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* GStreamer
- * Copyright (C) 2010 Sebastian Dröge <sebastian.droege@collabora.co.uk>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef __GST_GSETTINGS_VIDEO_SRC_H__
-#define __GST_GSETTINGS_VIDEO_SRC_H__
-
-#include <gst/gst.h>
-#include <gio/gio.h>
-#include "gstswitchsrc.h"
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_GSETTINGS_VIDEO_SRC \
- (gst_gsettings_video_src_get_type ())
-#define GST_GSETTINGS_VIDEO_SRC(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_GSETTINGS_VIDEO_SRC, \
- GstGSettingsVideoSrc))
-#define GST_GSETTINGS_VIDEO_SRC_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_GSETTINGS_VIDEO_SRC, \
- GstGSettingsVideoSrcClass))
-#define GST_IS_GSETTINGS_VIDEO_SRC(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_GSETTINGS_VIDEO_SRC))
-#define GST_IS_GSETTINGS_VIDEO_SRC_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_GSETTINGS_VIDEO_SRC))
-
-typedef struct _GstGSettingsVideoSrc {
- GstSwitchSrc parent;
-
- GSettings *settings;
-
- GMainContext *context;
- GMainLoop *loop;
- gulong changed_id;
-
- gchar *gsettings_str;
-} GstGSettingsVideoSrc;
-
-typedef struct _GstGSettingsVideoSrcClass {
- GstSwitchSrcClass parent_class;
-} GstGSettingsVideoSrcClass;
-
-GType gst_gsettings_video_src_get_type (void);
-
-G_END_DECLS
-
-#endif /* __GST_GSETTINGS_VIDEO_SRC_H__ */
diff --git a/ext/gsettings/gstswitchsink.c b/ext/gsettings/gstswitchsink.c
deleted file mode 100644
index ce042ce..0000000
--- a/ext/gsettings/gstswitchsink.c
+++ /dev/null
@@ -1,270 +0,0 @@
-/* GStreamer
- * Copyright (c) 2005 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
- * Copyright (c) 2006 Jürg Billeter <j@bitron.ch>
- * Copyright (c) 2007 Jan Schmidt <thaytan@noraisin.net>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <string.h>
-
-#include "gstswitchsink.h"
-
-GST_DEBUG_CATEGORY_STATIC (switch_debug);
-#define GST_CAT_DEFAULT switch_debug
-
-static void gst_switch_sink_dispose (GObject * object);
-static GstStateChangeReturn
-gst_switch_sink_change_state (GstElement * element, GstStateChange transition);
-
-enum
-{
- PROP_0
-};
-
-GST_BOILERPLATE (GstSwitchSink, gst_switch_sink, GstBin, GST_TYPE_BIN);
-
-static void
-gst_switch_sink_base_init (gpointer klass)
-{
- GST_DEBUG_CATEGORY_INIT (switch_debug, "switchsink", 0, "switchsink element");
-}
-
-static void
-gst_switch_sink_class_init (GstSwitchSinkClass * klass)
-{
- GObjectClass *oklass = G_OBJECT_CLASS (klass);
- GstElementClass *eklass = GST_ELEMENT_CLASS (klass);
- static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",
- GST_PAD_SINK,
- GST_PAD_ALWAYS,
- GST_STATIC_CAPS_ANY);
- GstPadTemplate *child_pad_templ;
-
- oklass->dispose = gst_switch_sink_dispose;
- eklass->change_state = gst_switch_sink_change_state;
-
- /* Provide a default pad template if the child didn't */
- child_pad_templ = gst_element_class_get_pad_template (eklass, "sink");
- if (child_pad_templ == NULL) {
- gst_element_class_add_pad_template (eklass,
- gst_static_pad_template_get (&sink_template));
- }
-}
-
-static gboolean
-gst_switch_sink_reset (GstSwitchSink * sink)
-{
- /* this will install fakesink if no other child has been set,
- * otherwise we rely on the subclass to know when to unset its
- * custom kid */
- if (sink->kid == NULL) {
- return gst_switch_sink_set_child (sink, NULL);
- }
-
- return TRUE;
-}
-
-static void
-gst_switch_sink_init (GstSwitchSink * sink, GstSwitchSinkClass * g_class)
-{
- GstElementClass *eklass = GST_ELEMENT_GET_CLASS (sink);
- GstPadTemplate *templ;
-
- templ = gst_element_class_get_pad_template (eklass, "sink");
- sink->pad = gst_ghost_pad_new_no_target_from_template ("sink", templ);
- gst_element_add_pad (GST_ELEMENT (sink), sink->pad);
-
- gst_switch_sink_reset (sink);
-
- GST_OBJECT_FLAG_SET (sink, GST_ELEMENT_IS_SINK);
-}
-
-static void
-gst_switch_sink_dispose (GObject * object)
-{
- GstSwitchSink *sink = GST_SWITCH_SINK (object);
- GstObject *new_kid, *kid;
-
- GST_OBJECT_LOCK (sink);
- new_kid = GST_OBJECT_CAST (sink->new_kid);
- sink->new_kid = NULL;
-
- kid = GST_OBJECT_CAST (sink->kid);
- sink->kid = NULL;
- GST_OBJECT_UNLOCK (sink);
-
- gst_object_replace (&new_kid, NULL);
- gst_object_replace (&kid, NULL);
-
- GST_CALL_PARENT (G_OBJECT_CLASS, dispose, (object));
-}
-
-static gboolean
-gst_switch_sink_commit_new_kid (GstSwitchSink * sink)
-{
- GstPad *targetpad;
- GstState kid_state;
- GstElement *new_kid, *old_kid;
- gboolean is_fakesink = FALSE;
- GstBus *bus;
-
- /* need locking around member accesses */
- GST_OBJECT_LOCK (sink);
- /* If we're currently changing state, set the child to the next state
- * we're transitioning too, rather than our current state which is
- * about to change */
- if (GST_STATE_NEXT (sink) != GST_STATE_VOID_PENDING)
- kid_state = GST_STATE_NEXT (sink);
- else
- kid_state = GST_STATE (sink);
-
- new_kid = sink->new_kid ? gst_object_ref (sink->new_kid) : NULL;
- sink->new_kid = NULL;
- GST_OBJECT_UNLOCK (sink);
-
- /* Fakesink by default if NULL is passed as the new child */
- if (new_kid == NULL) {
- GST_DEBUG_OBJECT (sink, "Replacing kid with fakesink");
- new_kid = gst_element_factory_make ("fakesink", "testsink");
- if (new_kid == NULL) {
- GST_ERROR_OBJECT (sink, "Failed to create fakesink");
- return FALSE;
- }
- /* Add a reference, as it would if the element came from sink->new_kid */
- gst_object_ref (new_kid);
- g_object_set (new_kid, "sync", TRUE, NULL);
- is_fakesink = TRUE;
- } else {
- GST_DEBUG_OBJECT (sink, "Setting new kid");
- }
-
- /* set temporary bus of our own to catch error messages from the child
- * (could we just set our own bus on it, or would the state change messages
- * from the not-yet-added element confuse the state change algorithm? Let's
- * play it safe for now) */
- bus = gst_bus_new ();
- gst_element_set_bus (new_kid, bus);
- gst_object_unref (bus);
-
- if (gst_element_set_state (new_kid, kid_state) == GST_STATE_CHANGE_FAILURE) {
- GstMessage *msg;
-
- /* check if child posted an error message and if so re-post it on our bus
- * so that the application gets to see a decent error and not our generic
- * fallback error message which is completely indecipherable to the user */
- msg = gst_bus_pop_filtered (GST_ELEMENT_BUS (new_kid), GST_MESSAGE_ERROR);
- if (msg) {
- GST_INFO_OBJECT (sink, "Forwarding kid error: %" GST_PTR_FORMAT, msg);
- gst_element_post_message (GST_ELEMENT (sink), msg);
- }
- GST_ELEMENT_ERROR (sink, CORE, STATE_CHANGE, (NULL),
- ("Failed to set state on new child."));
- gst_element_set_bus (new_kid, NULL);
- gst_object_unref (new_kid);
- return FALSE;
- }
- gst_element_set_bus (new_kid, NULL);
- gst_bin_add (GST_BIN (sink), new_kid);
-
- /* Now, replace the existing child */
- GST_OBJECT_LOCK (sink);
- old_kid = sink->kid;
- sink->kid = new_kid;
- /* Mark whether a custom kid or fakesink has been installed */
- sink->have_kid = !is_fakesink;
- GST_OBJECT_UNLOCK (sink);
-
- /* kill old element */
- if (old_kid) {
- GST_DEBUG_OBJECT (sink, "Removing old kid %" GST_PTR_FORMAT, old_kid);
- gst_element_set_state (old_kid, GST_STATE_NULL);
- gst_bin_remove (GST_BIN (sink), old_kid);
- gst_object_unref (old_kid);
- /* Don't lose the SINK flag */
- GST_OBJECT_FLAG_SET (sink, GST_ELEMENT_IS_SINK);
- }
-
- /* re-attach ghostpad */
- GST_DEBUG_OBJECT (sink, "Creating new ghostpad");
- targetpad = gst_element_get_static_pad (sink->kid, "sink");
- gst_ghost_pad_set_target (GST_GHOST_PAD (sink->pad), targetpad);
- gst_object_unref (targetpad);
- GST_DEBUG_OBJECT (sink, "done changing child of switchsink");
-
- /* FIXME: Push new-segment info and pre-roll buffer(s) into the kid */
-
- return TRUE;
-}
-
-gboolean
-gst_switch_sink_set_child (GstSwitchSink * sink, GstElement * new_kid)
-{
- GstState cur, next;
- GstElement **p_kid;
-
- /* Nothing to do if clearing the child and we've already installed fakesink */
- if (new_kid == NULL && sink->kid != NULL && sink->have_kid == FALSE)
- return TRUE;
-
- /* Store the new kid to be committed later */
- GST_OBJECT_LOCK (sink);
- cur = GST_STATE (sink);
- next = GST_STATE_NEXT (sink);
- p_kid = &sink->new_kid;
- gst_object_replace ((GstObject **) p_kid, (GstObject *) new_kid);
- GST_OBJECT_UNLOCK (sink);
- if (new_kid)
- gst_object_unref (new_kid);
-
- /* Sometime, it would be lovely to allow sink changes even when
- * already running, but this involves sending an appropriate new-segment
- * and possibly prerolling etc */
- /* FIXME: Block the pad and replace the kid when it completes */
- if (cur > GST_STATE_READY || next == GST_STATE_PAUSED) {
- GST_DEBUG_OBJECT (sink,
- "Switch-sink is already running. Ignoring change of child.");
- gst_object_unref (new_kid);
- return TRUE;
- }
-
- return gst_switch_sink_commit_new_kid (sink);
-}
-
-static GstStateChangeReturn
-gst_switch_sink_change_state (GstElement * element, GstStateChange transition)
-{
- GstStateChangeReturn ret = GST_STATE_CHANGE_SUCCESS;
- GstSwitchSink *sink = GST_SWITCH_SINK (element);
-
- ret = GST_CALL_PARENT_WITH_DEFAULT (GST_ELEMENT_CLASS, change_state,
- (element, transition), GST_STATE_CHANGE_SUCCESS);
-
- switch (transition) {
- case GST_STATE_CHANGE_READY_TO_NULL:
- if (!gst_switch_sink_reset (sink))
- ret = GST_STATE_CHANGE_FAILURE;
- break;
- default:
- break;
- }
-
- return ret;
-}
diff --git a/ext/gsettings/gstswitchsink.h b/ext/gsettings/gstswitchsink.h
deleted file mode 100644
index d0b3f68..0000000
--- a/ext/gsettings/gstswitchsink.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* GStreamer
- * Copyright (c) 2005 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
- * Copyright (c) 2007 Jan Schmidt <thaytan@mad.scientist.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef __GST_SWITCH_SINK_H__
-#define __GST_SWITCH_SINK_H__
-
-#include <gst/gst.h>
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_SWITCH_SINK \
- (gst_switch_sink_get_type ())
-#define GST_SWITCH_SINK(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_SWITCH_SINK, \
- GstSwitchSink))
-#define GST_SWITCH_SINK_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_SWITCH_SINK, \
- GstSwitchSinkClass))
-#define GST_IS_SWITCH_SINK(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_SWITCH_SINK))
-#define GST_IS_SWITCH_SINK_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_SWITCH_SINK))
-
-typedef struct _GstSwitchSink {
- GstBin parent;
-
- GstElement *kid;
- GstElement *new_kid;
- GstPad *pad;
-
- /* If a custom child has been set... */
- gboolean have_kid;
-} GstSwitchSink;
-
-typedef struct _GstSwitchSinkClass {
- GstBinClass parent_class;
-} GstSwitchSinkClass;
-
-GType gst_switch_sink_get_type (void);
-
-gboolean gst_switch_sink_set_child (GstSwitchSink *ssink, GstElement *new_kid);
-
-G_END_DECLS
-
-#endif /* __GST_SWITCH_SINK_H__ */
diff --git a/ext/gsettings/gstswitchsrc.c b/ext/gsettings/gstswitchsrc.c
deleted file mode 100644
index f25d068..0000000
--- a/ext/gsettings/gstswitchsrc.c
+++ /dev/null
@@ -1,262 +0,0 @@
-/* GStreamer
- * Copyright (c) 2005 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
- * Copyright (c) 2006 Jürg Billeter <j@bitron.ch>
- * Copyright (c) 2007 Jan Schmidt <thaytan@noraisin.net>
- * Copyright (c) 2010 Sebastian Dröge <sebastian.droege@collabora.co.uk>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <string.h>
-
-#include "gstswitchsrc.h"
-
-GST_DEBUG_CATEGORY_STATIC (switch_debug);
-#define GST_CAT_DEFAULT switch_debug
-
-static void gst_switch_src_dispose (GObject * object);
-static GstStateChangeReturn
-gst_switch_src_change_state (GstElement * element, GstStateChange transition);
-
-GST_BOILERPLATE (GstSwitchSrc, gst_switch_src, GstBin, GST_TYPE_BIN);
-
-static void
-gst_switch_src_base_init (gpointer klass)
-{
- GST_DEBUG_CATEGORY_INIT (switch_debug, "switchsrc", 0, "switchsrc element");
-}
-
-static void
-gst_switch_src_class_init (GstSwitchSrcClass * klass)
-{
- GObjectClass *oklass = G_OBJECT_CLASS (klass);
- GstElementClass *eklass = GST_ELEMENT_CLASS (klass);
- static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
- GST_PAD_SRC,
- GST_PAD_ALWAYS,
- GST_STATIC_CAPS_ANY);
- GstPadTemplate *child_pad_templ;
-
- oklass->dispose = gst_switch_src_dispose;
- eklass->change_state = gst_switch_src_change_state;
-
- /* Provide a default pad template if the child didn't */
- child_pad_templ = gst_element_class_get_pad_template (eklass, "src");
- if (child_pad_templ == NULL) {
- gst_element_class_add_pad_template (eklass,
- gst_static_pad_template_get (&src_template));
- }
-}
-
-static gboolean
-gst_switch_src_reset (GstSwitchSrc * src)
-{
- /* this will install fakesrc if no other child has been set,
- * otherwise we rely on the subclass to know when to unset its
- * custom kid */
- if (src->kid == NULL) {
- return gst_switch_src_set_child (src, NULL);
- }
-
- return TRUE;
-}
-
-static void
-gst_switch_src_init (GstSwitchSrc * src, GstSwitchSrcClass * g_class)
-{
- GstElementClass *eklass = GST_ELEMENT_GET_CLASS (src);
- GstPadTemplate *templ;
-
- templ = gst_element_class_get_pad_template (eklass, "src");
- src->pad = gst_ghost_pad_new_no_target_from_template ("src", templ);
- gst_element_add_pad (GST_ELEMENT (src), src->pad);
-
- gst_switch_src_reset (src);
-
- GST_OBJECT_FLAG_SET (src, GST_ELEMENT_IS_SOURCE);
-}
-
-static void
-gst_switch_src_dispose (GObject * object)
-{
- GstSwitchSrc *src = GST_SWITCH_SRC (object);
- GstObject *new_kid, *kid;
-
- GST_OBJECT_LOCK (src);
- new_kid = GST_OBJECT_CAST (src->new_kid);
- src->new_kid = NULL;
-
- kid = GST_OBJECT_CAST (src->kid);
- src->kid = NULL;
- GST_OBJECT_UNLOCK (src);
-
- gst_object_replace (&new_kid, NULL);
- gst_object_replace (&kid, NULL);
-
- GST_CALL_PARENT (G_OBJECT_CLASS, dispose, (object));
-}
-
-static gboolean
-gst_switch_src_commit_new_kid (GstSwitchSrc * src)
-{
- GstPad *targetpad;
- GstState kid_state;
- GstElement *new_kid, *old_kid;
- gboolean is_fakesrc = FALSE;
- GstBus *bus;
-
- /* need locking around member accesses */
- GST_OBJECT_LOCK (src);
- /* If we're currently changing state, set the child to the next state
- * we're transitioning too, rather than our current state which is
- * about to change */
- if (GST_STATE_NEXT (src) != GST_STATE_VOID_PENDING)
- kid_state = GST_STATE_NEXT (src);
- else
- kid_state = GST_STATE (src);
-
- new_kid = src->new_kid ? gst_object_ref (src->new_kid) : NULL;
- src->new_kid = NULL;
- GST_OBJECT_UNLOCK (src);
-
- /* Fakesrc by default if NULL is passed as the new child */
- if (new_kid == NULL) {
- GST_DEBUG_OBJECT (src, "Replacing kid with fakesrc");
- new_kid = gst_element_factory_make ("fakesrc", "testsrc");
- if (new_kid == NULL) {
- GST_ERROR_OBJECT (src, "Failed to create fakesrc");
- return FALSE;
- }
- /* Add a reference, as it would if the element came from src->new_kid */
- gst_object_ref (new_kid);
- is_fakesrc = TRUE;
- } else {
- GST_DEBUG_OBJECT (src, "Setting new kid");
- }
-
- /* set temporary bus of our own to catch error messages from the child
- * (could we just set our own bus on it, or would the state change messages
- * from the not-yet-added element confuse the state change algorithm? Let's
- * play it safe for now) */
- bus = gst_bus_new ();
- gst_element_set_bus (new_kid, bus);
- gst_object_unref (bus);
-
- if (gst_element_set_state (new_kid, kid_state) == GST_STATE_CHANGE_FAILURE) {
- GstMessage *msg;
-
- /* check if child posted an error message and if so re-post it on our bus
- * so that the application gets to see a decent error and not our generic
- * fallback error message which is completely indecipherable to the user */
- msg = gst_bus_pop_filtered (GST_ELEMENT_BUS (new_kid), GST_MESSAGE_ERROR);
- if (msg) {
- GST_INFO_OBJECT (src, "Forwarding kid error: %" GST_PTR_FORMAT, msg);
- gst_element_post_message (GST_ELEMENT (src), msg);
- }
- GST_ELEMENT_ERROR (src, CORE, STATE_CHANGE, (NULL),
- ("Failed to set state on new child."));
- gst_element_set_bus (new_kid, NULL);
- gst_object_unref (new_kid);
- return FALSE;
- }
- gst_element_set_bus (new_kid, NULL);
- gst_bin_add (GST_BIN (src), new_kid);
-
- /* Now, replace the existing child */
- GST_OBJECT_LOCK (src);
- old_kid = src->kid;
- src->kid = new_kid;
- /* Mark whether a custom kid or fakesrc has been installed */
- src->have_kid = !is_fakesrc;
- GST_OBJECT_UNLOCK (src);
-
- /* kill old element */
- if (old_kid) {
- GST_DEBUG_OBJECT (src, "Removing old kid %" GST_PTR_FORMAT, old_kid);
- gst_element_set_state (old_kid, GST_STATE_NULL);
- gst_bin_remove (GST_BIN (src), old_kid);
- gst_object_unref (old_kid);
- /* Don't lose the SOURCE flag */
- GST_OBJECT_FLAG_SET (src, GST_ELEMENT_IS_SOURCE);
- }
-
- /* re-attach ghostpad */
- GST_DEBUG_OBJECT (src, "Creating new ghostpad");
- targetpad = gst_element_get_static_pad (src->kid, "src");
- gst_ghost_pad_set_target (GST_GHOST_PAD (src->pad), targetpad);
- gst_object_unref (targetpad);
- GST_DEBUG_OBJECT (src, "done changing child of switchsrc");
-
- return TRUE;
-}
-
-gboolean
-gst_switch_src_set_child (GstSwitchSrc * src, GstElement * new_kid)
-{
- GstState cur, next;
- GstElement **p_kid;
-
- /* Nothing to do if clearing the child and we've already installed fakesrc */
- if (new_kid == NULL && src->kid != NULL && src->have_kid == FALSE)
- return TRUE;
-
- /* Store the new kid to be committed later */
- GST_OBJECT_LOCK (src);
- cur = GST_STATE (src);
- next = GST_STATE_NEXT (src);
- p_kid = &src->new_kid;
- gst_object_replace ((GstObject **) p_kid, (GstObject *) new_kid);
- GST_OBJECT_UNLOCK (src);
- if (new_kid)
- gst_object_unref (new_kid);
-
- /* Sometime, it would be lovely to allow src changes even when
- * already running */
- /* FIXME: Block the pad and replace the kid when it completes */
- if (cur > GST_STATE_READY || next == GST_STATE_PAUSED) {
- GST_DEBUG_OBJECT (src,
- "Switch-src is already running. Ignoring change of child.");
- gst_object_unref (new_kid);
- return TRUE;
- }
-
- return gst_switch_src_commit_new_kid (src);
-}
-
-static GstStateChangeReturn
-gst_switch_src_change_state (GstElement * element, GstStateChange transition)
-{
- GstStateChangeReturn ret = GST_STATE_CHANGE_SUCCESS;
- GstSwitchSrc *src = GST_SWITCH_SRC (element);
-
- ret = GST_CALL_PARENT_WITH_DEFAULT (GST_ELEMENT_CLASS, change_state,
- (element, transition), GST_STATE_CHANGE_SUCCESS);
-
- switch (transition) {
- case GST_STATE_CHANGE_READY_TO_NULL:
- if (!gst_switch_src_reset (src))
- ret = GST_STATE_CHANGE_FAILURE;
- break;
- default:
- break;
- }
-
- return ret;
-}
diff --git a/ext/gsettings/gstswitchsrc.h b/ext/gsettings/gstswitchsrc.h
deleted file mode 100644
index 6c698a1..0000000
--- a/ext/gsettings/gstswitchsrc.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* GStreamer
- *
- * Copyright (c) 2005 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
- * Copyright (c) 2005 Tim-Philipp Müller <tim centricular net>
- * Copyright (c) 2007 Jan Schmidt <thaytan@mad.scientist.com>
- * Copyright (c) 2010 Sebastian Dröge <sebastian.droege@collabora.co.uk>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef __GST_SWITCH_SRC_H__
-#define __GST_SWITCH_SRC_H__
-
-#include <gst/gst.h>
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_SWITCH_SRC (gst_switch_src_get_type ())
-#define GST_SWITCH_SRC(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_SWITCH_SRC, GstSwitchSrc))
-#define GST_SWITCH_SRC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_SWITCH_SRC, GstSwitchSrcClass))
-#define GST_IS_SWITCH_SRC(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_SWITCH_SRC))
-#define GST_IS_SWITCH_SRC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_SWITCH_SRC))
-
-typedef struct _GstSwitchSrc {
- GstBin parent;
-
- GstElement *kid;
- GstElement *new_kid;
- GstPad *pad;
-
- /* If a custom child has been set... */
- gboolean have_kid;
-} GstSwitchSrc;
-
-typedef struct _GstSwitchSrcClass {
- GstBinClass parent_class;
-} GstSwitchSrcClass;
-
-GType gst_switch_src_get_type (void);
-gboolean gst_switch_src_set_child (GstSwitchSrc *ssrc, GstElement *new_kid);
-
-G_END_DECLS
-
-#endif /* __GST_SWITCH_SRC_H__ */
diff --git a/ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml b/ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml
deleted file mode 100644
index ed0c4ce..0000000
--- a/ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml
+++ /dev/null
@@ -1,94 +0,0 @@
-<schemalist>
- <schema id="org.freedesktop.gstreamer-1.0.default-elements" path="/desktop/gstreamer/1.0/default-elements/" gettext-domain="gst-plugins-bad-1.0">
- <key name="sounds-audiosink" type="s">
- <default>"autoaudiosink"</default>
- <summary>default GStreamer sound events audiosink</summary>
- <description>GStreamer can play audio using any number of
- output elements. Some possible choices are osssink, pulsesink
- and alsasink. The audiosink can be a partial pipeline instead
- of just one element.</description>
- </key>
- <key name="sounds-audiosink-description" type="s">
- <default>"Default"</default>
- <summary>description for default GStreamer sound events audiosink</summary>
- <description>Describes the selected audiosink element.</description>
- </key>
- <key name="chat-audiosink" type="s">
- <default>"autoaudiosink"</default>
- <summary>default GStreamer audiosink for Audio/Video Conferencing</summary>
- <description>GStreamer can play audio using any number of
- output elements. Some possible choices are osssink, pulsesink
- and alsasink. The audiosink can be a partial pipeline instead
- of just one element.</description>
- </key>
- <key name="chat-audiosink-description" type="s">
- <default>"Default"</default>
- <summary>description for default GStreamer audiosink for Audio/Video Conferencing</summary>
- <description>Describes the selected audiosink element.</description>
- </key>
- <key name="music-audiosink" type="s">
- <default>"autoaudiosink"</default>
- <summary>default GStreamer audiosink for Music and Movies</summary>
- <description>GStreamer can play audio using any number of
- output elements. Some possible choices are osssink, pulsesink
- and alsasink. The audiosink can be a partial pipeline instead
- of just one element.</description>
- </key>
- <key name="music-audiosink-description" type="s">
- <default>"Default"</default>
- <summary>description for default GStreamer audiosink for Music and Movies</summary>
- <description>Describes the selected audiosink element.</description>
- </key>
- <key name="videosink" type="s">
- <default>"autovideosink"</default>
- <summary>default GStreamer videosink</summary>
- <description>GStreamer can play video using any number of
- output elements. Some possible choices are xvimagesink,
- ximagesink, sdlvideosink and aasink. The videosink can be
- a partial pipeline instead of just one element.</description>
- </key>
- <key name="videosink-description" type="s">
- <default>"Default"</default>
- <summary>description for default GStreamer videosink</summary>
- <description>Describes the selected videosink element.</description>
- </key>
- <key name="audiosrc" type="s">
- <default>"alsasrc"</default>
- <summary>default GStreamer audiosrc</summary>
- <description>GStreamer can record audio using any number of
- input elements. Some possible choices are osssrc, pulsesrc and
- alsasrc. The audio source can be a partial pipeline instead of
- just one element.</description>
- </key>
- <key name="audiosrc-description" type="s">
- <default>"Default"</default>
- <summary>description for default GStreamer audiosrc</summary>
- <description>Describes the selected audiosrc element.</description>
- </key>
- <key name="videosrc" type="s">
- <default>"v4l2src"</default>
- <summary>default GStreamer videosrc</summary>
- <description>GStreamer can record video from any number of input elements.
- Some possible choices are v4lsrc, v4l2src and videotestsrc. The video
- source can be a partial pipeline instead of just one element.</description>
- </key>
- <key name="videosrc-description" type="s">
- <default>"Default"</default>
- <summary>description for default GStreamer videosrc</summary>
- <description>Describes the selected videosrc element.</description>
- </key>
- <key name="visualization" type="s">
- <default>"goom"</default>
- <summary>default GStreamer visualization</summary>
- <description>GStreamer can put visualization plugins in a pipeline to
- transform audio streams in video frames. Some possible choices are
- goom, goom2k1 and synaesthesia. The visualization plugin can be a
- partial pipeline instead of just one element.</description>
- </key>
- <key name="visualization-description" type="s">
- <default>"Default"</default>
- <summary>description for default GStreamer visualization</summary>
- <description>Describes the selected visualization element.</description>
- </key>
- </schema>
-</schemalist>
diff --git a/ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in b/ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in
deleted file mode 100644
index 1a13b3a..0000000
--- a/ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in
+++ /dev/null
@@ -1,94 +0,0 @@
-<schemalist>
- <schema id="org.freedesktop.gstreamer-@GST_API_VERSION@.default-elements" path="/desktop/gstreamer/@GST_API_VERSION@/default-elements/" gettext-domain="@GETTEXT_PACKAGE@">
- <key name="sounds-audiosink" type="s">
- <default>"@DEFAULT_AUDIOSINK@"</default>
- <summary>default GStreamer sound events audiosink</summary>
- <description>GStreamer can play audio using any number of
- output elements. Some possible choices are osssink, pulsesink
- and alsasink. The audiosink can be a partial pipeline instead
- of just one element.</description>
- </key>
- <key name="sounds-audiosink-description" type="s">
- <default>"Default"</default>
- <summary>description for default GStreamer sound events audiosink</summary>
- <description>Describes the selected audiosink element.</description>
- </key>
- <key name="chat-audiosink" type="s">
- <default>"@DEFAULT_AUDIOSINK@"</default>
- <summary>default GStreamer audiosink for Audio/Video Conferencing</summary>
- <description>GStreamer can play audio using any number of
- output elements. Some possible choices are osssink, pulsesink
- and alsasink. The audiosink can be a partial pipeline instead
- of just one element.</description>
- </key>
- <key name="chat-audiosink-description" type="s">
- <default>"Default"</default>
- <summary>description for default GStreamer audiosink for Audio/Video Conferencing</summary>
- <description>Describes the selected audiosink element.</description>
- </key>
- <key name="music-audiosink" type="s">
- <default>"@DEFAULT_AUDIOSINK@"</default>
- <summary>default GStreamer audiosink for Music and Movies</summary>
- <description>GStreamer can play audio using any number of
- output elements. Some possible choices are osssink, pulsesink
- and alsasink. The audiosink can be a partial pipeline instead
- of just one element.</description>
- </key>
- <key name="music-audiosink-description" type="s">
- <default>"Default"</default>
- <summary>description for default GStreamer audiosink for Music and Movies</summary>
- <description>Describes the selected audiosink element.</description>
- </key>
- <key name="videosink" type="s">
- <default>"@DEFAULT_VIDEOSINK@"</default>
- <summary>default GStreamer videosink</summary>
- <description>GStreamer can play video using any number of
- output elements. Some possible choices are xvimagesink,
- ximagesink, sdlvideosink and aasink. The videosink can be
- a partial pipeline instead of just one element.</description>
- </key>
- <key name="videosink-description" type="s">
- <default>"Default"</default>
- <summary>description for default GStreamer videosink</summary>
- <description>Describes the selected videosink element.</description>
- </key>
- <key name="audiosrc" type="s">
- <default>"@DEFAULT_AUDIOSRC@"</default>
- <summary>default GStreamer audiosrc</summary>
- <description>GStreamer can record audio using any number of
- input elements. Some possible choices are osssrc, pulsesrc and
- alsasrc. The audio source can be a partial pipeline instead of
- just one element.</description>
- </key>
- <key name="audiosrc-description" type="s">
- <default>"Default"</default>
- <summary>description for default GStreamer audiosrc</summary>
- <description>Describes the selected audiosrc element.</description>
- </key>
- <key name="videosrc" type="s">
- <default>"@DEFAULT_VIDEOSRC@"</default>
- <summary>default GStreamer videosrc</summary>
- <description>GStreamer can record video from any number of input elements.
- Some possible choices are v4lsrc, v4l2src and videotestsrc. The video
- source can be a partial pipeline instead of just one element.</description>
- </key>
- <key name="videosrc-description" type="s">
- <default>"Default"</default>
- <summary>description for default GStreamer videosrc</summary>
- <description>Describes the selected videosrc element.</description>
- </key>
- <key name="visualization" type="s">
- <default>"@DEFAULT_VISUALIZER@"</default>
- <summary>default GStreamer visualization</summary>
- <description>GStreamer can put visualization plugins in a pipeline to
- transform audio streams in video frames. Some possible choices are
- goom, goom2k1 and synaesthesia. The visualization plugin can be a
- partial pipeline instead of just one element.</description>
- </key>
- <key name="visualization-description" type="s">
- <default>"Default"</default>
- <summary>description for default GStreamer visualization</summary>
- <description>Describes the selected visualization element.</description>
- </key>
- </schema>
-</schemalist>
diff --git a/ext/gsettings/plugin.c b/ext/gsettings/plugin.c
deleted file mode 100644
index b264967..0000000
--- a/ext/gsettings/plugin.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* GStreamer
- * Copyright (C) 2010 Sebastian Dröge <sebastian.droege@collabora.co.uk>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <gst/gst.h>
-
-#include "gstgsettingsaudiosrc.h"
-#include "gstgsettingsaudiosink.h"
-#include "gstgsettingsvideosrc.h"
-#include "gstgsettingsvideosink.h"
-
-static gboolean
-plugin_init (GstPlugin * plugin)
-{
- if (!gst_element_register (plugin, "gsettingsaudiosink", GST_RANK_NONE,
- GST_TYPE_GSETTINGS_AUDIO_SINK) ||
- !gst_element_register (plugin, "gsettingsaudiosrc", GST_RANK_NONE,
- GST_TYPE_GSETTINGS_AUDIO_SRC) ||
- !gst_element_register (plugin, "gsettingsvideosink", GST_RANK_NONE,
- GST_TYPE_GSETTINGS_VIDEO_SINK) ||
- !gst_element_register (plugin, "gsettingsvideosrc", GST_RANK_NONE,
- GST_TYPE_GSETTINGS_VIDEO_SRC))
- return FALSE;
-
- return TRUE;
-}
-
-GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
- GST_VERSION_MINOR,
- gsettings,
- "GSettings plugin",
- plugin_init, VERSION, "LGPL", GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN)
diff --git a/ext/gsm/Makefile.in b/ext/gsm/Makefile.in
index a9f029e..8177cbf 100644
--- a/ext/gsm/Makefile.in
+++ b/ext/gsm/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/gtk/Makefile.in b/ext/gtk/Makefile.in
index 427fe0c..36c2551 100644
--- a/ext/gtk/Makefile.in
+++ b/ext/gtk/Makefile.in
@@ -119,16 +119,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -337,7 +336,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -359,7 +357,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -381,9 +378,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -545,6 +539,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -558,8 +553,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -646,8 +639,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -699,6 +690,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -719,6 +711,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -756,7 +750,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/gtk/gstgtkbasesink.c b/ext/gtk/gstgtkbasesink.c
index e192940..f0019bf 100644
--- a/ext/gtk/gstgtkbasesink.c
+++ b/ext/gtk/gstgtkbasesink.c
@@ -141,9 +141,16 @@
static void
gst_gtk_base_sink_finalize (GObject * object)
{
- GstGtkBaseSink *gtk_sink = GST_GTK_BASE_SINK (object);;
+ GstGtkBaseSink *gtk_sink = GST_GTK_BASE_SINK (object);
+
+ GST_OBJECT_LOCK (gtk_sink);
+ if (gtk_sink->window && gtk_sink->window_destroy_id)
+ g_signal_handler_disconnect (gtk_sink->window, gtk_sink->window_destroy_id);
+ if (gtk_sink->widget && gtk_sink->widget_destroy_id)
+ g_signal_handler_disconnect (gtk_sink->widget, gtk_sink->widget_destroy_id);
g_clear_object (>k_sink->widget);
+ GST_OBJECT_UNLOCK (gtk_sink);
G_OBJECT_CLASS (parent_class)->finalize (object);
}
@@ -194,7 +201,7 @@
/* Take the floating ref, other wise the destruction of the container will
* make this widget disapear possibly before we are done. */
gst_object_ref_sink (gtk_sink->widget);
- g_signal_connect (gtk_sink->widget, "destroy",
+ gtk_sink->widget_destroy_id = g_signal_connect (gtk_sink->widget, "destroy",
G_CALLBACK (widget_destroy_cb), gtk_sink);
/* back pointer */
@@ -316,7 +323,7 @@
gtk_window_set_default_size (GTK_WINDOW (gst_sink->window), 640, 480);
gtk_window_set_title (GTK_WINDOW (gst_sink->window), klass->window_title);
gtk_container_add (GTK_CONTAINER (gst_sink->window), toplevel);
- g_signal_connect (gst_sink->window, "destroy",
+ gst_sink->window_destroy_id = g_signal_connect (gst_sink->window, "destroy",
G_CALLBACK (window_destroy_cb), gst_sink);
}
diff --git a/ext/gtk/gstgtkbasesink.h b/ext/gtk/gstgtkbasesink.h
index 7260cd5..ef8c284 100644
--- a/ext/gtk/gstgtkbasesink.h
+++ b/ext/gtk/gstgtkbasesink.h
@@ -69,6 +69,8 @@
GBinding *bind_ignore_alpha;
GtkWidget *window;
+ gulong widget_destroy_id;
+ gulong window_destroy_id;
};
/**
diff --git a/ext/gtk/gtkgstglwidget.c b/ext/gtk/gtkgstglwidget.c
index c4d53a2..c9ad0b6 100644
--- a/ext/gtk/gtkgstglwidget.c
+++ b/ext/gtk/gtkgstglwidget.c
@@ -260,6 +260,7 @@
sync_meta = gst_buffer_get_gl_sync_meta (buffer);
if (sync_meta) {
+ /* XXX: the set_sync() seems to be needed for resizing */
gst_gl_sync_meta_set_sync_point (sync_meta, priv->context);
gst_gl_sync_meta_wait (sync_meta, priv->other_context);
}
diff --git a/ext/hls/Makefile.in b/ext/hls/Makefile.in
index 8e803f6..9661e7f 100644
--- a/ext/hls/Makefile.in
+++ b/ext/hls/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -329,7 +328,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -351,7 +349,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -373,9 +370,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -537,6 +531,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -550,8 +545,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -638,8 +631,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -691,6 +682,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -711,6 +703,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -748,7 +742,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/hls/gsthlsdemux.c b/ext/hls/gsthlsdemux.c
index 6c5468d..cf51d99 100644
--- a/ext/hls/gsthlsdemux.c
+++ b/ext/hls/gsthlsdemux.c
@@ -207,13 +207,10 @@
gst_hls_demux_create_pad (GstHLSDemux * hlsdemux)
{
gchar *name;
- GstPadTemplate *tmpl;
GstPad *pad;
name = g_strdup_printf ("src_%u", hlsdemux->srcpad_counter++);
- tmpl = gst_static_pad_template_get (&srctemplate);
- pad = gst_ghost_pad_new_no_target_from_template (name, tmpl);
- gst_object_unref (tmpl);
+ pad = gst_pad_new_from_static_template (&srctemplate, name);
g_free (name);
return pad;
@@ -247,7 +244,8 @@
gint64 current_sequence;
GstM3U8MediaFile *file;
guint64 bitrate;
- gboolean snap_before, snap_after, snap_nearest;
+ gboolean snap_before, snap_after, snap_nearest, keyunit;
+ gboolean reverse;
gst_event_parse_seek (seek, &rate, &format, &flags, &start_type, &start,
&stop_type, &stop);
@@ -304,16 +302,15 @@
file = GST_M3U8_MEDIA_FILE (hlsdemux->client->current->files->data);
current_sequence = file->sequence;
current_pos = 0;
- target_pos = rate > 0 ? start : stop;
+ reverse = rate < 0;
+ target_pos = reverse ? stop : start;
/* Snap to segment boundary. Improves seek performance on slow machines. */
- snap_before = snap_after = snap_nearest = FALSE;
- if ((flags & GST_SEEK_FLAG_SNAP_NEAREST) == GST_SEEK_FLAG_SNAP_NEAREST)
- snap_nearest = TRUE;
- else if (flags & GST_SEEK_FLAG_SNAP_BEFORE)
- snap_before = TRUE;
- else if (flags & GST_SEEK_FLAG_SNAP_AFTER)
- snap_after = TRUE;
+ keyunit = ! !(flags & GST_SEEK_FLAG_KEY_UNIT);
+ snap_nearest =
+ (flags & GST_SEEK_FLAG_SNAP_NEAREST) == GST_SEEK_FLAG_SNAP_NEAREST;
+ snap_before = ! !(flags & GST_SEEK_FLAG_SNAP_BEFORE);
+ snap_after = ! !(flags & GST_SEEK_FLAG_SNAP_AFTER);
/* FIXME: Here we need proper discont handling */
for (walk = hlsdemux->client->current->files; walk; walk = walk->next) {
@@ -321,11 +318,19 @@
current_sequence = file->sequence;
current_file = walk;
- if (snap_after || snap_nearest) {
+ if ((!reverse && snap_after) || snap_nearest) {
if (current_pos >= target_pos)
break;
if (snap_nearest && target_pos - current_pos < file->duration / 2)
break;
+ } else if (reverse && snap_after) {
+ /* check if the next fragment is our target, in this case we want to
+ * start from the previous fragment */
+ GstClockTime next_pos = current_pos + file->duration;
+
+ if (next_pos <= target_pos && target_pos < next_pos + file->duration) {
+ break;
+ }
} else if (current_pos <= target_pos
&& target_pos < current_pos + file->duration) {
break;
@@ -346,9 +351,18 @@
hlsdemux->client->sequence_position = current_pos;
GST_M3U8_CLIENT_UNLOCK (hlsdemux->client);
- if (snap_before || snap_after || snap_nearest)
- gst_segment_do_seek (&demux->segment, rate, format, flags, start_type,
- current_pos, stop_type, stop, NULL);
+ /* Play from the end of the current selected segment */
+ if (reverse && (snap_before || snap_after || snap_nearest))
+ current_pos += file->duration;
+
+ if (keyunit || snap_before || snap_after || snap_nearest) {
+ if (!reverse)
+ gst_segment_do_seek (&demux->segment, rate, format, flags, start_type,
+ current_pos, stop_type, stop, NULL);
+ else
+ gst_segment_do_seek (&demux->segment, rate, format, flags, start_type,
+ start, stop_type, current_pos, NULL);
+ }
return TRUE;
}
diff --git a/ext/kate/Makefile.in b/ext/kate/Makefile.in
index 8fc3534..650799b 100644
--- a/ext/kate/Makefile.in
+++ b/ext/kate/Makefile.in
@@ -118,16 +118,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -329,7 +328,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -351,7 +349,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -373,9 +370,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -537,6 +531,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -550,8 +545,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -638,8 +631,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -691,6 +682,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -711,6 +703,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -748,7 +742,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/ladspa/Makefile.in b/ext/ladspa/Makefile.in
index 5b6ddaa..9c4f1d5 100644
--- a/ext/ladspa/Makefile.in
+++ b/ext/ladspa/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -328,7 +327,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -350,7 +348,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -372,9 +369,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -536,6 +530,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -549,8 +544,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -637,8 +630,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -690,6 +681,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -710,6 +702,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -747,7 +741,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/ladspa/gstladspafilter.c b/ext/ladspa/gstladspafilter.c
index 69d0e63..2d1ea45 100644
--- a/ext/ladspa/gstladspafilter.c
+++ b/ext/ladspa/gstladspafilter.c
@@ -105,20 +105,19 @@
g_assert_not_reached ();
}
- GST_DEBUG_OBJECT (ladspa_debug, "transformed %" GST_PTR_FORMAT, ret);
+ GST_DEBUG_OBJECT (base, "transformed %" GST_PTR_FORMAT, ret);
if (filter) {
GstCaps *intersection;
- GST_DEBUG_OBJECT (ladspa_debug, "Using filter caps %" GST_PTR_FORMAT,
- filter);
+ GST_DEBUG_OBJECT (base, "Using filter caps %" GST_PTR_FORMAT, filter);
intersection =
gst_caps_intersect_full (filter, ret, GST_CAPS_INTERSECT_FIRST);
gst_caps_unref (ret);
ret = intersection;
- GST_DEBUG_OBJECT (ladspa_debug, "Intersection %" GST_PTR_FORMAT, ret);
+ GST_DEBUG_OBJECT (base, "Intersection %" GST_PTR_FORMAT, ret);
}
gst_caps_unref (srccaps);
diff --git a/ext/libde265/Makefile.in b/ext/libde265/Makefile.in
index 85817da..6405abb 100644
--- a/ext/libde265/Makefile.in
+++ b/ext/libde265/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -325,7 +324,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +345,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +366,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +527,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +541,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +627,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +678,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +699,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +738,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/libmms/Makefile.in b/ext/libmms/Makefile.in
index 65540f5..2a5336c 100644
--- a/ext/libmms/Makefile.in
+++ b/ext/libmms/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/libvisual/Makefile.in b/ext/libvisual/Makefile.in
index 7836d28..c86f3a4 100644
--- a/ext/libvisual/Makefile.in
+++ b/ext/libvisual/Makefile.in
@@ -115,16 +115,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -321,7 +320,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -343,7 +341,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -365,9 +362,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -529,6 +523,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -542,8 +537,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -630,8 +623,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -683,6 +674,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -703,6 +695,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -740,7 +734,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/lv2/Makefile.in b/ext/lv2/Makefile.in
index 37a0992..2004e5b 100644
--- a/ext/lv2/Makefile.in
+++ b/ext/lv2/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/mimic/Makefile.in b/ext/mimic/Makefile.in
index 80c93ff..1454831 100644
--- a/ext/mimic/Makefile.in
+++ b/ext/mimic/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/modplug/Makefile.in b/ext/modplug/Makefile.in
index 1466db5..7e2051a 100644
--- a/ext/modplug/Makefile.in
+++ b/ext/modplug/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -323,7 +322,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -345,7 +343,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -367,9 +364,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -531,6 +525,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -544,8 +539,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -632,8 +625,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -685,6 +676,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -705,6 +697,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -742,7 +736,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/modplug/gstmodplug.cc b/ext/modplug/gstmodplug.cc
index 683fbaa..ff3641d 100644
--- a/ext/modplug/gstmodplug.cc
+++ b/ext/modplug/gstmodplug.cc
@@ -91,7 +91,7 @@
#define DEFAULT_OVERSAMP TRUE
#define DEFAULT_NOISE_REDUCTION TRUE
-#define FORMATS "{ "GST_AUDIO_NE (S32)", "GST_AUDIO_NE (S16)", U8 }"
+#define FORMATS "{ " GST_AUDIO_NE (S32) ", " GST_AUDIO_NE (S16) ", U8 }"
static GstStaticPadTemplate modplug_src_template_factory =
GST_STATIC_PAD_TEMPLATE ("src",
diff --git a/ext/mpeg2enc/Makefile.in b/ext/mpeg2enc/Makefile.in
index c4c10f0..fdf5aa2 100644
--- a/ext/mpeg2enc/Makefile.in
+++ b/ext/mpeg2enc/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -327,7 +326,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -349,7 +347,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -371,9 +368,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -535,6 +529,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -548,8 +543,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -636,8 +629,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -689,6 +680,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -709,6 +701,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -746,7 +740,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/mpg123/Makefile.am b/ext/mpg123/Makefile.am
deleted file mode 100644
index 6c96207..0000000
--- a/ext/mpg123/Makefile.am
+++ /dev/null
@@ -1,12 +0,0 @@
-plugin_LTLIBRARIES = libgstmpg123.la
-
-libgstmpg123_la_SOURCES = gstmpg123audiodec.c
-libgstmpg123_la_CFLAGS = -DGST_USE_UNSTABLE_API \
- $(GST_PLUGINS_BASE_CFLAGS) \
- $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(MPG123_CFLAGS)
-libgstmpg123_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-@GST_API_VERSION@ \
- $(GST_BASE_LIBS) $(GST_LIBS) $(MPG123_LIBS)
-libgstmpg123_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
-libgstmpg123_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
-
-noinst_HEADERS = gstmpg123audiodec.h
diff --git a/ext/mpg123/gstmpg123audiodec.c b/ext/mpg123/gstmpg123audiodec.c
deleted file mode 100644
index cfd017e..0000000
--- a/ext/mpg123/gstmpg123audiodec.c
+++ /dev/null
@@ -1,633 +0,0 @@
-/* MP3 decoding plugin for GStreamer using the mpg123 library
- * Copyright (C) 2012 Carlos Rafael Giani
- *
- * 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
- */
-
-/**
- * SECTION: element-mpg123audiodec
- * @see_also: lamemp3enc, mad
- *
- * Audio decoder for MPEG-1 layer 1/2/3 audio data.
- *
- * <refsect2>
- * <title>Example pipelines</title>
- * |[
- * gst-launch-1.0 filesrc location=music.mp3 ! mpegaudioparse ! mpg123audiodec ! audioconvert ! audioresample ! autoaudiosink
- * ]| Decode and play the mp3 file
- * </refsect2>
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "gstmpg123audiodec.h"
-
-#include <stdlib.h>
-#include <string.h>
-
-GST_DEBUG_CATEGORY_STATIC (mpg123_debug);
-#define GST_CAT_DEFAULT mpg123_debug
-
-/* Omitted sample formats that mpg123 supports (or at least can support):
- * - 8bit integer signed
- * - 8bit integer unsigned
- * - a-law
- * - mu-law
- * - 64bit float
- *
- * The first four formats are not supported by the GstAudioDecoder base class.
- * (The internal gst_audio_format_from_caps_structure() call fails.)
- *
- * The 64bit float issue is tricky. mpg123 actually decodes to "real",
- * not necessarily to "float".
- *
- * "real" can be fixed point, 32bit float, 64bit float. There seems to be
- * no way how to find out which one of them is actually used.
- *
- * However, in all known installations, "real" equals 32bit float, so that's
- * what is used. */
-
-static GstStaticPadTemplate static_sink_template =
-GST_STATIC_PAD_TEMPLATE ("sink",
- GST_PAD_SINK,
- GST_PAD_ALWAYS,
- GST_STATIC_CAPS ("audio/mpeg, "
- "mpegversion = (int) 1, "
- "layer = (int) [ 1, 3 ], "
- "rate = (int) { 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000 }, "
- "channels = (int) [ 1, 2 ], " "parsed = (boolean) true ")
- );
-
-static gboolean gst_mpg123_audio_dec_start (GstAudioDecoder * dec);
-static gboolean gst_mpg123_audio_dec_stop (GstAudioDecoder * dec);
-static GstFlowReturn gst_mpg123_audio_dec_push_decoded_bytes (GstMpg123AudioDec
- * mpg123_decoder, unsigned char const *decoded_bytes,
- size_t const num_decoded_bytes);
-static GstFlowReturn gst_mpg123_audio_dec_handle_frame (GstAudioDecoder * dec,
- GstBuffer * input_buffer);
-static gboolean gst_mpg123_audio_dec_set_format (GstAudioDecoder * dec,
- GstCaps * input_caps);
-static void gst_mpg123_audio_dec_flush (GstAudioDecoder * dec, gboolean hard);
-
-G_DEFINE_TYPE (GstMpg123AudioDec, gst_mpg123_audio_dec, GST_TYPE_AUDIO_DECODER);
-
-static void
-gst_mpg123_audio_dec_class_init (GstMpg123AudioDecClass * klass)
-{
- GstAudioDecoderClass *base_class;
- GstElementClass *element_class;
- GstPadTemplate *src_template, *sink_template;
- int error;
-
- GST_DEBUG_CATEGORY_INIT (mpg123_debug, "mpg123", 0, "mpg123 mp3 decoder");
-
- base_class = GST_AUDIO_DECODER_CLASS (klass);
- element_class = GST_ELEMENT_CLASS (klass);
-
- gst_element_class_set_static_metadata (element_class,
- "mpg123 mp3 decoder",
- "Codec/Decoder/Audio",
- "Decodes mp3 streams using the mpg123 library",
- "Carlos Rafael Giani <dv@pseudoterminal.org>");
-
- /* Not using static pad template for srccaps, since the comma-separated list
- * of formats needs to be created depending on whatever mpg123 supports */
- {
- const int *format_list;
- const long *rates_list;
- size_t num, i;
- GString *s;
- GstCaps *src_template_caps;
-
- s = g_string_new ("audio/x-raw, ");
-
- mpg123_encodings (&format_list, &num);
- g_string_append (s, "format = { ");
- for (i = 0; i < num; ++i) {
- switch (format_list[i]) {
- case MPG123_ENC_SIGNED_16:
- g_string_append (s, (i > 0) ? ", " : "");
- g_string_append (s, GST_AUDIO_NE (S16));
- break;
- case MPG123_ENC_UNSIGNED_16:
- g_string_append (s, (i > 0) ? ", " : "");
- g_string_append (s, GST_AUDIO_NE (U16));
- break;
- case MPG123_ENC_SIGNED_24:
- g_string_append (s, (i > 0) ? ", " : "");
- g_string_append (s, GST_AUDIO_NE (S24));
- break;
- case MPG123_ENC_UNSIGNED_24:
- g_string_append (s, (i > 0) ? ", " : "");
- g_string_append (s, GST_AUDIO_NE (U24));
- break;
- case MPG123_ENC_SIGNED_32:
- g_string_append (s, (i > 0) ? ", " : "");
- g_string_append (s, GST_AUDIO_NE (S32));
- break;
- case MPG123_ENC_UNSIGNED_32:
- g_string_append (s, (i > 0) ? ", " : "");
- g_string_append (s, GST_AUDIO_NE (U32));
- break;
- case MPG123_ENC_FLOAT_32:
- g_string_append (s, (i > 0) ? ", " : "");
- g_string_append (s, GST_AUDIO_NE (F32));
- break;
- default:
- GST_DEBUG ("Ignoring mpg123 format %d", format_list[i]);
- break;
- }
- }
- g_string_append (s, " }, ");
-
- mpg123_rates (&rates_list, &num);
- g_string_append (s, "rate = (int) { ");
- for (i = 0; i < num; ++i) {
- g_string_append_printf (s, "%s%lu", (i > 0) ? ", " : "", rates_list[i]);
- }
- g_string_append (s, "}, ");
-
- g_string_append (s, "channels = (int) [ 1, 2 ], ");
- g_string_append (s, "layout = (string) interleaved");
-
- src_template_caps = gst_caps_from_string (s->str);
- src_template = gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS,
- src_template_caps);
-
- g_string_free (s, TRUE);
- }
-
- sink_template = gst_static_pad_template_get (&static_sink_template);
-
- gst_element_class_add_pad_template (element_class, sink_template);
- gst_element_class_add_pad_template (element_class, src_template);
-
- base_class->start = GST_DEBUG_FUNCPTR (gst_mpg123_audio_dec_start);
- base_class->stop = GST_DEBUG_FUNCPTR (gst_mpg123_audio_dec_stop);
- base_class->handle_frame =
- GST_DEBUG_FUNCPTR (gst_mpg123_audio_dec_handle_frame);
- base_class->set_format = GST_DEBUG_FUNCPTR (gst_mpg123_audio_dec_set_format);
- base_class->flush = GST_DEBUG_FUNCPTR (gst_mpg123_audio_dec_flush);
-
- error = mpg123_init ();
- if (G_UNLIKELY (error != MPG123_OK))
- GST_ERROR ("Could not initialize mpg123 library: %s",
- mpg123_plain_strerror (error));
- else
- GST_INFO ("mpg123 library initialized");
-}
-
-
-void
-gst_mpg123_audio_dec_init (GstMpg123AudioDec * mpg123_decoder)
-{
- mpg123_decoder->handle = NULL;
- gst_audio_decoder_set_needs_format (GST_AUDIO_DECODER (mpg123_decoder), TRUE);
- gst_audio_decoder_set_use_default_pad_acceptcaps (GST_AUDIO_DECODER_CAST
- (mpg123_decoder), TRUE);
- GST_PAD_SET_ACCEPT_TEMPLATE (GST_AUDIO_DECODER_SINK_PAD (mpg123_decoder));
-}
-
-
-static gboolean
-gst_mpg123_audio_dec_start (GstAudioDecoder * dec)
-{
- GstMpg123AudioDec *mpg123_decoder;
- int error;
-
- mpg123_decoder = GST_MPG123_AUDIO_DEC (dec);
- error = 0;
-
- mpg123_decoder->handle = mpg123_new (NULL, &error);
- mpg123_decoder->has_next_audioinfo = FALSE;
- mpg123_decoder->frame_offset = 0;
-
- /* Initially, the mpg123 handle comes with a set of default formats
- * supported. This clears this set. This is necessary, since only one
- * format shall be supported (see set_format for more). */
- mpg123_format_none (mpg123_decoder->handle);
-
- /* Built-in mpg123 support for gapless decoding is disabled for now,
- * since it does not work well with seeking */
- mpg123_param (mpg123_decoder->handle, MPG123_REMOVE_FLAGS, MPG123_GAPLESS, 0);
- /* Tells mpg123 to use a small read-ahead buffer for better MPEG sync;
- * essential for MP3 radio streams */
- mpg123_param (mpg123_decoder->handle, MPG123_ADD_FLAGS, MPG123_SEEKBUFFER, 0);
- /* Sets the resync limit to the end of the stream (otherwise mpg123 may give
- * up on decoding prematurely, especially with mp3 web radios) */
- mpg123_param (mpg123_decoder->handle, MPG123_RESYNC_LIMIT, -1, 0);
-#if MPG123_API_VERSION >= 36
- /* The precise API version where MPG123_AUTO_RESAMPLE appeared is
- * somewhere between 29 and 36 */
- /* Don't let mpg123 resample output */
- mpg123_param (mpg123_decoder->handle, MPG123_REMOVE_FLAGS,
- MPG123_AUTO_RESAMPLE, 0);
-#endif
- /* Don't let mpg123 print messages to stdout/stderr */
- mpg123_param (mpg123_decoder->handle, MPG123_ADD_FLAGS, MPG123_QUIET, 0);
-
- /* Open in feed mode (= encoded data is fed manually into the handle). */
- error = mpg123_open_feed (mpg123_decoder->handle);
-
- if (G_UNLIKELY (error != MPG123_OK)) {
- GST_ELEMENT_ERROR (dec, LIBRARY, INIT, (NULL),
- ("%s", mpg123_strerror (mpg123_decoder->handle)));
- mpg123_close (mpg123_decoder->handle);
- mpg123_delete (mpg123_decoder->handle);
- mpg123_decoder->handle = NULL;
- return FALSE;
- }
-
- GST_INFO_OBJECT (dec, "mpg123 decoder started");
-
- return TRUE;
-}
-
-
-static gboolean
-gst_mpg123_audio_dec_stop (GstAudioDecoder * dec)
-{
- GstMpg123AudioDec *mpg123_decoder = GST_MPG123_AUDIO_DEC (dec);
-
- if (G_LIKELY (mpg123_decoder->handle != NULL)) {
- mpg123_close (mpg123_decoder->handle);
- mpg123_delete (mpg123_decoder->handle);
- mpg123_decoder->handle = NULL;
- }
-
- GST_INFO_OBJECT (dec, "mpg123 decoder stopped");
-
- return TRUE;
-}
-
-
-static GstFlowReturn
-gst_mpg123_audio_dec_push_decoded_bytes (GstMpg123AudioDec * mpg123_decoder,
- unsigned char const *decoded_bytes, size_t const num_decoded_bytes)
-{
- GstBuffer *output_buffer;
- GstAudioDecoder *dec;
-
- output_buffer = NULL;
- dec = GST_AUDIO_DECODER (mpg123_decoder);
-
- if ((num_decoded_bytes == 0) || (decoded_bytes == NULL)) {
- /* This occurs in the first few frames, which do not carry data; once
- * MPG123_AUDIO_DEC_NEW_FORMAT is received, the empty frames stop occurring */
- GST_DEBUG_OBJECT (mpg123_decoder,
- "cannot decode yet, need more data -> no output buffer to push");
- return GST_FLOW_OK;
- }
-
- output_buffer = gst_buffer_new_allocate (NULL, num_decoded_bytes, NULL);
-
- if (output_buffer == NULL) {
- /* This is necessary to advance playback in time,
- * even when nothing was decoded. */
- return gst_audio_decoder_finish_frame (dec, NULL, 1);
- } else {
- GstMapInfo info;
-
- if (gst_buffer_map (output_buffer, &info, GST_MAP_WRITE)) {
- memcpy (info.data, decoded_bytes, num_decoded_bytes);
- gst_buffer_unmap (output_buffer, &info);
- } else {
- GST_ERROR_OBJECT (mpg123_decoder, "gst_buffer_map() returned NULL");
- gst_buffer_unref (output_buffer);
- output_buffer = NULL;
- }
-
- return gst_audio_decoder_finish_frame (dec, output_buffer, 1);
- }
-}
-
-
-static GstFlowReturn
-gst_mpg123_audio_dec_handle_frame (GstAudioDecoder * dec,
- GstBuffer * input_buffer)
-{
- GstMpg123AudioDec *mpg123_decoder;
- int decode_error;
- unsigned char *decoded_bytes;
- size_t num_decoded_bytes;
- GstFlowReturn retval;
-
- mpg123_decoder = GST_MPG123_AUDIO_DEC (dec);
-
- g_assert (mpg123_decoder->handle != NULL);
-
- /* The actual decoding */
- {
- /* feed input data (if there is any) */
- if (G_LIKELY (input_buffer != NULL)) {
- GstMapInfo info;
-
- if (gst_buffer_map (input_buffer, &info, GST_MAP_READ)) {
- mpg123_feed (mpg123_decoder->handle, info.data, info.size);
- gst_buffer_unmap (input_buffer, &info);
- } else {
- GST_AUDIO_DECODER_ERROR (mpg123_decoder, 1, RESOURCE, READ, (NULL),
- ("gst_memory_map() failed"), retval);
- return retval;
- }
- }
-
- /* Try to decode a frame */
- decoded_bytes = NULL;
- num_decoded_bytes = 0;
- decode_error = mpg123_decode_frame (mpg123_decoder->handle,
- &mpg123_decoder->frame_offset, &decoded_bytes, &num_decoded_bytes);
- }
-
- retval = GST_FLOW_OK;
-
- switch (decode_error) {
- case MPG123_NEW_FORMAT:
- /* As mentioned in gst_mpg123_audio_dec_set_format(), the next audioinfo
- * is not set immediately; instead, the code waits for mpg123 to take
- * note of the new format, and then sets the audioinfo. This fixes glitches
- * with mp3s containing several format headers (for example, first half
- * using 44.1kHz, second half 32 kHz) */
-
- GST_LOG_OBJECT (dec,
- "mpg123 reported a new format -> setting next srccaps");
-
- gst_mpg123_audio_dec_push_decoded_bytes (mpg123_decoder, decoded_bytes,
- num_decoded_bytes);
-
- /* If there is a next audioinfo, use it, then set has_next_audioinfo to
- * FALSE, to make sure gst_audio_decoder_set_output_format() isn't called
- * again until set_format is called by the base class */
- if (mpg123_decoder->has_next_audioinfo) {
- if (!gst_audio_decoder_set_output_format (dec,
- &(mpg123_decoder->next_audioinfo))) {
- GST_WARNING_OBJECT (dec, "Unable to set output format");
- retval = GST_FLOW_NOT_NEGOTIATED;
- }
- mpg123_decoder->has_next_audioinfo = FALSE;
- }
-
- break;
-
- case MPG123_NEED_MORE:
- case MPG123_OK:
- retval = gst_mpg123_audio_dec_push_decoded_bytes (mpg123_decoder,
- decoded_bytes, num_decoded_bytes);
- break;
-
- case MPG123_DONE:
- /* If this happens, then the upstream parser somehow missed the ending
- * of the bitstream */
- GST_LOG_OBJECT (dec, "mpg123 is done decoding");
- gst_mpg123_audio_dec_push_decoded_bytes (mpg123_decoder, decoded_bytes,
- num_decoded_bytes);
- retval = GST_FLOW_EOS;
- break;
-
- default:
- {
- /* Anything else is considered an error */
- int errcode;
- retval = GST_FLOW_ERROR; /* use error by default */
- switch (decode_error) {
- case MPG123_ERR:
- errcode = mpg123_errcode (mpg123_decoder->handle);
- break;
- default:
- errcode = decode_error;
- }
- switch (errcode) {
- case MPG123_BAD_OUTFORMAT:{
- GstCaps *input_caps =
- gst_pad_get_current_caps (GST_AUDIO_DECODER_SINK_PAD (dec));
- GST_ELEMENT_ERROR (dec, STREAM, FORMAT, (NULL),
- ("Output sample format could not be used when trying to decode frame. "
- "This is typically caused when the input caps (often the sample "
- "rate) do not match the actual format of the audio data. "
- "Input caps: %" GST_PTR_FORMAT, input_caps)
- );
- gst_caps_unref (input_caps);
- break;
- }
- default:{
- char const *errmsg = mpg123_plain_strerror (errcode);
- /* GST_AUDIO_DECODER_ERROR sets a new return value according to
- * its estimations */
- GST_AUDIO_DECODER_ERROR (mpg123_decoder, 1, STREAM, DECODE, (NULL),
- ("mpg123 decoding error: %s", errmsg), retval);
- }
- }
- }
- }
-
- return retval;
-}
-
-
-static gboolean
-gst_mpg123_audio_dec_set_format (GstAudioDecoder * dec, GstCaps * input_caps)
-{
- /* "encoding" is the sample format specifier for mpg123 */
- int encoding;
- int sample_rate, num_channels;
- GstAudioFormat format;
- GstMpg123AudioDec *mpg123_decoder;
- gboolean retval = FALSE;
-
- mpg123_decoder = GST_MPG123_AUDIO_DEC (dec);
-
- g_assert (mpg123_decoder->handle != NULL);
-
- mpg123_decoder->has_next_audioinfo = FALSE;
-
- /* Get sample rate and number of channels from input_caps */
- {
- GstStructure *structure;
- gboolean err = FALSE;
-
- /* Only the first structure is used (multiple
- * input caps structures don't make sense */
- structure = gst_caps_get_structure (input_caps, 0);
-
- if (!gst_structure_get_int (structure, "rate", &sample_rate)) {
- err = TRUE;
- GST_ERROR_OBJECT (dec, "Input caps do not have a rate value");
- }
- if (!gst_structure_get_int (structure, "channels", &num_channels)) {
- err = TRUE;
- GST_ERROR_OBJECT (dec, "Input caps do not have a channel value");
- }
-
- if (G_UNLIKELY (err))
- goto done;
- }
-
- /* Get sample format from the allowed src caps */
- {
- GstCaps *allowed_srccaps =
- gst_pad_get_allowed_caps (GST_AUDIO_DECODER_SRC_PAD (dec));
-
- if (allowed_srccaps == NULL) {
- /* srcpad is not linked (yet), so no peer information is available;
- * just use the default sample format (16 bit signed integer) */
- GST_DEBUG_OBJECT (mpg123_decoder,
- "srcpad is not linked (yet) -> using S16 sample format");
- format = GST_AUDIO_FORMAT_S16;
- encoding = MPG123_ENC_SIGNED_16;
- } else if (gst_caps_is_empty (allowed_srccaps)) {
- gst_caps_unref (allowed_srccaps);
- goto done;
- } else {
- gchar const *format_str;
- GValue const *format_value;
-
- /* Look at the sample format values from the first structure */
- GstStructure *structure = gst_caps_get_structure (allowed_srccaps, 0);
- format_value = gst_structure_get_value (structure, "format");
-
- if (format_value == NULL) {
- gst_caps_unref (allowed_srccaps);
- goto done;
- } else if (GST_VALUE_HOLDS_LIST (format_value)) {
- /* if value is a format list, pick the first entry */
- GValue const *fmt_list_value =
- gst_value_list_get_value (format_value, 0);
- format_str = g_value_get_string (fmt_list_value);
- } else if (G_VALUE_HOLDS_STRING (format_value)) {
- /* if value is a string, use it directly */
- format_str = g_value_get_string (format_value);
- } else {
- GST_ERROR_OBJECT (mpg123_decoder, "unexpected type for 'format' field "
- "in caps structure %" GST_PTR_FORMAT, structure);
- gst_caps_unref (allowed_srccaps);
- goto done;
- }
-
- /* get the format value from the string */
- format = gst_audio_format_from_string (format_str);
- gst_caps_unref (allowed_srccaps);
-
- g_assert (format != GST_AUDIO_FORMAT_UNKNOWN);
-
- /* convert format to mpg123 encoding */
- switch (format) {
- case GST_AUDIO_FORMAT_S16:
- encoding = MPG123_ENC_SIGNED_16;
- break;
- case GST_AUDIO_FORMAT_S24:
- encoding = MPG123_ENC_SIGNED_24;
- break;
- case GST_AUDIO_FORMAT_S32:
- encoding = MPG123_ENC_SIGNED_32;
- break;
- case GST_AUDIO_FORMAT_U16:
- encoding = MPG123_ENC_UNSIGNED_16;
- break;
- case GST_AUDIO_FORMAT_U24:
- encoding = MPG123_ENC_UNSIGNED_24;
- break;
- case GST_AUDIO_FORMAT_U32:
- encoding = MPG123_ENC_UNSIGNED_32;
- break;
- case GST_AUDIO_FORMAT_F32:
- encoding = MPG123_ENC_FLOAT_32;
- break;
- default:
- g_assert_not_reached ();
- goto done;
- }
- }
- }
-
- /* Sample rate, number of channels, and sample format are known at this point.
- * Set the audioinfo structure's values and the mpg123 format. */
- {
- int err;
-
- /* clear all existing format settings from the mpg123 instance */
- mpg123_format_none (mpg123_decoder->handle);
- /* set the chosen format */
- err =
- mpg123_format (mpg123_decoder->handle, sample_rate, num_channels,
- encoding);
-
- if (err != MPG123_OK) {
- GST_WARNING_OBJECT (dec,
- "mpg123_format() failed: %s",
- mpg123_strerror (mpg123_decoder->handle));
- } else {
- gst_audio_info_init (&(mpg123_decoder->next_audioinfo));
- gst_audio_info_set_format (&(mpg123_decoder->next_audioinfo), format,
- sample_rate, num_channels, NULL);
- GST_LOG_OBJECT (dec, "The next audio format is: %s, %u Hz, %u channels",
- gst_audio_format_to_string (format), sample_rate, num_channels);
- mpg123_decoder->has_next_audioinfo = TRUE;
-
- retval = TRUE;
- }
- }
-
-done:
- return retval;
-}
-
-
-static void
-gst_mpg123_audio_dec_flush (GstAudioDecoder * dec, gboolean hard)
-{
- int error;
- GstMpg123AudioDec *mpg123_decoder;
-
- GST_LOG_OBJECT (dec, "Flushing decoder");
-
- mpg123_decoder = GST_MPG123_AUDIO_DEC (dec);
-
- g_assert (mpg123_decoder->handle != NULL);
-
- /* Flush by reopening the feed */
- mpg123_close (mpg123_decoder->handle);
- error = mpg123_open_feed (mpg123_decoder->handle);
-
- if (G_UNLIKELY (error != MPG123_OK)) {
- GST_ELEMENT_ERROR (dec, LIBRARY, INIT, (NULL),
- ("Error while reopening mpg123 feed: %s",
- mpg123_plain_strerror (error)));
- mpg123_close (mpg123_decoder->handle);
- mpg123_delete (mpg123_decoder->handle);
- mpg123_decoder->handle = NULL;
- }
-
- if (hard)
- mpg123_decoder->has_next_audioinfo = FALSE;
-
- /* opening/closing feeds do not affect the format defined by the
- * mpg123_format() call that was made in gst_mpg123_audio_dec_set_format(),
- * and since the up/downstream caps are not expected to change here, no
- * mpg123_format() calls are done */
-}
-
-static gboolean
-plugin_init (GstPlugin * plugin)
-{
- return gst_element_register (plugin, "mpg123audiodec",
- GST_RANK_MARGINAL, gst_mpg123_audio_dec_get_type ());
-}
-
-GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
- GST_VERSION_MINOR,
- mpg123, "mp3 decoding based on the mpg123 library",
- plugin_init, VERSION, "LGPL", GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN)
diff --git a/ext/mpg123/gstmpg123audiodec.h b/ext/mpg123/gstmpg123audiodec.h
deleted file mode 100644
index e837a56..0000000
--- a/ext/mpg123/gstmpg123audiodec.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* MP3 decoding plugin for GStreamer using the mpg123 library
- * Copyright (C) 2012 Carlos Rafael Giani
- *
- * 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_MPG123_AUDIO_DEC_H__
-#define __GST_MPG123_AUDIO_DEC_H__
-
-#include <gst/gst.h>
-#include <gst/audio/gstaudiodecoder.h>
-#include <mpg123.h>
-
-
-G_BEGIN_DECLS
-
-
-typedef struct _GstMpg123AudioDec GstMpg123AudioDec;
-typedef struct _GstMpg123AudioDecClass GstMpg123AudioDecClass;
-
-
-#define GST_TYPE_MPG123_AUDIO_DEC (gst_mpg123_audio_dec_get_type())
-#define GST_MPG123_AUDIO_DEC(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_MPG123_AUDIO_DEC,GstMpg123AudioDec))
-#define GST_MPG123_AUDIO_DEC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_MPG123_AUDIO_DEC,GstMpg123AudioDecClass))
-#define GST_IS_MPG123_AUDIO_DEC(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_MPG123_AUDIO_DEC))
-#define GST_IS_MPG123_AUDIO_DEC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_MPG123_AUDIO_DEC))
-
-struct _GstMpg123AudioDec
-{
- GstAudioDecoder parent;
-
- mpg123_handle *handle;
-
- GstAudioInfo next_audioinfo;
- gboolean has_next_audioinfo;
-
- off_t frame_offset;
-};
-
-
-struct _GstMpg123AudioDecClass
-{
- GstAudioDecoderClass parent_class;
-};
-
-G_GNUC_INTERNAL GType gst_mpg123_audio_dec_get_type (void);
-
-G_END_DECLS
-
-#endif
diff --git a/ext/mplex/Makefile.in b/ext/mplex/Makefile.in
index 24c9190..b911580 100644
--- a/ext/mplex/Makefile.in
+++ b/ext/mplex/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -327,7 +326,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -349,7 +347,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -371,9 +368,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -535,6 +529,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -548,8 +543,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -636,8 +629,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -689,6 +680,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -709,6 +701,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -746,7 +740,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/musepack/Makefile.in b/ext/musepack/Makefile.in
index e9dc694..506cc5a 100644
--- a/ext/musepack/Makefile.in
+++ b/ext/musepack/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/nas/Makefile.in b/ext/nas/Makefile.in
index a39a6cd..99a1ec1 100644
--- a/ext/nas/Makefile.in
+++ b/ext/nas/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -323,7 +322,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -345,7 +343,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -367,9 +364,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -531,6 +525,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -544,8 +539,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -632,8 +625,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -685,6 +676,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -705,6 +697,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -742,7 +736,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/neon/Makefile.in b/ext/neon/Makefile.in
index 2aefd6d..d597c2f 100644
--- a/ext/neon/Makefile.in
+++ b/ext/neon/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/ofa/Makefile.in b/ext/ofa/Makefile.in
index cc260f5..43b490e 100644
--- a/ext/ofa/Makefile.in
+++ b/ext/ofa/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/openal/Makefile.in b/ext/openal/Makefile.in
index 2a64f94..ac0003f 100644
--- a/ext/openal/Makefile.in
+++ b/ext/openal/Makefile.in
@@ -118,16 +118,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -328,7 +327,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -350,7 +348,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -372,9 +369,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -536,6 +530,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -549,8 +544,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -637,8 +630,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -690,6 +681,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -710,6 +702,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -747,7 +741,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/opencv/Makefile.in b/ext/opencv/Makefile.in
index f26b480..5f2e280 100644
--- a/ext/opencv/Makefile.in
+++ b/ext/opencv/Makefile.in
@@ -117,16 +117,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -346,7 +345,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -368,7 +366,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -390,9 +387,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -554,6 +548,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -567,8 +562,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -655,8 +648,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -708,6 +699,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -728,6 +720,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -765,7 +759,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/opencv/gstcvlaplace.cpp b/ext/opencv/gstcvlaplace.cpp
index 04cd575..c989456 100644
--- a/ext/opencv/gstcvlaplace.cpp
+++ b/ext/opencv/gstcvlaplace.cpp
@@ -67,22 +67,14 @@
static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_SINK,
GST_PAD_ALWAYS,
- GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("GRAY8"))
+ GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("RGB"))
);
-#if G_BYTE_ORDER == G_BIG_ENDIAN
static GstStaticPadTemplate src_factory = GST_STATIC_PAD_TEMPLATE ("src",
GST_PAD_SRC,
GST_PAD_ALWAYS,
- GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("GRAY16_BE"))
+ GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("RGB"))
);
-#else
-static GstStaticPadTemplate src_factory = GST_STATIC_PAD_TEMPLATE ("src",
- GST_PAD_SRC,
- GST_PAD_ALWAYS,
- GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("GRAY16_LE"))
- );
-#endif
/* Filter signals and args */
enum
@@ -95,12 +87,14 @@
PROP_0,
PROP_APERTURE_SIZE,
PROP_SCALE,
- PROP_SHIFT
+ PROP_SHIFT,
+ PROP_MASK
};
#define DEFAULT_APERTURE_SIZE 3
#define DEFAULT_SCALE_FACTOR 1.0
#define DEFAULT_SHIFT 0.0
+#define DEFAULT_MASK TRUE
G_DEFINE_TYPE (GstCvLaplace, gst_cv_laplace, GST_TYPE_OPENCV_VIDEO_FILTER);
@@ -109,8 +103,8 @@
static void gst_cv_laplace_get_property (GObject * object, guint prop_id,
GValue * value, GParamSpec * pspec);
-static GstCaps *gst_cv_laplace_transform_caps (GstBaseTransform * trans,
- GstPadDirection dir, GstCaps * caps, GstCaps * filter);
+static gboolean gst_cv_laplace_handle_sink_event (GstPad * pad,
+ GstObject * parent, GstEvent * event);
static GstFlowReturn gst_cv_laplace_transform (GstOpencvVideoFilter * filter,
GstBuffer * buf, IplImage * img, GstBuffer * outbuf, IplImage * outimg);
@@ -125,8 +119,12 @@
{
GstCvLaplace *filter = GST_CV_LAPLACE (obj);
- if (filter->intermediary_img)
+ if (filter->intermediary_img) {
cvReleaseImage (&filter->intermediary_img);
+ cvReleaseImage (&filter->cvGray);
+ cvReleaseImage (&filter->Laplace);
+ cvReleaseImage (&filter->CLaplace);
+ }
G_OBJECT_CLASS (gst_cv_laplace_parent_class)->finalize (obj);
}
@@ -136,20 +134,16 @@
gst_cv_laplace_class_init (GstCvLaplaceClass * klass)
{
GObjectClass *gobject_class;
- GstBaseTransformClass *gstbasetransform_class;
GstOpencvVideoFilterClass *gstopencvbasefilter_class;
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gobject_class = (GObjectClass *) klass;
- gstbasetransform_class = (GstBaseTransformClass *) klass;
gstopencvbasefilter_class = (GstOpencvVideoFilterClass *) klass;
gobject_class->finalize = GST_DEBUG_FUNCPTR (gst_cv_laplace_finalize);
gobject_class->set_property = gst_cv_laplace_set_property;
gobject_class->get_property = gst_cv_laplace_get_property;
- gstbasetransform_class->transform_caps = gst_cv_laplace_transform_caps;
-
gstopencvbasefilter_class->cv_trans_func = gst_cv_laplace_transform;
gstopencvbasefilter_class->cv_set_caps = gst_cv_laplace_cv_set_caps;
@@ -165,6 +159,10 @@
g_param_spec_double ("shift", "Shift",
"Value added to the scaled source array elements", 0.0, G_MAXDOUBLE,
DEFAULT_SHIFT, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
+ g_object_class_install_property (gobject_class, PROP_MASK,
+ g_param_spec_boolean ("mask", "Mask",
+ "Sets whether the detected edges should be used as a mask on the original input or not",
+ DEFAULT_MASK, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
gst_element_class_add_pad_template (element_class,
gst_static_pad_template_get (&src_factory));
@@ -181,9 +179,13 @@
static void
gst_cv_laplace_init (GstCvLaplace * filter)
{
+ gst_pad_set_event_function (GST_BASE_TRANSFORM_SINK_PAD (filter),
+ GST_DEBUG_FUNCPTR (gst_cv_laplace_handle_sink_event));
+
filter->aperture_size = DEFAULT_APERTURE_SIZE;
filter->scale = DEFAULT_SCALE_FACTOR;
filter->shift = DEFAULT_SHIFT;
+ filter->mask = DEFAULT_MASK;
gst_opencv_video_filter_set_in_place (GST_OPENCV_VIDEO_FILTER_CAST (filter),
FALSE);
@@ -195,97 +197,17 @@
gint out_height, gint out_depth, gint out_channels)
{
GstCvLaplace *filter = GST_CV_LAPLACE (trans);
- gint intermediary_depth;
- /* cvLaplace needs an signed output, so we create our intermediary step
- * image here */
- switch (out_depth) {
- case IPL_DEPTH_16U:
- intermediary_depth = IPL_DEPTH_16S;
- break;
- default:
- GST_WARNING_OBJECT (filter, "Unsupported output depth %d", out_depth);
- return FALSE;
- }
if (filter->intermediary_img) {
cvReleaseImage (&filter->intermediary_img);
}
- filter->intermediary_img = cvCreateImage (cvSize (out_width, out_height),
- intermediary_depth, out_channels);
+ filter->intermediary_img =
+ cvCreateImage (cvSize (out_width, out_height), IPL_DEPTH_16S, 1);
return TRUE;
}
-static GstCaps *
-gst_cv_laplace_transform_caps (GstBaseTransform * trans, GstPadDirection dir,
- GstCaps * caps, GstCaps * filter)
-{
- GstCaps *to, *ret;
- GstCaps *templ;
- GstStructure *structure;
- GstPad *other;
- guint i;
-
- to = gst_caps_new_empty ();
-
- for (i = 0; i < gst_caps_get_size (caps); i++) {
- const GValue *v;
- GValue list = { 0, };
- GValue val = { 0, };
-
- structure = gst_structure_copy (gst_caps_get_structure (caps, i));
-
- g_value_init (&list, GST_TYPE_LIST);
-
- g_value_init (&val, G_TYPE_STRING);
- g_value_set_string (&val, "GRAY8");
- gst_value_list_append_value (&list, &val);
- g_value_unset (&val);
-
- g_value_init (&val, G_TYPE_STRING);
-#if G_BYTE_ORDER == G_BIG_ENDIAN
- g_value_set_string (&val, "GRAY16_BE");
-#else
- g_value_set_string (&val, "GRAY16_LE");
-#endif
- gst_value_list_append_value (&list, &val);
- g_value_unset (&val);
-
- v = gst_structure_get_value (structure, "format");
-
- gst_value_list_merge (&val, v, &list);
- gst_structure_set_value (structure, "format", &val);
- g_value_unset (&val);
- g_value_unset (&list);
-
- gst_structure_remove_field (structure, "colorimetry");
- gst_structure_remove_field (structure, "chroma-site");
-
- gst_caps_append_structure (to, structure);
-
- }
-
- /* filter against set allowed caps on the pad */
- other = (dir == GST_PAD_SINK) ? trans->srcpad : trans->sinkpad;
- templ = gst_pad_get_pad_template_caps (other);
- ret = gst_caps_intersect (to, templ);
- gst_caps_unref (to);
- gst_caps_unref (templ);
-
- if (ret && filter) {
- GstCaps *intersection;
-
- intersection =
- gst_caps_intersect_full (filter, ret, GST_CAPS_INTERSECT_FIRST);
- gst_caps_unref (ret);
- ret = intersection;
- }
-
- return ret;
-
-}
-
static void
gst_cv_laplace_set_property (GObject * object, guint prop_id,
const GValue * value, GParamSpec * pspec)
@@ -308,6 +230,9 @@
case PROP_SHIFT:
filter->shift = g_value_get_double (value);
break;
+ case PROP_MASK:
+ filter->mask = g_value_get_boolean (value);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -330,24 +255,85 @@
case PROP_SHIFT:
g_value_set_double (value, filter->shift);
break;
+ case PROP_MASK:
+ g_value_set_boolean (value, filter->mask);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
+static gboolean
+gst_cv_laplace_handle_sink_event (GstPad * pad, GstObject * parent,
+ GstEvent * event)
+{
+ GstCvLaplace *filter;
+ gint width, height;
+ GstStructure *structure;
+ gboolean res = TRUE;
+
+ filter = GST_CV_LAPLACE (parent);
+
+ switch (GST_EVENT_TYPE (event)) {
+ case GST_EVENT_CAPS:
+ {
+ GstCaps *caps;
+ gst_event_parse_caps (event, &caps);
+
+ structure = gst_caps_get_structure (caps, 0);
+ gst_structure_get_int (structure, "width", &width);
+ gst_structure_get_int (structure, "height", &height);
+
+ if (filter->intermediary_img != NULL) {
+ cvReleaseImage (&filter->intermediary_img);
+ cvReleaseImage (&filter->CLaplace);
+ cvReleaseImage (&filter->cvGray);
+ cvReleaseImage (&filter->Laplace);
+ }
+
+ filter->CLaplace =
+ cvCreateImage (cvSize (width, height), IPL_DEPTH_8U, 3);
+ filter->intermediary_img =
+ cvCreateImage (cvSize (width, height), IPL_DEPTH_16S, 1);
+ filter->cvGray = cvCreateImage (cvSize (width, height), IPL_DEPTH_8U, 1);
+ filter->Laplace = cvCreateImage (cvSize (width, height), IPL_DEPTH_8U, 1);
+ break;
+ }
+ default:
+ break;
+ }
+
+ res = gst_pad_event_default (pad, parent, event);
+
+ return res;
+}
+
static GstFlowReturn
gst_cv_laplace_transform (GstOpencvVideoFilter * base, GstBuffer * buf,
IplImage * img, GstBuffer * outbuf, IplImage * outimg)
{
GstCvLaplace *filter = GST_CV_LAPLACE (base);
+ GstMapInfo out_info;
g_assert (filter->intermediary_img);
- cvLaplace (img, filter->intermediary_img, filter->aperture_size);
- cvConvertScale (filter->intermediary_img, outimg, filter->scale,
+ cvCvtColor (img, filter->cvGray, CV_RGB2GRAY);
+ cvLaplace (filter->cvGray, filter->intermediary_img, filter->aperture_size);
+ cvConvertScale (filter->intermediary_img, filter->Laplace, filter->scale,
filter->shift);
+ cvZero (filter->CLaplace);
+ if (filter->mask) {
+ cvCopy (img, filter->CLaplace, filter->Laplace);
+ } else {
+ cvCvtColor (filter->Laplace, filter->CLaplace, CV_GRAY2RGB);
+ }
+
+ gst_buffer_map (outbuf, &out_info, GST_MAP_WRITE);
+ memcpy (out_info.data, filter->CLaplace->imageData,
+ gst_buffer_get_size (outbuf));
+
return GST_FLOW_OK;
}
diff --git a/ext/opencv/gstcvlaplace.h b/ext/opencv/gstcvlaplace.h
index 7ac9172..82f237f 100644
--- a/ext/opencv/gstcvlaplace.h
+++ b/ext/opencv/gstcvlaplace.h
@@ -70,8 +70,12 @@
gint aperture_size;
gdouble scale;
gdouble shift;
+ gboolean mask;
IplImage *intermediary_img;
+ IplImage *cvGray;
+ IplImage *Laplace;
+ IplImage *CLaplace;
};
struct _GstCvLaplaceClass
diff --git a/ext/opencv/gstcvsmooth.cpp b/ext/opencv/gstcvsmooth.cpp
index 648bfec..8715736 100644
--- a/ext/opencv/gstcvsmooth.cpp
+++ b/ext/opencv/gstcvsmooth.cpp
@@ -128,8 +128,6 @@
static GstFlowReturn gst_cv_smooth_transform_ip (GstOpencvVideoFilter *
filter, GstBuffer * buf, IplImage * img);
-static GstFlowReturn gst_cv_smooth_transform (GstOpencvVideoFilter * filter,
- GstBuffer * buf, IplImage * img, GstBuffer * outbuf, IplImage * outimg);
/* initialize the cvsmooth's class */
static void
@@ -148,7 +146,6 @@
gobject_class->get_property = gst_cv_smooth_get_property;
gstopencvbasefilter_class->cv_trans_ip_func = gst_cv_smooth_transform_ip;
- gstopencvbasefilter_class->cv_trans_func = gst_cv_smooth_transform;
g_object_class_install_property (gobject_class, PROP_SMOOTH_TYPE,
g_param_spec_enum ("type",
@@ -216,7 +213,7 @@
filter->spatialsigma = DEFAULT_SPATIALSIGMA;
gst_opencv_video_filter_set_in_place (GST_OPENCV_VIDEO_FILTER_CAST (filter),
- FALSE);
+ TRUE);
}
static void
@@ -313,34 +310,6 @@
}
static GstFlowReturn
-gst_cv_smooth_transform (GstOpencvVideoFilter * base, GstBuffer * buf,
- IplImage * img, GstBuffer * outbuf, IplImage * outimg)
-{
- GstCvSmooth *filter = GST_CV_SMOOTH (base);
-
- switch (filter->type) {
- case CV_BLUR:
- blur (Mat (img), Mat (outimg), Size (filter->width, filter->height),
- Point (-1, -1));
- break;
- case CV_GAUSSIAN:
- GaussianBlur (Mat (img), Mat (outimg), Size (filter->width,
- filter->height), filter->colorsigma, filter->colorsigma);
- break;
- case CV_MEDIAN:
- medianBlur (Mat (img), Mat (outimg), filter->width);
- break;
- case CV_BILATERAL:
- bilateralFilter (Mat (img), Mat (outimg), -1, filter->colorsigma, 0.0);
- break;
- default:
- break;
- }
-
- return GST_FLOW_OK;
-}
-
-static GstFlowReturn
gst_cv_smooth_transform_ip (GstOpencvVideoFilter * base, GstBuffer * buf,
IplImage * img)
{
diff --git a/ext/opencv/gstcvsobel.cpp b/ext/opencv/gstcvsobel.cpp
index f1f6750..d5c9ef7 100644
--- a/ext/opencv/gstcvsobel.cpp
+++ b/ext/opencv/gstcvsobel.cpp
@@ -67,23 +67,14 @@
static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_SINK,
GST_PAD_ALWAYS,
- GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("GRAY8"))
+ GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("RGB"))
);
-
-#if G_BYTE_ORDER == G_BIG_ENDIAN
static GstStaticPadTemplate src_factory = GST_STATIC_PAD_TEMPLATE ("src",
GST_PAD_SRC,
GST_PAD_ALWAYS,
- GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("GRAY16_BE"))
+ GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("RGB"))
);
-#else
-static GstStaticPadTemplate src_factory = GST_STATIC_PAD_TEMPLATE ("src",
- GST_PAD_SRC,
- GST_PAD_ALWAYS,
- GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("GRAY16_LE"))
- );
-#endif
/* Filter signals and args */
enum
@@ -96,12 +87,14 @@
PROP_0,
PROP_X_ORDER,
PROP_Y_ORDER,
- PROP_APERTURE_SIZE
+ PROP_APERTURE_SIZE,
+ PROP_MASK
};
#define DEFAULT_X_ORDER 1
#define DEFAULT_Y_ORDER 0
#define DEFAULT_APERTURE_SIZE 3
+#define DEFAULT_MASK TRUE
G_DEFINE_TYPE (GstCvSobel, gst_cv_sobel, GST_TYPE_OPENCV_VIDEO_FILTER);
@@ -110,31 +103,46 @@
static void gst_cv_sobel_get_property (GObject * object, guint prop_id,
GValue * value, GParamSpec * pspec);
-static GstCaps *gst_cv_sobel_transform_caps (GstBaseTransform * trans,
- GstPadDirection dir, GstCaps * caps, GstCaps * filter);
-
+static gboolean gst_cv_sobel_handle_sink_event (GstPad * pad,
+ GstObject * parent, GstEvent * event);
static GstFlowReturn gst_cv_sobel_transform (GstOpencvVideoFilter * filter,
GstBuffer * buf, IplImage * img, GstBuffer * outbuf, IplImage * outimg);
+static gboolean gst_cv_sobel_set_caps (GstOpencvVideoFilter * transform,
+ gint in_width, gint in_height, gint in_depth, gint in_channels,
+ gint out_width, gint out_height, gint out_depth, gint out_channels);
+
+/* Clean up */
+static void
+gst_cv_sobel_finalize (GObject * obj)
+{
+ GstCvSobel *filter = GST_CV_SOBEL (obj);
+
+ if (filter->cvSobel != NULL) {
+ cvReleaseImage (&filter->cvCSobel);
+ cvReleaseImage (&filter->cvGray);
+ cvReleaseImage (&filter->cvSobel);
+ }
+
+ G_OBJECT_CLASS (gst_cv_sobel_parent_class)->finalize (obj);
+}
/* initialize the cvsobel's class */
static void
gst_cv_sobel_class_init (GstCvSobelClass * klass)
{
GObjectClass *gobject_class;
- GstBaseTransformClass *gstbasetransform_class;
GstOpencvVideoFilterClass *gstopencvbasefilter_class;
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gobject_class = (GObjectClass *) klass;
- gstbasetransform_class = (GstBaseTransformClass *) klass;
gstopencvbasefilter_class = (GstOpencvVideoFilterClass *) klass;
+ gobject_class->finalize = GST_DEBUG_FUNCPTR (gst_cv_sobel_finalize);
gobject_class->set_property = gst_cv_sobel_set_property;
gobject_class->get_property = gst_cv_sobel_get_property;
- gstbasetransform_class->transform_caps = gst_cv_sobel_transform_caps;
-
gstopencvbasefilter_class->cv_trans_func = gst_cv_sobel_transform;
+ gstopencvbasefilter_class->cv_set_caps = gst_cv_sobel_set_caps;
g_object_class_install_property (gobject_class, PROP_X_ORDER,
g_param_spec_int ("x-order", "x order",
@@ -150,6 +158,10 @@
"Size of the extended Sobel Kernel (1, 3, 5 or 7)", 1, 7,
DEFAULT_APERTURE_SIZE,
(GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
+ g_object_class_install_property (gobject_class, PROP_MASK,
+ g_param_spec_boolean ("mask", "Mask",
+ "Sets whether the detected derivative edges should be used as a mask on the original input or not",
+ DEFAULT_MASK, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
gst_element_class_add_pad_template (element_class,
gst_static_pad_template_get (&src_factory));
@@ -166,79 +178,74 @@
static void
gst_cv_sobel_init (GstCvSobel * filter)
{
+ gst_pad_set_event_function (GST_BASE_TRANSFORM_SINK_PAD (filter),
+ GST_DEBUG_FUNCPTR (gst_cv_sobel_handle_sink_event));
+
filter->x_order = DEFAULT_X_ORDER;
filter->y_order = DEFAULT_Y_ORDER;
filter->aperture_size = DEFAULT_APERTURE_SIZE;
+ filter->mask = DEFAULT_MASK;
gst_opencv_video_filter_set_in_place (GST_OPENCV_VIDEO_FILTER_CAST (filter),
FALSE);
}
-static GstCaps *
-gst_cv_sobel_transform_caps (GstBaseTransform * trans, GstPadDirection dir,
- GstCaps * caps, GstCaps * filter)
+/* this function handles the link with other elements */
+static gboolean
+gst_cv_sobel_set_caps (GstOpencvVideoFilter * transform,
+ gint in_width, gint in_height, gint in_depth, gint in_channels,
+ gint out_width, gint out_height, gint out_depth, gint out_channels)
{
- GstCaps *to, *ret;
- GstCaps *templ;
+ GstCvSobel *filter = GST_CV_SOBEL (transform);
+
+ if (filter->cvGray)
+ cvReleaseImage (&filter->cvGray);
+
+ filter->cvGray =
+ cvCreateImage (cvSize (in_width, in_height), IPL_DEPTH_8U, 1);
+
+ return TRUE;
+}
+
+static gboolean
+gst_cv_sobel_handle_sink_event (GstPad * pad, GstObject * parent,
+ GstEvent * event)
+{
+ GstCvSobel *filter;
+ gint width, height;
GstStructure *structure;
- GstPad *other;
- guint i;
+ gboolean res = TRUE;
- to = gst_caps_new_empty ();
+ filter = GST_CV_SOBEL (parent);
- for (i = 0; i < gst_caps_get_size (caps); i++) {
- const GValue *v;
- GValue list = { 0, };
- GValue val = { 0, };
+ switch (GST_EVENT_TYPE (event)) {
+ case GST_EVENT_CAPS:
+ {
+ GstCaps *caps;
+ gst_event_parse_caps (event, &caps);
- structure = gst_structure_copy (gst_caps_get_structure (caps, i));
+ structure = gst_caps_get_structure (caps, 0);
+ gst_structure_get_int (structure, "width", &width);
+ gst_structure_get_int (structure, "height", &height);
- g_value_init (&list, GST_TYPE_LIST);
+ if (filter->cvSobel != NULL) {
+ cvReleaseImage (&filter->cvCSobel);
+ cvReleaseImage (&filter->cvGray);
+ cvReleaseImage (&filter->cvSobel);
+ }
- g_value_init (&val, G_TYPE_STRING);
- g_value_set_string (&val, "GRAY8");
- gst_value_list_append_value (&list, &val);
- g_value_unset (&val);
-
- g_value_init (&val, G_TYPE_STRING);
-#if G_BYTE_ORDER == G_BIG_ENDIAN
- g_value_set_string (&val, "GRAY16_BE");
-#else
- g_value_set_string (&val, "GRAY16_LE");
-#endif
- gst_value_list_append_value (&list, &val);
- g_value_unset (&val);
-
- v = gst_structure_get_value (structure, "format");
-
- gst_value_list_merge (&val, v, &list);
- gst_structure_set_value (structure, "format", &val);
- g_value_unset (&val);
- g_value_unset (&list);
-
- gst_structure_remove_field (structure, "colorimetry");
- gst_structure_remove_field (structure, "chroma-site");
-
- gst_caps_append_structure (to, structure);
-
- }
- /* filter against set allowed caps on the pad */
- other = (dir == GST_PAD_SINK) ? trans->srcpad : trans->sinkpad;
- templ = gst_pad_get_pad_template_caps (other);
- ret = gst_caps_intersect (to, templ);
- gst_caps_unref (to);
- gst_caps_unref (templ);
-
- if (ret && filter) {
- GstCaps *intersection;
-
- intersection =
- gst_caps_intersect_full (filter, ret, GST_CAPS_INTERSECT_FIRST);
- gst_caps_unref (ret);
- ret = intersection;
+ filter->cvCSobel = cvCreateImage (cvSize (width, height), IPL_DEPTH_8U, 3);
+ filter->cvGray = cvCreateImage (cvSize (width, height), IPL_DEPTH_8U, 1);
+ filter->cvSobel = cvCreateImage (cvSize (width, height), IPL_DEPTH_8U, 1);
+ break;
+ }
+ default:
+ break;
}
- return ret;
+ res = gst_pad_event_default (pad, parent, event);
+
+ return res;
}
static void
@@ -263,6 +270,9 @@
filter->aperture_size = g_value_get_int (value);
}
break;
+ case PROP_MASK:
+ filter->mask = g_value_get_boolean (value);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -285,6 +295,9 @@
case PROP_APERTURE_SIZE:
g_value_set_int (value, filter->aperture_size);
break;
+ case PROP_MASK:
+ g_value_set_boolean (value, filter->mask);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -296,10 +309,23 @@
IplImage * img, GstBuffer * outbuf, IplImage * outimg)
{
GstCvSobel *filter = GST_CV_SOBEL (base);
+ GstMapInfo out_info;
- cvSobel (img, outimg, filter->x_order, filter->y_order,
+ cvCvtColor (img, filter->cvGray, CV_RGB2GRAY);
+ cvSobel (filter->cvGray, filter->cvSobel, filter->x_order, filter->y_order,
filter->aperture_size);
+ cvZero (filter->cvCSobel);
+ if (filter->mask) {
+ cvCopy (img, filter->cvCSobel, filter->cvSobel);
+ } else {
+ cvCvtColor (filter->cvSobel, filter->cvCSobel, CV_GRAY2RGB);
+ }
+
+ gst_buffer_map (outbuf, &out_info, GST_MAP_WRITE);
+ memcpy (out_info.data, filter->cvCSobel->imageData,
+ gst_buffer_get_size (outbuf));
+
return GST_FLOW_OK;
}
diff --git a/ext/opencv/gstcvsobel.h b/ext/opencv/gstcvsobel.h
index a7f306a..62cabab 100644
--- a/ext/opencv/gstcvsobel.h
+++ b/ext/opencv/gstcvsobel.h
@@ -70,6 +70,11 @@
gint x_order;
gint y_order;
gint aperture_size;
+ gboolean mask;
+
+ IplImage *cvCSobel;
+ IplImage *cvGray;
+ IplImage *cvSobel;
};
struct _GstCvSobelClass
diff --git a/ext/opencv/gstmotioncells.cpp b/ext/opencv/gstmotioncells.cpp
index a3290f7..e1d412f 100644
--- a/ext/opencv/gstmotioncells.cpp
+++ b/ext/opencv/gstmotioncells.cpp
@@ -1,5 +1,5 @@
/*
- * GStreamer MotioCells detect areas of motion
+ * GStreamer MotionCells detect areas of motion
* Copyright (C) 2011 Robert Jobbagy <jobbagy.robert@gmail.com>
* Copyright (C) 2011 Nicola Murino <nicola.murino@gmail.com>
*
@@ -204,52 +204,55 @@
g_object_class_install_property (gobject_class, PROP_GRID_X,
g_param_spec_int ("gridx", "Number of Horizontal Grids",
- "You can give number of horizontal grid cells.", GRID_MIN, GRID_MAX,
+ "Number of horizontal grid cells.", GRID_MIN, GRID_MAX,
GRID_DEF,
(GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
g_object_class_install_property (gobject_class, PROP_GRID_Y,
g_param_spec_int ("gridy", "Number of Vertical Grids",
- "You can give number of vertical grid cells.", GRID_MIN, GRID_MAX,
+ "Number of vertical grid cells.", GRID_MIN, GRID_MAX,
GRID_DEF,
(GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
g_object_class_install_property (gobject_class, PROP_SENSITIVITY,
g_param_spec_double ("sensitivity", "Motion Sensitivity",
- "You can tunning the element motion sensitivity.", SENSITIVITY_MIN,
+ "Motion detection sensitivity.", SENSITIVITY_MIN,
SENSITIVITY_MAX, SENSITIVITY_DEFAULT,
(GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
g_object_class_install_property (gobject_class, PROP_THRESHOLD,
g_param_spec_double ("threshold", "Lower bound of motion cells number",
- "Threshold value for motion, when motion cells number greater sum cells * threshold, we show motion.",
+ "Threshold value for motion. Filter detects motion when at least "
+ "this fraction of the cells have moved",
THRESHOLD_MIN, THRESHOLD_MAX, THRESHOLD_DEFAULT,
(GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
g_object_class_install_property (gobject_class, PROP_GAP,
- g_param_spec_int ("gap",
- "Gap is time in second, elapsed time from last motion timestamp. ",
- "If elapsed time minus form last motion timestamp is greater or equal than gap then we post motion finished bus message. ",
+ g_param_spec_int ("gap", "Motion-finished Threshold",
+ "Interval in seconds after which motion is considered finished "
+ "and a motion finished bus message is posted.",
GAP_MIN, GAP_MAX, GAP_DEF,
(GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
g_object_class_install_property (gobject_class, PROP_POSTNOMOTION,
- g_param_spec_int ("postnomotion", "POSTNOMOTION",
- "If non 0 post a no_motion event is posted on the bus if no motion is detected for N seconds",
+ g_param_spec_int ("postnomotion", "No-motion Threshold",
+ "If non 0, post a no_motion event on the bus if no motion is "
+ "detected for the given number of seconds",
POST_NO_MOTION_MIN, POST_NO_MOTION_MAX, POST_NO_MOTION_DEF,
(GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
g_object_class_install_property (gobject_class, PROP_MINIMUNMOTIONFRAMES,
- g_param_spec_int ("minimummotionframes", "MINIMUN MOTION FRAMES",
- "Define the minimum number of motion frames that trigger a motion event",
+ g_param_spec_int ("minimummotionframes", "Minimum Motion Frames",
+ "Minimum number of motion frames triggering a motion event",
MINIMUM_MOTION_FRAMES_MIN, MINIMUM_MOTION_FRAMES_MAX,
MINIMUM_MOTION_FRAMES_DEF,
(GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
g_object_class_install_property (gobject_class, PROP_DISPLAY,
g_param_spec_boolean ("display", "Display",
- "Motion Cells visible or not on Current Frame", FALSE,
+ "Toggle display of motion cells on current frame", FALSE,
(GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
g_object_class_install_property (gobject_class, PROP_POSTALLMOTION,
g_param_spec_boolean ("postallmotion", "Post All Motion",
- "Element post bus msg for every motion frame or just motion start and motion stop",
+ "Post bus messages for every motion frame or just motion start and "
+ "motion stop",
FALSE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
g_object_class_install_property (gobject_class, PROP_USEALPHA,
g_param_spec_boolean ("usealpha", "Use alpha",
- "Use or not alpha blending on frames with motion cells", TRUE,
+ "Toggle usage of alpha blending on frames with motion cells", TRUE,
(GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
#if 0
/* FIXME: should not be a long property, make it either gint or gint64
@@ -269,31 +272,33 @@
(GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
g_object_class_install_property (gobject_class, PROP_MOTIONMASKCOORD,
g_param_spec_string ("motionmaskcoords", "Motion Mask with Coordinates",
- "The upper left x, y and lower right x, y coordinates separated with \":\", "
- "describe a region. Regions separated with \",\"", NULL,
+ "Describe a region with its upper left and lower right x, y "
+ "coordinates separated with \":\". Pass multiple regions as a "
+ "comma-separated list", NULL,
(GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
g_object_class_install_property (gobject_class, PROP_MOTIONMASKCELLSPOS,
g_param_spec_string ("motionmaskcellspos",
"Motion Mask with Cells Position",
- "The line and column idx separated with \":\" what cells want we mask-out, "
- "describe a cell. Cells separated with \",\"", NULL,
+ "Describe a cell with its line and column idx separated with \":\". "
+ "Pass multiple cells as a comma-separated list", NULL,
(GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
g_object_class_install_property (gobject_class, PROP_CELLSCOLOR,
g_param_spec_string ("cellscolor", "Color of Motion Cells",
- "The color of motion cells separated with \",\"", "255,255,0",
+ "Color for motion cells in R,G,B format. Max per channel is 255",
+ "255,255,0",
(GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
g_object_class_install_property (gobject_class, PROP_MOTIONCELLSIDX,
g_param_spec_string ("motioncellsidx", "Motion Cells Of Interest(MOCI)",
- "The line and column idx separated with \":\", "
- "describe a cell. Cells separated with \",\"", NULL,
+ "Describe a cell with its line and column idx separated with \":\". "
+ "Pass multiple cells as a comma-separated list", NULL,
(GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
g_object_class_install_property (gobject_class, PROP_CALCULATEMOTION,
g_param_spec_boolean ("calculatemotion", "Calculate Motion",
- "If needs calculate motion on frame you need this property setting true otherwise false",
+ "Toggles motion calculation. If FALSE, this filter does nothing",
TRUE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
g_object_class_install_property (gobject_class, PROP_MOTIONCELLTHICKNESS,
g_param_spec_int ("motioncellthickness", "Motion Cell Thickness",
- "Motion Cell Border Thickness, if it's -1 then motion cell will be fill",
+ "Motion Cell Border Thickness. Set to -1 to fill motion cell",
THICKNESS_MIN, THICKNESS_MAX, THICKNESS_DEF,
(GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
@@ -331,9 +336,9 @@
filter->postnomotion = POST_NO_MOTION_DEF;
filter->minimum_motion_frames = MINIMUM_MOTION_FRAMES_DEF;
- filter->prev_datafile = g_strdup (NULL);
- filter->cur_datafile = g_strdup (NULL);
- filter->basename_datafile = g_strdup (NULL);
+ filter->prev_datafile = NULL;
+ filter->cur_datafile = NULL;
+ filter->basename_datafile = NULL;
filter->datafile_extension = g_strdup (DEF_DATAFILEEXT);
filter->sensitivity = SENSITIVITY_DEFAULT;
filter->threshold = THRESHOLD_DEFAULT;
@@ -451,7 +456,7 @@
filter->basename_datafile = g_value_dup_string (value);
if (strlen (filter->basename_datafile) == 0) {
- filter->cur_datafile = g_strdup (NULL);
+ filter->cur_datafile = NULL;
break;
}
filter->cur_datafile =
@@ -536,10 +541,13 @@
tmply = -1;
break;
case PROP_CELLSCOLOR:
- colorstr = g_strsplit (g_value_get_string (value), ",", 255);
+ colorstr = g_strsplit (g_value_get_string (value), ",", 4);
for (cellscolorscnt = 0; colorstr[cellscolorscnt] != NULL;
++cellscolorscnt);
- if (cellscolorscnt == 3) {
+ if (cellscolorscnt != 3) {
+ GST_WARNING_OBJECT (filter, "Ignoring badly-formatted cellscolor RGB "
+ "string");
+ } else {
sscanf (colorstr[0], "%d", &r);
sscanf (colorstr[1], "%d", &g);
sscanf (colorstr[2], "%d", &b);
@@ -1077,7 +1085,7 @@
GFREE (motionmaskcellsidx);
GFREE (motioncellsidx);
} else {
- GST_WARNING_OBJECT (filter, "error mapping input buffer");
+ GST_WARNING_OBJECT (filter, "Motion detection disabled");
GST_OBJECT_UNLOCK (filter);
}
return GST_FLOW_OK;
diff --git a/ext/opencv/gstpyramidsegment.cpp b/ext/opencv/gstpyramidsegment.cpp
index 0c9f1e9..d8247c0 100644
--- a/ext/opencv/gstpyramidsegment.cpp
+++ b/ext/opencv/gstpyramidsegment.cpp
@@ -108,8 +108,8 @@
static void gst_pyramid_segment_get_property (GObject * object, guint prop_id,
GValue * value, GParamSpec * pspec);
-static GstFlowReturn gst_pyramid_segment_transform (GstOpencvVideoFilter * base,
- GstBuffer * buf, IplImage * img, GstBuffer * outbuf, IplImage * outimg);
+static GstFlowReturn gst_pyramid_segment_transform_ip (GstOpencvVideoFilter *
+ base, GstBuffer * buf, IplImage * img);
/* Clean up */
static void
@@ -137,7 +137,8 @@
gobject_class->set_property = gst_pyramid_segment_set_property;
gobject_class->get_property = gst_pyramid_segment_get_property;
- gstopencvbasefilter_class->cv_trans_func = gst_pyramid_segment_transform;
+ gstopencvbasefilter_class->cv_trans_ip_func =
+ gst_pyramid_segment_transform_ip;
g_object_class_install_property (gobject_class, PROP_SILENT,
g_param_spec_boolean ("silent", "Silent", "Produce verbose output ?",
@@ -187,7 +188,7 @@
filter->level = 4;
gst_opencv_video_filter_set_in_place (GST_OPENCV_VIDEO_FILTER_CAST (filter),
- FALSE);
+ TRUE);
}
static void
@@ -244,27 +245,14 @@
* this function does the actual processing
*/
static GstFlowReturn
-gst_pyramid_segment_transform (GstOpencvVideoFilter * base, GstBuffer * buf,
- IplImage * img, GstBuffer * outbuf, IplImage * outimg)
+gst_pyramid_segment_transform_ip (GstOpencvVideoFilter * base, GstBuffer * buf,
+ IplImage * img)
{
GstPyramidSegment *filter = GST_PYRAMID_SEGMENT (base);
- GstMapInfo outinfo;
- filter->cvSegmentedImage = cvCloneImage (img);
-
- cvPyrSegmentation (img, filter->cvSegmentedImage, filter->storage,
+ cvPyrSegmentation (img, img, filter->storage,
&(filter->comp), filter->level, filter->threshold1, filter->threshold2);
- /* TODO look if there is a way in opencv to reuse the image data and
- * delete only the struct headers. Would avoid a memcpy here */
-
- gst_buffer_map (outbuf, &outinfo, GST_MAP_WRITE);
- memcpy (outinfo.data, filter->cvSegmentedImage->imageData,
- gst_buffer_get_size (outbuf));
-
- cvReleaseImage (&filter->cvSegmentedImage);
- g_assert (filter->cvSegmentedImage == NULL);
-
return GST_FLOW_OK;
}
diff --git a/ext/opencv/gstpyramidsegment.h b/ext/opencv/gstpyramidsegment.h
index bb87253..e715766 100644
--- a/ext/opencv/gstpyramidsegment.h
+++ b/ext/opencv/gstpyramidsegment.h
@@ -48,10 +48,7 @@
#include <gstopencvvideofilter.h>
#include <opencv2/core/version.hpp>
-
-#if CV_MAJOR_VERSION * 100 + CV_MINOR_VERSION >= 204
#include <opencv2/legacy/legacy.hpp>
-#endif
G_BEGIN_DECLS
/* #defines don't like whitespacey bits */
@@ -77,8 +74,6 @@
gboolean silent;
- IplImage *cvSegmentedImage;
-
CvMemStorage *storage;
CvSeq *comp;
diff --git a/ext/opencv/gstskindetect.cpp b/ext/opencv/gstskindetect.cpp
index 8ecb044..aade23c 100644
--- a/ext/opencv/gstskindetect.cpp
+++ b/ext/opencv/gstskindetect.cpp
@@ -314,15 +314,13 @@
{
GstSkinDetect *filter = GST_SKIN_DETECT (base);
-
-
filter->cvRGB->imageData = (char *) img->imageData;
filter->cvSkin->imageData = (char *) outimg->imageData;
/* SKIN COLOUR BLOB DETECTION */
if (HSV == filter->method) {
cvCvtColor (filter->cvRGB, filter->cvHSV, CV_RGB2HSV);
- cvCvtPixToPlane (filter->cvHSV, filter->cvH, filter->cvS, filter->cvV, 0); /* Extract the 3 color components. */
+ cvSplit (filter->cvHSV, filter->cvH, filter->cvS, filter->cvV, 0); /* Extract the 3 color components. */
/* Detect which pixels in each of the H, S and V channels are probably skin pixels.
Assume that skin has a Hue between 0 to 18 (out of 180), and Saturation above 50, and Brightness above 80. */
diff --git a/ext/openexr/Makefile.in b/ext/openexr/Makefile.in
index 8b8d9fb..71abb32 100644
--- a/ext/openexr/Makefile.in
+++ b/ext/openexr/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -343,7 +342,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -365,7 +363,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -387,9 +384,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -551,6 +545,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -564,8 +559,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -652,8 +645,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -705,6 +696,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -725,6 +717,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -762,7 +756,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/openh264/Makefile.in b/ext/openh264/Makefile.in
index c72ede9..18316c1 100644
--- a/ext/openh264/Makefile.in
+++ b/ext/openh264/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -343,7 +342,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -365,7 +363,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -387,9 +384,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -551,6 +545,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -564,8 +559,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -652,8 +645,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -705,6 +696,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -725,6 +717,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -762,7 +756,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/openjpeg/Makefile.in b/ext/openjpeg/Makefile.in
index ccd7ade..d37771a 100644
--- a/ext/openjpeg/Makefile.in
+++ b/ext/openjpeg/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -325,7 +324,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +345,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +366,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +527,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +541,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +627,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +678,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +699,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +738,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/openni2/Makefile.in b/ext/openni2/Makefile.in
index 5a1f905..4027595 100644
--- a/ext/openni2/Makefile.in
+++ b/ext/openni2/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/opus/Makefile.in b/ext/opus/Makefile.in
index 50ffa36..c0f3f40 100644
--- a/ext/opus/Makefile.in
+++ b/ext/opus/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -328,7 +327,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -350,7 +348,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -372,9 +369,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -536,6 +530,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -549,8 +544,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -637,8 +630,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -690,6 +681,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -710,6 +702,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -747,7 +741,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/opus/gstopusdec.c b/ext/opus/gstopusdec.c
index f2512d1..1470ea3 100644
--- a/ext/opus/gstopusdec.c
+++ b/ext/opus/gstopusdec.c
@@ -133,8 +133,8 @@
"Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>");
g_object_class_install_property (gobject_class, PROP_USE_INBAND_FEC,
g_param_spec_boolean ("use-inband-fec", "Use in-band FEC",
- "Use forward error correction if available", DEFAULT_USE_INBAND_FEC,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ "Use forward error correction if available (needs PLC enabled)",
+ DEFAULT_USE_INBAND_FEC, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class, PROP_APPLY_GAIN,
g_param_spec_boolean ("apply-gain", "Apply gain",
@@ -367,7 +367,7 @@
GstFlowReturn res = GST_FLOW_OK;
gsize size;
guint8 *data;
- GstBuffer *outbuf;
+ GstBuffer *outbuf, *bufd;
gint16 *out_data;
int n, err;
int samples;
@@ -429,6 +429,9 @@
&& gst_buffer_get_size (dec->last_buffer) >
0) ? dec->last_buffer : buffer;
+ /* That's the buffer we get duration from */
+ bufd = dec->use_inband_fec ? dec->last_buffer : buffer;
+
if (buf && gst_buffer_get_size (buf) > 0) {
gst_buffer_map (buf, &map, GST_MAP_READ);
data = map.data;
@@ -441,10 +444,10 @@
size = 0;
}
- if (gst_buffer_get_size (buffer) == 0) {
+ if (gst_buffer_get_size (bufd) == 0) {
GstClockTime const opus_plc_alignment = 2500 * GST_USECOND;
GstClockTime aligned_missing_duration;
- GstClockTime missing_duration = GST_BUFFER_DURATION (buffer);
+ GstClockTime missing_duration = GST_BUFFER_DURATION (bufd);
GST_DEBUG_OBJECT (dec,
"missing buffer, doing PLC duration %" GST_TIME_FORMAT
@@ -455,9 +458,10 @@
missing_duration += dec->leftover_plc_duration;
/* align the combined buffer and leftover PLC duration to multiples
- * of 2.5ms, always rounding down, and store excess duration for later */
+ * of 2.5ms, rounding to nearest, and store excess duration for later */
aligned_missing_duration =
- (missing_duration / opus_plc_alignment) * opus_plc_alignment;
+ ((missing_duration +
+ opus_plc_alignment / 2) / opus_plc_alignment) * opus_plc_alignment;
dec->leftover_plc_duration = missing_duration - aligned_missing_duration;
/* Opus' PLC cannot operate with less than 2.5ms; skip PLC
diff --git a/ext/qt/Makefile.in b/ext/qt/Makefile.in
index 3d700c0..b4293a5 100644
--- a/ext/qt/Makefile.in
+++ b/ext/qt/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -349,7 +348,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -371,7 +369,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -393,9 +390,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -557,6 +551,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -570,8 +565,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -658,8 +651,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -711,6 +702,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -731,6 +723,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -768,7 +762,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/qt/gstqtsink.cc b/ext/qt/gstqtsink.cc
index 6a25793..b6a6fa5 100644
--- a/ext/qt/gstqtsink.cc
+++ b/ext/qt/gstqtsink.cc
@@ -58,8 +58,12 @@
GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_SINK,
GST_PAD_ALWAYS,
- GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE_WITH_FEATURES
- (GST_CAPS_FEATURE_MEMORY_GL_MEMORY, "RGBA")));
+ GST_STATIC_CAPS ("video/x-raw(" GST_CAPS_FEATURE_MEMORY_GL_MEMORY "), "
+ "format = (string) RGBA, "
+ "width = " GST_VIDEO_SIZE_RANGE ", "
+ "height = " GST_VIDEO_SIZE_RANGE ", "
+ "framerate = " GST_VIDEO_FPS_RANGE ", "
+ "texture-target = (string) 2D"));
#define DEFAULT_FORCE_ASPECT_RATIO TRUE
#define DEFAULT_PAR_N 0
diff --git a/ext/qt/qtitem.cc b/ext/qt/qtitem.cc
index ca8e535..9dc058a 100644
--- a/ext/qt/qtitem.cc
+++ b/ext/qt/qtitem.cc
@@ -211,6 +211,7 @@
tex = static_cast<GstQSGTexture *> (texNode->texture());
tex->setCaps (this->priv->caps);
tex->setBuffer (this->priv->buffer);
+ texNode->markDirty(QSGNode::DirtyMaterial);
if (this->priv->force_aspect_ratio) {
src.w = this->priv->display_width;
diff --git a/ext/resindvd/Makefile.in b/ext/resindvd/Makefile.in
index 9df265f..09c023b 100644
--- a/ext/resindvd/Makefile.in
+++ b/ext/resindvd/Makefile.in
@@ -118,16 +118,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -333,7 +332,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -355,7 +353,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -377,9 +374,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -541,6 +535,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -554,8 +549,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -642,8 +635,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -695,6 +686,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -715,6 +707,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -752,7 +746,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/resindvd/resindvdbin.c b/ext/resindvd/resindvdbin.c
index bb33cd7..107f9d6 100644
--- a/ext/resindvd/resindvdbin.c
+++ b/ext/resindvd/resindvdbin.c
@@ -32,7 +32,6 @@
#include "resindvdbin.h"
#include "resindvdsrc.h"
#include "rsninputselector.h"
-// #include "rsnaudiomunge.h"
#include "rsndec.h"
#include "rsnparsetter.h"
diff --git a/ext/rsvg/Makefile.in b/ext/rsvg/Makefile.in
index 3154ef9..210403a 100644
--- a/ext/rsvg/Makefile.in
+++ b/ext/rsvg/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -325,7 +324,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +345,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +366,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +527,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +541,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +627,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +678,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +699,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +738,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/rsvg/gstrsvgdec.h b/ext/rsvg/gstrsvgdec.h
index 8d7173b..3770020 100644
--- a/ext/rsvg/gstrsvgdec.h
+++ b/ext/rsvg/gstrsvgdec.h
@@ -27,9 +27,6 @@
#include <cairo/cairo.h>
#include <librsvg/rsvg.h>
-#ifndef HAVE_RSVG_2_36_2
-#include <librsvg/rsvg-cairo.h>
-#endif
G_BEGIN_DECLS
diff --git a/ext/rsvg/gstrsvgoverlay.h b/ext/rsvg/gstrsvgoverlay.h
index 151d094..9cd00fa 100644
--- a/ext/rsvg/gstrsvgoverlay.h
+++ b/ext/rsvg/gstrsvgoverlay.h
@@ -21,9 +21,6 @@
#define __GST_RSVG_OVERLAY_H__
#include <librsvg/rsvg.h>
-#ifndef HAVE_RSVG_2_36_2
-#include <librsvg/rsvg-cairo.h>
-#endif
#include <gst/gst.h>
#include <gst/video/video.h>
#include <gst/video/gstvideofilter.h>
diff --git a/ext/rtmp/Makefile.in b/ext/rtmp/Makefile.in
index 43cdb8b..d99969a 100644
--- a/ext/rtmp/Makefile.in
+++ b/ext/rtmp/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -325,7 +324,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +345,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +366,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +527,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +541,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +627,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +678,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +699,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +738,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/rtmp/README b/ext/rtmp/README
index e9860a5..4f6e413 100644
--- a/ext/rtmp/README
+++ b/ext/rtmp/README
@@ -1,6 +1,6 @@
-rtmpsrc:
+rtmpsrc/sink:
-This plugin requires librtmp from http://rtmpdump.mplayerhq.hu/
+These plugins require librtmp from http://rtmpdump.mplayerhq.hu/
You have to build librtmp with -fPIC to be able to use it
with the GStreamer plugin: make XCFLAGS="-fPIC"
diff --git a/ext/rtmp/gstrtmp.c b/ext/rtmp/gstrtmp.c
index 76173f3..935304d 100644
--- a/ext/rtmp/gstrtmp.c
+++ b/ext/rtmp/gstrtmp.c
@@ -50,11 +50,17 @@
case RTMP_LOGWARNING:
gst_level = GST_LEVEL_WARNING;
break;
+ case RTMP_LOGINFO:
+ gst_level = GST_LEVEL_INFO;
+ break;
case RTMP_LOGDEBUG:
gst_level = GST_LEVEL_DEBUG;
break;
+ case RTMP_LOGDEBUG2:
+ gst_level = GST_LEVEL_LOG;
+ break;
default:
- gst_level = GST_LEVEL_INFO;
+ gst_level = GST_LEVEL_TRACE;
break;
}
@@ -68,14 +74,27 @@
RTMP_LogSetCallback (gst_rtmp_log_callback);
gst_level = gst_debug_category_get_threshold (rtmp_debug);
- if (gst_level >= GST_LEVEL_LOG)
- RTMP_LogSetLevel (RTMP_LOGALL);
- else if (gst_level >= GST_LEVEL_DEBUG)
- RTMP_LogSetLevel (RTMP_LOGDEBUG);
- else if (gst_level >= GST_LEVEL_INFO)
- RTMP_LogSetLevel (RTMP_LOGINFO);
- else if (gst_level >= GST_LEVEL_WARNING)
- RTMP_LogSetLevel (RTMP_LOGWARNING);
+
+ switch (gst_level) {
+ case GST_LEVEL_ERROR:
+ RTMP_LogSetLevel (RTMP_LOGERROR);
+ break;
+ case GST_LEVEL_WARNING:
+ case GST_LEVEL_FIXME:
+ RTMP_LogSetLevel (RTMP_LOGWARNING);
+ break;
+ case GST_LEVEL_INFO:
+ RTMP_LogSetLevel (RTMP_LOGINFO);
+ break;
+ case GST_LEVEL_DEBUG:
+ RTMP_LogSetLevel (RTMP_LOGDEBUG);
+ break;
+ case GST_LEVEL_LOG:
+ RTMP_LogSetLevel (RTMP_LOGDEBUG2);
+ break;
+ default: /* _TRACE and beyond */
+ RTMP_LogSetLevel (RTMP_LOGALL);
+ }
}
#endif
diff --git a/ext/rtmp/gstrtmpsink.c b/ext/rtmp/gstrtmpsink.c
index 095c6ef..781f3bf 100644
--- a/ext/rtmp/gstrtmpsink.c
+++ b/ext/rtmp/gstrtmpsink.c
@@ -76,6 +76,7 @@
static gboolean gst_rtmp_sink_stop (GstBaseSink * sink);
static gboolean gst_rtmp_sink_start (GstBaseSink * sink);
static gboolean gst_rtmp_sink_event (GstBaseSink * sink, GstEvent * event);
+static gboolean gst_rtmp_sink_setcaps (GstBaseSink * sink, GstCaps * caps);
static GstFlowReturn gst_rtmp_sink_render (GstBaseSink * sink, GstBuffer * buf);
#define gst_rtmp_sink_parent_class parent_class
@@ -114,7 +115,8 @@
gstbasesink_class->start = GST_DEBUG_FUNCPTR (gst_rtmp_sink_start);
gstbasesink_class->stop = GST_DEBUG_FUNCPTR (gst_rtmp_sink_stop);
gstbasesink_class->render = GST_DEBUG_FUNCPTR (gst_rtmp_sink_render);
- gstbasesink_class->event = gst_rtmp_sink_event;
+ gstbasesink_class->set_caps = GST_DEBUG_FUNCPTR (gst_rtmp_sink_setcaps);
+ gstbasesink_class->event = GST_DEBUG_FUNCPTR (gst_rtmp_sink_event);
GST_DEBUG_CATEGORY_INIT (gst_rtmp_sink_debug, "rtmpsink", 0,
"RTMP server element");
@@ -162,15 +164,17 @@
sink->rtmp_uri = g_strdup (sink->uri);
sink->rtmp = RTMP_Alloc ();
+
+ if (!sink->rtmp) {
+ GST_ERROR_OBJECT (sink, "Could not allocate librtmp's RTMP context");
+ goto error;
+ }
+
RTMP_Init (sink->rtmp);
if (!RTMP_SetupURL (sink->rtmp, sink->rtmp_uri)) {
GST_ELEMENT_ERROR (sink, RESOURCE, OPEN_WRITE, (NULL),
("Failed to setup URL '%s'", sink->uri));
- RTMP_Free (sink->rtmp);
- sink->rtmp = NULL;
- g_free (sink->rtmp_uri);
- sink->rtmp_uri = NULL;
- return FALSE;
+ goto error;
}
GST_DEBUG_OBJECT (sink, "Created RTMP object");
@@ -182,6 +186,15 @@
sink->have_write_error = FALSE;
return TRUE;
+
+error:
+ if (sink->rtmp) {
+ RTMP_Free (sink->rtmp);
+ sink->rtmp = NULL;
+ }
+ g_free (sink->rtmp_uri);
+ sink->rtmp_uri = NULL;
+ return FALSE;
}
static gboolean
@@ -189,8 +202,10 @@
{
GstRTMPSink *sink = GST_RTMP_SINK (basesink);
- gst_buffer_replace (&sink->cache, NULL);
-
+ if (sink->header) {
+ gst_buffer_unref (sink->header);
+ sink->header = NULL;
+ }
if (sink->rtmp) {
RTMP_Close (sink->rtmp);
RTMP_Free (sink->rtmp);
@@ -208,7 +223,7 @@
gst_rtmp_sink_render (GstBaseSink * bsink, GstBuffer * buf)
{
GstRTMPSink *sink = GST_RTMP_SINK (bsink);
- GstBuffer *reffed_buf = NULL;
+ gboolean need_unref = FALSE;
GstMapInfo map = GST_MAP_INFO_INIT;
if (sink->rtmp == NULL) {
@@ -217,6 +232,11 @@
return GST_FLOW_ERROR;
}
+ /* Ignore buffers that are in the stream headers (caps) */
+ if (GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_HEADER)) {
+ return GST_FLOW_OK;
+ }
+
if (sink->first) {
/* open the connection */
if (!RTMP_IsConnected (sink->rtmp)) {
@@ -234,21 +254,14 @@
GST_DEBUG_OBJECT (sink, "Opened connection to %s", sink->rtmp_uri);
}
- /* FIXME: Parse the first buffer and see if it contains a header plus a packet instead
- * of just assuming it's only the header */
- GST_LOG_OBJECT (sink, "Caching first buffer of size %" G_GSIZE_FORMAT
- " for concatenation", gst_buffer_get_size (buf));
- gst_buffer_replace (&sink->cache, buf);
- sink->first = FALSE;
- return GST_FLOW_OK;
- }
+ /* Prepend the header from the caps to the first non header buffer */
+ if (sink->header) {
+ buf = gst_buffer_append (gst_buffer_ref (sink->header),
+ gst_buffer_ref (buf));
+ need_unref = TRUE;
+ }
- if (sink->cache) {
- GST_LOG_OBJECT (sink, "Joining 2nd buffer of size %" G_GSIZE_FORMAT
- " to cached buf", gst_buffer_get_size (buf));
- gst_buffer_ref (buf);
- reffed_buf = buf = gst_buffer_append (sink->cache, buf);
- sink->cache = NULL;
+ sink->first = FALSE;
}
if (sink->have_write_error)
@@ -263,8 +276,8 @@
goto write_failed;
gst_buffer_unmap (buf, &map);
- if (reffed_buf)
- gst_buffer_unref (reffed_buf);
+ if (need_unref)
+ gst_buffer_unref (buf);
return GST_FLOW_OK;
@@ -273,8 +286,8 @@
{
GST_ELEMENT_ERROR (sink, RESOURCE, WRITE, (NULL), ("Failed to write data"));
gst_buffer_unmap (buf, &map);
- if (reffed_buf)
- gst_buffer_unref (reffed_buf);
+ if (need_unref)
+ gst_buffer_unref (buf);
sink->have_write_error = TRUE;
return GST_FLOW_ERROR;
}
@@ -381,6 +394,49 @@
}
static gboolean
+gst_rtmp_sink_setcaps (GstBaseSink * sink, GstCaps * caps)
+{
+ GstRTMPSink *rtmpsink = GST_RTMP_SINK (sink);
+ GstStructure *s;
+ const GValue *sh;
+ GArray *buffers;
+ gint i;
+
+ GST_DEBUG_OBJECT (sink, "caps set to %" GST_PTR_FORMAT, caps);
+
+ /* Clear our current header buffer */
+ if (rtmpsink->header) {
+ gst_buffer_unref (rtmpsink->header);
+ rtmpsink->header = NULL;
+ }
+
+ rtmpsink->header = gst_buffer_new ();
+
+ s = gst_caps_get_structure (caps, 0);
+
+ sh = gst_structure_get_value (s, "streamheader");
+ buffers = g_value_peek_pointer (sh);
+
+ /* Concatenate all buffers in streamheader into one */
+ for (i = 0; i < buffers->len; ++i) {
+ GValue *val;
+ GstBuffer *buf;
+
+ val = &g_array_index (buffers, GValue, i);
+ buf = g_value_peek_pointer (val);
+
+ gst_buffer_ref (buf);
+
+ rtmpsink->header = gst_buffer_append (rtmpsink->header, buf);
+ }
+
+ GST_DEBUG_OBJECT (rtmpsink, "have %" G_GSIZE_FORMAT " bytes of header data",
+ gst_buffer_get_size (rtmpsink->header));
+
+ return TRUE;
+}
+
+static gboolean
gst_rtmp_sink_event (GstBaseSink * sink, GstEvent * event)
{
GstRTMPSink *rtmpsink = GST_RTMP_SINK (sink);
diff --git a/ext/rtmp/gstrtmpsink.h b/ext/rtmp/gstrtmpsink.h
index 523f5ae..b9072f5 100644
--- a/ext/rtmp/gstrtmpsink.h
+++ b/ext/rtmp/gstrtmpsink.h
@@ -53,7 +53,7 @@
RTMP *rtmp;
gchar *rtmp_uri; /* copy of url for librtmp */
- GstBuffer *cache; /* Cached buffer */
+ GstBuffer *header;
gboolean first;
gboolean have_write_error;
};
diff --git a/ext/rtmp/gstrtmpsrc.c b/ext/rtmp/gstrtmpsrc.c
index 46918e7..02cbec1 100644
--- a/ext/rtmp/gstrtmpsrc.c
+++ b/ext/rtmp/gstrtmpsrc.c
@@ -575,13 +575,17 @@
src->discont = TRUE;
src->rtmp = RTMP_Alloc ();
+
+ if (!src->rtmp) {
+ GST_ERROR_OBJECT (src, "Could not allocate librtmp's RTMP context");
+ goto error;
+ }
+
RTMP_Init (src->rtmp);
if (!RTMP_SetupURL (src->rtmp, src->uri)) {
GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ, (NULL),
("Failed to setup URL '%s'", src->uri));
- RTMP_Free (src->rtmp);
- src->rtmp = NULL;
- return FALSE;
+ goto error;
}
src->seekable = !(src->rtmp->Link.lFlags & RTMP_LF_LIVE);
GST_INFO_OBJECT (src, "seekable %d", src->seekable);
@@ -591,13 +595,18 @@
if (!RTMP_Connect (src->rtmp, NULL)) {
GST_ELEMENT_ERROR (src, RESOURCE, OPEN_READ, (NULL),
("Could not connect to RTMP stream \"%s\" for reading", src->uri));
- RTMP_Free (src->rtmp);
- src->rtmp = NULL;
- return FALSE;
+ goto error;
}
}
return TRUE;
+
+error:
+ if (src->rtmp) {
+ RTMP_Free (src->rtmp);
+ src->rtmp = NULL;
+ }
+ return FALSE;
}
#undef STR2AVAL
diff --git a/ext/sbc/Makefile.in b/ext/sbc/Makefile.in
index b691b3e..1fbcab3 100644
--- a/ext/sbc/Makefile.in
+++ b/ext/sbc/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -325,7 +324,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +345,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +366,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +527,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +541,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +627,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +678,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +699,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +738,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/sbc/gstsbcdec.c b/ext/sbc/gstsbcdec.c
index 5031dd9..086fe1f 100644
--- a/ext/sbc/gstsbcdec.c
+++ b/ext/sbc/gstsbcdec.c
@@ -159,13 +159,13 @@
return FALSE;
if (strcmp (channel_mode, "mono") == 0) {
- dec->frame_len = 4 + (subbands * 1) / 2 + (blocks * 1 * bitpool) / 8;
+ dec->frame_len = 4 + (subbands * 1) / 2 + ((blocks * 1 * bitpool) + 7) / 8;
} else if (strcmp (channel_mode, "dual") == 0) {
- dec->frame_len = 4 + (subbands * 2) / 2 + (blocks * 2 * bitpool) / 8;
+ dec->frame_len = 4 + (subbands * 2) / 2 + ((blocks * 2 * bitpool) + 7) / 8;
} else if (strcmp (channel_mode, "stereo") == 0) {
- dec->frame_len = 4 + (subbands * 2) / 2 + (blocks * bitpool) / 8;
+ dec->frame_len = 4 + (subbands * 2) / 2 + ((blocks * bitpool) + 7) / 8;
} else if (strcmp (channel_mode, "joint") == 0) {
- dec->frame_len = 4 + (subbands * 2) / 2 + (subbands + blocks * bitpool) / 8;
+ dec->frame_len = 4 + (subbands * 2) / 2 + ((subbands + blocks * bitpool) + 7) / 8;
} else {
return FALSE;
}
diff --git a/ext/schroedinger/Makefile.in b/ext/schroedinger/Makefile.in
index f8f6d6c..6f99e31 100644
--- a/ext/schroedinger/Makefile.in
+++ b/ext/schroedinger/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -326,7 +325,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -348,7 +346,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -370,9 +367,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -534,6 +528,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -547,8 +542,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -635,8 +628,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -688,6 +679,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -708,6 +700,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -745,7 +739,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/sdl/Makefile.in b/ext/sdl/Makefile.in
index 25072e8..9aa7c90 100644
--- a/ext/sdl/Makefile.in
+++ b/ext/sdl/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/smoothstreaming/Makefile.am b/ext/smoothstreaming/Makefile.am
index 5f331f3..4faf9df 100644
--- a/ext/smoothstreaming/Makefile.am
+++ b/ext/smoothstreaming/Makefile.am
@@ -6,7 +6,6 @@
-DGST_USE_UNSTABLE_API $(LIBXML2_CFLAGS)
libgstsmoothstreaming_la_LIBADD = \
$(top_builddir)/gst-libs/gst/codecparsers/libgstcodecparsers-$(GST_API_VERSION).la \
- $(top_builddir)/gst-libs/gst/uridownloader/libgsturidownloader-$(GST_API_VERSION).la \
$(top_builddir)/gst-libs/gst/adaptivedemux/libgstadaptivedemux-@GST_API_VERSION@.la \
$(GST_PLUGINS_BASE_LIBS) \
-lgsttag-$(GST_API_VERSION) \
diff --git a/ext/smoothstreaming/Makefile.in b/ext/smoothstreaming/Makefile.in
index 5932334..77abcae 100644
--- a/ext/smoothstreaming/Makefile.in
+++ b/ext/smoothstreaming/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -165,7 +164,6 @@
LTLIBRARIES = $(plugin_LTLIBRARIES)
am__DEPENDENCIES_1 =
libgstsmoothstreaming_la_DEPENDENCIES = $(top_builddir)/gst-libs/gst/codecparsers/libgstcodecparsers-$(GST_API_VERSION).la \
- $(top_builddir)/gst-libs/gst/uridownloader/libgsturidownloader-$(GST_API_VERSION).la \
$(top_builddir)/gst-libs/gst/adaptivedemux/libgstadaptivedemux-@GST_API_VERSION@.la \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
@@ -330,7 +328,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -352,7 +349,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -374,9 +370,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -538,6 +531,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -551,8 +545,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -639,8 +631,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -692,6 +682,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -712,6 +703,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -749,7 +742,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -796,7 +788,6 @@
libgstsmoothstreaming_la_LIBADD = \
$(top_builddir)/gst-libs/gst/codecparsers/libgstcodecparsers-$(GST_API_VERSION).la \
- $(top_builddir)/gst-libs/gst/uridownloader/libgsturidownloader-$(GST_API_VERSION).la \
$(top_builddir)/gst-libs/gst/adaptivedemux/libgstadaptivedemux-@GST_API_VERSION@.la \
$(GST_PLUGINS_BASE_LIBS) \
-lgsttag-$(GST_API_VERSION) \
diff --git a/ext/smoothstreaming/gstmssdemux.c b/ext/smoothstreaming/gstmssdemux.c
index c6fbd1a..c975e17 100644
--- a/ext/smoothstreaming/gstmssdemux.c
+++ b/ext/smoothstreaming/gstmssdemux.c
@@ -122,9 +122,10 @@
static GstClockTime gst_mss_demux_get_duration (GstAdaptiveDemux * demux);
static void gst_mss_demux_reset (GstAdaptiveDemux * demux);
static GstFlowReturn gst_mss_demux_stream_seek (GstAdaptiveDemuxStream * stream,
- GstClockTime ts);
-static gboolean
-gst_mss_demux_stream_has_next_fragment (GstAdaptiveDemuxStream * stream);
+ gboolean forward, GstSeekFlags flags, GstClockTime ts,
+ GstClockTime * final_ts);
+static gboolean gst_mss_demux_stream_has_next_fragment (GstAdaptiveDemuxStream *
+ stream);
static GstFlowReturn
gst_mss_demux_stream_advance_fragment (GstAdaptiveDemuxStream * stream);
static gboolean gst_mss_demux_stream_select_bitrate (GstAdaptiveDemuxStream *
@@ -304,11 +305,13 @@
}
static GstFlowReturn
-gst_mss_demux_stream_seek (GstAdaptiveDemuxStream * stream, GstClockTime ts)
+gst_mss_demux_stream_seek (GstAdaptiveDemuxStream * stream, gboolean forward,
+ GstSeekFlags flags, GstClockTime ts, GstClockTime * final_ts)
{
GstMssDemuxStream *mssstream = (GstMssDemuxStream *) stream;
- gst_mss_stream_seek (mssstream->manifest_stream, ts);
+ gst_mss_stream_seek (mssstream->manifest_stream, forward, flags, ts,
+ final_ts);
return GST_FLOW_OK;
}
@@ -354,8 +357,7 @@
}
if (tmpl != NULL) {
- srcpad =
- GST_PAD_CAST (gst_ghost_pad_new_no_target_from_template (name, tmpl));
+ srcpad = GST_PAD_CAST (gst_pad_new_from_template (tmpl, name));
g_free (name);
gst_object_unref (tmpl);
}
@@ -585,6 +587,10 @@
return ret;
}
+#define SEEK_UPDATES_PLAY_POSITION(r, start_type, stop_type) \
+ ((r >= 0 && start_type != GST_SEEK_TYPE_NONE) || \
+ (r < 0 && stop_type != GST_SEEK_TYPE_NONE))
+
static gboolean
gst_mss_demux_seek (GstAdaptiveDemux * demux, GstEvent * seek)
{
@@ -602,7 +608,12 @@
"seek event, rate: %f start: %" GST_TIME_FORMAT " stop: %"
GST_TIME_FORMAT, rate, GST_TIME_ARGS (start), GST_TIME_ARGS (stop));
- gst_mss_manifest_seek (mssdemux->manifest, start);
+ if (SEEK_UPDATES_PLAY_POSITION (rate, start_type, stop_type)) {
+ if (rate >= 0)
+ gst_mss_manifest_seek (mssdemux->manifest, rate >= 0, start);
+ else
+ gst_mss_manifest_seek (mssdemux->manifest, rate >= 0, stop);
+ }
return TRUE;
}
diff --git a/ext/smoothstreaming/gstmssdemux.h b/ext/smoothstreaming/gstmssdemux.h
index 5c56e23..f3ea6cf 100644
--- a/ext/smoothstreaming/gstmssdemux.h
+++ b/ext/smoothstreaming/gstmssdemux.h
@@ -29,7 +29,6 @@
#include <gst/base/gstdataqueue.h>
#include <gst/gstprotection.h>
#include "gstmssmanifest.h"
-#include <gst/uridownloader/gsturidownloader.h>
G_BEGIN_DECLS
diff --git a/ext/smoothstreaming/gstmssmanifest.c b/ext/smoothstreaming/gstmssmanifest.c
index 09a076b..02e559c 100644
--- a/ext/smoothstreaming/gstmssmanifest.c
+++ b/ext/smoothstreaming/gstmssmanifest.c
@@ -1089,25 +1089,32 @@
/**
* Seeks all streams to the fragment that contains the set time
*
+ * @forward: if this is forward playback
* @time: time in nanoseconds
*/
void
-gst_mss_manifest_seek (GstMssManifest * manifest, guint64 time)
+gst_mss_manifest_seek (GstMssManifest * manifest, gboolean forward,
+ guint64 time)
{
GSList *iter;
for (iter = manifest->streams; iter; iter = g_slist_next (iter)) {
- gst_mss_stream_seek (iter->data, time);
+ gst_mss_stream_seek (iter->data, forward, 0, time, NULL);
}
}
+#define SNAP_AFTER(forward,flags) \
+ ((forward && (flags & GST_SEEK_FLAG_SNAP_AFTER)) || \
+ (!forward && (flags & GST_SEEK_FLAG_SNAP_BEFORE)))
+
/**
* Seeks this stream to the fragment that contains the sample at time
*
* @time: time in nanoseconds
*/
void
-gst_mss_stream_seek (GstMssStream * stream, guint64 time)
+gst_mss_stream_seek (GstMssStream * stream, gboolean forward,
+ GstSeekFlags flags, guint64 time, guint64 * final_time)
{
GList *iter;
guint64 timescale;
@@ -1117,37 +1124,60 @@
time = gst_util_uint64_scale_round (time, timescale, GST_SECOND);
GST_DEBUG ("Stream %s seeking to %" G_GUINT64_FORMAT, stream->url, time);
-
for (iter = stream->fragments; iter; iter = g_list_next (iter)) {
- GList *next = g_list_next (iter);
- if (next) {
- fragment = next->data;
+ fragment = iter->data;
+ if (fragment->time + fragment->repetitions * fragment->duration > time) {
+ stream->current_fragment = iter;
+ stream->fragment_repetition_index =
+ (time - fragment->time) / fragment->duration;
+ if (((time - fragment->time) % fragment->duration) == 0) {
- if (fragment->time > time) {
- stream->current_fragment = iter;
- break;
+ /* for reverse playback, start from the previous fragment when we are
+ * exactly at a limit */
+ if (!forward)
+ stream->fragment_repetition_index--;
+ } else if (SNAP_AFTER (forward, flags))
+ stream->fragment_repetition_index++;
+
+ if (stream->fragment_repetition_index == fragment->repetitions) {
+ /* move to the next one */
+ stream->fragment_repetition_index = 0;
+ stream->current_fragment = g_list_next (iter);
+ fragment =
+ stream->current_fragment ? stream->current_fragment->data : NULL;
+
+ } else if (stream->fragment_repetition_index == -1) {
+ if (g_list_previous (iter)) {
+ stream->current_fragment = g_list_previous (iter);
+ fragment = stream->current_fragment->data;
+ g_assert (fragment);
+ stream->fragment_repetition_index = fragment->repetitions - 1;
+ } else {
+ stream->fragment_repetition_index = 0;
+ }
}
- } else {
- fragment = iter->data;
- if (fragment->time + fragment->repetitions * fragment->duration > time) {
- stream->current_fragment = iter;
- } else {
- stream->current_fragment = NULL; /* EOS */
- }
+
break;
}
- }
- /* position inside the repetitions */
- if (stream->current_fragment) {
- fragment = stream->current_fragment->data;
- stream->fragment_repetition_index =
- (time - fragment->time) / fragment->duration;
}
GST_DEBUG ("Stream %s seeked to fragment time %" G_GUINT64_FORMAT
- " repetition %u", stream->url, fragment->time,
+ " repetition %u", stream->url,
+ fragment ? fragment->time : GST_CLOCK_TIME_NONE,
stream->fragment_repetition_index);
+ if (final_time) {
+ if (fragment) {
+ *final_time = gst_util_uint64_scale_round (fragment->time +
+ stream->fragment_repetition_index * fragment->duration,
+ GST_SECOND, timescale);
+ } else {
+ GstMssStreamFragment *last_fragment = g_list_last (iter)->data;
+ *final_time = gst_util_uint64_scale_round (last_fragment->time +
+ last_fragment->repetitions * last_fragment->duration,
+ GST_SECOND, timescale);
+ }
+ }
}
guint64
@@ -1200,7 +1230,9 @@
g_list_free_full (stream->fragments, g_free);
stream->fragments = g_list_reverse (builder.fragments);
stream->current_fragment = stream->fragments;
- gst_mss_stream_seek (stream, current_gst_time);
+ /* TODO Verify how repositioning here works for reverse
+ * playback - it might start from the wrong fragment */
+ gst_mss_stream_seek (stream, TRUE, 0, current_gst_time, NULL);
}
}
@@ -1230,8 +1262,6 @@
xmlNodePtr root;
GstMapInfo info;
- g_return_if_fail (manifest->is_live);
-
gst_buffer_map (data, &info, GST_MAP_READ);
xml = xmlReadMemory ((const gchar *) info.data,
diff --git a/ext/smoothstreaming/gstmssmanifest.h b/ext/smoothstreaming/gstmssmanifest.h
index 65330b4..af7419c 100644
--- a/ext/smoothstreaming/gstmssmanifest.h
+++ b/ext/smoothstreaming/gstmssmanifest.h
@@ -44,7 +44,7 @@
guint64 gst_mss_manifest_get_timescale (GstMssManifest * manifest);
guint64 gst_mss_manifest_get_duration (GstMssManifest * manifest);
GstClockTime gst_mss_manifest_get_gst_duration (GstMssManifest * manifest);
-void gst_mss_manifest_seek (GstMssManifest * manifest, guint64 time);
+void gst_mss_manifest_seek (GstMssManifest * manifest, gboolean forward, guint64 time);
gboolean gst_mss_manifest_change_bitrate (GstMssManifest *manifest, guint64 bitrate);
guint64 gst_mss_manifest_get_current_bitrate (GstMssManifest * manifest);
gboolean gst_mss_manifest_is_live (GstMssManifest * manifest);
@@ -67,7 +67,7 @@
gboolean gst_mss_stream_has_next_fragment (GstMssStream * stream);
GstFlowReturn gst_mss_stream_advance_fragment (GstMssStream * stream);
GstFlowReturn gst_mss_stream_regress_fragment (GstMssStream * stream);
-void gst_mss_stream_seek (GstMssStream * stream, guint64 time);
+void gst_mss_stream_seek (GstMssStream * stream, gboolean forward, GstSeekFlags flags, guint64 time, guint64 * final_time);
const gchar * gst_mss_stream_get_lang (GstMssStream * stream);
const gchar * gst_mss_stream_type_name (GstMssStreamType streamtype);
diff --git a/ext/sndfile/Makefile.in b/ext/sndfile/Makefile.in
index 14b417a..0a42660 100644
--- a/ext/sndfile/Makefile.in
+++ b/ext/sndfile/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -325,7 +324,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +345,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +366,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +527,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +541,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +627,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +678,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +699,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +738,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/sndio/Makefile.in b/ext/sndio/Makefile.in
index e2d7ab7..5e89c76 100644
--- a/ext/sndio/Makefile.in
+++ b/ext/sndio/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/soundtouch/Makefile.in b/ext/soundtouch/Makefile.in
index 7807ac1..cfa1b09 100644
--- a/ext/soundtouch/Makefile.in
+++ b/ext/soundtouch/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -344,7 +343,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -366,7 +364,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -388,9 +385,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -552,6 +546,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -565,8 +560,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -653,8 +646,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -706,6 +697,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -726,6 +718,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -763,7 +757,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/spandsp/Makefile.am b/ext/spandsp/Makefile.am
index 95ab3d9..405068e 100644
--- a/ext/spandsp/Makefile.am
+++ b/ext/spandsp/Makefile.am
@@ -1,10 +1,10 @@
plugin_LTLIBRARIES = libgstspandsp.la
-libgstspandsp_la_SOURCES = gstspandsp.c gstspanplc.c gstdtmfdetect.c
+libgstspandsp_la_SOURCES = gstspandsp.c gstspanplc.c gstdtmfdetect.c gsttonegeneratesrc.c
libgstspandsp_la_CFLAGS = $(GST_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(SPANDSP_CFLAGS)
libgstspandsp_la_LIBADD = $(SPANDSP_LIBS) $(GST_PLUGINS_BASE_LIBS) \
$(GST_BASE_LIBS) $(GST_LIBS)
libgstspandsp_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstspandsp_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
-noinst_HEADERS = gstspanplc.h gstdtmfdetect.h
+noinst_HEADERS = gstspanplc.h gstdtmfdetect.h gsttonegeneratesrc.h
diff --git a/ext/spandsp/Makefile.in b/ext/spandsp/Makefile.in
index 137bb22..2924b61 100644
--- a/ext/spandsp/Makefile.in
+++ b/ext/spandsp/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -169,7 +168,8 @@
$(am__DEPENDENCIES_1)
am_libgstspandsp_la_OBJECTS = libgstspandsp_la-gstspandsp.lo \
libgstspandsp_la-gstspanplc.lo \
- libgstspandsp_la-gstdtmfdetect.lo
+ libgstspandsp_la-gstdtmfdetect.lo \
+ libgstspandsp_la-gsttonegeneratesrc.lo
libgstspandsp_la_OBJECTS = $(am_libgstspandsp_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -326,7 +326,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -348,7 +347,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -370,9 +368,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -534,6 +529,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -547,8 +543,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -635,8 +629,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -688,6 +680,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -708,6 +701,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -745,7 +740,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -786,14 +780,14 @@
top_srcdir = @top_srcdir@
wayland_scanner = @wayland_scanner@
plugin_LTLIBRARIES = libgstspandsp.la
-libgstspandsp_la_SOURCES = gstspandsp.c gstspanplc.c gstdtmfdetect.c
+libgstspandsp_la_SOURCES = gstspandsp.c gstspanplc.c gstdtmfdetect.c gsttonegeneratesrc.c
libgstspandsp_la_CFLAGS = $(GST_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(SPANDSP_CFLAGS)
libgstspandsp_la_LIBADD = $(SPANDSP_LIBS) $(GST_PLUGINS_BASE_LIBS) \
$(GST_BASE_LIBS) $(GST_LIBS)
libgstspandsp_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstspandsp_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
-noinst_HEADERS = gstspanplc.h gstdtmfdetect.h
+noinst_HEADERS = gstspanplc.h gstdtmfdetect.h gsttonegeneratesrc.h
all: all-am
.SUFFIXES:
@@ -875,6 +869,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstspandsp_la-gstdtmfdetect.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstspandsp_la-gstspandsp.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstspandsp_la-gstspanplc.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstspandsp_la-gsttonegeneratesrc.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -921,6 +916,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 $(libgstspandsp_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstspandsp_la_CFLAGS) $(CFLAGS) -c -o libgstspandsp_la-gstdtmfdetect.lo `test -f 'gstdtmfdetect.c' || echo '$(srcdir)/'`gstdtmfdetect.c
+libgstspandsp_la-gsttonegeneratesrc.lo: gsttonegeneratesrc.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstspandsp_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstspandsp_la_CFLAGS) $(CFLAGS) -MT libgstspandsp_la-gsttonegeneratesrc.lo -MD -MP -MF $(DEPDIR)/libgstspandsp_la-gsttonegeneratesrc.Tpo -c -o libgstspandsp_la-gsttonegeneratesrc.lo `test -f 'gsttonegeneratesrc.c' || echo '$(srcdir)/'`gsttonegeneratesrc.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstspandsp_la-gsttonegeneratesrc.Tpo $(DEPDIR)/libgstspandsp_la-gsttonegeneratesrc.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gsttonegeneratesrc.c' object='libgstspandsp_la-gsttonegeneratesrc.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 $(libgstspandsp_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstspandsp_la_CFLAGS) $(CFLAGS) -c -o libgstspandsp_la-gsttonegeneratesrc.lo `test -f 'gsttonegeneratesrc.c' || echo '$(srcdir)/'`gsttonegeneratesrc.c
+
mostlyclean-libtool:
-rm -f *.lo
diff --git a/ext/spandsp/gstspandsp.c b/ext/spandsp/gstspandsp.c
index 0fdce79..37a0806 100644
--- a/ext/spandsp/gstspandsp.c
+++ b/ext/spandsp/gstspandsp.c
@@ -26,13 +26,15 @@
#include "gstspanplc.h"
#include "gstdtmfdetect.h"
+#include "gsttonegeneratesrc.h"
static gboolean
plugin_init (GstPlugin * plugin)
{
return gst_element_register (plugin, "spanplc",
GST_RANK_PRIMARY, GST_TYPE_SPAN_PLC) &&
- gst_dtmf_detect_plugin_init (plugin);
+ gst_dtmf_detect_plugin_init (plugin) &&
+ gst_tone_generate_src_plugin_init (plugin);
}
GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
diff --git a/ext/spandsp/gsttonegeneratesrc.c b/ext/spandsp/gsttonegeneratesrc.c
new file mode 100644
index 0000000..2b0cae7
--- /dev/null
+++ b/ext/spandsp/gsttonegeneratesrc.c
@@ -0,0 +1,415 @@
+/* GStreamer
+ * Copyright (C) 2016 Iskratel d.o.o.
+ * Author: Okrslar Ales <okrslar@iskratel.si>
+ * Copyright (C) 2016 Sebastian Dröge <sebastian@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "gsttonegeneratesrc.h"
+
+#undef IT_DBG
+
+GST_DEBUG_CATEGORY_STATIC (tone_generate_src_debug);
+#define GST_CAT_DEFAULT tone_generate_src_debug
+
+#define DEFAULT_SAMPLES_PER_BUFFER 1024
+#define DEFAULT_FREQ 0
+#define DEFAULT_VOLUME 0
+#define DEFAULT_ON_TIME 1000
+#define DEFAULT_OFF_TIME 1000
+#define DEFAULT_REPEAT FALSE
+
+enum
+{
+ PROP_0,
+ PROP_SAMPLES_PER_BUFFER,
+ PROP_FREQ,
+ PROP_VOLUME,
+ PROP_FREQ2,
+ PROP_VOLUME2,
+ PROP_ON_TIME,
+ PROP_OFF_TIME,
+ PROP_ON_TIME2,
+ PROP_OFF_TIME2,
+ PROP_REPEAT,
+ PROP_LAST
+};
+
+static GstStaticPadTemplate gst_tone_generate_src_src_template =
+GST_STATIC_PAD_TEMPLATE ("src",
+ GST_PAD_SRC,
+ GST_PAD_ALWAYS,
+ GST_STATIC_CAPS ("audio/x-raw, "
+ "format = (string) " GST_AUDIO_NE (S16) ", "
+ "layout = (string) interleaved, " "rate = (int) 8000, " "channels = 1")
+ );
+
+#define gst_tone_generate_src_parent_class parent_class
+G_DEFINE_TYPE (GstToneGenerateSrc, gst_tone_generate_src, GST_TYPE_PUSH_SRC);
+
+static void gst_tone_generate_src_finalize (GObject * object);
+static void gst_tone_generate_src_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * pspec);
+static void gst_tone_generate_src_get_property (GObject * object, guint prop_id,
+ GValue * value, GParamSpec * pspec);
+static gboolean gst_tone_generate_src_start (GstBaseSrc * basesrc);
+static gboolean gst_tone_generate_src_stop (GstBaseSrc * basesrc);
+static GstFlowReturn gst_tone_generate_src_fill (GstPushSrc * basesrc,
+ GstBuffer * buffer);
+
+static void
+gst_tone_generate_src_class_init (GstToneGenerateSrcClass * klass)
+{
+ GObjectClass *gobject_class;
+ GstElementClass *gstelement_class;
+ GstBaseSrcClass *gstbasesrc_class;
+ GstPushSrcClass *gstpushsrc_class;
+
+ gobject_class = (GObjectClass *) klass;
+ gstelement_class = (GstElementClass *) klass;
+ gstbasesrc_class = (GstBaseSrcClass *) klass;
+ gstpushsrc_class = (GstPushSrcClass *) klass;
+
+ gobject_class->set_property = gst_tone_generate_src_set_property;
+ gobject_class->get_property = gst_tone_generate_src_get_property;
+ gobject_class->finalize = gst_tone_generate_src_finalize;
+
+ g_object_class_install_property (gobject_class, PROP_SAMPLES_PER_BUFFER,
+ g_param_spec_int ("samplesperbuffer", "Samples per buffer",
+ "Number of samples in each outgoing buffer",
+ 1, G_MAXINT, DEFAULT_SAMPLES_PER_BUFFER,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+ g_object_class_install_property (gobject_class, PROP_FREQ,
+ g_param_spec_int ("freq", "Frequency", "Frequency of test signal",
+ 0, 20000, DEFAULT_FREQ, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+ g_object_class_install_property (gobject_class, PROP_VOLUME,
+ g_param_spec_int ("volume", "Volume",
+ "Volume of first signal",
+ -50, 0, DEFAULT_VOLUME, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+ g_object_class_install_property (gobject_class, PROP_FREQ2,
+ g_param_spec_int ("freq2", "Second Frequency",
+ "Frequency of second telephony tone component",
+ 0, 20000, DEFAULT_FREQ, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+ g_object_class_install_property (gobject_class, PROP_VOLUME2,
+ g_param_spec_int ("volume2", "Volume2",
+ "Volume of second tone signal",
+ -50, 0, DEFAULT_VOLUME, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+ g_object_class_install_property (gobject_class, PROP_ON_TIME,
+ g_param_spec_int ("on-time", "Signal ON time first period",
+ "Time of the first period when the tone signal is present", 1,
+ G_MAXINT, DEFAULT_ON_TIME, G_PARAM_READWRITE));
+
+ g_object_class_install_property (gobject_class, PROP_OFF_TIME,
+ g_param_spec_int ("off-time", "Signal OFF time first period ",
+ "Time of the first period when the tone signal is off", 0, G_MAXINT,
+ DEFAULT_OFF_TIME, G_PARAM_READWRITE));
+
+ g_object_class_install_property (gobject_class, PROP_ON_TIME2,
+ g_param_spec_int ("on-time2", "Signal ON time second period",
+ "Time of the second period when the tone signal is present", 1,
+ G_MAXINT, DEFAULT_ON_TIME, G_PARAM_READWRITE));
+
+ g_object_class_install_property (gobject_class, PROP_OFF_TIME2,
+ g_param_spec_int ("off-time2", "Signal OFF time first period ",
+ "Time of the second period when the tone signal is off", 0, G_MAXINT,
+ DEFAULT_ON_TIME, G_PARAM_READWRITE));
+
+ g_object_class_install_property (gobject_class, PROP_REPEAT,
+ g_param_spec_boolean ("repeat", "Repeat the specified tone period ",
+ "Whether to repeat specified tone indefinitly", DEFAULT_REPEAT,
+ G_PARAM_READWRITE));
+
+ gst_element_class_add_pad_template (gstelement_class,
+ gst_static_pad_template_get (&gst_tone_generate_src_src_template));
+
+ gst_element_class_set_static_metadata (gstelement_class,
+ "Telephony Tone Generator source", "Source/Audio",
+ "Creates telephony signals of given frequency, volume, cadence",
+ "Iskratel <www.iskratel.com>");
+
+ gstbasesrc_class->start = GST_DEBUG_FUNCPTR (gst_tone_generate_src_start);
+ gstbasesrc_class->stop = GST_DEBUG_FUNCPTR (gst_tone_generate_src_stop);
+ gstpushsrc_class->fill = GST_DEBUG_FUNCPTR (gst_tone_generate_src_fill);
+}
+
+static void
+gst_tone_generate_src_init (GstToneGenerateSrc * src)
+{
+ src->volume = DEFAULT_VOLUME;
+ src->freq = DEFAULT_FREQ;
+ src->on_time = DEFAULT_ON_TIME;
+ src->off_time = DEFAULT_OFF_TIME;
+ src->volume2 = DEFAULT_VOLUME;
+ src->freq2 = DEFAULT_FREQ;
+ src->on_time2 = DEFAULT_ON_TIME;
+ src->off_time2 = DEFAULT_OFF_TIME;
+ src->repeat = DEFAULT_REPEAT;
+
+ gst_base_src_set_format (GST_BASE_SRC (src), GST_FORMAT_TIME);
+
+ src->samples_per_buffer = DEFAULT_SAMPLES_PER_BUFFER;
+ gst_base_src_set_blocksize (GST_BASE_SRC (src), 2 * src->samples_per_buffer);
+}
+
+static void
+gst_tone_generate_src_finalize (GObject * object)
+{
+ GstToneGenerateSrc *src = GST_TONE_GENERATE_SRC (object);
+
+ if (src->tone_desc) {
+ tone_gen_descriptor_free (src->tone_desc);
+ src->tone_desc = NULL;
+ }
+
+ if (src->tone_state) {
+ tone_gen_free (src->tone_state);
+ src->tone_state = NULL;
+ }
+
+ G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+static gboolean
+gst_tone_generate_src_start (GstBaseSrc * basesrc)
+{
+ GstToneGenerateSrc *src = GST_TONE_GENERATE_SRC (basesrc);
+
+ GST_OBJECT_LOCK (src);
+ src->properties_changed = FALSE;
+ GST_OBJECT_UNLOCK (src);
+
+ src->next_sample = 0;
+ src->next_time = 0;
+
+ return TRUE;
+}
+
+static gboolean
+gst_tone_generate_src_stop (GstBaseSrc * basesrc)
+{
+ GstToneGenerateSrc *src = GST_TONE_GENERATE_SRC (basesrc);
+
+ GST_OBJECT_LOCK (src);
+ if (src->tone_desc) {
+ tone_gen_descriptor_free (src->tone_desc);
+ src->tone_desc = NULL;
+ }
+
+ if (src->tone_state) {
+ tone_gen_free (src->tone_state);
+ src->tone_state = NULL;
+ }
+ src->properties_changed = FALSE;
+ GST_OBJECT_UNLOCK (src);
+
+ return TRUE;
+}
+
+static GstFlowReturn
+gst_tone_generate_src_fill (GstPushSrc * basesrc, GstBuffer * buffer)
+{
+ GstToneGenerateSrc *src;
+ GstClockTime next_time;
+ gint64 next_sample;
+ gint bytes, samples;
+ GstMapInfo map;
+ const gint samplerate = 8000, bpf = 2;
+
+ src = GST_TONE_GENERATE_SRC (basesrc);
+
+ bytes = gst_buffer_get_size (buffer);
+ samples = bytes / bpf;
+
+ /* calculate full buffer */
+ next_sample = src->next_sample + samples;
+
+ next_time = gst_util_uint64_scale_int (next_sample, GST_SECOND, samplerate);
+
+ GST_LOG_OBJECT (src, "samplerate %d", samplerate);
+ GST_LOG_OBJECT (src, "next_sample %" G_GINT64_FORMAT ", ts %" GST_TIME_FORMAT,
+ next_sample, GST_TIME_ARGS (next_time));
+
+ GST_BUFFER_OFFSET (buffer) = src->next_sample;
+ GST_BUFFER_OFFSET_END (buffer) = next_sample;
+ GST_BUFFER_TIMESTAMP (buffer) = src->next_time;
+ GST_BUFFER_DURATION (buffer) = next_time - src->next_time;
+
+ gst_object_sync_values (GST_OBJECT (src), GST_BUFFER_TIMESTAMP (buffer));
+
+ src->next_time = next_time;
+ src->next_sample = next_sample;
+
+ GST_LOG_OBJECT (src, "generating %u samples at ts %" GST_TIME_FORMAT,
+ samples, GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buffer)));
+
+ gst_buffer_map (buffer, &map, GST_MAP_WRITE);
+
+ GST_OBJECT_LOCK (src);
+ if (!src->tone_state || src->properties_changed) {
+ src->tone_desc = tone_gen_descriptor_init (src->tone_desc,
+ src->freq,
+ src->volume,
+ src->freq2,
+ src->volume2,
+ src->on_time,
+ src->off_time, src->on_time2, src->off_time2, src->repeat);
+
+ src->tone_state = tone_gen_init (src->tone_state, src->tone_desc);
+ src->properties_changed = FALSE;
+ }
+
+ tone_gen (src->tone_state, (int16_t *) map.data, samples);
+ GST_OBJECT_UNLOCK (src);
+
+ gst_buffer_unmap (buffer, &map);
+
+ return GST_FLOW_OK;
+}
+
+static void
+gst_tone_generate_src_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * pspec)
+{
+ GstToneGenerateSrc *src = GST_TONE_GENERATE_SRC (object);
+
+ switch (prop_id) {
+ case PROP_SAMPLES_PER_BUFFER:
+ src->samples_per_buffer = g_value_get_int (value);
+ gst_base_src_set_blocksize (GST_BASE_SRC_CAST (src),
+ 2 * src->samples_per_buffer);
+ break;
+ case PROP_FREQ:
+ GST_OBJECT_LOCK (src);
+ src->freq = g_value_get_int (value);
+ src->properties_changed = TRUE;
+ GST_OBJECT_UNLOCK (src);
+ break;
+ case PROP_VOLUME:
+ GST_OBJECT_LOCK (src);
+ src->volume = g_value_get_int (value);
+ src->properties_changed = TRUE;
+ GST_OBJECT_UNLOCK (src);
+ break;
+ case PROP_FREQ2:
+ GST_OBJECT_LOCK (src);
+ src->freq2 = g_value_get_int (value);
+ src->properties_changed = TRUE;
+ GST_OBJECT_UNLOCK (src);
+ break;
+ case PROP_VOLUME2:
+ GST_OBJECT_LOCK (src);
+ src->volume2 = g_value_get_int (value);
+ src->properties_changed = TRUE;
+ GST_OBJECT_UNLOCK (src);
+ break;
+ case PROP_ON_TIME:
+ GST_OBJECT_LOCK (src);
+ src->on_time = g_value_get_int (value);
+ src->properties_changed = TRUE;
+ GST_OBJECT_UNLOCK (src);
+ break;
+ case PROP_ON_TIME2:
+ GST_OBJECT_LOCK (src);
+ src->on_time2 = g_value_get_int (value);
+ src->properties_changed = TRUE;
+ GST_OBJECT_UNLOCK (src);
+ break;
+ case PROP_OFF_TIME:
+ GST_OBJECT_LOCK (src);
+ src->off_time = g_value_get_int (value);
+ src->properties_changed = TRUE;
+ GST_OBJECT_UNLOCK (src);
+ break;
+ case PROP_OFF_TIME2:
+ GST_OBJECT_LOCK (src);
+ src->off_time2 = g_value_get_int (value);
+ src->properties_changed = TRUE;
+ GST_OBJECT_UNLOCK (src);
+ break;
+ case PROP_REPEAT:
+ GST_OBJECT_LOCK (src);
+ src->repeat = g_value_get_boolean (value);
+ src->properties_changed = TRUE;
+ GST_OBJECT_UNLOCK (src);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gst_tone_generate_src_get_property (GObject * object, guint prop_id,
+ GValue * value, GParamSpec * pspec)
+{
+ GstToneGenerateSrc *src = GST_TONE_GENERATE_SRC (object);
+
+ switch (prop_id) {
+ case PROP_SAMPLES_PER_BUFFER:
+ g_value_set_int (value, src->samples_per_buffer);
+ break;
+ case PROP_FREQ:
+ g_value_set_int (value, src->freq);
+ break;
+ case PROP_VOLUME:
+ g_value_set_int (value, src->volume);
+ break;
+ case PROP_FREQ2:
+ g_value_set_int (value, src->freq2);
+ break;
+ case PROP_VOLUME2:
+ g_value_set_int (value, src->volume2);
+ break;
+ case PROP_ON_TIME:
+ g_value_set_int (value, src->on_time);
+ break;
+ case PROP_OFF_TIME:
+ g_value_set_int (value, src->off_time);
+ break;
+ case PROP_ON_TIME2:
+ g_value_set_int (value, src->on_time2);
+ break;
+ case PROP_OFF_TIME2:
+ g_value_set_int (value, src->off_time2);
+ break;
+ case PROP_REPEAT:
+ g_value_set_boolean (value, src->repeat);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+gboolean
+gst_tone_generate_src_plugin_init (GstPlugin * plugin)
+{
+ GST_DEBUG_CATEGORY_INIT (tone_generate_src_debug, "tonegeneratesrc", 0,
+ "Telephony Tone Test Source");
+
+ return gst_element_register (plugin, "tonegeneratesrc",
+ GST_RANK_NONE, GST_TYPE_TONE_GENERATE_SRC);
+}
diff --git a/ext/spandsp/gsttonegeneratesrc.h b/ext/spandsp/gsttonegeneratesrc.h
new file mode 100644
index 0000000..200e13d
--- /dev/null
+++ b/ext/spandsp/gsttonegeneratesrc.h
@@ -0,0 +1,89 @@
+/* GStreamer
+ * Copyright (C) 2016 Iskratel d.o.o.
+ * Author: Okrslar Ales <okrslar@iskratel.si>
+ * Copyright (C) 2016 Sebastian Dröge <sebastian@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_TONE_GENERATE_SRC_H__
+#define __GST_TONE_GENERATE_SRC_H__
+
+
+#include <gst/gst.h>
+#include <gst/base/gstbasesrc.h>
+
+#include <gst/audio/audio.h>
+#include <spandsp.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_TONE_GENERATE_SRC \
+ (gst_tone_generate_src_get_type())
+#define GST_TONE_GENERATE_SRC(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_TONE_GENERATE_SRC,GstToneGenerateSrc))
+#define GST_TONE_GENERATE_SRC_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_TONE_GENERATE_SRC,GstToneGenerateSrcClass))
+#define GST_IS_TONE_GENERATE_SRC(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_TONE_GENERATE_SRC))
+#define GST_IS_TONE_GENERATE_SRC_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_TONE_GENERATE_SRC))
+
+typedef struct _GstToneGenerateSrc GstToneGenerateSrc;
+typedef struct _GstToneGenerateSrcClass GstToneGenerateSrcClass;
+
+/**
+ * GstToneGenerateSrc:
+ *
+ * tonegeneratesrc object structure.
+ */
+struct _GstToneGenerateSrc {
+ GstPushSrc parent;
+
+ /* parameters */
+ gint volume; /* The level of the first frequency, in dBm0 */
+ gint volume2; /* The level of the second frequency, in dBm0, or the percentage modulation depth for an AM modulated tone. */
+ gint freq; /* The first frequency, in Hz */
+ gint freq2; /* 0 for no second frequency, a positive number for the second frequency, in Hz, or a negative number for an AM modulation frequency, in Hz */
+ gint on_time; /* On time for the first presence of tone signal. */
+ gint off_time; /* Off time between first and second presence of tone signal. */
+ gint on_time2; /* On time for the second presence of tone signal. */
+ gint off_time2; /* Off time after the second presence of tone signal. */
+ gboolean repeat; /* 0/1 if the tone repeates itself or not. */
+
+ /* audio parameters */
+ gint samples_per_buffer;
+
+ /*< private >*/
+ GstClockTime next_time; /* next timestamp */
+ gint64 next_sample; /* next sample to send */
+
+ /* SpanDSP */
+ tone_gen_state_t *tone_state;
+ tone_gen_descriptor_t *tone_desc;
+ gboolean properties_changed;
+};
+
+struct _GstToneGenerateSrcClass {
+ GstPushSrcClass parent_class;
+};
+
+GType gst_tone_generate_src_get_type (void);
+gboolean gst_tone_generate_src_plugin_init (GstPlugin *plugin);
+
+G_END_DECLS
+
+#endif /* __GST_TONE_GENERATE_SRC_H__ */
diff --git a/ext/spc/Makefile.in b/ext/spc/Makefile.in
index 00818f3..57ae8a2 100644
--- a/ext/spc/Makefile.in
+++ b/ext/spc/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -323,7 +322,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -345,7 +343,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -367,9 +364,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -531,6 +525,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -544,8 +539,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -632,8 +625,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -685,6 +676,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -705,6 +697,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -742,7 +736,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/srtp/Makefile.in b/ext/srtp/Makefile.in
index 5366451..ef2c336 100644
--- a/ext/srtp/Makefile.in
+++ b/ext/srtp/Makefile.in
@@ -123,16 +123,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -333,7 +332,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -355,7 +353,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -377,9 +374,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -541,6 +535,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -554,8 +549,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -642,8 +635,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -695,6 +686,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -715,6 +707,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -752,7 +746,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/teletextdec/Makefile.in b/ext/teletextdec/Makefile.in
index c43f58a..0641041 100644
--- a/ext/teletextdec/Makefile.in
+++ b/ext/teletextdec/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/timidity/Makefile.in b/ext/timidity/Makefile.in
index 4c4c8bc..9544679 100644
--- a/ext/timidity/Makefile.in
+++ b/ext/timidity/Makefile.in
@@ -118,16 +118,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -342,7 +341,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -364,7 +362,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -386,9 +383,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -550,6 +544,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -563,8 +558,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -651,8 +644,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -704,6 +695,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -724,6 +716,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -761,7 +755,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/voaacenc/Makefile.in b/ext/voaacenc/Makefile.in
index 47a57c5..05f2225 100644
--- a/ext/voaacenc/Makefile.in
+++ b/ext/voaacenc/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -325,7 +324,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +345,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +366,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +527,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +541,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +627,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +678,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +699,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +738,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/voamrwbenc/Makefile.in b/ext/voamrwbenc/Makefile.in
index 553b2d4..9004117 100644
--- a/ext/voamrwbenc/Makefile.in
+++ b/ext/voamrwbenc/Makefile.in
@@ -117,16 +117,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -326,7 +325,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -348,7 +346,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -370,9 +367,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -534,6 +528,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -547,8 +542,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -635,8 +628,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -688,6 +679,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -708,6 +700,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -745,7 +739,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/vulkan/Makefile.am b/ext/vulkan/Makefile.am
new file mode 100644
index 0000000..8c57e34
--- /dev/null
+++ b/ext/vulkan/Makefile.am
@@ -0,0 +1,65 @@
+plugin_LTLIBRARIES = libgstvulkan.la
+
+SUBDIRS =
+DIST_SUBDIRS = xcb
+DISTCLEANFILES = vkconfig.h
+
+libgstvulkan_la_SOURCES = \
+ gstvulkan.c \
+ vkdevice.c \
+ vkdisplay.c \
+ vkerror.c \
+ vkbuffermemory.c \
+ vkimagememory.c \
+ vkbufferpool.c \
+ vkinstance.c \
+ vkmemory.c \
+ vkqueue.c \
+ vksink.c \
+ vkswapper.c \
+ vkupload.c \
+ vkutils.c \
+ vkwindow.c
+
+noinst_HEADERS = \
+ vk.h \
+ vk_fwd.h \
+ vkdevice.h \
+ vkdisplay.h \
+ vkerror.h \
+ vkbuffermemory.h \
+ vkimagememory.h \
+ vkbufferpool.h \
+ vkinstance.h \
+ vkmemory.h \
+ vkqueue.h \
+ vksink.h \
+ vkswapper.h \
+ vkupload.h \
+ vkutils.h \
+ vkutils_private.h \
+ vkwindow.h
+
+libgstvulkan_la_CFLAGS = \
+ -I$(top_srcdir)/gst-libs \
+ -I$(top_builddir)/gst-libs \
+ $(GST_CFLAGS) \
+ $(GST_BASE_CFLAGS) \
+ $(GST_PLUGINS_BASE_CFLAGS) \
+ $(VULKAN_CFLAGS)
+
+libgstvulkan_la_LIBADD = \
+ $(GST_BASE_LIBS) \
+ $(GST_PLUGINS_BASE_LIBS) \
+ -lgstvideo-$(GST_API_VERSION) \
+ $(VULKAN_LIBS)
+
+if USE_XCB
+SUBDIRS += xcb
+libgstvulkan_la_LIBADD += xcb/libgstvulkan-xcb.la
+endif
+
+libgstvulkan_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
+libgstvulkan_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
+
+
diff --git a/ext/vulkan/Makefile.in b/ext/vulkan/Makefile.in
new file mode 100644
index 0000000..8dfd1da
--- /dev/null
+++ b/ext/vulkan/Makefile.in
@@ -0,0 +1,1397 @@
+# Makefile.in generated by automake 1.15 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+@USE_XCB_TRUE@am__append_1 = xcb
+@USE_XCB_TRUE@am__append_2 = xcb/libgstvulkan-xcb.la
+subdir = ext/vulkan
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
+ $(top_srcdir)/common/m4/as-auto-alt.m4 \
+ $(top_srcdir)/common/m4/as-compiler-flag.m4 \
+ $(top_srcdir)/common/m4/as-libtool.m4 \
+ $(top_srcdir)/common/m4/as-version.m4 \
+ $(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/common/m4/ax_pthread.m4 \
+ $(top_srcdir)/common/m4/gst-arch.m4 \
+ $(top_srcdir)/common/m4/gst-args.m4 \
+ $(top_srcdir)/common/m4/gst-check.m4 \
+ $(top_srcdir)/common/m4/gst-default.m4 \
+ $(top_srcdir)/common/m4/gst-dowhile.m4 \
+ $(top_srcdir)/common/m4/gst-error.m4 \
+ $(top_srcdir)/common/m4/gst-feature.m4 \
+ $(top_srcdir)/common/m4/gst-gettext.m4 \
+ $(top_srcdir)/common/m4/gst-glib2.m4 \
+ $(top_srcdir)/common/m4/gst-package-release-datetime.m4 \
+ $(top_srcdir)/common/m4/gst-platform.m4 \
+ $(top_srcdir)/common/m4/gst-plugin-docs.m4 \
+ $(top_srcdir)/common/m4/gst-plugindir.m4 \
+ $(top_srcdir)/common/m4/gst.m4 \
+ $(top_srcdir)/common/m4/gtk-doc.m4 \
+ $(top_srcdir)/common/m4/introspection.m4 \
+ $(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+ $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+am__installdirs = "$(DESTDIR)$(plugindir)"
+LTLIBRARIES = $(plugin_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+libgstvulkan_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) $(am__append_2)
+am_libgstvulkan_la_OBJECTS = libgstvulkan_la-gstvulkan.lo \
+ libgstvulkan_la-vkdevice.lo libgstvulkan_la-vkdisplay.lo \
+ libgstvulkan_la-vkerror.lo libgstvulkan_la-vkbuffermemory.lo \
+ libgstvulkan_la-vkimagememory.lo \
+ libgstvulkan_la-vkbufferpool.lo libgstvulkan_la-vkinstance.lo \
+ libgstvulkan_la-vkmemory.lo libgstvulkan_la-vkqueue.lo \
+ libgstvulkan_la-vksink.lo libgstvulkan_la-vkswapper.lo \
+ libgstvulkan_la-vkupload.lo libgstvulkan_la-vkutils.lo \
+ libgstvulkan_la-vkwindow.lo
+libgstvulkan_la_OBJECTS = $(am_libgstvulkan_la_OBJECTS)
+AM_V_lt = $(am__v_lt_@AM_V@)
+am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 =
+libgstvulkan_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+ $(CCLD) $(libgstvulkan_la_CFLAGS) $(CFLAGS) \
+ $(libgstvulkan_la_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+ $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(libgstvulkan_la_SOURCES)
+DIST_SOURCES = $(libgstvulkan_la_SOURCES)
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+HEADERS = $(noinst_HEADERS)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+ distclean-recursive maintainer-clean-recursive
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
+ distdir
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+am__relativize = \
+ dir0=`pwd`; \
+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+ sed_rest='s,^[^/]*/*,,'; \
+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+ sed_butlast='s,/*[^/]*$$,,'; \
+ while test -n "$$dir1"; do \
+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+ if test "$$first" != "."; then \
+ if test "$$first" = ".."; then \
+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+ else \
+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+ if test "$$first2" = "$$first"; then \
+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+ else \
+ dir2="../$$dir2"; \
+ fi; \
+ dir0="$$dir0"/"$$first"; \
+ fi; \
+ fi; \
+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+ done; \
+ reldir="$$dir2"
+ACLOCAL = @ACLOCAL@
+ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
+ACMENC_CFLAGS = @ACMENC_CFLAGS@
+ACMMP3DEC_CFLAGS = @ACMMP3DEC_CFLAGS@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+APEXSINK_CFLAGS = @APEXSINK_CFLAGS@
+APEXSINK_LIBS = @APEXSINK_LIBS@
+AR = @AR@
+AS = @AS@
+ASSRENDER_CFLAGS = @ASSRENDER_CFLAGS@
+ASSRENDER_LIBS = @ASSRENDER_LIBS@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BLUEZ5_CFLAGS = @BLUEZ5_CFLAGS@
+BLUEZ5_LIBS = @BLUEZ5_LIBS@
+BS2B_CFLAGS = @BS2B_CFLAGS@
+BS2B_LIBS = @BS2B_LIBS@
+BZ2_LIBS = @BZ2_LIBS@
+CC = @CC@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CHROMAPRINT_CFLAGS = @CHROMAPRINT_CFLAGS@
+CHROMAPRINT_LIBS = @CHROMAPRINT_LIBS@
+CLUTTER_CFLAGS = @CLUTTER_CFLAGS@
+CLUTTER_GLX_CFLAGS = @CLUTTER_GLX_CFLAGS@
+CLUTTER_GLX_LIBS = @CLUTTER_GLX_LIBS@
+CLUTTER_LIBS = @CLUTTER_LIBS@
+CLUTTER_X11_CFLAGS = @CLUTTER_X11_CFLAGS@
+CLUTTER_X11_LIBS = @CLUTTER_X11_LIBS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CUDA_CFLAGS = @CUDA_CFLAGS@
+CUDA_LIBS = @CUDA_LIBS@
+CURL_CFLAGS = @CURL_CFLAGS@
+CURL_LIBS = @CURL_LIBS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DAALA_CFLAGS = @DAALA_CFLAGS@
+DAALA_LIBS = @DAALA_LIBS@
+DCCP_LIBS = @DCCP_LIBS@
+DECKLINK_CXXFLAGS = @DECKLINK_CXXFLAGS@
+DECKLINK_LIBS = @DECKLINK_LIBS@
+DEFAULT_AUDIOSINK = @DEFAULT_AUDIOSINK@
+DEFAULT_AUDIOSRC = @DEFAULT_AUDIOSRC@
+DEFAULT_VIDEOSINK = @DEFAULT_VIDEOSINK@
+DEFAULT_VIDEOSRC = @DEFAULT_VIDEOSRC@
+DEFAULT_VISUALIZER = @DEFAULT_VISUALIZER@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DEPRECATED_CFLAGS = @DEPRECATED_CFLAGS@
+DIRECT3D_LIBS = @DIRECT3D_LIBS@
+DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
+DIRECTFB_LIBS = @DIRECTFB_LIBS@
+DIRECTSOUND_LIBS = @DIRECTSOUND_LIBS@
+DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
+DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DTLS_CFLAGS = @DTLS_CFLAGS@
+DTLS_LIBS = @DTLS_LIBS@
+DTS_LIBS = @DTS_LIBS@
+DUMPBIN = @DUMPBIN@
+DVDNAV_CFLAGS = @DVDNAV_CFLAGS@
+DVDNAV_LIBS = @DVDNAV_LIBS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGL_CFLAGS = @EGL_CFLAGS@
+EGL_LIBS = @EGL_LIBS@
+EGREP = @EGREP@
+ERROR_CFLAGS = @ERROR_CFLAGS@
+ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
+ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
+EXEEXT = @EXEEXT@
+EXIF_CFLAGS = @EXIF_CFLAGS@
+EXIF_LIBS = @EXIF_LIBS@
+FAAC_LIBS = @FAAC_LIBS@
+FAAD_LIBS = @FAAD_LIBS@
+FFLAGS = @FFLAGS@
+FGREP = @FGREP@
+FLITE_CFLAGS = @FLITE_CFLAGS@
+FLITE_LIBS = @FLITE_LIBS@
+FLUIDSYNTH_CFLAGS = @FLUIDSYNTH_CFLAGS@
+FLUIDSYNTH_LIBS = @FLUIDSYNTH_LIBS@
+GCOV = @GCOV@
+GCOV_CFLAGS = @GCOV_CFLAGS@
+GCOV_LIBS = @GCOV_LIBS@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GIO_CFLAGS = @GIO_CFLAGS@
+GIO_LDFLAGS = @GIO_LDFLAGS@
+GIO_LIBS = @GIO_LIBS@
+GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
+GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
+GLES2_CFLAGS = @GLES2_CFLAGS@
+GLES2_LIBS = @GLES2_LIBS@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
+GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GLIB_PREFIX = @GLIB_PREFIX@
+GLIB_REQ = @GLIB_REQ@
+GL_CFLAGS = @GL_CFLAGS@
+GL_LIBS = @GL_LIBS@
+GL_OBJCFLAGS = @GL_OBJCFLAGS@
+GME_LIBS = @GME_LIBS@
+GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
+GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GNUSTL_CFLAGS = @GNUSTL_CFLAGS@
+GNUSTL_LIBS = @GNUSTL_LIBS@
+GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
+GRAPHENE_LIBS = @GRAPHENE_LIBS@
+GREP = @GREP@
+GSM_LIBS = @GSM_LIBS@
+GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
+GSTPB_PREFIX = @GSTPB_PREFIX@
+GST_AGE = @GST_AGE@
+GST_ALLOCATORS_CFLAGS = @GST_ALLOCATORS_CFLAGS@
+GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
+GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
+GST_API_VERSION = @GST_API_VERSION@
+GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
+GST_BASE_LIBS = @GST_BASE_LIBS@
+GST_CFLAGS = @GST_CFLAGS@
+GST_CHECK_CFLAGS = @GST_CHECK_CFLAGS@
+GST_CHECK_LIBS = @GST_CHECK_LIBS@
+GST_CONTROLLER_CFLAGS = @GST_CONTROLLER_CFLAGS@
+GST_CONTROLLER_LIBS = @GST_CONTROLLER_LIBS@
+GST_CURRENT = @GST_CURRENT@
+GST_CXXFLAGS = @GST_CXXFLAGS@
+GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
+GST_LIBS = @GST_LIBS@
+GST_LIBVERSION = @GST_LIBVERSION@
+GST_LIB_LDFLAGS = @GST_LIB_LDFLAGS@
+GST_LICENSE = @GST_LICENSE@
+GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
+GST_NET_CFLAGS = @GST_NET_CFLAGS@
+GST_NET_LIBS = @GST_NET_LIBS@
+GST_OBJCFLAGS = @GST_OBJCFLAGS@
+GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
+GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
+GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
+GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
+GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
+GST_PBUTILS_CFLAGS = @GST_PBUTILS_CFLAGS@
+GST_PBUTILS_LIBS = @GST_PBUTILS_LIBS@
+GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
+GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
+GST_PLUGINS_BAD_CFLAGS = @GST_PLUGINS_BAD_CFLAGS@
+GST_PLUGINS_BAD_CXXFLAGS = @GST_PLUGINS_BAD_CXXFLAGS@
+GST_PLUGINS_BAD_OBJCFLAGS = @GST_PLUGINS_BAD_OBJCFLAGS@
+GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
+GST_PLUGINS_BASE_DIR = @GST_PLUGINS_BASE_DIR@
+GST_PLUGINS_BASE_LIBS = @GST_PLUGINS_BASE_LIBS@
+GST_PLUGINS_DIR = @GST_PLUGINS_DIR@
+GST_PLUGINS_GOOD_CFLAGS = @GST_PLUGINS_GOOD_CFLAGS@
+GST_PLUGINS_GOOD_DIR = @GST_PLUGINS_GOOD_DIR@
+GST_PLUGINS_GOOD_LIBS = @GST_PLUGINS_GOOD_LIBS@
+GST_PLUGINS_LIBAV_CFLAGS = @GST_PLUGINS_LIBAV_CFLAGS@
+GST_PLUGINS_LIBAV_DIR = @GST_PLUGINS_LIBAV_DIR@
+GST_PLUGINS_LIBAV_LIBS = @GST_PLUGINS_LIBAV_LIBS@
+GST_PLUGINS_NONPORTED = @GST_PLUGINS_NONPORTED@
+GST_PLUGINS_SELECTED = @GST_PLUGINS_SELECTED@
+GST_PLUGINS_UGLY_CFLAGS = @GST_PLUGINS_UGLY_CFLAGS@
+GST_PLUGINS_UGLY_DIR = @GST_PLUGINS_UGLY_DIR@
+GST_PLUGINS_UGLY_LIBS = @GST_PLUGINS_UGLY_LIBS@
+GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
+GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
+GST_PREFIX = @GST_PREFIX@
+GST_REVISION = @GST_REVISION@
+GST_TOOLS_DIR = @GST_TOOLS_DIR@
+GST_VIDEO_CFLAGS = @GST_VIDEO_CFLAGS@
+GST_VIDEO_LIBS = @GST_VIDEO_LIBS@
+GTK3_CFLAGS = @GTK3_CFLAGS@
+GTK3_GL_CFLAGS = @GTK3_GL_CFLAGS@
+GTK3_GL_LIBS = @GTK3_GL_LIBS@
+GTK3_LIBS = @GTK3_LIBS@
+GTK3_WAYLAND_CFLAGS = @GTK3_WAYLAND_CFLAGS@
+GTK3_WAYLAND_LIBS = @GTK3_WAYLAND_LIBS@
+GTK3_X11_CFLAGS = @GTK3_X11_CFLAGS@
+GTK3_X11_LIBS = @GTK3_X11_LIBS@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GTK_BASE_DIR = @GTK_BASE_DIR@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_LIBS = @GTK_LIBS@
+GTK_VERSION = @GTK_VERSION@
+G_UDEV_CFLAGS = @G_UDEV_CFLAGS@
+G_UDEV_LIBS = @G_UDEV_LIBS@
+HAVE_CLUTTER = @HAVE_CLUTTER@
+HAVE_CLUTTER_GLX = @HAVE_CLUTTER_GLX@
+HAVE_CLUTTER_X11 = @HAVE_CLUTTER_X11@
+HAVE_CXX = @HAVE_CXX@
+HAVE_DIRECT3D = @HAVE_DIRECT3D@
+HAVE_DIRECTSOUND = @HAVE_DIRECTSOUND@
+HAVE_DTS = @HAVE_DTS@
+HAVE_EGL = @HAVE_EGL@
+HAVE_FAAC = @HAVE_FAAC@
+HAVE_FAAD = @HAVE_FAAD@
+HAVE_FLITE = @HAVE_FLITE@
+HAVE_GL = @HAVE_GL@
+HAVE_GLES2 = @HAVE_GLES2@
+HAVE_GRAPHENE = @HAVE_GRAPHENE@
+HAVE_GSM = @HAVE_GSM@
+HAVE_GTK3 = @HAVE_GTK3@
+HAVE_JPEG = @HAVE_JPEG@
+HAVE_NAS = @HAVE_NAS@
+HAVE_OPENJPEG = @HAVE_OPENJPEG@
+HAVE_PNG = @HAVE_PNG@
+HAVE_SRTP = @HAVE_SRTP@
+HAVE_WASAPI = @HAVE_WASAPI@
+HAVE_WILDMIDI = @HAVE_WILDMIDI@
+HAVE_WINKS = @HAVE_WINKS@
+HAVE_WINSCREENCAP = @HAVE_WINSCREENCAP@
+HAVE_X11 = @HAVE_X11@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
+INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
+INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
+INTROSPECTION_INIT = @INTROSPECTION_INIT@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
+INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
+INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
+JPEG_LIBS = @JPEG_LIBS@
+KATE_CFLAGS = @KATE_CFLAGS@
+KATE_LIBS = @KATE_LIBS@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBDC1394_CFLAGS = @LIBDC1394_CFLAGS@
+LIBDC1394_LIBS = @LIBDC1394_LIBS@
+LIBDE265_CFLAGS = @LIBDE265_CFLAGS@
+LIBDE265_LIBS = @LIBDE265_LIBS@
+LIBDIR = @LIBDIR@
+LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
+LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
+LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBM = @LIBM@
+LIBMMS_CFLAGS = @LIBMMS_CFLAGS@
+LIBMMS_LIBS = @LIBMMS_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
+LIBPNG_LIBS = @LIBPNG_LIBS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBUDEV_CFLAGS = @LIBUDEV_CFLAGS@
+LIBUDEV_LIBS = @LIBUDEV_LIBS@
+LIBUSB_CFLAGS = @LIBUSB_CFLAGS@
+LIBUSB_LIBS = @LIBUSB_LIBS@
+LIBVISUAL_CFLAGS = @LIBVISUAL_CFLAGS@
+LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
+LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
+LIBXML2_LIBS = @LIBXML2_LIBS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LOCALEDIR = @LOCALEDIR@
+LRDF_CFLAGS = @LRDF_CFLAGS@
+LRDF_LIBS = @LRDF_LIBS@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MIMIC_CFLAGS = @MIMIC_CFLAGS@
+MIMIC_LIBS = @MIMIC_LIBS@
+MJPEG_CFLAGS = @MJPEG_CFLAGS@
+MJPEG_LIBS = @MJPEG_LIBS@
+MKDIR_P = @MKDIR_P@
+MOC = @MOC@
+MODPLUG_CFLAGS = @MODPLUG_CFLAGS@
+MODPLUG_LIBS = @MODPLUG_LIBS@
+MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
+MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
+MPLEX_CFLAGS = @MPLEX_CFLAGS@
+MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
+MPLEX_LIBS = @MPLEX_LIBS@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+MUSEPACK_LIBS = @MUSEPACK_LIBS@
+NAS_CFLAGS = @NAS_CFLAGS@
+NAS_LIBS = @NAS_LIBS@
+NEON_CFLAGS = @NEON_CFLAGS@
+NEON_LIBS = @NEON_LIBS@
+NETTLE_CFLAGS = @NETTLE_CFLAGS@
+NETTLE_LIBS = @NETTLE_LIBS@
+NM = @NM@
+NMEDIT = @NMEDIT@
+NVENCODE_CFLAGS = @NVENCODE_CFLAGS@
+NVENCODE_LIBS = @NVENCODE_LIBS@
+OBJC = @OBJC@
+OBJCDEPMODE = @OBJCDEPMODE@
+OBJCFLAGS = @OBJCFLAGS@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OFA_CFLAGS = @OFA_CFLAGS@
+OFA_LIBS = @OFA_LIBS@
+OPENAL_CFLAGS = @OPENAL_CFLAGS@
+OPENAL_LIBS = @OPENAL_LIBS@
+OPENCV_CFLAGS = @OPENCV_CFLAGS@
+OPENCV_LIBS = @OPENCV_LIBS@
+OPENCV_PREFIX = @OPENCV_PREFIX@
+OPENEXR_CFLAGS = @OPENEXR_CFLAGS@
+OPENEXR_LIBS = @OPENEXR_LIBS@
+OPENH264_CFLAGS = @OPENH264_CFLAGS@
+OPENH264_LIBS = @OPENH264_LIBS@
+OPENJPEG_CFLAGS = @OPENJPEG_CFLAGS@
+OPENJPEG_LIBS = @OPENJPEG_LIBS@
+OPENNI2_CFLAGS = @OPENNI2_CFLAGS@
+OPENNI2_LIBS = @OPENNI2_LIBS@
+OPENSSL_CFLAGS = @OPENSSL_CFLAGS@
+OPENSSL_LIBS = @OPENSSL_LIBS@
+OPUS_CFLAGS = @OPUS_CFLAGS@
+OPUS_LIBS = @OPUS_LIBS@
+ORCC = @ORCC@
+ORCC_FLAGS = @ORCC_FLAGS@
+ORC_CFLAGS = @ORC_CFLAGS@
+ORC_LIBS = @ORC_LIBS@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PACKAGE_VERSION_MAJOR = @PACKAGE_VERSION_MAJOR@
+PACKAGE_VERSION_MICRO = @PACKAGE_VERSION_MICRO@
+PACKAGE_VERSION_MINOR = @PACKAGE_VERSION_MINOR@
+PACKAGE_VERSION_NANO = @PACKAGE_VERSION_NANO@
+PACKAGE_VERSION_RELEASE = @PACKAGE_VERSION_RELEASE@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PLUGINDIR = @PLUGINDIR@
+POSUB = @POSUB@
+PROFILE_CFLAGS = @PROFILE_CFLAGS@
+PTHREAD_CC = @PTHREAD_CC@
+PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
+PTHREAD_LIBS = @PTHREAD_LIBS@
+PVR_CFLAGS = @PVR_CFLAGS@
+PVR_LIBS = @PVR_LIBS@
+PYTHON = @PYTHON@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+QT_ANDROID_CFLAGS = @QT_ANDROID_CFLAGS@
+QT_ANDROID_LIBS = @QT_ANDROID_LIBS@
+QT_CFLAGS = @QT_CFLAGS@
+QT_LIBS = @QT_LIBS@
+QT_MAC_CFLAGS = @QT_MAC_CFLAGS@
+QT_MAC_LIBS = @QT_MAC_LIBS@
+QT_WAYLAND_CFLAGS = @QT_WAYLAND_CFLAGS@
+QT_WAYLAND_LIBS = @QT_WAYLAND_LIBS@
+QT_X11_CFLAGS = @QT_X11_CFLAGS@
+QT_X11_LIBS = @QT_X11_LIBS@
+RANLIB = @RANLIB@
+RCC = @RCC@
+RSVG_CFLAGS = @RSVG_CFLAGS@
+RSVG_LIBS = @RSVG_LIBS@
+RTMP_CFLAGS = @RTMP_CFLAGS@
+RTMP_LIBS = @RTMP_LIBS@
+SBC_CFLAGS = @SBC_CFLAGS@
+SBC_LIBS = @SBC_LIBS@
+SCHRO_CFLAGS = @SCHRO_CFLAGS@
+SCHRO_LIBS = @SCHRO_LIBS@
+SDL_CFLAGS = @SDL_CFLAGS@
+SDL_CLUTTER = @SDL_CLUTTER@
+SDL_CONFIG = @SDL_CONFIG@
+SDL_LIBS = @SDL_LIBS@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SHM_LIBS = @SHM_LIBS@
+SLV2_CFLAGS = @SLV2_CFLAGS@
+SLV2_LIBS = @SLV2_LIBS@
+SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
+SNDFILE_LIBS = @SNDFILE_LIBS@
+SNDIO_LIBS = @SNDIO_LIBS@
+SOUNDTOUCH_CFLAGS = @SOUNDTOUCH_CFLAGS@
+SOUNDTOUCH_LIBS = @SOUNDTOUCH_LIBS@
+SPANDSP_CFLAGS = @SPANDSP_CFLAGS@
+SPANDSP_LIBS = @SPANDSP_LIBS@
+SPC_LIBS = @SPC_LIBS@
+SRTP_CFLAGS = @SRTP_CFLAGS@
+SRTP_LIBS = @SRTP_LIBS@
+SSH2_CFLAGS = @SSH2_CFLAGS@
+SSH2_LIBS = @SSH2_LIBS@
+STRIP = @STRIP@
+TELETEXTDEC_CFLAGS = @TELETEXTDEC_CFLAGS@
+TELETEXTDEC_LIBS = @TELETEXTDEC_LIBS@
+TIGER_CFLAGS = @TIGER_CFLAGS@
+TIGER_LIBS = @TIGER_LIBS@
+TIMIDITY_CFLAGS = @TIMIDITY_CFLAGS@
+TIMIDITY_LIBS = @TIMIDITY_LIBS@
+UIC = @UIC@
+USE_GLES2 = @USE_GLES2@
+USE_NLS = @USE_NLS@
+USE_OPENGL = @USE_OPENGL@
+VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
+VALGRIND_LIBS = @VALGRIND_LIBS@
+VALGRIND_PATH = @VALGRIND_PATH@
+VDPAU_CFLAGS = @VDPAU_CFLAGS@
+VDPAU_LIBS = @VDPAU_LIBS@
+VERSION = @VERSION@
+VOAACENC_CFLAGS = @VOAACENC_CFLAGS@
+VOAACENC_LIBS = @VOAACENC_LIBS@
+VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
+VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
+WARNING_CFLAGS = @WARNING_CFLAGS@
+WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
+WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
+WASAPI_LIBS = @WASAPI_LIBS@
+WAYLAND_CFLAGS = @WAYLAND_CFLAGS@
+WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
+WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
+WAYLAND_LIBS = @WAYLAND_LIBS@
+WEBP_CFLAGS = @WEBP_CFLAGS@
+WEBP_LIBS = @WEBP_LIBS@
+WGET = @WGET@
+WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
+WILDMIDI_LIBS = @WILDMIDI_LIBS@
+WINKS_LIBS = @WINKS_LIBS@
+WINSCREENCAP_LIBS = @WINSCREENCAP_LIBS@
+WINSOCK2_LIBS = @WINSOCK2_LIBS@
+X11_CFLAGS = @X11_CFLAGS@
+X11_LIBS = @X11_LIBS@
+X265_CFLAGS = @X265_CFLAGS@
+X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
+XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
+XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+XVID_LIBS = @XVID_LIBS@
+X_CFLAGS = @X_CFLAGS@
+X_LIBS = @X_LIBS@
+ZBAR_CFLAGS = @ZBAR_CFLAGS@
+ZBAR_LIBS = @ZBAR_LIBS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_OBJC = @ac_ct_OBJC@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+ax_pthread_config = @ax_pthread_config@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+plugindir = @plugindir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target = @target@
+target_alias = @target_alias@
+target_cpu = @target_cpu@
+target_os = @target_os@
+target_vendor = @target_vendor@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+wayland_scanner = @wayland_scanner@
+plugin_LTLIBRARIES = libgstvulkan.la
+SUBDIRS = $(am__append_1)
+DIST_SUBDIRS = xcb
+DISTCLEANFILES = vkconfig.h
+libgstvulkan_la_SOURCES = \
+ gstvulkan.c \
+ vkdevice.c \
+ vkdisplay.c \
+ vkerror.c \
+ vkbuffermemory.c \
+ vkimagememory.c \
+ vkbufferpool.c \
+ vkinstance.c \
+ vkmemory.c \
+ vkqueue.c \
+ vksink.c \
+ vkswapper.c \
+ vkupload.c \
+ vkutils.c \
+ vkwindow.c
+
+noinst_HEADERS = \
+ vk.h \
+ vk_fwd.h \
+ vkdevice.h \
+ vkdisplay.h \
+ vkerror.h \
+ vkbuffermemory.h \
+ vkimagememory.h \
+ vkbufferpool.h \
+ vkinstance.h \
+ vkmemory.h \
+ vkqueue.h \
+ vksink.h \
+ vkswapper.h \
+ vkupload.h \
+ vkutils.h \
+ vkutils_private.h \
+ vkwindow.h
+
+libgstvulkan_la_CFLAGS = \
+ -I$(top_srcdir)/gst-libs \
+ -I$(top_builddir)/gst-libs \
+ $(GST_CFLAGS) \
+ $(GST_BASE_CFLAGS) \
+ $(GST_PLUGINS_BASE_CFLAGS) \
+ $(VULKAN_CFLAGS)
+
+libgstvulkan_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) \
+ -lgstvideo-$(GST_API_VERSION) $(VULKAN_LIBS) $(am__append_2)
+libgstvulkan_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
+libgstvulkan_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
+all: all-recursive
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ext/vulkan/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu ext/vulkan/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES)
+ @$(NORMAL_INSTALL)
+ @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
+ list2=; for p in $$list; do \
+ if test -f $$p; then \
+ list2="$$list2 $$p"; \
+ else :; fi; \
+ done; \
+ test -z "$$list2" || { \
+ echo " $(MKDIR_P) '$(DESTDIR)$(plugindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(plugindir)" || exit 1; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(plugindir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(plugindir)"; \
+ }
+
+uninstall-pluginLTLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
+ for p in $$list; do \
+ $(am__strip_dir) \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(plugindir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(plugindir)/$$f"; \
+ done
+
+clean-pluginLTLIBRARIES:
+ -test -z "$(plugin_LTLIBRARIES)" || rm -f $(plugin_LTLIBRARIES)
+ @list='$(plugin_LTLIBRARIES)'; \
+ locs=`for p in $$list; do echo $$p; done | \
+ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+ sort -u`; \
+ test -z "$$locs" || { \
+ echo rm -f $${locs}; \
+ rm -f $${locs}; \
+ }
+
+libgstvulkan.la: $(libgstvulkan_la_OBJECTS) $(libgstvulkan_la_DEPENDENCIES) $(EXTRA_libgstvulkan_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libgstvulkan_la_LINK) -rpath $(plugindir) $(libgstvulkan_la_OBJECTS) $(libgstvulkan_la_LIBADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvulkan_la-gstvulkan.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvulkan_la-vkbuffermemory.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvulkan_la-vkbufferpool.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvulkan_la-vkdevice.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvulkan_la-vkdisplay.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvulkan_la-vkerror.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvulkan_la-vkimagememory.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvulkan_la-vkinstance.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvulkan_la-vkmemory.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvulkan_la-vkqueue.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvulkan_la-vksink.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvulkan_la-vkswapper.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvulkan_la-vkupload.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvulkan_la-vkutils.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvulkan_la-vkwindow.Plo@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
+
+libgstvulkan_la-gstvulkan.lo: gstvulkan.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -MT libgstvulkan_la-gstvulkan.lo -MD -MP -MF $(DEPDIR)/libgstvulkan_la-gstvulkan.Tpo -c -o libgstvulkan_la-gstvulkan.lo `test -f 'gstvulkan.c' || echo '$(srcdir)/'`gstvulkan.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstvulkan_la-gstvulkan.Tpo $(DEPDIR)/libgstvulkan_la-gstvulkan.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstvulkan.c' object='libgstvulkan_la-gstvulkan.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 $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -c -o libgstvulkan_la-gstvulkan.lo `test -f 'gstvulkan.c' || echo '$(srcdir)/'`gstvulkan.c
+
+libgstvulkan_la-vkdevice.lo: vkdevice.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -MT libgstvulkan_la-vkdevice.lo -MD -MP -MF $(DEPDIR)/libgstvulkan_la-vkdevice.Tpo -c -o libgstvulkan_la-vkdevice.lo `test -f 'vkdevice.c' || echo '$(srcdir)/'`vkdevice.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstvulkan_la-vkdevice.Tpo $(DEPDIR)/libgstvulkan_la-vkdevice.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vkdevice.c' object='libgstvulkan_la-vkdevice.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 $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -c -o libgstvulkan_la-vkdevice.lo `test -f 'vkdevice.c' || echo '$(srcdir)/'`vkdevice.c
+
+libgstvulkan_la-vkdisplay.lo: vkdisplay.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -MT libgstvulkan_la-vkdisplay.lo -MD -MP -MF $(DEPDIR)/libgstvulkan_la-vkdisplay.Tpo -c -o libgstvulkan_la-vkdisplay.lo `test -f 'vkdisplay.c' || echo '$(srcdir)/'`vkdisplay.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstvulkan_la-vkdisplay.Tpo $(DEPDIR)/libgstvulkan_la-vkdisplay.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vkdisplay.c' object='libgstvulkan_la-vkdisplay.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 $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -c -o libgstvulkan_la-vkdisplay.lo `test -f 'vkdisplay.c' || echo '$(srcdir)/'`vkdisplay.c
+
+libgstvulkan_la-vkerror.lo: vkerror.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -MT libgstvulkan_la-vkerror.lo -MD -MP -MF $(DEPDIR)/libgstvulkan_la-vkerror.Tpo -c -o libgstvulkan_la-vkerror.lo `test -f 'vkerror.c' || echo '$(srcdir)/'`vkerror.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstvulkan_la-vkerror.Tpo $(DEPDIR)/libgstvulkan_la-vkerror.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vkerror.c' object='libgstvulkan_la-vkerror.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 $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -c -o libgstvulkan_la-vkerror.lo `test -f 'vkerror.c' || echo '$(srcdir)/'`vkerror.c
+
+libgstvulkan_la-vkbuffermemory.lo: vkbuffermemory.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -MT libgstvulkan_la-vkbuffermemory.lo -MD -MP -MF $(DEPDIR)/libgstvulkan_la-vkbuffermemory.Tpo -c -o libgstvulkan_la-vkbuffermemory.lo `test -f 'vkbuffermemory.c' || echo '$(srcdir)/'`vkbuffermemory.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstvulkan_la-vkbuffermemory.Tpo $(DEPDIR)/libgstvulkan_la-vkbuffermemory.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vkbuffermemory.c' object='libgstvulkan_la-vkbuffermemory.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 $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -c -o libgstvulkan_la-vkbuffermemory.lo `test -f 'vkbuffermemory.c' || echo '$(srcdir)/'`vkbuffermemory.c
+
+libgstvulkan_la-vkimagememory.lo: vkimagememory.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -MT libgstvulkan_la-vkimagememory.lo -MD -MP -MF $(DEPDIR)/libgstvulkan_la-vkimagememory.Tpo -c -o libgstvulkan_la-vkimagememory.lo `test -f 'vkimagememory.c' || echo '$(srcdir)/'`vkimagememory.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstvulkan_la-vkimagememory.Tpo $(DEPDIR)/libgstvulkan_la-vkimagememory.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vkimagememory.c' object='libgstvulkan_la-vkimagememory.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 $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -c -o libgstvulkan_la-vkimagememory.lo `test -f 'vkimagememory.c' || echo '$(srcdir)/'`vkimagememory.c
+
+libgstvulkan_la-vkbufferpool.lo: vkbufferpool.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -MT libgstvulkan_la-vkbufferpool.lo -MD -MP -MF $(DEPDIR)/libgstvulkan_la-vkbufferpool.Tpo -c -o libgstvulkan_la-vkbufferpool.lo `test -f 'vkbufferpool.c' || echo '$(srcdir)/'`vkbufferpool.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstvulkan_la-vkbufferpool.Tpo $(DEPDIR)/libgstvulkan_la-vkbufferpool.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vkbufferpool.c' object='libgstvulkan_la-vkbufferpool.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 $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -c -o libgstvulkan_la-vkbufferpool.lo `test -f 'vkbufferpool.c' || echo '$(srcdir)/'`vkbufferpool.c
+
+libgstvulkan_la-vkinstance.lo: vkinstance.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -MT libgstvulkan_la-vkinstance.lo -MD -MP -MF $(DEPDIR)/libgstvulkan_la-vkinstance.Tpo -c -o libgstvulkan_la-vkinstance.lo `test -f 'vkinstance.c' || echo '$(srcdir)/'`vkinstance.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstvulkan_la-vkinstance.Tpo $(DEPDIR)/libgstvulkan_la-vkinstance.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vkinstance.c' object='libgstvulkan_la-vkinstance.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 $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -c -o libgstvulkan_la-vkinstance.lo `test -f 'vkinstance.c' || echo '$(srcdir)/'`vkinstance.c
+
+libgstvulkan_la-vkmemory.lo: vkmemory.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -MT libgstvulkan_la-vkmemory.lo -MD -MP -MF $(DEPDIR)/libgstvulkan_la-vkmemory.Tpo -c -o libgstvulkan_la-vkmemory.lo `test -f 'vkmemory.c' || echo '$(srcdir)/'`vkmemory.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstvulkan_la-vkmemory.Tpo $(DEPDIR)/libgstvulkan_la-vkmemory.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vkmemory.c' object='libgstvulkan_la-vkmemory.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 $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -c -o libgstvulkan_la-vkmemory.lo `test -f 'vkmemory.c' || echo '$(srcdir)/'`vkmemory.c
+
+libgstvulkan_la-vkqueue.lo: vkqueue.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -MT libgstvulkan_la-vkqueue.lo -MD -MP -MF $(DEPDIR)/libgstvulkan_la-vkqueue.Tpo -c -o libgstvulkan_la-vkqueue.lo `test -f 'vkqueue.c' || echo '$(srcdir)/'`vkqueue.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstvulkan_la-vkqueue.Tpo $(DEPDIR)/libgstvulkan_la-vkqueue.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vkqueue.c' object='libgstvulkan_la-vkqueue.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 $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -c -o libgstvulkan_la-vkqueue.lo `test -f 'vkqueue.c' || echo '$(srcdir)/'`vkqueue.c
+
+libgstvulkan_la-vksink.lo: vksink.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -MT libgstvulkan_la-vksink.lo -MD -MP -MF $(DEPDIR)/libgstvulkan_la-vksink.Tpo -c -o libgstvulkan_la-vksink.lo `test -f 'vksink.c' || echo '$(srcdir)/'`vksink.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstvulkan_la-vksink.Tpo $(DEPDIR)/libgstvulkan_la-vksink.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vksink.c' object='libgstvulkan_la-vksink.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 $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -c -o libgstvulkan_la-vksink.lo `test -f 'vksink.c' || echo '$(srcdir)/'`vksink.c
+
+libgstvulkan_la-vkswapper.lo: vkswapper.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -MT libgstvulkan_la-vkswapper.lo -MD -MP -MF $(DEPDIR)/libgstvulkan_la-vkswapper.Tpo -c -o libgstvulkan_la-vkswapper.lo `test -f 'vkswapper.c' || echo '$(srcdir)/'`vkswapper.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstvulkan_la-vkswapper.Tpo $(DEPDIR)/libgstvulkan_la-vkswapper.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vkswapper.c' object='libgstvulkan_la-vkswapper.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 $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -c -o libgstvulkan_la-vkswapper.lo `test -f 'vkswapper.c' || echo '$(srcdir)/'`vkswapper.c
+
+libgstvulkan_la-vkupload.lo: vkupload.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -MT libgstvulkan_la-vkupload.lo -MD -MP -MF $(DEPDIR)/libgstvulkan_la-vkupload.Tpo -c -o libgstvulkan_la-vkupload.lo `test -f 'vkupload.c' || echo '$(srcdir)/'`vkupload.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstvulkan_la-vkupload.Tpo $(DEPDIR)/libgstvulkan_la-vkupload.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vkupload.c' object='libgstvulkan_la-vkupload.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 $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -c -o libgstvulkan_la-vkupload.lo `test -f 'vkupload.c' || echo '$(srcdir)/'`vkupload.c
+
+libgstvulkan_la-vkutils.lo: vkutils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -MT libgstvulkan_la-vkutils.lo -MD -MP -MF $(DEPDIR)/libgstvulkan_la-vkutils.Tpo -c -o libgstvulkan_la-vkutils.lo `test -f 'vkutils.c' || echo '$(srcdir)/'`vkutils.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstvulkan_la-vkutils.Tpo $(DEPDIR)/libgstvulkan_la-vkutils.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vkutils.c' object='libgstvulkan_la-vkutils.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 $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -c -o libgstvulkan_la-vkutils.lo `test -f 'vkutils.c' || echo '$(srcdir)/'`vkutils.c
+
+libgstvulkan_la-vkwindow.lo: vkwindow.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -MT libgstvulkan_la-vkwindow.lo -MD -MP -MF $(DEPDIR)/libgstvulkan_la-vkwindow.Tpo -c -o libgstvulkan_la-vkwindow.lo `test -f 'vkwindow.c' || echo '$(srcdir)/'`vkwindow.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstvulkan_la-vkwindow.Tpo $(DEPDIR)/libgstvulkan_la-vkwindow.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vkwindow.c' object='libgstvulkan_la-vkwindow.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 $(libgstvulkan_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_la_CFLAGS) $(CFLAGS) -c -o libgstvulkan_la-vkwindow.lo `test -f 'vkwindow.c' || echo '$(srcdir)/'`vkwindow.c
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run 'make' without going through this Makefile.
+# To change the values of 'make' variables: instead of editing Makefiles,
+# (1) if the variable is set in 'config.status', edit 'config.status'
+# (which will cause the Makefiles to be regenerated when you run 'make');
+# (2) otherwise, pass the desired values on the 'make' command line.
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ case "$@" in \
+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+ *) list='$(SUBDIRS)' ;; \
+ esac; \
+ for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || eval $$failcom; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+ include_option=--etags-include; \
+ empty_fix=.; \
+ else \
+ include_option=--include; \
+ empty_fix=; \
+ fi; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test ! -f $$subdir/TAGS || \
+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscopelist: cscopelist-recursive
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ $(am__make_dryrun) \
+ || test -d "$(distdir)/$$subdir" \
+ || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || exit 1; \
+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+ $(am__relativize); \
+ new_distdir=$$reldir; \
+ dir1=$$subdir; dir2="$(top_distdir)"; \
+ $(am__relativize); \
+ new_top_distdir=$$reldir; \
+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+ ($(am__cd) $$subdir && \
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$$new_top_distdir" \
+ distdir="$$new_distdir" \
+ am__remove_distdir=: \
+ am__skip_length_check=: \
+ am__skip_mode_fix=: \
+ distdir) \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-recursive
+all-am: Makefile $(LTLIBRARIES) $(HEADERS)
+installdirs: installdirs-recursive
+installdirs-am:
+ for dir in "$(DESTDIR)$(plugindir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic clean-libtool clean-pluginLTLIBRARIES \
+ mostlyclean-am
+
+distclean: distclean-recursive
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-pluginLTLIBRARIES
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -rf ./$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-pluginLTLIBRARIES
+
+.MAKE: $(am__recursive_targets) install-am install-strip
+
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
+ check-am clean clean-generic clean-libtool \
+ clean-pluginLTLIBRARIES cscopelist-am ctags ctags-am distclean \
+ distclean-compile distclean-generic distclean-libtool \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-pluginLTLIBRARIES \
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am \
+ uninstall-pluginLTLIBRARIES
+
+.PRECIOUS: Makefile
+
+
+# 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.
+.NOEXPORT:
diff --git a/ext/vulkan/gstvulkan.c b/ext/vulkan/gstvulkan.c
new file mode 100644
index 0000000..7158895
--- /dev/null
+++ b/ext/vulkan/gstvulkan.c
@@ -0,0 +1,68 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * SECTION:plugin-vulkan
+ *
+ * Cross-platform Vulkan plugin.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "vksink.h"
+#include "vkupload.h"
+
+#if GST_VULKAN_HAVE_WINDOW_X11
+#include <X11/Xlib.h>
+#endif
+
+#define GST_CAT_DEFAULT gst_gl_gstgl_debug
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
+
+static gboolean
+plugin_init (GstPlugin * plugin)
+{
+ GST_DEBUG_CATEGORY_INIT (gst_gl_gstgl_debug, "gstvulkan", 0, "gstvulkan");
+
+#if GST_VULKAN_HAVE_WINDOW_X11
+ if (g_getenv ("GST_VULKAN_XINITTHREADS"))
+ XInitThreads ();
+#endif
+
+ if (!gst_element_register (plugin, "vulkansink",
+ GST_RANK_NONE, GST_TYPE_VULKAN_SINK)) {
+ return FALSE;
+ }
+
+ if (!gst_element_register (plugin, "vulkanupload",
+ GST_RANK_NONE, GST_TYPE_VULKAN_UPLOAD)) {
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+ GST_VERSION_MINOR,
+ vulkan,
+ "Vulkan plugin",
+ plugin_init, VERSION, GST_LICENSE, GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN)
diff --git a/ext/vulkan/vk.h b/ext/vulkan/vk.h
new file mode 100644
index 0000000..0225ed3
--- /dev/null
+++ b/ext/vulkan/vk.h
@@ -0,0 +1,41 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _VK_H_
+#define _VK_H_
+
+#include <gst/gst.h>
+
+#include "vkapi.h"
+
+#include "vkerror.h"
+#include "vkinstance.h"
+#include "vkdevice.h"
+#include "vkqueue.h"
+#include "vkdisplay.h"
+#include "vkwindow.h"
+#include "vkswapper.h"
+#include "vkmemory.h"
+#include "vkbuffermemory.h"
+#include "vkimagememory.h"
+#include "vkbufferpool.h"
+#include "vkutils.h"
+
+#endif /* _VK_H_ */
diff --git a/ext/vulkan/vk_fwd.h b/ext/vulkan/vk_fwd.h
new file mode 100644
index 0000000..ed6f024
--- /dev/null
+++ b/ext/vulkan/vk_fwd.h
@@ -0,0 +1,71 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _VK_FWD_H_
+#define _VK_FWD_H_
+
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+
+typedef struct _GstVulkanInstance GstVulkanInstance;
+typedef struct _GstVulkanInstanceClass GstVulkanInstanceClass;
+typedef struct _GstVulkanInstancePrivate GstVulkanInstancePrivate;
+
+typedef struct _GstVulkanDevice GstVulkanDevice;
+typedef struct _GstVulkanDeviceClass GstVulkanDeviceClass;
+typedef struct _GstVulkanDevicePrivate GstVulkanDevicePrivate;
+
+typedef struct _GstVulkanQueue GstVulkanQueue;
+typedef struct _GstVulkanQueueClass GstVulkanQueueClass;
+
+typedef enum _GstVulkanDisplayType GstVulkanDisplayType;
+
+typedef struct _GstVulkanDisplay GstVulkanDisplay;
+typedef struct _GstVulkanDisplayClass GstVulkanDisplayClass;
+typedef struct _GstVulkanDisplayPrivate GstVulkanDisplayPrivate;
+
+typedef struct _GstVulkanWindow GstVulkanWindow;
+typedef struct _GstVulkanWindowClass GstVulkanWindowClass;
+typedef struct _GstVulkanWindowPrivate GstVulkanWindowPrivate;
+
+typedef struct _GstVulkanSwapper GstVulkanSwapper;
+typedef struct _GstVulkanSwapperClass GstVulkanSwapperClass;
+typedef struct _GstVulkanSwapperPrivate GstVulkanSwapperPrivate;
+
+typedef struct _GstVulkanMemory GstVulkanMemory;
+typedef struct _GstVulkanMemoryAllocator GstVulkanMemoryAllocator;
+typedef struct _GstVulkanMemoryAllocatorClass GstVulkanMemoryAllocatorClass;
+
+typedef struct _GstVulkanBufferMemory GstVulkanBufferMemory;
+typedef struct _GstVulkanBufferMemoryAllocator GstVulkanBufferMemoryAllocator;
+typedef struct _GstVulkanBufferMemoryAllocatorClass GstVulkanBufferMemoryAllocatorClass;
+
+typedef struct _GstVulkanImageMemory GstVulkanImageMemory;
+typedef struct _GstVulkanImageMemoryAllocator GstVulkanImageMemoryAllocator;
+typedef struct _GstVulkanImageMemoryAllocatorClass GstVulkanImageMemoryAllocatorClass;
+
+typedef struct _GstVulkanBufferPool GstVulkanBufferPool;
+typedef struct _GstVulkanBufferPoolClass GstVulkanBufferPoolClass;
+typedef struct _GstVulkanBufferPoolPrivate GstVulkanBufferPoolPrivate;
+
+G_END_DECLS
+
+#endif /* _VK_FWD_H_ */
diff --git a/ext/vulkan/vkbuffermemory.c b/ext/vulkan/vkbuffermemory.c
new file mode 100644
index 0000000..e54d159
--- /dev/null
+++ b/ext/vulkan/vkbuffermemory.c
@@ -0,0 +1,432 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "vkbuffermemory.h"
+
+/**
+ * SECTION:vkbuffermemory
+ * @short_description: memory subclass for Vulkan buffer memory
+ * @see_also: #GstMemory, #GstAllocator
+ *
+ * GstVulkanBufferMemory is a #GstMemory subclass providing support for the
+ * mapping of Vulkan device memory.
+ */
+
+#define GST_CAT_DEFUALT GST_CAT_VULKAN_BUFFER_MEMORY
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFUALT);
+
+static GstAllocator *_vulkan_buffer_memory_allocator;
+
+#define GST_VK_BUFFER_CREATE_INFO_INIT GST_VK_STRUCT_8
+#define GST_VK_BUFFER_CREATE_INFO(info, pNext, flags, size, usage, sharingMode, queueFamilyIndexCount, pQueueFamilyIndices ) \
+ G_STMT_START { \
+ VkBufferCreateInfo tmp = GST_VK_BUFFER_CREATE_INFO_INIT (VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO, pNext, flags, size, usage, sharingMode, queueFamilyIndexCount, pQueueFamilyIndices); \
+ (info) = tmp; \
+ } G_STMT_END
+
+static gboolean
+_create_info_from_args (VkBufferCreateInfo * info, gsize size,
+ VkBufferUsageFlags usage)
+{
+ /* FIXME: validate these */
+ GST_VK_BUFFER_CREATE_INFO (*info, NULL, 0, size, usage,
+ VK_SHARING_MODE_EXCLUSIVE, 0, NULL);
+
+ return TRUE;
+}
+
+#define GST_VK_BUFFER_VIEW_CREATE_INFO_INIT GST_VK_STRUCT_7
+#define GST_VK_BUFFER_VIEW_CREATE_INFO(info, pNext, flags, buffer, format, offset, range) \
+ G_STMT_START { \
+ VkBufferViewCreateInfo tmp = GST_VK_BUFFER_VIEW_CREATE_INFO_INIT (VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO, pNext, flags, buffer, format, offset, range); \
+ (info) = tmp; \
+ } G_STMT_END
+
+static gboolean
+_create_view_from_args (VkBufferViewCreateInfo * info, VkBuffer buffer,
+ VkFormat format, gsize offset, gsize range)
+{
+ /* FIXME: validate these */
+ g_assert (format != VK_FORMAT_UNDEFINED);
+
+ GST_VK_BUFFER_VIEW_CREATE_INFO (*info, NULL, 0, buffer, format, offset,
+ range);
+
+ return TRUE;
+}
+
+static void
+_vk_buffer_mem_init (GstVulkanBufferMemory * mem, GstAllocator * allocator,
+ GstMemory * parent, GstVulkanDevice * device, VkBufferUsageFlags usage,
+ GstAllocationParams * params, gsize size, gpointer user_data,
+ GDestroyNotify notify)
+{
+ gsize align = gst_memory_alignment, offset = 0, maxsize = size;
+ GstMemoryFlags flags = 0;
+
+ if (params) {
+ flags = params->flags;
+ align |= params->align;
+ offset = params->prefix;
+ maxsize += params->prefix + params->padding + align;
+ }
+
+ gst_memory_init (GST_MEMORY_CAST (mem), flags, allocator, parent, maxsize,
+ align, offset, size);
+
+ mem->device = gst_object_ref (device);
+ mem->wrapped = FALSE;
+ mem->notify = notify;
+ mem->user_data = user_data;
+
+ g_mutex_init (&mem->lock);
+
+ GST_CAT_DEBUG (GST_CAT_VULKAN_BUFFER_MEMORY,
+ "new Vulkan Buffer memory:%p size:%" G_GSIZE_FORMAT, mem, maxsize);
+}
+
+static GstVulkanBufferMemory *
+_vk_buffer_mem_new_alloc (GstAllocator * allocator, GstMemory * parent,
+ GstVulkanDevice * device, VkFormat format, gsize size,
+ VkBufferUsageFlags usage, VkMemoryPropertyFlags mem_prop_flags,
+ gpointer user_data, GDestroyNotify notify)
+{
+ GstVulkanBufferMemory *mem = NULL;
+ GstAllocationParams params = { 0, };
+ VkBufferCreateInfo buffer_info;
+ GError *error = NULL;
+ guint32 type_idx;
+ VkBuffer buffer;
+ VkResult err;
+
+ if (!_create_info_from_args (&buffer_info, size, usage)) {
+ GST_CAT_ERROR (GST_CAT_VULKAN_BUFFER_MEMORY, "Incorrect buffer parameters");
+ goto error;
+ }
+
+ err = vkCreateBuffer (device->device, &buffer_info, NULL, &buffer);
+ if (gst_vulkan_error_to_g_error (err, &error, "vkCreateBuffer") < 0)
+ goto vk_error;
+
+ mem = g_new0 (GstVulkanBufferMemory, 1);
+ vkGetBufferMemoryRequirements (device->device, buffer, &mem->requirements);
+
+ /* XXX: assumes alignment is a power of 2 */
+ params.align = mem->requirements.alignment - 1;
+ _vk_buffer_mem_init (mem, allocator, parent, device, usage, ¶ms,
+ mem->requirements.size, user_data, notify);
+ mem->buffer = buffer;
+
+ if (!gst_vulkan_memory_find_memory_type_index_with_type_properties (device,
+ mem->requirements.memoryTypeBits, mem_prop_flags, &type_idx))
+ goto error;
+
+ mem->vk_mem = (GstVulkanMemory *) gst_vulkan_memory_alloc (device, type_idx,
+ ¶ms, mem->requirements.size, mem_prop_flags);
+ if (!mem->vk_mem)
+ goto error;
+
+ err = vkBindBufferMemory (device->device, buffer, mem->vk_mem->mem_ptr, 0);
+ if (gst_vulkan_error_to_g_error (err, &error, "vkBindBufferMemory") < 0)
+ goto vk_error;
+
+ if (usage & (VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT |
+ VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT |
+ VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT |
+ VK_BUFFER_USAGE_STORAGE_BUFFER_BIT |
+ VK_BUFFER_USAGE_INDEX_BUFFER_BIT |
+ VK_BUFFER_USAGE_VERTEX_BUFFER_BIT |
+ VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT)) {
+ VkBufferViewCreateInfo view_info;
+
+ _create_view_from_args (&view_info, mem->buffer, format, 0,
+ mem->requirements.size);
+ err = vkCreateBufferView (device->device, &view_info, NULL, &mem->view);
+ if (gst_vulkan_error_to_g_error (err, &error, "vkCreateBufferView") < 0)
+ goto vk_error;
+ }
+
+ return mem;
+
+vk_error:
+ {
+ GST_CAT_ERROR (GST_CAT_VULKAN_BUFFER_MEMORY,
+ "Failed to allocate buffer memory %s", error->message);
+ g_clear_error (&error);
+ goto error;
+ }
+
+error:
+ {
+ if (mem)
+ gst_memory_unref ((GstMemory *) mem);
+ return NULL;
+ }
+}
+
+static GstVulkanBufferMemory *
+_vk_buffer_mem_new_wrapped (GstAllocator * allocator, GstMemory * parent,
+ GstVulkanDevice * device, VkBuffer buffer, VkFormat format,
+ VkBufferUsageFlags usage, gpointer user_data, GDestroyNotify notify)
+{
+ GstVulkanBufferMemory *mem = g_new0 (GstVulkanBufferMemory, 1);
+ GstAllocationParams params = { 0, };
+ GError *error = NULL;
+ VkResult err;
+
+ mem->buffer = buffer;
+
+ vkGetBufferMemoryRequirements (device->device, mem->buffer,
+ &mem->requirements);
+
+ params.align = mem->requirements.alignment - 1;
+ params.flags = GST_MEMORY_FLAG_NOT_MAPPABLE;
+ _vk_buffer_mem_init (mem, allocator, parent, device, usage, ¶ms,
+ mem->requirements.size, user_data, notify);
+ mem->wrapped = TRUE;
+
+ /* XXX: we don't actually if the buffer has a vkDeviceMemory bound so
+ * this may fail */
+ if (usage & (VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT |
+ VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT |
+ VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT |
+ VK_BUFFER_USAGE_STORAGE_BUFFER_BIT |
+ VK_BUFFER_USAGE_INDEX_BUFFER_BIT |
+ VK_BUFFER_USAGE_VERTEX_BUFFER_BIT |
+ VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT)) {
+ VkBufferViewCreateInfo view_info;
+
+ _create_view_from_args (&view_info, mem->buffer, format, 0,
+ mem->requirements.size);
+ err = vkCreateBufferView (device->device, &view_info, NULL, &mem->view);
+ if (gst_vulkan_error_to_g_error (err, &error, "vkCreateBufferView") < 0)
+ goto vk_error;
+ }
+
+ return mem;
+
+vk_error:
+ {
+ GST_CAT_ERROR (GST_CAT_VULKAN_BUFFER_MEMORY,
+ "Failed to allocate buffer memory %s", error->message);
+ g_clear_error (&error);
+ goto error;
+ }
+
+error:
+ {
+ gst_memory_unref ((GstMemory *) mem);
+ return NULL;
+ }
+}
+
+static gpointer
+_vk_buffer_mem_map_full (GstVulkanBufferMemory * mem, GstMapInfo * info,
+ gsize size)
+{
+ GstMapInfo *vk_map_info;
+
+ /* FIXME: possible barrier needed */
+ g_mutex_lock (&mem->lock);
+
+ if (!mem->vk_mem) {
+ g_mutex_unlock (&mem->lock);
+ return NULL;
+ }
+
+ vk_map_info = g_new0 (GstMapInfo, 1);
+ info->user_data[0] = vk_map_info;
+ if (!gst_memory_map ((GstMemory *) mem->vk_mem, vk_map_info, info->flags)) {
+ g_free (vk_map_info);
+ g_mutex_unlock (&mem->lock);
+ return NULL;
+ }
+ g_mutex_unlock (&mem->lock);
+
+ return vk_map_info->data;
+}
+
+static void
+_vk_buffer_mem_unmap_full (GstVulkanBufferMemory * mem, GstMapInfo * info)
+{
+ g_mutex_lock (&mem->lock);
+ gst_memory_unmap ((GstMemory *) mem->vk_mem, info->user_data[0]);
+ g_mutex_unlock (&mem->lock);
+
+ g_free (info->user_data[0]);
+}
+
+static GstMemory *
+_vk_buffer_mem_copy (GstVulkanBufferMemory * src, gssize offset, gssize size)
+{
+ return NULL;
+}
+
+static GstMemory *
+_vk_buffer_mem_share (GstVulkanBufferMemory * mem, gssize offset, gssize size)
+{
+ return NULL;
+}
+
+static gboolean
+_vk_buffer_mem_is_span (GstVulkanBufferMemory * mem1,
+ GstVulkanBufferMemory * mem2, gsize * offset)
+{
+ return FALSE;
+}
+
+static GstMemory *
+_vk_buffer_mem_alloc (GstAllocator * allocator, gsize size,
+ GstAllocationParams * params)
+{
+ g_critical ("Subclass should override GstAllocatorClass::alloc() function");
+
+ return NULL;
+}
+
+static void
+_vk_buffer_mem_free (GstAllocator * allocator, GstMemory * memory)
+{
+ GstVulkanBufferMemory *mem = (GstVulkanBufferMemory *) memory;
+
+ GST_CAT_TRACE (GST_CAT_VULKAN_BUFFER_MEMORY, "freeing buffer memory:%p "
+ "id:%" G_GUINT64_FORMAT, mem, (guint64) mem->buffer);
+
+ if (mem->buffer && !mem->wrapped)
+ vkDestroyBuffer (mem->device->device, mem->buffer, NULL);
+
+ if (mem->view)
+ vkDestroyBufferView (mem->device->device, mem->view, NULL);
+
+ if (mem->vk_mem)
+ gst_memory_unref ((GstMemory *) mem->vk_mem);
+
+ if (mem->notify)
+ mem->notify (mem->user_data);
+
+ gst_object_unref (mem->device);
+}
+
+/**
+ * gst_vulkan_buffer_memory_alloc:
+ * @device:a #GstVulkanDevice
+ * @memory_type_index: the Vulkan memory type index
+ * @params: a #GstAllocationParams
+ * @size: the size to allocate
+ *
+ * Allocated a new #GstVulkanBufferMemory.
+ *
+ * Returns: a #GstMemory object backed by a vulkan device memory
+ */
+GstMemory *
+gst_vulkan_buffer_memory_alloc (GstVulkanDevice * device, VkFormat format,
+ gsize size, VkBufferUsageFlags usage, VkMemoryPropertyFlags mem_prop_flags)
+{
+ GstVulkanBufferMemory *mem;
+
+ mem = _vk_buffer_mem_new_alloc (_vulkan_buffer_memory_allocator, NULL, device,
+ format, size, usage, mem_prop_flags, NULL, NULL);
+
+ return (GstMemory *) mem;
+}
+
+GstMemory *
+gst_vulkan_buffer_memory_wrapped (GstVulkanDevice * device, VkBuffer buffer,
+ VkFormat format, VkBufferUsageFlags usage, gpointer user_data,
+ GDestroyNotify notify)
+{
+ GstVulkanBufferMemory *mem;
+
+ mem =
+ _vk_buffer_mem_new_wrapped (_vulkan_buffer_memory_allocator, NULL, device,
+ buffer, format, usage, user_data, notify);
+
+ return (GstMemory *) mem;
+}
+
+G_DEFINE_TYPE (GstVulkanBufferMemoryAllocator,
+ gst_vulkan_buffer_memory_allocator, GST_TYPE_ALLOCATOR);
+
+static void
+ gst_vulkan_buffer_memory_allocator_class_init
+ (GstVulkanBufferMemoryAllocatorClass * klass)
+{
+ GstAllocatorClass *allocator_class = (GstAllocatorClass *) klass;
+
+ allocator_class->alloc = _vk_buffer_mem_alloc;
+ allocator_class->free = _vk_buffer_mem_free;
+}
+
+static void
+gst_vulkan_buffer_memory_allocator_init (GstVulkanBufferMemoryAllocator *
+ allocator)
+{
+ GstAllocator *alloc = GST_ALLOCATOR_CAST (allocator);
+
+ alloc->mem_type = GST_VULKAN_BUFFER_MEMORY_ALLOCATOR_NAME;
+ alloc->mem_map_full = (GstMemoryMapFullFunction) _vk_buffer_mem_map_full;
+ alloc->mem_unmap_full =
+ (GstMemoryUnmapFullFunction) _vk_buffer_mem_unmap_full;
+ alloc->mem_copy = (GstMemoryCopyFunction) _vk_buffer_mem_copy;
+ alloc->mem_share = (GstMemoryShareFunction) _vk_buffer_mem_share;
+ alloc->mem_is_span = (GstMemoryIsSpanFunction) _vk_buffer_mem_is_span;
+}
+
+/**
+ * gst_vulkan_buffer_memory_init_once:
+ *
+ * Initializes the Vulkan memory allocator. It is safe to call this function
+ * multiple times. This must be called before any other #GstVulkanBufferMemory operation.
+ */
+void
+gst_vulkan_buffer_memory_init_once (void)
+{
+ static volatile gsize _init = 0;
+
+ if (g_once_init_enter (&_init)) {
+ GST_DEBUG_CATEGORY_INIT (GST_CAT_VULKAN_BUFFER_MEMORY, "vulkanbuffermemory",
+ 0, "Vulkan Buffer Memory");
+
+ _vulkan_buffer_memory_allocator =
+ g_object_new (gst_vulkan_buffer_memory_allocator_get_type (), NULL);
+
+ gst_allocator_register (GST_VULKAN_BUFFER_MEMORY_ALLOCATOR_NAME,
+ gst_object_ref (_vulkan_buffer_memory_allocator));
+ g_once_init_leave (&_init, 1);
+ }
+}
+
+/**
+ * gst_is_vulkan_buffer_memory:
+ * @mem:a #GstMemory
+ *
+ * Returns: whether the memory at @mem is a #GstVulkanBufferMemory
+ */
+gboolean
+gst_is_vulkan_buffer_memory (GstMemory * mem)
+{
+ return mem != NULL && mem->allocator != NULL &&
+ g_type_is_a (G_OBJECT_TYPE (mem->allocator),
+ GST_TYPE_VULKAN_BUFFER_MEMORY_ALLOCATOR);
+}
diff --git a/ext/vulkan/vkbuffermemory.h b/ext/vulkan/vkbuffermemory.h
new file mode 100644
index 0000000..3b58282
--- /dev/null
+++ b/ext/vulkan/vkbuffermemory.h
@@ -0,0 +1,102 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _VK_BUFFER_MEMORY_H_
+#define _VK_BUFFER_MEMORY_H_
+
+#include <gst/gst.h>
+#include <gst/gstallocator.h>
+#include <gst/gstmemory.h>
+
+#include <vk.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_VULKAN_BUFFER_MEMORY_ALLOCATOR (gst_vulkan_buffer_memory_allocator_get_type())
+GType gst_vulkan_buffer_memory_allocator_get_type(void);
+
+#define GST_IS_VULKAN_BUFFER_MEMORY_ALLOCATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_VULKAN_BUFFER_MEMORY_ALLOCATOR))
+#define GST_IS_VULKAN_BUFFER_MEMORY_ALLOCATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_VULKAN_BUFFER_MEMORY_ALLOCATOR))
+#define GST_VULKAN_BUFFER_MEMORY_ALLOCATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_VULKAN_MEMORY_ALLOCATOR, GstVulkanBufferMemoryAllocatorClass))
+#define GST_VULKAN_BUFFER_MEMORY_ALLOCATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_VULKAN_MEMORY_ALLOCATOR, GstVulkanBufferMemoryAllocator))
+#define GST_VULKAN_BUFFER_MEMORY_ALLOCATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_VULKAN_MEMORY_ALLOCATOR, GstVulkanBufferMemoryAllocatorClass))
+#define GST_VULKAN_BUFFER_MEMORY_ALLOCATOR_CAST(obj) ((GstVulkanBufferMemoryAllocator *)(obj))
+
+#define GST_VULKAN_BUFFER_MEMORY_ALLOCATOR_NAME "VulkanBuffer"
+#define GST_CAPS_FEATURE_MEMORY_VULKAN_BUFFER "memory:" GST_VULKAN_BUFFER_MEMORY_ALLOCATOR_NAME
+
+struct _GstVulkanBufferMemory
+{
+ GstMemory parent;
+
+ GstVulkanDevice * device;
+
+ VkBuffer buffer;
+ VkBufferView view;
+ GstVulkanMemory *vk_mem;
+
+ VkMemoryRequirements requirements;
+ VkBufferUsageFlags usage;
+
+ GMutex lock;
+ gboolean wrapped;
+ GDestroyNotify notify;
+ gpointer user_data;
+};
+
+/**
+ * GstVulkanBufferMemoryAllocator
+ *
+ * Opaque #GstVulkanBufferMemoryAllocator struct
+ */
+struct _GstVulkanBufferMemoryAllocator
+{
+ GstAllocator parent;
+};
+
+/**
+ * GstVulkanBufferMemoryAllocatorClass:
+ *
+ * The #GstVulkanBufferMemoryAllocatorClass only contains private data
+ */
+struct _GstVulkanBufferMemoryAllocatorClass
+{
+ GstAllocatorClass parent_class;
+};
+
+void gst_vulkan_buffer_memory_init_once (void);
+gboolean gst_is_vulkan_buffer_memory (GstMemory * mem);
+
+GstMemory * gst_vulkan_buffer_memory_alloc (GstVulkanDevice * device,
+ VkFormat format,
+ gsize size,
+ VkBufferUsageFlags usage,
+ VkMemoryPropertyFlags mem_prop_flags);
+
+GstMemory * gst_vulkan_buffer_memory_wrapped (GstVulkanDevice * device,
+ VkBuffer buffer,
+ VkFormat format,
+ VkBufferUsageFlags usage,
+ gpointer user_data,
+ GDestroyNotify notify);
+
+G_END_DECLS
+
+#endif /* _VK_BUFFER_MEMORY_H_ */
diff --git a/ext/vulkan/vkbufferpool.c b/ext/vulkan/vkbufferpool.c
new file mode 100644
index 0000000..01fb2fb
--- /dev/null
+++ b/ext/vulkan/vkbufferpool.c
@@ -0,0 +1,256 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "vkbufferpool.h"
+
+/**
+ * SECTION:vkbufferpool
+ * @short_description: buffer pool for #GstVulkanBufferMemory objects
+ * @see_also: #GstBufferPool, #GstVulkanBufferMemory
+ *
+ * a #GstVulkanBufferPool is an object that allocates buffers with #GstVulkanBufferMemory
+ *
+ * A #GstVulkanBufferPool is created with gst_vulkan_buffer_pool_new()
+ *
+ * #GstVulkanBufferPool implements the VideoMeta buffer pool option
+ * #GST_BUFFER_POOL_OPTION_VIDEO_META
+ */
+
+/* bufferpool */
+struct _GstVulkanBufferPoolPrivate
+{
+ GstCaps *caps;
+ GstVideoInfo v_info;
+ gboolean add_videometa;
+ gsize alloc_sizes[GST_VIDEO_MAX_PLANES];
+};
+
+static void gst_vulkan_buffer_pool_finalize (GObject * object);
+
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_VULKAN_BUFFER_POOL);
+#define GST_CAT_DEFAULT GST_CAT_VULKAN_BUFFER_POOL
+
+#define GST_VULKAN_BUFFER_POOL_GET_PRIVATE(obj) \
+ (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GST_TYPE_VULKAN_BUFFER_POOL, GstVulkanBufferPoolPrivate))
+
+#define gst_vulkan_buffer_pool_parent_class parent_class
+G_DEFINE_TYPE_WITH_CODE (GstVulkanBufferPool, gst_vulkan_buffer_pool,
+ GST_TYPE_BUFFER_POOL, GST_DEBUG_CATEGORY_INIT (GST_CAT_VULKAN_BUFFER_POOL,
+ "vulkanbufferpool", 0, "Vulkan Buffer Pool"));
+
+static const gchar **
+gst_vulkan_buffer_pool_get_options (GstBufferPool * pool)
+{
+ static const gchar *options[] = { GST_BUFFER_POOL_OPTION_VIDEO_META,
+ NULL
+ };
+
+ return options;
+}
+
+static gboolean
+gst_vulkan_buffer_pool_set_config (GstBufferPool * pool, GstStructure * config)
+{
+ GstVulkanBufferPool *vk_pool = GST_VULKAN_BUFFER_POOL_CAST (pool);
+ GstVulkanBufferPoolPrivate *priv = vk_pool->priv;
+ guint min_buffers, max_buffers;
+ GstCaps *caps = NULL;
+ gboolean ret = TRUE;
+ guint i;
+
+ if (!gst_buffer_pool_config_get_params (config, &caps, NULL, &min_buffers,
+ &max_buffers))
+ goto wrong_config;
+
+ if (caps == NULL)
+ goto no_caps;
+
+ /* now parse the caps from the config */
+ if (!gst_video_info_from_caps (&priv->v_info, caps))
+ goto wrong_caps;
+
+ GST_LOG_OBJECT (pool, "%dx%d, caps %" GST_PTR_FORMAT, priv->v_info.width,
+ priv->v_info.height, caps);
+
+ gst_caps_replace (&priv->caps, caps);
+
+ /* get the size of the buffer to allocate */
+ for (i = 0; i < GST_VIDEO_INFO_N_PLANES (&priv->v_info); i++) {
+ GstVideoFormat v_format = GST_VIDEO_INFO_FORMAT (&priv->v_info);
+ GstVulkanImageMemory *img_mem;
+ guint width, height;
+ VkFormat vk_format;
+
+ vk_format = gst_vulkan_format_from_video_format (v_format, i);
+ width = GST_VIDEO_INFO_WIDTH (&priv->v_info);
+ height = GST_VIDEO_INFO_HEIGHT (&priv->v_info);
+
+ img_mem = (GstVulkanImageMemory *)
+ gst_vulkan_image_memory_alloc (vk_pool->device, vk_format, width,
+ height, VK_IMAGE_TILING_OPTIMAL,
+ VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT,
+ VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT);
+
+ priv->alloc_sizes[i] = img_mem->requirements.size;
+
+ gst_memory_unref (GST_MEMORY_CAST (img_mem));
+ }
+
+ priv->add_videometa = gst_buffer_pool_config_has_option (config,
+ GST_BUFFER_POOL_OPTION_VIDEO_META);
+
+ gst_buffer_pool_config_set_params (config, caps,
+ priv->v_info.size, min_buffers, max_buffers);
+
+ return GST_BUFFER_POOL_CLASS (parent_class)->set_config (pool, config) && ret;
+
+ /* ERRORS */
+wrong_config:
+ {
+ GST_WARNING_OBJECT (pool, "invalid config");
+ return FALSE;
+ }
+no_caps:
+ {
+ GST_WARNING_OBJECT (pool, "no caps in config");
+ return FALSE;
+ }
+wrong_caps:
+ {
+ GST_WARNING_OBJECT (pool,
+ "failed getting geometry from caps %" GST_PTR_FORMAT, caps);
+ return FALSE;
+ }
+}
+
+/* This function handles GstBuffer creation */
+static GstFlowReturn
+gst_vulkan_buffer_pool_alloc (GstBufferPool * pool, GstBuffer ** buffer,
+ GstBufferPoolAcquireParams * params)
+{
+ GstVulkanBufferPool *vk_pool = GST_VULKAN_BUFFER_POOL_CAST (pool);
+ GstVulkanBufferPoolPrivate *priv = vk_pool->priv;
+ GstBuffer *buf;
+ guint i;
+
+ if (!(buf = gst_buffer_new ())) {
+ goto no_buffer;
+ }
+
+ for (i = 0; i < GST_VIDEO_INFO_N_PLANES (&priv->v_info); i++) {
+ GstVideoFormat v_format = GST_VIDEO_INFO_FORMAT (&priv->v_info);
+ VkFormat vk_format;
+ GstMemory *mem;
+
+ vk_format = gst_vulkan_format_from_video_format (v_format, i);
+
+ mem = gst_vulkan_buffer_memory_alloc (vk_pool->device,
+ vk_format, priv->alloc_sizes[i],
+ VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT,
+ VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT);
+ if (!mem) {
+ gst_buffer_unref (buf);
+ goto mem_create_failed;
+ }
+
+ gst_buffer_append_memory (buf, mem);
+ }
+
+ *buffer = buf;
+
+ return GST_FLOW_OK;
+
+ /* ERROR */
+no_buffer:
+ {
+ GST_WARNING_OBJECT (pool, "can't create image");
+ return GST_FLOW_ERROR;
+ }
+mem_create_failed:
+ {
+ GST_WARNING_OBJECT (pool, "Could not create Vulkan Memory");
+ return GST_FLOW_ERROR;
+ }
+}
+
+/**
+ * gst_vulkan_buffer_pool_new:
+ * @context: the #GstGLContext to use
+ *
+ * Returns: a #GstBufferPool that allocates buffers with #GstGLMemory
+ */
+GstBufferPool *
+gst_vulkan_buffer_pool_new (GstVulkanDevice * device)
+{
+ GstVulkanBufferPool *pool;
+
+ pool = g_object_new (GST_TYPE_VULKAN_BUFFER_POOL, NULL);
+ pool->device = gst_object_ref (device);
+
+ GST_LOG_OBJECT (pool, "new Vulkan buffer pool for device %" GST_PTR_FORMAT,
+ device);
+
+ return GST_BUFFER_POOL_CAST (pool);
+}
+
+static void
+gst_vulkan_buffer_pool_class_init (GstVulkanBufferPoolClass * klass)
+{
+ GObjectClass *gobject_class = (GObjectClass *) klass;
+ GstBufferPoolClass *gstbufferpool_class = (GstBufferPoolClass *) klass;
+
+ g_type_class_add_private (klass, sizeof (GstVulkanBufferPoolPrivate));
+
+ gobject_class->finalize = gst_vulkan_buffer_pool_finalize;
+
+ gstbufferpool_class->get_options = gst_vulkan_buffer_pool_get_options;
+ gstbufferpool_class->set_config = gst_vulkan_buffer_pool_set_config;
+ gstbufferpool_class->alloc_buffer = gst_vulkan_buffer_pool_alloc;
+}
+
+static void
+gst_vulkan_buffer_pool_init (GstVulkanBufferPool * pool)
+{
+ pool->priv = GST_VULKAN_BUFFER_POOL_GET_PRIVATE (pool);
+}
+
+static void
+gst_vulkan_buffer_pool_finalize (GObject * object)
+{
+ GstVulkanBufferPool *pool = GST_VULKAN_BUFFER_POOL_CAST (object);
+ GstVulkanBufferPoolPrivate *priv = pool->priv;
+
+ GST_LOG_OBJECT (pool, "finalize Vulkan buffer pool %p", pool);
+
+ if (priv->caps)
+ gst_caps_unref (priv->caps);
+
+ G_OBJECT_CLASS (gst_vulkan_buffer_pool_parent_class)->finalize (object);
+
+ /* only release the context once all our memory have been deleted */
+ if (pool->device) {
+ gst_object_unref (pool->device);
+ pool->device = NULL;
+ }
+}
diff --git a/ext/vulkan/vkbufferpool.h b/ext/vulkan/vkbufferpool.h
new file mode 100644
index 0000000..5dd4baf
--- /dev/null
+++ b/ext/vulkan/vkbufferpool.h
@@ -0,0 +1,67 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _GST_VULKAN_BUFFER_POOL_H_
+#define _GST_VULKAN_BUFFER_POOL_H_
+
+#include <gst/video/video.h>
+#include <gst/video/gstvideometa.h>
+#include <gst/video/gstvideopool.h>
+
+#include <vk.h>
+
+G_BEGIN_DECLS
+
+/* buffer pool functions */
+GType gst_vulkan_buffer_pool_get_type (void);
+#define GST_TYPE_VULKAN_BUFFER_POOL (gst_vulkan_buffer_pool_get_type())
+#define GST_IS_VULKAN_BUFFER_POOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_VULKAN_BUFFER_POOL))
+#define GST_VULKAN_BUFFER_POOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_VULKAN_BUFFER_POOL, GstVulkanBufferPool))
+#define GST_VULKAN_BUFFER_POOL_CAST(obj) ((GstVulkanBufferPool*)(obj))
+
+/**
+ * GstVulkanBufferPool:
+ *
+ * Opaque GstVulkanBufferPool struct
+ */
+struct _GstVulkanBufferPool
+{
+ GstBufferPool bufferpool;
+
+ GstVulkanDevice *device;
+
+ GstVulkanBufferPoolPrivate *priv;
+};
+
+/**
+ * GstVulkanBufferPoolClass:
+ *
+ * The #GstVulkanBufferPoolClass structure contains only private data
+ */
+struct _GstVulkanBufferPoolClass
+{
+ GstBufferPoolClass parent_class;
+};
+
+GstBufferPool *gst_vulkan_buffer_pool_new (GstVulkanDevice * device);
+
+G_END_DECLS
+
+#endif /* _GST_VULKAN_BUFFER_POOL_H_ */
diff --git a/ext/vulkan/vkdevice.c b/ext/vulkan/vkdevice.c
new file mode 100644
index 0000000..a7d9d04
--- /dev/null
+++ b/ext/vulkan/vkdevice.c
@@ -0,0 +1,550 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "vkdevice.h"
+#include "vkutils_private.h"
+
+#include <string.h>
+
+static const char *device_validation_layers[] = {
+ "VK_LAYER_LUNARG_threading",
+ "VK_LAYER_LUNARG_mem_tracker",
+ "VK_LAYER_LUNARG_object_tracker",
+ "VK_LAYER_LUNARG_draw_state",
+ "VK_LAYER_LUNARG_param_checker",
+ "VK_LAYER_LUNARG_swapchain",
+ "VK_LAYER_LUNARG_device_limits",
+ "VK_LAYER_LUNARG_image",
+};
+
+#define GST_CAT_DEFAULT gst_vulkan_device_debug
+GST_DEBUG_CATEGORY (GST_CAT_DEFAULT);
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_CONTEXT);
+
+#define gst_vulkan_device_parent_class parent_class
+G_DEFINE_TYPE_WITH_CODE (GstVulkanDevice, gst_vulkan_device, GST_TYPE_OBJECT,
+ GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "vulkandevice", 0,
+ "Vulkan Device");
+ GST_DEBUG_CATEGORY_GET (GST_CAT_CONTEXT, "GST_CONTEXT"));
+
+static void gst_vulkan_device_finalize (GObject * object);
+
+struct _GstVulkanDevicePrivate
+{
+ gboolean opened;
+};
+
+GstVulkanDevice *
+gst_vulkan_device_new (GstVulkanInstance * instance)
+{
+ GstVulkanDevice *device = g_object_new (GST_TYPE_VULKAN_DEVICE, NULL);
+
+ device->instance = gst_object_ref (instance);
+ /* FIXME: select this externally */
+ device->device_index = 0;
+
+ return device;
+}
+
+static void
+gst_vulkan_device_init (GstVulkanDevice * device)
+{
+ device->priv = G_TYPE_INSTANCE_GET_PRIVATE ((device),
+ GST_TYPE_VULKAN_DEVICE, GstVulkanDevicePrivate);
+}
+
+static void
+gst_vulkan_device_class_init (GstVulkanDeviceClass * device_class)
+{
+ GObjectClass *gobject_class = (GObjectClass *) device_class;
+
+ g_type_class_add_private (device_class, sizeof (GstVulkanDevicePrivate));
+
+ gobject_class->finalize = gst_vulkan_device_finalize;
+}
+
+static void
+gst_vulkan_device_finalize (GObject * object)
+{
+ GstVulkanDevice *device = GST_VULKAN_DEVICE (object);
+
+ g_free (device->queue_family_props);
+ device->queue_family_props = NULL;
+
+ if (device->cmd_pool)
+ vkDestroyCommandPool (device->device, device->cmd_pool, NULL);
+ device->cmd_pool = VK_NULL_HANDLE;
+
+ if (device->device) {
+ vkDeviceWaitIdle (device->device);
+ vkDestroyDevice (device->device, NULL);
+ }
+ device->device = VK_NULL_HANDLE;
+
+ if (device->instance)
+ gst_object_unref (device->instance);
+ device->instance = VK_NULL_HANDLE;
+
+ G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+static const gchar *
+_device_type_to_string (VkPhysicalDeviceType type)
+{
+ switch (type) {
+ case VK_PHYSICAL_DEVICE_TYPE_OTHER:
+ return "other";
+ case VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU:
+ return "integrated";
+ case VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU:
+ return "discrete";
+ case VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU:
+ return "virtual";
+ case VK_PHYSICAL_DEVICE_TYPE_CPU:
+ return "CPU";
+ default:
+ return "unknown";
+ }
+}
+
+static gboolean
+_physical_device_info (GstVulkanDevice * device, GError ** error)
+{
+ VkPhysicalDeviceProperties props;
+ VkPhysicalDevice gpu;
+
+ gpu = gst_vulkan_device_get_physical_device (device);
+ if (!gpu) {
+ g_set_error (error, GST_VULKAN_ERROR, VK_ERROR_INITIALIZATION_FAILED,
+ "Failed to retrieve physical device");
+ return FALSE;
+ }
+
+ vkGetPhysicalDeviceProperties (gpu, &props);
+
+ GST_INFO_OBJECT (device, "device name %s type %s api version %u, "
+ "driver version %u vendor ID 0x%x, device ID 0x%x", props.deviceName,
+ _device_type_to_string (props.deviceType), props.apiVersion,
+ props.driverVersion, props.vendorID, props.deviceID);
+
+ return TRUE;
+}
+
+gboolean
+gst_vulkan_device_open (GstVulkanDevice * device, GError ** error)
+{
+ const char *extension_names[64];
+ uint32_t enabled_extension_count = 0;
+ uint32_t device_extension_count = 0;
+ VkExtensionProperties *device_extensions = NULL;
+ uint32_t enabled_layer_count = 0;
+ uint32_t device_layer_count = 0;
+ VkLayerProperties *device_layers;
+ gboolean have_swapchain_ext;
+ gboolean validation_found;
+ VkPhysicalDevice gpu;
+ VkResult err;
+ guint i;
+
+ g_return_val_if_fail (GST_IS_VULKAN_DEVICE (device), FALSE);
+
+ GST_OBJECT_LOCK (device);
+
+ if (device->priv->opened) {
+ GST_OBJECT_UNLOCK (device);
+ return TRUE;
+ }
+
+ if (!_physical_device_info (device, error))
+ goto error;
+
+ gpu = gst_vulkan_device_get_physical_device (device);
+
+ /* Look for validation layers */
+ err = vkEnumerateDeviceLayerProperties (gpu, &device_layer_count, NULL);
+ if (gst_vulkan_error_to_g_error (err, error,
+ "vkEnumerateDeviceLayerProperties") < 0)
+ goto error;
+
+ device_layers = g_new0 (VkLayerProperties, device_layer_count);
+ err =
+ vkEnumerateDeviceLayerProperties (gpu, &device_layer_count,
+ device_layers);
+ if (gst_vulkan_error_to_g_error (err, error,
+ "vkEnumerateDeviceLayerProperties") < 0) {
+ g_free (device_layers);
+ goto error;
+ }
+
+ validation_found =
+ _check_for_all_layers (G_N_ELEMENTS (device_validation_layers),
+ device_validation_layers, device_layer_count, device_layers);
+ g_free (device_layers);
+ device_layers = NULL;
+ if (!validation_found) {
+ g_error ("vkEnumerateDeviceLayerProperties failed to find"
+ "a required validation layer.\n\n"
+ "Please look at the Getting Started guide for additional "
+ "information.\nvkCreateDevice Failure");
+ goto error;
+ }
+ enabled_layer_count = G_N_ELEMENTS (device_validation_layers);
+
+ err =
+ vkEnumerateDeviceExtensionProperties (gpu, NULL,
+ &device_extension_count, NULL);
+ if (gst_vulkan_error_to_g_error (err, error,
+ "vkEnumerateDeviceExtensionProperties") < 0)
+ goto error;
+ GST_DEBUG_OBJECT (device, "Found %u extensions", device_extension_count);
+
+ have_swapchain_ext = 0;
+ enabled_extension_count = 0;
+ memset (extension_names, 0, sizeof (extension_names));
+ device_extensions = g_new0 (VkExtensionProperties, device_extension_count);
+ err = vkEnumerateDeviceExtensionProperties (gpu, NULL,
+ &device_extension_count, device_extensions);
+ if (gst_vulkan_error_to_g_error (err, error,
+ "vkEnumerateDeviceExtensionProperties") < 0) {
+ g_free (device_extensions);
+ goto error;
+ }
+
+ for (uint32_t i = 0; i < device_extension_count; i++) {
+ GST_TRACE_OBJECT (device, "checking device extension %s",
+ device_extensions[i].extensionName);
+ if (!strcmp (VK_KHR_SWAPCHAIN_EXTENSION_NAME,
+ device_extensions[i].extensionName)) {
+ have_swapchain_ext = TRUE;
+ extension_names[enabled_extension_count++] =
+ (gchar *) VK_KHR_SWAPCHAIN_EXTENSION_NAME;
+ }
+ g_assert (enabled_extension_count < 64);
+ }
+ if (!have_swapchain_ext) {
+ g_error ("vkEnumerateDeviceExtensionProperties failed to find the \""
+ VK_KHR_SWAPCHAIN_EXTENSION_NAME
+ "\" extension.\n\nDo you have a compatible "
+ "Vulkan installable client driver (ICD) installed?\nPlease "
+ "look at the Getting Started guide for additional "
+ "information.\nvkCreateInstance Failure");
+ }
+ g_free (device_extensions);
+
+ vkGetPhysicalDeviceProperties (gpu, &device->gpu_props);
+ vkGetPhysicalDeviceMemoryProperties (gpu, &device->memory_properties);
+ vkGetPhysicalDeviceFeatures (gpu, &device->gpu_features);
+
+ vkGetPhysicalDeviceQueueFamilyProperties (gpu, &device->n_queue_families,
+ NULL);
+ g_assert (device->n_queue_families >= 1);
+
+ device->queue_family_props =
+ g_new0 (VkQueueFamilyProperties, device->n_queue_families);
+ vkGetPhysicalDeviceQueueFamilyProperties (gpu, &device->n_queue_families,
+ device->queue_family_props);
+
+ /* FIXME: allow overriding/selecting */
+ for (i = 0; i < device->n_queue_families; i++) {
+ if (device->queue_family_props[i].queueFlags & VK_QUEUE_GRAPHICS_BIT)
+ break;
+ }
+ if (i >= device->n_queue_families) {
+ g_set_error (error, GST_VULKAN_ERROR, VK_ERROR_INITIALIZATION_FAILED,
+ "Failed to find a compatible queue family");
+ goto error;
+ }
+ device->queue_family_id = i;
+ device->n_queues = 1;
+
+ {
+ VkDeviceQueueCreateInfo queue_info = { 0, };
+ VkDeviceCreateInfo device_info = { 0, };
+ gfloat queue_priority = 0.5;
+
+ queue_info.sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO;
+ queue_info.pNext = NULL;
+ queue_info.queueFamilyIndex = device->queue_family_id;
+ queue_info.queueCount = device->n_queues;
+ queue_info.pQueuePriorities = &queue_priority;
+
+ device_info.sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO;
+ device_info.pNext = NULL;
+ device_info.queueCreateInfoCount = 1;
+ device_info.pQueueCreateInfos = &queue_info;
+ device_info.enabledLayerCount = enabled_layer_count;
+ device_info.ppEnabledLayerNames =
+ (const char *const *) device_validation_layers;
+ device_info.enabledExtensionCount = enabled_extension_count;
+ device_info.ppEnabledExtensionNames = (const char *const *) extension_names;
+ device_info.pEnabledFeatures = NULL;
+
+ err = vkCreateDevice (gpu, &device_info, NULL, &device->device);
+ if (gst_vulkan_error_to_g_error (err, error, "vkCreateDevice") < 0)
+ goto error;
+ }
+ {
+ VkCommandPoolCreateInfo cmd_pool_info = { 0, };
+
+ cmd_pool_info.sType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO;
+ cmd_pool_info.pNext = NULL;
+ cmd_pool_info.queueFamilyIndex = device->queue_family_id;
+ cmd_pool_info.flags = 0;
+
+ err =
+ vkCreateCommandPool (device->device, &cmd_pool_info, NULL,
+ &device->cmd_pool);
+ if (gst_vulkan_error_to_g_error (err, error, "vkCreateCommandPool") < 0)
+ goto error;
+ }
+
+ GST_OBJECT_UNLOCK (device);
+ return TRUE;
+
+error:
+ {
+ GST_OBJECT_UNLOCK (device);
+ return FALSE;
+ }
+}
+
+GstVulkanQueue *
+gst_vulkan_device_get_queue (GstVulkanDevice * device, guint32 queue_family,
+ guint32 queue_i)
+{
+ GstVulkanQueue *ret;
+
+ g_return_val_if_fail (GST_IS_VULKAN_DEVICE (device), NULL);
+ g_return_val_if_fail (device->device != NULL, NULL);
+ g_return_val_if_fail (queue_family < device->n_queues, NULL);
+ g_return_val_if_fail (queue_i <
+ device->queue_family_props[queue_family].queueCount, NULL);
+
+ ret = g_object_new (GST_TYPE_VULKAN_QUEUE, NULL);
+ ret->device = gst_object_ref (device);
+ ret->family = queue_family;
+ ret->index = queue_i;
+
+ vkGetDeviceQueue (device->device, queue_family, queue_i, &ret->queue);
+
+ return ret;
+}
+
+void
+gst_vulkan_device_foreach_queue (GstVulkanDevice * device,
+ GstVulkanDeviceForEachQueueFunc func, gpointer user_data)
+{
+ gboolean done = FALSE;
+ guint i;
+
+ for (i = 0; i < device->n_queues; i++) {
+ GstVulkanQueue *queue =
+ queue =
+ gst_vulkan_device_get_queue (device, device->queue_family_id, i);
+
+ if (!func (device, queue, user_data))
+ done = TRUE;
+
+ gst_object_unref (queue);
+
+ if (done)
+ break;
+ }
+}
+
+gpointer
+gst_vulkan_device_get_proc_address (GstVulkanDevice * device,
+ const gchar * name)
+{
+ g_return_val_if_fail (GST_IS_VULKAN_DEVICE (device), NULL);
+ g_return_val_if_fail (device->device != NULL, NULL);
+ g_return_val_if_fail (name != NULL, NULL);
+
+ GST_TRACE_OBJECT (device, "%s", name);
+
+ return vkGetDeviceProcAddr (device->device, name);
+}
+
+GstVulkanInstance *
+gst_vulkan_device_get_instance (GstVulkanDevice * device)
+{
+ g_return_val_if_fail (GST_IS_VULKAN_DEVICE (device), NULL);
+
+ return device->instance ? gst_object_ref (device->instance) : NULL;
+}
+
+VkPhysicalDevice
+gst_vulkan_device_get_physical_device (GstVulkanDevice * device)
+{
+ g_return_val_if_fail (GST_IS_VULKAN_DEVICE (device), NULL);
+
+ if (device->instance->physical_devices == NULL)
+ return NULL;
+ if (device->device_index >= device->instance->n_physical_devices)
+ return NULL;
+
+ return device->instance->physical_devices[device->device_index];
+}
+
+gboolean
+gst_vulkan_device_create_cmd_buffer (GstVulkanDevice * device,
+ VkCommandBuffer * cmd, GError ** error)
+{
+ VkResult err;
+ VkCommandBufferAllocateInfo cmd_info = { 0, };
+
+ cmd_info.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO;
+ cmd_info.pNext = NULL;
+ cmd_info.commandPool = device->cmd_pool;
+ cmd_info.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY;
+ cmd_info.commandBufferCount = 1;
+
+ err = vkAllocateCommandBuffers (device->device, &cmd_info, cmd);
+ if (gst_vulkan_error_to_g_error (err, error, "vkCreateCommandBuffer") < 0)
+ return FALSE;
+
+ GST_LOG_OBJECT (device, "created cmd buffer %p", cmd);
+
+ return TRUE;
+}
+
+/**
+ * gst_context_set_vulkan_device:
+ * @context: a #GstContext
+ * @device: a #GstVulkanDevice
+ *
+ * Sets @device on @context
+ *
+ * Since: 1.10
+ */
+void
+gst_context_set_vulkan_device (GstContext * context, GstVulkanDevice * device)
+{
+ GstStructure *s;
+
+ g_return_if_fail (context != NULL);
+ g_return_if_fail (gst_context_is_writable (context));
+
+ if (device)
+ GST_CAT_LOG (GST_CAT_CONTEXT,
+ "setting GstVulkanDevice(%" GST_PTR_FORMAT ") on context(%"
+ GST_PTR_FORMAT ")", device, context);
+
+ s = gst_context_writable_structure (context);
+ gst_structure_set (s, GST_VULKAN_DEVICE_CONTEXT_TYPE_STR,
+ GST_TYPE_VULKAN_DEVICE, device, NULL);
+}
+
+/**
+ * gst_context_get_vulkan_device:
+ * @context: a #GstContext
+ * @device: resulting #GstVulkanDevice
+ *
+ * Returns: Whether @device was in @context
+ *
+ * Since: 1.10
+ */
+gboolean
+gst_context_get_vulkan_device (GstContext * context, GstVulkanDevice ** device)
+{
+ const GstStructure *s;
+ gboolean ret;
+
+ g_return_val_if_fail (device != NULL, FALSE);
+ g_return_val_if_fail (context != NULL, FALSE);
+
+ s = gst_context_get_structure (context);
+ ret = gst_structure_get (s, GST_VULKAN_DEVICE_CONTEXT_TYPE_STR,
+ GST_TYPE_VULKAN_DEVICE, device, NULL);
+
+ GST_CAT_LOG (GST_CAT_CONTEXT, "got GstVulkanDevice(%" GST_PTR_FORMAT
+ ") from context(%" GST_PTR_FORMAT ")", *device, context);
+
+ return ret;
+}
+
+gboolean
+gst_vulkan_device_handle_context_query (GstElement * element, GstQuery * query,
+ GstVulkanDevice ** device)
+{
+ gboolean res = FALSE;
+ const gchar *context_type;
+ GstContext *context, *old_context;
+
+ g_return_val_if_fail (element != NULL, FALSE);
+ g_return_val_if_fail (query != NULL, FALSE);
+ g_return_val_if_fail (GST_QUERY_TYPE (query) == GST_QUERY_CONTEXT, FALSE);
+ g_return_val_if_fail (device != NULL, FALSE);
+
+ gst_query_parse_context_type (query, &context_type);
+
+ if (g_strcmp0 (context_type, GST_VULKAN_DEVICE_CONTEXT_TYPE_STR) == 0) {
+ gst_query_parse_context (query, &old_context);
+
+ if (old_context)
+ context = gst_context_copy (old_context);
+ else
+ context = gst_context_new (GST_VULKAN_DEVICE_CONTEXT_TYPE_STR, TRUE);
+
+ gst_context_set_vulkan_device (context, *device);
+ gst_query_set_context (query, context);
+ gst_context_unref (context);
+
+ res = *device != NULL;
+ }
+
+ return res;
+}
+
+gboolean
+gst_vulkan_device_run_context_query (GstElement * element,
+ GstVulkanDevice ** device)
+{
+ GstQuery *query;
+
+ g_return_val_if_fail (GST_IS_ELEMENT (element), FALSE);
+ g_return_val_if_fail (device != NULL, FALSE);
+
+ if (*device && GST_IS_VULKAN_DEVICE (*device))
+ return TRUE;
+
+ if ((query =
+ gst_vulkan_local_context_query (element,
+ GST_VULKAN_DEVICE_CONTEXT_TYPE_STR, FALSE))) {
+ GstContext *context;
+
+ gst_query_parse_context (query, &context);
+ if (context)
+ gst_context_get_vulkan_device (context, device);
+ }
+
+ GST_DEBUG_OBJECT (element, "found device %p", *device);
+
+ gst_query_unref (query);
+
+ if (*device)
+ return TRUE;
+
+ return FALSE;
+}
diff --git a/ext/vulkan/vkdevice.h b/ext/vulkan/vkdevice.h
new file mode 100644
index 0000000..b2b1065
--- /dev/null
+++ b/ext/vulkan/vkdevice.h
@@ -0,0 +1,99 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _VK_DEVICE_H_
+#define _VK_DEVICE_H_
+
+#include <gst/gst.h>
+#include "vk.h"
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_VULKAN_DEVICE (gst_vulkan_device_get_type())
+#define GST_VULKAN_DEVICE(o) (G_TYPE_CHECK_INSTANCE_CAST((o), GST_TYPE_VULKAN_DEVICE, GstVulkanDevice))
+#define GST_VULKAN_DEVICE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GST_TYPE_VULKAN_DEVICE, GstVulkanDeviceClass))
+#define GST_IS_VULKAN_DEVICE(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GST_TYPE_VULKAN_DEVICE))
+#define GST_IS_VULKAN_DEVICE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE((k), GST_TYPE_VULKAN_DEVICE))
+#define GST_VULKAN_DEVICE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), GST_TYPE_VULKAN_DEVICE, GstVulkanDeviceClass))
+GType gst_vulkan_device_get_type (void);
+
+#define GST_VULKAN_DEVICE_CONTEXT_TYPE_STR "gst.vulkan.device"
+
+typedef gboolean (*GstVulkanDeviceForEachQueueFunc) (GstVulkanDevice * device, GstVulkanQueue * queue, gpointer user_data);
+
+struct _GstVulkanDevice
+{
+ GstObject parent;
+
+ GstVulkanInstance *instance;
+
+ guint device_index;
+ VkDevice device; /* hides a pointer */
+ VkPhysicalDeviceProperties gpu_props;
+ VkPhysicalDeviceFeatures gpu_features;
+ VkPhysicalDeviceMemoryProperties memory_properties;
+
+ VkQueueFamilyProperties *queue_family_props;
+ guint32 n_queue_families;
+
+ guint32 queue_family_id;
+ guint32 n_queues;
+
+ VkCommandPool cmd_pool;
+
+ GstVulkanDevicePrivate *priv;
+};
+
+struct _GstVulkanDeviceClass
+{
+ GstObjectClass parent_class;
+};
+
+GstVulkanDevice * gst_vulkan_device_new (GstVulkanInstance * instance);
+GstVulkanInstance * gst_vulkan_device_get_instance (GstVulkanDevice * device);
+gboolean gst_vulkan_device_open (GstVulkanDevice * device,
+ GError ** error);
+
+gpointer gst_vulkan_device_get_proc_address (GstVulkanDevice * device,
+ const gchar * name);
+void gst_vulkan_device_foreach_queue (GstVulkanDevice * device,
+ GstVulkanDeviceForEachQueueFunc func,
+ gpointer user_data);
+GstVulkanQueue * gst_vulkan_device_get_queue (GstVulkanDevice * device,
+ guint32 queue_family,
+ guint32 queue_i);
+VkPhysicalDevice gst_vulkan_device_get_physical_device (GstVulkanDevice * device);
+gboolean gst_vulkan_device_create_cmd_buffer (GstVulkanDevice * device,
+ VkCommandBuffer * cmd,
+ GError ** error);
+
+void gst_context_set_vulkan_device (GstContext * context,
+ GstVulkanDevice * device);
+gboolean gst_context_get_vulkan_device (GstContext * context,
+ GstVulkanDevice ** device);
+gboolean gst_vulkan_device_handle_context_query (GstElement * element,
+ GstQuery * query,
+ GstVulkanDevice ** device);
+gboolean gst_vulkan_device_run_context_query (GstElement * element,
+ GstVulkanDevice ** device);
+
+G_END_DECLS
+
+#endif /* _VK_DEVICE_H_ */
diff --git a/ext/vulkan/vkdisplay.c b/ext/vulkan/vkdisplay.c
new file mode 100644
index 0000000..a066821
--- /dev/null
+++ b/ext/vulkan/vkdisplay.c
@@ -0,0 +1,466 @@
+/*
+ * GStreamer
+ * Copyright (C) 2007 David A. Schleef <ds@schleef.org>
+ * Copyright (C) 2008 Julien Isorce <julien.isorce@gmail.com>
+ * Copyright (C) 2008 Filippo Argiolas <filippo.argiolas@gmail.com>
+ * Copyright (C) 2013 Matthew Waters <ystreet00@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "vkdisplay.h"
+
+#if GST_VULKAN_HAVE_WINDOW_X11
+#include "x11/vkdisplay_x11.h"
+#endif
+#if GST_VULKAN_HAVE_WINDOW_XCB
+#include "xcb/vkdisplay_xcb.h"
+#endif
+
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_CONTEXT);
+#define GST_CAT_DEFAULT gst_vulkan_display_debug
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
+
+static void
+_init_debug (void)
+{
+ static volatile gsize _init = 0;
+
+ if (g_once_init_enter (&_init)) {
+ GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "vulkandisplay", 0,
+ "Vulkan display");
+ GST_DEBUG_CATEGORY_GET (GST_CAT_CONTEXT, "GST_CONTEXT");
+ g_once_init_leave (&_init, 1);
+ }
+}
+
+G_DEFINE_TYPE_WITH_CODE (GstVulkanDisplay, gst_vulkan_display, GST_TYPE_OBJECT,
+ _init_debug ());
+
+#define GST_VULKAN_DISPLAY_GET_PRIVATE(o) \
+ (G_TYPE_INSTANCE_GET_PRIVATE((o), GST_TYPE_VULKAN_DISPLAY, GstVulkanDisplayPrivate))
+
+enum
+{
+ SIGNAL_0,
+ CREATE_CONTEXT,
+ LAST_SIGNAL
+};
+
+/* static guint gst_vulkan_display_signals[LAST_SIGNAL] = { 0 }; */
+
+static void gst_vulkan_display_finalize (GObject * object);
+static gpointer gst_vulkan_display_default_get_handle (GstVulkanDisplay *
+ display);
+static GstVulkanWindow
+ * gst_vulkan_display_default_create_window (GstVulkanDisplay * display);
+
+struct _GstVulkanDisplayPrivate
+{
+ GThread *event_thread;
+
+ GMutex thread_lock;
+ GCond thread_cond;
+};
+
+static gpointer
+_event_thread_main (GstVulkanDisplay * display)
+{
+ g_mutex_lock (&display->priv->thread_lock);
+
+ display->main_context = g_main_context_new ();
+ display->main_loop = g_main_loop_new (display->main_context, FALSE);
+
+ g_cond_broadcast (&display->priv->thread_cond);
+ g_mutex_unlock (&display->priv->thread_lock);
+
+ g_main_loop_run (display->main_loop);
+
+ g_mutex_lock (&display->priv->thread_lock);
+
+ g_main_loop_unref (display->main_loop);
+ g_main_context_unref (display->main_context);
+
+ display->main_loop = NULL;
+ display->main_context = NULL;
+
+ g_cond_broadcast (&display->priv->thread_cond);
+ g_mutex_unlock (&display->priv->thread_lock);
+
+ return NULL;
+}
+
+static void
+gst_vulkan_display_class_init (GstVulkanDisplayClass * klass)
+{
+ g_type_class_add_private (klass, sizeof (GstVulkanDisplayPrivate));
+
+ klass->get_handle = gst_vulkan_display_default_get_handle;
+ klass->create_window = gst_vulkan_display_default_create_window;
+
+ G_OBJECT_CLASS (klass)->finalize = gst_vulkan_display_finalize;
+}
+
+static void
+gst_vulkan_display_init (GstVulkanDisplay * display)
+{
+ display->priv = GST_VULKAN_DISPLAY_GET_PRIVATE (display);
+ display->type = GST_VULKAN_DISPLAY_TYPE_ANY;
+
+ g_mutex_init (&display->priv->thread_lock);
+ g_cond_init (&display->priv->thread_cond);
+
+ display->priv->event_thread = g_thread_new ("vkdisplay-event",
+ (GThreadFunc) _event_thread_main, display);
+
+ g_mutex_lock (&display->priv->thread_lock);
+ while (!display->main_loop)
+ g_cond_wait (&display->priv->thread_cond, &display->priv->thread_lock);
+ g_mutex_unlock (&display->priv->thread_lock);
+}
+
+static void
+gst_vulkan_display_finalize (GObject * object)
+{
+ GstVulkanDisplay *display = GST_VULKAN_DISPLAY (object);
+
+ g_mutex_lock (&display->priv->thread_lock);
+ if (display->main_context && display->event_source) {
+ g_source_destroy (display->event_source);
+ g_source_unref (display->event_source);
+ }
+ display->event_source = NULL;
+
+ if (display->main_loop)
+ g_main_loop_quit (display->main_loop);
+
+ while (display->main_loop)
+ g_cond_wait (&display->priv->thread_cond, &display->priv->thread_lock);
+
+ if (display->priv->event_thread)
+ g_thread_unref (display->priv->event_thread);
+ display->priv->event_thread = NULL;
+ g_mutex_unlock (&display->priv->thread_lock);
+
+ if (display->instance) {
+ gst_object_unref (display->instance);
+ }
+
+ G_OBJECT_CLASS (gst_vulkan_display_parent_class)->finalize (object);
+}
+
+GstVulkanDisplay *
+gst_vulkan_display_new_with_type (GstVulkanInstance * instance,
+ GstVulkanDisplayType type)
+{
+ GstVulkanDisplay *display = NULL;
+
+ _init_debug ();
+
+#if GST_VULKAN_HAVE_WINDOW_XCB
+ if (!display && type & GST_VULKAN_DISPLAY_TYPE_XCB) {
+ display = GST_VULKAN_DISPLAY (gst_vulkan_display_xcb_new (NULL));
+ }
+#endif
+
+ if (display)
+ display->instance = gst_object_ref (instance);
+
+ return display;
+}
+
+/**
+ * gst_vulkan_display_new:
+ *
+ * Returns: (transfer full): a new #GstVulkanDisplay
+ *
+ * Since: 1.10
+ */
+GstVulkanDisplay *
+gst_vulkan_display_new (GstVulkanInstance * instance)
+{
+ GstVulkanDisplayType type;
+ GstVulkanDisplay *display = NULL;
+
+ type = gst_vulkan_display_choose_type (instance);
+ display = gst_vulkan_display_new_with_type (instance, type);
+
+ if (!display) {
+ /* subclass returned a NULL display */
+ GST_FIXME ("creating dummy display");
+
+ display = g_object_new (GST_TYPE_VULKAN_DISPLAY, NULL);
+ display->instance = gst_object_ref (instance);
+ }
+
+ return display;
+}
+
+/**
+ * gst_vulkan_display_get_handle:
+ * @display: a #GstVulkanDisplay
+ *
+ * Returns: the winsys specific handle of @display
+ *
+ * Since: 1.10
+ */
+gpointer
+gst_vulkan_display_get_handle (GstVulkanDisplay * display)
+{
+ GstVulkanDisplayClass *klass;
+
+ g_return_val_if_fail (GST_IS_VULKAN_DISPLAY (display), NULL);
+ klass = GST_VULKAN_DISPLAY_GET_CLASS (display);
+ g_return_val_if_fail (klass->get_handle != NULL, NULL);
+
+ return klass->get_handle (display);
+}
+
+static gpointer
+gst_vulkan_display_default_get_handle (GstVulkanDisplay * display)
+{
+ return 0;
+}
+
+/**
+ * gst_vulkan_display_get_handle_type:
+ * @display: a #GstVulkanDisplay
+ *
+ * Returns: the #GstVulkanDisplayType of @display
+ *
+ * Since: 1.10
+ */
+GstVulkanDisplayType
+gst_vulkan_display_get_handle_type (GstVulkanDisplay * display)
+{
+ g_return_val_if_fail (GST_IS_VULKAN_DISPLAY (display),
+ GST_VULKAN_DISPLAY_TYPE_NONE);
+
+ return display->type;
+}
+
+/**
+ * gst_vulkan_display_create_window:
+ * @display: a #GstVulkanDisplay
+ *
+ * Returns: a new #GstVulkanWindow for @display or %NULL.
+ */
+GstVulkanWindow *
+gst_vulkan_display_create_window (GstVulkanDisplay * display)
+{
+ GstVulkanDisplayClass *klass;
+ GstVulkanWindow *window;
+
+ g_return_val_if_fail (GST_IS_VULKAN_DISPLAY (display), NULL);
+ klass = GST_VULKAN_DISPLAY_GET_CLASS (display);
+ g_return_val_if_fail (klass->create_window != NULL, NULL);
+
+ window = klass->create_window (display);
+
+ if (window) {
+ GST_OBJECT_LOCK (display);
+ display->windows = g_list_prepend (display->windows, window);
+ GST_OBJECT_UNLOCK (display);
+ }
+
+ return window;
+}
+
+static GstVulkanWindow *
+gst_vulkan_display_default_create_window (GstVulkanDisplay * display)
+{
+ return gst_vulkan_window_new (display);
+}
+
+gboolean
+gst_vulkan_display_remove_window (GstVulkanDisplay * display,
+ GstVulkanWindow * window)
+{
+ gboolean ret = FALSE;
+ GList *l;
+
+ GST_OBJECT_LOCK (display);
+ l = g_list_find (display->windows, window);
+ if (l) {
+ display->windows = g_list_delete_link (display->windows, l);
+ ret = TRUE;
+ }
+ GST_OBJECT_UNLOCK (display);
+
+ return ret;
+}
+
+/**
+ * gst_context_set_vulkan_display:
+ * @context: a #GstContext
+ * @display: a #GstVulkanDisplay
+ *
+ * Sets @display on @context
+ *
+ * Since: 1.10
+ */
+void
+gst_context_set_vulkan_display (GstContext * context,
+ GstVulkanDisplay * display)
+{
+ GstStructure *s;
+
+ g_return_if_fail (context != NULL);
+ g_return_if_fail (gst_context_is_writable (context));
+
+ if (display)
+ GST_CAT_LOG (GST_CAT_CONTEXT,
+ "setting GstVulkanDisplay(%" GST_PTR_FORMAT ") on context(%"
+ GST_PTR_FORMAT ")", display, context);
+
+ s = gst_context_writable_structure (context);
+ gst_structure_set (s, GST_VULKAN_DISPLAY_CONTEXT_TYPE_STR,
+ GST_TYPE_VULKAN_DISPLAY, display, NULL);
+}
+
+/**
+ * gst_context_get_vulkan_display:
+ * @context: a #GstContext
+ * @display: resulting #GstVulkanDisplay
+ *
+ * Returns: Whether @display was in @context
+ *
+ * Since: 1.10
+ */
+gboolean
+gst_context_get_vulkan_display (GstContext * context,
+ GstVulkanDisplay ** display)
+{
+ const GstStructure *s;
+ gboolean ret;
+
+ g_return_val_if_fail (display != NULL, FALSE);
+ g_return_val_if_fail (context != NULL, FALSE);
+
+ s = gst_context_get_structure (context);
+ ret = gst_structure_get (s, GST_VULKAN_DISPLAY_CONTEXT_TYPE_STR,
+ GST_TYPE_VULKAN_DISPLAY, display, NULL);
+
+ GST_CAT_LOG (GST_CAT_CONTEXT, "got GstVulkanDisplay(%" GST_PTR_FORMAT
+ ") from context(%" GST_PTR_FORMAT ")", *display, context);
+
+ return ret;
+}
+
+GstVulkanDisplayType
+gst_vulkan_display_choose_type (GstVulkanInstance * instance)
+{
+ const gchar *window_str;
+ GstVulkanDisplayType type = GST_VULKAN_DISPLAY_TYPE_NONE;
+ GstVulkanDisplayType first_supported = GST_VULKAN_DISPLAY_TYPE_NONE;
+
+ window_str = g_getenv ("GST_VULKAN_WINDOW");
+
+ /* FIXME: enumerate instance extensions for the supported winsys' */
+
+#define CHOOSE_WINSYS(lname,uname) \
+ G_STMT_START { \
+ if (!type && g_strcmp0 (window_str, G_STRINGIFY (lname)) == 0) { \
+ type = G_PASTE(GST_VULKAN_DISPLAY_TYPE_,uname); \
+ } \
+ if (!first_supported) \
+ first_supported = G_PASTE(GST_VULKAN_DISPLAY_TYPE_,uname); \
+ } G_STMT_END
+
+#if GST_VULKAN_HAVE_WINDOW_XCB
+ CHOOSE_WINSYS (xcb, XCB);
+#endif
+
+#undef CHOOSE_WINSYS
+
+ if (type)
+ return type;
+
+ if (first_supported)
+ return first_supported;
+
+ return GST_VULKAN_DISPLAY_TYPE_NONE;
+}
+
+const gchar *
+gst_vulkan_display_type_to_extension_string (GstVulkanDisplayType type)
+{
+ if (type == GST_VULKAN_DISPLAY_TYPE_NONE)
+ return NULL;
+
+ if (type & GST_VULKAN_DISPLAY_TYPE_XCB)
+ return VK_KHR_XCB_SURFACE_EXTENSION_NAME;
+
+ return NULL;
+}
+
+gboolean
+gst_vulkan_display_handle_context_query (GstElement * element, GstQuery * query,
+ GstVulkanDisplay ** display)
+{
+ gboolean res = FALSE;
+ const gchar *context_type;
+ GstContext *context, *old_context;
+
+ g_return_val_if_fail (element != NULL, FALSE);
+ g_return_val_if_fail (query != NULL, FALSE);
+ g_return_val_if_fail (GST_QUERY_TYPE (query) == GST_QUERY_CONTEXT, FALSE);
+ g_return_val_if_fail (display != NULL, FALSE);
+
+ gst_query_parse_context_type (query, &context_type);
+
+ if (g_strcmp0 (context_type, GST_VULKAN_DISPLAY_CONTEXT_TYPE_STR) == 0) {
+ gst_query_parse_context (query, &old_context);
+
+ if (old_context)
+ context = gst_context_copy (old_context);
+ else
+ context = gst_context_new (GST_VULKAN_DISPLAY_CONTEXT_TYPE_STR, TRUE);
+
+ gst_context_set_vulkan_display (context, *display);
+ gst_query_set_context (query, context);
+ gst_context_unref (context);
+
+ res = *display != NULL;
+ }
+
+ return res;
+}
+
+gboolean
+gst_vulkan_display_run_context_query (GstElement * element,
+ GstVulkanDisplay ** display)
+{
+ g_return_val_if_fail (GST_IS_ELEMENT (element), FALSE);
+ g_return_val_if_fail (display != NULL, FALSE);
+
+ if (*display && GST_IS_VULKAN_DISPLAY (*display))
+ return TRUE;
+
+ gst_vulkan_global_context_query (element,
+ GST_VULKAN_DISPLAY_CONTEXT_TYPE_STR);
+
+ GST_DEBUG_OBJECT (element, "found display %p", *display);
+
+ if (*display)
+ return TRUE;
+
+ return FALSE;
+}
diff --git a/ext/vulkan/vkdisplay.h b/ext/vulkan/vkdisplay.h
new file mode 100644
index 0000000..b0bbb4f
--- /dev/null
+++ b/ext/vulkan/vkdisplay.h
@@ -0,0 +1,116 @@
+/*
+ * GStreamer
+ * Copyright (C) 2007 David A. Schleef <ds@schleef.org>
+ * Copyright (C) 2008 Julien Isorce <julien.isorce@gmail.com>
+ * Copyright (C) 2008 Filippo Argiolas <filippo.argiolas@gmail.com>
+ * Copyright (C) 2013 Matthew Waters <ystreet00@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_VULKAN_DISPLAY_H__
+#define __GST_VULKAN_DISPLAY_H__
+
+#include <gst/gst.h>
+
+#include <vk.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_VULKAN_DISPLAY (gst_vulkan_display_get_type())
+#define GST_VULKAN_DISPLAY(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_VULKAN_DISPLAY,GstVulkanDisplay))
+#define GST_VULKAN_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_VULKAN_DISPLAY,GstVulkanDisplayClass))
+#define GST_IS_VULKAN_DISPLAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_VULKAN_DISPLAY))
+#define GST_IS_VULKAN_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_VULKAN_DISPLAY))
+#define GST_VULKAN_DISPLAY_CAST(obj) ((GstVulkanDisplay*)(obj))
+#define GST_VULKAN_DISPLAY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), GST_TYPE_VULKAN_DISPLAY, GstVulkanDisplayClass))
+GType gst_vulkan_display_get_type (void);
+
+#define GST_VULKAN_DISPLAY_CONTEXT_TYPE_STR "gst.vulkan.display"
+
+enum _GstVulkanDisplayType
+{
+ GST_VULKAN_DISPLAY_TYPE_NONE = 0,
+ GST_VULKAN_DISPLAY_TYPE_X11 = (1 << 0),
+ GST_VULKAN_DISPLAY_TYPE_XCB = (1 << 1),
+ GST_VULKAN_DISPLAY_TYPE_WAYLAND = (1 << 2),
+ GST_VULKAN_DISPLAY_TYPE_MIR = (1 << 3),
+ GST_VULKAN_DISPLAY_TYPE_WIN32 = (1 << 4),
+
+ GST_VULKAN_DISPLAY_TYPE_ANY = G_MAXUINT32
+};
+
+/**
+ * GstVulkanDisplay:
+ *
+ * The contents of a #GstVulkanDisplay are private and should only be accessed
+ * through the provided API
+ */
+struct _GstVulkanDisplay
+{
+ /* <private> */
+ GstObject object;
+
+ GstVulkanDisplayType type;
+
+ GstVulkanInstance *instance;
+
+ /* <protected> */
+ GList *windows; /* OBJECT lock */
+ GMainContext *main_context;
+ GMainLoop *main_loop;
+ GSource *event_source;
+
+ /* <private> */
+ GstVulkanDisplayPrivate *priv;
+};
+
+struct _GstVulkanDisplayClass
+{
+ GstObjectClass object_class;
+
+ gpointer (*get_handle) (GstVulkanDisplay * display);
+ GstVulkanWindow * (*create_window) (GstVulkanDisplay * display);
+};
+
+GstVulkanDisplay * gst_vulkan_display_new (GstVulkanInstance *instance);
+GstVulkanDisplay * gst_vulkan_display_new_with_type (GstVulkanInstance *instance,
+ GstVulkanDisplayType type);
+GstVulkanDisplayType gst_vulkan_display_choose_type (GstVulkanInstance *instance);
+const gchar * gst_vulkan_display_type_to_extension_string (GstVulkanDisplayType type);
+
+
+gpointer gst_vulkan_display_get_handle (GstVulkanDisplay * display);
+GstVulkanDisplayType gst_vulkan_display_get_handle_type (GstVulkanDisplay * display);
+GstVulkanWindow * gst_vulkan_display_create_window (GstVulkanDisplay * display);
+
+gboolean gst_context_get_vulkan_display (GstContext * context,
+ GstVulkanDisplay ** display);
+void gst_context_set_vulkan_display (GstContext * context,
+ GstVulkanDisplay * display);
+gboolean gst_vulkan_display_handle_context_query (GstElement * element,
+ GstQuery * query,
+ GstVulkanDisplay ** display);
+gboolean gst_vulkan_display_run_context_query (GstElement * element,
+ GstVulkanDisplay ** display);
+
+/* GstVulkanWindow usage only */
+gboolean gst_vulkan_display_remove_window (GstVulkanDisplay * display, GstVulkanWindow * window);
+
+
+G_END_DECLS
+
+#endif /* __GST_VULKAN_DISPLAY_H__ */
diff --git a/ext/vulkan/vkerror.c b/ext/vulkan/vkerror.c
new file mode 100644
index 0000000..3fec27e
--- /dev/null
+++ b/ext/vulkan/vkerror.c
@@ -0,0 +1,100 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <glib/gprintf.h>
+
+#include "vkerror.h"
+
+/* *INDENT-OFF* */
+static const struct
+{
+ VkResult result;
+ const char *str;
+} vk_result_string_map[] = {
+ {VK_ERROR_OUT_OF_HOST_MEMORY, "Out Of host memory"},
+ {VK_ERROR_OUT_OF_DEVICE_MEMORY, "Out of device memory"},
+ {VK_ERROR_INITIALIZATION_FAILED, "Initialization failed"},
+ {VK_ERROR_DEVICE_LOST, "Device lost"},
+ {VK_ERROR_MEMORY_MAP_FAILED, "Map failed"},
+ {VK_ERROR_LAYER_NOT_PRESENT, "Layer not present"},
+ {VK_ERROR_EXTENSION_NOT_PRESENT, "Extension not present"},
+ {VK_ERROR_FEATURE_NOT_PRESENT, "Feature not present"},
+ {VK_ERROR_INCOMPATIBLE_DRIVER, "Incompatible driver"},
+ {VK_ERROR_TOO_MANY_OBJECTS, "Too many objects"},
+ {VK_ERROR_FORMAT_NOT_SUPPORTED, "format not supported"},
+ {VK_ERROR_SURFACE_LOST_KHR, "Surface lost"},
+ {VK_ERROR_OUT_OF_DATE_KHR, "out of date"},
+ {VK_ERROR_INCOMPATIBLE_DISPLAY_KHR, "Incompatible display"},
+ {VK_ERROR_NATIVE_WINDOW_IN_USE_KHR, "Native window in use"},
+};
+/* *INDENT-ON* */
+
+GQuark
+gst_vulkan_error_quark (void)
+{
+ return g_quark_from_static_string ("gst-vulkan-error");
+}
+
+static const char *
+_vk_result_to_string (VkResult result)
+{
+ int i;
+
+ if (result >= 0)
+ return NULL;
+ if (result < VK_RESULT_BEGIN_RANGE)
+ return "Unknown Error";
+
+ for (i = 0; i < G_N_ELEMENTS (vk_result_string_map); i++) {
+ if (result == vk_result_string_map[i].result)
+ return vk_result_string_map[i].str;
+ }
+
+ return "Unknown Error";
+}
+
+VkResult
+gst_vulkan_error_to_g_error (VkResult result, GError ** error,
+ const char *format, ...)
+{
+ const char *result_str;
+ gchar *string;
+ va_list args;
+
+ if (error == NULL)
+ /* we don't have an error to set */
+ return result;
+
+ result_str = _vk_result_to_string (result);
+ if (result_str == NULL)
+ return result;
+
+ va_start (args, format);
+ g_vasprintf (&string, format, args);
+ va_end (args);
+
+ g_set_error (error, GST_VULKAN_ERROR, result, "%s: %s", result_str, string);
+
+ return result;
+}
diff --git a/ext/vulkan/vkerror.h b/ext/vulkan/vkerror.h
new file mode 100644
index 0000000..788e66d
--- /dev/null
+++ b/ext/vulkan/vkerror.h
@@ -0,0 +1,37 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _VK_ERROR_H_
+#define _VK_ERROR_H_
+
+#include <gst/gst.h>
+#include <vulkan/vulkan.h>
+
+G_BEGIN_DECLS
+
+#define GST_VULKAN_ERROR (gst_vulkan_error_quark ())
+GQuark gst_vulkan_error_quark (void);
+
+/* only fills error iff error != NULL and result < 0 */
+VkResult gst_vulkan_error_to_g_error (VkResult result, GError ** error, const char * format, ...) G_GNUC_PRINTF (3, 4);
+
+G_END_DECLS
+
+#endif /* _VK_INSTANCE_H_ */
diff --git a/ext/vulkan/vkimagememory.c b/ext/vulkan/vkimagememory.c
new file mode 100644
index 0000000..b1263b0
--- /dev/null
+++ b/ext/vulkan/vkimagememory.c
@@ -0,0 +1,569 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "vkimagememory.h"
+
+/**
+ * SECTION:vkimagememory
+ * @short_description: memory subclass for Vulkan image memory
+ * @see_also: #GstMemory, #GstAllocator
+ *
+ * GstVulkanImageMemory is a #GstMemory subclass providing support for the
+ * mapping of Vulkan device memory.
+ */
+
+#define GST_CAT_DEFUALT GST_CAT_VULKAN_IMAGE_MEMORY
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFUALT);
+
+static GstAllocator *_vulkan_image_memory_allocator;
+
+VkFormat
+gst_vulkan_format_from_video_format (GstVideoFormat v_format, guint plane)
+{
+ guint n_plane_components;
+
+ switch (v_format) {
+ case GST_VIDEO_FORMAT_RGBx:
+ case GST_VIDEO_FORMAT_BGRx:
+ case GST_VIDEO_FORMAT_xRGB:
+ case GST_VIDEO_FORMAT_xBGR:
+ case GST_VIDEO_FORMAT_RGBA:
+ case GST_VIDEO_FORMAT_BGRA:
+ case GST_VIDEO_FORMAT_ARGB:
+ case GST_VIDEO_FORMAT_ABGR:
+ case GST_VIDEO_FORMAT_AYUV:
+ n_plane_components = 4;
+ break;
+ case GST_VIDEO_FORMAT_RGB:
+ case GST_VIDEO_FORMAT_BGR:
+ n_plane_components = 3;
+ break;
+ case GST_VIDEO_FORMAT_RGB16:
+ case GST_VIDEO_FORMAT_BGR16:
+ return GST_VIDEO_GL_TEXTURE_TYPE_RGB16;
+ case GST_VIDEO_FORMAT_GRAY16_BE:
+ case GST_VIDEO_FORMAT_GRAY16_LE:
+ case GST_VIDEO_FORMAT_YUY2:
+ case GST_VIDEO_FORMAT_UYVY:
+ n_plane_components = 2;
+ break;
+ case GST_VIDEO_FORMAT_NV12:
+ case GST_VIDEO_FORMAT_NV21:
+ n_plane_components = plane == 0 ? 1 : 2;
+ break;
+ case GST_VIDEO_FORMAT_GRAY8:
+ case GST_VIDEO_FORMAT_Y444:
+ case GST_VIDEO_FORMAT_Y42B:
+ case GST_VIDEO_FORMAT_Y41B:
+ case GST_VIDEO_FORMAT_I420:
+ case GST_VIDEO_FORMAT_YV12:
+ n_plane_components = 1;
+ break;
+ default:
+ n_plane_components = 4;
+ g_assert_not_reached ();
+ break;
+ }
+
+ switch (n_plane_components) {
+ case 4:
+ return VK_FORMAT_R8G8B8A8_UNORM;
+ case 3:
+ return VK_FORMAT_R8G8B8_UNORM;
+ case 2:
+ return VK_FORMAT_R8G8_UNORM;
+ case 1:
+ return VK_FORMAT_R8_UNORM;
+ default:
+ g_assert_not_reached ();
+ return VK_FORMAT_R8G8B8A8_UNORM;
+ }
+}
+
+static void
+_view_create_info (VkImage image, VkFormat format, VkImageViewCreateInfo * info)
+{
+ info->sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO;
+ info->pNext = NULL;
+ info->image = image;
+ info->format = format;
+ info->viewType = VK_IMAGE_VIEW_TYPE_2D;
+ info->flags = 0;
+
+ GST_VK_COMPONENT_MAPPING (info->components, VK_COMPONENT_SWIZZLE_R,
+ VK_COMPONENT_SWIZZLE_G, VK_COMPONENT_SWIZZLE_B, VK_COMPONENT_SWIZZLE_A);
+ GST_VK_IMAGE_SUBRESOURCE_RANGE (info->subresourceRange,
+ VK_IMAGE_ASPECT_COLOR_BIT, 0, 1, 0, 1);
+}
+
+static gboolean
+_create_info_from_args (VkImageCreateInfo * info, VkFormat format, gsize width,
+ gsize height, VkImageTiling tiling, VkImageUsageFlags usage)
+{
+ /* FIXME: validate these */
+
+ info->sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO;
+ info->pNext = NULL;
+ info->flags = 0;
+ info->imageType = VK_IMAGE_TYPE_2D;
+ info->format = format;
+ GST_VK_EXTENT3D (info->extent, width, height, 1);
+ info->mipLevels = 1;
+ info->arrayLayers = 1;
+ info->samples = VK_SAMPLE_COUNT_1_BIT;
+ info->tiling = tiling;
+ info->usage = usage;
+ info->sharingMode = VK_SHARING_MODE_EXCLUSIVE;
+ info->queueFamilyIndexCount = 0;
+ info->pQueueFamilyIndices = NULL;
+ info->initialLayout = VK_IMAGE_LAYOUT_UNDEFINED;
+
+ return TRUE;
+}
+
+static void
+_vk_image_mem_init (GstVulkanImageMemory * mem, GstAllocator * allocator,
+ GstMemory * parent, GstVulkanDevice * device, VkImageUsageFlags usage,
+ GstAllocationParams * params, gsize size, gpointer user_data,
+ GDestroyNotify notify)
+{
+ gsize align = gst_memory_alignment, offset = 0, maxsize = size;
+ GstMemoryFlags flags = 0;
+
+ if (params) {
+ flags = params->flags;
+ align |= params->align;
+ offset = params->prefix;
+ maxsize += params->prefix + params->padding + align;
+ }
+
+ gst_memory_init (GST_MEMORY_CAST (mem), flags, allocator, parent, maxsize,
+ align, offset, size);
+
+ mem->device = gst_object_ref (device);
+ mem->image_layout = VK_IMAGE_LAYOUT_UNDEFINED;
+ mem->usage = usage;
+ mem->wrapped = FALSE;
+ mem->notify = notify;
+ mem->user_data = user_data;
+
+ g_mutex_init (&mem->lock);
+
+ GST_CAT_DEBUG (GST_CAT_VULKAN_IMAGE_MEMORY,
+ "new Vulkan Image memory:%p size:%" G_GSIZE_FORMAT, mem, maxsize);
+}
+
+static GstVulkanImageMemory *
+_vk_image_mem_new_alloc (GstAllocator * allocator, GstMemory * parent,
+ GstVulkanDevice * device, VkFormat format, gsize width, gsize height,
+ VkImageTiling tiling, VkImageUsageFlags usage,
+ VkMemoryPropertyFlags mem_prop_flags, gpointer user_data,
+ GDestroyNotify notify)
+{
+ GstVulkanImageMemory *mem = NULL;
+ GstAllocationParams params = { 0, };
+ VkImageViewCreateInfo view_info;
+ VkImageCreateInfo image_info;
+ VkPhysicalDevice gpu;
+ GError *error = NULL;
+ guint32 type_idx;
+ VkImage image;
+ VkResult err;
+
+ gpu = gst_vulkan_device_get_physical_device (device);
+ if (!_create_info_from_args (&image_info, format, width, height, tiling,
+ usage)) {
+ GST_CAT_ERROR (GST_CAT_VULKAN_IMAGE_MEMORY, "Incorrect image parameters");
+ goto error;
+ }
+
+ err = vkCreateImage (device->device, &image_info, NULL, &image);
+ if (gst_vulkan_error_to_g_error (err, &error, "vkCreateImage") < 0)
+ goto vk_error;
+
+ mem = g_new0 (GstVulkanImageMemory, 1);
+ _vk_image_mem_init (mem, allocator, parent, device, usage, ¶ms,
+ mem->requirements.size, user_data, notify);
+ mem->create_info = image_info;
+ mem->image = image;
+
+ vkGetImageMemoryRequirements (device->device, image, &mem->requirements);
+ err = vkGetPhysicalDeviceImageFormatProperties (gpu, format, VK_IMAGE_TYPE_2D,
+ tiling, usage, 0, &mem->format_properties);
+ if (gst_vulkan_error_to_g_error (err, &error,
+ "vkGetPhysicalDeviceImageFormatProperties") < 0)
+ goto vk_error;
+
+ if (!gst_vulkan_memory_find_memory_type_index_with_type_properties (device,
+ mem->requirements.memoryTypeBits, mem_prop_flags, &type_idx))
+ goto error;
+
+ /* XXX: assumes alignment is a power of 2 */
+ params.align = mem->requirements.alignment - 1;
+ mem->vk_mem = (GstVulkanMemory *) gst_vulkan_memory_alloc (device, type_idx,
+ ¶ms, mem->requirements.size, mem_prop_flags);
+ if (!mem->vk_mem)
+ goto error;
+
+ err = vkBindImageMemory (device->device, image, mem->vk_mem->mem_ptr, 0);
+ if (gst_vulkan_error_to_g_error (err, &error, "vkBindImageMemory") < 0)
+ goto vk_error;
+
+ if (usage & (VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_STORAGE_BIT |
+ VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT)) {
+ _view_create_info (mem->image, format, &view_info);
+ err = vkCreateImageView (device->device, &view_info, NULL, &mem->view);
+ if (gst_vulkan_error_to_g_error (err, &error, "vkCreateImageView") < 0)
+ goto vk_error;
+ }
+
+ return mem;
+
+vk_error:
+ {
+ GST_CAT_ERROR (GST_CAT_VULKAN_IMAGE_MEMORY,
+ "Failed to allocate image memory %s", error->message);
+ g_clear_error (&error);
+ goto error;
+ }
+
+error:
+ {
+ if (mem)
+ gst_memory_unref ((GstMemory *) mem);
+ return NULL;
+ }
+}
+
+static GstVulkanImageMemory *
+_vk_image_mem_new_wrapped (GstAllocator * allocator, GstMemory * parent,
+ GstVulkanDevice * device, VkImage image, VkFormat format, gsize width,
+ gsize height, VkImageTiling tiling, VkImageUsageFlags usage,
+ gpointer user_data, GDestroyNotify notify)
+{
+ GstVulkanImageMemory *mem = g_new0 (GstVulkanImageMemory, 1);
+ GstAllocationParams params = { 0, };
+ VkImageViewCreateInfo view_info;
+ VkPhysicalDevice gpu;
+ GError *error = NULL;
+ VkResult err;
+
+ gpu = gst_vulkan_device_get_physical_device (device);
+ mem->image = image;
+
+ vkGetImageMemoryRequirements (device->device, mem->image, &mem->requirements);
+
+ /* XXX: assumes alignment is a power of 2 */
+ params.align = mem->requirements.alignment - 1;
+ params.flags = GST_MEMORY_FLAG_NOT_MAPPABLE;
+ _vk_image_mem_init (mem, allocator, parent, device, usage, ¶ms,
+ mem->requirements.size, user_data, notify);
+ mem->wrapped = TRUE;
+
+ if (!_create_info_from_args (&mem->create_info, format, width, height, tiling,
+ usage)) {
+ GST_CAT_ERROR (GST_CAT_VULKAN_IMAGE_MEMORY, "Incorrect image parameters");
+ goto error;
+ }
+
+ err = vkGetPhysicalDeviceImageFormatProperties (gpu, format, VK_IMAGE_TYPE_2D,
+ tiling, usage, 0, &mem->format_properties);
+ if (gst_vulkan_error_to_g_error (err, &error,
+ "vkGetPhysicalDeviceImageFormatProperties") < 0)
+ goto vk_error;
+
+ /* XXX: we don't actually if the image has a vkDeviceMemory bound so
+ * this may fail */
+ if (usage & (VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_STORAGE_BIT |
+ VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT)) {
+ _view_create_info (mem->image, format, &view_info);
+ err = vkCreateImageView (device->device, &view_info, NULL, &mem->view);
+ if (gst_vulkan_error_to_g_error (err, &error, "vkCreateImageView") < 0)
+ goto vk_error;
+ }
+
+ return mem;
+
+vk_error:
+ {
+ GST_CAT_ERROR (GST_CAT_VULKAN_IMAGE_MEMORY,
+ "Failed to allocate image memory %s", error->message);
+ g_clear_error (&error);
+ goto error;
+ }
+
+error:
+ {
+ gst_memory_unref ((GstMemory *) mem);
+ return NULL;
+ }
+}
+
+static gpointer
+_vk_image_mem_map_full (GstVulkanImageMemory * mem, GstMapInfo * info,
+ gsize size)
+{
+ GstMapInfo *vk_map_info;
+
+ /* FIXME: possible layout transformation needed */
+ g_mutex_lock (&mem->lock);
+
+ if (!mem->vk_mem) {
+ g_mutex_unlock (&mem->lock);
+ return NULL;
+ }
+
+ vk_map_info = g_new0 (GstMapInfo, 1);
+ info->user_data[0] = vk_map_info;
+ if (!gst_memory_map ((GstMemory *) mem->vk_mem, vk_map_info, info->flags)) {
+ g_free (vk_map_info);
+ g_mutex_unlock (&mem->lock);
+ return NULL;
+ }
+ g_mutex_unlock (&mem->lock);
+
+ return vk_map_info->data;
+}
+
+static void
+_vk_image_mem_unmap_full (GstVulkanImageMemory * mem, GstMapInfo * info)
+{
+ g_mutex_lock (&mem->lock);
+ gst_memory_unmap ((GstMemory *) mem->vk_mem, info->user_data[0]);
+ g_mutex_unlock (&mem->lock);
+
+ g_free (info->user_data[0]);
+}
+
+static GstMemory *
+_vk_image_mem_copy (GstVulkanImageMemory * src, gssize offset, gssize size)
+{
+ return NULL;
+}
+
+static GstMemory *
+_vk_image_mem_share (GstVulkanImageMemory * mem, gssize offset, gssize size)
+{
+ return NULL;
+}
+
+static gboolean
+_vk_image_mem_is_span (GstVulkanImageMemory * mem1, GstVulkanImageMemory * mem2,
+ gsize * offset)
+{
+ return FALSE;
+}
+
+static GstMemory *
+_vk_image_mem_alloc (GstAllocator * allocator, gsize size,
+ GstAllocationParams * params)
+{
+ g_critical ("Subclass should override GstAllocatorClass::alloc() function");
+
+ return NULL;
+}
+
+static void
+_vk_image_mem_free (GstAllocator * allocator, GstMemory * memory)
+{
+ GstVulkanImageMemory *mem = (GstVulkanImageMemory *) memory;
+
+ GST_CAT_TRACE (GST_CAT_VULKAN_IMAGE_MEMORY, "freeing image memory:%p "
+ "id:%" G_GUINT64_FORMAT, mem, (guint64) mem->image);
+
+ if (mem->image && !mem->wrapped)
+ vkDestroyImage (mem->device->device, mem->image, NULL);
+
+ if (mem->view)
+ vkDestroyImageView (mem->device->device, mem->view, NULL);
+
+ if (mem->vk_mem)
+ gst_memory_unref ((GstMemory *) mem->vk_mem);
+
+ if (mem->notify)
+ mem->notify (mem->user_data);
+
+ gst_object_unref (mem->device);
+
+ g_free (mem);
+}
+
+static VkAccessFlags
+_access_flags_from_layout (VkImageLayout image_layout)
+{
+ if (image_layout == VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL)
+ return VK_ACCESS_TRANSFER_WRITE_BIT;
+
+ if (image_layout == VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL)
+ return VK_ACCESS_TRANSFER_READ_BIT;
+
+ if (image_layout == VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL)
+ return VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
+
+ if (image_layout == VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL)
+ return VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT;
+
+ if (image_layout == VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL)
+ return VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_INPUT_ATTACHMENT_READ_BIT;
+
+ return 0;
+}
+
+gboolean
+gst_vulkan_image_memory_set_layout (GstVulkanImageMemory * vk_mem,
+ VkImageLayout image_layout, VkImageMemoryBarrier * barrier)
+{
+ /* validate vk_mem->usage with image_layout */
+
+ barrier->sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER;
+ barrier->pNext = NULL;
+ barrier->dstAccessMask = _access_flags_from_layout (image_layout);
+ barrier->srcAccessMask = _access_flags_from_layout (vk_mem->image_layout);
+ barrier->oldLayout = vk_mem->image_layout;
+ barrier->newLayout = image_layout;
+ barrier->image = vk_mem->image;
+ GST_VK_IMAGE_SUBRESOURCE_RANGE (barrier->subresourceRange,
+ VK_IMAGE_ASPECT_COLOR_BIT, 0, 1, 0, 1);
+
+ /* FIXME: what if the barrier is never submitted or is submitted out of order? */
+ vk_mem->image_layout = image_layout;
+
+ return TRUE;
+}
+
+/**
+ * gst_vulkan_image_memory_alloc:
+ *
+ * Allocated a new #GstVulkanImageMemory.
+ *
+ * Returns: a #GstMemory object backed by a vulkan device memory
+ */
+GstMemory *
+gst_vulkan_image_memory_alloc (GstVulkanDevice * device, VkFormat format,
+ gsize width, gsize height, VkImageTiling tiling, VkImageUsageFlags usage,
+ VkMemoryPropertyFlags mem_prop_flags)
+{
+ GstVulkanImageMemory *mem;
+
+ mem = _vk_image_mem_new_alloc (_vulkan_image_memory_allocator, NULL, device,
+ format, width, height, tiling, usage, mem_prop_flags, NULL, NULL);
+
+ return (GstMemory *) mem;
+}
+
+GstMemory *
+gst_vulkan_image_memory_wrapped (GstVulkanDevice * device, VkImage image,
+ VkFormat format, gsize width, gsize height, VkImageTiling tiling,
+ VkImageUsageFlags usage, gpointer user_data, GDestroyNotify notify)
+{
+ GstVulkanImageMemory *mem;
+
+ mem = _vk_image_mem_new_wrapped (_vulkan_image_memory_allocator, NULL, device,
+ image, format, width, height, tiling, usage, user_data, notify);
+
+ return (GstMemory *) mem;
+}
+
+guint32
+gst_vulkan_image_memory_get_width (GstVulkanImageMemory * image)
+{
+ g_return_val_if_fail (gst_is_vulkan_image_memory (GST_MEMORY_CAST (image)),
+ 0);
+
+ return image->create_info.extent.width;
+}
+
+guint32
+gst_vulkan_image_memory_get_height (GstVulkanImageMemory * image)
+{
+ g_return_val_if_fail (gst_is_vulkan_image_memory (GST_MEMORY_CAST (image)),
+ 0);
+
+ return image->create_info.extent.height;
+}
+
+G_DEFINE_TYPE (GstVulkanImageMemoryAllocator, gst_vulkan_image_memory_allocator,
+ GST_TYPE_ALLOCATOR);
+
+static void
+gst_vulkan_image_memory_allocator_class_init (GstVulkanImageMemoryAllocatorClass
+ * klass)
+{
+ GstAllocatorClass *allocator_class = (GstAllocatorClass *) klass;
+
+ allocator_class->alloc = _vk_image_mem_alloc;
+ allocator_class->free = _vk_image_mem_free;
+}
+
+static void
+gst_vulkan_image_memory_allocator_init (GstVulkanImageMemoryAllocator *
+ allocator)
+{
+ GstAllocator *alloc = GST_ALLOCATOR_CAST (allocator);
+
+ alloc->mem_type = GST_VULKAN_IMAGE_MEMORY_ALLOCATOR_NAME;
+ alloc->mem_map_full = (GstMemoryMapFullFunction) _vk_image_mem_map_full;
+ alloc->mem_unmap_full = (GstMemoryUnmapFullFunction) _vk_image_mem_unmap_full;
+ alloc->mem_copy = (GstMemoryCopyFunction) _vk_image_mem_copy;
+ alloc->mem_share = (GstMemoryShareFunction) _vk_image_mem_share;
+ alloc->mem_is_span = (GstMemoryIsSpanFunction) _vk_image_mem_is_span;
+}
+
+/**
+ * gst_vulkan_image_memory_init_once:
+ *
+ * Initializes the Vulkan memory allocator. It is safe to call this function
+ * multiple times. This must be called before any other #GstVulkanImageMemory operation.
+ */
+void
+gst_vulkan_image_memory_init_once (void)
+{
+ static volatile gsize _init = 0;
+
+ if (g_once_init_enter (&_init)) {
+ GST_DEBUG_CATEGORY_INIT (GST_CAT_VULKAN_IMAGE_MEMORY, "vulkanimagememory",
+ 0, "Vulkan Image Memory");
+
+ _vulkan_image_memory_allocator =
+ g_object_new (gst_vulkan_image_memory_allocator_get_type (), NULL);
+
+ gst_allocator_register (GST_VULKAN_IMAGE_MEMORY_ALLOCATOR_NAME,
+ gst_object_ref (_vulkan_image_memory_allocator));
+ g_once_init_leave (&_init, 1);
+ }
+}
+
+/**
+ * gst_is_vulkan_image_memory:
+ * @mem:a #GstMemory
+ *
+ * Returns: whether the memory at @mem is a #GstVulkanImageMemory
+ */
+gboolean
+gst_is_vulkan_image_memory (GstMemory * mem)
+{
+ return mem != NULL && mem->allocator != NULL &&
+ g_type_is_a (G_OBJECT_TYPE (mem->allocator),
+ GST_TYPE_VULKAN_IMAGE_MEMORY_ALLOCATOR);
+}
diff --git a/ext/vulkan/vkimagememory.h b/ext/vulkan/vkimagememory.h
new file mode 100644
index 0000000..aa6cad6
--- /dev/null
+++ b/ext/vulkan/vkimagememory.h
@@ -0,0 +1,122 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _VK_IMAGE_MEMORY_H_
+#define _VK_IMAGE_MEMORY_H_
+
+#include <gst/gst.h>
+#include <gst/gstallocator.h>
+#include <gst/gstmemory.h>
+
+#include <gst/video/video.h>
+
+#include <vk.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_VULKAN_IMAGE_MEMORY_ALLOCATOR (gst_vulkan_image_memory_allocator_get_type())
+GType gst_vulkan_image_memory_allocator_get_type(void);
+
+#define GST_IS_VULKAN_IMAGE_MEMORY_ALLOCATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_VULKAN_IMAGE_MEMORY_ALLOCATOR))
+#define GST_IS_VULKAN_IMAGE_MEMORY_ALLOCATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_VULKAN_IMAGE_MEMORY_ALLOCATOR))
+#define GST_VULKAN_IMAGE_MEMORY_ALLOCATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_VULKAN_MEMORY_ALLOCATOR, GstVulkanImageMemoryAllocatorClass))
+#define GST_VULKAN_IMAGE_MEMORY_ALLOCATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_VULKAN_MEMORY_ALLOCATOR, GstVulkanImageMemoryAllocator))
+#define GST_VULKAN_IMAGE_MEMORY_ALLOCATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_VULKAN_MEMORY_ALLOCATOR, GstVulkanImageMemoryAllocatorClass))
+#define GST_VULKAN_IMAGE_MEMORY_ALLOCATOR_CAST(obj) ((GstVulkanImageMemoryAllocator *)(obj))
+
+#define GST_VULKAN_IMAGE_MEMORY_ALLOCATOR_NAME "VulkanImage"
+#define GST_CAPS_FEATURE_MEMORY_VULKAN_IMAGE "memory:" GST_VULKAN_IMAGE_MEMORY_ALLOCATOR_NAME
+
+struct _GstVulkanImageMemory
+{
+ GstMemory parent;
+
+ GstVulkanDevice * device;
+
+ VkImage image;
+ VkImageLayout image_layout;
+ VkImageView view;
+ GstVulkanMemory *vk_mem;
+
+ VkImageCreateInfo create_info;
+ VkMemoryRequirements requirements;
+ VkImageFormatProperties format_properties;
+ VkImageUsageFlags usage;
+
+ GMutex lock;
+ gboolean wrapped;
+ GDestroyNotify notify;
+ gpointer user_data;
+};
+
+/**
+ * GstVulkanImageMemoryAllocator
+ *
+ * Opaque #GstVulkanImageMemoryAllocator struct
+ */
+struct _GstVulkanImageMemoryAllocator
+{
+ GstAllocator parent;
+};
+
+/**
+ * GstVulkanImageMemoryAllocatorClass:
+ *
+ * The #GstVulkanImageMemoryAllocatorClass only contains private data
+ */
+struct _GstVulkanImageMemoryAllocatorClass
+{
+ GstAllocatorClass parent_class;
+};
+
+void gst_vulkan_image_memory_init_once (void);
+gboolean gst_is_vulkan_image_memory (GstMemory * mem);
+
+GstMemory * gst_vulkan_image_memory_alloc (GstVulkanDevice * device,
+ VkFormat format,
+ gsize width,
+ gsize height,
+ VkImageTiling tiling,
+ VkImageUsageFlags usage,
+ VkMemoryPropertyFlags mem_prop_flags);
+
+GstMemory * gst_vulkan_image_memory_wrapped (GstVulkanDevice * device,
+ VkImage image,
+ VkFormat format,
+ gsize width,
+ gsize height,
+ VkImageTiling tiling,
+ VkImageUsageFlags usage,
+ gpointer user_data,
+ GDestroyNotify notify);
+
+gboolean gst_vulkan_image_memory_set_layout (GstVulkanImageMemory * vk_mem,
+ VkImageLayout,
+ VkImageMemoryBarrier * barrier);
+
+guint32 gst_vulkan_image_memory_get_width (GstVulkanImageMemory * image);
+guint32 gst_vulkan_image_memory_get_height (GstVulkanImageMemory * image);
+
+VkFormat gst_vulkan_format_from_video_format (GstVideoFormat v_format,
+ guint plane);
+
+G_END_DECLS
+
+#endif /* _VK_IMAGE_MEMORY_H_ */
diff --git a/ext/vulkan/vkinstance.c b/ext/vulkan/vkinstance.c
new file mode 100644
index 0000000..28c4e78
--- /dev/null
+++ b/ext/vulkan/vkinstance.c
@@ -0,0 +1,542 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "vkinstance.h"
+#include "vkutils_private.h"
+
+#include <string.h>
+
+#define APP_SHORT_NAME "GStreamer"
+
+static const char *instance_validation_layers[] = {
+ "VK_LAYER_LUNARG_threading",
+ "VK_LAYER_LUNARG_mem_tracker",
+ "VK_LAYER_LUNARG_object_tracker",
+ "VK_LAYER_LUNARG_draw_state",
+ "VK_LAYER_LUNARG_param_checker",
+ "VK_LAYER_LUNARG_swapchain",
+ "VK_LAYER_LUNARG_device_limits",
+ "VK_LAYER_LUNARG_image",
+};
+
+#define GST_CAT_DEFAULT gst_vulkan_instance_debug
+GST_DEBUG_CATEGORY (GST_CAT_DEFAULT);
+GST_DEBUG_CATEGORY (GST_VULKAN_DEBUG_CAT);
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_CONTEXT);
+
+enum
+{
+ SIGNAL_0,
+ SIGNAL_CREATE_DEVICE,
+ LAST_SIGNAL
+};
+
+static guint gst_vulkan_instance_signals[LAST_SIGNAL] = { 0 };
+
+#define gst_vulkan_instance_parent_class parent_class
+G_DEFINE_TYPE_WITH_CODE (GstVulkanInstance, gst_vulkan_instance,
+ GST_TYPE_OBJECT, GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT,
+ "vulkaninstance", 0, "Vulkan Instance");
+ GST_DEBUG_CATEGORY_INIT (GST_VULKAN_DEBUG_CAT,
+ "vulkandebug", 0, "Vulkan Debug");
+ GST_DEBUG_CATEGORY_GET (GST_CAT_CONTEXT, "GST_CONTEXT"));
+
+static void gst_vulkan_instance_finalize (GObject * object);
+
+struct _GstVulkanInstancePrivate
+{
+ gboolean opened;
+};
+
+GstVulkanInstance *
+gst_vulkan_instance_new (void)
+{
+ return g_object_new (GST_TYPE_VULKAN_INSTANCE, NULL);
+}
+
+static void
+gst_vulkan_instance_init (GstVulkanInstance * instance)
+{
+ instance->priv = G_TYPE_INSTANCE_GET_PRIVATE ((instance),
+ GST_TYPE_VULKAN_INSTANCE, GstVulkanInstancePrivate);
+}
+
+static void
+gst_vulkan_instance_class_init (GstVulkanInstanceClass * klass)
+{
+ gst_vulkan_memory_init_once ();
+ gst_vulkan_image_memory_init_once ();
+ gst_vulkan_buffer_memory_init_once ();
+
+ g_type_class_add_private (klass, sizeof (GstVulkanInstancePrivate));
+
+ /**
+ * GstVulkanInstance::create-device:
+ * @object: the #GstVulkanDisplay
+ *
+ * Overrides the #GstVulkanDevice creation mechanism.
+ * It can be called from any thread.
+ *
+ * Returns: the newly created #GstVulkanDevice.
+ */
+ gst_vulkan_instance_signals[SIGNAL_CREATE_DEVICE] =
+ g_signal_new ("create-device", G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_generic,
+ GST_TYPE_VULKAN_DEVICE, 0);
+
+ G_OBJECT_CLASS (klass)->finalize = gst_vulkan_instance_finalize;
+}
+
+static void
+gst_vulkan_instance_finalize (GObject * object)
+{
+ GstVulkanInstance *instance = GST_VULKAN_INSTANCE (object);
+
+ if (instance->priv->opened) {
+ if (instance->dbgDestroyDebugReportCallback)
+ instance->dbgDestroyDebugReportCallback (instance->instance,
+ instance->msg_callback, NULL);
+
+ g_free (instance->physical_devices);
+ }
+ instance->priv->opened = FALSE;
+
+ if (instance->instance)
+ vkDestroyInstance (instance->instance, NULL);
+ instance->instance = NULL;
+
+ G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+static VkBool32
+_gst_vk_debug_callback (VkDebugReportFlagsEXT msgFlags,
+ VkDebugReportObjectTypeEXT objType, uint64_t srcObject, size_t location,
+ int32_t msgCode, const char *pLayerPrefix, const char *pMsg,
+ void *pUserData)
+{
+ if (msgFlags & VK_DEBUG_REPORT_ERROR_BIT_EXT) {
+ GST_CAT_ERROR (GST_VULKAN_DEBUG_CAT, "[%s] Code %d : %s", pLayerPrefix,
+ msgCode, pMsg);
+ } else if (msgFlags & VK_DEBUG_REPORT_WARNING_BIT_EXT) {
+ GST_CAT_WARNING (GST_VULKAN_DEBUG_CAT, "[%s] Code %d : %s", pLayerPrefix,
+ msgCode, pMsg);
+ } else if (msgFlags & VK_DEBUG_REPORT_INFORMATION_BIT_EXT) {
+ GST_CAT_LOG (GST_VULKAN_DEBUG_CAT, "[%s] Code %d : %s", pLayerPrefix,
+ msgCode, pMsg);
+ } else if (msgFlags & VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT) {
+ GST_CAT_FIXME (GST_VULKAN_DEBUG_CAT, "[%s] Code %d : %s", pLayerPrefix,
+ msgCode, pMsg);
+ } else if (msgFlags & VK_DEBUG_REPORT_DEBUG_BIT_EXT) {
+ GST_CAT_TRACE (GST_VULKAN_DEBUG_CAT, "[%s] Code %d : %s", pLayerPrefix,
+ msgCode, pMsg);
+ } else {
+ return FALSE;
+ }
+
+ /*
+ * false indicates that layer should not bail-out of an
+ * API call that had validation failures. This may mean that the
+ * app dies inside the driver due to invalid parameter(s).
+ * That's what would happen without validation layers, so we'll
+ * keep that behavior here.
+ */
+ return FALSE;
+}
+
+gboolean
+gst_vulkan_instance_open (GstVulkanInstance * instance, GError ** error)
+{
+ VkExtensionProperties *instance_extensions;
+ char *extension_names[64]; /* FIXME: make dynamic */
+ VkLayerProperties *instance_layers;
+ uint32_t instance_extension_count = 0;
+ uint32_t enabled_extension_count = 0;
+ uint32_t instance_layer_count = 0;
+ uint32_t enabled_layer_count = 0;
+ gboolean validation_found;
+ VkResult err;
+
+ GST_OBJECT_LOCK (instance);
+ if (instance->priv->opened) {
+ GST_OBJECT_UNLOCK (instance);
+ return TRUE;
+ }
+
+ /* Look for validation layers */
+ err = vkEnumerateInstanceLayerProperties (&instance_layer_count, NULL);
+ if (gst_vulkan_error_to_g_error (err, error,
+ "vKEnumerateInstanceLayerProperties") < 0)
+ goto error;
+
+ instance_layers = g_new0 (VkLayerProperties, instance_layer_count);
+ err =
+ vkEnumerateInstanceLayerProperties (&instance_layer_count,
+ instance_layers);
+ if (gst_vulkan_error_to_g_error (err, error,
+ "vKEnumerateInstanceLayerProperties") < 0) {
+ g_free (instance_layers);
+ goto error;
+ }
+
+ /* TODO: allow outside selection */
+ validation_found =
+ _check_for_all_layers (G_N_ELEMENTS (instance_validation_layers),
+ instance_validation_layers, instance_layer_count, instance_layers);
+ if (!validation_found) {
+ g_error ("vkEnumerateInstanceLayerProperties failed to find"
+ "required validation layer.\n\n"
+ "Please look at the Getting Started guide for additional "
+ "information.\nvkCreateInstance Failure");
+ }
+ enabled_layer_count = G_N_ELEMENTS (instance_validation_layers);
+
+ err =
+ vkEnumerateInstanceExtensionProperties (NULL, &instance_extension_count,
+ NULL);
+ if (gst_vulkan_error_to_g_error (err, error,
+ "vkEnumerateInstanceExtensionProperties") < 0) {
+ g_free (instance_layers);
+ goto error;
+ }
+ GST_DEBUG_OBJECT (instance, "Found %u extensions", instance_extension_count);
+
+ memset (extension_names, 0, sizeof (extension_names));
+ instance_extensions =
+ g_new0 (VkExtensionProperties, instance_extension_count);
+ err =
+ vkEnumerateInstanceExtensionProperties (NULL, &instance_extension_count,
+ instance_extensions);
+ if (gst_vulkan_error_to_g_error (err, error,
+ "vkEnumerateInstanceExtensionProperties") < 0) {
+ g_free (instance_layers);
+ g_free (instance_extensions);
+ goto error;
+ }
+
+ {
+ GstVulkanDisplayType display_type;
+ gboolean swapchain_ext_found = FALSE;
+ gboolean winsys_ext_found = FALSE;
+ const gchar *winsys_ext_name;
+
+ display_type = gst_vulkan_display_choose_type (instance);
+
+ winsys_ext_name =
+ gst_vulkan_display_type_to_extension_string (display_type);
+ if (!winsys_ext_name) {
+ GST_WARNING_OBJECT (instance, "No window system extension enabled");
+ winsys_ext_found = TRUE; /* Don't error out completely */
+ }
+
+ /* TODO: allow outside selection */
+ for (uint32_t i = 0; i < instance_extension_count; i++) {
+ GST_TRACE_OBJECT (instance, "checking instance extension %s",
+ instance_extensions[i].extensionName);
+
+ if (!g_strcmp0 (VK_KHR_SURFACE_EXTENSION_NAME,
+ instance_extensions[i].extensionName)) {
+ swapchain_ext_found = TRUE;
+ extension_names[enabled_extension_count++] =
+ (gchar *) VK_KHR_SURFACE_EXTENSION_NAME;
+ }
+ if (!g_strcmp0 (VK_EXT_DEBUG_REPORT_EXTENSION_NAME,
+ instance_extensions[i].extensionName)) {
+ extension_names[enabled_extension_count++] =
+ (gchar *) VK_EXT_DEBUG_REPORT_EXTENSION_NAME;
+ }
+ if (!g_strcmp0 (winsys_ext_name, instance_extensions[i].extensionName)) {
+ winsys_ext_found = TRUE;
+ extension_names[enabled_extension_count++] = (gchar *) winsys_ext_name;
+ }
+ g_assert (enabled_extension_count < 64);
+ }
+ if (!swapchain_ext_found) {
+ g_set_error (error, GST_VULKAN_ERROR, VK_ERROR_INITIALIZATION_FAILED,
+ "vkEnumerateInstanceExtensionProperties failed to find the required "
+ "\"" VK_KHR_SURFACE_EXTENSION_NAME "\" extension");
+ g_free (instance_layers);
+ g_free (instance_extensions);
+ goto error;
+ }
+ if (!winsys_ext_found) {
+ g_set_error (error, GST_VULKAN_ERROR, VK_ERROR_INITIALIZATION_FAILED,
+ "vkEnumerateInstanceExtensionProperties failed to find the required "
+ "\"%s\" window system extension", winsys_ext_name);
+ g_free (instance_layers);
+ g_free (instance_extensions);
+ goto error;
+ }
+ }
+
+ {
+ VkApplicationInfo app = { 0, };
+ VkInstanceCreateInfo inst_info = { 0, };
+
+ app.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO;
+ app.pNext = NULL;
+ app.pApplicationName = APP_SHORT_NAME;
+ app.applicationVersion = 0;
+ app.pEngineName = APP_SHORT_NAME;
+ app.engineVersion = 0;
+ app.apiVersion = VK_API_VERSION;
+
+ inst_info.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
+ inst_info.pNext = NULL;
+ inst_info.pApplicationInfo = &app;
+ inst_info.enabledLayerCount = enabled_layer_count;
+ inst_info.ppEnabledLayerNames =
+ (const char *const *) instance_validation_layers;
+ inst_info.enabledExtensionCount = enabled_extension_count;
+ inst_info.ppEnabledExtensionNames = (const char *const *) extension_names;
+
+ err = vkCreateInstance (&inst_info, NULL, &instance->instance);
+ if (gst_vulkan_error_to_g_error (err, error, "vkCreateInstance") < 0) {
+ g_free (instance_layers);
+ g_free (instance_extensions);
+ goto error;
+ }
+ }
+
+ g_free (instance_layers);
+ g_free (instance_extensions);
+
+ err =
+ vkEnumeratePhysicalDevices (instance->instance,
+ &instance->n_physical_devices, NULL);
+ if (gst_vulkan_error_to_g_error (err, error,
+ "vkEnumeratePhysicalDevices") < 0)
+ goto error;
+ g_assert (instance->n_physical_devices > 0);
+ instance->physical_devices =
+ g_new0 (VkPhysicalDevice, instance->n_physical_devices);
+ err =
+ vkEnumeratePhysicalDevices (instance->instance,
+ &instance->n_physical_devices, instance->physical_devices);
+ if (gst_vulkan_error_to_g_error (err, error,
+ "vkEnumeratePhysicalDevices") < 0)
+ goto error;
+
+ instance->dbgCreateDebugReportCallback = (PFN_vkCreateDebugReportCallbackEXT)
+ gst_vulkan_instance_get_proc_address (instance,
+ "vkCreateDebugReportCallbackEXT");
+ if (!instance->dbgCreateDebugReportCallback) {
+ g_set_error (error, GST_VULKAN_ERROR, VK_ERROR_INITIALIZATION_FAILED,
+ "Failed to retreive vkCreateDebugReportCallback");
+ goto error;
+ }
+ instance->dbgDestroyDebugReportCallback =
+ (PFN_vkDestroyDebugReportCallbackEXT)
+ gst_vulkan_instance_get_proc_address (instance,
+ "vkDestroyDebugReportCallbackEXT");
+ if (!instance->dbgDestroyDebugReportCallback) {
+ g_set_error (error, GST_VULKAN_ERROR, VK_ERROR_INITIALIZATION_FAILED,
+ "Failed to retreive vkDestroyDebugReportCallback");
+ goto error;
+ }
+ instance->dbgReportMessage = (PFN_vkDebugReportMessageEXT)
+ gst_vulkan_instance_get_proc_address (instance,
+ "vkDebugReportMessageEXT");
+ if (!instance->dbgReportMessage) {
+ g_set_error (error, GST_VULKAN_ERROR, VK_ERROR_INITIALIZATION_FAILED,
+ "Failed to retreive vkDebugReportMessage");
+ goto error;
+ }
+
+ {
+ VkDebugReportCallbackCreateInfoEXT info = { 0, };
+
+ info.sType = VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT;
+ info.pNext = NULL;
+ info.flags =
+ VK_DEBUG_REPORT_ERROR_BIT_EXT | VK_DEBUG_REPORT_WARNING_BIT_EXT |
+ VK_DEBUG_REPORT_INFORMATION_BIT_EXT | VK_DEBUG_REPORT_DEBUG_BIT_EXT |
+ VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT;
+ info.pfnCallback = (PFN_vkDebugReportCallbackEXT) _gst_vk_debug_callback;
+ info.pUserData = NULL;
+
+ err =
+ instance->dbgCreateDebugReportCallback (instance->instance, &info, NULL,
+ &instance->msg_callback);
+ if (gst_vulkan_error_to_g_error (err, error,
+ "vkCreateDebugReportCallback") < 0)
+ goto error;
+ }
+
+ instance->priv->opened = TRUE;
+ GST_OBJECT_UNLOCK (instance);
+
+ return TRUE;
+
+error:
+ {
+ GST_OBJECT_UNLOCK (instance);
+ return FALSE;
+ }
+}
+
+gpointer
+gst_vulkan_instance_get_proc_address (GstVulkanInstance * instance,
+ const gchar * name)
+{
+ g_return_val_if_fail (GST_IS_VULKAN_INSTANCE (instance), NULL);
+ g_return_val_if_fail (instance->instance != NULL, NULL);
+ g_return_val_if_fail (name != NULL, NULL);
+
+ GST_TRACE_OBJECT (instance, "%s", name);
+
+ return vkGetInstanceProcAddr (instance->instance, name);
+}
+
+GstVulkanDevice *
+gst_vulkan_instance_create_device (GstVulkanInstance * instance,
+ GError ** error)
+{
+ GstVulkanDevice *device;
+
+ g_return_val_if_fail (GST_IS_VULKAN_INSTANCE (instance), NULL);
+
+ g_signal_emit (instance, gst_vulkan_instance_signals[SIGNAL_CREATE_DEVICE], 0,
+ &device);
+
+ if (!device)
+ device = gst_vulkan_device_new (instance);
+
+ if (!gst_vulkan_device_open (device, error)) {
+ gst_object_unref (device);
+ device = NULL;
+ }
+
+ return device;
+}
+
+/**
+ * gst_context_set_vulkan_instance:
+ * @context: a #GstContext
+ * @instance: a #GstVulkanInstance
+ *
+ * Sets @instance on @context
+ *
+ * Since: 1.10
+ */
+void
+gst_context_set_vulkan_instance (GstContext * context,
+ GstVulkanInstance * instance)
+{
+ GstStructure *s;
+
+ g_return_if_fail (context != NULL);
+ g_return_if_fail (gst_context_is_writable (context));
+
+ if (instance)
+ GST_CAT_LOG (GST_CAT_CONTEXT,
+ "setting GstVulkanInstance(%" GST_PTR_FORMAT ") on context(%"
+ GST_PTR_FORMAT ")", instance, context);
+
+ s = gst_context_writable_structure (context);
+ gst_structure_set (s, GST_VULKAN_INSTANCE_CONTEXT_TYPE_STR,
+ GST_TYPE_VULKAN_INSTANCE, instance, NULL);
+}
+
+/**
+ * gst_context_get_vulkan_instance:
+ * @context: a #GstContext
+ * @instance: resulting #GstVulkanInstance
+ *
+ * Returns: Whether @instance was in @context
+ *
+ * Since: 1.10
+ */
+gboolean
+gst_context_get_vulkan_instance (GstContext * context,
+ GstVulkanInstance ** instance)
+{
+ const GstStructure *s;
+ gboolean ret;
+
+ g_return_val_if_fail (instance != NULL, FALSE);
+ g_return_val_if_fail (context != NULL, FALSE);
+
+ s = gst_context_get_structure (context);
+ ret = gst_structure_get (s, GST_VULKAN_INSTANCE_CONTEXT_TYPE_STR,
+ GST_TYPE_VULKAN_INSTANCE, instance, NULL);
+
+ GST_CAT_LOG (GST_CAT_CONTEXT, "got GstVulkanInstance(%" GST_PTR_FORMAT
+ ") from context(%" GST_PTR_FORMAT ")", *instance, context);
+
+ return ret;
+}
+
+gboolean
+gst_vulkan_instance_handle_context_query (GstElement * element,
+ GstQuery * query, GstVulkanInstance ** instance)
+{
+ gboolean res = FALSE;
+ const gchar *context_type;
+ GstContext *context, *old_context;
+
+ g_return_val_if_fail (element != NULL, FALSE);
+ g_return_val_if_fail (query != NULL, FALSE);
+ g_return_val_if_fail (GST_QUERY_TYPE (query) == GST_QUERY_CONTEXT, FALSE);
+ g_return_val_if_fail (instance != NULL, FALSE);
+
+ gst_query_parse_context_type (query, &context_type);
+
+ if (g_strcmp0 (context_type, GST_VULKAN_INSTANCE_CONTEXT_TYPE_STR) == 0) {
+ gst_query_parse_context (query, &old_context);
+
+ if (old_context)
+ context = gst_context_copy (old_context);
+ else
+ context = gst_context_new (GST_VULKAN_INSTANCE_CONTEXT_TYPE_STR, TRUE);
+
+ gst_context_set_vulkan_instance (context, *instance);
+ gst_query_set_context (query, context);
+ gst_context_unref (context);
+
+ res = *instance != NULL;
+ }
+
+ return res;
+}
+
+gboolean
+gst_vulkan_instance_run_context_query (GstElement * element,
+ GstVulkanInstance ** instance)
+{
+ g_return_val_if_fail (GST_IS_ELEMENT (element), FALSE);
+ g_return_val_if_fail (instance != NULL, FALSE);
+
+ if (*instance && GST_IS_VULKAN_INSTANCE (*instance))
+ return TRUE;
+
+ gst_vulkan_global_context_query (element,
+ GST_VULKAN_INSTANCE_CONTEXT_TYPE_STR);
+
+ GST_DEBUG_OBJECT (element, "found instance %p", *instance);
+
+ if (*instance)
+ return TRUE;
+
+ return FALSE;
+}
diff --git a/ext/vulkan/vkinstance.h b/ext/vulkan/vkinstance.h
new file mode 100644
index 0000000..e7d8e49
--- /dev/null
+++ b/ext/vulkan/vkinstance.h
@@ -0,0 +1,81 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _VK_INSTANCE_H_
+#define _VK_INSTANCE_H_
+
+#include <vk.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_VULKAN_INSTANCE (gst_vulkan_instance_get_type())
+#define GST_VULKAN_INSTANCE(o) (G_TYPE_CHECK_INSTANCE_CAST((o), GST_TYPE_VULKAN_INSTANCE, GstVulkanInstance))
+#define GST_VULKAN_INSTANCE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GST_TYPE_VULKAN_INSTANCE, GstVulkanInstanceClass))
+#define GST_IS_VULKAN_INSTANCE(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GST_TYPE_VULKAN_INSTANCE))
+#define GST_IS_VULKAN_INSTANCE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE((k), GST_TYPE_VULKAN_INSTANCE))
+#define GST_VULKAN_INSTANCE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), GST_TYPE_VULKAN_INSTANCE, GstVulkanInstanceClass))
+GType gst_vulkan_instance_get_type (void);
+
+#define GST_VULKAN_INSTANCE_CONTEXT_TYPE_STR "gst.vulkan.instance"
+
+struct _GstVulkanInstance
+{
+ GstObject parent;
+
+ VkInstance instance; /* hides a pointer */
+ VkPhysicalDevice *physical_devices; /* hides a pointer */
+ guint32 n_physical_devices;
+
+ VkDebugReportCallbackEXT msg_callback;
+ PFN_vkCreateDebugReportCallbackEXT dbgCreateDebugReportCallback;
+ PFN_vkDestroyDebugReportCallbackEXT dbgDestroyDebugReportCallback;
+ PFN_vkDebugReportMessageEXT dbgReportMessage;
+
+ GstVulkanInstancePrivate *priv;
+};
+
+struct _GstVulkanInstanceClass
+{
+ GstObjectClass parent_class;
+};
+
+GstVulkanInstance * gst_vulkan_instance_new (void);
+gboolean gst_vulkan_instance_open (GstVulkanInstance * instance,
+ GError ** error);
+
+gpointer gst_vulkan_instance_get_proc_address (GstVulkanInstance * instance,
+ const gchar * name);
+
+GstVulkanDevice * gst_vulkan_instance_create_device (GstVulkanInstance * instance,
+ GError ** error);
+
+void gst_context_set_vulkan_instance (GstContext * context,
+ GstVulkanInstance * instance);
+gboolean gst_context_get_vulkan_instance (GstContext * context,
+ GstVulkanInstance ** instance);
+gboolean gst_vulkan_instance_handle_context_query (GstElement * element,
+ GstQuery * query,
+ GstVulkanInstance ** instance);
+gboolean gst_vulkan_instance_run_context_query (GstElement * element,
+ GstVulkanInstance ** instance);
+
+G_END_DECLS
+
+#endif /* _VK_INSTANCE_H_ */
diff --git a/ext/vulkan/vkmemory.c b/ext/vulkan/vkmemory.c
new file mode 100644
index 0000000..52855c1
--- /dev/null
+++ b/ext/vulkan/vkmemory.c
@@ -0,0 +1,359 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <string.h>
+
+#include "vkmemory.h"
+
+/**
+ * SECTION:vkmemory
+ * @short_description: memory subclass for Vulkan device memory
+ * @see_also: #GstMemory, #GstAllocator
+ *
+ * GstVulkanMemory is a #GstMemory subclass providing support for the mapping of
+ * Vulkan device memory.
+ */
+
+/* WARNING: while suballocation is allowed, nothing prevents aliasing which
+ * requires external synchronisation */
+
+#define GST_CAT_DEFUALT GST_CAT_VULKAN_MEMORY
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFUALT);
+
+static GstAllocator *_vulkan_memory_allocator;
+
+static gchar *
+_memory_properties_to_string (VkMemoryPropertyFlags prop_bits)
+{
+ GString *s;
+ gboolean first = TRUE;
+
+#define STR_APPEND(s,str) \
+ G_STMT_START { \
+ if (!first) \
+ g_string_append (s, "|"); \
+ g_string_append (s, str); \
+ first = FALSE; \
+ } G_STMT_END
+
+ s = g_string_new (NULL);
+ if (prop_bits & VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT) {
+ STR_APPEND (s, "device-local");
+ }
+ if (prop_bits & VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT) {
+ STR_APPEND (s, "host-visible");
+ if (prop_bits & VK_MEMORY_PROPERTY_HOST_COHERENT_BIT) {
+ STR_APPEND (s, "host-coherent");
+ } else {
+ STR_APPEND (s, "host-incoherent");
+ }
+ if (prop_bits & VK_MEMORY_PROPERTY_HOST_CACHED_BIT) {
+ STR_APPEND (s, "host-cached");
+ } else {
+ STR_APPEND (s, "host-uncached");
+ }
+ }
+
+ if (prop_bits & VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT) {
+ STR_APPEND (s, "lazily-allocated");
+ }
+
+ return g_string_free (s, FALSE);
+}
+
+static void
+_vk_mem_init (GstVulkanMemory * mem, GstAllocator * allocator,
+ GstMemory * parent, GstVulkanDevice * device, guint32 memory_type_index,
+ GstAllocationParams * params, gsize size,
+ VkMemoryPropertyFlags mem_prop_flags, gpointer user_data,
+ GDestroyNotify notify)
+{
+ gsize align = gst_memory_alignment, offset = 0, maxsize = size;
+ GstMemoryFlags flags = 0;
+ gchar *props_str;
+
+ if (params) {
+ flags = params->flags;
+ align |= params->align;
+ offset = params->prefix;
+ maxsize += params->prefix + params->padding;
+ if ((maxsize & align) != 0)
+ maxsize += ~(maxsize & align) + 1;
+ }
+
+ gst_memory_init (GST_MEMORY_CAST (mem), flags, allocator, parent, maxsize,
+ align, offset, size);
+
+ mem->device = gst_object_ref (device);
+ mem->alloc_info.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO;
+ mem->alloc_info.pNext = NULL;
+ mem->alloc_info.allocationSize = (VkDeviceSize) mem->mem.maxsize;
+ mem->alloc_info.memoryTypeIndex = memory_type_index;
+ mem->properties = mem_prop_flags;
+ mem->notify = notify;
+ mem->user_data = user_data;
+ mem->vk_offset = 0;
+
+ g_mutex_init (&mem->lock);
+
+ props_str = _memory_properties_to_string (mem_prop_flags);
+
+ GST_CAT_DEBUG (GST_CAT_VULKAN_MEMORY, "new Vulkan memory:%p size:%"
+ G_GSIZE_FORMAT " properties:%s", mem, maxsize, props_str);
+
+ g_free (props_str);
+}
+
+static GstVulkanMemory *
+_vk_mem_new (GstAllocator * allocator, GstMemory * parent,
+ GstVulkanDevice * device, guint32 memory_type_index,
+ GstAllocationParams * params, gsize size,
+ VkMemoryPropertyFlags mem_props_flags, gpointer user_data,
+ GDestroyNotify notify)
+{
+ GstVulkanMemory *mem = g_new0 (GstVulkanMemory, 1);
+ GError *error = NULL;
+ VkResult err;
+
+ _vk_mem_init (mem, allocator, parent, device, memory_type_index, params,
+ size, mem_props_flags, user_data, notify);
+
+ err =
+ vkAllocateMemory (device->device, &mem->alloc_info, NULL, &mem->mem_ptr);
+ if (gst_vulkan_error_to_g_error (err, &error, "vkAllocMemory") < 0) {
+ GST_CAT_ERROR (GST_CAT_VULKAN_MEMORY, "Failed to allocate device memory %s",
+ error->message);
+ gst_memory_unref ((GstMemory *) mem);
+ g_clear_error (&error);
+ return NULL;
+ }
+
+ return mem;
+}
+
+static gpointer
+_vk_mem_map_full (GstVulkanMemory * mem, GstMapInfo * info, gsize size)
+{
+ gpointer data;
+ VkResult err;
+ GError *error = NULL;
+
+ if ((mem->properties & VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT) == 0) {
+ GST_CAT_ERROR (GST_CAT_VULKAN_MEMORY, "Cannot map host-invisible memory");
+ return NULL;
+ }
+
+ err = vkMapMemory (mem->device->device, mem->mem_ptr, mem->vk_offset,
+ size, 0, &data);
+ if (gst_vulkan_error_to_g_error (err, &error, "vkMapMemory") < 0) {
+ GST_CAT_ERROR (GST_CAT_VULKAN_MEMORY, "Failed to map device memory %s",
+ error->message);
+ g_clear_error (&error);
+ return NULL;
+ }
+
+ return data;
+}
+
+static void
+_vk_mem_unmap_full (GstVulkanMemory * mem, GstMapInfo * info)
+{
+ vkUnmapMemory (mem->device->device, mem->mem_ptr);
+}
+
+static GstMemory *
+_vk_mem_copy (GstVulkanMemory * src, gssize offset, gssize size)
+{
+ return NULL;
+}
+
+static GstMemory *
+_vk_mem_share (GstVulkanMemory * mem, gssize offset, gsize size)
+{
+ GstVulkanMemory *shared = g_new0 (GstVulkanMemory, 1);
+ GstVulkanMemory *parent = mem;
+ GstAllocationParams params = { 0, };
+
+ if (size == -1)
+ size = mem->mem.size - offset;
+
+ g_return_val_if_fail (size > 0, NULL);
+
+ while ((parent = (GstVulkanMemory *) (GST_MEMORY_CAST (parent)->parent)));
+
+ params.flags = GST_MEMORY_FLAGS (mem);
+ params.align = GST_MEMORY_CAST (parent)->align;
+
+ _vk_mem_init (shared, _vulkan_memory_allocator, GST_MEMORY_CAST (mem),
+ parent->device, parent->alloc_info.memoryTypeIndex, ¶ms, size,
+ parent->properties, NULL, NULL);
+ shared->mem_ptr = parent->mem_ptr;
+ shared->wrapped = TRUE;
+ shared->vk_offset = offset + mem->vk_offset;
+
+ return GST_MEMORY_CAST (shared);
+}
+
+static gboolean
+_vk_mem_is_span (GstVulkanMemory * mem1, GstVulkanMemory * mem2, gsize * offset)
+{
+ return FALSE;
+}
+
+static GstMemory *
+_vk_mem_alloc (GstAllocator * allocator, gsize size,
+ GstAllocationParams * params)
+{
+ g_critical ("Subclass should override GstAllocatorClass::alloc() function");
+
+ return NULL;
+}
+
+static void
+_vk_mem_free (GstAllocator * allocator, GstMemory * memory)
+{
+ GstVulkanMemory *mem = (GstVulkanMemory *) memory;
+
+ GST_CAT_TRACE (GST_CAT_VULKAN_MEMORY, "freeing buffer memory:%p "
+ "id:%" G_GUINT64_FORMAT, mem, (guint64) mem->mem_ptr);
+
+ g_mutex_clear (&mem->lock);
+
+ if (mem->notify)
+ mem->notify (mem->user_data);
+
+ if (mem->mem_ptr && !mem->wrapped)
+ vkFreeMemory (mem->device->device, mem->mem_ptr, NULL);
+
+ gst_object_unref (mem->device);
+}
+
+gboolean
+gst_vulkan_memory_find_memory_type_index_with_type_properties (GstVulkanDevice *
+ device, guint32 typeBits, VkMemoryPropertyFlags properties,
+ guint32 * typeIndex)
+{
+ guint32 i;
+
+ /* Search memtypes to find first index with those properties */
+ for (i = 0; i < 32; i++) {
+ if ((typeBits & 1) == 1) {
+ /* Type is available, does it match user properties? */
+ if ((device->memory_properties.memoryTypes[i].
+ propertyFlags & properties) == properties) {
+ *typeIndex = i;
+ return TRUE;
+ }
+ }
+ typeBits >>= 1;
+ }
+
+ return FALSE;
+}
+
+/**
+ * gst_vulkan_memory_alloc:
+ * @device:a #GstVulkanDevice
+ * @memory_type_index: the Vulkan memory type index
+ * @params: a #GstAllocationParams
+ * @size: the size to allocate
+ *
+ * Allocated a new #GstVulkanMemory.
+ *
+ * Returns: a #GstMemory object backed by a vulkan device memory
+ */
+GstMemory *
+gst_vulkan_memory_alloc (GstVulkanDevice * device, guint32 memory_type_index,
+ GstAllocationParams * params, gsize size, VkMemoryPropertyFlags mem_flags)
+{
+ GstVulkanMemory *mem;
+
+ mem = _vk_mem_new (_vulkan_memory_allocator, NULL, device, memory_type_index,
+ params, size, mem_flags, NULL, NULL);
+
+ return (GstMemory *) mem;
+}
+
+G_DEFINE_TYPE (GstVulkanMemoryAllocator, gst_vulkan_memory_allocator,
+ GST_TYPE_ALLOCATOR);
+
+static void
+gst_vulkan_memory_allocator_class_init (GstVulkanMemoryAllocatorClass * klass)
+{
+ GstAllocatorClass *allocator_class = (GstAllocatorClass *) klass;
+
+ allocator_class->alloc = _vk_mem_alloc;
+ allocator_class->free = _vk_mem_free;
+}
+
+static void
+gst_vulkan_memory_allocator_init (GstVulkanMemoryAllocator * allocator)
+{
+ GstAllocator *alloc = GST_ALLOCATOR_CAST (allocator);
+
+ alloc->mem_type = GST_VULKAN_MEMORY_ALLOCATOR_NAME;
+ alloc->mem_map_full = (GstMemoryMapFullFunction) _vk_mem_map_full;
+ alloc->mem_unmap_full = (GstMemoryUnmapFullFunction) _vk_mem_unmap_full;
+ alloc->mem_copy = (GstMemoryCopyFunction) _vk_mem_copy;
+ alloc->mem_share = (GstMemoryShareFunction) _vk_mem_share;
+ alloc->mem_is_span = (GstMemoryIsSpanFunction) _vk_mem_is_span;
+}
+
+/**
+ * gst_vulkan_memory_init_once:
+ *
+ * Initializes the Vulkan memory allocator. It is safe to call this function
+ * multiple times. This must be called before any other #GstVulkanMemory operation.
+ */
+void
+gst_vulkan_memory_init_once (void)
+{
+ static volatile gsize _init = 0;
+
+ if (g_once_init_enter (&_init)) {
+ GST_DEBUG_CATEGORY_INIT (GST_CAT_VULKAN_MEMORY, "vulkanmemory", 0,
+ "Vulkan Memory");
+
+ _vulkan_memory_allocator =
+ g_object_new (gst_vulkan_memory_allocator_get_type (), NULL);
+
+ gst_allocator_register (GST_VULKAN_MEMORY_ALLOCATOR_NAME,
+ gst_object_ref (_vulkan_memory_allocator));
+ g_once_init_leave (&_init, 1);
+ }
+}
+
+/**
+ * gst_is_vulkan_memory:
+ * @mem:a #GstMemory
+ *
+ * Returns: whether the memory at @mem is a #GstVulkanMemory
+ */
+gboolean
+gst_is_vulkan_memory (GstMemory * mem)
+{
+ return mem != NULL && mem->allocator != NULL &&
+ g_type_is_a (G_OBJECT_TYPE (mem->allocator),
+ GST_TYPE_VULKAN_MEMORY_ALLOCATOR);
+}
diff --git a/ext/vulkan/vkmemory.h b/ext/vulkan/vkmemory.h
new file mode 100644
index 0000000..db552a6
--- /dev/null
+++ b/ext/vulkan/vkmemory.h
@@ -0,0 +1,106 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _GST_VULKAN_BASE_BUFFER_H_
+#define _GST_VULKAN_BASE_BUFFER_H_
+
+#include <gst/gst.h>
+#include <gst/gstallocator.h>
+#include <gst/gstmemory.h>
+
+#include <vk.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_VULKAN_MEMORY_ALLOCATOR (gst_vulkan_memory_allocator_get_type())
+GType gst_vulkan_memory_allocator_get_type(void);
+
+#define GST_IS_VULKAN_MEMORY_ALLOCATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_VULKAN_MEMORY_ALLOCATOR))
+#define GST_IS_VULKAN_MEMORY_ALLOCATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_VULKAN_MEMORY_ALLOCATOR))
+#define GST_VULKAN_MEMORY_ALLOCATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_VULKAN_MEMORY_ALLOCATOR, GstVulkanMemoryAllocatorClass))
+#define GST_VULKAN_MEMORY_ALLOCATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_VULKAN_MEMORY_ALLOCATOR, GstVulkanMemoryAllocator))
+#define GST_VULKAN_MEMORY_ALLOCATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_VULKAN_MEMORY_ALLOCATOR, GstVulkanMemoryAllocatorClass))
+#define GST_VULKAN_MEMORY_ALLOCATOR_CAST(obj) ((GstVulkanMemoryAllocator *)(obj))
+
+#define GST_VULKAN_MEMORY_ALLOCATOR_NAME "Vulkan"
+
+struct _GstVulkanMemory
+{
+ GstMemory mem;
+
+ GstVulkanDevice *device;
+
+ VkDeviceMemory mem_ptr;
+
+ /* <protected> */
+ GMutex lock;
+ guint map_count;
+
+ /* <private> */
+ GDestroyNotify notify;
+ gpointer user_data;
+
+ VkMemoryAllocateInfo alloc_info;
+ VkMemoryPropertyFlags properties;
+
+ /* we need our own offset because GstMemory's is used to offset into the
+ * mapped pointer which when suballocating, we need to avoid. This in
+ * relation to the root memory */
+ guint64 vk_offset;
+ gboolean wrapped;
+};
+
+/**
+ * GstVulkanMemoryAllocator
+ *
+ * Opaque #GstVulkanMemoryAllocator struct
+ */
+struct _GstVulkanMemoryAllocator
+{
+ GstAllocator parent;
+};
+
+/**
+ * GstVulkanMemoryAllocatorClass:
+ *
+ * The #GstVulkanMemoryAllocatorClass only contains private data
+ */
+struct _GstVulkanMemoryAllocatorClass
+{
+ GstAllocatorClass parent_class;
+};
+
+void gst_vulkan_memory_init_once (void);
+gboolean gst_is_vulkan_memory (GstMemory * mem);
+
+GstMemory * gst_vulkan_memory_alloc (GstVulkanDevice * device,
+ guint32 memory_type_index,
+ GstAllocationParams * params,
+ gsize size,
+ VkMemoryPropertyFlags mem_prop_flags);
+
+gboolean gst_vulkan_memory_find_memory_type_index_with_type_properties (GstVulkanDevice * device,
+ guint32 typeBits,
+ VkMemoryPropertyFlags properties,
+ guint32 * typeIndex);
+
+G_END_DECLS
+
+#endif /* _GST_VULKAN_BASE_BUFFER_H_ */
diff --git a/ext/vulkan/vkqueue.c b/ext/vulkan/vkqueue.c
new file mode 100644
index 0000000..7984fbf
--- /dev/null
+++ b/ext/vulkan/vkqueue.c
@@ -0,0 +1,187 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "vkqueue.h"
+
+#define GST_CAT_DEFAULT gst_vulkan_queue_debug
+GST_DEBUG_CATEGORY (GST_CAT_DEFAULT);
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_CONTEXT);
+
+G_DEFINE_TYPE_WITH_CODE (GstVulkanQueue, gst_vulkan_queue, GST_TYPE_OBJECT,
+ GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "vulkanqueue", 0,
+ "Vulkan Queue");
+ GST_DEBUG_CATEGORY_GET (GST_CAT_CONTEXT, "GST_CONTEXT"));
+
+static void gst_vulkan_queue_dispose (GObject * object);
+
+static void
+gst_vulkan_queue_init (GstVulkanQueue * device)
+{
+}
+
+static void
+gst_vulkan_queue_class_init (GstVulkanQueueClass * device_class)
+{
+ GObjectClass *gobject_class = (GObjectClass *) device_class;
+
+ gobject_class->dispose = gst_vulkan_queue_dispose;
+}
+
+static void
+gst_vulkan_queue_dispose (GObject * object)
+{
+ GstVulkanQueue *queue = GST_VULKAN_QUEUE (object);
+
+ if (queue->device)
+ gst_object_unref (queue->device);
+ queue->device = NULL;
+}
+
+GstVulkanDevice *
+gst_vulkan_queue_get_device (GstVulkanQueue * queue)
+{
+ g_return_val_if_fail (GST_IS_VULKAN_QUEUE (queue), NULL);
+
+ return queue->device ? gst_object_ref (queue->device) : NULL;
+}
+
+/**
+ * gst_context_set_vulkan_queue:
+ * @context: a #GstContext
+ * @queue: a #GstVulkanQueue
+ *
+ * Sets @queue on @context
+ *
+ * Since: 1.10
+ */
+void
+gst_context_set_vulkan_queue (GstContext * context, GstVulkanQueue * queue)
+{
+ GstStructure *s;
+
+ g_return_if_fail (context != NULL);
+ g_return_if_fail (gst_context_is_writable (context));
+
+ if (queue)
+ GST_CAT_LOG (GST_CAT_CONTEXT,
+ "setting GstVulkanQueue(%" GST_PTR_FORMAT ") on context(%"
+ GST_PTR_FORMAT ")", queue, context);
+
+ s = gst_context_writable_structure (context);
+ gst_structure_set (s, GST_VULKAN_QUEUE_CONTEXT_TYPE_STR,
+ GST_TYPE_VULKAN_QUEUE, queue, NULL);
+}
+
+/**
+ * gst_context_get_vulkan_queue:
+ * @context: a #GstContext
+ * @queue: resulting #GstVulkanQueue
+ *
+ * Returns: Whether @queue was in @context
+ *
+ * Since: 1.10
+ */
+gboolean
+gst_context_get_vulkan_queue (GstContext * context, GstVulkanQueue ** queue)
+{
+ const GstStructure *s;
+ gboolean ret;
+
+ g_return_val_if_fail (queue != NULL, FALSE);
+ g_return_val_if_fail (context != NULL, FALSE);
+
+ s = gst_context_get_structure (context);
+ ret = gst_structure_get (s, GST_VULKAN_QUEUE_CONTEXT_TYPE_STR,
+ GST_TYPE_VULKAN_QUEUE, queue, NULL);
+
+ GST_CAT_LOG (GST_CAT_CONTEXT, "got GstVulkanQueue(%" GST_PTR_FORMAT
+ ") from context(%" GST_PTR_FORMAT ")", *queue, context);
+
+ return ret;
+}
+
+gboolean
+gst_vulkan_queue_handle_context_query (GstElement * element, GstQuery * query,
+ GstVulkanQueue ** queue)
+{
+ gboolean res = FALSE;
+ const gchar *context_type;
+ GstContext *context, *old_context;
+
+ g_return_val_if_fail (element != NULL, FALSE);
+ g_return_val_if_fail (query != NULL, FALSE);
+ g_return_val_if_fail (GST_QUERY_TYPE (query) == GST_QUERY_CONTEXT, FALSE);
+ g_return_val_if_fail (queue != NULL, FALSE);
+
+ gst_query_parse_context_type (query, &context_type);
+
+ if (g_strcmp0 (context_type, GST_VULKAN_QUEUE_CONTEXT_TYPE_STR) == 0) {
+ gst_query_parse_context (query, &old_context);
+
+ if (old_context)
+ context = gst_context_copy (old_context);
+ else
+ context = gst_context_new (GST_VULKAN_QUEUE_CONTEXT_TYPE_STR, TRUE);
+
+ gst_context_set_vulkan_queue (context, *queue);
+ gst_query_set_context (query, context);
+ gst_context_unref (context);
+
+ res = *queue != NULL;
+ }
+
+ return res;
+}
+
+gboolean
+gst_vulkan_queue_run_context_query (GstElement * element,
+ GstVulkanQueue ** queue)
+{
+ GstQuery *query;
+
+ g_return_val_if_fail (GST_IS_ELEMENT (element), FALSE);
+ g_return_val_if_fail (queue != NULL, FALSE);
+
+ if (*queue && GST_IS_VULKAN_QUEUE (*queue))
+ return TRUE;
+
+ if ((query =
+ gst_vulkan_local_context_query (element,
+ GST_VULKAN_QUEUE_CONTEXT_TYPE_STR, FALSE))) {
+ GstContext *context;
+
+ gst_query_parse_context (query, &context);
+ if (context)
+ gst_context_get_vulkan_queue (context, queue);
+ }
+
+ GST_DEBUG_OBJECT (element, "found queue %p", *queue);
+
+ gst_query_unref (query);
+
+ if (*queue)
+ return TRUE;
+
+ return FALSE;
+}
diff --git a/ext/vulkan/vkqueue.h b/ext/vulkan/vkqueue.h
new file mode 100644
index 0000000..04b1313
--- /dev/null
+++ b/ext/vulkan/vkqueue.h
@@ -0,0 +1,64 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _VK_QUEUE_H_
+#define _VK_QUEUE_H_
+
+#include "vk.h"
+
+#define GST_TYPE_VULKAN_QUEUE (gst_vulkan_queue_get_type())
+#define GST_VULKAN_QUEUE(o) (G_TYPE_CHECK_INSTANCE_CAST((o), GST_TYPE_VULKAN_QUEUE, GstVulkanQueue))
+#define GST_VULKAN_QUEUE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GST_TYPE_VULKAN_QUEUE, GstVulkanQueueClass))
+#define GST_IS_VULKAN_QUEUE(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GST_TYPE_VULKAN_QUEUE))
+#define GST_IS_VULKAN_QUEUE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE((k), GST_TYPE_VULKAN_QUEUE))
+#define GST_VULKAN_QUEUE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), GST_TYPE_VULKAN_QUEUE, GstVulkanQueueClass))
+GType gst_vulkan_queue_get_type (void);
+
+#define GST_VULKAN_QUEUE_CONTEXT_TYPE_STR "gst.vulkan.queue"
+
+struct _GstVulkanQueue
+{
+ GstObject parent;
+
+ GstVulkanDevice *device;
+
+ VkQueue queue; /* hides a pointer */
+ guint32 family;
+ guint32 index;
+};
+
+struct _GstVulkanQueueClass
+{
+ GstObjectClass parent_class;
+};
+
+GstVulkanDevice * gst_vulkan_queue_get_device (GstVulkanQueue * queue);
+
+void gst_context_set_vulkan_queue (GstContext * context,
+ GstVulkanQueue * queue);
+gboolean gst_context_get_vulkan_queue (GstContext * context,
+ GstVulkanQueue ** queue);
+gboolean gst_vulkan_queue_handle_context_query (GstElement * element,
+ GstQuery * query,
+ GstVulkanQueue ** queue);
+gboolean gst_vulkan_queue_run_context_query (GstElement * element,
+ GstVulkanQueue ** queue);
+
+#endif /* _VK_QUEUE_H_ */
diff --git a/ext/vulkan/vksink.c b/ext/vulkan/vksink.c
new file mode 100644
index 0000000..ec359ca
--- /dev/null
+++ b/ext/vulkan/vksink.c
@@ -0,0 +1,500 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * SECTION:element-vulkansink
+ *
+ * vulkansink renders video frames to a drawable on a local or remote
+ * display using Vulkan.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+//#include <gst/video/videooverlay.h>
+
+#include "vksink.h"
+#include "vkdevice.h"
+
+GST_DEBUG_CATEGORY (gst_debug_vulkan_sink);
+#define GST_CAT_DEFAULT gst_debug_vulkan_sink
+
+#define DEFAULT_FORCE_ASPECT_RATIO TRUE
+#define DEFAULT_PIXEL_ASPECT_RATIO_N 0
+#define DEFAULT_PIXEL_ASPECT_RATIO_D 1
+
+static void gst_vulkan_sink_finalize (GObject * object);
+static void gst_vulkan_sink_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * param_spec);
+static void gst_vulkan_sink_get_property (GObject * object, guint prop_id,
+ GValue * value, GParamSpec * param_spec);
+
+static gboolean gst_vulkan_sink_query (GstBaseSink * bsink, GstQuery * query);
+static void gst_vulkan_sink_set_context (GstElement * element,
+ GstContext * context);
+
+static GstStateChangeReturn
+gst_vulkan_sink_change_state (GstElement * element, GstStateChange transition);
+
+static void gst_vulkan_sink_get_times (GstBaseSink * bsink, GstBuffer * buf,
+ GstClockTime * start, GstClockTime * end);
+static gboolean gst_vulkan_sink_set_caps (GstBaseSink * bsink, GstCaps * caps);
+static GstCaps *gst_vulkan_sink_get_caps (GstBaseSink * bsink,
+ GstCaps * filter);
+static GstFlowReturn gst_vulkan_sink_prepare (GstBaseSink * bsink,
+ GstBuffer * buf);
+static GstFlowReturn gst_vulkan_sink_show_frame (GstVideoSink * bsink,
+ GstBuffer * buf);
+
+static GstStaticPadTemplate gst_vulkan_sink_template =
+GST_STATIC_PAD_TEMPLATE ("sink",
+ GST_PAD_SINK,
+ GST_PAD_ALWAYS,
+ GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE_WITH_FEATURES
+ (GST_CAPS_FEATURE_MEMORY_VULKAN_BUFFER,
+ GST_VULKAN_SWAPPER_VIDEO_FORMATS)));
+
+enum
+{
+ PROP_0,
+ PROP_FORCE_ASPECT_RATIO,
+ PROP_PIXEL_ASPECT_RATIO,
+};
+
+enum
+{
+ SIGNAL_0,
+ LAST_SIGNAL
+};
+
+/* static guint gst_vulkan_sink_signals[LAST_SIGNAL] = { 0 }; */
+
+#define gst_vulkan_sink_parent_class parent_class
+G_DEFINE_TYPE_WITH_CODE (GstVulkanSink, gst_vulkan_sink,
+ GST_TYPE_VIDEO_SINK, GST_DEBUG_CATEGORY_INIT (gst_debug_vulkan_sink,
+ "vulkansink", 0, "Vulkan Video Sink"));
+
+static void
+gst_vulkan_sink_class_init (GstVulkanSinkClass * klass)
+{
+ GObjectClass *gobject_class;
+ GstElementClass *gstelement_class;
+ GstBaseSinkClass *gstbasesink_class;
+ GstVideoSinkClass *gstvideosink_class;
+ GstElementClass *element_class;
+
+ gobject_class = (GObjectClass *) klass;
+ gstelement_class = (GstElementClass *) klass;
+ gstbasesink_class = (GstBaseSinkClass *) klass;
+ gstvideosink_class = (GstVideoSinkClass *) klass;
+ element_class = GST_ELEMENT_CLASS (klass);
+
+ gobject_class->set_property = gst_vulkan_sink_set_property;
+ gobject_class->get_property = gst_vulkan_sink_get_property;
+
+ g_object_class_install_property (gobject_class, PROP_FORCE_ASPECT_RATIO,
+ g_param_spec_boolean ("force-aspect-ratio", "Force aspect ratio",
+ "When enabled, scaling will respect original aspect ratio",
+ DEFAULT_FORCE_ASPECT_RATIO,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+ g_object_class_install_property (gobject_class, PROP_PIXEL_ASPECT_RATIO,
+ gst_param_spec_fraction ("pixel-aspect-ratio", "Pixel Aspect Ratio",
+ "The pixel aspect ratio of the device", 0, 1, G_MAXINT, 1, 1, 1,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+ gst_element_class_set_metadata (element_class, "Vulkan video sink",
+ "Sink/Video", "A videosink based on OpenGL",
+ "Matthew Waters <matthew@centricular.com>");
+
+ gst_element_class_add_pad_template (element_class,
+ gst_static_pad_template_get (&gst_vulkan_sink_template));
+
+ gobject_class->finalize = gst_vulkan_sink_finalize;
+
+ gstelement_class->change_state = gst_vulkan_sink_change_state;
+ gstelement_class->set_context = gst_vulkan_sink_set_context;
+ gstbasesink_class->query = GST_DEBUG_FUNCPTR (gst_vulkan_sink_query);
+ gstbasesink_class->set_caps = gst_vulkan_sink_set_caps;
+ gstbasesink_class->get_caps = gst_vulkan_sink_get_caps;
+ gstbasesink_class->get_times = gst_vulkan_sink_get_times;
+ gstbasesink_class->prepare = gst_vulkan_sink_prepare;
+
+ gstvideosink_class->show_frame =
+ GST_DEBUG_FUNCPTR (gst_vulkan_sink_show_frame);
+}
+
+static void
+gst_vulkan_sink_init (GstVulkanSink * vk_sink)
+{
+ vk_sink->force_aspect_ratio = DEFAULT_FORCE_ASPECT_RATIO;
+ vk_sink->par_n = DEFAULT_PIXEL_ASPECT_RATIO_N;
+ vk_sink->par_d = DEFAULT_PIXEL_ASPECT_RATIO_D;
+
+// g_mutex_init (&vk_sink->drawing_lock);
+}
+
+static void
+gst_vulkan_sink_finalize (GObject * object)
+{
+// GstVulkanSink *vk_sink = GST_VULKAN_SINK (object);
+// g_mutex_clear (&vk_sink->drawing_lock);
+
+// GST_DEBUG ("finalized");
+ G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+static void
+gst_vulkan_sink_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * pspec)
+{
+ GstVulkanSink *vk_sink = GST_VULKAN_SINK (object);
+
+ switch (prop_id) {
+ case PROP_FORCE_ASPECT_RATIO:
+ vk_sink->force_aspect_ratio = g_value_get_boolean (value);
+ break;
+ case PROP_PIXEL_ASPECT_RATIO:
+ vk_sink->par_n = gst_value_get_fraction_numerator (value);
+ vk_sink->par_d = gst_value_get_fraction_denominator (value);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gst_vulkan_sink_get_property (GObject * object, guint prop_id,
+ GValue * value, GParamSpec * pspec)
+{
+ GstVulkanSink *vk_sink = GST_VULKAN_SINK (object);
+
+ switch (prop_id) {
+ case PROP_FORCE_ASPECT_RATIO:
+ g_value_set_boolean (value, vk_sink->force_aspect_ratio);
+ break;
+ case PROP_PIXEL_ASPECT_RATIO:
+ gst_value_set_fraction (value, vk_sink->par_n, vk_sink->par_d);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static gboolean
+gst_vulkan_sink_query (GstBaseSink * bsink, GstQuery * query)
+{
+ GstVulkanSink *vk_sink = GST_VULKAN_SINK (bsink);
+
+ switch (GST_QUERY_TYPE (query)) {
+ case GST_QUERY_CONTEXT:{
+ if (gst_vulkan_handle_context_query (GST_ELEMENT (vk_sink), query,
+ &vk_sink->display, &vk_sink->instance, &vk_sink->device))
+ return TRUE;
+
+ break;
+ }
+ default:
+ break;
+ }
+
+ return GST_BASE_SINK_CLASS (parent_class)->query (bsink, query);
+}
+
+static void
+gst_vulkan_sink_set_context (GstElement * element, GstContext * context)
+{
+ GstVulkanSink *vk_sink = GST_VULKAN_SINK (element);
+
+ gst_vulkan_handle_set_context (element, context, &vk_sink->display,
+ &vk_sink->instance);
+
+ GST_ELEMENT_CLASS (parent_class)->set_context (element, context);
+}
+
+static GstStateChangeReturn
+gst_vulkan_sink_change_state (GstElement * element, GstStateChange transition)
+{
+ GstVulkanSink *vk_sink = GST_VULKAN_SINK (element);
+ GstStateChangeReturn ret = GST_STATE_CHANGE_SUCCESS;
+ GError *error = NULL;
+
+ GST_DEBUG ("changing state: %s => %s",
+ gst_element_state_get_name (GST_STATE_TRANSITION_CURRENT (transition)),
+ gst_element_state_get_name (GST_STATE_TRANSITION_NEXT (transition)));
+
+ switch (transition) {
+ case GST_STATE_CHANGE_NULL_TO_READY:
+ if (!gst_vulkan_ensure_element_data (element, &vk_sink->display,
+ &vk_sink->instance)) {
+ GST_ELEMENT_ERROR (vk_sink, RESOURCE, NOT_FOUND,
+ ("Failed to retreive vulkan instance/display"), (NULL));
+ return GST_STATE_CHANGE_FAILURE;
+ }
+
+ if (!(vk_sink->device =
+ gst_vulkan_instance_create_device (vk_sink->instance, &error))) {
+ GST_ELEMENT_ERROR (vk_sink, RESOURCE, NOT_FOUND,
+ ("Failed to create vulkan device"), ("%s", error->message));
+ return GST_STATE_CHANGE_FAILURE;
+ }
+
+ if (!(vk_sink->window =
+ gst_vulkan_display_create_window (vk_sink->display))) {
+ GST_ELEMENT_ERROR (vk_sink, RESOURCE, NOT_FOUND,
+ ("Failed to create a window"), (NULL));
+ return GST_STATE_CHANGE_FAILURE;
+ }
+
+ if (!gst_vulkan_window_open (vk_sink->window, &error)) {
+ GST_ELEMENT_ERROR (vk_sink, RESOURCE, NOT_FOUND,
+ ("Failed to open window"), ("%s", error->message));
+ return GST_STATE_CHANGE_FAILURE;
+ }
+
+ if (!(vk_sink->swapper =
+ gst_vulkan_swapper_new (vk_sink->device, vk_sink->window))) {
+ GST_ELEMENT_ERROR (vk_sink, RESOURCE, NOT_FOUND,
+ ("Failed to create a swapper"), (NULL));
+ return GST_STATE_CHANGE_FAILURE;
+ }
+ break;
+ case GST_STATE_CHANGE_READY_TO_PAUSED:
+ break;
+ case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
+ break;
+ default:
+ break;
+ }
+
+ ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
+ if (ret == GST_STATE_CHANGE_FAILURE)
+ return ret;
+
+ switch (transition) {
+ case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
+ break;
+ case GST_STATE_CHANGE_PAUSED_TO_READY:
+ break;
+ case GST_STATE_CHANGE_READY_TO_NULL:
+ if (vk_sink->swapper)
+ gst_object_unref (vk_sink->swapper);
+ vk_sink->swapper = NULL;
+ if (vk_sink->display)
+ gst_object_unref (vk_sink->display);
+ vk_sink->display = NULL;
+ if (vk_sink->window) {
+ gst_vulkan_window_close (vk_sink->window);
+ gst_object_unref (vk_sink->window);
+ }
+ vk_sink->window = NULL;
+ if (vk_sink->device)
+ gst_object_unref (vk_sink->device);
+ vk_sink->device = NULL;
+ if (vk_sink->instance)
+ gst_object_unref (vk_sink->instance);
+ vk_sink->instance = NULL;
+ break;
+ default:
+ break;
+ }
+
+ return ret;
+}
+
+static void
+gst_vulkan_sink_get_times (GstBaseSink * bsink, GstBuffer * buf,
+ GstClockTime * start, GstClockTime * end)
+{
+ GstVulkanSink *vk_sink = GST_VULKAN_SINK (bsink);
+
+ if (GST_BUFFER_TIMESTAMP_IS_VALID (buf)) {
+ *start = GST_BUFFER_TIMESTAMP (buf);
+ if (GST_BUFFER_DURATION_IS_VALID (buf))
+ *end = *start + GST_BUFFER_DURATION (buf);
+ else {
+ if (GST_VIDEO_INFO_FPS_N (&vk_sink->v_info) > 0) {
+ *end = *start +
+ gst_util_uint64_scale_int (GST_SECOND,
+ GST_VIDEO_INFO_FPS_D (&vk_sink->v_info),
+ GST_VIDEO_INFO_FPS_N (&vk_sink->v_info));
+ }
+ }
+ }
+}
+
+static GstCaps *
+gst_vulkan_sink_get_caps (GstBaseSink * bsink, GstCaps * filter)
+{
+ GstVulkanSink *vk_sink = GST_VULKAN_SINK (bsink);
+ GstCaps *tmp = NULL;
+ GstCaps *result = NULL;
+ GError *error = NULL;
+
+ if (vk_sink->swapper) {
+ if (!(result =
+ gst_vulkan_swapper_get_supported_caps (vk_sink->swapper, &error))) {
+ GST_ELEMENT_ERROR (bsink, RESOURCE, NOT_FOUND, ("%s", error->message),
+ (NULL));
+ g_clear_error (&error);
+ return NULL;
+ }
+ return result;
+ }
+
+ tmp = gst_pad_get_pad_template_caps (GST_BASE_SINK_PAD (bsink));
+
+ if (filter) {
+ GST_DEBUG_OBJECT (bsink, "intersecting with filter caps %" GST_PTR_FORMAT,
+ filter);
+
+ result = gst_caps_intersect_full (filter, tmp, GST_CAPS_INTERSECT_FIRST);
+ gst_caps_unref (tmp);
+ } else {
+ result = tmp;
+ }
+
+ GST_DEBUG_OBJECT (bsink, "returning caps: %" GST_PTR_FORMAT, result);
+
+ return result;
+}
+
+static gboolean
+_configure_display_from_info (GstVulkanSink * vk_sink, GstVideoInfo * vinfo)
+{
+ guint display_ratio_num, display_ratio_den;
+ gint display_par_n, display_par_d;
+ gint par_n, par_d;
+ gint width, height;
+ gboolean ok;
+
+ width = GST_VIDEO_INFO_WIDTH (vinfo);
+ height = GST_VIDEO_INFO_HEIGHT (vinfo);
+
+ par_n = GST_VIDEO_INFO_PAR_N (vinfo);
+ par_d = GST_VIDEO_INFO_PAR_D (vinfo);
+
+ if (!par_n)
+ par_n = 1;
+
+ /* get display's PAR */
+ if (vk_sink->par_n != 0 && vk_sink->par_d != 0) {
+ display_par_n = vk_sink->par_n;
+ display_par_d = vk_sink->par_d;
+ } else {
+ display_par_n = 1;
+ display_par_d = 1;
+ }
+
+ ok = gst_video_calculate_display_ratio (&display_ratio_num,
+ &display_ratio_den, width, height, par_n, par_d, display_par_n,
+ display_par_d);
+
+ if (!ok)
+ return FALSE;
+
+ GST_TRACE ("PAR: %u/%u DAR:%u/%u", par_n, par_d, display_par_n,
+ display_par_d);
+
+ if (height % display_ratio_den == 0) {
+ GST_DEBUG ("keeping video height");
+ GST_VIDEO_SINK_WIDTH (vk_sink) = (guint)
+ gst_util_uint64_scale_int (height, display_ratio_num,
+ display_ratio_den);
+ GST_VIDEO_SINK_HEIGHT (vk_sink) = height;
+ } else if (width % display_ratio_num == 0) {
+ GST_DEBUG ("keeping video width");
+ GST_VIDEO_SINK_WIDTH (vk_sink) = width;
+ GST_VIDEO_SINK_HEIGHT (vk_sink) = (guint)
+ gst_util_uint64_scale_int (width, display_ratio_den, display_ratio_num);
+ } else {
+ GST_DEBUG ("approximating while keeping video height");
+ GST_VIDEO_SINK_WIDTH (vk_sink) = (guint)
+ gst_util_uint64_scale_int (height, display_ratio_num,
+ display_ratio_den);
+ GST_VIDEO_SINK_HEIGHT (vk_sink) = height;
+ }
+ GST_DEBUG ("scaling to %dx%d", GST_VIDEO_SINK_WIDTH (vk_sink),
+ GST_VIDEO_SINK_HEIGHT (vk_sink));
+
+ return TRUE;
+}
+
+static gboolean
+gst_vulkan_sink_set_caps (GstBaseSink * bsink, GstCaps * caps)
+{
+ GstVulkanSink *vk_sink = GST_VULKAN_SINK (bsink);
+ GError *error = NULL;
+ GstVideoInfo v_info;
+
+ GST_DEBUG_OBJECT (bsink, "set caps with %" GST_PTR_FORMAT, caps);
+
+ if (!gst_video_info_from_caps (&v_info, caps))
+ return FALSE;
+
+ if (!_configure_display_from_info (vk_sink, &v_info))
+ return FALSE;
+
+ if (!gst_vulkan_swapper_set_caps (vk_sink->swapper, caps, &error)) {
+ GST_ELEMENT_ERROR (vk_sink, RESOURCE, NOT_FOUND,
+ ("Failed to configure caps"), ("%s", error->message));
+ g_clear_error (&error);
+ return FALSE;
+ }
+
+ vk_sink->v_info = v_info;
+
+ return TRUE;
+}
+
+static GstFlowReturn
+gst_vulkan_sink_prepare (GstBaseSink * bsink, GstBuffer * buf)
+{
+ GstVulkanSink *vk_sink = GST_VULKAN_SINK (bsink);
+
+ GST_TRACE_OBJECT (vk_sink, "preparing buffer %" GST_PTR_FORMAT, buf);
+
+ if (GST_VIDEO_SINK_WIDTH (vk_sink) < 1 || GST_VIDEO_SINK_HEIGHT (vk_sink) < 1) {
+ return GST_FLOW_NOT_NEGOTIATED;
+ }
+
+ return GST_FLOW_OK;
+}
+
+static GstFlowReturn
+gst_vulkan_sink_show_frame (GstVideoSink * vsink, GstBuffer * buf)
+{
+ GstVulkanSink *vk_sink = GST_VULKAN_SINK (vsink);
+ GError *error = NULL;
+
+ GST_TRACE_OBJECT (vk_sink, "rendering buffer %" GST_PTR_FORMAT, buf);
+
+ if (!gst_vulkan_swapper_render_buffer (vk_sink->swapper, buf, &error)) {
+ GST_ELEMENT_ERROR (vk_sink, RESOURCE, NOT_FOUND,
+ ("Failed to render buffer"), ("%s", error->message));
+ g_clear_error (&error);
+ return GST_FLOW_ERROR;
+ }
+
+ return GST_FLOW_OK;
+}
diff --git a/ext/vulkan/vksink.h b/ext/vulkan/vksink.h
new file mode 100644
index 0000000..9f95cf3
--- /dev/null
+++ b/ext/vulkan/vksink.h
@@ -0,0 +1,70 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _VK_SINK_H_
+#define _VK_SINK_H_
+
+#include <gst/gst.h>
+#include <gst/video/gstvideosink.h>
+#include <gst/video/video.h>
+#include "vk.h"
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_VULKAN_SINK (gst_vulkan_sink_get_type())
+#define GST_VULKAN_SINK(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_VULKAN_SINK,GstVulkanSink))
+#define GST_VULKAN_SINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_VULKAN_SINK,GstVulkanSinkClass))
+#define GST_IS_VULKAN_SINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_VULKAN_SINK))
+#define GST_IS_VULKAN_SINK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_VULKAN_SINK))
+
+typedef struct _GstVulkanSink GstVulkanSink;
+typedef struct _GstVulkanSinkClass GstVulkanSinkClass;
+
+struct _GstVulkanSink
+{
+ GstVideoSink video_sink;
+
+ GstVulkanInstance *instance;
+ GstVulkanDevice *device;
+
+ GstVulkanDisplay *display;
+ GstVulkanWindow *window;
+
+ GstVulkanSwapper *swapper;
+
+ /* properties */
+ gboolean force_aspect_ratio;
+ gint par_n;
+ gint par_d;
+
+ /* stream configuration */
+ GstVideoInfo v_info;
+};
+
+struct _GstVulkanSinkClass
+{
+ GstVideoSinkClass video_sink_class;
+};
+
+GType gst_vulkan_sink_get_type(void);
+
+G_END_DECLS
+
+#endif
diff --git a/ext/vulkan/vkswapper.c b/ext/vulkan/vkswapper.c
new file mode 100644
index 0000000..b92f2ab
--- /dev/null
+++ b/ext/vulkan/vkswapper.c
@@ -0,0 +1,1040 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <string.h>
+
+#include "vkswapper.h"
+
+#define GST_CAT_DEFAULT gst_vulkan_swapper_debug
+GST_DEBUG_CATEGORY (GST_CAT_DEFAULT);
+
+#define gst_vulkan_swapper_parent_class parent_class
+G_DEFINE_TYPE_WITH_CODE (GstVulkanSwapper, gst_vulkan_swapper,
+ GST_TYPE_OBJECT, GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT,
+ "vulkanswapper", 0, "Vulkan Swapper"));
+
+#define RENDER_GET_LOCK(o) &(GST_VULKAN_SWAPPER (o)->priv->render_lock)
+#define RENDER_LOCK(o) g_mutex_lock (RENDER_GET_LOCK(o));
+#define RENDER_UNLOCK(o) g_mutex_unlock (RENDER_GET_LOCK(o));
+
+struct _GstVulkanSwapperPrivate
+{
+ GMutex render_lock;
+};
+
+static void _on_window_draw (GstVulkanWindow * window,
+ GstVulkanSwapper * swapper);
+
+static gboolean
+_get_function_table (GstVulkanSwapper * swapper)
+{
+ GstVulkanDevice *device = swapper->device;
+ GstVulkanInstance *instance = gst_vulkan_device_get_instance (device);
+
+ if (!instance) {
+ GST_ERROR_OBJECT (swapper, "Failed to get instance from the device");
+ return FALSE;
+ }
+#define GET_PROC_ADDRESS_REQUIRED(obj, type, name) \
+ G_STMT_START { \
+ obj->G_PASTE (, name) = G_PASTE(G_PASTE(gst_vulkan_, type), _get_proc_address) (type, "vk" G_STRINGIFY(name)); \
+ if (!obj->G_PASTE(, name)) { \
+ GST_ERROR_OBJECT (obj, "Failed to find required function vk" G_STRINGIFY(name)); \
+ gst_object_unref (instance); \
+ return FALSE; \
+ } \
+ } G_STMT_END
+
+ GET_PROC_ADDRESS_REQUIRED (swapper, instance,
+ GetPhysicalDeviceSurfaceSupportKHR);
+ GET_PROC_ADDRESS_REQUIRED (swapper, instance,
+ GetPhysicalDeviceSurfaceCapabilitiesKHR);
+ GET_PROC_ADDRESS_REQUIRED (swapper, instance,
+ GetPhysicalDeviceSurfaceFormatsKHR);
+ GET_PROC_ADDRESS_REQUIRED (swapper, instance,
+ GetPhysicalDeviceSurfacePresentModesKHR);
+ GET_PROC_ADDRESS_REQUIRED (swapper, device, CreateSwapchainKHR);
+ GET_PROC_ADDRESS_REQUIRED (swapper, device, DestroySwapchainKHR);
+ GET_PROC_ADDRESS_REQUIRED (swapper, device, GetSwapchainImagesKHR);
+ GET_PROC_ADDRESS_REQUIRED (swapper, device, AcquireNextImageKHR);
+ GET_PROC_ADDRESS_REQUIRED (swapper, device, QueuePresentKHR);
+
+ gst_object_unref (instance);
+
+ return TRUE;
+
+#undef GET_PROC_ADDRESS_REQUIRED
+}
+
+static GstVideoFormat
+_vk_format_to_video_format (VkFormat format)
+{
+ switch (format) {
+ /* double check endianess */
+ case VK_FORMAT_R8G8B8A8_UNORM:
+ return GST_VIDEO_FORMAT_RGBA;
+ case VK_FORMAT_R8G8B8_UNORM:
+ return GST_VIDEO_FORMAT_RGB;
+ case VK_FORMAT_B8G8R8A8_UNORM:
+ return GST_VIDEO_FORMAT_BGRA;
+ case VK_FORMAT_B8G8R8_UNORM:
+ return GST_VIDEO_FORMAT_BGR;
+ default:
+ return GST_VIDEO_FORMAT_UNKNOWN;
+ }
+}
+
+static VkFormat
+_vk_format_from_video_format (GstVideoFormat v_format)
+{
+ switch (v_format) {
+ case GST_VIDEO_FORMAT_RGBA:
+ return VK_FORMAT_R8G8B8A8_UNORM;
+ case GST_VIDEO_FORMAT_RGB:
+ return VK_FORMAT_R8G8B8_UNORM;
+ case GST_VIDEO_FORMAT_BGRA:
+ return VK_FORMAT_B8G8R8A8_UNORM;
+ case GST_VIDEO_FORMAT_BGR:
+ return VK_FORMAT_B8G8R8_UNORM;
+ default:
+ return VK_FORMAT_UNDEFINED;
+ }
+}
+
+static VkColorSpaceKHR
+_vk_color_space_from_video_info (GstVideoInfo * v_info)
+{
+ return VK_COLORSPACE_SRGB_NONLINEAR_KHR;
+}
+
+static void
+_add_vk_format_to_list (GValue * list, VkFormat format)
+{
+ GstVideoFormat v_format;
+ const gchar *format_str;
+
+ v_format = _vk_format_to_video_format (format);
+ if (v_format) {
+ GValue item = G_VALUE_INIT;
+
+ g_value_init (&item, G_TYPE_STRING);
+ format_str = gst_video_format_to_string (v_format);
+ g_value_set_string (&item, format_str);
+ gst_value_list_append_value (list, &item);
+ g_value_unset (&item);
+ }
+}
+
+static gboolean
+_vulkan_swapper_ensure_surface (GstVulkanSwapper * swapper, GError ** error)
+{
+ if (!swapper->surface) {
+ if (!(swapper->surface =
+ gst_vulkan_window_get_surface (swapper->window, error))) {
+ return FALSE;
+ }
+ }
+
+ return TRUE;
+}
+
+struct choose_data
+{
+ GstVulkanSwapper *swapper;
+ GstVulkanQueue *graphics_queue;
+ GstVulkanQueue *present_queue;
+};
+
+static gboolean
+_choose_queue (GstVulkanDevice * device, GstVulkanQueue * queue,
+ struct choose_data *data)
+{
+ guint flags = device->queue_family_props[queue->family].queueFlags;
+ VkPhysicalDevice gpu;
+ gboolean supports_present;
+
+ gpu = gst_vulkan_device_get_physical_device (data->swapper->device);
+
+ {
+ VkResult err;
+ GError *error = NULL;
+ VkBool32 physical_device_supported;
+
+ err =
+ data->swapper->GetPhysicalDeviceSurfaceSupportKHR (gpu, queue->index,
+ data->swapper->surface, &physical_device_supported);
+ if (gst_vulkan_error_to_g_error (err, &error,
+ "GetPhysicalDeviceSurfaceSupport") < 0) {
+ GST_DEBUG_OBJECT (data->swapper,
+ "surface not supported by the physical device: %s", error->message);
+ return TRUE;
+ }
+ }
+
+ supports_present =
+ gst_vulkan_window_get_presentation_support (data->swapper->window,
+ device, queue->index);
+
+ if ((flags & VK_QUEUE_GRAPHICS_BIT) != 0) {
+ if (supports_present) {
+ /* found one that supports both */
+ if (data->graphics_queue)
+ gst_object_unref (data->graphics_queue);
+ data->graphics_queue = gst_object_ref (queue);
+ if (data->present_queue)
+ gst_object_unref (data->present_queue);
+ data->present_queue = gst_object_ref (queue);
+ return FALSE;
+ }
+ if (!data->graphics_queue)
+ data->present_queue = gst_object_ref (queue);
+ } else if (supports_present) {
+ if (!data->present_queue)
+ data->present_queue = gst_object_ref (queue);
+ }
+
+ return TRUE;
+}
+
+static gboolean
+_vulkan_swapper_retrieve_surface_properties (GstVulkanSwapper * swapper,
+ GError ** error)
+{
+ struct choose_data data;
+ VkPhysicalDevice gpu;
+ VkResult err;
+
+ if (swapper->surf_formats)
+ return TRUE;
+
+ if (!_vulkan_swapper_ensure_surface (swapper, error))
+ return FALSE;
+
+ gpu = gst_vulkan_device_get_physical_device (swapper->device);
+
+ data.swapper = swapper;
+ data.present_queue = NULL;
+ data.graphics_queue = NULL;
+
+ gst_vulkan_device_foreach_queue (swapper->device,
+ (GstVulkanDeviceForEachQueueFunc) _choose_queue, &data);
+
+ if (data.graphics_queue != data.present_queue) {
+ /* FIXME: add support for separate graphics/present queues */
+ g_set_error (error, GST_VULKAN_ERROR,
+ VK_ERROR_INITIALIZATION_FAILED,
+ "Failed to find a compatible present/graphics queue");
+ if (data.present_queue)
+ gst_object_unref (data.present_queue);
+ if (data.graphics_queue)
+ gst_object_unref (data.graphics_queue);
+ return FALSE;
+ }
+
+ swapper->queue = gst_object_ref (data.present_queue);
+ if (data.present_queue)
+ gst_object_unref (data.present_queue);
+ if (data.graphics_queue)
+ gst_object_unref (data.graphics_queue);
+
+ err =
+ swapper->GetPhysicalDeviceSurfaceCapabilitiesKHR (gpu, swapper->surface,
+ &swapper->surf_props);
+ if (gst_vulkan_error_to_g_error (err, error,
+ "GetPhysicalDeviceSurfaceCapabilitiesKHR") < 0)
+ return FALSE;
+
+ err =
+ swapper->GetPhysicalDeviceSurfaceFormatsKHR (gpu, swapper->surface,
+ &swapper->n_surf_formats, NULL);
+ if (gst_vulkan_error_to_g_error (err, error,
+ "GetPhysicalDeviceSurfaceFormatsKHR") < 0)
+ return FALSE;
+
+ swapper->surf_formats = g_new0 (VkSurfaceFormatKHR, swapper->n_surf_formats);
+ err =
+ swapper->GetPhysicalDeviceSurfaceFormatsKHR (gpu, swapper->surface,
+ &swapper->n_surf_formats, swapper->surf_formats);
+ if (gst_vulkan_error_to_g_error (err, error,
+ "GetPhysicalDeviceSurfaceFormatsKHR") < 0)
+ return FALSE;
+
+ err =
+ swapper->GetPhysicalDeviceSurfacePresentModesKHR (gpu, swapper->surface,
+ &swapper->n_surf_present_modes, NULL);
+ if (gst_vulkan_error_to_g_error (err, error,
+ "GetPhysicalDeviceSurfacePresentModesKHR") < 0)
+ return FALSE;
+
+ swapper->surf_present_modes =
+ g_new0 (VkPresentModeKHR, swapper->n_surf_present_modes);
+ err =
+ swapper->GetPhysicalDeviceSurfacePresentModesKHR (gpu, swapper->surface,
+ &swapper->n_surf_present_modes, swapper->surf_present_modes);
+ if (gst_vulkan_error_to_g_error (err, error,
+ "GetPhysicalDeviceSurfacePresentModesKHR") < 0)
+ return FALSE;
+
+ return TRUE;
+}
+
+static gboolean
+_on_window_close (GstVulkanWindow * window, GstVulkanSwapper * swapper)
+{
+ g_atomic_int_set (&swapper->to_quit, 1);
+
+ return TRUE;
+}
+
+static void
+gst_vulkan_swapper_finalize (GObject * object)
+{
+ GstVulkanSwapper *swapper = GST_VULKAN_SWAPPER (object);
+ int i;
+
+ if (swapper->swap_chain_images) {
+ for (i = 0; i < swapper->n_swap_chain_images; i++) {
+ gst_memory_unref ((GstMemory *) swapper->swap_chain_images[i]);
+ swapper->swap_chain_images[i] = NULL;
+ }
+ g_free (swapper->swap_chain_images);
+ }
+ swapper->swap_chain_images = NULL;
+
+ if (swapper->swap_chain)
+ swapper->DestroySwapchainKHR (swapper->device->device, swapper->swap_chain,
+ NULL);
+ swapper->swap_chain = VK_NULL_HANDLE;
+
+ if (swapper->queue)
+ gst_object_unref (swapper->queue);
+ swapper->queue = NULL;
+
+ if (swapper->device)
+ gst_object_unref (swapper->device);
+ swapper->device = NULL;
+
+ g_signal_handler_disconnect (swapper->window, swapper->draw_id);
+ swapper->draw_id = 0;
+
+ g_signal_handler_disconnect (swapper->window, swapper->close_id);
+ swapper->close_id = 0;
+
+ if (swapper->window)
+ gst_object_unref (swapper->window);
+ swapper->window = NULL;
+
+ g_free (swapper->surf_present_modes);
+ swapper->surf_present_modes = NULL;
+
+ g_free (swapper->surf_formats);
+ swapper->surf_formats = NULL;
+
+ gst_buffer_replace (&swapper->current_buffer, NULL);
+ gst_caps_replace (&swapper->caps, NULL);
+
+ g_mutex_clear (&swapper->priv->render_lock);
+
+ G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+static void
+gst_vulkan_swapper_init (GstVulkanSwapper * swapper)
+{
+ swapper->priv =
+ G_TYPE_INSTANCE_GET_PRIVATE (swapper, GST_TYPE_VULKAN_SWAPPER,
+ GstVulkanSwapperPrivate);
+
+ g_mutex_init (&swapper->priv->render_lock);
+}
+
+static void
+gst_vulkan_swapper_class_init (GstVulkanSwapperClass * klass)
+{
+ g_type_class_add_private (klass, sizeof (GstVulkanSwapperPrivate));
+
+ G_OBJECT_CLASS (klass)->finalize = gst_vulkan_swapper_finalize;
+}
+
+GstVulkanSwapper *
+gst_vulkan_swapper_new (GstVulkanDevice * device, GstVulkanWindow * window)
+{
+ GstVulkanSwapper *swapper;
+
+ swapper = g_object_new (GST_TYPE_VULKAN_SWAPPER, NULL);
+ swapper->device = gst_object_ref (device);
+ swapper->window = gst_object_ref (window);
+
+ if (!_get_function_table (swapper)) {
+ gst_object_unref (swapper);
+ return NULL;
+ }
+
+ swapper->close_id = g_signal_connect (swapper->window, "close",
+ (GCallback) _on_window_close, swapper);
+ swapper->draw_id = g_signal_connect (swapper->window, "draw",
+ (GCallback) _on_window_draw, swapper);
+
+ return swapper;
+}
+
+GstCaps *
+gst_vulkan_swapper_get_supported_caps (GstVulkanSwapper * swapper,
+ GError ** error)
+{
+ GstStructure *s;
+ GstCaps *caps;
+
+ g_return_val_if_fail (GST_IS_VULKAN_SWAPPER (swapper), NULL);
+
+ if (!_vulkan_swapper_retrieve_surface_properties (swapper, error))
+ return NULL;
+
+ caps = gst_caps_new_empty_simple ("video/x-raw");
+ gst_caps_set_features (caps, 0,
+ gst_caps_features_from_string (GST_CAPS_FEATURE_MEMORY_VULKAN_BUFFER));
+ s = gst_caps_get_structure (caps, 0);
+
+ {
+ int i;
+ GValue list = G_VALUE_INIT;
+
+ g_value_init (&list, GST_TYPE_LIST);
+
+ if (swapper->n_surf_formats
+ && swapper->surf_formats[0].format == VK_FORMAT_UNDEFINED) {
+ _add_vk_format_to_list (&list, VK_FORMAT_B8G8R8A8_UNORM);
+ } else {
+ for (i = 0; i < swapper->n_surf_formats; i++) {
+ _add_vk_format_to_list (&list, swapper->surf_formats[i].format);
+ }
+ }
+
+ gst_structure_set_value (s, "format", &list);
+ g_value_unset (&list);
+ }
+ {
+ guint32 max_dim = swapper->device->gpu_props.limits.maxImageDimension2D;
+
+ gst_structure_set (s, "width", GST_TYPE_INT_RANGE, 1, (gint) max_dim,
+ "height", GST_TYPE_INT_RANGE, 1, (gint) max_dim, "pixel-aspect-ratio",
+ GST_TYPE_FRACTION, 1, 1, "framerate", GST_TYPE_FRACTION_RANGE, 0, 1,
+ G_MAXINT, 1, NULL);
+ }
+
+ GST_INFO_OBJECT (swapper, "Probed the following caps %" GST_PTR_FORMAT, caps);
+
+ return caps;
+}
+
+static gboolean
+_swapper_set_image_layout_with_cmd (GstVulkanSwapper * swapper,
+ VkCommandBuffer cmd, GstVulkanImageMemory * image,
+ VkImageLayout new_image_layout, GError ** error)
+{
+ VkPipelineStageFlags src_stages = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT;
+ VkPipelineStageFlags dest_stages = VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT;
+ VkImageMemoryBarrier image_memory_barrier;
+
+ gst_vulkan_image_memory_set_layout (image, new_image_layout,
+ &image_memory_barrier);
+
+ vkCmdPipelineBarrier (cmd, src_stages, dest_stages, 0, 0, NULL, 0, NULL, 1,
+ &image_memory_barrier);
+
+ return TRUE;
+}
+
+static gboolean
+_new_fence (GstVulkanDevice * device, VkFence * fence, GError ** error)
+{
+ VkFenceCreateInfo fence_info;
+ VkResult err;
+
+ fence_info.sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO;
+ fence_info.pNext = NULL;
+ fence_info.flags = 0;
+
+ err = vkCreateFence (device->device, &fence_info, NULL, fence);
+ if (gst_vulkan_error_to_g_error (err, error, "vkCreateFence") < 0)
+ return FALSE;
+
+ return TRUE;
+}
+
+static gboolean
+_swapper_set_image_layout (GstVulkanSwapper * swapper,
+ GstVulkanImageMemory * image, VkImageLayout new_image_layout,
+ GError ** error)
+{
+ VkCommandBuffer cmd;
+ VkFence fence;
+ VkResult err;
+
+ if (!gst_vulkan_device_create_cmd_buffer (swapper->device, &cmd, error))
+ return FALSE;
+
+ if (!_new_fence (swapper->device, &fence, error))
+ return FALSE;
+
+ {
+ VkCommandBufferInheritanceInfo buf_inh = { 0, };
+ VkCommandBufferBeginInfo cmd_buf_info = { 0, };
+
+ buf_inh.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO;
+ buf_inh.pNext = NULL;
+ buf_inh.renderPass = VK_NULL_HANDLE;
+ buf_inh.subpass = 0;
+ buf_inh.framebuffer = VK_NULL_HANDLE;
+ buf_inh.occlusionQueryEnable = FALSE;
+ buf_inh.queryFlags = 0;
+ buf_inh.pipelineStatistics = 0;
+
+ cmd_buf_info.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
+ cmd_buf_info.pNext = NULL;
+ cmd_buf_info.flags = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT;
+ cmd_buf_info.pInheritanceInfo = &buf_inh;
+
+ err = vkBeginCommandBuffer (cmd, &cmd_buf_info);
+ if (gst_vulkan_error_to_g_error (err, error, "vkBeginCommandBuffer") < 0)
+ return FALSE;
+ }
+
+ if (!_swapper_set_image_layout_with_cmd (swapper, cmd, image,
+ new_image_layout, error))
+ return FALSE;
+
+ err = vkEndCommandBuffer (cmd);
+ if (gst_vulkan_error_to_g_error (err, error, "vkEndCommandBuffer") < 0)
+ return FALSE;
+
+ {
+ VkSubmitInfo submit_info = { 0, };
+
+ submit_info.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
+ submit_info.pNext = NULL;
+ submit_info.waitSemaphoreCount = 0;
+ submit_info.pWaitSemaphores = NULL;
+ submit_info.commandBufferCount = 1;
+ submit_info.pCommandBuffers = &cmd;
+ submit_info.signalSemaphoreCount = 0;
+ submit_info.pSignalSemaphores = NULL;
+
+ err = vkQueueSubmit (swapper->queue->queue, 1, &submit_info, fence);
+ if (gst_vulkan_error_to_g_error (err, error, "vkQueueSubmit") < 0)
+ return FALSE;
+ }
+
+ err = vkWaitForFences (swapper->device->device, 1, &fence, TRUE, -1);
+ if (gst_vulkan_error_to_g_error (err, error, "vkWaitForFences") < 0)
+ return FALSE;
+ vkFreeCommandBuffers (swapper->device->device, swapper->device->cmd_pool, 1,
+ &cmd);
+
+ vkDestroyFence (swapper->device->device, fence, NULL);
+
+ return TRUE;
+}
+
+static gboolean
+_allocate_swapchain (GstVulkanSwapper * swapper, GstCaps * caps,
+ GError ** error)
+{
+ VkSurfaceTransformFlagsKHR preTransform;
+ VkCompositeAlphaFlagsKHR alpha_flags;
+ VkPresentModeKHR present_mode;
+ VkImageUsageFlags usage = 0;
+ VkColorSpaceKHR color_space;
+ VkImage *swap_chain_images;
+ VkExtent2D swapchain_dims;
+ guint32 n_images_wanted;
+ VkPhysicalDevice gpu;
+ VkFormat format;
+ VkResult err;
+ guint32 i;
+
+ if (!_vulkan_swapper_ensure_surface (swapper, error))
+ return FALSE;
+
+ gpu = gst_vulkan_device_get_physical_device (swapper->device);
+ err =
+ swapper->GetPhysicalDeviceSurfaceCapabilitiesKHR (gpu,
+ swapper->surface, &swapper->surf_props);
+ if (gst_vulkan_error_to_g_error (err, error,
+ "GetPhysicalDeviceSurfaceCapabilitiesKHR") < 0)
+ return FALSE;
+
+ /* width and height are either both -1, or both not -1. */
+ if (swapper->surf_props.currentExtent.width == -1) {
+ /* If the surface size is undefined, the size is set to
+ * the size of the images requested. */
+ swapchain_dims.width = 320;
+ swapchain_dims.height = 240;
+ } else {
+ /* If the surface size is defined, the swap chain size must match */
+ swapchain_dims = swapper->surf_props.currentExtent;
+ }
+
+ /* If mailbox mode is available, use it, as is the lowest-latency non-
+ * tearing mode. If not, try IMMEDIATE which will usually be available,
+ * and is fastest (though it tears). If not, fall back to FIFO which is
+ * always available. */
+ present_mode = VK_PRESENT_MODE_FIFO_KHR;
+ for (gsize i = 0; i < swapper->n_surf_present_modes; i++) {
+ if (swapper->surf_present_modes[i] == VK_PRESENT_MODE_MAILBOX_KHR) {
+ present_mode = VK_PRESENT_MODE_MAILBOX_KHR;
+ break;
+ }
+ if ((present_mode != VK_PRESENT_MODE_MAILBOX_KHR) &&
+ (swapper->surf_present_modes[i] == VK_PRESENT_MODE_IMMEDIATE_KHR)) {
+ present_mode = VK_PRESENT_MODE_IMMEDIATE_KHR;
+ }
+ }
+
+ /* Determine the number of VkImage's to use in the swap chain (we desire to
+ * own only 1 image at a time, besides the images being displayed and
+ * queued for display): */
+ n_images_wanted = swapper->surf_props.minImageCount + 1;
+ if ((swapper->surf_props.maxImageCount > 0) &&
+ (n_images_wanted > swapper->surf_props.maxImageCount)) {
+ /* Application must settle for fewer images than desired: */
+ n_images_wanted = swapper->surf_props.maxImageCount;
+ }
+
+ if (swapper->
+ surf_props.supportedTransforms & VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR) {
+ preTransform = VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR;
+ } else {
+ preTransform = swapper->surf_props.currentTransform;
+ }
+
+ format =
+ _vk_format_from_video_format (GST_VIDEO_INFO_FORMAT (&swapper->v_info));
+ color_space = _vk_color_space_from_video_info (&swapper->v_info);
+
+ if ((swapper->surf_props.supportedCompositeAlpha &
+ VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR) != 0) {
+ alpha_flags = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR;
+ } else if ((swapper->surf_props.supportedCompositeAlpha &
+ VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR) != 0) {
+ alpha_flags = VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR;
+ } else {
+ g_set_error (error, GST_VULKAN_ERROR,
+ VK_ERROR_INITIALIZATION_FAILED,
+ "Incorrect alpha flags available for the swap images");
+ return FALSE;
+ }
+
+ if ((swapper->surf_props.supportedUsageFlags &
+ VK_IMAGE_USAGE_TRANSFER_DST_BIT) != 0) {
+ usage |= VK_IMAGE_USAGE_TRANSFER_DST_BIT;
+ } else {
+ g_set_error (error, GST_VULKAN_ERROR,
+ VK_ERROR_INITIALIZATION_FAILED,
+ "Incorrect usage flags available for the swap images");
+ return FALSE;
+ }
+ if ((swapper->surf_props.
+ supportedUsageFlags & VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT)
+ != 0) {
+ usage |= VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
+ } else {
+ g_set_error (error, GST_VULKAN_ERROR,
+ VK_ERROR_INITIALIZATION_FAILED,
+ "Incorrect usage flags available for the swap images");
+ return FALSE;
+ }
+
+ {
+ VkSwapchainCreateInfoKHR swap_chain_info = { 0, };
+ VkSwapchainKHR old_swap_chain;
+
+ old_swap_chain = swapper->swap_chain;
+
+ swap_chain_info.sType = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR;
+ swap_chain_info.pNext = NULL;
+ swap_chain_info.surface = swapper->surface;
+ swap_chain_info.minImageCount = n_images_wanted;
+ swap_chain_info.imageFormat = format;
+ swap_chain_info.imageColorSpace = color_space;
+ swap_chain_info.imageExtent = swapchain_dims;
+ swap_chain_info.imageArrayLayers = 1;
+ swap_chain_info.imageUsage = usage;
+ swap_chain_info.imageSharingMode = VK_SHARING_MODE_EXCLUSIVE;
+ swap_chain_info.queueFamilyIndexCount = 0;
+ swap_chain_info.pQueueFamilyIndices = NULL;
+ swap_chain_info.preTransform = preTransform;
+ swap_chain_info.presentMode = present_mode;
+ swap_chain_info.compositeAlpha = alpha_flags;
+ swap_chain_info.clipped = TRUE;
+ swap_chain_info.oldSwapchain = swapper->swap_chain;
+
+ err =
+ swapper->CreateSwapchainKHR (swapper->device->device, &swap_chain_info,
+ NULL, &swapper->swap_chain);
+ if (gst_vulkan_error_to_g_error (err, error, "vkCreateSwapchainKHR") < 0)
+ return FALSE;
+
+ if (old_swap_chain != VK_NULL_HANDLE) {
+ swapper->DestroySwapchainKHR (swapper->device->device, old_swap_chain,
+ NULL);
+ }
+ }
+
+ err =
+ swapper->GetSwapchainImagesKHR (swapper->device->device,
+ swapper->swap_chain, &swapper->n_swap_chain_images, NULL);
+ if (gst_vulkan_error_to_g_error (err, error, "vkGetSwapchainImagesKHR") < 0)
+ return FALSE;
+
+ swap_chain_images = g_new0 (VkImage, swapper->n_swap_chain_images);
+ err =
+ swapper->GetSwapchainImagesKHR (swapper->device->device,
+ swapper->swap_chain, &swapper->n_swap_chain_images, swap_chain_images);
+ if (gst_vulkan_error_to_g_error (err, error, "vkGetSwapchainImagesKHR") < 0) {
+ g_free (swap_chain_images);
+ return FALSE;
+ }
+
+ swapper->swap_chain_images =
+ g_new0 (GstVulkanImageMemory *, swapper->n_swap_chain_images);
+ for (i = 0; i < swapper->n_swap_chain_images; i++) {
+ swapper->swap_chain_images[i] = (GstVulkanImageMemory *)
+ gst_vulkan_image_memory_wrapped (swapper->device, swap_chain_images[i],
+ format, swapchain_dims.width, swapchain_dims.height,
+ VK_IMAGE_TILING_OPTIMAL, usage, NULL, NULL);
+
+ if (!_swapper_set_image_layout (swapper, swapper->swap_chain_images[i],
+ VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, error)) {
+ g_free (swap_chain_images);
+ return FALSE;
+ }
+ }
+
+ g_free (swap_chain_images);
+ return TRUE;
+}
+
+static gboolean
+_swapchain_resize (GstVulkanSwapper * swapper, GError ** error)
+{
+ int i;
+
+ if (!swapper->queue) {
+ if (!_vulkan_swapper_retrieve_surface_properties (swapper, error)) {
+ return FALSE;
+ }
+ }
+
+ if (swapper->swap_chain_images) {
+ for (i = 0; i < swapper->n_swap_chain_images; i++) {
+ if (swapper->swap_chain_images[i])
+ gst_memory_unref ((GstMemory *) swapper->swap_chain_images[i]);
+ }
+ g_free (swapper->swap_chain_images);
+ }
+
+ return _allocate_swapchain (swapper, swapper->caps, error);
+}
+
+gboolean
+gst_vulkan_swapper_set_caps (GstVulkanSwapper * swapper, GstCaps * caps,
+ GError ** error)
+{
+ if (!gst_video_info_from_caps (&swapper->v_info, caps)) {
+ g_set_error (error, GST_VULKAN_ERROR,
+ VK_ERROR_INITIALIZATION_FAILED,
+ "Failed to geto GstVideoInfo from caps");
+ return FALSE;
+ }
+
+ gst_caps_replace (&swapper->caps, caps);
+
+ return _swapchain_resize (swapper, error);
+}
+
+struct cmd_data
+{
+ VkCommandBuffer cmd;
+ VkFence fence;
+ GDestroyNotify notify;
+ gpointer data;
+};
+
+static gboolean
+_build_render_buffer_cmd (GstVulkanSwapper * swapper, guint32 swap_idx,
+ GstBuffer * buffer, struct cmd_data *cmd_data, GError ** error)
+{
+ GstVulkanBufferMemory *buf_mem;
+ GstVulkanImageMemory *swap_mem;
+ VkCommandBuffer cmd;
+ VkResult err;
+
+ g_return_val_if_fail (swap_idx < swapper->n_swap_chain_images, FALSE);
+ swap_mem = swapper->swap_chain_images[swap_idx];
+
+ cmd_data->notify = NULL;
+
+ if (!gst_vulkan_device_create_cmd_buffer (swapper->device, &cmd, error))
+ return FALSE;
+
+ buf_mem = (GstVulkanBufferMemory *) gst_buffer_peek_memory (buffer, 0);
+
+ {
+ VkCommandBufferInheritanceInfo buf_inh = { 0, };
+ VkCommandBufferBeginInfo cmd_buf_info = { 0, };
+
+ buf_inh.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO;
+ buf_inh.pNext = NULL;
+ buf_inh.renderPass = VK_NULL_HANDLE;
+ buf_inh.subpass = 0;
+ buf_inh.framebuffer = VK_NULL_HANDLE;
+ buf_inh.occlusionQueryEnable = FALSE;
+ buf_inh.queryFlags = 0;
+ buf_inh.pipelineStatistics = 0;
+
+ cmd_buf_info.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
+ cmd_buf_info.pNext = NULL;
+ cmd_buf_info.flags = VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT;
+ cmd_buf_info.pInheritanceInfo = &buf_inh;
+
+ err = vkBeginCommandBuffer (cmd, &cmd_buf_info);
+ if (gst_vulkan_error_to_g_error (err, error, "vkBeginCommandBuffer") < 0)
+ return FALSE;
+ }
+
+ if (!_swapper_set_image_layout_with_cmd (swapper, cmd, swap_mem,
+ VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, error)) {
+ return FALSE;
+ }
+
+ {
+ VkBufferImageCopy region = { 0, };
+ guint32 dst_width = gst_vulkan_image_memory_get_width (swap_mem);
+ guint32 dst_height = gst_vulkan_image_memory_get_height (swap_mem);
+ guint src_width = GST_VIDEO_INFO_WIDTH (&swapper->v_info);
+ guint src_height = GST_VIDEO_INFO_HEIGHT (&swapper->v_info);
+ guint x, y;
+
+ if (src_width != dst_width || src_height != dst_height) {
+/* FIXME: broken with LunarG's driver
+ x = (src_width - dst_width) / 2;
+ y = (src_height - dst_height) / 2;*/
+ x = y = 0;
+ } else {
+ x = y = 0;
+ }
+ /* FIXME: scale rect */
+ GST_VK_BUFFER_IMAGE_COPY (region, 0, src_width, src_height,
+ GST_VK_IMAGE_SUBRESOURCE_LAYERS_INIT (VK_IMAGE_ASPECT_COLOR_BIT, 0, 0,
+ 1), GST_VK_OFFSET3D_INIT (x, y, 0), GST_VK_EXTENT3D_INIT (src_width,
+ src_height, 1));
+
+ vkCmdCopyBufferToImage (cmd, buf_mem->buffer, swap_mem->image,
+ swap_mem->image_layout, 1, ®ion);
+ }
+
+ if (!_swapper_set_image_layout_with_cmd (swapper, cmd, swap_mem,
+ VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, error)) {
+ return FALSE;
+ }
+
+ err = vkEndCommandBuffer (cmd);
+ if (gst_vulkan_error_to_g_error (err, error, "vkEndCommandBuffer") < 0)
+ return FALSE;
+
+ cmd_data->cmd = cmd;
+ cmd_data->notify = NULL;
+
+ if (!_new_fence (swapper->device, &cmd_data->fence, error)) {
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static gboolean
+_render_buffer_unlocked (GstVulkanSwapper * swapper,
+ GstBuffer * buffer, GError ** error)
+{
+ VkSemaphore semaphore = { 0, };
+ VkSemaphoreCreateInfo semaphore_info = { 0, };
+ VkPresentInfoKHR present;
+ struct cmd_data cmd_data = { 0, };
+ guint32 swap_idx;
+ VkResult err, present_err;
+
+ semaphore_info.sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO;
+ semaphore_info.pNext = NULL;
+ semaphore_info.flags = 0;
+
+ if (!buffer) {
+ g_set_error (error, GST_VULKAN_ERROR,
+ VK_ERROR_INITIALIZATION_FAILED, "Invalid buffer");
+ goto error;
+ }
+
+ if (g_atomic_int_get (&swapper->to_quit)) {
+ g_set_error (error, GST_VULKAN_ERROR, VK_ERROR_SURFACE_LOST_KHR,
+ "Output window was closed");
+ goto error;
+ }
+
+ gst_buffer_replace (&swapper->current_buffer, buffer);
+
+reacquire:
+ err = vkCreateSemaphore (swapper->device->device, &semaphore_info,
+ NULL, &semaphore);
+ if (gst_vulkan_error_to_g_error (err, error, "vkCreateSemaphore") < 0)
+ goto error;
+
+ err =
+ swapper->AcquireNextImageKHR (swapper->device->device,
+ swapper->swap_chain, -1, semaphore, VK_NULL_HANDLE, &swap_idx);
+ /* TODO: Deal with the VK_SUBOPTIMAL_KHR and VK_ERROR_OUT_OF_DATE_KHR */
+ if (err == VK_ERROR_OUT_OF_DATE_KHR) {
+ GST_DEBUG_OBJECT (swapper, "out of date frame acquired");
+
+ vkDestroySemaphore (swapper->device->device, semaphore, NULL);
+ if (!_swapchain_resize (swapper, error))
+ goto error;
+ goto reacquire;
+ } else if (gst_vulkan_error_to_g_error (err, error,
+ "vkAcquireNextImageKHR") < 0) {
+ goto error;
+ }
+
+ if (!_build_render_buffer_cmd (swapper, swap_idx, buffer, &cmd_data, error))
+ goto error;
+
+ {
+ VkSubmitInfo submit_info = { 0, };
+
+ submit_info.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
+ submit_info.pNext = NULL;
+ submit_info.waitSemaphoreCount = 1;
+ submit_info.pWaitSemaphores = &semaphore;
+ submit_info.commandBufferCount = 1;
+ submit_info.pCommandBuffers = &cmd_data.cmd;
+ submit_info.signalSemaphoreCount = 0;
+ submit_info.pSignalSemaphores = NULL;
+
+ err =
+ vkQueueSubmit (swapper->queue->queue, 1, &submit_info, cmd_data.fence);
+ if (gst_vulkan_error_to_g_error (err, error, "vkQueueSubmit") < 0) {
+ return FALSE;
+ }
+ }
+
+ present.sType = VK_STRUCTURE_TYPE_PRESENT_INFO_KHR;
+ present.pNext = NULL;
+ present.waitSemaphoreCount = 0;
+ present.pWaitSemaphores = NULL;
+ present.swapchainCount = 1;
+ present.pSwapchains = &swapper->swap_chain;
+ present.pImageIndices = &swap_idx;
+ present.pResults = &present_err;
+
+ err = swapper->QueuePresentKHR (swapper->queue->queue, &present);
+ if (err == VK_ERROR_OUT_OF_DATE_KHR) {
+ GST_DEBUG_OBJECT (swapper, "out of date frame submitted");
+
+ if (!_swapchain_resize (swapper, error))
+ goto error;
+ } else if (gst_vulkan_error_to_g_error (err, error, "vkQueuePresentKHR") < 0)
+ goto error;
+
+ err = vkWaitForFences (swapper->device->device, 1, &cmd_data.fence, TRUE, -1);
+ if (gst_vulkan_error_to_g_error (err, error, "vkWaitForFences") < 0)
+ goto error;
+
+ if (semaphore)
+ vkDestroySemaphore (swapper->device->device, semaphore, NULL);
+ if (cmd_data.cmd)
+ vkFreeCommandBuffers (swapper->device->device, swapper->device->cmd_pool,
+ 1, &cmd_data.cmd);
+ if (cmd_data.fence)
+ vkDestroyFence (swapper->device->device, cmd_data.fence, NULL);
+ if (cmd_data.notify)
+ cmd_data.notify (cmd_data.data);
+ return TRUE;
+
+error:
+ {
+ if (semaphore)
+ vkDestroySemaphore (swapper->device->device, semaphore, NULL);
+ if (cmd_data.cmd)
+ vkFreeCommandBuffers (swapper->device->device, swapper->device->cmd_pool,
+ 1, &cmd_data.cmd);
+ if (cmd_data.fence)
+ vkDestroyFence (swapper->device->device, cmd_data.fence, NULL);
+ if (cmd_data.notify)
+ cmd_data.notify (cmd_data.data);
+ return FALSE;
+ }
+}
+
+gboolean
+gst_vulkan_swapper_render_buffer (GstVulkanSwapper * swapper,
+ GstBuffer * buffer, GError ** error)
+{
+ GstMemory *mem;
+ gboolean ret;
+
+ mem = gst_buffer_peek_memory (buffer, 0);
+ if (!mem) {
+ g_set_error_literal (error, GST_VULKAN_ERROR, VK_ERROR_FORMAT_NOT_SUPPORTED,
+ "Buffer has no memory");
+ return FALSE;
+ }
+ if (!gst_is_vulkan_buffer_memory (mem)) {
+ g_set_error_literal (error, GST_VULKAN_ERROR, VK_ERROR_FORMAT_NOT_SUPPORTED,
+ "Incorrect memory type");
+ return FALSE;
+ }
+
+ RENDER_LOCK (swapper);
+ ret = _render_buffer_unlocked (swapper, buffer, error);
+ RENDER_UNLOCK (swapper);
+
+ return ret;
+}
+
+static void
+_on_window_draw (GstVulkanWindow * window, GstVulkanSwapper * swapper)
+{
+ GError *error = NULL;
+
+ RENDER_LOCK (swapper);
+ if (!swapper->current_buffer) {
+ RENDER_UNLOCK (swapper);
+ return;
+ }
+
+ /* TODO: perform some rate limiting of the number of redraw events */
+ if (!_render_buffer_unlocked (swapper, swapper->current_buffer, &error))
+ GST_ERROR_OBJECT (swapper, "Failed to redraw buffer %p %s",
+ swapper->current_buffer, error->message);
+ RENDER_UNLOCK (swapper);
+}
diff --git a/ext/vulkan/vkswapper.h b/ext/vulkan/vkswapper.h
new file mode 100644
index 0000000..0486036
--- /dev/null
+++ b/ext/vulkan/vkswapper.h
@@ -0,0 +1,104 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _VK_SWAPPER_H_
+#define _VK_SWAPPER_H_
+
+#include <gst/video/video.h>
+
+#include <vk.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_VULKAN_SWAPPER (gst_vulkan_swapper_get_type())
+#define GST_VULKAN_SWAPPER(o) (G_TYPE_CHECK_INSTANCE_CAST((o), GST_TYPE_VULKAN_SWAPPER, GstVulkanSwapper))
+#define GST_VULKAN_SWAPPER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GST_TYPE_VULKAN_SWAPPER, GstVulkanSwapperClass))
+#define GST_IS_VULKAN_SWAPPER(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GST_TYPE_VULKAN_SWAPPER))
+#define GST_IS_VULKAN_SWAPPER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE((k), GST_TYPE_VULKAN_SWAPPER))
+#define GST_VULKAN_SWAPPER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), GST_TYPE_VULKAN_SWAPPER, GstVulkanSwapperClass))
+GType gst_vulkan_swapper_get_type (void);
+
+#define GST_VULKAN_SWAPPER_VIDEO_FORMATS " { RGBA, BGRA, RGB, BGR } "
+
+struct _GstVulkanSwapper
+{
+ GstObject parent;
+
+ GstVulkanDevice *device;
+ GstVulkanWindow *window;
+ GstVulkanQueue *queue;
+
+ VkSurfaceKHR surface;
+
+ VkSurfaceCapabilitiesKHR surf_props;
+ VkSurfaceFormatKHR *surf_formats;
+ guint32 n_surf_formats;
+ VkPresentModeKHR *surf_present_modes;
+ guint32 n_surf_present_modes;
+
+ VkSwapchainKHR swap_chain;
+ GstVulkanImageMemory **swap_chain_images;
+ guint32 n_swap_chain_images;
+
+ GstCaps *caps;
+ GstVideoInfo v_info;
+
+ PFN_vkGetPhysicalDeviceSurfaceSupportKHR GetPhysicalDeviceSurfaceSupportKHR;
+ PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR GetPhysicalDeviceSurfaceCapabilitiesKHR;
+ PFN_vkGetPhysicalDeviceSurfaceFormatsKHR GetPhysicalDeviceSurfaceFormatsKHR;
+ PFN_vkGetPhysicalDeviceSurfacePresentModesKHR GetPhysicalDeviceSurfacePresentModesKHR;
+ PFN_vkCreateSwapchainKHR CreateSwapchainKHR;
+ PFN_vkDestroySwapchainKHR DestroySwapchainKHR;
+ PFN_vkGetSwapchainImagesKHR GetSwapchainImagesKHR;
+ PFN_vkAcquireNextImageKHR AcquireNextImageKHR;
+ PFN_vkQueuePresentKHR QueuePresentKHR;
+
+ /* <private> */
+ /* runtime variables */
+ gint to_quit;
+ GstBuffer *current_buffer;
+
+ /* signal handlers */
+ gulong close_id;
+ gulong draw_id;
+
+ GstVulkanSwapperPrivate *priv;
+};
+
+struct _GstVulkanSwapperClass
+{
+ GstObjectClass parent_class;
+};
+
+GstVulkanSwapper * gst_vulkan_swapper_new (GstVulkanDevice * device,
+ GstVulkanWindow * window);
+
+GstCaps * gst_vulkan_swapper_get_supported_caps (GstVulkanSwapper * swapper,
+ GError ** error);
+gboolean gst_vulkan_swapper_set_caps (GstVulkanSwapper * swapper,
+ GstCaps * caps,
+ GError ** error);
+gboolean gst_vulkan_swapper_render_buffer (GstVulkanSwapper * swapper,
+ GstBuffer * buffer,
+ GError ** error);
+
+G_END_DECLS
+
+#endif /* _VK_INSTANCE_H_ */
diff --git a/ext/vulkan/vkupload.c b/ext/vulkan/vkupload.c
new file mode 100644
index 0000000..95c36cf
--- /dev/null
+++ b/ext/vulkan/vkupload.c
@@ -0,0 +1,829 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * SECTION:element-vulkanupload
+ *
+ * vulkanupload uploads data into Vulkan memory objects.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <string.h>
+
+#include "vkupload.h"
+
+GST_DEBUG_CATEGORY (gst_debug_vulkan_upload);
+#define GST_CAT_DEFAULT gst_debug_vulkan_upload
+
+static GstCaps *
+_set_caps_features_with_passthrough (const GstCaps * caps,
+ const gchar * feature_name, GstCapsFeatures * passthrough)
+{
+ guint i, j, m, n;
+ GstCaps *tmp;
+
+ tmp = gst_caps_copy (caps);
+
+ n = gst_caps_get_size (caps);
+ for (i = 0; i < n; i++) {
+ GstCapsFeatures *features, *orig_features;
+
+ orig_features = gst_caps_get_features (caps, i);
+ features = gst_caps_features_new (feature_name, NULL);
+
+ m = gst_caps_features_get_size (orig_features);
+ for (j = 0; j < m; j++) {
+ const gchar *feature = gst_caps_features_get_nth (orig_features, j);
+
+ /* if we already have the features */
+ if (gst_caps_features_contains (features, feature))
+ continue;
+
+ if (g_strcmp0 (feature, GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY) == 0)
+ continue;
+
+ if (passthrough && gst_caps_features_contains (passthrough, feature)) {
+ gst_caps_features_add (features, feature);
+ }
+ }
+
+ gst_caps_set_features (tmp, i, features);
+ }
+
+ return tmp;
+}
+
+struct BufferUpload
+{
+ GstVulkanUpload *upload;
+};
+
+static gpointer
+_buffer_new_impl (GstVulkanUpload * upload)
+{
+ struct BufferUpload *raw = g_new0 (struct BufferUpload, 1);
+
+ raw->upload = upload;
+
+ return raw;
+}
+
+static GstCaps *
+_buffer_transform_caps (gpointer impl, GstPadDirection direction,
+ GstCaps * caps)
+{
+ return gst_caps_ref (caps);
+}
+
+static gboolean
+_buffer_set_caps (gpointer impl, GstCaps * in_caps, GstCaps * out_caps)
+{
+ return TRUE;
+}
+
+static void
+_buffer_propose_allocation (gpointer impl, GstQuery * decide_query,
+ GstQuery * query)
+{
+ struct BufferUpload *raw = impl;
+ gboolean need_pool;
+ GstCaps *caps;
+ guint size;
+
+ gst_query_parse_allocation (query, &caps, &need_pool);
+
+ if (caps == NULL)
+ return;
+
+ if (need_pool) {
+ GstBufferPool *pool;
+ GstStructure *config;
+ GstVideoInfo info;
+
+ if (!gst_video_info_from_caps (&info, caps))
+ return;
+
+ /* the normal size of a frame */
+ size = info.size;
+
+ pool = gst_vulkan_buffer_pool_new (raw->upload->device);
+
+ config = gst_buffer_pool_get_config (pool);
+ gst_buffer_pool_config_set_params (config, caps, size, 0, 0);
+
+ if (!gst_buffer_pool_set_config (pool, config)) {
+ g_object_unref (pool);
+ return;
+ }
+
+ gst_query_add_allocation_pool (query, pool, size, 1, 0);
+ g_object_unref (pool);
+ }
+
+ return;
+}
+
+static GstFlowReturn
+_buffer_perform (gpointer impl, GstBuffer * inbuf, GstBuffer ** outbuf)
+{
+ if (!gst_is_vulkan_buffer_memory (gst_buffer_peek_memory (inbuf, 0)))
+ return GST_FLOW_ERROR;
+
+ *outbuf = inbuf;
+
+ return GST_FLOW_OK;
+}
+
+static void
+_buffer_free (gpointer impl)
+{
+ g_free (impl);
+}
+
+static GstStaticCaps _buffer_in_templ =
+GST_STATIC_CAPS ("video/x-raw(" GST_CAPS_FEATURE_MEMORY_VULKAN_BUFFER ")");
+static GstStaticCaps _buffer_out_templ =
+GST_STATIC_CAPS ("video/x-raw(" GST_CAPS_FEATURE_MEMORY_VULKAN_BUFFER ")");
+
+static const struct UploadMethod buffer_upload = {
+ "VulkanBuffer",
+ &_buffer_in_templ,
+ &_buffer_out_templ,
+ _buffer_new_impl,
+ _buffer_transform_caps,
+ _buffer_set_caps,
+ _buffer_propose_allocation,
+ _buffer_perform,
+ _buffer_free,
+};
+
+struct RawToBufferUpload
+{
+ GstVulkanUpload *upload;
+
+ GstVideoInfo in_info;
+ GstVideoInfo out_info;
+
+ GstBufferPool *pool;
+ gboolean pool_active;
+
+ gsize alloc_sizes[GST_VIDEO_MAX_PLANES];
+};
+
+static gpointer
+_raw_to_buffer_new_impl (GstVulkanUpload * upload)
+{
+ struct RawToBufferUpload *raw = g_new0 (struct RawToBufferUpload, 1);
+
+ raw->upload = upload;
+
+ return raw;
+}
+
+static GstCaps *
+_raw_to_buffer_transform_caps (gpointer impl, GstPadDirection direction,
+ GstCaps * caps)
+{
+ GstCaps *ret;
+
+ if (direction == GST_PAD_SINK) {
+ ret =
+ _set_caps_features_with_passthrough (caps,
+ GST_CAPS_FEATURE_MEMORY_VULKAN_BUFFER, NULL);
+ } else {
+ ret =
+ _set_caps_features_with_passthrough (caps,
+ GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY, NULL);
+ }
+
+ return ret;
+}
+
+static gboolean
+_raw_to_buffer_set_caps (gpointer impl, GstCaps * in_caps, GstCaps * out_caps)
+{
+ struct RawToBufferUpload *raw = impl;
+ guint out_width, out_height;
+ guint i;
+
+ if (!gst_video_info_from_caps (&raw->in_info, in_caps))
+ return FALSE;
+
+ if (!gst_video_info_from_caps (&raw->out_info, out_caps))
+ return FALSE;
+
+ out_width = GST_VIDEO_INFO_WIDTH (&raw->out_info);
+ out_height = GST_VIDEO_INFO_HEIGHT (&raw->out_info);
+
+ for (i = 0; i < GST_VIDEO_INFO_N_PLANES (&raw->out_info); i++) {
+ GstVideoFormat v_format = GST_VIDEO_INFO_FORMAT (&raw->out_info);
+ GstVulkanImageMemory *img_mem;
+ VkFormat vk_format;
+
+ vk_format = gst_vulkan_format_from_video_format (v_format, i);
+
+ img_mem = (GstVulkanImageMemory *)
+ gst_vulkan_image_memory_alloc (raw->upload->device, vk_format,
+ out_width, out_height, VK_IMAGE_TILING_OPTIMAL,
+ VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT,
+ VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT);
+
+ raw->alloc_sizes[i] = img_mem->requirements.size;
+
+ gst_memory_unref (GST_MEMORY_CAST (img_mem));
+ }
+
+ return TRUE;
+}
+
+static void
+_raw_to_buffer_propose_allocation (gpointer impl, GstQuery * decide_query,
+ GstQuery * query)
+{
+ /* a little trickery with the impl pointer */
+ _buffer_propose_allocation (impl, decide_query, query);
+}
+
+static GstFlowReturn
+_raw_to_buffer_perform (gpointer impl, GstBuffer * inbuf, GstBuffer ** outbuf)
+{
+ struct RawToBufferUpload *raw = impl;
+ GstVideoFrame v_frame;
+ GstFlowReturn ret;
+ guint i;
+
+ if (!raw->pool) {
+ GstStructure *config;
+ guint min = 0, max = 0;
+ gsize size = 1;
+
+ raw->pool = gst_vulkan_buffer_pool_new (raw->upload->device);
+ config = gst_buffer_pool_get_config (raw->pool);
+ gst_buffer_pool_config_set_params (config, raw->upload->out_caps, size, min,
+ max);
+ gst_buffer_pool_set_config (raw->pool, config);
+ }
+ if (!raw->pool_active) {
+ gst_buffer_pool_set_active (raw->pool, TRUE);
+ raw->pool_active = TRUE;
+ }
+
+ if ((ret =
+ gst_buffer_pool_acquire_buffer (raw->pool, outbuf,
+ NULL)) != GST_FLOW_OK)
+ goto out;
+
+ if (!gst_video_frame_map (&v_frame, &raw->in_info, inbuf, GST_MAP_READ)) {
+ GST_ELEMENT_ERROR (raw->upload, RESOURCE, NOT_FOUND,
+ ("%s", "Failed to map input buffer"), NULL);
+ return GST_FLOW_ERROR;
+ }
+
+ for (i = 0; i < GST_VIDEO_INFO_N_PLANES (&raw->out_info); i++) {
+ GstMapInfo map_info;
+ gsize plane_size;
+ GstMemory *mem;
+
+ mem = gst_buffer_peek_memory (*outbuf, i);
+ if (!gst_memory_map (GST_MEMORY_CAST (mem), &map_info, GST_MAP_WRITE)) {
+ GST_ELEMENT_ERROR (raw->upload, RESOURCE, NOT_FOUND,
+ ("%s", "Failed to map output memory"), NULL);
+ gst_buffer_unref (*outbuf);
+ *outbuf = NULL;
+ ret = GST_FLOW_ERROR;
+ goto out;
+ }
+
+ plane_size =
+ GST_VIDEO_INFO_PLANE_STRIDE (&raw->out_info,
+ i) * GST_VIDEO_INFO_COMP_HEIGHT (&raw->out_info, i);
+ g_assert (plane_size < map_info.size);
+ memcpy (map_info.data, v_frame.data[i], plane_size);
+
+ gst_memory_unmap (GST_MEMORY_CAST (mem), &map_info);
+ }
+
+ gst_video_frame_unmap (&v_frame);
+
+ ret = GST_FLOW_OK;
+
+out:
+ return ret;
+}
+
+static void
+_raw_to_buffer_free (gpointer impl)
+{
+ struct RawToBufferUpload *raw = impl;
+
+ if (raw->pool) {
+ if (raw->pool_active) {
+ gst_buffer_pool_set_active (raw->pool, FALSE);
+ }
+ raw->pool_active = FALSE;
+ gst_object_unref (raw->pool);
+ raw->pool = NULL;
+ }
+
+ g_free (impl);
+}
+
+static GstStaticCaps _raw_to_buffer_in_templ = GST_STATIC_CAPS ("video/x-raw");
+static GstStaticCaps _raw_to_buffer_out_templ =
+GST_STATIC_CAPS ("video/x-raw(" GST_CAPS_FEATURE_MEMORY_VULKAN_BUFFER ")");
+
+static const struct UploadMethod raw_to_buffer_upload = {
+ "RawToVulkanBuffer",
+ &_raw_to_buffer_in_templ,
+ &_raw_to_buffer_out_templ,
+ _raw_to_buffer_new_impl,
+ _raw_to_buffer_transform_caps,
+ _raw_to_buffer_set_caps,
+ _raw_to_buffer_propose_allocation,
+ _raw_to_buffer_perform,
+ _raw_to_buffer_free,
+};
+
+static const struct UploadMethod *upload_methods[] = {
+ &buffer_upload,
+ &raw_to_buffer_upload,
+};
+
+static GstCaps *
+_get_input_template_caps (void)
+{
+ GstCaps *ret = NULL;
+ gint i;
+
+ /* FIXME: cache this and invalidate on changes to upload_methods */
+ for (i = 0; i < G_N_ELEMENTS (upload_methods); i++) {
+ GstCaps *template = gst_static_caps_get (upload_methods[i]->in_template);
+ ret = ret == NULL ? template : gst_caps_merge (ret, template);
+ }
+
+ ret = gst_caps_simplify (ret);
+
+ return ret;
+}
+
+static GstCaps *
+_get_output_template_caps (void)
+{
+ GstCaps *ret = NULL;
+ gint i;
+
+ /* FIXME: cache this and invalidate on changes to upload_methods */
+ for (i = 0; i < G_N_ELEMENTS (upload_methods); i++) {
+ GstCaps *template = gst_static_caps_get (upload_methods[i]->out_template);
+ ret = ret == NULL ? template : gst_caps_merge (ret, template);
+ }
+
+ ret = gst_caps_simplify (ret);
+
+ return ret;
+}
+
+static void gst_vulkan_upload_finalize (GObject * object);
+static void gst_vulkan_upload_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * param_spec);
+static void gst_vulkan_upload_get_property (GObject * object, guint prop_id,
+ GValue * value, GParamSpec * param_spec);
+
+static gboolean gst_vulkan_upload_query (GstBaseTransform * bt,
+ GstPadDirection direction, GstQuery * query);
+static void gst_vulkan_upload_set_context (GstElement * element,
+ GstContext * context);
+static GstStateChangeReturn gst_vulkan_upload_change_state (GstElement *
+ element, GstStateChange transition);
+
+static gboolean gst_vulkan_upload_set_caps (GstBaseTransform * bt,
+ GstCaps * in_caps, GstCaps * out_caps);
+static GstCaps *gst_vulkan_upload_transform_caps (GstBaseTransform * bt,
+ GstPadDirection direction, GstCaps * caps, GstCaps * filter);
+static gboolean gst_vulkan_upload_propose_allocation (GstBaseTransform * bt,
+ GstQuery * decide_query, GstQuery * query);
+static gboolean gst_vulkan_upload_decide_allocation (GstBaseTransform * bt,
+ GstQuery * query);
+static GstFlowReturn gst_vulkan_upload_transform (GstBaseTransform * bt,
+ GstBuffer * inbuf, GstBuffer * outbuf);
+static GstFlowReturn gst_vulkan_upload_prepare_output_buffer (GstBaseTransform *
+ bt, GstBuffer * inbuf, GstBuffer ** outbuf);
+
+enum
+{
+ PROP_0,
+};
+
+enum
+{
+ SIGNAL_0,
+ LAST_SIGNAL
+};
+
+/* static guint gst_vulkan_upload_signals[LAST_SIGNAL] = { 0 }; */
+
+#define gst_vulkan_upload_parent_class parent_class
+G_DEFINE_TYPE_WITH_CODE (GstVulkanUpload, gst_vulkan_upload,
+ GST_TYPE_BASE_TRANSFORM, GST_DEBUG_CATEGORY_INIT (gst_debug_vulkan_upload,
+ "vulkanupload", 0, "Vulkan Uploader"));
+
+static void
+gst_vulkan_upload_class_init (GstVulkanUploadClass * klass)
+{
+ GObjectClass *gobject_class;
+ GstElementClass *gstelement_class;
+ GstBaseTransformClass *gstbasetransform_class;
+
+ gobject_class = (GObjectClass *) klass;
+ gstelement_class = (GstElementClass *) klass;
+ gstbasetransform_class = (GstBaseTransformClass *) klass;
+
+ gobject_class->set_property = gst_vulkan_upload_set_property;
+ gobject_class->get_property = gst_vulkan_upload_get_property;
+
+ gst_element_class_set_metadata (gstelement_class, "Vulkan Uploader",
+ "Filter/Video", "A Vulkan data uploader",
+ "Matthew Waters <matthew@centricular.com>");
+
+ {
+ GstCaps *caps;
+
+ caps = _get_input_template_caps ();
+ gst_element_class_add_pad_template (gstelement_class,
+ gst_pad_template_new ("sink", GST_PAD_SINK, GST_PAD_ALWAYS, caps));
+ gst_caps_unref (caps);
+
+ caps = _get_output_template_caps ();
+ gst_element_class_add_pad_template (gstelement_class,
+ gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS, caps));
+ gst_caps_unref (caps);
+ }
+
+ gobject_class->finalize = gst_vulkan_upload_finalize;
+
+ gstelement_class->change_state = gst_vulkan_upload_change_state;
+ gstelement_class->set_context = gst_vulkan_upload_set_context;
+ gstbasetransform_class->query = GST_DEBUG_FUNCPTR (gst_vulkan_upload_query);
+ gstbasetransform_class->set_caps = gst_vulkan_upload_set_caps;
+ gstbasetransform_class->transform_caps = gst_vulkan_upload_transform_caps;
+ gstbasetransform_class->propose_allocation =
+ gst_vulkan_upload_propose_allocation;
+ gstbasetransform_class->decide_allocation =
+ gst_vulkan_upload_decide_allocation;
+ gstbasetransform_class->transform = gst_vulkan_upload_transform;
+ gstbasetransform_class->prepare_output_buffer =
+ gst_vulkan_upload_prepare_output_buffer;
+}
+
+static void
+gst_vulkan_upload_init (GstVulkanUpload * vk_upload)
+{
+ guint i, n;
+
+ n = G_N_ELEMENTS (upload_methods);
+ vk_upload->upload_impls = g_malloc (sizeof (gpointer) * n);
+ for (i = 0; i < n; i++) {
+ vk_upload->upload_impls[i] = upload_methods[i]->new_impl (vk_upload);
+ }
+}
+
+static void
+gst_vulkan_upload_finalize (GObject * object)
+{
+ GstVulkanUpload *vk_upload = GST_VULKAN_UPLOAD (object);
+ guint i;
+
+ gst_caps_replace (&vk_upload->in_caps, NULL);
+ gst_caps_replace (&vk_upload->out_caps, NULL);
+
+ for (i = 0; i < G_N_ELEMENTS (upload_methods); i++) {
+ upload_methods[i]->free (vk_upload->upload_impls[i]);
+ }
+
+ G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+static void
+gst_vulkan_upload_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * pspec)
+{
+// GstVulkanUpload *vk_upload = GST_VULKAN_UPLOAD (object);
+
+ switch (prop_id) {
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gst_vulkan_upload_get_property (GObject * object, guint prop_id,
+ GValue * value, GParamSpec * pspec)
+{
+// GstVulkanUpload *vk_upload = GST_VULKAN_UPLOAD (object);
+
+ switch (prop_id) {
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static gboolean
+gst_vulkan_upload_query (GstBaseTransform * bt, GstPadDirection direction,
+ GstQuery * query)
+{
+ GstVulkanUpload *vk_upload = GST_VULKAN_UPLOAD (bt);
+ gboolean res = FALSE;
+
+ switch (GST_QUERY_TYPE (query)) {
+ case GST_QUERY_CONTEXT:{
+ res = gst_vulkan_handle_context_query (GST_ELEMENT (vk_upload), query,
+ &vk_upload->display, &vk_upload->instance, &vk_upload->device);
+
+ if (res)
+ return res;
+ break;
+ }
+ default:
+ break;
+ }
+
+ return GST_BASE_TRANSFORM_CLASS (parent_class)->query (bt, direction, query);
+}
+
+static void
+gst_vulkan_upload_set_context (GstElement * element, GstContext * context)
+{
+ GstVulkanUpload *vk_upload = GST_VULKAN_UPLOAD (element);
+
+ gst_vulkan_handle_set_context (element, context, &vk_upload->display,
+ &vk_upload->instance);
+
+ GST_ELEMENT_CLASS (parent_class)->set_context (element, context);
+}
+
+static GstStateChangeReturn
+gst_vulkan_upload_change_state (GstElement * element, GstStateChange transition)
+{
+ GstVulkanUpload *vk_upload = GST_VULKAN_UPLOAD (element);
+ GstStateChangeReturn ret = GST_STATE_CHANGE_SUCCESS;
+
+ GST_DEBUG ("changing state: %s => %s",
+ gst_element_state_get_name (GST_STATE_TRANSITION_CURRENT (transition)),
+ gst_element_state_get_name (GST_STATE_TRANSITION_NEXT (transition)));
+
+ switch (transition) {
+ case GST_STATE_CHANGE_NULL_TO_READY:
+ break;
+ case GST_STATE_CHANGE_READY_TO_PAUSED:
+ if (!gst_vulkan_ensure_element_data (element, &vk_upload->display,
+ &vk_upload->instance)) {
+ GST_ELEMENT_ERROR (vk_upload, RESOURCE, NOT_FOUND,
+ ("Failed to retreive vulkan instance/display"), (NULL));
+ return GST_STATE_CHANGE_FAILURE;
+ }
+ if (!gst_vulkan_device_run_context_query (GST_ELEMENT (vk_upload),
+ &vk_upload->device)) {
+ GST_ELEMENT_ERROR (vk_upload, RESOURCE, NOT_FOUND,
+ ("Failed to retreive vulkan device"), (NULL));
+ return GST_STATE_CHANGE_FAILURE;
+ }
+ break;
+ case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
+ break;
+ default:
+ break;
+ }
+
+ ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
+ if (ret == GST_STATE_CHANGE_FAILURE)
+ return ret;
+
+ switch (transition) {
+ case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
+ break;
+ case GST_STATE_CHANGE_PAUSED_TO_READY:
+ if (vk_upload->display)
+ gst_object_unref (vk_upload->display);
+ vk_upload->display = NULL;
+ if (vk_upload->device)
+ gst_object_unref (vk_upload->device);
+ vk_upload->device = NULL;
+ if (vk_upload->instance)
+ gst_object_unref (vk_upload->instance);
+ vk_upload->instance = NULL;
+ break;
+ case GST_STATE_CHANGE_READY_TO_NULL:
+ break;
+ default:
+ break;
+ }
+
+ return ret;
+}
+
+static GstCaps *
+gst_vulkan_upload_transform_caps (GstBaseTransform * bt,
+ GstPadDirection direction, GstCaps * caps, GstCaps * filter)
+{
+ GstVulkanUpload *vk_upload = GST_VULKAN_UPLOAD (bt);
+ GstCaps *result, *tmp;
+ gint i;
+
+ tmp = gst_caps_new_empty ();
+
+ for (i = 0; i < G_N_ELEMENTS (upload_methods); i++) {
+ GstCaps *tmp2;
+ GstCaps *templ;
+
+ if (direction == GST_PAD_SINK) {
+ templ = gst_static_caps_get (upload_methods[i]->in_template);
+ } else {
+ templ = gst_static_caps_get (upload_methods[i]->out_template);
+ }
+ if (!gst_caps_can_intersect (caps, templ)) {
+ gst_caps_unref (templ);
+ continue;
+ }
+ gst_caps_unref (templ);
+
+ tmp2 = upload_methods[i]->transform_caps (vk_upload->upload_impls[i],
+ direction, caps);
+
+ if (tmp2)
+ tmp = gst_caps_merge (tmp, tmp2);
+ }
+
+ if (filter) {
+ result = gst_caps_intersect_full (filter, tmp, GST_CAPS_INTERSECT_FIRST);
+ gst_caps_unref (tmp);
+ } else {
+ result = tmp;
+ }
+
+ return result;
+}
+
+static gboolean
+gst_vulkan_upload_set_caps (GstBaseTransform * bt, GstCaps * in_caps,
+ GstCaps * out_caps)
+{
+ GstVulkanUpload *vk_upload = GST_VULKAN_UPLOAD (bt);
+ gboolean found_method = FALSE;
+ guint i;
+
+ gst_caps_replace (&vk_upload->in_caps, in_caps);
+ gst_caps_replace (&vk_upload->out_caps, out_caps);
+
+ for (i = 0; i < G_N_ELEMENTS (upload_methods); i++) {
+ GstCaps *templ;
+
+ templ = gst_static_caps_get (upload_methods[i]->in_template);
+ if (!gst_caps_can_intersect (in_caps, templ)) {
+ gst_caps_unref (templ);
+ continue;
+ }
+ gst_caps_unref (templ);
+
+ templ = gst_static_caps_get (upload_methods[i]->out_template);
+ if (!gst_caps_can_intersect (out_caps, templ)) {
+ gst_caps_unref (templ);
+ continue;
+ }
+ gst_caps_unref (templ);
+
+ if (!upload_methods[i]->set_caps (vk_upload->upload_impls[i], in_caps,
+ out_caps))
+ continue;
+
+ GST_LOG_OBJECT (bt, "uploader %s accepted caps in: %" GST_PTR_FORMAT
+ " out: %" GST_PTR_FORMAT, upload_methods[i]->name, in_caps, out_caps);
+
+ vk_upload->current_impl = i;
+ found_method = TRUE;
+ break;
+ }
+
+ GST_DEBUG_OBJECT (bt,
+ "set caps in: %" GST_PTR_FORMAT " out: %" GST_PTR_FORMAT, in_caps,
+ out_caps);
+
+ return found_method;
+}
+
+static gboolean
+gst_vulkan_upload_propose_allocation (GstBaseTransform * bt,
+ GstQuery * decide_query, GstQuery * query)
+{
+ GstVulkanUpload *vk_upload = GST_VULKAN_UPLOAD (bt);
+ guint i;
+
+ for (i = 0; i < G_N_ELEMENTS (upload_methods); i++) {
+ GstCaps *templ;
+
+ templ = gst_static_caps_get (upload_methods[i]->in_template);
+ if (!gst_caps_can_intersect (vk_upload->in_caps, templ)) {
+ gst_caps_unref (templ);
+ continue;
+ }
+ gst_caps_unref (templ);
+
+ templ = gst_static_caps_get (upload_methods[i]->out_template);
+ if (!gst_caps_can_intersect (vk_upload->out_caps, templ)) {
+ gst_caps_unref (templ);
+ continue;
+ }
+ gst_caps_unref (templ);
+
+ upload_methods[i]->propose_allocation (vk_upload->upload_impls[i],
+ decide_query, query);
+ }
+
+ return TRUE;
+}
+
+static gboolean
+gst_vulkan_upload_decide_allocation (GstBaseTransform * bt, GstQuery * query)
+{
+ return TRUE;
+}
+
+static gboolean
+_upload_find_method (GstVulkanUpload * vk_upload)
+{
+ vk_upload->current_impl++;
+
+ if (vk_upload->current_impl > G_N_ELEMENTS (upload_methods))
+ return FALSE;
+
+ GST_DEBUG_OBJECT (vk_upload, "attempting upload with uploader %s",
+ upload_methods[vk_upload->current_impl]->name);
+
+ return TRUE;
+}
+
+static GstFlowReturn
+gst_vulkan_upload_prepare_output_buffer (GstBaseTransform * bt,
+ GstBuffer * inbuf, GstBuffer ** outbuf)
+{
+ GstVulkanUpload *vk_upload = GST_VULKAN_UPLOAD (bt);
+ GstFlowReturn ret;
+
+ do {
+ gpointer method_impl;
+ const struct UploadMethod *method;
+
+ method = upload_methods[vk_upload->current_impl];
+ method_impl = vk_upload->upload_impls[vk_upload->current_impl];
+
+ ret = method->perform (method_impl, inbuf, outbuf);
+ if (ret != GST_FLOW_OK) {
+ do {
+ if (!_upload_find_method (vk_upload)) {
+ GST_ELEMENT_ERROR (bt, RESOURCE, NOT_FOUND,
+ ("Could not find suitable uploader"), (NULL));
+ return GST_FLOW_ERROR;
+ }
+
+ method = upload_methods[vk_upload->current_impl];
+ method_impl = vk_upload->upload_impls[vk_upload->current_impl];
+ if (!method->set_caps (method_impl, vk_upload->in_caps,
+ vk_upload->out_caps))
+ /* try the next method */
+ continue;
+ } while (FALSE);
+ /* try the uploading with the next method */
+ continue;
+ }
+ } while (FALSE);
+
+ return ret;
+}
+
+static GstFlowReturn
+gst_vulkan_upload_transform (GstBaseTransform * bt, GstBuffer * inbuf,
+ GstBuffer * outbuf)
+{
+ return GST_FLOW_OK;
+}
diff --git a/ext/vulkan/vkupload.h b/ext/vulkan/vkupload.h
new file mode 100644
index 0000000..8ea3d72
--- /dev/null
+++ b/ext/vulkan/vkupload.h
@@ -0,0 +1,88 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _VK_UPLOAD_H_
+#define _VK_UPLOAD_H_
+
+#include <gst/gst.h>
+#include <gst/video/video.h>
+#include <vk.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_VULKAN_UPLOAD (gst_vulkan_upload_get_type())
+#define GST_VULKAN_UPLOAD(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_VULKAN_UPLOAD,GstVulkanUpload))
+#define GST_VULKAN_UPLOAD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_VULKAN_UPLOAD,GstVulkanUploadClass))
+#define GST_IS_VULKAN_UPLOAD(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_VULKAN_UPLOAD))
+#define GST_IS_VULKAN_UPLOAD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_VULKAN_UPLOAD))
+
+typedef struct _GstVulkanUpload GstVulkanUpload;
+typedef struct _GstVulkanUploadClass GstVulkanUploadClass;
+
+struct UploadMethod
+{
+ const gchar *name;
+
+ GstStaticCaps *in_template;
+ GstStaticCaps *out_template;
+
+ gpointer (*new_impl) (GstVulkanUpload * upload);
+ GstCaps * (*transform_caps) (gpointer impl,
+ GstPadDirection direction,
+ GstCaps * caps);
+ gboolean (*set_caps) (gpointer impl,
+ GstCaps * in_caps,
+ GstCaps * out_caps);
+ void (*propose_allocation) (gpointer impl,
+ GstQuery * decide_query,
+ GstQuery * query);
+ GstFlowReturn (*perform) (gpointer impl,
+ GstBuffer * buffer,
+ GstBuffer ** outbuf);
+ void (*free) (gpointer impl);
+};
+
+struct _GstVulkanUpload
+{
+ GstBaseTransform parent;
+
+ GstVulkanInstance *instance;
+ GstVulkanDevice *device;
+
+ GstVulkanDisplay *display;
+
+ GstCaps *in_caps;
+ GstCaps *out_caps;
+
+ /* all impl pointers */
+ gpointer *upload_impls;
+ guint current_impl;
+};
+
+struct _GstVulkanUploadClass
+{
+ GstBaseTransformClass video_sink_class;
+};
+
+GType gst_vulkan_upload_get_type(void);
+
+G_END_DECLS
+
+#endif
diff --git a/ext/vulkan/vkutils.c b/ext/vulkan/vkutils.c
new file mode 100644
index 0000000..101f7d1
--- /dev/null
+++ b/ext/vulkan/vkutils.c
@@ -0,0 +1,324 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "vkutils.h"
+#include "vkutils_private.h"
+
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_CONTEXT);
+
+gboolean
+_check_for_all_layers (uint32_t check_count, const char **check_names,
+ uint32_t layer_count, VkLayerProperties * layers)
+{
+ uint32_t i, j;
+
+ for (i = 0; i < check_count; i++) {
+ gboolean found = FALSE;
+ for (j = 0; j < layer_count; j++) {
+ if (g_strcmp0 (check_names[i], layers[j].layerName) == 0) {
+ found = TRUE;
+ }
+ }
+ if (!found) {
+ GST_ERROR ("Cannot find layer: %s", check_names[i]);
+ return FALSE;
+ }
+ }
+ return TRUE;
+}
+
+static void
+_init_context_debug (void)
+{
+#ifndef GST_DISABLE_GST_DEBUG
+ static volatile gsize _init = 0;
+
+ if (g_once_init_enter (&_init)) {
+ GST_DEBUG_CATEGORY_GET (GST_CAT_CONTEXT, "GST_CONTEXT");
+ g_once_init_leave (&_init, 1);
+ }
+#endif
+}
+
+static gboolean
+_vk_pad_query (const GValue * item, GValue * value, gpointer user_data)
+{
+ GstPad *pad = g_value_get_object (item);
+ GstQuery *query = user_data;
+ gboolean res;
+
+ _init_context_debug ();
+
+ res = gst_pad_peer_query (pad, query);
+
+ if (res) {
+ g_value_set_boolean (value, TRUE);
+ return FALSE;
+ }
+
+ GST_CAT_INFO_OBJECT (GST_CAT_CONTEXT, pad, "pad peer query failed");
+ return TRUE;
+}
+
+gboolean
+gst_vulkan_run_query (GstElement * element, GstQuery * query,
+ GstPadDirection direction)
+{
+ GstIterator *it;
+ GstIteratorFoldFunction func = _vk_pad_query;
+ GValue res = { 0 };
+
+ g_value_init (&res, G_TYPE_BOOLEAN);
+ g_value_set_boolean (&res, FALSE);
+
+ /* Ask neighbor */
+ if (direction == GST_PAD_SRC)
+ it = gst_element_iterate_src_pads (element);
+ else
+ it = gst_element_iterate_sink_pads (element);
+
+ while (gst_iterator_fold (it, func, &res, query) == GST_ITERATOR_RESYNC)
+ gst_iterator_resync (it);
+
+ gst_iterator_free (it);
+
+ return g_value_get_boolean (&res);
+}
+
+void
+gst_vulkan_global_context_query (GstElement * element,
+ const gchar * context_type)
+{
+ GstQuery *query;
+ GstMessage *msg;
+
+ if ((query = gst_vulkan_local_context_query (element, context_type, TRUE))) {
+ gst_query_unref (query);
+ return;
+ }
+
+ /* 3) Post a GST_MESSAGE_NEED_CONTEXT message on the bus with
+ * the required context type and afterwards check if a
+ * usable context was set now as in 1). The message could
+ * be handled by the parent bins of the element and the
+ * application.
+ */
+ GST_CAT_INFO_OBJECT (GST_CAT_CONTEXT, element,
+ "posting need context message");
+ msg = gst_message_new_need_context (GST_OBJECT_CAST (element), context_type);
+ gst_element_post_message (element, msg);
+
+ /*
+ * Whomever responds to the need-context message performs a
+ * GstElement::set_context() with the required context in which the element
+ * is required to update the display_ptr or call gst_vulkan_handle_set_context().
+ */
+}
+
+GstQuery *
+gst_vulkan_local_context_query (GstElement * element,
+ const gchar * context_type, gboolean set_context)
+{
+ GstQuery *query;
+ GstContext *ctxt;
+
+ _init_context_debug ();
+
+ /* 2a) Query downstream with GST_QUERY_CONTEXT for the context and
+ * check if downstream already has a context of the specific type
+ * 2b) Query upstream as above.
+ */
+ query = gst_query_new_context (context_type);
+ if (gst_vulkan_run_query (element, query, GST_PAD_SRC)) {
+ gst_query_parse_context (query, &ctxt);
+ GST_CAT_INFO_OBJECT (GST_CAT_CONTEXT, element,
+ "found context (%p) in downstream query", ctxt);
+ if (set_context)
+ gst_element_set_context (element, ctxt);
+ } else if (gst_vulkan_run_query (element, query, GST_PAD_SINK)) {
+ gst_query_parse_context (query, &ctxt);
+ GST_CAT_INFO_OBJECT (GST_CAT_CONTEXT, element,
+ "found context (%p) in upstream query", ctxt);
+ if (set_context)
+ gst_element_set_context (element, ctxt);
+ } else {
+ gst_query_unref (query);
+ query = NULL;
+ }
+
+ return query;
+}
+
+static void
+_vk_display_context_query (GstElement * element,
+ GstVulkanDisplay ** display_ptr)
+{
+ gst_vulkan_global_context_query (element,
+ GST_VULKAN_DISPLAY_CONTEXT_TYPE_STR);
+}
+
+/* 4) Create a context by itself and post a GST_MESSAGE_HAVE_CONTEXT
+ * message.
+ */
+/*
+ * @element: (transfer none):
+ * @context: (transfer full):
+ */
+static void
+_vk_context_propagate (GstElement * element, GstContext * context)
+{
+ GstMessage *msg;
+
+ _init_context_debug ();
+
+ gst_element_set_context (element, context);
+
+ GST_CAT_INFO_OBJECT (GST_CAT_CONTEXT, element,
+ "posting have context (%" GST_PTR_FORMAT ") message", context);
+ msg = gst_message_new_have_context (GST_OBJECT_CAST (element), context);
+ gst_element_post_message (GST_ELEMENT_CAST (element), msg);
+}
+
+gboolean
+gst_vulkan_ensure_element_data (gpointer element,
+ GstVulkanDisplay ** display_ptr, GstVulkanInstance ** instance_ptr)
+{
+ g_return_val_if_fail (element != NULL, FALSE);
+ g_return_val_if_fail (display_ptr != NULL, FALSE);
+ g_return_val_if_fail (instance_ptr != NULL, FALSE);
+
+ /* 1) Check if the element already has a context of the specific
+ * type.
+ */
+ if (!*instance_ptr) {
+ GError *error = NULL;
+
+ gst_vulkan_global_context_query (element,
+ GST_VULKAN_INSTANCE_CONTEXT_TYPE_STR);
+
+ /* Neighbour found and it updated the display */
+ if (!*instance_ptr) {
+ GstContext *context;
+
+ /* If no neighboor, or application not interested, use system default */
+ *instance_ptr = gst_vulkan_instance_new ();
+
+ context = gst_context_new (GST_VULKAN_INSTANCE_CONTEXT_TYPE_STR, TRUE);
+ gst_context_set_vulkan_instance (context, *instance_ptr);
+
+ _vk_context_propagate (element, context);
+ }
+
+ if (!gst_vulkan_instance_open (*instance_ptr, &error)) {
+ GST_ELEMENT_ERROR (element, RESOURCE, NOT_FOUND,
+ ("Failed to create vulkan instance"), ("%s", error->message));
+ return FALSE;
+ }
+ }
+
+ if (!*display_ptr) {
+ _vk_display_context_query (element, display_ptr);
+
+ /* Neighbour found and it updated the display */
+ if (!*display_ptr) {
+ GstContext *context;
+
+ /* instance is required before the display */
+ g_return_val_if_fail (*instance_ptr != NULL, FALSE);
+
+ /* If no neighboor, or application not interested, use system default */
+ *display_ptr = gst_vulkan_display_new (*instance_ptr);
+
+ context = gst_context_new (GST_VULKAN_DISPLAY_CONTEXT_TYPE_STR, TRUE);
+ gst_context_set_vulkan_display (context, *display_ptr);
+
+ _vk_context_propagate (element, context);
+ }
+ }
+
+ return *display_ptr != NULL && *instance_ptr != NULL;
+}
+
+gboolean
+gst_vulkan_handle_set_context (GstElement * element, GstContext * context,
+ GstVulkanDisplay ** display, GstVulkanInstance ** instance)
+{
+ GstVulkanDisplay *display_replacement = NULL;
+ GstVulkanInstance *instance_replacement = NULL;
+ const gchar *context_type;
+
+ g_return_val_if_fail (display != NULL, FALSE);
+ g_return_val_if_fail (instance != NULL, FALSE);
+
+ if (!context)
+ return FALSE;
+
+ context_type = gst_context_get_context_type (context);
+
+ if (g_strcmp0 (context_type, GST_VULKAN_DISPLAY_CONTEXT_TYPE_STR) == 0) {
+ if (!gst_context_get_vulkan_display (context, &display_replacement)) {
+ GST_WARNING_OBJECT (element, "Failed to get display from context");
+ return FALSE;
+ }
+ } else if (g_strcmp0 (context_type,
+ GST_VULKAN_INSTANCE_CONTEXT_TYPE_STR) == 0) {
+ if (!gst_context_get_vulkan_instance (context, &instance_replacement)) {
+ GST_WARNING_OBJECT (element, "Failed to get instance from context");
+ return FALSE;
+ }
+ }
+
+ if (display_replacement) {
+ GstVulkanDisplay *old = *display;
+ *display = display_replacement;
+
+ if (old)
+ gst_object_unref (old);
+ }
+
+ if (instance_replacement) {
+ GstVulkanInstance *old = *instance;
+ *instance = instance_replacement;
+
+ if (old)
+ gst_object_unref (old);
+ }
+
+ return TRUE;
+}
+
+gboolean
+gst_vulkan_handle_context_query (GstElement * element, GstQuery * query,
+ GstVulkanDisplay ** display, GstVulkanInstance ** instance,
+ GstVulkanDevice ** device)
+{
+ if (gst_vulkan_display_handle_context_query (element, query, display))
+ return TRUE;
+ if (gst_vulkan_instance_handle_context_query (element, query, instance))
+ return TRUE;
+ if (gst_vulkan_device_handle_context_query (element, query, device))
+ return TRUE;
+
+ return FALSE;
+}
diff --git a/ext/vulkan/vkutils.h b/ext/vulkan/vkutils.h
new file mode 100644
index 0000000..04f6395
--- /dev/null
+++ b/ext/vulkan/vkutils.h
@@ -0,0 +1,42 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+#ifndef _VK_UTILS_H_
+#define _VK_UTILS_H_
+
+#include <gst/gst.h>
+#include <vk.h>
+
+G_BEGIN_DECLS
+
+gboolean gst_vulkan_ensure_element_data (gpointer element,
+ GstVulkanDisplay **display_ptr, GstVulkanInstance ** instance_ptr);
+gboolean gst_vulkan_handle_set_context (GstElement * element, GstContext * context,
+ GstVulkanDisplay ** display, GstVulkanInstance ** instance);
+gboolean gst_vulkan_handle_context_query (GstElement * element, GstQuery * query,
+ GstVulkanDisplay ** display, GstVulkanInstance ** instance, GstVulkanDevice ** device);
+
+void gst_vulkan_global_context_query (GstElement * element, const gchar * context_type);
+GstQuery * gst_vulkan_local_context_query (GstElement * element, const gchar * context_type, gboolean set_context);
+gboolean gst_vulkan_run_query (GstElement * element,
+ GstQuery * query, GstPadDirection direction);
+
+G_END_DECLS
+
+#endif /*_VK_UTILS_H_ */
diff --git a/ext/vulkan/vkutils_private.h b/ext/vulkan/vkutils_private.h
new file mode 100644
index 0000000..aebf44b
--- /dev/null
+++ b/ext/vulkan/vkutils_private.h
@@ -0,0 +1,33 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+#ifndef _VK_UTILS_PRIVATE_H_
+#define _VK_UTILS_PRIVATE_H_
+
+#include <gst/gst.h>
+#include "vk.h"
+
+G_BEGIN_DECLS
+
+gboolean _check_for_all_layers (uint32_t check_count, const char ** check_names,
+ uint32_t layer_count, VkLayerProperties * layers);
+
+G_END_DECLS
+
+#endif /*_VK_UTILS_H_ */
diff --git a/ext/vulkan/vkwindow.c b/ext/vulkan/vkwindow.c
new file mode 100644
index 0000000..caa3c47
--- /dev/null
+++ b/ext/vulkan/vkwindow.c
@@ -0,0 +1,308 @@
+/*
+ * GStreamer
+ * Copyright (C) 2012 Matthew Waters <ystreet00@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * SECTION:gstglwindow
+ * @short_description: window/surface abstraction
+ * @title: GstVulkanWindow
+ * @see_also: #GstGLContext, #GstGLDisplay
+ *
+ * GstVulkanWindow represents a window that elements can render into. A window can
+ * either be a user visible window (onscreen) or hidden (offscreen).
+ */
+
+#if HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <gmodule.h>
+#include <stdio.h>
+
+#include "vkwindow.h"
+
+#if GST_VULKAN_HAVE_WINDOW_X11
+#include "x11/vkwindow_x11.h"
+#endif
+#if GST_VULKAN_HAVE_WINDOW_XCB
+#include "xcb/vkwindow_xcb.h"
+#endif
+
+#define GST_CAT_DEFAULT gst_vulkan_window_debug
+GST_DEBUG_CATEGORY (GST_CAT_DEFAULT);
+
+#define gst_vulkan_window_parent_class parent_class
+G_DEFINE_ABSTRACT_TYPE (GstVulkanWindow, gst_vulkan_window, GST_TYPE_OBJECT);
+
+#define GST_VULKAN_WINDOW_GET_PRIVATE(o) \
+ (G_TYPE_INSTANCE_GET_PRIVATE((o), GST_TYPE_VULKAN_WINDOW, GstVulkanWindowPrivate))
+
+struct _GstVulkanWindowPrivate
+{
+ guint surface_width;
+ guint surface_height;
+};
+
+static void gst_vulkan_window_finalize (GObject * object);
+
+typedef struct _GstVulkanDummyWindow
+{
+ GstVulkanWindow parent;
+
+ guintptr handle;
+} GstVulkanDummyWindow;
+
+typedef struct _GstVulkanDummyWindowCass
+{
+ GstVulkanWindowClass parent;
+} GstVulkanDummyWindowClass;
+
+GstVulkanDummyWindow *gst_vulkan_dummy_window_new (void);
+
+enum
+{
+ SIGNAL_0,
+ SIGNAL_CLOSE,
+ SIGNAL_DRAW,
+ LAST_SIGNAL
+};
+
+static guint gst_vulkan_window_signals[LAST_SIGNAL] = { 0 };
+
+static gboolean
+_accum_logical_and (GSignalInvocationHint * ihint, GValue * return_accu,
+ const GValue * handler_return, gpointer data)
+{
+ gboolean val = g_value_get_boolean (handler_return);
+ gboolean val2 = g_value_get_boolean (return_accu);
+
+ g_value_set_boolean (return_accu, val && val2);
+
+ return TRUE;
+}
+
+GQuark
+gst_vulkan_window_error_quark (void)
+{
+ return g_quark_from_static_string ("gst-gl-window-error-quark");
+}
+
+static gboolean
+gst_vulkan_window_default_open (GstVulkanWindow * window, GError ** error)
+{
+ return TRUE;
+}
+
+static void
+gst_vulkan_window_default_close (GstVulkanWindow * window)
+{
+}
+
+static void
+_init_debug (void)
+{
+ static volatile gsize _init = 0;
+
+ if (g_once_init_enter (&_init)) {
+ GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "vulkanwindow", 0,
+ "Vulkan Window");
+ g_once_init_leave (&_init, 1);
+ }
+}
+
+static void
+gst_vulkan_window_init (GstVulkanWindow * window)
+{
+ window->priv =
+ G_TYPE_INSTANCE_GET_PRIVATE (window, GST_TYPE_VULKAN_WINDOW,
+ GstVulkanWindowPrivate);
+}
+
+static void
+gst_vulkan_window_class_init (GstVulkanWindowClass * klass)
+{
+ g_type_class_add_private (klass, sizeof (GstVulkanWindowPrivate));
+
+ klass->open = GST_DEBUG_FUNCPTR (gst_vulkan_window_default_open);
+ klass->close = GST_DEBUG_FUNCPTR (gst_vulkan_window_default_close);
+
+ gst_vulkan_window_signals[SIGNAL_CLOSE] =
+ g_signal_new ("close", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, 0,
+ (GSignalAccumulator) _accum_logical_and, NULL, NULL, G_TYPE_BOOLEAN, 0);
+
+ gst_vulkan_window_signals[SIGNAL_DRAW] =
+ g_signal_new ("draw", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, 0,
+ NULL, NULL, NULL, G_TYPE_NONE, 0);
+
+ G_OBJECT_CLASS (klass)->finalize = gst_vulkan_window_finalize;
+
+ _init_debug ();
+}
+
+/**
+ * gst_vulkan_window_new:
+ * @display: a #GstGLDisplay
+ *
+ * Returns: (transfer full): a new #GstVulkanWindow using @display's connection
+ *
+ * Since: 1.10
+ */
+GstVulkanWindow *
+gst_vulkan_window_new (GstVulkanDisplay * display)
+{
+ GstVulkanWindow *window = NULL;
+ const gchar *user_choice;
+
+ g_return_val_if_fail (display != NULL, NULL);
+
+ _init_debug ();
+
+ user_choice = g_getenv ("GST_VULKAN_WINDOW");
+ GST_INFO ("creating a window, user choice:%s", user_choice);
+#if GST_VULKAN_HAVE_WINDOW_X11
+ if (!window && (!user_choice || g_strstr_len (user_choice, 3, "x11")))
+ window = GST_VULKAN_WINDOW (gst_vulkan_window_x11_new (display));
+#endif
+#if GST_VULKAN_HAVE_WINDOW_XCB
+ if (!window && (!user_choice || g_strstr_len (user_choice, 3, "xcb")))
+ window = GST_VULKAN_WINDOW (gst_vulkan_window_xcb_new (display));
+#endif
+ if (!window) {
+ /* subclass returned a NULL window */
+ GST_WARNING ("Could not create window. user specified %s, creating dummy"
+ " window", user_choice ? user_choice : "(null)");
+
+ window = GST_VULKAN_WINDOW (gst_vulkan_dummy_window_new ());
+ }
+
+ window->display = gst_object_ref (display);
+
+ return window;
+}
+
+static void
+gst_vulkan_window_finalize (GObject * object)
+{
+ GstVulkanWindow *window = GST_VULKAN_WINDOW (object);
+
+ gst_object_unref (window->display);
+
+ G_OBJECT_CLASS (gst_vulkan_window_parent_class)->finalize (object);
+}
+
+GstVulkanDisplay *
+gst_vulkan_window_get_display (GstVulkanWindow * window)
+{
+ g_return_val_if_fail (GST_IS_VULKAN_WINDOW (window), NULL);
+
+ return gst_object_ref (window->display);
+}
+
+VkSurfaceKHR
+gst_vulkan_window_get_surface (GstVulkanWindow * window, GError ** error)
+{
+ GstVulkanWindowClass *klass;
+
+ g_return_val_if_fail (GST_IS_VULKAN_WINDOW (window), NULL);
+ klass = GST_VULKAN_WINDOW_GET_CLASS (window);
+ g_return_val_if_fail (klass->get_surface != NULL, NULL);
+
+ return klass->get_surface (window, error);
+}
+
+gboolean
+gst_vulkan_window_get_presentation_support (GstVulkanWindow * window,
+ GstVulkanDevice * device, guint32 queue_family_idx)
+{
+ GstVulkanWindowClass *klass;
+
+ g_return_val_if_fail (GST_IS_VULKAN_WINDOW (window), FALSE);
+ klass = GST_VULKAN_WINDOW_GET_CLASS (window);
+ g_return_val_if_fail (klass->get_presentation_support != NULL, FALSE);
+
+ return klass->get_presentation_support (window, device, queue_family_idx);
+}
+
+gboolean
+gst_vulkan_window_open (GstVulkanWindow * window, GError ** error)
+{
+ GstVulkanWindowClass *klass;
+
+ g_return_val_if_fail (GST_IS_VULKAN_WINDOW (window), FALSE);
+ klass = GST_VULKAN_WINDOW_GET_CLASS (window);
+ g_return_val_if_fail (klass->open != NULL, FALSE);
+
+ return klass->open (window, error);
+}
+
+void
+gst_vulkan_window_close (GstVulkanWindow * window)
+{
+ GstVulkanWindowClass *klass;
+ gboolean to_close;
+
+ g_return_if_fail (GST_IS_VULKAN_WINDOW (window));
+ klass = GST_VULKAN_WINDOW_GET_CLASS (window);
+ g_return_if_fail (klass->close != NULL);
+
+ g_signal_emit (window, gst_vulkan_window_signals[SIGNAL_CLOSE], 0, &to_close);
+
+ if (to_close)
+ klass->close (window);
+}
+
+void
+gst_vulkan_window_resize (GstVulkanWindow * window, gint width, gint height)
+{
+ g_return_if_fail (GST_IS_VULKAN_WINDOW (window));
+
+ window->priv->surface_width = width;
+ window->priv->surface_height = height;
+
+ /* XXX: possibly queue a resize/redraw */
+}
+
+void
+gst_vulkan_window_redraw (GstVulkanWindow * window)
+{
+ g_return_if_fail (GST_IS_VULKAN_WINDOW (window));
+
+ g_signal_emit (window, gst_vulkan_window_signals[SIGNAL_DRAW], 0);
+}
+
+GType gst_vulkan_dummy_window_get_type (void);
+G_DEFINE_TYPE (GstVulkanDummyWindow, gst_vulkan_dummy_window,
+ GST_TYPE_VULKAN_WINDOW);
+
+static void
+gst_vulkan_dummy_window_class_init (GstVulkanDummyWindowClass * klass)
+{
+}
+
+static void
+gst_vulkan_dummy_window_init (GstVulkanDummyWindow * dummy)
+{
+ dummy->handle = 0;
+}
+
+GstVulkanDummyWindow *
+gst_vulkan_dummy_window_new (void)
+{
+ return g_object_new (gst_vulkan_dummy_window_get_type (), NULL);
+}
diff --git a/ext/vulkan/vkwindow.h b/ext/vulkan/vkwindow.h
new file mode 100644
index 0000000..58be80a
--- /dev/null
+++ b/ext/vulkan/vkwindow.h
@@ -0,0 +1,115 @@
+/*
+ * GStreamer
+ * Copyright (C) 2008 Julien Isorce <julien.isorce@gmail.com>
+ * Copyright (C) 2012 Matthew Waters <ystreet00@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_VULKAN_WINDOW_H__
+#define __GST_VULKAN_WINDOW_H__
+
+#include <gst/gst.h>
+
+#include <vk.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_VULKAN_WINDOW (gst_vulkan_window_get_type())
+#define GST_VULKAN_WINDOW(o) (G_TYPE_CHECK_INSTANCE_CAST((o), GST_TYPE_VULKAN_WINDOW, GstVulkanWindow))
+#define GST_VULKAN_WINDOW_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GST_TYPE_VULKAN_WINDOW, GstVulkanWindowClass))
+#define GST_IS_VULKAN_WINDOW(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GST_TYPE_VULKAN_WINDOW))
+#define GST_IS_VULKAN_WINDOW_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE((k), GST_TYPE_VULKAN_WINDOW))
+#define GST_VULKAN_WINDOW_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), GST_TYPE_VULKAN_WINDOW, GstVulkanWindowClass))
+GType gst_vulkan_window_get_type (void);
+
+#define GST_VULKAN_WINDOW_LOCK(w) g_mutex_lock(&GST_VULKAN_WINDOW(w)->lock)
+#define GST_VULKAN_WINDOW_UNLOCK(w) g_mutex_unlock(&GST_VULKAN_WINDOW(w)->lock)
+#define GST_VULKAN_WINDOW_GET_LOCK(w) (&GST_VULKAN_WINDOW(w)->lock)
+
+#define GST_VULKAN_WINDOW_ERROR (gst_vulkan_window_error_quark ())
+GQuark gst_vulkan_window_error_quark (void);
+
+typedef enum
+{
+ GST_VULKAN_WINDOW_ERROR_FAILED,
+ GST_VULKAN_WINDOW_ERROR_OLD_LIBS,
+ GST_VULKAN_WINDOW_ERROR_RESOURCE_UNAVAILABLE,
+} GstVulkanWindowError;
+
+/**
+ * GstVulkanWindow:
+ *
+ * #GstVulkanWindow is an opaque struct and should only be accessed through the
+ * provided api.
+ */
+struct _GstVulkanWindow {
+ /*< private >*/
+ GstObject parent;
+
+ GstVulkanDisplay *display;
+
+ GMutex lock;
+
+ GstVulkanWindowPrivate *priv;
+
+ gpointer _reserved[GST_PADDING];
+};
+
+/**
+ * GstVulkanWindowClass:
+ * @parent_class: Parent class
+ * @open: open the connection to the display
+ * @close: close the connection to the display
+ */
+struct _GstVulkanWindowClass {
+ GstObjectClass parent_class;
+
+ gboolean (*open) (GstVulkanWindow *window,
+ GError **error);
+ void (*close) (GstVulkanWindow *window);
+
+ VkSurfaceKHR (*get_surface) (GstVulkanWindow *window,
+ GError **error);
+ gboolean (*get_presentation_support) (GstVulkanWindow *window,
+ GstVulkanDevice *device,
+ guint32 queue_family_idx);
+
+ /*< private >*/
+ gpointer _reserved[GST_PADDING];
+};
+
+GstVulkanWindow * gst_vulkan_window_new (GstVulkanDisplay *display);
+
+GstVulkanDisplay * gst_vulkan_window_get_display (GstVulkanWindow *window);
+VkSurfaceKHR gst_vulkan_window_get_surface (GstVulkanWindow *window,
+ GError **error);
+gboolean gst_vulkan_window_get_presentation_support (GstVulkanWindow *window,
+ GstVulkanDevice *device,
+ guint32 queue_family_idx);
+
+gboolean gst_vulkan_window_open (GstVulkanWindow *window,
+ GError ** error);
+void gst_vulkan_window_close (GstVulkanWindow *window);
+
+void gst_vulkan_window_resize (GstVulkanWindow *window,
+ gint width,
+ gint height);
+void gst_vulkan_window_redraw (GstVulkanWindow *window);
+
+G_END_DECLS
+
+#endif /* __GST_VULKAN_WINDOW_H__ */
diff --git a/ext/vulkan/xcb/Makefile.am b/ext/vulkan/xcb/Makefile.am
new file mode 100644
index 0000000..7debcff
--- /dev/null
+++ b/ext/vulkan/xcb/Makefile.am
@@ -0,0 +1,29 @@
+## Process this file with automake to produce Makefile.in
+
+noinst_LTLIBRARIES = libgstvulkan-xcb.la
+
+libgstvulkan_xcb_la_SOURCES = \
+ vkdisplay_xcb.c \
+ vkwindow_xcb.c \
+ xcb_event_source.c
+
+noinst_HEADERS = \
+ vkdisplay_xcb.h \
+ vkwindow_xcb.h \
+ xcb_event_source.h
+
+libgstvulkan_xcb_la_CFLAGS = \
+ -I$(top_srcdir)/gst-libs \
+ -I$(top_srcdir)/ext/vulkan \
+ -I$(top_builddir)/gst-libs \
+ $(GST_PLUGINS_BASE_CFLAGS) \
+ $(GST_BASE_CFLAGS) \
+ $(GST_CFLAGS) \
+ $(XCB_CFLAGS)
+
+libgstvulkan_xcb_la_LIBADD = \
+ $(XCB_LIBS)
+
+libgstvulkan_xcb_la_LDFLAGS = \
+ $(GST_LIB_LDFLAGS) \
+ $(GST_ALL_LDFLAGS)
diff --git a/ext/mpg123/Makefile.in b/ext/vulkan/xcb/Makefile.in
similarity index 82%
copy from ext/mpg123/Makefile.in
copy to ext/vulkan/xcb/Makefile.in
index e0f8f27..2e9729f 100644
--- a/ext/mpg123/Makefile.in
+++ b/ext/vulkan/xcb/Makefile.in
@@ -90,7 +90,7 @@
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
-subdir = ext/mpg123
+subdir = ext/vulkan/xcb
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -134,49 +133,21 @@
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__installdirs = "$(DESTDIR)$(plugindir)"
-LTLIBRARIES = $(plugin_LTLIBRARIES)
+LTLIBRARIES = $(noinst_LTLIBRARIES)
am__DEPENDENCIES_1 =
-libgstmpg123_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1)
-am_libgstmpg123_la_OBJECTS = libgstmpg123_la-gstmpg123audiodec.lo
-libgstmpg123_la_OBJECTS = $(am_libgstmpg123_la_OBJECTS)
+libgstvulkan_xcb_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_libgstvulkan_xcb_la_OBJECTS = libgstvulkan_xcb_la-vkdisplay_xcb.lo \
+ libgstvulkan_xcb_la-vkwindow_xcb.lo \
+ libgstvulkan_xcb_la-xcb_event_source.lo
+libgstvulkan_xcb_la_OBJECTS = $(am_libgstvulkan_xcb_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
-libgstmpg123_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
- $(libgstmpg123_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
- $(CCLD) $(libgstmpg123_la_CFLAGS) $(CFLAGS) \
- $(libgstmpg123_la_LDFLAGS) $(LDFLAGS) -o $@
+libgstvulkan_xcb_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(libgstvulkan_xcb_la_CFLAGS) $(CFLAGS) \
+ $(libgstvulkan_xcb_la_LDFLAGS) $(LDFLAGS) -o $@
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
@@ -211,8 +182,8 @@
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
-SOURCES = $(libgstmpg123_la_SOURCES)
-DIST_SOURCES = $(libgstmpg123_la_SOURCES)
+SOURCES = $(libgstvulkan_xcb_la_SOURCES)
+DIST_SOURCES = $(libgstvulkan_xcb_la_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -324,7 +295,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +316,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +337,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +498,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +512,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +598,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +649,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +670,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +709,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -783,18 +748,33 @@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
wayland_scanner = @wayland_scanner@
-plugin_LTLIBRARIES = libgstmpg123.la
-libgstmpg123_la_SOURCES = gstmpg123audiodec.c
-libgstmpg123_la_CFLAGS = -DGST_USE_UNSTABLE_API \
+noinst_LTLIBRARIES = libgstvulkan-xcb.la
+libgstvulkan_xcb_la_SOURCES = \
+ vkdisplay_xcb.c \
+ vkwindow_xcb.c \
+ xcb_event_source.c
+
+noinst_HEADERS = \
+ vkdisplay_xcb.h \
+ vkwindow_xcb.h \
+ xcb_event_source.h
+
+libgstvulkan_xcb_la_CFLAGS = \
+ -I$(top_srcdir)/gst-libs \
+ -I$(top_srcdir)/ext/vulkan \
+ -I$(top_builddir)/gst-libs \
$(GST_PLUGINS_BASE_CFLAGS) \
- $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(MPG123_CFLAGS)
+ $(GST_BASE_CFLAGS) \
+ $(GST_CFLAGS) \
+ $(XCB_CFLAGS)
-libgstmpg123_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-@GST_API_VERSION@ \
- $(GST_BASE_LIBS) $(GST_LIBS) $(MPG123_LIBS)
+libgstvulkan_xcb_la_LIBADD = \
+ $(XCB_LIBS)
-libgstmpg123_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
-libgstmpg123_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
-noinst_HEADERS = gstmpg123audiodec.h
+libgstvulkan_xcb_la_LDFLAGS = \
+ $(GST_LIB_LDFLAGS) \
+ $(GST_ALL_LDFLAGS)
+
all: all-am
.SUFFIXES:
@@ -808,9 +788,9 @@
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ext/mpg123/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ext/vulkan/xcb/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu ext/mpg123/Makefile
+ $(AUTOMAKE) --gnu ext/vulkan/xcb/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -829,33 +809,9 @@
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
-install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(MKDIR_P) '$(DESTDIR)$(plugindir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(plugindir)" || exit 1; \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(plugindir)'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(plugindir)"; \
- }
-
-uninstall-pluginLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(plugindir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(plugindir)/$$f"; \
- done
-
-clean-pluginLTLIBRARIES:
- -test -z "$(plugin_LTLIBRARIES)" || rm -f $(plugin_LTLIBRARIES)
- @list='$(plugin_LTLIBRARIES)'; \
+clean-noinstLTLIBRARIES:
+ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+ @list='$(noinst_LTLIBRARIES)'; \
locs=`for p in $$list; do echo $$p; done | \
sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
sort -u`; \
@@ -864,8 +820,8 @@
rm -f $${locs}; \
}
-libgstmpg123.la: $(libgstmpg123_la_OBJECTS) $(libgstmpg123_la_DEPENDENCIES) $(EXTRA_libgstmpg123_la_DEPENDENCIES)
- $(AM_V_CCLD)$(libgstmpg123_la_LINK) -rpath $(plugindir) $(libgstmpg123_la_OBJECTS) $(libgstmpg123_la_LIBADD) $(LIBS)
+libgstvulkan-xcb.la: $(libgstvulkan_xcb_la_OBJECTS) $(libgstvulkan_xcb_la_DEPENDENCIES) $(EXTRA_libgstvulkan_xcb_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libgstvulkan_xcb_la_LINK) $(libgstvulkan_xcb_la_OBJECTS) $(libgstvulkan_xcb_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -873,7 +829,9 @@
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstmpg123_la-gstmpg123audiodec.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvulkan_xcb_la-vkdisplay_xcb.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvulkan_xcb_la-vkwindow_xcb.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstvulkan_xcb_la-xcb_event_source.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -899,12 +857,26 @@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-libgstmpg123_la-gstmpg123audiodec.lo: gstmpg123audiodec.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstmpg123_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstmpg123_la_CFLAGS) $(CFLAGS) -MT libgstmpg123_la-gstmpg123audiodec.lo -MD -MP -MF $(DEPDIR)/libgstmpg123_la-gstmpg123audiodec.Tpo -c -o libgstmpg123_la-gstmpg123audiodec.lo `test -f 'gstmpg123audiodec.c' || echo '$(srcdir)/'`gstmpg123audiodec.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstmpg123_la-gstmpg123audiodec.Tpo $(DEPDIR)/libgstmpg123_la-gstmpg123audiodec.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstmpg123audiodec.c' object='libgstmpg123_la-gstmpg123audiodec.lo' libtool=yes @AMDEPBACKSLASH@
+libgstvulkan_xcb_la-vkdisplay_xcb.lo: vkdisplay_xcb.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_xcb_la_CFLAGS) $(CFLAGS) -MT libgstvulkan_xcb_la-vkdisplay_xcb.lo -MD -MP -MF $(DEPDIR)/libgstvulkan_xcb_la-vkdisplay_xcb.Tpo -c -o libgstvulkan_xcb_la-vkdisplay_xcb.lo `test -f 'vkdisplay_xcb.c' || echo '$(srcdir)/'`vkdisplay_xcb.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstvulkan_xcb_la-vkdisplay_xcb.Tpo $(DEPDIR)/libgstvulkan_xcb_la-vkdisplay_xcb.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vkdisplay_xcb.c' object='libgstvulkan_xcb_la-vkdisplay_xcb.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 $(libgstmpg123_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstmpg123_la_CFLAGS) $(CFLAGS) -c -o libgstmpg123_la-gstmpg123audiodec.lo `test -f 'gstmpg123audiodec.c' || echo '$(srcdir)/'`gstmpg123audiodec.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_xcb_la_CFLAGS) $(CFLAGS) -c -o libgstvulkan_xcb_la-vkdisplay_xcb.lo `test -f 'vkdisplay_xcb.c' || echo '$(srcdir)/'`vkdisplay_xcb.c
+
+libgstvulkan_xcb_la-vkwindow_xcb.lo: vkwindow_xcb.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_xcb_la_CFLAGS) $(CFLAGS) -MT libgstvulkan_xcb_la-vkwindow_xcb.lo -MD -MP -MF $(DEPDIR)/libgstvulkan_xcb_la-vkwindow_xcb.Tpo -c -o libgstvulkan_xcb_la-vkwindow_xcb.lo `test -f 'vkwindow_xcb.c' || echo '$(srcdir)/'`vkwindow_xcb.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstvulkan_xcb_la-vkwindow_xcb.Tpo $(DEPDIR)/libgstvulkan_xcb_la-vkwindow_xcb.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vkwindow_xcb.c' object='libgstvulkan_xcb_la-vkwindow_xcb.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 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_xcb_la_CFLAGS) $(CFLAGS) -c -o libgstvulkan_xcb_la-vkwindow_xcb.lo `test -f 'vkwindow_xcb.c' || echo '$(srcdir)/'`vkwindow_xcb.c
+
+libgstvulkan_xcb_la-xcb_event_source.lo: xcb_event_source.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_xcb_la_CFLAGS) $(CFLAGS) -MT libgstvulkan_xcb_la-xcb_event_source.lo -MD -MP -MF $(DEPDIR)/libgstvulkan_xcb_la-xcb_event_source.Tpo -c -o libgstvulkan_xcb_la-xcb_event_source.lo `test -f 'xcb_event_source.c' || echo '$(srcdir)/'`xcb_event_source.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstvulkan_xcb_la-xcb_event_source.Tpo $(DEPDIR)/libgstvulkan_xcb_la-xcb_event_source.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xcb_event_source.c' object='libgstvulkan_xcb_la-xcb_event_source.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 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstvulkan_xcb_la_CFLAGS) $(CFLAGS) -c -o libgstvulkan_xcb_la-xcb_event_source.lo `test -f 'xcb_event_source.c' || echo '$(srcdir)/'`xcb_event_source.c
mostlyclean-libtool:
-rm -f *.lo
@@ -998,9 +970,6 @@
check: 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-exec: install-exec-am
install-data: install-data-am
@@ -1033,7 +1002,7 @@
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
-clean-am: clean-generic clean-libtool clean-pluginLTLIBRARIES \
+clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
mostlyclean-am
distclean: distclean-am
@@ -1054,7 +1023,7 @@
info-am:
-install-data-am: install-pluginLTLIBRARIES
+install-data-am:
install-dvi: install-dvi-am
@@ -1100,24 +1069,23 @@
ps-am:
-uninstall-am: uninstall-pluginLTLIBRARIES
+uninstall-am:
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-pluginLTLIBRARIES cscopelist-am ctags \
+ clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \
ctags-am distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
- install-pluginLTLIBRARIES install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
- uninstall-pluginLTLIBRARIES
+ install-ps install-ps-am install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags tags-am uninstall uninstall-am
.PRECIOUS: Makefile
diff --git a/ext/vulkan/xcb/vkdisplay_xcb.c b/ext/vulkan/xcb/vkdisplay_xcb.c
new file mode 100644
index 0000000..763f5d5
--- /dev/null
+++ b/ext/vulkan/xcb/vkdisplay_xcb.c
@@ -0,0 +1,146 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "vkdisplay_xcb.h"
+#include "xcb_event_source.h"
+
+#define GST_CAT_DEFAULT gst_vulkan_display_debug
+GST_DEBUG_CATEGORY_STATIC (gst_vulkan_display_debug);
+
+G_DEFINE_TYPE (GstVulkanDisplayXCB, gst_vulkan_display_xcb,
+ GST_TYPE_VULKAN_DISPLAY);
+
+static void gst_vulkan_display_xcb_finalize (GObject * object);
+static gpointer gst_vulkan_display_xcb_get_handle (GstVulkanDisplay * display);
+
+static void
+gst_vulkan_display_xcb_class_init (GstVulkanDisplayXCBClass * klass)
+{
+ GST_VULKAN_DISPLAY_CLASS (klass)->get_handle =
+ GST_DEBUG_FUNCPTR (gst_vulkan_display_xcb_get_handle);
+
+ G_OBJECT_CLASS (klass)->finalize = gst_vulkan_display_xcb_finalize;
+}
+
+static void
+gst_vulkan_display_xcb_init (GstVulkanDisplayXCB * display_xcb)
+{
+ GstVulkanDisplay *display = (GstVulkanDisplay *) display_xcb;
+
+ display->type = GST_VULKAN_DISPLAY_TYPE_XCB;
+ display_xcb->foreign_display = FALSE;
+}
+
+static void
+gst_vulkan_display_xcb_finalize (GObject * object)
+{
+ GstVulkanDisplayXCB *display_xcb = GST_VULKAN_DISPLAY_XCB (object);
+
+ G_OBJECT_CLASS (gst_vulkan_display_xcb_parent_class)->finalize (object);
+
+ if (!display_xcb->foreign_display && display_xcb->connection)
+ xcb_disconnect (display_xcb->connection);
+ display_xcb->connection = NULL;
+}
+
+static xcb_screen_t *
+_get_screen_from_connection (xcb_connection_t * connection, int screen_no)
+{
+ const xcb_setup_t *setup;
+ xcb_screen_iterator_t iter;
+
+ setup = xcb_get_setup (connection);
+ iter = xcb_setup_roots_iterator (setup);
+ while (screen_no-- > 0)
+ xcb_screen_next (&iter);
+
+ return iter.data;
+}
+
+/**
+ * gst_vulkan_display_xcb_new:
+ * @name: (allow-none): a display name
+ *
+ * Create a new #GstVulkanDisplayXCB from the xcb display name. See XOpenDisplay()
+ * for details on what is a valid name.
+ *
+ * Returns: (transfer full): a new #GstVulkanDisplayXCB or %NULL
+ */
+GstVulkanDisplayXCB *
+gst_vulkan_display_xcb_new (const gchar * name)
+{
+ xcb_connection_t *connection;
+ GstVulkanDisplayXCB *ret;
+ int screen_no = 0;
+
+ GST_DEBUG_CATEGORY_GET (gst_vulkan_display_debug, "gldisplay");
+
+ connection = xcb_connect (NULL, &screen_no);
+ if (connection == NULL || xcb_connection_has_error (connection)) {
+ GST_ERROR ("Failed to open XCB display connection with name, \'%s\'", name);
+ return NULL;
+ }
+
+ ret = gst_vulkan_display_xcb_new_with_connection (connection, screen_no);
+ GST_VULKAN_DISPLAY (ret)->event_source = xcb_event_source_new (ret);
+ g_source_attach (GST_VULKAN_DISPLAY (ret)->event_source,
+ GST_VULKAN_DISPLAY (ret)->main_context);
+ ret->foreign_display = FALSE;
+
+ return ret;
+}
+
+/**
+ * gst_vulkan_display_xcb_new_with_connection:
+ * @display: an existing, xcb display
+ *
+ * Creates a new display connection from a XCB Display.
+ *
+ * Returns: (transfer full): a new #GstVulkanDisplayXCB
+ */
+GstVulkanDisplayXCB *
+gst_vulkan_display_xcb_new_with_connection (xcb_connection_t * connection,
+ int screen_no)
+{
+ GstVulkanDisplayXCB *ret;
+
+ g_return_val_if_fail (connection != NULL, NULL);
+
+ GST_DEBUG_CATEGORY_GET (gst_vulkan_display_debug, "gldisplay");
+
+ ret = g_object_new (GST_TYPE_VULKAN_DISPLAY_XCB, NULL);
+
+ ret->connection = connection;
+ ret->screen = _get_screen_from_connection (connection, screen_no);
+ ret->root_window = ret->screen->root;
+ ret->foreign_display = TRUE;
+
+ return ret;
+}
+
+static gpointer
+gst_vulkan_display_xcb_get_handle (GstVulkanDisplay * display)
+{
+ return (gpointer) GST_VULKAN_DISPLAY_XCB_CONNECTION (display);
+}
diff --git a/ext/vulkan/xcb/vkdisplay_xcb.h b/ext/vulkan/xcb/vkdisplay_xcb.h
new file mode 100644
index 0000000..7c0f1ec
--- /dev/null
+++ b/ext/vulkan/xcb/vkdisplay_xcb.h
@@ -0,0 +1,84 @@
+/*
+ * GStreamer
+ * Copyright (C) 2013 Matthew Waters <ystreet00@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_VULKAN_DISPLAY_XCB_H__
+#define __GST_VULKAN_DISPLAY_XCB_H__
+
+#include <gst/gst.h>
+
+#include <xcb/xcb.h>
+
+#include <vk.h>
+#ifndef VK_USE_PLATFORM_XCB_KHR
+#error "VK_USE_PLATFORM_XCB_KHR not defined before including this header"
+#error "Either include vkapi.h or define VK_USE_PLATFORM_XCB_KHR before including this header"
+#endif
+#include <vulkan/vulkan.h>
+
+G_BEGIN_DECLS
+
+GType gst_vulkan_display_xcb_get_type (void);
+
+#define GST_TYPE_VULKAN_DISPLAY_XCB (gst_vulkan_display_xcb_get_type())
+#define GST_VULKAN_DISPLAY_XCB(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_VULKAN_DISPLAY_XCB,GstVulkanDisplayXCB))
+#define GST_VULKAN_DISPLAY_XCB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_VULKAN_DISPLAY_XCB,GstVulkanDisplayXCBClass))
+#define GST_IS_VULKAN_DISPLAY_XCB(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_VULKAN_DISPLAY_XCB))
+#define GST_IS_VULKAN_DISPLAY_XCB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_VULKAN_DISPLAY_XCB))
+#define GST_VULKAN_DISPLAY_XCB_CAST(obj) ((GstVulkanDisplayXCB*)(obj))
+
+typedef struct _GstVulkanDisplayXCB GstVulkanDisplayXCB;
+typedef struct _GstVulkanDisplayXCBClass GstVulkanDisplayXCBClass;
+
+#define GST_VULKAN_DISPLAY_XCB_CONNECTION(d) (GST_VULKAN_DISPLAY_XCB(d)->connection)
+#define GST_VULKAN_DISPLAY_XCB_ROOT_WINDOW(d) (GST_VULKAN_DISPLAY_XCB(d)->root_window)
+#define GST_VULKAN_DISPLAY_XCB_SCREEN(d) (GST_VULKAN_DISPLAY_XCB(d)->screen)
+
+/**
+ * GstVulkanDisplayXCB:
+ *
+ * the contents of a #GstVulkanDisplayXCB are private and should only be accessed
+ * through the provided API
+ */
+struct _GstVulkanDisplayXCB
+{
+ GstVulkanDisplay parent;
+
+ xcb_connection_t *connection;
+ xcb_window_t root_window;
+ xcb_screen_t *screen;
+
+ /* <private> */
+ gboolean foreign_display;
+
+ GSource *event_source;
+};
+
+struct _GstVulkanDisplayXCBClass
+{
+ GstVulkanDisplayClass object_class;
+};
+
+GstVulkanDisplayXCB * gst_vulkan_display_xcb_new (const gchar * name);
+GstVulkanDisplayXCB * gst_vulkan_display_xcb_new_with_connection (xcb_connection_t * connection,
+ int screen_no);
+
+G_END_DECLS
+
+#endif /* __GST_VULKAN_DISPLAY_XCB_H__ */
diff --git a/ext/vulkan/xcb/vkwindow_xcb.c b/ext/vulkan/xcb/vkwindow_xcb.c
new file mode 100644
index 0000000..6369a1d
--- /dev/null
+++ b/ext/vulkan/xcb/vkwindow_xcb.c
@@ -0,0 +1,286 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <gst/gst.h>
+#include <locale.h>
+
+#include "vkwindow_xcb.h"
+#include "vkdisplay_xcb.h"
+
+#define GST_VULKAN_WINDOW_XCB_GET_PRIVATE(o) \
+ (G_TYPE_INSTANCE_GET_PRIVATE((o), GST_TYPE_VULKAN_WINDOW_XCB, GstVulkanWindowXCBPrivate))
+
+#define GST_CAT_DEFAULT gst_vulkan_window_xcb_debug
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
+
+static void
+_init_debug (void)
+{
+ static volatile gsize _init = 0;
+
+ if (g_once_init_enter (&_init)) {
+ GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "vulkanwindowxcb", 0,
+ "Vulkan XCB Window");
+ g_once_init_leave (&_init, 1);
+ }
+}
+
+#define gst_vulkan_window_xcb_parent_class parent_class
+G_DEFINE_TYPE_WITH_CODE (GstVulkanWindowXCB, gst_vulkan_window_xcb,
+ GST_TYPE_VULKAN_WINDOW, _init_debug ());
+
+gboolean gst_vulkan_window_xcb_handle_event (GstVulkanWindowXCB * window_xcb);
+
+enum
+{
+ PROP_0,
+};
+
+struct _GstVulkanWindowXCBPrivate
+{
+ gboolean activate;
+ gboolean activate_result;
+
+ gint preferred_width;
+ gint preferred_height;
+
+ xcb_intern_atom_reply_t *atom_wm_delete_window;
+};
+
+static VkSurfaceKHR gst_vulkan_window_xcb_get_surface (GstVulkanWindow * window,
+ GError ** error);
+static gboolean gst_vulkan_window_xcb_get_presentation_support (GstVulkanWindow
+ * window, GstVulkanDevice * device, guint32 queue_family_idx);
+static gboolean gst_vulkan_window_xcb_open (GstVulkanWindow * window,
+ GError ** error);
+static void gst_vulkan_window_xcb_close (GstVulkanWindow * window);
+
+static void
+gst_vulkan_window_xcb_finalize (GObject * object)
+{
+ G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+static void
+gst_vulkan_window_xcb_class_init (GstVulkanWindowXCBClass * klass)
+{
+ GObjectClass *obj_class = G_OBJECT_CLASS (klass);
+ GstVulkanWindowClass *window_class = (GstVulkanWindowClass *) klass;
+
+ g_type_class_add_private (klass, sizeof (GstVulkanWindowXCBPrivate));
+
+ obj_class->finalize = gst_vulkan_window_xcb_finalize;
+
+ window_class->open = GST_DEBUG_FUNCPTR (gst_vulkan_window_xcb_open);
+ window_class->close = GST_DEBUG_FUNCPTR (gst_vulkan_window_xcb_close);
+ window_class->get_surface = gst_vulkan_window_xcb_get_surface;
+ window_class->get_presentation_support =
+ gst_vulkan_window_xcb_get_presentation_support;
+}
+
+static void
+gst_vulkan_window_xcb_init (GstVulkanWindowXCB * window)
+{
+ window->priv = GST_VULKAN_WINDOW_XCB_GET_PRIVATE (window);
+}
+
+/* Must be called in the gl thread */
+GstVulkanWindowXCB *
+gst_vulkan_window_xcb_new (GstVulkanDisplay * display)
+{
+ _init_debug ();
+
+ if ((gst_vulkan_display_get_handle_type (display) &
+ GST_VULKAN_DISPLAY_TYPE_XCB)
+ == GST_VULKAN_DISPLAY_TYPE_NONE) {
+ GST_INFO ("Wrong display type %u for this window type %u", display->type,
+ GST_VULKAN_DISPLAY_TYPE_XCB);
+ return NULL;
+ }
+
+ return g_object_new (GST_TYPE_VULKAN_WINDOW_XCB, NULL);
+}
+
+static void
+gst_vulkan_window_xcb_show (GstVulkanWindow * window)
+{
+ GstVulkanWindowXCB *window_xcb = GST_VULKAN_WINDOW_XCB (window);
+ GstVulkanDisplayXCB *display_xcb = GST_VULKAN_DISPLAY_XCB (window->display);
+ xcb_connection_t *connection =
+ GST_VULKAN_DISPLAY_XCB_CONNECTION (display_xcb);
+
+ if (!window_xcb->visible) {
+ xcb_map_window (connection, window_xcb->win_id);
+ xcb_flush (connection);
+ window_xcb->visible = TRUE;
+ }
+}
+
+static void
+gst_vulkan_window_xcb_hide (GstVulkanWindow * window)
+{
+ GstVulkanWindowXCB *window_xcb = GST_VULKAN_WINDOW_XCB (window);
+ GstVulkanDisplayXCB *display_xcb = GST_VULKAN_DISPLAY_XCB (window->display);
+ xcb_connection_t *connection =
+ GST_VULKAN_DISPLAY_XCB_CONNECTION (display_xcb);
+
+ if (window_xcb->visible) {
+ xcb_unmap_window (connection, window_xcb->win_id);
+ window_xcb->visible = FALSE;
+ }
+}
+
+gboolean
+gst_vulkan_window_xcb_create_window (GstVulkanWindowXCB * window_xcb)
+{
+ GstVulkanDisplayXCB *display_xcb;
+ xcb_connection_t *connection;
+ xcb_screen_t *screen;
+ xcb_window_t root_window;
+ uint32_t value_mask, value_list[32];
+ xcb_intern_atom_cookie_t cookie, cookie2;
+ xcb_intern_atom_reply_t *reply, *reply2;
+// const gchar *title = "OpenGL renderer";
+ gint x = 0, y = 0, width = 320, height = 240;
+
+ display_xcb =
+ GST_VULKAN_DISPLAY_XCB (GST_VULKAN_WINDOW (window_xcb)->display);
+ connection = GST_VULKAN_DISPLAY_XCB_CONNECTION (display_xcb);
+ root_window = GST_VULKAN_DISPLAY_XCB_ROOT_WINDOW (display_xcb);
+ screen = GST_VULKAN_DISPLAY_XCB_SCREEN (display_xcb);
+
+ window_xcb->win_id = xcb_generate_id (connection);
+
+ value_mask = XCB_CW_BACK_PIXEL | XCB_CW_EVENT_MASK;
+ value_list[0] = screen->black_pixel;
+ value_list[1] =
+ XCB_EVENT_MASK_KEY_RELEASE | XCB_EVENT_MASK_EXPOSURE |
+ XCB_EVENT_MASK_STRUCTURE_NOTIFY;
+
+ xcb_create_window (connection, XCB_COPY_FROM_PARENT, window_xcb->win_id,
+ root_window, x, y, width, height, 0, XCB_WINDOW_CLASS_INPUT_OUTPUT,
+ screen->root_visual, value_mask, value_list);
+
+ GST_LOG_OBJECT (window_xcb, "gl window id: %p",
+ (gpointer) (guintptr) window_xcb->win_id);
+ GST_LOG_OBJECT (window_xcb, "gl window props: x:%d y:%d", x, y);
+
+ /* Magic code that will send notification when window is destroyed */
+ cookie = xcb_intern_atom (connection, 1, 12, "WM_PROTOCOLS");
+ reply = xcb_intern_atom_reply (connection, cookie, 0);
+
+ cookie2 = xcb_intern_atom (connection, 0, 16, "WM_DELETE_WINDOW");
+ reply2 = xcb_intern_atom_reply (connection, cookie2, 0);
+
+ xcb_change_property (connection, XCB_PROP_MODE_REPLACE, window_xcb->win_id,
+ reply->atom, 4, 32, 1, &reply2->atom);
+ g_free (reply);
+ g_free (reply2);
+
+ gst_vulkan_window_xcb_show (GST_VULKAN_WINDOW (window_xcb));
+
+ return TRUE;
+}
+
+static VkSurfaceKHR
+gst_vulkan_window_xcb_get_surface (GstVulkanWindow * window, GError ** error)
+{
+ VkXcbSurfaceCreateInfoKHR info = { 0, };
+ VkSurfaceKHR ret;
+ VkResult err;
+
+ info.sType = VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR;
+ info.pNext = NULL;
+ info.flags = 0;
+ info.connection = GST_VULKAN_DISPLAY_XCB_CONNECTION (window->display);
+ info.window = GST_VULKAN_WINDOW_XCB (window)->win_id;
+
+ err =
+ vkCreateXcbSurfaceKHR (window->display->instance->instance, &info, NULL,
+ &ret);
+ if (gst_vulkan_error_to_g_error (err, error, "vkCreateXcbSurfaceKHR") < 0)
+ return NULL;
+
+ return ret;
+}
+
+static gboolean
+gst_vulkan_window_xcb_get_presentation_support (GstVulkanWindow * window,
+ GstVulkanDevice * device, guint32 queue_family_idx)
+{
+ VkPhysicalDevice gpu;
+ xcb_screen_t *screen;
+
+ screen = GST_VULKAN_DISPLAY_XCB_SCREEN (window->display);
+
+ gpu = gst_vulkan_device_get_physical_device (device);
+ if (vkGetPhysicalDeviceXcbPresentationSupportKHR (gpu, queue_family_idx,
+ GST_VULKAN_DISPLAY_XCB_CONNECTION (window->display),
+ screen->root_visual))
+ return TRUE;
+ return FALSE;
+}
+
+static gboolean
+gst_vulkan_window_xcb_open (GstVulkanWindow * window, GError ** error)
+{
+ GstVulkanWindowXCB *window_xcb = GST_VULKAN_WINDOW_XCB (window);
+ GstVulkanDisplayXCB *display_xcb = (GstVulkanDisplayXCB *) window->display;
+ xcb_connection_t *connection;
+
+ connection = GST_VULKAN_DISPLAY_XCB_CONNECTION (display_xcb);
+ if (connection == NULL) {
+ g_set_error (error, GST_VULKAN_WINDOW_ERROR,
+ GST_VULKAN_WINDOW_ERROR_RESOURCE_UNAVAILABLE,
+ "Failed to connect to X display server with XCB");
+ goto failure;
+ }
+
+ if (!GST_VULKAN_WINDOW_CLASS (parent_class)->open (window, error))
+ return FALSE;
+
+ return gst_vulkan_window_xcb_create_window (window_xcb);
+
+failure:
+ return FALSE;
+}
+
+static void
+gst_vulkan_window_xcb_close (GstVulkanWindow * window)
+{
+ GstVulkanWindowXCB *window_xcb = GST_VULKAN_WINDOW_XCB (window);
+ GstVulkanDisplayXCB *display_xcb = (GstVulkanDisplayXCB *) window->display;
+ xcb_connection_t *connection =
+ GST_VULKAN_DISPLAY_XCB_CONNECTION (display_xcb);
+
+ if (connection) {
+ gst_vulkan_window_xcb_hide (window);
+
+ g_free (window_xcb->priv->atom_wm_delete_window);
+ window_xcb->priv->atom_wm_delete_window = NULL;
+ GST_DEBUG ("display receiver closed");
+ }
+
+ GST_VULKAN_WINDOW_CLASS (parent_class)->close (window);
+}
diff --git a/ext/vulkan/xcb/vkwindow_xcb.h b/ext/vulkan/xcb/vkwindow_xcb.h
new file mode 100644
index 0000000..517a488
--- /dev/null
+++ b/ext/vulkan/xcb/vkwindow_xcb.h
@@ -0,0 +1,83 @@
+/*
+ * GStreamer
+ * Copyright (C) 2012 Matthew Waters <ystreet00@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_VULKAN_WINDOW_XCB_H__
+#define __GST_VULKAN_WINDOW_XCB_H__
+
+#include <xcb/xcb.h>
+
+#include <vk.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_VULKAN_WINDOW_XCB (gst_vulkan_window_xcb_get_type())
+#define GST_VULKAN_WINDOW_XCB(o) (G_TYPE_CHECK_INSTANCE_CAST((o), GST_TYPE_VULKAN_WINDOW_XCB, GstVulkanWindowXCB))
+#define GST_VULKAN_WINDOW_XCB_CLASS(k) (G_TYPE_CHECK_CLASS((k), GST_TYPE_VULKAN_WINDOW_XCB, GstVulkanWindowXCBClass))
+#define GST_IS_VULKAN_WINDOW_XCB(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GST_TYPE_VULKAN_WINDOW_XCB))
+#define GST_IS_VULKAN_WINDOW_XCB_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE((k), GST_TYPE_VULKAN_WINDOW_XCB))
+#define GST_VULKAN_WINDOW_XCB_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), GST_TYPE_VULKAN_WINDOW_XCB, GstVulkanWindowXCBClass))
+
+typedef struct _GstVulkanWindowXCB GstVulkanWindowXCB;
+typedef struct _GstVulkanWindowXCBPrivate GstVulkanWindowXCBPrivate;
+typedef struct _GstVulkanWindowXCBClass GstVulkanWindowXCBClass;
+
+/**
+ * GstVulkanWindowXCB:
+ *
+ * Opaque #GstVulkanWindowXCB object
+ */
+struct _GstVulkanWindowXCB
+{
+ /*< private >*/
+ GstVulkanWindow parent;
+
+ /* X window */
+ xcb_window_t win_id;
+
+ gint visible :1;
+
+ /*< private >*/
+ GstVulkanWindowXCBPrivate *priv;
+
+ gpointer _reserved[GST_PADDING];
+};
+
+/**
+ * GstVulkanWindowXCBClass:
+ *
+ * Opaque #GstVulkanWindowXCBClass object
+ */
+struct _GstVulkanWindowXCBClass {
+ /*< private >*/
+ GstVulkanWindowClass parent_class;
+
+ /*< private >*/
+ gpointer _reserved[GST_PADDING_LARGE];
+};
+
+GType gst_vulkan_window_xcb_get_type (void);
+
+GstVulkanWindowXCB * gst_vulkan_window_xcb_new (GstVulkanDisplay * display);
+
+gboolean gst_vulkan_window_xcb_create_window (GstVulkanWindowXCB * window_xcb);
+
+G_END_DECLS
+
+#endif /* __GST_VULKAN_WINDOW_XCB_H__ */
diff --git a/ext/vulkan/xcb/xcb_event_source.c b/ext/vulkan/xcb/xcb_event_source.c
new file mode 100644
index 0000000..3368f19
--- /dev/null
+++ b/ext/vulkan/xcb/xcb_event_source.c
@@ -0,0 +1,255 @@
+/*
+ * GStreamer
+ * Copyright (C) 2012 Matthew Waters <ystreet00@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <stdint.h>
+#include <stdlib.h>
+
+#include "xcb_event_source.h"
+#include "vkdisplay_xcb.h"
+#include "vkwindow_xcb.h"
+
+static gint
+_compare_xcb_window (GstVulkanWindowXCB * window_xcb, xcb_window_t * window_id)
+{
+ return window_xcb->win_id - *window_id;
+}
+
+static GstVulkanWindowXCB *
+_find_window_from_xcb_window (GstVulkanDisplayXCB * display_xcb,
+ xcb_window_t window_id)
+{
+ GstVulkanDisplay *display = GST_VULKAN_DISPLAY (display_xcb);
+ GstVulkanWindowXCB *ret = NULL;
+ GList *l;
+
+ if (!window_id)
+ return NULL;
+
+ GST_OBJECT_LOCK (display);
+ l = g_list_find_custom (display->windows, &window_id,
+ (GCompareFunc) _compare_xcb_window);
+ if (l)
+ ret = gst_object_ref (l->data);
+ GST_OBJECT_UNLOCK (display);
+
+ return ret;
+}
+
+static gboolean
+_xcb_handle_event (GstVulkanDisplayXCB * display_xcb)
+{
+ xcb_connection_t *connection =
+ GST_VULKAN_DISPLAY_XCB_CONNECTION (display_xcb);
+ xcb_generic_event_t *event;
+ gboolean ret = TRUE;
+
+ while ((event = xcb_poll_for_event (connection))) {
+ uint8_t event_code = event->response_type & 0x7f;
+
+ switch (event_code) {
+ case XCB_CLIENT_MESSAGE:{
+ xcb_client_message_event_t *client_event;
+ xcb_intern_atom_cookie_t cookie;
+ xcb_intern_atom_reply_t *reply;
+
+ client_event = (xcb_client_message_event_t *) event;
+ cookie = xcb_intern_atom (connection, 0, 16, "WM_DELETE_WINDOW");
+ reply = xcb_intern_atom_reply (connection, cookie, 0);
+
+ if (client_event->data.data32[0] == reply->atom) {
+ GstVulkanWindowXCB *window_xcb;
+
+ window_xcb =
+ _find_window_from_xcb_window (display_xcb, client_event->window);
+
+ if (window_xcb) {
+ GST_INFO_OBJECT (window_xcb, "Close requested");
+
+ gst_vulkan_window_close (GST_VULKAN_WINDOW (window_xcb));
+ gst_vulkan_display_remove_window (GST_VULKAN_DISPLAY (display_xcb),
+ GST_VULKAN_WINDOW (window_xcb));
+ gst_object_unref (window_xcb);
+ }
+ }
+
+ g_free (reply);
+ break;
+ }
+ case XCB_CONFIGURE_NOTIFY:{
+ xcb_configure_notify_event_t *configure_event;
+ GstVulkanWindowXCB *window_xcb;
+
+ configure_event = (xcb_configure_notify_event_t *) event;
+ window_xcb =
+ _find_window_from_xcb_window (display_xcb, configure_event->window);
+
+ if (window_xcb) {
+ gst_vulkan_window_resize (GST_VULKAN_WINDOW (window_xcb),
+ configure_event->width, configure_event->height);
+
+ gst_object_unref (window_xcb);
+ }
+ break;
+ }
+ case XCB_EXPOSE:{
+ xcb_expose_event_t *expose_event = (xcb_expose_event_t *) event;
+ GstVulkanWindowXCB *window_xcb;
+
+ /* non-zero means that other Expose follows
+ * so just wait for the last one
+ * in theory we should not receive non-zero because
+ * we have no sub areas here but just in case */
+ if (expose_event->count != 0)
+ break;
+
+ window_xcb =
+ _find_window_from_xcb_window (display_xcb, expose_event->window);
+
+ if (window_xcb) {
+ gst_vulkan_window_redraw (GST_VULKAN_WINDOW (window_xcb));
+ gst_object_unref (window_xcb);
+ }
+ break;
+ }
+#if 0
+ case KeyPress:
+ case KeyRelease:
+ keysym = XkbKeycodeToKeysym (window_xcb->device,
+ event.xkey.keycode, 0, 0);
+ key_str = XKeysymToString (keysym);
+ key_data = g_slice_new (struct key_event);
+ key_data->window = window;
+ key_data->key_str = XKeysymToString (keysym);
+ key_data->event_type =
+ event.type == KeyPress ? "key-press" : "key-release";
+ GST_DEBUG ("input event key %d pressed over window at %d,%d (%s)",
+ event.xkey.keycode, event.xkey.x, event.xkey.y, key_str);
+ g_main_context_invoke (window->navigation_context,
+ (GSourceFunc) gst_vulkan_window_key_event_cb, key_data);
+ break;
+ case ButtonPress:
+ case ButtonRelease:
+ GST_DEBUG ("input event mouse button %d pressed over window at %d,%d",
+ event.xbutton.button, event.xbutton.x, event.xbutton.y);
+ mouse_data = g_slice_new (struct mouse_event);
+ mouse_data->window = window;
+ mouse_data->event_type =
+ event.type ==
+ ButtonPress ? "mouse-button-press" : "mouse-button-release";
+ mouse_data->button = event.xbutton.button;
+ mouse_data->posx = (double) event.xbutton.x;
+ mouse_data->posy = (double) event.xbutton.y;
+
+ g_main_context_invoke (window->navigation_context,
+ (GSourceFunc) gst_vulkan_window_mouse_event_cb, mouse_data);
+ break;
+ case MotionNotify:
+ GST_DEBUG ("input event pointer moved over window at %d,%d",
+ event.xmotion.x, event.xmotion.y);
+ mouse_data = g_slice_new (struct mouse_event);
+ mouse_data->window = window;
+ mouse_data->event_type = "mouse-move";
+ mouse_data->button = 0;
+ mouse_data->posx = (double) event.xbutton.x;
+ mouse_data->posy = (double) event.xbutton.y;
+
+ g_main_context_invoke (window->navigation_context, (GSourceFunc)
+ gst_vulkan_window_mouse_event_cb, mouse_data);
+ break;
+#endif
+ default:
+ GST_DEBUG ("unhandled XCB type: %u", event_code);
+ break;
+ }
+
+ g_free (event);
+ }
+
+ return ret;
+}
+
+typedef struct _XCBEventSource
+{
+ GSource source;
+ GPollFD pfd;
+ uint32_t mask;
+ GstVulkanDisplayXCB *display_xcb;
+} XCBEventSource;
+
+static gboolean
+xcb_event_source_prepare (GSource * base, gint * timeout)
+{
+ *timeout = -1;
+ return FALSE;
+}
+
+static gboolean
+xcb_event_source_check (GSource * base)
+{
+ XCBEventSource *source = (XCBEventSource *) base;
+ gboolean retval;
+
+ retval = source->pfd.revents;
+
+ return retval;
+}
+
+static gboolean
+xcb_event_source_dispatch (GSource * base, GSourceFunc callback, gpointer data)
+{
+ XCBEventSource *source = (XCBEventSource *) base;
+
+ gboolean ret = _xcb_handle_event (source->display_xcb);
+
+ if (callback)
+ callback (data);
+
+ return ret;
+}
+
+static GSourceFuncs xcb_event_source_funcs = {
+ xcb_event_source_prepare,
+ xcb_event_source_check,
+ xcb_event_source_dispatch,
+ NULL
+};
+
+GSource *
+xcb_event_source_new (GstVulkanDisplayXCB * display_xcb)
+{
+ xcb_connection_t *connection;
+ XCBEventSource *source;
+
+ connection = GST_VULKAN_DISPLAY_XCB_CONNECTION (display_xcb);
+ g_return_val_if_fail (connection != NULL, NULL);
+
+ source = (XCBEventSource *)
+ g_source_new (&xcb_event_source_funcs, sizeof (XCBEventSource));
+ source->display_xcb = display_xcb;
+ source->pfd.fd = xcb_get_file_descriptor (connection);
+ source->pfd.events = G_IO_IN | G_IO_ERR;
+ g_source_add_poll (&source->source, &source->pfd);
+
+ return &source->source;
+}
diff --git a/ext/vulkan/xcb/xcb_event_source.h b/ext/vulkan/xcb/xcb_event_source.h
new file mode 100644
index 0000000..cd9b41c
--- /dev/null
+++ b/ext/vulkan/xcb/xcb_event_source.h
@@ -0,0 +1,30 @@
+/*
+ * GStreamer
+ * Copyright (C) 2012 Matthew Waters <ystreet00@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __VULKAN_XCB_EVENT_SOURCE_H__
+#define __VULKAN_XCB_EVENT_SOURCE_H__
+
+#include <glib-object.h>
+#include "vkdisplay_xcb.h"
+
+GSource *
+xcb_event_source_new (GstVulkanDisplayXCB *display_xcb);
+
+#endif /* __VULKAN_XCB_EVENT_SOURCE_H__ */
diff --git a/ext/wayland/Makefile.in b/ext/wayland/Makefile.in
index 2cad82a..42ded05 100644
--- a/ext/wayland/Makefile.in
+++ b/ext/wayland/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -331,7 +330,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -353,7 +351,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -375,9 +372,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -539,6 +533,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -552,8 +547,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -640,8 +633,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -693,6 +684,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -713,6 +705,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -750,7 +744,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/webp/Makefile.in b/ext/webp/Makefile.in
index 4d27523..f64b913 100644
--- a/ext/webp/Makefile.in
+++ b/ext/webp/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -325,7 +324,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +345,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +366,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +527,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +541,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +627,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +678,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +699,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +738,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/x265/Makefile.in b/ext/x265/Makefile.in
index ddf5c1b..be6f2d2 100644
--- a/ext/x265/Makefile.in
+++ b/ext/x265/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -323,7 +322,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -345,7 +343,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -367,9 +364,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -531,6 +525,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -544,8 +539,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -632,8 +625,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -685,6 +676,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -705,6 +697,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -742,7 +736,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/x265/gstx265enc.h b/ext/x265/gstx265enc.h
index 58ba7c0..66a8135 100644
--- a/ext/x265/gstx265enc.h
+++ b/ext/x265/gstx265enc.h
@@ -25,7 +25,6 @@
#include <gst/gst.h>
#include <gst/video/video.h>
#include <gst/video/gstvideoencoder.h>
-#include "_stdint.h"
#include <x265.h>
G_BEGIN_DECLS
diff --git a/ext/xvid/Makefile.in b/ext/xvid/Makefile.in
index 1c6f118..d4c120d 100644
--- a/ext/xvid/Makefile.in
+++ b/ext/xvid/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ext/zbar/Makefile.in b/ext/zbar/Makefile.in
index 591c6e3..f524574 100644
--- a/ext/zbar/Makefile.in
+++ b/ext/zbar/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst-libs/Makefile.in b/gst-libs/Makefile.in
index 032e32e..a37fd22 100644
--- a/gst-libs/Makefile.in
+++ b/gst-libs/Makefile.in
@@ -114,16 +114,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -297,7 +296,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -319,7 +317,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -341,9 +338,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -505,6 +499,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -518,8 +513,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -606,8 +599,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -659,6 +650,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -679,6 +671,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -716,7 +710,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst-libs/gst/Makefile.am b/gst-libs/gst/Makefile.am
index 732978d..7d0b309 100644
--- a/gst-libs/gst/Makefile.am
+++ b/gst-libs/gst/Makefile.am
@@ -11,14 +11,14 @@
endif
SUBDIRS = uridownloader adaptivedemux interfaces basecamerabinsrc codecparsers \
- insertbin mpegts base video player $(GL_DIR) $(WAYLAND_DIR)
+ insertbin mpegts base video audio player $(GL_DIR) $(WAYLAND_DIR)
noinst_HEADERS = gst-i18n-plugin.h gettext.h glib-compat-private.h
DIST_SUBDIRS = uridownloader adaptivedemux interfaces gl basecamerabinsrc \
- codecparsers insertbin mpegts wayland base video player
+ codecparsers insertbin mpegts wayland base video audio player
#dependencies
-video: base
+video, audio: base
adaptivedemux: uridownloader
diff --git a/gst-libs/gst/Makefile.in b/gst-libs/gst/Makefile.in
index b0f15e3..3129dc7 100644
--- a/gst-libs/gst/Makefile.in
+++ b/gst-libs/gst/Makefile.in
@@ -115,16 +115,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -299,7 +298,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -321,7 +319,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -343,9 +340,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -507,6 +501,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -520,8 +515,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -608,8 +601,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -661,6 +652,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -681,6 +673,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -718,7 +712,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -762,11 +755,11 @@
@USE_OPENGL_TRUE@GL_DIR = gl
@USE_WAYLAND_TRUE@WAYLAND_DIR = wayland
SUBDIRS = uridownloader adaptivedemux interfaces basecamerabinsrc codecparsers \
- insertbin mpegts base video player $(GL_DIR) $(WAYLAND_DIR)
+ insertbin mpegts base video audio player $(GL_DIR) $(WAYLAND_DIR)
noinst_HEADERS = gst-i18n-plugin.h gettext.h glib-compat-private.h
DIST_SUBDIRS = uridownloader adaptivedemux interfaces gl basecamerabinsrc \
- codecparsers insertbin mpegts wayland base video player
+ codecparsers insertbin mpegts wayland base video audio player
INDEPENDENT_SUBDIRS = \
interfaces basecamerabinsrc codecparsers insertbin uridownloader \
@@ -1085,7 +1078,7 @@
#dependencies
-video: base
+video, audio: base
adaptivedemux: uridownloader
diff --git a/gst-libs/gst/adaptivedemux/Makefile.in b/gst-libs/gst/adaptivedemux/Makefile.in
index 4007d4a..8719883 100644
--- a/gst-libs/gst/adaptivedemux/Makefile.in
+++ b/gst-libs/gst/adaptivedemux/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -327,7 +326,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -349,7 +347,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -371,9 +368,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -535,6 +529,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -548,8 +543,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -636,8 +629,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -689,6 +680,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -709,6 +701,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -746,7 +740,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c
index cb5e4a1..ae6ce2c 100644
--- a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c
+++ b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c
@@ -135,6 +135,7 @@
#define DEFAULT_CONNECTION_SPEED 0
#define DEFAULT_BITRATE_LIMIT 0.8
#define SRC_QUEUE_MAX_BYTES 20 * 1024 * 1024 /* For safety. Large enough to hold a segment. */
+#define NUM_LOOKBACK_FRAGMENTS 3
#define GST_MANIFEST_GET_LOCK(d) (&(GST_ADAPTIVE_DEMUX_CAST(d)->priv->manifest_lock))
#define GST_MANIFEST_LOCK(d) g_rec_mutex_lock (GST_MANIFEST_GET_LOCK (d));
@@ -144,6 +145,10 @@
#define GST_API_LOCK(d) g_mutex_lock (GST_API_GET_LOCK (d));
#define GST_API_UNLOCK(d) g_mutex_unlock (GST_API_GET_LOCK (d));
+#define GST_ADAPTIVE_DEMUX_SEGMENT_GET_LOCK(d) (&GST_ADAPTIVE_DEMUX_CAST(d)->priv->segment_lock)
+#define GST_ADAPTIVE_DEMUX_SEGMENT_LOCK(d) g_mutex_lock (GST_ADAPTIVE_DEMUX_SEGMENT_GET_LOCK (d))
+#define GST_ADAPTIVE_DEMUX_SEGMENT_UNLOCK(d) g_mutex_unlock (GST_ADAPTIVE_DEMUX_SEGMENT_GET_LOCK (d))
+
enum
{
PROP_0,
@@ -188,6 +193,12 @@
GMutex manifest_update_lock;
GMutex api_lock;
+
+ /* Protects demux and stream segment information
+ * Needed because seeks can update segment information
+ * without needing to stop tasks when they just want to
+ * update the segment boundaries */
+ GMutex segment_lock;
};
static GstBinClass *parent_class = NULL;
@@ -220,7 +231,8 @@
gboolean first_and_live);
static gboolean gst_adaptive_demux_is_live (GstAdaptiveDemux * demux);
static GstFlowReturn gst_adaptive_demux_stream_seek (GstAdaptiveDemux * demux,
- GstAdaptiveDemuxStream * stream, GstClockTime ts);
+ GstAdaptiveDemuxStream * stream, gboolean forward, GstSeekFlags flags,
+ GstClockTime ts, GstClockTime * final_ts);
static gboolean gst_adaptive_demux_stream_has_next_fragment (GstAdaptiveDemux *
demux, GstAdaptiveDemuxStream * stream);
static gboolean gst_adaptive_demux_stream_select_bitrate (GstAdaptiveDemux *
@@ -415,6 +427,7 @@
g_rec_mutex_init (&demux->priv->manifest_lock);
g_mutex_init (&demux->priv->api_lock);
+ g_mutex_init (&demux->priv->segment_lock);
pad_template =
gst_element_class_get_pad_template (GST_ELEMENT_CLASS (klass), "sink");
@@ -452,6 +465,7 @@
g_rec_mutex_clear (&priv->updates_lock);
g_rec_mutex_clear (&demux->priv->manifest_lock);
g_mutex_clear (&demux->priv->api_lock);
+ g_mutex_clear (&demux->priv->segment_lock);
G_OBJECT_CLASS (parent_class)->finalize (object);
}
@@ -1048,6 +1062,8 @@
stream->pad = pad;
stream->demux = demux;
+ stream->fragment_bitrates =
+ g_malloc0 (sizeof (guint64) * NUM_LOOKBACK_FRAGMENTS);
gst_pad_set_element_private (pad, stream);
gst_pad_set_query_function (pad,
@@ -1065,6 +1081,21 @@
return stream;
}
+GstAdaptiveDemuxStream *
+gst_adaptive_demux_find_stream_for_pad (GstAdaptiveDemux * demux, GstPad * pad)
+{
+ GList *iter;
+
+ for (iter = demux->streams; iter; iter = g_list_next (iter)) {
+ GstAdaptiveDemuxStream *stream = iter->data;
+ if (stream->pad == pad) {
+ return stream;
+ }
+ }
+ g_assert_not_reached ();
+ return NULL;
+}
+
/* must be called with manifest_lock taken.
* It will temporarily drop the manifest_lock in order to join the task.
* It will join only the old_streams (the demux->streams are joined by
@@ -1120,6 +1151,10 @@
stream->pending_events = NULL;
}
+ if (stream->internal_pad) {
+ gst_object_unparent (GST_OBJECT_CAST (stream->internal_pad));
+ }
+
if (stream->src_srcpad) {
gst_object_unref (stream->src_srcpad);
stream->src_srcpad = NULL;
@@ -1133,6 +1168,7 @@
g_cond_clear (&stream->fragment_download_cond);
g_mutex_clear (&stream->fragment_download_lock);
+ g_free (stream->fragment_bitrates);
if (stream->pad) {
gst_object_unref (stream->pad);
@@ -1174,6 +1210,13 @@
return klass->seek != NULL;
}
+#define IS_SNAP_SEEK(f) (f & (GST_SEEK_FLAG_SNAP_BEFORE | \
+ GST_SEEK_FLAG_SNAP_AFTER | \
+ GST_SEEK_FLAG_SNAP_NEAREST))
+#define REMOVE_SNAP_FLAGS(f) (f & !(GST_SEEK_FLAG_SNAP_BEFORE | \
+ GST_SEEK_FLAG_SNAP_AFTER | \
+ GST_SEEK_FLAG_SNAP_NEAREST))
+
static gboolean
gst_adaptive_demux_src_event (GstPad * pad, GstObject * parent,
GstEvent * event)
@@ -1184,6 +1227,8 @@
demux = GST_ADAPTIVE_DEMUX_CAST (parent);
demux_class = GST_ADAPTIVE_DEMUX_GET_CLASS (demux);
+ /* FIXME handle events received on pads that are to be removed */
+
switch (event->type) {
case GST_EVENT_SEEK:
{
@@ -1239,17 +1284,11 @@
seqnum = gst_event_get_seqnum (event);
- GST_DEBUG_OBJECT (demux,
- "seek event, rate: %f type: %d start: %" GST_TIME_FORMAT " stop: %"
- GST_TIME_FORMAT, rate, start_type, GST_TIME_ARGS (start),
- GST_TIME_ARGS (stop));
+ GST_DEBUG_OBJECT (demux, "seek event, %" GST_PTR_FORMAT, event);
/* have a backup in case seek fails */
gst_segment_copy_into (&demux->segment, &oldsegment);
- gst_segment_do_seek (&demux->segment, rate, format, flags, start_type,
- start, stop_type, stop, &update);
-
if (flags & GST_SEEK_FLAG_FLUSH) {
GstEvent *fevent;
@@ -1257,11 +1296,75 @@
fevent = gst_event_new_flush_start ();
gst_event_set_seqnum (fevent, seqnum);
gst_adaptive_demux_push_src_event (demux, fevent);
+
+ gst_adaptive_demux_stop_tasks (demux);
+ } else if ((rate > 0 && start_type != GST_SEEK_TYPE_NONE) ||
+ (rate < 0 && stop_type != GST_SEEK_TYPE_NONE)) {
+
+ gst_adaptive_demux_stop_tasks (demux);
}
- gst_adaptive_demux_stop_tasks (demux);
+
+ GST_ADAPTIVE_DEMUX_SEGMENT_LOCK (demux);
+ gst_segment_do_seek (&demux->segment, rate, format, flags, start_type,
+ start, stop_type, stop, &update);
+
+ /* FIXME - this seems unatural, do_seek() is updating base when we
+ * only want the start/stop position to change, maybe do_seek() needs
+ * some fixing? */
+ if (!(flags & GST_SEEK_FLAG_FLUSH) && ((rate > 0
+ && start_type == GST_SEEK_TYPE_NONE) || (rate < 0
+ && stop_type == GST_SEEK_TYPE_NONE))) {
+ demux->segment.base = oldsegment.base;
+ }
+
GST_DEBUG_OBJECT (demux, "Seeking to segment %" GST_SEGMENT_FORMAT,
&demux->segment);
+ /*
+ * Handle snap seeks as follows:
+ * 1) do the snap seeking on the stream that received
+ * the event
+ * 2) use the final position on this stream to seek
+ * on the other streams to the same position
+ *
+ * We can't snap at all streams at the same time as
+ * they might end in different positions, so just
+ * use the one that received the event as the 'leading'
+ * one to do the snap seek.
+ */
+ if (IS_SNAP_SEEK (flags) && demux_class->stream_seek) {
+ GstAdaptiveDemuxStream *stream =
+ gst_adaptive_demux_find_stream_for_pad (demux, pad);
+ GstClockTime ts;
+ GstSeekFlags stream_seek_flags = flags;
+
+ /* snap-seek on the stream that received the event and then
+ * use the resulting position to seek on all streams */
+
+ if (rate >= 0 && start_type != GST_SEEK_TYPE_NONE) {
+ ts = start;
+ } else if (rate < 0 && stop_type != GST_SEEK_TYPE_NONE) {
+ ts = stop;
+ }
+
+ demux_class->stream_seek (stream, rate >= 0, stream_seek_flags, ts,
+ &ts);
+
+ /* replace event with a new one without snaping to seek on all streams */
+ gst_event_unref (event);
+ if (rate >= 0 && start_type != GST_SEEK_TYPE_NONE) {
+ start = ts;
+ } else if (rate < 0 && stop_type != GST_SEEK_TYPE_NONE) {
+ stop = ts;
+ }
+ event =
+ gst_event_new_seek (rate, format, REMOVE_SNAP_FLAGS (flags),
+ start_type, start, stop_type, stop);
+ GST_DEBUG_OBJECT (demux, "Adapted snap seek to %" GST_PTR_FORMAT,
+ event);
+ }
+ GST_DEBUG_OBJECT (demux, "Calling subclass seek: %" GST_PTR_FORMAT,
+ event);
ret = demux_class->seek (demux, event);
if (!ret) {
@@ -1270,6 +1373,7 @@
} else {
demux->priv->segment_seqnum = seqnum;
}
+ GST_ADAPTIVE_DEMUX_SEGMENT_UNLOCK (demux);
if (flags & GST_SEEK_FLAG_FLUSH) {
GstEvent *fevent;
@@ -1287,6 +1391,7 @@
GstClockTime period_start =
gst_adaptive_demux_get_period_start_time (demux);
+ GST_ADAPTIVE_DEMUX_SEGMENT_LOCK (demux);
for (iter = demux->streams; iter; iter = g_list_next (iter)) {
GstAdaptiveDemuxStream *stream = iter->data;
GstEvent *seg_evt;
@@ -1298,12 +1403,17 @@
offset =
gst_adaptive_demux_stream_get_presentation_offset (demux, stream);
stream->segment.start += offset - period_start;
- stream->segment.position = stream->segment.start;
+ if (demux->segment.rate > 0 && start_type != GST_SEEK_TYPE_NONE)
+ stream->segment.position = stream->segment.start;
+ else if (demux->segment.rate < 0 && stop_type != GST_SEEK_TYPE_NONE)
+ stream->segment.position = stream->segment.stop;
seg_evt = gst_event_new_segment (&stream->segment);
gst_event_set_seqnum (seg_evt, demux->priv->segment_seqnum);
gst_event_replace (&stream->pending_segment, seg_evt);
gst_event_unref (seg_evt);
}
+
+ GST_ADAPTIVE_DEMUX_SEGMENT_UNLOCK (demux);
}
/* Restart the demux */
@@ -1315,26 +1425,23 @@
return ret;
}
case GST_EVENT_RECONFIGURE:{
- GList *iter;
+ GstAdaptiveDemuxStream *stream;
GST_MANIFEST_LOCK (demux);
+ stream = gst_adaptive_demux_find_stream_for_pad (demux, pad);
- for (iter = demux->streams; iter; iter = g_list_next (iter)) {
- GstAdaptiveDemuxStream *stream = iter->data;
-
- if (stream->pad == pad) {
- if (stream->last_ret == GST_FLOW_NOT_LINKED) {
- stream->last_ret = GST_FLOW_OK;
- stream->restart_download = TRUE;
- stream->need_header = TRUE;
- stream->discont = TRUE;
- GST_DEBUG_OBJECT (stream->pad, "Restarting download loop");
- gst_task_start (stream->download_task);
- }
- gst_event_unref (event);
- GST_MANIFEST_UNLOCK (demux);
- return TRUE;
+ if (stream) {
+ if (stream->last_ret == GST_FLOW_NOT_LINKED) {
+ stream->last_ret = GST_FLOW_OK;
+ stream->restart_download = TRUE;
+ stream->need_header = TRUE;
+ stream->discont = TRUE;
+ GST_DEBUG_OBJECT (stream->pad, "Restarting download loop");
+ gst_task_start (stream->download_task);
}
+ gst_event_unref (event);
+ GST_MANIFEST_UNLOCK (demux);
+ return TRUE;
}
GST_MANIFEST_UNLOCK (demux);
}
@@ -1421,6 +1528,11 @@
if (can_seek) {
if (gst_adaptive_demux_is_live (demux)) {
ret = gst_adaptive_demux_get_live_seek_range (demux, &start, &stop);
+ if (!ret) {
+ GST_MANIFEST_UNLOCK (demux);
+ GST_INFO_OBJECT (demux, "can't answer seeking query");
+ return FALSE;
+ }
} else {
duration = demux_class->get_duration (demux);
if (GST_CLOCK_TIME_IS_VALID (duration) && duration > 0)
@@ -1604,10 +1716,29 @@
/* must be called with manifest_lock taken */
static guint64
+_update_average_bitrate (GstAdaptiveDemux * demux,
+ GstAdaptiveDemuxStream * stream, guint64 new_bitrate)
+{
+ gint index = stream->moving_index % NUM_LOOKBACK_FRAGMENTS;
+
+ stream->moving_bitrate -= stream->fragment_bitrates[index];
+ stream->fragment_bitrates[index] = new_bitrate;
+ stream->moving_bitrate += new_bitrate;
+
+ stream->moving_index += 1;
+
+ if (stream->moving_index > NUM_LOOKBACK_FRAGMENTS)
+ return stream->moving_bitrate / NUM_LOOKBACK_FRAGMENTS;
+ return stream->moving_bitrate / stream->moving_index;
+}
+
+/* must be called with manifest_lock taken */
+static guint64
gst_adaptive_demux_stream_update_current_bitrate (GstAdaptiveDemux * demux,
GstAdaptiveDemuxStream * stream)
{
- guint64 bitrate;
+ guint64 average_bitrate;
+ guint64 fragment_bitrate;
if (demux->connection_speed) {
GST_LOG_OBJECT (demux, "Connection-speed is set to %u kbps, using it",
@@ -1615,12 +1746,27 @@
return demux->connection_speed;
}
- g_object_get (stream->queue, "avg-in-rate", &bitrate, NULL);
- bitrate *= 8;
+ g_object_get (stream->queue, "avg-in-rate", &fragment_bitrate, NULL);
+ fragment_bitrate *= 8;
GST_DEBUG_OBJECT (demux, "Download bitrate is : %" G_GUINT64_FORMAT " bps",
- bitrate);
- stream->current_download_rate = bitrate;
- return bitrate;
+ fragment_bitrate);
+
+ average_bitrate = _update_average_bitrate (demux, stream, fragment_bitrate);
+
+ GST_INFO_OBJECT (stream, "last fragment bitrate was %" G_GUINT64_FORMAT,
+ fragment_bitrate);
+ GST_INFO_OBJECT (stream,
+ "Last %u fragments average bitrate is %" G_GUINT64_FORMAT,
+ NUM_LOOKBACK_FRAGMENTS, average_bitrate);
+
+ /* Conservative approach, make sure we don't upgrade too fast */
+ stream->current_download_rate = MIN (average_bitrate, fragment_bitrate);
+
+ stream->current_download_rate *= demux->bitrate_limit;
+ GST_DEBUG_OBJECT (demux, "Bitrate after bitrate limit (%0.2f): %"
+ G_GUINT64_FORMAT, demux->bitrate_limit,
+ stream->current_download_rate * 8);
+ return stream->current_download_rate;
}
/* must be called with manifest_lock taken */
@@ -1672,6 +1818,7 @@
GstClockTime period_start =
gst_adaptive_demux_get_period_start_time (demux);
+ GST_ADAPTIVE_DEMUX_SEGMENT_LOCK (demux);
if (demux->segment.rate < 0)
/* Set DISCONT flag for every first buffer in reverse playback mode
* as each fragment for its own has to be reversed */
@@ -1691,6 +1838,8 @@
demux->segment.position =
stream->segment.position - offset + period_start;
}
+ GST_ADAPTIVE_DEMUX_SEGMENT_UNLOCK (demux);
+
GST_LOG_OBJECT (stream->pad,
"Going to push buffer with PTS %" GST_TIME_FORMAT,
GST_TIME_ARGS (GST_BUFFER_PTS (buffer)));
@@ -1720,8 +1869,10 @@
stream->pending_caps = NULL;
}
if (G_UNLIKELY (stream->pending_segment)) {
+ GST_ADAPTIVE_DEMUX_SEGMENT_LOCK (demux);
pending_segment = stream->pending_segment;
stream->pending_segment = NULL;
+ GST_ADAPTIVE_DEMUX_SEGMENT_UNLOCK (demux);
}
if (G_UNLIKELY (stream->pending_tags || stream->bitrate_changed)) {
GstTagList *tags = stream->pending_tags;
@@ -1820,12 +1971,15 @@
static GstFlowReturn
_src_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
{
- GstPad *srcpad = (GstPad *) parent;
- GstAdaptiveDemuxStream *stream = gst_pad_get_element_private (srcpad);
- GstAdaptiveDemux *demux = stream->demux;
- GstAdaptiveDemuxClass *klass = GST_ADAPTIVE_DEMUX_GET_CLASS (demux);
+ GstAdaptiveDemuxStream *stream;
+ GstAdaptiveDemux *demux;
+ GstAdaptiveDemuxClass *klass;
GstFlowReturn ret = GST_FLOW_OK;
+ demux = GST_ADAPTIVE_DEMUX_CAST (parent);
+ stream = gst_pad_get_element_private (pad);
+ klass = GST_ADAPTIVE_DEMUX_GET_CLASS (demux);
+
GST_MANIFEST_LOCK (demux);
/* do not make any changes if the stream is cancelled */
@@ -1861,6 +2015,7 @@
GST_TIME_ARGS (GST_BUFFER_PTS (buffer)));
if (GST_BUFFER_PTS_IS_VALID (buffer)) {
+ GST_ADAPTIVE_DEMUX_SEGMENT_LOCK (demux);
stream->segment.position = GST_BUFFER_PTS (buffer);
/* Convert from position inside the stream's segment to the demuxer's
@@ -1869,6 +2024,7 @@
demux->segment.position)
demux->segment.position =
stream->segment.position - offset + period_start;
+ GST_ADAPTIVE_DEMUX_SEGMENT_UNLOCK (demux);
}
} else {
@@ -1977,8 +2133,7 @@
static gboolean
_src_event (GstPad * pad, GstObject * parent, GstEvent * event)
{
- GstPad *srcpad = GST_PAD_CAST (parent);
- GstAdaptiveDemuxStream *stream = gst_pad_get_element_private (srcpad);
+ GstAdaptiveDemuxStream *stream = gst_pad_get_element_private (pad);
GstAdaptiveDemux *demux = stream->demux;
switch (GST_EVENT_TYPE (event)) {
@@ -2007,6 +2162,8 @@
static gboolean
_src_query (GstPad * pad, GstObject * parent, GstQuery * query)
{
+ GstAdaptiveDemuxStream *stream = gst_pad_get_element_private (pad);
+
switch (GST_QUERY_TYPE (query)) {
case GST_QUERY_ALLOCATION:
return FALSE;
@@ -2015,7 +2172,7 @@
break;
}
- return gst_pad_query_default (pad, parent, query);
+ return gst_pad_peer_query (stream->pad, query);
}
/* must be called with manifest_lock taken.
@@ -2078,45 +2235,6 @@
return ret;
}
-static gboolean
-_adaptive_demux_pad_remove_eos_sticky (GstPad * pad, GstEvent ** event,
- gpointer udata)
-{
- if (GST_EVENT_TYPE (*event) == GST_EVENT_EOS) {
- gst_event_replace (event, NULL);
- return FALSE;
- }
- return TRUE;
-}
-
-/* must be called with manifest_lock taken */
-static void
-gst_adaptive_demux_stream_clear_eos_and_flush_state (GstAdaptiveDemuxStream *
- stream)
-{
- GstPad *internal_pad;
-
- internal_pad =
- GST_PAD_CAST (gst_proxy_pad_get_internal (GST_PROXY_PAD (stream->pad)));
- gst_pad_sticky_events_foreach (internal_pad,
- _adaptive_demux_pad_remove_eos_sticky, NULL);
- GST_OBJECT_FLAG_UNSET (internal_pad, GST_PAD_FLAG_EOS);
- /* In case the stream is recovering from a flushing seek it is also needed
- * to remove the flushing state from this pad. The flushing state is set
- * because of the flow return propagating until the source element */
- GST_PAD_UNSET_FLUSHING (internal_pad);
-
- gst_object_unref (internal_pad);
-}
-
-static void
-gst_adaptive_demux_stream_queue_overrun (GstElement * queue, gpointer user_data)
-{
- GstAdaptiveDemuxStream *stream = (GstAdaptiveDemuxStream *) user_data;
- GST_WARNING_OBJECT (stream->pad,
- "Queue overrun! The fragment to download is too big according to the current queue size limit");
-}
-
/* must be called with manifest_lock taken */
static gboolean
gst_adaptive_demux_stream_update_source (GstAdaptiveDemuxStream * stream,
@@ -2174,7 +2292,7 @@
GstElement *queue;
GstPadLinkReturn pad_link_ret;
GObjectClass *gobject_class;
- GstPad *internal_pad;
+ gchar *internal_name, *bin_name;
/* Our src consists of a bin containing uri_handler -> queue2 . The
* purpose of the queue2 is to allow the uri_handler to download an
@@ -2188,8 +2306,6 @@
g_object_set (queue, "max-size-bytes", (guint) SRC_QUEUE_MAX_BYTES, NULL);
g_object_set (queue, "max-size-buffers", (guint) 0, NULL);
g_object_set (queue, "max-size-time", (guint64) 0, NULL);
- g_signal_connect (queue, "overrun",
- G_CALLBACK (gst_adaptive_demux_stream_queue_overrun), stream);
uri_handler = gst_element_make_from_uri (GST_URI_SRC, uri, NULL, NULL);
if (uri_handler == NULL) {
@@ -2229,7 +2345,9 @@
}
/* Source bin creation */
- stream->src = gst_bin_new (NULL);
+ bin_name = g_strdup_printf ("srcbin-%s", GST_PAD_NAME (stream->pad));
+ stream->src = gst_bin_new (bin_name);
+ g_free (bin_name);
if (stream->src == NULL) {
gst_object_unref (queue);
gst_object_unref (uri_handler);
@@ -2268,20 +2386,27 @@
gst_bin_add (GST_BIN_CAST (demux), stream->src);
stream->src_srcpad = gst_element_get_static_pad (stream->src, "src");
- gst_ghost_pad_set_target (GST_GHOST_PAD_CAST (stream->pad),
- stream->src_srcpad);
-
- /* set up our internal pad to drop all events from
+ /* set up our internal floating pad to drop all events from
* the http src we don't care about. On the chain function
- * we just push the buffer forward, but this way dash can get
- * the flow return from downstream */
- internal_pad =
- GST_PAD_CAST (gst_proxy_pad_get_internal (GST_PROXY_PAD (stream->pad)));
- gst_pad_set_chain_function (GST_PAD_CAST (internal_pad), _src_chain);
- gst_pad_set_event_function (GST_PAD_CAST (internal_pad), _src_event);
- /* need to set query otherwise deadlocks happen with allocation queries */
- gst_pad_set_query_function (GST_PAD_CAST (internal_pad), _src_query);
- gst_object_unref (internal_pad);
+ * we just push the buffer forward */
+ internal_name = g_strdup_printf ("internal-%s", GST_PAD_NAME (stream->pad));
+ stream->internal_pad = gst_pad_new (internal_name, GST_PAD_SINK);
+ g_free (internal_name);
+ gst_object_set_parent (GST_OBJECT_CAST (stream->internal_pad),
+ GST_OBJECT_CAST (demux));
+ GST_OBJECT_FLAG_SET (stream->internal_pad, GST_PAD_FLAG_NEED_PARENT);
+ gst_pad_set_element_private (stream->internal_pad, stream);
+ gst_pad_set_active (stream->internal_pad, TRUE);
+ gst_pad_set_chain_function (stream->internal_pad, _src_chain);
+ gst_pad_set_event_function (stream->internal_pad, _src_event);
+ gst_pad_set_query_function (stream->internal_pad, _src_query);
+
+ if (gst_pad_link_full (stream->src_srcpad, stream->internal_pad,
+ GST_PAD_LINK_CHECK_NOTHING) != GST_PAD_LINK_OK) {
+ GST_ERROR_OBJECT (stream->pad, "Failed to link internal pad");
+ return FALSE;
+ }
+
stream->uri_handler = uri_handler;
stream->queue = queue;
}
@@ -2385,24 +2510,11 @@
ret = GST_FLOW_CUSTOM_ERROR;
}
- /* flush the proxypads so that the EOS state is reset */
- gst_pad_push_event (stream->src_srcpad, gst_event_new_flush_start ());
-
- /* sending flush stop event will serialiase on stream->src_srcpad.
- * But the _src_chain function will first get the pad lock and then the
- * manifest lock, so we cannot hold the manifest lock here while
- * we will try to get the pad lock (taking locks in reversing order
- * will lead to deadlock)
- *
- * In conclusion, we need to release the manifest lock before flushing
- */
- GST_MANIFEST_UNLOCK (demux);
-
- gst_pad_push_event (stream->src_srcpad, gst_event_new_flush_stop (TRUE));
-
/* changing src element state might try to join the streaming thread, so
* we must not hold the manifest lock.
*/
+ GST_MANIFEST_UNLOCK (demux);
+
gst_element_set_state (stream->src, GST_STATE_READY);
GST_MANIFEST_LOCK (demux);
@@ -2414,7 +2526,10 @@
}
g_mutex_unlock (&stream->fragment_download_lock);
- gst_adaptive_demux_stream_clear_eos_and_flush_state (stream);
+ /* deactivate and reactivate our ghostpad to make it fresh for a new
+ * stream */
+ gst_pad_set_active (stream->internal_pad, FALSE);
+ gst_pad_set_active (stream->internal_pad, TRUE);
return ret;
}
@@ -2560,21 +2675,25 @@
g_mutex_unlock (&stream->fragment_download_lock);
/* Check if we're done with our segment */
+ GST_ADAPTIVE_DEMUX_SEGMENT_LOCK (demux);
if (demux->segment.rate > 0) {
if (GST_CLOCK_TIME_IS_VALID (demux->segment.stop)
&& stream->segment.position >= stream->segment.stop) {
+ GST_ADAPTIVE_DEMUX_SEGMENT_UNLOCK (demux);
ret = GST_FLOW_EOS;
gst_task_stop (stream->download_task);
goto end_of_manifest;
}
} else {
if (GST_CLOCK_TIME_IS_VALID (demux->segment.start)
- && stream->segment.position < stream->segment.start) {
+ && stream->segment.position <= stream->segment.start) {
+ GST_ADAPTIVE_DEMUX_SEGMENT_UNLOCK (demux);
ret = GST_FLOW_EOS;
gst_task_stop (stream->download_task);
goto end_of_manifest;
}
}
+ GST_ADAPTIVE_DEMUX_SEGMENT_UNLOCK (demux);
/* Cleanup old streams if any */
if (G_UNLIKELY (demux->priv->old_streams != NULL)) {
@@ -2599,18 +2718,13 @@
}
if (G_UNLIKELY (stream->restart_download)) {
- GstSegment segment;
GstEvent *seg_event;
- GstClockTime cur, ts;
+ GstClockTime cur, ts = 0;
gint64 pos;
GST_DEBUG_OBJECT (stream->pad,
"Activating stream due to reconfigure event");
- cur = ts =
- gst_segment_to_stream_time (&stream->segment, GST_FORMAT_TIME,
- stream->segment.position);
-
if (gst_pad_peer_query_position (stream->pad, GST_FORMAT_TIME, &pos)) {
ts = (GstClockTime) pos;
GST_DEBUG_OBJECT (demux, "Downstream position: %"
@@ -2635,14 +2749,17 @@
}
}
+ GST_ADAPTIVE_DEMUX_SEGMENT_LOCK (demux);
+ cur =
+ gst_segment_to_stream_time (&stream->segment, GST_FORMAT_TIME,
+ stream->segment.position);
+
/* we might have already pushed this data */
ts = MAX (ts, cur);
GST_DEBUG_OBJECT (stream->pad, "Restarting stream at "
"position %" GST_TIME_FORMAT, GST_TIME_ARGS (ts));
- gst_segment_copy_into (&demux->segment, &segment);
-
if (GST_CLOCK_TIME_IS_VALID (ts)) {
GstClockTime offset, period_start;
@@ -2651,9 +2768,10 @@
period_start = gst_adaptive_demux_get_period_start_time (demux);
/* TODO check return */
- gst_adaptive_demux_stream_seek (demux, stream, ts);
+ gst_adaptive_demux_stream_seek (demux, stream, demux->segment.rate >= 0,
+ 0, ts, &ts);
- segment.position = ts - period_start + offset;
+ stream->segment.position = ts - period_start + offset;
}
/* The stream's segment is still correct except for
@@ -2661,6 +2779,8 @@
* updated position */
seg_event = gst_event_new_segment (&stream->segment);
gst_event_set_seqnum (seg_event, demux->priv->segment_seqnum);
+ GST_ADAPTIVE_DEMUX_SEGMENT_UNLOCK (demux);
+
GST_DEBUG_OBJECT (stream->pad, "Sending restart segment: %"
GST_PTR_FORMAT, seg_event);
gst_pad_push_event (stream->pad, seg_event);
@@ -3013,12 +3133,13 @@
/* must be called with manifest_lock taken */
static GstFlowReturn
gst_adaptive_demux_stream_seek (GstAdaptiveDemux * demux,
- GstAdaptiveDemuxStream * stream, GstClockTime ts)
+ GstAdaptiveDemuxStream * stream, gboolean forward, GstSeekFlags flags,
+ GstClockTime ts, GstClockTime * final_ts)
{
GstAdaptiveDemuxClass *klass = GST_ADAPTIVE_DEMUX_GET_CLASS (demux);
if (klass->stream_seek)
- return klass->stream_seek (stream, ts);
+ return klass->stream_seek (stream, forward, flags, ts, final_ts);
return GST_FLOW_ERROR;
}
@@ -3080,7 +3201,9 @@
GST_TYPE_CLOCK_TIME,
stream->download_total_time * GST_USECOND, NULL)));
- if (GST_CLOCK_TIME_IS_VALID (duration)) {
+ /* Don't update to the end of the segment if in reverse playback */
+ GST_ADAPTIVE_DEMUX_SEGMENT_LOCK (demux);
+ if (GST_CLOCK_TIME_IS_VALID (duration) && demux->segment.rate > 0) {
GstClockTime offset =
gst_adaptive_demux_stream_get_presentation_offset (demux, stream);
GstClockTime period_start =
@@ -3095,6 +3218,7 @@
demux->segment.position =
stream->segment.position - offset + period_start;
}
+ GST_ADAPTIVE_DEMUX_SEGMENT_UNLOCK (demux);
if (gst_adaptive_demux_is_live (demux)
|| gst_adaptive_demux_stream_has_next_fragment (demux, stream)) {
diff --git a/gst-libs/gst/adaptivedemux/gstadaptivedemux.h b/gst-libs/gst/adaptivedemux/gstadaptivedemux.h
index b95af59..ae2d895 100644
--- a/gst-libs/gst/adaptivedemux/gstadaptivedemux.h
+++ b/gst-libs/gst/adaptivedemux/gstadaptivedemux.h
@@ -114,6 +114,7 @@
struct _GstAdaptiveDemuxStream
{
GstPad *pad;
+ GstPad *internal_pad;
GstAdaptiveDemux *demux;
@@ -159,6 +160,11 @@
gint64 download_total_bytes;
guint64 current_download_rate;
+ /* Average for the last fragments */
+ guint64 moving_bitrate;
+ guint moving_index;
+ guint64 *fragment_bitrates;
+
GstAdaptiveDemuxStreamFragment fragment;
guint download_error_count;
@@ -309,7 +315,7 @@
void (*advance_period) (GstAdaptiveDemux * demux);
void (*stream_free) (GstAdaptiveDemuxStream * stream);
- GstFlowReturn (*stream_seek) (GstAdaptiveDemuxStream * stream, GstClockTime ts);
+ GstFlowReturn (*stream_seek) (GstAdaptiveDemuxStream * stream, gboolean forward, GstSeekFlags flags, GstClockTime target_ts, GstClockTime * final_ts);
gboolean (*stream_has_next_fragment) (GstAdaptiveDemuxStream * stream);
GstFlowReturn (*stream_advance_fragment) (GstAdaptiveDemuxStream * stream);
/**
@@ -429,6 +435,8 @@
GstAdaptiveDemuxStream *gst_adaptive_demux_stream_new (GstAdaptiveDemux * demux,
GstPad * pad);
+GstAdaptiveDemuxStream *gst_adaptive_demux_find_stream_for_pad (GstAdaptiveDemux * demux,
+ GstPad * pad);
void gst_adaptive_demux_stream_set_caps (GstAdaptiveDemuxStream * stream,
GstCaps * caps);
void gst_adaptive_demux_stream_set_tags (GstAdaptiveDemuxStream * stream,
diff --git a/gst-libs/gst/audio/Makefile.am b/gst-libs/gst/audio/Makefile.am
new file mode 100644
index 0000000..d810148
--- /dev/null
+++ b/gst-libs/gst/audio/Makefile.am
@@ -0,0 +1,27 @@
+# variables used for enum generation
+lib_LTLIBRARIES = libgstbadaudio-@GST_API_VERSION@.la
+
+CLEANFILES =
+
+libgstbadaudio_@GST_API_VERSION@_la_SOURCES = \
+ gstaudioaggregator.c
+
+nodist_libgstbadaudio_@GST_API_VERSION@_la_SOURCES = $(BUILT_SOURCES)
+
+libgstbadaudio_@GST_API_VERSION@_la_CFLAGS = \
+ -DGST_USE_UNSTABLE_API \
+ -I$(top_srcdir)/gst-libs \
+ -I$(top_builddir)/gst-libs \
+ $(GST_CFLAGS) $(ORC_CFLAGS) \
+ $(GST_PLUGINS_BASE_CFLAGS) \
+ $(GST_BASE_CFLAGS)
+
+libgstbadaudio_@GST_API_VERSION@_la_LIBADD = \
+ $(top_builddir)/gst-libs/gst/base/libgstbadbase-$(GST_API_VERSION).la \
+ $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) \
+ $(GST_BASE_LIBS) $(GST_LIBS) $(ORC_LIBS) $(LIBM)
+
+libgstbadaudio_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
+
+libgstaudio_@GST_API_VERSION@includedir = $(includedir)/gstreamer-@GST_API_VERSION@/gst/audio
+libgstaudio_@GST_API_VERSION@include_HEADERS = gstaudioaggregator.h
diff --git a/ext/mpg123/Makefile.in b/gst-libs/gst/audio/Makefile.in
similarity index 79%
copy from ext/mpg123/Makefile.in
copy to gst-libs/gst/audio/Makefile.in
index e0f8f27..c854e91 100644
--- a/ext/mpg123/Makefile.in
+++ b/gst-libs/gst/audio/Makefile.in
@@ -90,7 +90,7 @@
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
-subdir = ext/mpg123
+subdir = gst-libs/gst/audio
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
@@ -116,19 +116,19 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+DIST_COMMON = $(srcdir)/Makefile.am \
+ $(libgstaudio_@GST_API_VERSION@include_HEADERS) \
$(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
@@ -161,22 +161,29 @@
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
-am__installdirs = "$(DESTDIR)$(plugindir)"
-LTLIBRARIES = $(plugin_LTLIBRARIES)
+am__installdirs = "$(DESTDIR)$(libdir)" \
+ "$(DESTDIR)$(libgstaudio_@GST_API_VERSION@includedir)"
+LTLIBRARIES = $(lib_LTLIBRARIES)
am__DEPENDENCIES_1 =
-libgstmpg123_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+libgstbadaudio_@GST_API_VERSION@_la_DEPENDENCIES = $(top_builddir)/gst-libs/gst/base/libgstbadbase-$(GST_API_VERSION).la \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1)
-am_libgstmpg123_la_OBJECTS = libgstmpg123_la-gstmpg123audiodec.lo
-libgstmpg123_la_OBJECTS = $(am_libgstmpg123_la_OBJECTS)
+am_libgstbadaudio_@GST_API_VERSION@_la_OBJECTS = \
+ libgstbadaudio_@GST_API_VERSION@_la-gstaudioaggregator.lo
+nodist_libgstbadaudio_@GST_API_VERSION@_la_OBJECTS =
+libgstbadaudio_@GST_API_VERSION@_la_OBJECTS = \
+ $(am_libgstbadaudio_@GST_API_VERSION@_la_OBJECTS) \
+ $(nodist_libgstbadaudio_@GST_API_VERSION@_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
-libgstmpg123_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
- $(libgstmpg123_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
- $(CCLD) $(libgstmpg123_la_CFLAGS) $(CFLAGS) \
- $(libgstmpg123_la_LDFLAGS) $(LDFLAGS) -o $@
+libgstbadaudio_@GST_API_VERSION@_la_LINK = $(LIBTOOL) $(AM_V_lt) \
+ --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+ $(CCLD) $(libgstbadaudio_@GST_API_VERSION@_la_CFLAGS) \
+ $(CFLAGS) $(libgstbadaudio_@GST_API_VERSION@_la_LDFLAGS) \
+ $(LDFLAGS) -o $@
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
@@ -211,33 +218,16 @@
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
-SOURCES = $(libgstmpg123_la_SOURCES)
-DIST_SOURCES = $(libgstmpg123_la_SOURCES)
+SOURCES = $(libgstbadaudio_@GST_API_VERSION@_la_SOURCES) \
+ $(nodist_libgstbadaudio_@GST_API_VERSION@_la_SOURCES)
+DIST_SOURCES = $(libgstbadaudio_@GST_API_VERSION@_la_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
-HEADERS = $(noinst_HEADERS)
+HEADERS = $(libgstaudio_@GST_API_VERSION@include_HEADERS)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates. Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
- BEGIN { nonempty = 0; } \
- { items[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique. This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
- list='$(am__tagged_files)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
@@ -324,7 +314,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +335,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +356,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +517,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +531,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +617,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +668,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +689,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +728,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -783,18 +767,30 @@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
wayland_scanner = @wayland_scanner@
-plugin_LTLIBRARIES = libgstmpg123.la
-libgstmpg123_la_SOURCES = gstmpg123audiodec.c
-libgstmpg123_la_CFLAGS = -DGST_USE_UNSTABLE_API \
+
+# variables used for enum generation
+lib_LTLIBRARIES = libgstbadaudio-@GST_API_VERSION@.la
+CLEANFILES =
+libgstbadaudio_@GST_API_VERSION@_la_SOURCES = \
+ gstaudioaggregator.c
+
+nodist_libgstbadaudio_@GST_API_VERSION@_la_SOURCES = $(BUILT_SOURCES)
+libgstbadaudio_@GST_API_VERSION@_la_CFLAGS = \
+ -DGST_USE_UNSTABLE_API \
+ -I$(top_srcdir)/gst-libs \
+ -I$(top_builddir)/gst-libs \
+ $(GST_CFLAGS) $(ORC_CFLAGS) \
$(GST_PLUGINS_BASE_CFLAGS) \
- $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(MPG123_CFLAGS)
+ $(GST_BASE_CFLAGS)
-libgstmpg123_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-@GST_API_VERSION@ \
- $(GST_BASE_LIBS) $(GST_LIBS) $(MPG123_LIBS)
+libgstbadaudio_@GST_API_VERSION@_la_LIBADD = \
+ $(top_builddir)/gst-libs/gst/base/libgstbadbase-$(GST_API_VERSION).la \
+ $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_API_VERSION) \
+ $(GST_BASE_LIBS) $(GST_LIBS) $(ORC_LIBS) $(LIBM)
-libgstmpg123_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
-libgstmpg123_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
-noinst_HEADERS = gstmpg123audiodec.h
+libgstbadaudio_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
+libgstaudio_@GST_API_VERSION@includedir = $(includedir)/gstreamer-@GST_API_VERSION@/gst/audio
+libgstaudio_@GST_API_VERSION@include_HEADERS = gstaudioaggregator.h
all: all-am
.SUFFIXES:
@@ -808,9 +804,9 @@
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ext/mpg123/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst-libs/gst/audio/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu ext/mpg123/Makefile
+ $(AUTOMAKE) --gnu gst-libs/gst/audio/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -829,33 +825,33 @@
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
-install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES)
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
- @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
list2=; for p in $$list; do \
if test -f $$p; then \
list2="$$list2 $$p"; \
else :; fi; \
done; \
test -z "$$list2" || { \
- echo " $(MKDIR_P) '$(DESTDIR)$(plugindir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(plugindir)" || exit 1; \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(plugindir)'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(plugindir)"; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
}
-uninstall-pluginLTLIBRARIES:
+uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL)
- @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
+ @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
for p in $$list; do \
$(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(plugindir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(plugindir)/$$f"; \
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
done
-clean-pluginLTLIBRARIES:
- -test -z "$(plugin_LTLIBRARIES)" || rm -f $(plugin_LTLIBRARIES)
- @list='$(plugin_LTLIBRARIES)'; \
+clean-libLTLIBRARIES:
+ -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+ @list='$(lib_LTLIBRARIES)'; \
locs=`for p in $$list; do echo $$p; done | \
sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
sort -u`; \
@@ -864,8 +860,8 @@
rm -f $${locs}; \
}
-libgstmpg123.la: $(libgstmpg123_la_OBJECTS) $(libgstmpg123_la_DEPENDENCIES) $(EXTRA_libgstmpg123_la_DEPENDENCIES)
- $(AM_V_CCLD)$(libgstmpg123_la_LINK) -rpath $(plugindir) $(libgstmpg123_la_OBJECTS) $(libgstmpg123_la_LIBADD) $(LIBS)
+libgstbadaudio-@GST_API_VERSION@.la: $(libgstbadaudio_@GST_API_VERSION@_la_OBJECTS) $(libgstbadaudio_@GST_API_VERSION@_la_DEPENDENCIES) $(EXTRA_libgstbadaudio_@GST_API_VERSION@_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libgstbadaudio_@GST_API_VERSION@_la_LINK) -rpath $(libdir) $(libgstbadaudio_@GST_API_VERSION@_la_OBJECTS) $(libgstbadaudio_@GST_API_VERSION@_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -873,7 +869,7 @@
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstmpg123_la-gstmpg123audiodec.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstbadaudio_@GST_API_VERSION@_la-gstaudioaggregator.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -899,70 +895,45 @@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-libgstmpg123_la-gstmpg123audiodec.lo: gstmpg123audiodec.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstmpg123_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstmpg123_la_CFLAGS) $(CFLAGS) -MT libgstmpg123_la-gstmpg123audiodec.lo -MD -MP -MF $(DEPDIR)/libgstmpg123_la-gstmpg123audiodec.Tpo -c -o libgstmpg123_la-gstmpg123audiodec.lo `test -f 'gstmpg123audiodec.c' || echo '$(srcdir)/'`gstmpg123audiodec.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstmpg123_la-gstmpg123audiodec.Tpo $(DEPDIR)/libgstmpg123_la-gstmpg123audiodec.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstmpg123audiodec.c' object='libgstmpg123_la-gstmpg123audiodec.lo' libtool=yes @AMDEPBACKSLASH@
+libgstbadaudio_@GST_API_VERSION@_la-gstaudioaggregator.lo: gstaudioaggregator.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstbadaudio_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstbadaudio_@GST_API_VERSION@_la-gstaudioaggregator.lo -MD -MP -MF $(DEPDIR)/libgstbadaudio_@GST_API_VERSION@_la-gstaudioaggregator.Tpo -c -o libgstbadaudio_@GST_API_VERSION@_la-gstaudioaggregator.lo `test -f 'gstaudioaggregator.c' || echo '$(srcdir)/'`gstaudioaggregator.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstbadaudio_@GST_API_VERSION@_la-gstaudioaggregator.Tpo $(DEPDIR)/libgstbadaudio_@GST_API_VERSION@_la-gstaudioaggregator.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstaudioaggregator.c' object='libgstbadaudio_@GST_API_VERSION@_la-gstaudioaggregator.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 $(libgstmpg123_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstmpg123_la_CFLAGS) $(CFLAGS) -c -o libgstmpg123_la-gstmpg123audiodec.lo `test -f 'gstmpg123audiodec.c' || echo '$(srcdir)/'`gstmpg123audiodec.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstbadaudio_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstbadaudio_@GST_API_VERSION@_la-gstaudioaggregator.lo `test -f 'gstaudioaggregator.c' || echo '$(srcdir)/'`gstaudioaggregator.c
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
+install-libgstaudio_@GST_API_VERSION@includeHEADERS: $(libgstaudio_@GST_API_VERSION@include_HEADERS)
+ @$(NORMAL_INSTALL)
+ @list='$(libgstaudio_@GST_API_VERSION@include_HEADERS)'; test -n "$(libgstaudio_@GST_API_VERSION@includedir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libgstaudio_@GST_API_VERSION@includedir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libgstaudio_@GST_API_VERSION@includedir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(libgstaudio_@GST_API_VERSION@includedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(libgstaudio_@GST_API_VERSION@includedir)" || exit $$?; \
+ done
-ID: $(am__tagged_files)
- $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
-TAGS: tags
+uninstall-libgstaudio_@GST_API_VERSION@includeHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(libgstaudio_@GST_API_VERSION@include_HEADERS)'; test -n "$(libgstaudio_@GST_API_VERSION@includedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(libgstaudio_@GST_API_VERSION@includedir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- set x; \
- here=`pwd`; \
- $(am__define_uniq_tagged_files); \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: ctags-am
+ctags CTAGS:
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- $(am__define_uniq_tagged_files); \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
+cscope cscopelist:
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
-
-cscopelist-am: $(am__tagged_files)
- list='$(am__tagged_files)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -998,7 +969,7 @@
check: check-am
all-am: Makefile $(LTLIBRARIES) $(HEADERS)
installdirs:
- for dir in "$(DESTDIR)$(plugindir)"; do \
+ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(libgstaudio_@GST_API_VERSION@includedir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
@@ -1023,6 +994,7 @@
mostlyclean-generic:
clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
@@ -1033,14 +1005,13 @@
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
-clean-am: clean-generic clean-libtool clean-pluginLTLIBRARIES \
+clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
+distclean-am: clean-am distclean-compile distclean-generic
dvi: dvi-am
@@ -1054,13 +1025,13 @@
info-am:
-install-data-am: install-pluginLTLIBRARIES
+install-data-am: install-libgstaudio_@GST_API_VERSION@includeHEADERS
install-dvi: install-dvi-am
install-dvi-am:
-install-exec-am:
+install-exec-am: install-libLTLIBRARIES
install-html: install-html-am
@@ -1100,24 +1071,27 @@
ps-am:
-uninstall-am: uninstall-pluginLTLIBRARIES
+uninstall-am: uninstall-libLTLIBRARIES \
+ uninstall-libgstaudio_@GST_API_VERSION@includeHEADERS
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-pluginLTLIBRARIES cscopelist-am ctags \
- ctags-am distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-pluginLTLIBRARIES install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
- uninstall-pluginLTLIBRARIES
+.PHONY: all all-am check check-am clean clean-generic \
+ clean-libLTLIBRARIES clean-libtool cscopelist-am ctags-am \
+ distclean distclean-compile distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am \
+ install-libLTLIBRARIES \
+ install-libgstaudio_@GST_API_VERSION@includeHEADERS \
+ install-man install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
+ uninstall-am uninstall-libLTLIBRARIES \
+ uninstall-libgstaudio_@GST_API_VERSION@includeHEADERS
.PRECIOUS: Makefile
diff --git a/gst/audiomixer/gstaudioaggregator.c b/gst-libs/gst/audio/gstaudioaggregator.c
similarity index 100%
rename from gst/audiomixer/gstaudioaggregator.c
rename to gst-libs/gst/audio/gstaudioaggregator.c
diff --git a/gst/audiomixer/gstaudioaggregator.h b/gst-libs/gst/audio/gstaudioaggregator.h
similarity index 100%
rename from gst/audiomixer/gstaudioaggregator.h
rename to gst-libs/gst/audio/gstaudioaggregator.h
diff --git a/gst-libs/gst/base/Makefile.am b/gst-libs/gst/base/Makefile.am
index 0d55368..993701d 100644
--- a/gst-libs/gst/base/Makefile.am
+++ b/gst-libs/gst/base/Makefile.am
@@ -9,8 +9,8 @@
libgstbadbase_@GST_API_VERSION@_la_LIBADD = $(GST_LIBS)
libgstbadbase_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
-noinst_HEADERS = \
- gstaggregator.h
+libgstbase_@GST_API_VERSION@includedir = $(includedir)/gstreamer-@GST_API_VERSION@/gst/base
+libgstbase_@GST_API_VERSION@include_HEADERS = gstaggregator.h
EXTRA_DIST =
diff --git a/gst-libs/gst/base/Makefile.in b/gst-libs/gst/base/Makefile.in
index d73b45a..f7c8438 100644
--- a/gst-libs/gst/base/Makefile.in
+++ b/gst-libs/gst/base/Makefile.in
@@ -116,19 +116,19 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+DIST_COMMON = $(srcdir)/Makefile.am \
+ $(libgstbase_@GST_API_VERSION@include_HEADERS) \
$(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
@@ -161,7 +161,8 @@
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
-am__installdirs = "$(DESTDIR)$(libdir)"
+am__installdirs = "$(DESTDIR)$(libdir)" \
+ "$(DESTDIR)$(libgstbase_@GST_API_VERSION@includedir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
am__DEPENDENCIES_1 =
libgstbadbase_@GST_API_VERSION@_la_DEPENDENCIES = \
@@ -219,26 +220,8 @@
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
-HEADERS = $(noinst_HEADERS)
+HEADERS = $(libgstbase_@GST_API_VERSION@include_HEADERS)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates. Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
- BEGIN { nonempty = 0; } \
- { items[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique. This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
- list='$(am__tagged_files)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
@@ -325,7 +308,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +329,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +350,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +511,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +525,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +611,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +662,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +683,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +722,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -793,9 +770,8 @@
libgstbadbase_@GST_API_VERSION@_la_LIBADD = $(GST_LIBS)
libgstbadbase_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
-noinst_HEADERS = \
- gstaggregator.h
-
+libgstbase_@GST_API_VERSION@includedir = $(includedir)/gstreamer-@GST_API_VERSION@/gst/base
+libgstbase_@GST_API_VERSION@include_HEADERS = gstaggregator.h
EXTRA_DIST =
all: all-am
@@ -913,58 +889,33 @@
clean-libtool:
-rm -rf .libs _libs
+install-libgstbase_@GST_API_VERSION@includeHEADERS: $(libgstbase_@GST_API_VERSION@include_HEADERS)
+ @$(NORMAL_INSTALL)
+ @list='$(libgstbase_@GST_API_VERSION@include_HEADERS)'; test -n "$(libgstbase_@GST_API_VERSION@includedir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libgstbase_@GST_API_VERSION@includedir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libgstbase_@GST_API_VERSION@includedir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(libgstbase_@GST_API_VERSION@includedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(libgstbase_@GST_API_VERSION@includedir)" || exit $$?; \
+ done
-ID: $(am__tagged_files)
- $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
-TAGS: tags
+uninstall-libgstbase_@GST_API_VERSION@includeHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(libgstbase_@GST_API_VERSION@include_HEADERS)'; test -n "$(libgstbase_@GST_API_VERSION@includedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(libgstbase_@GST_API_VERSION@includedir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- set x; \
- here=`pwd`; \
- $(am__define_uniq_tagged_files); \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: ctags-am
+ctags CTAGS:
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- $(am__define_uniq_tagged_files); \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
+cscope cscopelist:
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
-
-cscopelist-am: $(am__tagged_files)
- list='$(am__tagged_files)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -1000,7 +951,7 @@
check: check-am
all-am: Makefile $(LTLIBRARIES) $(HEADERS)
installdirs:
- for dir in "$(DESTDIR)$(libdir)"; do \
+ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(libgstbase_@GST_API_VERSION@includedir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
@@ -1041,8 +992,7 @@
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
+distclean-am: clean-am distclean-compile distclean-generic
dvi: dvi-am
@@ -1056,7 +1006,7 @@
info-am:
-install-data-am:
+install-data-am: install-libgstbase_@GST_API_VERSION@includeHEADERS
install-dvi: install-dvi-am
@@ -1102,23 +1052,27 @@
ps-am:
-uninstall-am: uninstall-libLTLIBRARIES
+uninstall-am: uninstall-libLTLIBRARIES \
+ uninstall-libgstbase_@GST_API_VERSION@includeHEADERS
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
- clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \
- ctags-am distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-libLTLIBRARIES install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES
+.PHONY: all all-am check check-am clean clean-generic \
+ clean-libLTLIBRARIES clean-libtool cscopelist-am ctags-am \
+ distclean distclean-compile distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am \
+ install-libLTLIBRARIES \
+ install-libgstbase_@GST_API_VERSION@includeHEADERS install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic mostlyclean \
+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+ pdf pdf-am ps ps-am tags-am uninstall uninstall-am \
+ uninstall-libLTLIBRARIES \
+ uninstall-libgstbase_@GST_API_VERSION@includeHEADERS
.PRECIOUS: Makefile
diff --git a/gst-libs/gst/basecamerabinsrc/Makefile.in b/gst-libs/gst/basecamerabinsrc/Makefile.in
index 6bf6b54..2ead3f1 100644
--- a/gst-libs/gst/basecamerabinsrc/Makefile.in
+++ b/gst-libs/gst/basecamerabinsrc/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am \
@@ -314,7 +313,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -336,7 +334,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -358,9 +355,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -522,6 +516,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -535,8 +530,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -623,8 +616,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -676,6 +667,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -696,6 +688,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -733,7 +727,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst-libs/gst/codecparsers/Makefile.am b/gst-libs/gst/codecparsers/Makefile.am
index e2498db..b180570 100644
--- a/gst-libs/gst/codecparsers/Makefile.am
+++ b/gst-libs/gst/codecparsers/Makefile.am
@@ -5,18 +5,20 @@
gsth265parser.c gstvp8parser.c gstvp8rangedecoder.c \
parserutils.c nalutils.c dboolhuff.c vp8utils.c \
gstjpegparser.c \
- gstmpegvideometa.c
+ gstmpegvideometa.c \
+ gstvp9parser.c vp9utils.c
libgstcodecparsers_@GST_API_VERSION@includedir = \
$(includedir)/gstreamer-@GST_API_VERSION@/gst/codecparsers
-noinst_HEADERS = parserutils.h nalutils.h dboolhuff.h vp8utils.h
+noinst_HEADERS = parserutils.h nalutils.h dboolhuff.h vp8utils.h vp9utils.h
libgstcodecparsers_@GST_API_VERSION@include_HEADERS = \
gstmpegvideoparser.h gsth264parser.h gstvc1parser.h gstmpeg4parser.h \
gsth265parser.h gstvp8parser.h gstvp8rangedecoder.h \
gstjpegparser.h \
- gstmpegvideometa.h
+ gstmpegvideometa.h \
+ gstvp9parser.h
libgstcodecparsers_@GST_API_VERSION@_la_CFLAGS = \
$(GST_PLUGINS_BAD_CFLAGS) \
diff --git a/gst-libs/gst/codecparsers/Makefile.in b/gst-libs/gst/codecparsers/Makefile.in
index 9e44209..10119ba 100644
--- a/gst-libs/gst/codecparsers/Makefile.in
+++ b/gst-libs/gst/codecparsers/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am \
@@ -182,7 +181,9 @@
libgstcodecparsers_@GST_API_VERSION@_la-dboolhuff.lo \
libgstcodecparsers_@GST_API_VERSION@_la-vp8utils.lo \
libgstcodecparsers_@GST_API_VERSION@_la-gstjpegparser.lo \
- libgstcodecparsers_@GST_API_VERSION@_la-gstmpegvideometa.lo
+ libgstcodecparsers_@GST_API_VERSION@_la-gstmpegvideometa.lo \
+ libgstcodecparsers_@GST_API_VERSION@_la-gstvp9parser.lo \
+ libgstcodecparsers_@GST_API_VERSION@_la-vp9utils.lo
libgstcodecparsers_@GST_API_VERSION@_la_OBJECTS = \
$(am_libgstcodecparsers_@GST_API_VERSION@_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
@@ -342,7 +343,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -364,7 +364,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -386,9 +385,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -550,6 +546,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -563,8 +560,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -651,8 +646,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -704,6 +697,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -724,6 +718,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -761,7 +757,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -807,17 +802,19 @@
gsth265parser.c gstvp8parser.c gstvp8rangedecoder.c \
parserutils.c nalutils.c dboolhuff.c vp8utils.c \
gstjpegparser.c \
- gstmpegvideometa.c
+ gstmpegvideometa.c \
+ gstvp9parser.c vp9utils.c
libgstcodecparsers_@GST_API_VERSION@includedir = \
$(includedir)/gstreamer-@GST_API_VERSION@/gst/codecparsers
-noinst_HEADERS = parserutils.h nalutils.h dboolhuff.h vp8utils.h
+noinst_HEADERS = parserutils.h nalutils.h dboolhuff.h vp8utils.h vp9utils.h
libgstcodecparsers_@GST_API_VERSION@include_HEADERS = \
gstmpegvideoparser.h gsth264parser.h gstvc1parser.h gstmpeg4parser.h \
gsth265parser.h gstvp8parser.h gstvp8rangedecoder.h \
gstjpegparser.h \
- gstmpegvideometa.h
+ gstmpegvideometa.h \
+ gstvp9parser.h
libgstcodecparsers_@GST_API_VERSION@_la_CFLAGS = \
$(GST_PLUGINS_BAD_CFLAGS) \
@@ -926,9 +923,11 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcodecparsers_@GST_API_VERSION@_la-gstvc1parser.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcodecparsers_@GST_API_VERSION@_la-gstvp8parser.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcodecparsers_@GST_API_VERSION@_la-gstvp8rangedecoder.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcodecparsers_@GST_API_VERSION@_la-gstvp9parser.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcodecparsers_@GST_API_VERSION@_la-nalutils.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcodecparsers_@GST_API_VERSION@_la-parserutils.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcodecparsers_@GST_API_VERSION@_la-vp8utils.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstcodecparsers_@GST_API_VERSION@_la-vp9utils.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -1045,6 +1044,20 @@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstcodecparsers_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstcodecparsers_@GST_API_VERSION@_la-gstmpegvideometa.lo `test -f 'gstmpegvideometa.c' || echo '$(srcdir)/'`gstmpegvideometa.c
+libgstcodecparsers_@GST_API_VERSION@_la-gstvp9parser.lo: gstvp9parser.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstcodecparsers_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstcodecparsers_@GST_API_VERSION@_la-gstvp9parser.lo -MD -MP -MF $(DEPDIR)/libgstcodecparsers_@GST_API_VERSION@_la-gstvp9parser.Tpo -c -o libgstcodecparsers_@GST_API_VERSION@_la-gstvp9parser.lo `test -f 'gstvp9parser.c' || echo '$(srcdir)/'`gstvp9parser.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstcodecparsers_@GST_API_VERSION@_la-gstvp9parser.Tpo $(DEPDIR)/libgstcodecparsers_@GST_API_VERSION@_la-gstvp9parser.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstvp9parser.c' object='libgstcodecparsers_@GST_API_VERSION@_la-gstvp9parser.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 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstcodecparsers_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstcodecparsers_@GST_API_VERSION@_la-gstvp9parser.lo `test -f 'gstvp9parser.c' || echo '$(srcdir)/'`gstvp9parser.c
+
+libgstcodecparsers_@GST_API_VERSION@_la-vp9utils.lo: vp9utils.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstcodecparsers_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstcodecparsers_@GST_API_VERSION@_la-vp9utils.lo -MD -MP -MF $(DEPDIR)/libgstcodecparsers_@GST_API_VERSION@_la-vp9utils.Tpo -c -o libgstcodecparsers_@GST_API_VERSION@_la-vp9utils.lo `test -f 'vp9utils.c' || echo '$(srcdir)/'`vp9utils.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstcodecparsers_@GST_API_VERSION@_la-vp9utils.Tpo $(DEPDIR)/libgstcodecparsers_@GST_API_VERSION@_la-vp9utils.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='vp9utils.c' object='libgstcodecparsers_@GST_API_VERSION@_la-vp9utils.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 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstcodecparsers_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstcodecparsers_@GST_API_VERSION@_la-vp9utils.lo `test -f 'vp9utils.c' || echo '$(srcdir)/'`vp9utils.c
+
mostlyclean-libtool:
-rm -f *.lo
diff --git a/gst-libs/gst/codecparsers/dboolhuff.h b/gst-libs/gst/codecparsers/dboolhuff.h
index 5d27eaf..1ca51c1 100644
--- a/gst-libs/gst/codecparsers/dboolhuff.h
+++ b/gst-libs/gst/codecparsers/dboolhuff.h
@@ -15,6 +15,7 @@
#include <stdint.h>
#include <stddef.h>
#include <limits.h>
+#include <glib.h>
typedef size_t VP8_BD_VALUE;
@@ -42,14 +43,17 @@
void *decrypt_state;
} BOOL_DECODER;
+G_GNUC_INTERNAL
extern const unsigned char vp8_norm[256];
+G_GNUC_INTERNAL
int vp8dx_start_decode(BOOL_DECODER *br,
const unsigned char *source,
unsigned int source_sz,
vp8_decrypt_cb *decrypt_cb,
void *decrypt_state);
+G_GNUC_INTERNAL
void vp8dx_bool_decoder_fill(BOOL_DECODER *br);
diff --git a/gst-libs/gst/codecparsers/gstvp9parser.c b/gst-libs/gst/codecparsers/gstvp9parser.c
new file mode 100644
index 0000000..e518dee
--- /dev/null
+++ b/gst-libs/gst/codecparsers/gstvp9parser.c
@@ -0,0 +1,819 @@
+/* gstvp9parser.c
+ *
+ * Copyright (C) 2013-2014 Intel Corporation
+ * Copyright (C) 2015 Intel Corporation
+ * Author: XuGuangxin<Guangxin.Xu@intel.com>
+ * Author: Sreerenj Balachandran<sreerenj.balachandran@intel.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+/**
+ * SECTION:gstvp9parser
+ * @short_description: Convenience library for parsing vp9 video bitstream.
+ *
+ * For more details about the structures, you can refer to the
+ * specifications:
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <string.h>
+#include <stdlib.h>
+#include <gst/base/gstbitreader.h>
+#include "vp9utils.h"
+#include "gstvp9parser.h"
+
+#define MIN_TILE_WIDTH_B64 4
+#define MAX_TILE_WIDTH_B64 64
+
+/* order of sb64, where sb64 = 64x64 */
+#define ALIGN_SB64(w) ((w + 63) >> 6)
+
+GST_DEBUG_CATEGORY (gst_vp9_parser_debug);
+#define GST_CAT_DEFAULT gst_vp9_parser_debug
+
+static gboolean initialized = FALSE;
+#define INITIALIZE_DEBUG_CATEGORY \
+ if (!initialized) { \
+ GST_DEBUG_CATEGORY_INIT (gst_vp9_parser_debug, "codecparsers_vp9", 0, \
+ "vp9 parser library"); \
+ initialized = TRUE; \
+ }
+
+#define gst_vp9_read_bit(br) gst_bit_reader_get_bits_uint8_unchecked(br, 1)
+#define gst_vp9_read_bits(br, bits) gst_bit_reader_get_bits_uint32_unchecked(br, bits)
+
+#define GST_VP9_PARSER_GET_PRIVATE(parser) ((GstVp9ParserPrivate *)(parser->priv))
+
+typedef struct _ReferenceSize
+{
+ guint32 width;
+ guint32 height;
+} ReferenceSize;
+
+typedef struct
+{
+ /* for loop filters */
+ gint8 ref_deltas[GST_VP9_MAX_REF_LF_DELTAS];
+ gint8 mode_deltas[GST_VP9_MAX_MODE_LF_DELTAS];
+
+ guint8 segmentation_abs_delta;
+ GstVp9SegmentationInfoData segmentation[GST_VP9_MAX_SEGMENTS];
+
+ ReferenceSize reference[GST_VP9_REF_FRAMES];
+} GstVp9ParserPrivate;
+
+static gint32
+gst_vp9_read_signed_bits (GstBitReader * br, int bits)
+{
+ const gint32 value = gst_vp9_read_bits (br, bits);
+ return gst_vp9_read_bit (br) ? -value : value;
+}
+
+static gboolean
+verify_frame_marker (GstBitReader * br)
+{
+ guint8 frame_marker = gst_vp9_read_bits (br, 2);
+ if (frame_marker != GST_VP9_FRAME_MARKER) {
+ GST_ERROR ("Invalid VP9 Frame Marker !");
+ return FALSE;
+ }
+ return TRUE;
+}
+
+static gboolean
+verify_sync_code (GstBitReader * const br)
+{
+ return (gst_vp9_read_bits (br, 24) == GST_VP9_SYNC_CODE);
+}
+
+static gboolean
+parse_bitdepth_colorspace_sampling (GstBitReader * const br,
+ GstVp9FrameHdr * frame_hdr)
+{
+ if (frame_hdr->profile > GST_VP9_PROFILE_1)
+ frame_hdr->bit_depth =
+ gst_vp9_read_bit (br) ? GST_VP9_BIT_DEPTH_12 : GST_VP9_BIT_DEPTH_10;
+ else
+ frame_hdr->bit_depth = GST_VP9_BIT_DEPTH_8;
+
+ frame_hdr->color_space = gst_vp9_read_bits (br, 3);
+ if (frame_hdr->color_space != GST_VP9_CS_SRGB) {
+ frame_hdr->color_range = gst_vp9_read_bit (br);
+
+ if (frame_hdr->profile == GST_VP9_PROFILE_1
+ || frame_hdr->profile == GST_VP9_PROFILE_3) {
+
+ frame_hdr->subsampling_x = gst_vp9_read_bit (br);
+ frame_hdr->subsampling_y = gst_vp9_read_bit (br);
+
+ if (frame_hdr->subsampling_x == 1 && frame_hdr->subsampling_y == 1) {
+ GST_ERROR
+ ("4:2:0 subsampling is not supported in profile_1 or profile_3");
+ goto error;
+ }
+
+ if (gst_vp9_read_bit (br)) {
+ GST_ERROR ("Reserved bit set!");
+ goto error;
+ }
+ } else {
+ frame_hdr->subsampling_y = frame_hdr->subsampling_x = 1;
+ }
+ } else {
+ frame_hdr->color_range = GST_VP9_CR_FULL;
+
+ if (frame_hdr->profile == GST_VP9_PROFILE_1
+ || frame_hdr->profile == GST_VP9_PROFILE_3) {
+ if (gst_vp9_read_bit (br)) {
+ GST_ERROR ("Reserved bit set!");
+ goto error;
+ }
+ } else {
+ GST_ERROR
+ ("4:4:4 subsampling is not supported in profile_0 and profile_2");
+ goto error;
+ }
+ }
+ return TRUE;
+
+error:
+ return FALSE;
+}
+
+static guint
+parse_profile (GstBitReader * br)
+{
+ guint8 profile = gst_vp9_read_bit (br);
+ profile |= gst_vp9_read_bit (br) << 1;
+ if (profile > 2)
+ profile += gst_vp9_read_bit (br);
+ return profile;
+}
+
+static void
+parse_frame_size (GstBitReader * br, guint32 * width, guint32 * height)
+{
+ const guint32 w = gst_vp9_read_bits (br, 16) + 1;
+ const guint32 h = gst_vp9_read_bits (br, 16) + 1;
+ *width = w;
+ *height = h;
+}
+
+static void
+parse_display_frame_size (GstBitReader * br, GstVp9FrameHdr * frame_hdr)
+{
+ frame_hdr->display_size_enabled = gst_vp9_read_bit (br);
+ if (frame_hdr->display_size_enabled)
+ parse_frame_size (br, &frame_hdr->display_width,
+ &frame_hdr->display_height);
+}
+
+static void
+parse_frame_size_from_refs (const GstVp9Parser * parser,
+ GstVp9FrameHdr * frame_hdr, GstBitReader * br)
+{
+ gboolean found = FALSE;
+ int i;
+ GstVp9ParserPrivate *priv = GST_VP9_PARSER_GET_PRIVATE (parser);
+
+ for (i = 0; i < GST_VP9_REFS_PER_FRAME; i++) {
+ found = gst_vp9_read_bit (br);
+
+ if (found) {
+ guint8 idx = frame_hdr->ref_frame_indices[i];
+ frame_hdr->width = priv->reference[idx].width;
+ frame_hdr->height = priv->reference[idx].height;
+ break;
+ }
+ }
+ if (!found)
+ parse_frame_size (br, &frame_hdr->width, &frame_hdr->height);
+}
+
+static GstVp9InterpolationFilter
+parse_interp_filter (GstBitReader * br)
+{
+ static const GstVp9InterpolationFilter filter_map[] = {
+ GST_VP9_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH,
+ GST_VP9_INTERPOLATION_FILTER_EIGHTTAP,
+ GST_VP9_INTERPOLATION_FILTER_EIGHTTAP_SHARP,
+ GST_VP9_INTERPOLATION_FILTER_BILINEAR
+ };
+
+ return gst_vp9_read_bit (br) ? GST_VP9_INTERPOLATION_FILTER_SWITCHABLE :
+ filter_map[gst_vp9_read_bits (br, 2)];
+}
+
+static void
+parse_loopfilter (GstVp9LoopFilter * lf, GstBitReader * br)
+{
+ lf->filter_level = gst_vp9_read_bits (br, 6);
+ lf->sharpness_level = gst_vp9_read_bits (br, 3);
+
+ lf->mode_ref_delta_update = 0;
+
+ lf->mode_ref_delta_enabled = gst_vp9_read_bit (br);
+ if (lf->mode_ref_delta_enabled) {
+ lf->mode_ref_delta_update = gst_vp9_read_bit (br);
+ if (lf->mode_ref_delta_update) {
+ int i;
+ for (i = 0; i < GST_VP9_MAX_REF_LF_DELTAS; i++) {
+ lf->update_ref_deltas[i] = gst_vp9_read_bit (br);
+ if (lf->update_ref_deltas[i])
+ lf->ref_deltas[i] = gst_vp9_read_signed_bits (br, 6);
+ }
+
+ for (i = 0; i < GST_VP9_MAX_MODE_LF_DELTAS; i++) {
+ lf->update_mode_deltas[i] = gst_vp9_read_bit (br);
+ if (lf->update_mode_deltas[i])
+ lf->mode_deltas[i] = gst_vp9_read_signed_bits (br, 6);
+ }
+ }
+ }
+}
+
+static gint8
+parse_delta_q (GstBitReader * br)
+{
+ return gst_vp9_read_bit (br) ? gst_vp9_read_signed_bits (br, 4) : 0;
+}
+
+static void
+parse_quantization (GstVp9QuantIndices * quant_indices, GstBitReader * br)
+{
+ quant_indices->y_ac_qi = gst_vp9_read_bits (br, QINDEX_BITS);
+ quant_indices->y_dc_delta = parse_delta_q (br);
+ quant_indices->uv_dc_delta = parse_delta_q (br);
+ quant_indices->uv_ac_delta = parse_delta_q (br);
+}
+
+static void
+parse_segmentation (GstVp9SegmentationInfo * seg, GstBitReader * br)
+{
+ int i;
+
+ seg->update_map = FALSE;
+ seg->update_data = FALSE;
+
+ seg->enabled = gst_vp9_read_bit (br);
+ if (!seg->enabled)
+ return;
+
+ /* Segmentation map update */
+ seg->update_map = gst_vp9_read_bit (br);
+ if (seg->update_map) {
+ for (i = 0; i < GST_VP9_SEG_TREE_PROBS; i++) {
+ seg->update_tree_probs[i] = gst_vp9_read_bit (br);
+ seg->tree_probs[i] = seg->update_tree_probs[i] ?
+ gst_vp9_read_bits (br, 8) : GST_VP9_MAX_PROB;
+ }
+
+ seg->temporal_update = gst_vp9_read_bit (br);
+ if (seg->temporal_update) {
+ for (i = 0; i < GST_VP9_PREDICTION_PROBS; i++) {
+ seg->update_pred_probs[i] = gst_vp9_read_bit (br);
+ seg->pred_probs[i] = seg->update_pred_probs[i] ?
+ gst_vp9_read_bits (br, 8) : GST_VP9_MAX_PROB;
+ }
+ } else {
+ for (i = 0; i < GST_VP9_PREDICTION_PROBS; i++)
+ seg->pred_probs[i] = GST_VP9_MAX_PROB;
+ }
+ }
+
+ /* Segmentation data update */
+ seg->update_data = gst_vp9_read_bit (br);
+
+ if (seg->update_data) {
+ /* clear all features */
+ memset (seg->data, 0, sizeof (seg->data));
+
+ seg->abs_delta = gst_vp9_read_bit (br);
+
+ for (i = 0; i < GST_VP9_MAX_SEGMENTS; i++) {
+ GstVp9SegmentationInfoData *seg_data = seg->data + i;
+ guint8 data;
+
+ /* SEG_LVL_ALT_Q */
+ seg_data->alternate_quantizer_enabled = gst_vp9_read_bit (br);
+ if (seg_data->alternate_quantizer_enabled) {
+ data = gst_vp9_read_bits (br, 8);
+ seg_data->alternate_quantizer = gst_vp9_read_bit (br) ? -data : data;
+ }
+
+ /* SEG_LVL_ALT_LF */
+ seg_data->alternate_loop_filter_enabled = gst_vp9_read_bit (br);
+ if (seg_data->alternate_loop_filter_enabled) {
+ data = gst_vp9_read_bits (br, 6);
+ seg_data->alternate_loop_filter = gst_vp9_read_bit (br) ? -data : data;
+ }
+
+ /* SEG_LVL_REF_FRAME */
+ seg_data->reference_frame_enabled = gst_vp9_read_bit (br);
+ if (seg_data->reference_frame_enabled) {
+ seg_data->reference_frame = gst_vp9_read_bits (br, 2);
+ }
+
+ seg_data->reference_skip = gst_vp9_read_bit (br);
+ }
+ }
+}
+
+static guint32
+get_max_lb_tile_cols (guint32 sb_cols)
+{
+ gint max_log2 = 1;
+ while ((sb_cols >> max_log2) >= MIN_TILE_WIDTH_B64)
+ ++max_log2;
+ return max_log2 - 1;
+}
+
+static guint32
+get_min_lb_tile_cols (guint32 sb_cols)
+{
+ gint min_log2 = 0;
+ while ((MAX_TILE_WIDTH_B64 << min_log2) < sb_cols)
+ ++min_log2;
+ return min_log2;
+}
+
+static gboolean
+parse_tile_info (GstVp9FrameHdr * frame_hdr, GstBitReader * br)
+{
+ guint32 max_ones;
+ const guint32 sb_cols = ALIGN_SB64 (frame_hdr->width);
+ guint32 min_lb_tile_cols = get_min_lb_tile_cols (sb_cols);
+ guint32 max_lb_tile_cols = get_max_lb_tile_cols (sb_cols);
+
+ g_assert (min_lb_tile_cols <= max_lb_tile_cols);
+ max_ones = max_lb_tile_cols - min_lb_tile_cols;
+
+ /* columns */
+ frame_hdr->log2_tile_columns = min_lb_tile_cols;
+ while (max_ones-- && gst_vp9_read_bit (br))
+ frame_hdr->log2_tile_columns++;
+
+ if (frame_hdr->log2_tile_columns > 6) {
+ GST_ERROR ("Invalid number of tile columns..!");
+ return FALSE;
+ }
+
+ /* row */
+ frame_hdr->log2_tile_rows = gst_vp9_read_bit (br);
+ if (frame_hdr->log2_tile_rows)
+ frame_hdr->log2_tile_rows += gst_vp9_read_bit (br);
+
+ return TRUE;
+}
+
+static void
+loop_filter_update (GstVp9Parser * parser, const GstVp9LoopFilter * lf)
+{
+ GstVp9ParserPrivate *priv = GST_VP9_PARSER_GET_PRIVATE (parser);
+ int i;
+
+ for (i = 0; i < GST_VP9_MAX_REF_LF_DELTAS; i++) {
+ if (lf->update_ref_deltas[i])
+ priv->ref_deltas[i] = lf->ref_deltas[i];
+ }
+
+ for (i = 0; i < GST_VP9_MAX_MODE_LF_DELTAS; i++) {
+ if (lf->update_mode_deltas[i])
+ priv->mode_deltas[i] = lf->mode_deltas[i];
+ }
+}
+
+static guint8
+seg_get_base_qindex (const GstVp9Parser * parser,
+ const GstVp9FrameHdr * frame_hdr, int segid)
+{
+ int seg_base = frame_hdr->quant_indices.y_ac_qi;
+ GstVp9ParserPrivate *priv = GST_VP9_PARSER_GET_PRIVATE (parser);
+ const GstVp9SegmentationInfoData *seg = priv->segmentation + segid;
+ /* DEBUG("id = %d, seg_base = %d, seg enable = %d, alt eanble = %d, abs = %d, alt= %d\n",segid,
+ seg_base, frame_hdr->segmentation.enabled, seg->alternate_quantizer_enabled, priv->segmentation_abs_delta, seg->alternate_quantizer);
+ */
+ if (frame_hdr->segmentation.enabled && seg->alternate_quantizer_enabled) {
+ if (priv->segmentation_abs_delta)
+ seg_base = seg->alternate_quantizer;
+ else
+ seg_base += seg->alternate_quantizer;
+ }
+ return CLAMP (seg_base, 0, MAXQ);
+}
+
+static guint8
+seg_get_filter_level (const GstVp9Parser * parser,
+ const GstVp9FrameHdr * frame_hdr, int segid)
+{
+ int seg_filter = frame_hdr->loopfilter.filter_level;
+ GstVp9ParserPrivate *priv = GST_VP9_PARSER_GET_PRIVATE (parser);
+ const GstVp9SegmentationInfoData *seg = priv->segmentation + segid;
+
+ if (frame_hdr->segmentation.enabled && seg->alternate_loop_filter_enabled) {
+ if (priv->segmentation_abs_delta)
+ seg_filter = seg->alternate_loop_filter;
+ else
+ seg_filter += seg->alternate_loop_filter;
+ }
+ return CLAMP (seg_filter, 0, GST_VP9_MAX_LOOP_FILTER);
+}
+
+/*save segmentation info from frame header to parser*/
+static void
+segmentation_save (GstVp9Parser * parser, const GstVp9FrameHdr * frame_hdr)
+{
+ const GstVp9SegmentationInfo *info = &frame_hdr->segmentation;
+ if (!info->enabled)
+ return;
+
+ if (info->update_map) {
+ g_assert (G_N_ELEMENTS (parser->mb_segment_tree_probs) ==
+ G_N_ELEMENTS (info->tree_probs));
+ g_assert (G_N_ELEMENTS (parser->segment_pred_probs) ==
+ G_N_ELEMENTS (info->pred_probs));
+ memcpy (parser->mb_segment_tree_probs, info->tree_probs,
+ sizeof (info->tree_probs));
+ memcpy (parser->segment_pred_probs, info->pred_probs,
+ sizeof (info->pred_probs));
+ }
+
+ if (info->update_data) {
+ GstVp9ParserPrivate *priv = GST_VP9_PARSER_GET_PRIVATE (parser);
+ priv->segmentation_abs_delta = info->abs_delta;
+ g_assert (G_N_ELEMENTS (priv->segmentation) == G_N_ELEMENTS (info->data));
+ memcpy (priv->segmentation, info->data, sizeof (info->data));
+ }
+}
+
+static void
+segmentation_update (GstVp9Parser * parser, const GstVp9FrameHdr * frame_hdr)
+{
+ int i = 0;
+ const GstVp9ParserPrivate *priv = GST_VP9_PARSER_GET_PRIVATE (parser);
+ const GstVp9LoopFilter *lf = &frame_hdr->loopfilter;
+ const GstVp9QuantIndices *quant_indices = &frame_hdr->quant_indices;
+ int default_filter = lf->filter_level;
+ const int scale = 1 << (default_filter >> 5);
+
+ segmentation_save (parser, frame_hdr);
+
+ for (i = 0; i < GST_VP9_MAX_SEGMENTS; i++) {
+ guint8 q = seg_get_base_qindex (parser, frame_hdr, i);
+
+ GstVp9Segmentation *seg = parser->segmentation + i;
+ const GstVp9SegmentationInfoData *info = priv->segmentation + i;
+
+ seg->luma_dc_quant_scale =
+ gst_vp9_dc_quant (q, quant_indices->y_dc_delta, frame_hdr->bit_depth);
+ seg->luma_ac_quant_scale = gst_vp9_ac_quant (q, 0, frame_hdr->bit_depth);
+ seg->chroma_dc_quant_scale =
+ gst_vp9_dc_quant (q, quant_indices->uv_dc_delta, frame_hdr->bit_depth);
+ seg->chroma_ac_quant_scale =
+ gst_vp9_ac_quant (q, quant_indices->uv_ac_delta, frame_hdr->bit_depth);
+
+ if (lf->filter_level) {
+ guint8 filter = seg_get_filter_level (parser, frame_hdr, i);
+
+ if (!lf->mode_ref_delta_enabled) {
+ memset (seg->filter_level, filter, sizeof (seg->filter_level));
+ } else {
+ int ref, mode;
+ const int intra_filter =
+ filter + priv->ref_deltas[GST_VP9_REF_FRAME_INTRA] * scale;
+ seg->filter_level[GST_VP9_REF_FRAME_INTRA][0] =
+ CLAMP (intra_filter, 0, GST_VP9_MAX_LOOP_FILTER);
+ for (ref = GST_VP9_REF_FRAME_LAST; ref < GST_VP9_REF_FRAME_MAX; ++ref) {
+ for (mode = 0; mode < GST_VP9_MAX_MODE_LF_DELTAS; ++mode) {
+ const int inter_filter = filter + priv->ref_deltas[ref] * scale
+ + priv->mode_deltas[mode] * scale;
+ seg->filter_level[ref][mode] =
+ CLAMP (inter_filter, 0, GST_VP9_MAX_LOOP_FILTER);
+ }
+ }
+ }
+ }
+ seg->reference_frame_enabled = info->reference_frame_enabled;;
+ seg->reference_frame = info->reference_frame;
+ seg->reference_skip = info->reference_skip;
+ }
+}
+
+static void
+reference_update (GstVp9Parser * parser, const GstVp9FrameHdr * const frame_hdr)
+{
+ guint8 flag = 1;
+ guint8 refresh_frame_flags;
+ int i;
+ GstVp9ParserPrivate *priv = GST_VP9_PARSER_GET_PRIVATE (parser);
+ ReferenceSize *reference = priv->reference;
+ if (frame_hdr->frame_type == GST_VP9_KEY_FRAME) {
+ refresh_frame_flags = 0xff;
+ } else {
+ refresh_frame_flags = frame_hdr->refresh_frame_flags;
+ }
+ for (i = 0; i < GST_VP9_REF_FRAMES; i++) {
+ if (refresh_frame_flags & flag) {
+ reference[i].width = frame_hdr->width;
+ reference[i].height = frame_hdr->height;
+ }
+ flag <<= 1;
+ }
+}
+
+static inline int
+frame_is_intra_only (const GstVp9FrameHdr * frame_hdr)
+{
+ return frame_hdr->frame_type == GST_VP9_KEY_FRAME || frame_hdr->intra_only;
+}
+
+static void
+set_default_lf_deltas (GstVp9Parser * parser)
+{
+ GstVp9ParserPrivate *priv = GST_VP9_PARSER_GET_PRIVATE (parser);
+ priv->ref_deltas[GST_VP9_REF_FRAME_INTRA] = 1;
+ priv->ref_deltas[GST_VP9_REF_FRAME_LAST] = 0;
+ priv->ref_deltas[GST_VP9_REF_FRAME_GOLDEN] = -1;
+ priv->ref_deltas[GST_VP9_REF_FRAME_ALTREF] = -1;
+
+ priv->mode_deltas[0] = 0;
+ priv->mode_deltas[1] = 0;
+}
+
+static void
+set_default_segmentation_info (GstVp9Parser * parser)
+{
+ GstVp9ParserPrivate *priv = GST_VP9_PARSER_GET_PRIVATE (parser);
+
+ memset (priv->segmentation, 0, sizeof (priv->segmentation));
+
+ priv->segmentation_abs_delta = FALSE;
+}
+
+static void
+setup_past_independence (GstVp9Parser * parser,
+ GstVp9FrameHdr * const frame_hdr)
+{
+ set_default_lf_deltas (parser);
+ set_default_segmentation_info (parser);
+
+ memset (frame_hdr->ref_frame_sign_bias, 0,
+ sizeof (frame_hdr->ref_frame_sign_bias));
+}
+
+static void
+gst_vp9_parser_init (GstVp9Parser * parser)
+{
+ GstVp9ParserPrivate *priv = parser->priv;
+
+ memset (parser, 0, sizeof (GstVp9Parser));
+ memset (priv, 0, sizeof (GstVp9ParserPrivate));
+
+ parser->priv = priv;
+}
+
+static GstVp9ParserResult
+gst_vp9_parser_update (GstVp9Parser * parser, GstVp9FrameHdr * const frame_hdr)
+{
+ if (frame_hdr->frame_type == GST_VP9_KEY_FRAME)
+ gst_vp9_parser_init (parser);
+
+ if (frame_is_intra_only (frame_hdr) || frame_hdr->error_resilient_mode)
+ setup_past_independence (parser, frame_hdr);
+
+ loop_filter_update (parser, &frame_hdr->loopfilter);
+ segmentation_update (parser, frame_hdr);
+ reference_update (parser, frame_hdr);
+
+ return GST_VP9_PARSER_OK;
+}
+
+
+/******** API *************/
+
+/**
+ * gst_vp9_parser_new:
+ *
+ * Creates a new #GstVp9Parser. It should be freed with
+ * gst_vp9_parser_free() after use.
+ *
+ * Returns: a new #GstVp9Parser
+ *
+ * Since: 1.8
+ */
+GstVp9Parser *
+gst_vp9_parser_new (void)
+{
+ GstVp9Parser *parser;
+ GstVp9ParserPrivate *priv;
+
+ INITIALIZE_DEBUG_CATEGORY;
+ GST_DEBUG ("Create VP9 Parser");
+
+ parser = g_slice_new (GstVp9Parser);
+ if (!parser)
+ return NULL;
+
+ priv = g_slice_new (GstVp9ParserPrivate);
+ if (!priv)
+ return NULL;
+
+ parser->priv = priv;
+ gst_vp9_parser_init (parser);
+
+ return parser;
+}
+
+/**
+ * gst_vp9_parser_free:
+ * @parser: the #GstVp9Parser to free
+ *
+ * Frees @parser.
+ *
+ * Since: 1.8
+ */
+void
+gst_vp9_parser_free (GstVp9Parser * parser)
+{
+ if (parser) {
+ if (parser->priv) {
+ g_slice_free (GstVp9ParserPrivate, parser->priv);
+ parser->priv = NULL;
+ }
+ g_slice_free (GstVp9Parser, parser);
+ }
+}
+
+/**
+ * gst_vp9_parser_parse_frame_header:
+ * @parser: The #GstVp9Parser
+ * @frame_hdr: The #GstVp9FrameHdr to fill
+ * @data: The data to parse
+ * @size: The size of the @data to parse
+ *
+ * Parses the VP9 bitstream contained in @data, and fills in @frame_hdr
+ * with the information. The @size argument represent the whole frame size.
+ *
+ * Returns: a #GstVp9ParserResult
+ *
+ * Since: 1.8
+ */
+GstVp9ParserResult
+gst_vp9_parser_parse_frame_header (GstVp9Parser * parser,
+ GstVp9FrameHdr * frame_hdr, const guint8 * data, gsize size)
+{
+ GstBitReader bit_reader;
+ GstBitReader *br = &bit_reader;
+
+ gst_bit_reader_init (br, data, size);
+ memset (frame_hdr, 0, sizeof (*frame_hdr));
+
+ /* Parsing Uncompressed Data Chunk */
+
+ if (!verify_frame_marker (br))
+ goto error;
+
+ frame_hdr->profile = parse_profile (br);
+ if (frame_hdr->profile > GST_VP9_PROFILE_UNDEFINED) {
+ GST_ERROR ("Stream has undefined VP9 profile !");
+ goto error;
+ }
+
+ frame_hdr->show_existing_frame = gst_vp9_read_bit (br);
+ if (frame_hdr->show_existing_frame) {
+ frame_hdr->frame_to_show = gst_vp9_read_bits (br, GST_VP9_REF_FRAMES_LOG2);
+ return GST_VP9_PARSER_OK;
+ }
+
+ frame_hdr->frame_type = gst_vp9_read_bit (br);
+ frame_hdr->show_frame = gst_vp9_read_bit (br);
+ frame_hdr->error_resilient_mode = gst_vp9_read_bit (br);
+
+ if (frame_hdr->frame_type == GST_VP9_KEY_FRAME) {
+
+ if (!verify_sync_code (br)) {
+ GST_ERROR ("Invalid VP9 Key-frame sync code !");
+ goto error;
+ }
+
+ if (!parse_bitdepth_colorspace_sampling (br, frame_hdr)) {
+ GST_ERROR ("Failed to parse color_space/bit_depth info !");
+ goto error;
+ }
+
+ parse_frame_size (br, &frame_hdr->width, &frame_hdr->height);
+
+ parse_display_frame_size (br, frame_hdr);
+
+ } else {
+ frame_hdr->intra_only = frame_hdr->show_frame ? 0 : gst_vp9_read_bit (br);
+ frame_hdr->reset_frame_context = frame_hdr->error_resilient_mode ?
+ 0 : gst_vp9_read_bits (br, 2);
+
+ if (frame_hdr->intra_only) {
+
+ if (!verify_sync_code (br)) {
+ GST_ERROR ("Invalid VP9 sync code in intra-only frame !");
+ goto error;
+ }
+
+ if (frame_hdr->profile > GST_VP9_PROFILE_0) {
+ if (!parse_bitdepth_colorspace_sampling (br, frame_hdr)) {
+ GST_ERROR ("Failed to parse color_space/bit_depth info !");
+ goto error;
+ }
+ } else {
+ frame_hdr->color_space = GST_VP9_CS_BT_601;
+ frame_hdr->color_range = GST_VP9_CR_LIMITED;
+ frame_hdr->subsampling_y = frame_hdr->subsampling_x = 1;
+ frame_hdr->bit_depth = GST_VP9_BIT_DEPTH_8;
+ }
+
+ frame_hdr->refresh_frame_flags =
+ gst_vp9_read_bits (br, GST_VP9_REF_FRAMES);
+ parse_frame_size (br, &frame_hdr->width, &frame_hdr->height);
+ parse_display_frame_size (br, frame_hdr);
+
+ } else {
+ int i;
+ frame_hdr->refresh_frame_flags =
+ gst_vp9_read_bits (br, GST_VP9_REF_FRAMES);
+
+ for (i = 0; i < GST_VP9_REFS_PER_FRAME; i++) {
+ frame_hdr->ref_frame_indices[i] =
+ gst_vp9_read_bits (br, GST_VP9_REF_FRAMES_LOG2);
+ frame_hdr->ref_frame_sign_bias[i] = gst_vp9_read_bit (br);
+ }
+
+ parse_frame_size_from_refs (parser, frame_hdr, br);
+ parse_display_frame_size (br, frame_hdr);
+
+ frame_hdr->allow_high_precision_mv = gst_vp9_read_bit (br);
+ frame_hdr->mcomp_filter_type = parse_interp_filter (br);
+
+ /* Assing defalut values */
+ frame_hdr->color_space = GST_VP9_CS_BT_601;
+ frame_hdr->color_range = GST_VP9_CR_LIMITED;
+ frame_hdr->subsampling_y = frame_hdr->subsampling_x = 1;
+ frame_hdr->bit_depth = GST_VP9_BIT_DEPTH_8;
+ }
+ }
+
+ frame_hdr->refresh_frame_context =
+ frame_hdr->error_resilient_mode ? 0 : gst_vp9_read_bit (br);
+ frame_hdr->frame_parallel_decoding_mode =
+ frame_hdr->error_resilient_mode ? 1 : gst_vp9_read_bit (br);
+ frame_hdr->frame_context_idx =
+ gst_vp9_read_bits (br, GST_VP9_FRAME_CONTEXTS_LOG2);
+
+ /* loopfilter header */
+ parse_loopfilter (&frame_hdr->loopfilter, br);
+
+ /* quantization header */
+ parse_quantization (&frame_hdr->quant_indices, br);
+ /* set lossless_flag */
+ frame_hdr->lossless_flag = frame_hdr->quant_indices.y_ac_qi == 0 &&
+ frame_hdr->quant_indices.y_dc_delta == 0 &&
+ frame_hdr->quant_indices.uv_dc_delta == 0
+ && frame_hdr->quant_indices.uv_ac_delta == 0;
+
+ /* segmentation header */
+ parse_segmentation (&frame_hdr->segmentation, br);
+
+ /* tile header */
+ if (!parse_tile_info (frame_hdr, br)) {
+ GST_ERROR ("Failed to parse tile info...!");
+ goto error;
+ }
+
+ /* size of the rest of the header */
+ frame_hdr->first_partition_size = gst_vp9_read_bits (br, 16);
+ if (!frame_hdr->first_partition_size) {
+ GST_ERROR ("Failed to parse the first partition size...!");
+ goto error;
+ }
+
+ frame_hdr->frame_header_length_in_bytes =
+ (gst_bit_reader_get_pos (br) + 7) / 8;
+
+ return gst_vp9_parser_update (parser, frame_hdr);
+
+error:
+ return GST_VP9_PARSER_ERROR;
+}
diff --git a/gst-libs/gst/codecparsers/gstvp9parser.h b/gst-libs/gst/codecparsers/gstvp9parser.h
new file mode 100644
index 0000000..fd45e54
--- /dev/null
+++ b/gst-libs/gst/codecparsers/gstvp9parser.h
@@ -0,0 +1,493 @@
+/*
+ * gstvp9parser.h
+ *
+ * Copyright (C) 2013-2014 Intel Corporation
+ * Copyright (C) 2015 Intel Corporation
+ * Author: XuGuangxin<Guangxin.Xu@intel.com>
+ * Author: Sreerenj Balachandran<sreerenj.balachandran@intel.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef GST_VP9_PARSER_H
+#define GST_VP9_PARSER_H
+
+#ifndef GST_USE_UNSTABLE_API
+#warning "The VP9 parsing library is unstable API and may change in future."
+#warning "You can define GST_USE_UNSTABLE_API to avoid this warning."
+#endif
+
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+
+#define GST_VP9_FRAME_MARKER 0x02
+#define GST_VP9_SYNC_CODE 0x498342
+
+#define GST_VP9_MAX_LOOP_FILTER 63
+#define GST_VP9_MAX_PROB 255
+
+#define GST_VP9_REFS_PER_FRAME 3
+#define GST_VP9_REF_FRAMES_LOG2 3
+#define GST_VP9_REF_FRAMES (1 << GST_VP9_REF_FRAMES_LOG2)
+
+#define GST_VP9_FRAME_CONTEXTS_LOG2 2
+
+#define GST_VP9_MAX_LOOP_FILTER 63
+#define GST_VP9_MAX_SHARPNESS 7
+
+#define GST_VP9_MAX_REF_LF_DELTAS 4
+#define GST_VP9_MAX_MODE_LF_DELTAS 2
+
+#define GST_VP9_SEGMENT_DELTADATA 0
+#define GST_VP9_SEGMENT_ABSDATA 1
+
+#define GST_VP9_MAX_SEGMENTS 8
+#define GST_VP9_SEG_TREE_PROBS (GST_VP9_MAX_SEGMENTS-1)
+
+#define GST_VP9_PREDICTION_PROBS 3
+
+typedef struct _GstVp9Parser GstVp9Parser;
+typedef struct _GstVp9FrameHdr GstVp9FrameHdr;
+typedef struct _GstVp9LoopFilter GstVp9LoopFilter;
+typedef struct _GstVp9QuantIndices GstVp9QuantIndices;
+typedef struct _GstVp9Segmentation GstVp9Segmentation;
+typedef struct _GstVp9SegmentationInfo GstVp9SegmentationInfo;
+typedef struct _GstVp9SegmentationInfoData GstVp9SegmentationInfoData;
+
+/**
+ * GstVp9ParseResult:
+ * @GST_VP9_PARSER_OK: The parsing went well
+ * @GST_VP9_PARSER_BROKEN_DATA: The data to parse is broken
+ * @GST_VP9_PARSER_NO_PACKET_ERROR: An error occured during the parsing
+ *
+ * Result type of any parsing function.
+ *
+ * Since: 1.8
+ */
+typedef enum
+{
+ GST_VP9_PARSER_OK,
+ GST_VP9_PARSER_BROKEN_DATA,
+ GST_VP9_PARSER_ERROR,
+} GstVp9ParserResult;
+
+/**
+ * GstVp9Profile: Bitstream profiles indicated by 2-3 bits in the uncompressed header
+ * @GST_VP9_PROFILE_0: Profile 0, 8-bit 4:2:0 only.
+ * @GST_VP9_PROFILE_1: Profile 1, 8-bit 4:4:4, 4:2:2, and 4:4:0.
+ * @GST_VP9_PROFILE_2: Profile 2, 10-bit and 12-bit color only, with 4:2:0 sampling.
+ * @GST_VP9_PROFILE_3: Profile 3, 10-bit and 12-bit color only, with 4:2:2/4:4:4/4:4:0 sampling.
+ * @GST_VP9_PROFILE_UNDEFINED: Undefined profile
+ *
+ * VP9 Profiles
+ *
+ * Since: 1.8
+ */
+typedef enum {
+ GST_VP9_PROFILE_0,
+ GST_VP9_PROFILE_1,
+ GST_VP9_PROFILE_2,
+ GST_VP9_PROFILE_3,
+ GST_VP9_PROFILE_UNDEFINED
+} GstVP9Profile;
+
+/**
+ * GstVp9FrameType:
+ * @GST_VP9_KEY_FRAME: Key frame, only have intra blocks
+ * @GST_VP9_INTER_FRAME: Inter frame, both intra and inter blocks
+ *
+ * VP9 frame types
+ *
+ * Since: 1.8
+ */
+typedef enum {
+ GST_VP9_KEY_FRAME = 0,
+ GST_VP9_INTER_FRAME = 1
+} GstVp9FrameType;
+
+/**
+ * GstVp9BitDepth:
+ * @GST_VP9_BIT_DEPTH_8: Bit depth is 8
+ * @GST_VP9_BIT_DEPTH_10 Bit depth is 10
+ * @GST_VP9_BIT_DEPTH_12:Bit depth is 12
+ *
+ * Bit depths of encoded frames
+ *
+ * Since: 1.8
+ */
+typedef enum {
+ GST_VP9_BIT_DEPTH_8 = 8,
+ GST_VP9_BIT_DEPTH_10 = 10,
+ GST_VP9_BIT_DEPTH_12 = 12
+} GstVp9BitDepth;
+
+/**
+ * GstVp9ColorSpace:
+ * @GST_VP9_CS_UNKNOWN: Unknown color space
+ * @GST_VP9_CS_BT_601: BT.601
+ * @GST_VP9_CS_BT_709: BT.709
+ * @GST_VP9_CS_SMPTE_170: SMPTE.170
+ * @GST_VP9_CS_SMPTE_240: SMPTE.240
+ * @GST_VP9_CS_BT_2020: BT.2020
+ * @GST_VP9_CS_RESERVED: Reserved
+ * @GST_VP9_CS_SRGB: sRGB
+ *
+ * Supported ColorSpace standards
+ *
+ * Since: 1.8
+ */
+typedef enum {
+ GST_VP9_CS_UNKNOWN = 0,
+ GST_VP9_CS_BT_601 = 1,
+ GST_VP9_CS_BT_709 = 2,
+ GST_VP9_CS_SMPTE_170 = 3,
+ GST_VP9_CS_SMPTE_240 = 4,
+ GST_VP9_CS_BT_2020 = 5,
+ GST_VP9_CS_RESERVED_2 = 6,
+ GST_VP9_CS_SRGB = 7
+} GstVp9ColorSpace;
+
+/**
+ * GstVp9ColorRange:
+ * @GST_VP9_CR_LIMITED: Y range is [16-235], UV range is [16-240]
+ * @GST_VP9_CR_FULL: Full range for Y,U and V [0-255]
+ *
+ * Possible color value ranges
+ *
+ * Since: 1.8
+ */
+typedef enum {
+ GST_VP9_CR_LIMITED,
+ GST_VP9_CR_FULL
+} GstVp9ColorRange;
+
+/**
+ * GstVp9InterpolationFilter:
+ * @GST_VP9_INTERPOLATION_FILTER_EIGHTTAP: EightTap interpolation filter
+ * @GST_VP9_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH: Smooth interpolation filter
+ * @GST_VP9_INTERPOLATION_FILTER_EIGHTTAP_SHARP: Shart interpolation filter
+ * @GST_VP9_INTERPOLATION_FILTER_BILINEAR: Bilinear interpolation filter
+ * @GST_VP9_INTERPOLATION_FILTER_SWITCHABLE: Selectable interpolation filter
+ *
+ * Interpolation Filters Types
+ *
+ * Since: 1.8
+ */
+typedef enum {
+ GST_VP9_INTERPOLATION_FILTER_EIGHTTAP = 0,
+ GST_VP9_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH = 1,
+ GST_VP9_INTERPOLATION_FILTER_EIGHTTAP_SHARP = 2,
+ GST_VP9_INTERPOLATION_FILTER_BILINEAR = 3,
+ GST_VP9_INTERPOLATION_FILTER_SWITCHABLE = 4
+} GstVp9InterpolationFilter;
+
+/**
+ * GstVp9RefFrameType:
+ * @GST_VP9_REF_FRAME_INTRA: Intra reference frame
+ * @GST_VP9_REF_FRAME_LAST: Last Reference frame
+ * @GST_VP9_REF_FRAME_GOLDEN: Golden Reference frame
+ * @GST_VP9_REF_FRAME_ALTREF: Alternate Reference frame
+ * @GST_VP9_REF_FRAME_MAX:
+ *
+ * Reference Frame types
+ *
+ * Since: 1.8
+ */
+typedef enum {
+ GST_VP9_REF_FRAME_INTRA = 0,
+ GST_VP9_REF_FRAME_LAST = 1,
+ GST_VP9_REF_FRAME_GOLDEN = 2,
+ GST_VP9_REF_FRAME_ALTREF = 3,
+ GST_VP9_REF_FRAME_MAX = 4
+} GstVp9RefFrameType;
+
+/**
+ * GstVp9QuantIndices:
+ * @y_ac_qi: indicates the dequantization table index used for the
+ * luma AC coefficients
+ * @y_dc_delta: indicates the delta value that is added to the
+ * baseline index to obtain the luma DC coefficient dequantization
+ * index
+ * @uv_dc_delta: indicates the delta value that is added to the
+ * baseline index to obtain the chroma DC coefficient dequantization
+ * index
+ * @uv_ac_delta: indicates the delta value that is added to the
+ * baseline index to obtain the chroma AC coefficient dequantization
+ * index
+ *
+ * Dequantization indices.
+ *
+ * Since: 1.8
+ */
+struct _GstVp9QuantIndices
+{
+ guint8 y_ac_qi;
+ gint8 y_dc_delta;
+ gint8 uv_dc_delta;
+ gint8 uv_ac_delta;
+};
+
+/**
+ * GstVp9LoopFilter:
+ * @filter_level: indicates loop filter level for the current frame
+ * @sharpness_level: indicates sharpness level for thecurrent frame
+ * @mode_ref_delta_enabled: indicate if filter adjust is on
+ * @mode_ref_delta_update: indicates if the delta values used in an
+ * adjustment are updated in the current frame
+ * @update_ref_deltas: indicate which ref deltas are updated
+ * @ref_deltas: Loop filter strength adjustments based on
+ * frame type (intra, inter)
+ * @update_mode_deltas: indicate with mode deltas are updated
+ * @mode_deltas: Loop filter strength adjustments based on
+ * mode (zero, new mv)
+ *
+ * Loop filter values
+ *
+ * Since: 1.8
+ */
+struct _GstVp9LoopFilter {
+ gint filter_level;
+ gint sharpness_level;
+
+ guint8 mode_ref_delta_enabled;
+ guint8 mode_ref_delta_update;
+ guint8 update_ref_deltas[GST_VP9_MAX_REF_LF_DELTAS];
+ gint8 ref_deltas[GST_VP9_MAX_REF_LF_DELTAS];
+ guint8 update_mode_deltas[GST_VP9_MAX_MODE_LF_DELTAS];
+ gint8 mode_deltas[GST_VP9_MAX_MODE_LF_DELTAS];
+};
+
+/**
+ * GstVp9SegmentationInfoData:
+ * @alternate_quantizer_enabled: indicate alternate quantizer enabled at segment level
+ * @alternate_quantizer: alternate quantizer value
+ * @alternate_loop_filter_enabled: indicate alternate loop filter enabled at segment level
+ * @alternate_loop_filter: alternate loop filter
+ * @reference_frame_enabled: indicate alternate reference frame at segment level
+ * @reference_frame: alternate reference frame
+ * @reference_skip: a block skip mode that implies both the use of a (0,0)
+ * motion vector and that no residual will be coded.
+ *
+ * Segmentation info for each segment
+ *
+ * Since: 1.8
+ */
+struct _GstVp9SegmentationInfoData {
+ /* SEG_LVL_ALT_Q */
+ guint8 alternate_quantizer_enabled;
+ gint16 alternate_quantizer;
+
+ /* SEG_LVL_ALT_LF */
+ guint8 alternate_loop_filter_enabled;
+ gint8 alternate_loop_filter;
+
+ /* SEG_LVL_REF_FRAME */
+ guint8 reference_frame_enabled;
+ gint reference_frame;
+
+ guint8 reference_skip;
+};
+
+/**
+ * GstVp9SegmentationInfo:
+ * @enabled: enables the segmentation feature for the current frame
+ * @update_map: determines if segmentation is updated in the current frame
+ * @update_tree_probs: determines if tree probabilities updated or not
+ * @tree_probs: segment tree probabilities
+ * @update_pred_probs:determines if prediction probabilities updated or not
+ * @pred_probs: prediction probabilities
+ * @abs_delta: interpretation of segment data values
+ * @temporal_update: type of map update
+ * @update_data: indicates if the segment feature data
+ * is updated in the current frame
+ * @data: segment feature data
+ *
+ * Segmentation info
+ *
+ * Since: 1.8
+ */
+struct _GstVp9SegmentationInfo {
+ /* enable in setup_segmentation*/
+ guint8 enabled;
+ /* update_map in setup_segmentation*/
+ guint8 update_map;
+ /* tree_probs exist or not*/
+ guint8 update_tree_probs[GST_VP9_SEG_TREE_PROBS];
+ guint8 tree_probs[GST_VP9_SEG_TREE_PROBS];
+ /* pred_probs exist or not*/
+ guint8 update_pred_probs[GST_VP9_PREDICTION_PROBS];
+ guint8 pred_probs[GST_VP9_PREDICTION_PROBS];
+
+ /* abs_delta in setup_segmentation */
+ guint8 abs_delta;
+ /* temporal_update in setup_segmentation */
+ guint8 temporal_update;
+
+ /* update_data in setup_segmentation*/
+ guint8 update_data;
+ GstVp9SegmentationInfoData data[GST_VP9_MAX_SEGMENTS];
+};
+
+/**
+ * GstVp9FrameHdr:
+ * @profile: encoded profile
+ * @show_existing_frame: display already decoded frame instead of doing the decoding
+ * @frame_to_show: which frame to show if show_existing_frame is true
+ * @frame_type: frame type
+ * @show_frame: indicate whether it is a displayable frame or not
+ * @error_resilient_mode: error resilent mode
+ * @subsampling_x: horizontal subsampling
+ * @subsampling_y: vertical subsampling
+ * @width: frame width
+ * @height: frame height
+ * @display_size_enabled: display size enabled (cropping)
+ * @display_width: display width
+ * @display_height: display height
+ * @frame_context_idx: frame context index
+ * @bit_depth: bit depth of the stream
+ * @color_space: color space standard
+ * @color_range: color range standard
+ * @intra_only: intra only frame
+ * @reset_frame_context: reset frame context
+ * @refresh_frame_flags: refresh reference frame flags
+ * @ref_frame_indices: reference frame index
+ * @ref_frame_sign_bias: sign bias for selecting altref,last and golden frames
+ * @allow_high_precision_mv: allow hight precision motion vector
+ * @mcomp_filter_type: interpolation filter type
+ * @refresh_frame_context: refresh frame context indicator
+ * @frame_parallel_decoding_mode: enable or disable parallel decoding support.
+ * @loopfilter: loopfilter values
+ * @quant_indices: quantization indeces
+ * @segmentation: segmentation info
+ * @log2_tile_rows: tile row indicator
+ * @log2_tile_columns: tile column indicator
+ * @first_partition_size: first partition size (after the uncompressed header)
+ * @lossless_flag: lossless mode decode
+ * @frame_header_length_in_bytes: length of uncompressed header
+ *
+ * Frame header
+ *
+ * Since: 1.8
+ */
+struct _GstVp9FrameHdr
+{
+ guint profile;
+ guint8 show_existing_frame;
+ gint frame_to_show;
+ guint frame_type;
+ guint8 show_frame;
+ guint8 error_resilient_mode;
+ gint subsampling_x;
+ gint subsampling_y;
+ guint32 width;
+ guint32 height;
+ guint8 display_size_enabled;
+ guint32 display_width;
+ guint32 display_height;
+ guint frame_context_idx;
+
+ guint bit_depth;
+ guint color_space;
+ guint color_range;
+
+ guint8 intra_only;
+ gint reset_frame_context;
+ gint refresh_frame_flags;
+
+ gint ref_frame_indices[GST_VP9_REFS_PER_FRAME];
+ gint ref_frame_sign_bias[GST_VP9_REFS_PER_FRAME];
+ gint allow_high_precision_mv;
+ guint8 mcomp_filter_type;
+
+ gint refresh_frame_context;
+ /* frame_parallel_decoding_mode in vp9 code*/
+ gint frame_parallel_decoding_mode;
+
+ GstVp9LoopFilter loopfilter;
+ GstVp9QuantIndices quant_indices;
+ GstVp9SegmentationInfo segmentation;
+
+ gint log2_tile_rows;
+ gint log2_tile_columns;
+
+ guint32 first_partition_size;
+
+ /* calculated values */
+ guint lossless_flag;
+ guint32 frame_header_length_in_bytes;
+};
+
+/**
+ * GstVp9Segmentation:
+ * @filter_level: loop filter level
+ * @luma_ac_quant_scale: AC quant scale for luma(Y) component
+ * @luma_dc_quant_scale: DC quant scale for luma(Y) component
+ * @chroma_ac_quant_scale AC quant scale for chroma(U/V) component
+ * @chroma_dc_quant_scale: DC quant scale for chroma (U/V) component
+ * @reference_frame_enabled: alternate reference frame enablement
+ * @reference_frame: alternate reference frame
+ * @reference_skip: a block skip mode that implies both the use of a (0,0)
+ * motion vector and that no residual will be coded
+ *
+ * Segmentation info kept across multipe frames
+ *
+ * Since: 1.8
+ */
+struct _GstVp9Segmentation
+{
+ guint8 filter_level[4][2];
+ gint16 luma_ac_quant_scale;
+ gint16 luma_dc_quant_scale;
+ gint16 chroma_ac_quant_scale;
+ gint16 chroma_dc_quant_scale;
+
+ guint8 reference_frame_enabled;
+ gint reference_frame;
+
+ guint8 reference_skip;
+};
+
+/**
+ * GstVp9Parser:
+ * @priv: GstVp9ParserPrivate struct to keep track of state variables
+ * @mb_segment_tree_probs: decoding tree probabilities
+ * @segment_pred_probs: segment prediction probabiilties
+ * @segmentation: Segmentation info
+ *
+ * Parser context that needs to be live across frames
+ *
+ * Since: 1.8
+ */
+struct _GstVp9Parser
+{
+ /* private stuct for tracking state variables across frames */
+ void *priv;
+
+ guint8 mb_segment_tree_probs[GST_VP9_SEG_TREE_PROBS];
+ guint8 segment_pred_probs[GST_VP9_PREDICTION_PROBS];
+ GstVp9Segmentation segmentation[GST_VP9_MAX_SEGMENTS];
+};
+
+GstVp9Parser * gst_vp9_parser_new (void);
+
+GstVp9ParserResult gst_vp9_parser_parse_frame_header (GstVp9Parser* parser, GstVp9FrameHdr * frame_hdr, const guint8 * data, gsize size);
+
+void gst_vp9_parser_free (GstVp9Parser * parser);
+
+G_END_DECLS
+
+#endif /* GST_VP9_PARSER_H */
diff --git a/gst-libs/gst/codecparsers/nalutils.h b/gst-libs/gst/codecparsers/nalutils.h
index 11cbe7a..7e23ab1 100644
--- a/gst-libs/gst/codecparsers/nalutils.h
+++ b/gst-libs/gst/codecparsers/nalutils.h
@@ -53,19 +53,35 @@
guint64 cache; /* cached bytes */
} NalReader;
+G_GNUC_INTERNAL
void nal_reader_init (NalReader * nr, const guint8 * data, guint size);
+G_GNUC_INTERNAL
gboolean nal_reader_read (NalReader * nr, guint nbits);
+
+G_GNUC_INTERNAL
gboolean nal_reader_skip (NalReader * nr, guint nbits);
+
+G_GNUC_INTERNAL
gboolean nal_reader_skip_long (NalReader * nr, guint nbits);
+
+G_GNUC_INTERNAL
guint nal_reader_get_pos (const NalReader * nr);
+
+G_GNUC_INTERNAL
guint nal_reader_get_remaining (const NalReader * nr);
+
+G_GNUC_INTERNAL
guint nal_reader_get_epb_count (const NalReader * nr);
+G_GNUC_INTERNAL
gboolean nal_reader_is_byte_aligned (NalReader * nr);
+
+G_GNUC_INTERNAL
gboolean nal_reader_has_more_data (NalReader * nr);
#define NAL_READER_READ_BITS_H(bits) \
+G_GNUC_INTERNAL \
gboolean nal_reader_get_bits_uint##bits (NalReader *nr, guint##bits *val, guint nbits)
NAL_READER_READ_BITS_H (8);
@@ -73,11 +89,15 @@
NAL_READER_READ_BITS_H (32);
#define NAL_READER_PEEK_BITS_H(bits) \
+G_GNUC_INTERNAL \
gboolean nal_reader_peek_bits_uint##bits (const NalReader *nr, guint##bits *val, guint nbits)
NAL_READER_PEEK_BITS_H (8);
+G_GNUC_INTERNAL
gboolean nal_reader_get_ue (NalReader * nr, guint32 * val);
+
+G_GNUC_INTERNAL
gboolean nal_reader_get_se (NalReader * nr, gint32 * val);
#define CHECK_ALLOWED_MAX(val, max) { \
@@ -159,4 +179,5 @@
val = tmp; \
}
+G_GNUC_INTERNAL
gint scan_for_start_codes (const guint8 * data, guint size);
diff --git a/gst-libs/gst/codecparsers/parserutils.h b/gst-libs/gst/codecparsers/parserutils.h
index 6b54ded..e1bf18f 100644
--- a/gst-libs/gst/codecparsers/parserutils.h
+++ b/gst-libs/gst/codecparsers/parserutils.h
@@ -101,7 +101,7 @@
guint cbits;
};
-gboolean
+G_GNUC_INTERNAL gboolean
decode_vlc (GstBitReader * br, guint * res, const VLCTable * table,
guint length);
diff --git a/gst-libs/gst/codecparsers/vp8utils.h b/gst-libs/gst/codecparsers/vp8utils.h
index c8fc96b..5715a5b 100644
--- a/gst-libs/gst/codecparsers/vp8utils.h
+++ b/gst-libs/gst/codecparsers/vp8utils.h
@@ -25,19 +25,19 @@
#include <gst/codecparsers/gstvp8parser.h>
-void
+G_GNUC_INTERNAL void
gst_vp8_token_update_probs_init (GstVp8TokenProbs * probs);
-void
+G_GNUC_INTERNAL void
gst_vp8_token_probs_init_defaults (GstVp8TokenProbs * probs);
-void
+G_GNUC_INTERNAL void
gst_vp8_mv_update_probs_init (GstVp8MvProbs * probs);
-void
+G_GNUC_INTERNAL void
gst_vp8_mv_probs_init_defaults (GstVp8MvProbs * probs);
-void
+G_GNUC_INTERNAL void
gst_vp8_mode_probs_init_defaults (GstVp8ModeProbs * probs, gboolean key_frame);
#endif /* GST_VP8_UTILS_H */
diff --git a/gst-libs/gst/codecparsers/vp9utils.c b/gst-libs/gst/codecparsers/vp9utils.c
new file mode 100644
index 0000000..009fa24
--- /dev/null
+++ b/gst-libs/gst/codecparsers/vp9utils.c
@@ -0,0 +1,290 @@
+/*
+ * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * * Neither the name of Google, nor the WebM Project, nor the names
+ * of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "vp9utils.h"
+
+static const int16_t dc_qlookup[QINDEX_RANGE] = {
+ 4, 8, 8, 9, 10, 11, 12, 12,
+ 13, 14, 15, 16, 17, 18, 19, 19,
+ 20, 21, 22, 23, 24, 25, 26, 26,
+ 27, 28, 29, 30, 31, 32, 32, 33,
+ 34, 35, 36, 37, 38, 38, 39, 40,
+ 41, 42, 43, 43, 44, 45, 46, 47,
+ 48, 48, 49, 50, 51, 52, 53, 53,
+ 54, 55, 56, 57, 57, 58, 59, 60,
+ 61, 62, 62, 63, 64, 65, 66, 66,
+ 67, 68, 69, 70, 70, 71, 72, 73,
+ 74, 74, 75, 76, 77, 78, 78, 79,
+ 80, 81, 81, 82, 83, 84, 85, 85,
+ 87, 88, 90, 92, 93, 95, 96, 98,
+ 99, 101, 102, 104, 105, 107, 108, 110,
+ 111, 113, 114, 116, 117, 118, 120, 121,
+ 123, 125, 127, 129, 131, 134, 136, 138,
+ 140, 142, 144, 146, 148, 150, 152, 154,
+ 156, 158, 161, 164, 166, 169, 172, 174,
+ 177, 180, 182, 185, 187, 190, 192, 195,
+ 199, 202, 205, 208, 211, 214, 217, 220,
+ 223, 226, 230, 233, 237, 240, 243, 247,
+ 250, 253, 257, 261, 265, 269, 272, 276,
+ 280, 284, 288, 292, 296, 300, 304, 309,
+ 313, 317, 322, 326, 330, 335, 340, 344,
+ 349, 354, 359, 364, 369, 374, 379, 384,
+ 389, 395, 400, 406, 411, 417, 423, 429,
+ 435, 441, 447, 454, 461, 467, 475, 482,
+ 489, 497, 505, 513, 522, 530, 539, 549,
+ 559, 569, 579, 590, 602, 614, 626, 640,
+ 654, 668, 684, 700, 717, 736, 755, 775,
+ 796, 819, 843, 869, 896, 925, 955, 988,
+ 1022, 1058, 1098, 1139, 1184, 1232, 1282, 1336,
+};
+
+static const int16_t dc_qlookup_10[QINDEX_RANGE] = {
+ 4, 9, 10, 13, 15, 17, 20, 22,
+ 25, 28, 31, 34, 37, 40, 43, 47,
+ 50, 53, 57, 60, 64, 68, 71, 75,
+ 78, 82, 86, 90, 93, 97, 101, 105,
+ 109, 113, 116, 120, 124, 128, 132, 136,
+ 140, 143, 147, 151, 155, 159, 163, 166,
+ 170, 174, 178, 182, 185, 189, 193, 197,
+ 200, 204, 208, 212, 215, 219, 223, 226,
+ 230, 233, 237, 241, 244, 248, 251, 255,
+ 259, 262, 266, 269, 273, 276, 280, 283,
+ 287, 290, 293, 297, 300, 304, 307, 310,
+ 314, 317, 321, 324, 327, 331, 334, 337,
+ 343, 350, 356, 362, 369, 375, 381, 387,
+ 394, 400, 406, 412, 418, 424, 430, 436,
+ 442, 448, 454, 460, 466, 472, 478, 484,
+ 490, 499, 507, 516, 525, 533, 542, 550,
+ 559, 567, 576, 584, 592, 601, 609, 617,
+ 625, 634, 644, 655, 666, 676, 687, 698,
+ 708, 718, 729, 739, 749, 759, 770, 782,
+ 795, 807, 819, 831, 844, 856, 868, 880,
+ 891, 906, 920, 933, 947, 961, 975, 988,
+ 1001, 1015, 1030, 1045, 1061, 1076, 1090, 1105,
+ 1120, 1137, 1153, 1170, 1186, 1202, 1218, 1236,
+ 1253, 1271, 1288, 1306, 1323, 1342, 1361, 1379,
+ 1398, 1416, 1436, 1456, 1476, 1496, 1516, 1537,
+ 1559, 1580, 1601, 1624, 1647, 1670, 1692, 1717,
+ 1741, 1766, 1791, 1817, 1844, 1871, 1900, 1929,
+ 1958, 1990, 2021, 2054, 2088, 2123, 2159, 2197,
+ 2236, 2276, 2319, 2363, 2410, 2458, 2508, 2561,
+ 2616, 2675, 2737, 2802, 2871, 2944, 3020, 3102,
+ 3188, 3280, 3375, 3478, 3586, 3702, 3823, 3953,
+ 4089, 4236, 4394, 4559, 4737, 4929, 5130, 5347,
+};
+
+static const int16_t dc_qlookup_12[QINDEX_RANGE] = {
+ 4, 12, 18, 25, 33, 41, 50, 60,
+ 70, 80, 91, 103, 115, 127, 140, 153,
+ 166, 180, 194, 208, 222, 237, 251, 266,
+ 281, 296, 312, 327, 343, 358, 374, 390,
+ 405, 421, 437, 453, 469, 484, 500, 516,
+ 532, 548, 564, 580, 596, 611, 627, 643,
+ 659, 674, 690, 706, 721, 737, 752, 768,
+ 783, 798, 814, 829, 844, 859, 874, 889,
+ 904, 919, 934, 949, 964, 978, 993, 1008,
+ 1022, 1037, 1051, 1065, 1080, 1094, 1108, 1122,
+ 1136, 1151, 1165, 1179, 1192, 1206, 1220, 1234,
+ 1248, 1261, 1275, 1288, 1302, 1315, 1329, 1342,
+ 1368, 1393, 1419, 1444, 1469, 1494, 1519, 1544,
+ 1569, 1594, 1618, 1643, 1668, 1692, 1717, 1741,
+ 1765, 1789, 1814, 1838, 1862, 1885, 1909, 1933,
+ 1957, 1992, 2027, 2061, 2096, 2130, 2165, 2199,
+ 2233, 2267, 2300, 2334, 2367, 2400, 2434, 2467,
+ 2499, 2532, 2575, 2618, 2661, 2704, 2746, 2788,
+ 2830, 2872, 2913, 2954, 2995, 3036, 3076, 3127,
+ 3177, 3226, 3275, 3324, 3373, 3421, 3469, 3517,
+ 3565, 3621, 3677, 3733, 3788, 3843, 3897, 3951,
+ 4005, 4058, 4119, 4181, 4241, 4301, 4361, 4420,
+ 4479, 4546, 4612, 4677, 4742, 4807, 4871, 4942,
+ 5013, 5083, 5153, 5222, 5291, 5367, 5442, 5517,
+ 5591, 5665, 5745, 5825, 5905, 5984, 6063, 6149,
+ 6234, 6319, 6404, 6495, 6587, 6678, 6769, 6867,
+ 6966, 7064, 7163, 7269, 7376, 7483, 7599, 7715,
+ 7832, 7958, 8085, 8214, 8352, 8492, 8635, 8788,
+ 8945, 9104, 9275, 9450, 9639, 9832, 10031, 10245,
+ 10465, 10702, 10946, 11210, 11482, 11776, 12081, 12409,
+ 12750, 13118, 13501, 13913, 14343, 14807, 15290, 15812,
+ 16356, 16943, 17575, 18237, 18949, 19718, 20521, 21387,
+};
+
+static const int16_t ac_qlookup[QINDEX_RANGE] = {
+ 4, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22,
+ 23, 24, 25, 26, 27, 28, 29, 30,
+ 31, 32, 33, 34, 35, 36, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62,
+ 63, 64, 65, 66, 67, 68, 69, 70,
+ 71, 72, 73, 74, 75, 76, 77, 78,
+ 79, 80, 81, 82, 83, 84, 85, 86,
+ 87, 88, 89, 90, 91, 92, 93, 94,
+ 95, 96, 97, 98, 99, 100, 101, 102,
+ 104, 106, 108, 110, 112, 114, 116, 118,
+ 120, 122, 124, 126, 128, 130, 132, 134,
+ 136, 138, 140, 142, 144, 146, 148, 150,
+ 152, 155, 158, 161, 164, 167, 170, 173,
+ 176, 179, 182, 185, 188, 191, 194, 197,
+ 200, 203, 207, 211, 215, 219, 223, 227,
+ 231, 235, 239, 243, 247, 251, 255, 260,
+ 265, 270, 275, 280, 285, 290, 295, 300,
+ 305, 311, 317, 323, 329, 335, 341, 347,
+ 353, 359, 366, 373, 380, 387, 394, 401,
+ 408, 416, 424, 432, 440, 448, 456, 465,
+ 474, 483, 492, 501, 510, 520, 530, 540,
+ 550, 560, 571, 582, 593, 604, 615, 627,
+ 639, 651, 663, 676, 689, 702, 715, 729,
+ 743, 757, 771, 786, 801, 816, 832, 848,
+ 864, 881, 898, 915, 933, 951, 969, 988,
+ 1007, 1026, 1046, 1066, 1087, 1108, 1129, 1151,
+ 1173, 1196, 1219, 1243, 1267, 1292, 1317, 1343,
+ 1369, 1396, 1423, 1451, 1479, 1508, 1537, 1567,
+ 1597, 1628, 1660, 1692, 1725, 1759, 1793, 1828,
+};
+
+static const int16_t ac_qlookup_10[QINDEX_RANGE] = {
+ 4, 9, 11, 13, 16, 18, 21, 24,
+ 27, 30, 33, 37, 40, 44, 48, 51,
+ 55, 59, 63, 67, 71, 75, 79, 83,
+ 88, 92, 96, 100, 105, 109, 114, 118,
+ 122, 127, 131, 136, 140, 145, 149, 154,
+ 158, 163, 168, 172, 177, 181, 186, 190,
+ 195, 199, 204, 208, 213, 217, 222, 226,
+ 231, 235, 240, 244, 249, 253, 258, 262,
+ 267, 271, 275, 280, 284, 289, 293, 297,
+ 302, 306, 311, 315, 319, 324, 328, 332,
+ 337, 341, 345, 349, 354, 358, 362, 367,
+ 371, 375, 379, 384, 388, 392, 396, 401,
+ 409, 417, 425, 433, 441, 449, 458, 466,
+ 474, 482, 490, 498, 506, 514, 523, 531,
+ 539, 547, 555, 563, 571, 579, 588, 596,
+ 604, 616, 628, 640, 652, 664, 676, 688,
+ 700, 713, 725, 737, 749, 761, 773, 785,
+ 797, 809, 825, 841, 857, 873, 889, 905,
+ 922, 938, 954, 970, 986, 1002, 1018, 1038,
+ 1058, 1078, 1098, 1118, 1138, 1158, 1178, 1198,
+ 1218, 1242, 1266, 1290, 1314, 1338, 1362, 1386,
+ 1411, 1435, 1463, 1491, 1519, 1547, 1575, 1603,
+ 1631, 1663, 1695, 1727, 1759, 1791, 1823, 1859,
+ 1895, 1931, 1967, 2003, 2039, 2079, 2119, 2159,
+ 2199, 2239, 2283, 2327, 2371, 2415, 2459, 2507,
+ 2555, 2603, 2651, 2703, 2755, 2807, 2859, 2915,
+ 2971, 3027, 3083, 3143, 3203, 3263, 3327, 3391,
+ 3455, 3523, 3591, 3659, 3731, 3803, 3876, 3952,
+ 4028, 4104, 4184, 4264, 4348, 4432, 4516, 4604,
+ 4692, 4784, 4876, 4972, 5068, 5168, 5268, 5372,
+ 5476, 5584, 5692, 5804, 5916, 6032, 6148, 6268,
+ 6388, 6512, 6640, 6768, 6900, 7036, 7172, 7312,
+};
+
+static const int16_t ac_qlookup_12[QINDEX_RANGE] = {
+ 4, 13, 19, 27, 35, 44, 54, 64,
+ 75, 87, 99, 112, 126, 139, 154, 168,
+ 183, 199, 214, 230, 247, 263, 280, 297,
+ 314, 331, 349, 366, 384, 402, 420, 438,
+ 456, 475, 493, 511, 530, 548, 567, 586,
+ 604, 623, 642, 660, 679, 698, 716, 735,
+ 753, 772, 791, 809, 828, 846, 865, 884,
+ 902, 920, 939, 957, 976, 994, 1012, 1030,
+ 1049, 1067, 1085, 1103, 1121, 1139, 1157, 1175,
+ 1193, 1211, 1229, 1246, 1264, 1282, 1299, 1317,
+ 1335, 1352, 1370, 1387, 1405, 1422, 1440, 1457,
+ 1474, 1491, 1509, 1526, 1543, 1560, 1577, 1595,
+ 1627, 1660, 1693, 1725, 1758, 1791, 1824, 1856,
+ 1889, 1922, 1954, 1987, 2020, 2052, 2085, 2118,
+ 2150, 2183, 2216, 2248, 2281, 2313, 2346, 2378,
+ 2411, 2459, 2508, 2556, 2605, 2653, 2701, 2750,
+ 2798, 2847, 2895, 2943, 2992, 3040, 3088, 3137,
+ 3185, 3234, 3298, 3362, 3426, 3491, 3555, 3619,
+ 3684, 3748, 3812, 3876, 3941, 4005, 4069, 4149,
+ 4230, 4310, 4390, 4470, 4550, 4631, 4711, 4791,
+ 4871, 4967, 5064, 5160, 5256, 5352, 5448, 5544,
+ 5641, 5737, 5849, 5961, 6073, 6185, 6297, 6410,
+ 6522, 6650, 6778, 6906, 7034, 7162, 7290, 7435,
+ 7579, 7723, 7867, 8011, 8155, 8315, 8475, 8635,
+ 8795, 8956, 9132, 9308, 9484, 9660, 9836, 10028,
+ 10220, 10412, 10604, 10812, 11020, 11228, 11437, 11661,
+ 11885, 12109, 12333, 12573, 12813, 13053, 13309, 13565,
+ 13821, 14093, 14365, 14637, 14925, 15213, 15502, 15806,
+ 16110, 16414, 16734, 17054, 17390, 17726, 18062, 18414,
+ 18766, 19134, 19502, 19886, 20270, 20670, 21070, 21486,
+ 21902, 22334, 22766, 23214, 23662, 24126, 24590, 25070,
+ 25551, 26047, 26559, 27071, 27599, 28143, 28687, 29247,
+};
+
+static int
+clamp (int value, int low, int high)
+{
+ return value < low ? low : (value > high ? high : value);
+}
+
+int16_t
+gst_vp9_dc_quant (int qindex, int delta, int bit_depth)
+{
+ const uint8_t q_table_idx = clamp (qindex + delta, 0, MAXQ);
+
+ switch (bit_depth) {
+ case 8:
+ return dc_qlookup[q_table_idx];
+ case 10:
+ return dc_qlookup_10[q_table_idx];
+ case 12:
+ return dc_qlookup_12[q_table_idx];
+ default:
+ return -1;
+ }
+ return -1;
+}
+
+int16_t
+gst_vp9_ac_quant (int qindex, int delta, int bit_depth)
+{
+ const uint8_t q_table_idx = clamp (qindex + delta, 0, MAXQ);
+
+ switch (bit_depth) {
+ case 8:
+ return ac_qlookup[q_table_idx];
+ case 10:
+ return ac_qlookup_10[q_table_idx];
+ case 12:
+ return ac_qlookup_12[q_table_idx];
+ default:
+ return -1;
+ }
+ return -1;
+}
diff --git a/gst-libs/gst/codecparsers/vp9utils.h b/gst-libs/gst/codecparsers/vp9utils.h
new file mode 100644
index 0000000..7f8240b
--- /dev/null
+++ b/gst-libs/gst/codecparsers/vp9utils.h
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * * Neither the name of Google, nor the WebM Project, nor the names
+ * of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written
+ * permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
+ */
+
+#ifndef __VP9_QUANT_H__
+#define __VP9_QUANT_H__
+
+#include <stdint.h>
+#include <glib.h>
+
+#define MAXQ 255
+#define QINDEX_RANGE 256
+#define QINDEX_BITS 8
+
+G_GNUC_INTERNAL
+int16_t gst_vp9_dc_quant(int qindex, int delta, int bit_depth);
+
+G_GNUC_INTERNAL
+int16_t gst_vp9_ac_quant(int qindex, int delta, int bit_depth);
+
+
+#endif //__VP9_QUANT_H__
diff --git a/gst-libs/gst/gl/Makefile.am b/gst-libs/gst/gl/Makefile.am
index edc1370..f1cb9e1 100644
--- a/gst-libs/gst/gl/Makefile.am
+++ b/gst-libs/gst/gl/Makefile.am
@@ -4,8 +4,6 @@
SUBDIRS = glprototypes
DIST_SUBDIRS = glprototypes android x11 win32 cocoa wayland dispmanx egl eagl
-noinst_HEADERS =
-
built_sys_header_configure = gstglconfig.h
libgstgl_@GST_API_VERSION@_la_SOURCES = \
@@ -34,8 +32,8 @@
gstglsyncmeta.c \
gstglviewconvert.c \
gstgloverlaycompositor.c \
- gstglsl_private.h \
- utils/opengl_versions.h
+ gstglquery.c \
+ gstglcontrolbindingproxy.c
libgstgl_@GST_API_VERSION@includedir = $(includedir)/gstreamer-@GST_API_VERSION@/gst/gl
libgstgl_@GST_API_VERSION@include_HEADERS = \
@@ -64,10 +62,18 @@
gstglsyncmeta.h \
gstglviewconvert.h \
gstgloverlaycompositor.h \
+ gstglquery.h \
+ gstglcontrolbindingproxy.h \
gstgl_fwd.h \
gstgl_enums.h \
gl.h
+noinst_HEADERS = \
+ gstglsl_private.h \
+ utils/opengl_versions.h \
+ utils/gles_versions.h
+
+
libgstgl_@GST_API_VERSION@_la_LIBADD = \
$(GMODULE_NO_EXPORT_LIBS) \
$(GST_PLUGINS_BASE_LIBS) \
@@ -166,7 +172,7 @@
--pkg gstreamer-base-@GST_API_VERSION@ \
--pkg gstreamer-video-@GST_API_VERSION@ \
--pkg-export gstreamer-gl-@GST_API_VERSION@ \
- --add-init-section="gst_init(NULL,NULL);" \
+ --add-init-section="$(INTROSPECTION_INIT)" \
-DGST_USE_UNSTABLE_API \
--output $@ \
$(gir_headers) \
diff --git a/gst-libs/gst/gl/Makefile.in b/gst-libs/gst/gl/Makefile.in
index 64779ea..42e795f 100644
--- a/gst-libs/gst/gl/Makefile.in
+++ b/gst-libs/gst/gl/Makefile.in
@@ -134,16 +134,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am \
@@ -218,7 +217,9 @@
libgstgl_@GST_API_VERSION@_la-gstglframebuffer.lo \
libgstgl_@GST_API_VERSION@_la-gstglsyncmeta.lo \
libgstgl_@GST_API_VERSION@_la-gstglviewconvert.lo \
- libgstgl_@GST_API_VERSION@_la-gstgloverlaycompositor.lo
+ libgstgl_@GST_API_VERSION@_la-gstgloverlaycompositor.lo \
+ libgstgl_@GST_API_VERSION@_la-gstglquery.lo \
+ libgstgl_@GST_API_VERSION@_la-gstglcontrolbindingproxy.lo
libgstgl_@GST_API_VERSION@_la_OBJECTS = \
$(am_libgstgl_@GST_API_VERSION@_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
@@ -419,7 +420,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -441,7 +441,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -463,9 +462,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -627,6 +623,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -640,8 +637,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -728,8 +723,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -781,6 +774,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -801,6 +795,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -838,7 +834,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -883,7 +878,6 @@
$(am__append_7) $(am__append_9) $(am__append_11) \
$(am__append_13) $(am__append_15)
DIST_SUBDIRS = glprototypes android x11 win32 cocoa wayland dispmanx egl eagl
-noinst_HEADERS =
built_sys_header_configure = gstglconfig.h
libgstgl_@GST_API_VERSION@_la_SOURCES = \
gstgldisplay.c \
@@ -911,8 +905,8 @@
gstglsyncmeta.c \
gstglviewconvert.c \
gstgloverlaycompositor.c \
- gstglsl_private.h \
- utils/opengl_versions.h
+ gstglquery.c \
+ gstglcontrolbindingproxy.c
libgstgl_@GST_API_VERSION@includedir = $(includedir)/gstreamer-@GST_API_VERSION@/gst/gl
libgstgl_@GST_API_VERSION@include_HEADERS = \
@@ -941,10 +935,17 @@
gstglsyncmeta.h \
gstglviewconvert.h \
gstgloverlaycompositor.h \
+ gstglquery.h \
+ gstglcontrolbindingproxy.h \
gstgl_fwd.h \
gstgl_enums.h \
gl.h
+noinst_HEADERS = \
+ gstglsl_private.h \
+ utils/opengl_versions.h \
+ utils/gles_versions.h
+
libgstgl_@GST_API_VERSION@_la_LIBADD = $(GMODULE_NO_EXPORT_LIBS) \
$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
$(GST_BASE_LIBS) $(GST_LIBS) $(GL_LIBS) $(am__append_2) \
@@ -1066,6 +1067,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglbufferpool.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglcolorconvert.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglcontext.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglcontrolbindingproxy.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstgldebug.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstgldisplay.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglfeature.Plo@am__quote@
@@ -1075,6 +1077,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglmemory.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglmemorypbo.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstgloverlaycompositor.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglquery.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglshader.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglshaderstrings.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglsl.Plo@am__quote@
@@ -1284,6 +1287,20 @@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstgl_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstgl_@GST_API_VERSION@_la-gstgloverlaycompositor.lo `test -f 'gstgloverlaycompositor.c' || echo '$(srcdir)/'`gstgloverlaycompositor.c
+libgstgl_@GST_API_VERSION@_la-gstglquery.lo: gstglquery.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstgl_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstgl_@GST_API_VERSION@_la-gstglquery.lo -MD -MP -MF $(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglquery.Tpo -c -o libgstgl_@GST_API_VERSION@_la-gstglquery.lo `test -f 'gstglquery.c' || echo '$(srcdir)/'`gstglquery.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglquery.Tpo $(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglquery.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstglquery.c' object='libgstgl_@GST_API_VERSION@_la-gstglquery.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 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstgl_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstgl_@GST_API_VERSION@_la-gstglquery.lo `test -f 'gstglquery.c' || echo '$(srcdir)/'`gstglquery.c
+
+libgstgl_@GST_API_VERSION@_la-gstglcontrolbindingproxy.lo: gstglcontrolbindingproxy.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstgl_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstgl_@GST_API_VERSION@_la-gstglcontrolbindingproxy.lo -MD -MP -MF $(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglcontrolbindingproxy.Tpo -c -o libgstgl_@GST_API_VERSION@_la-gstglcontrolbindingproxy.lo `test -f 'gstglcontrolbindingproxy.c' || echo '$(srcdir)/'`gstglcontrolbindingproxy.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglcontrolbindingproxy.Tpo $(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglcontrolbindingproxy.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstglcontrolbindingproxy.c' object='libgstgl_@GST_API_VERSION@_la-gstglcontrolbindingproxy.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 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstgl_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstgl_@GST_API_VERSION@_la-gstglcontrolbindingproxy.lo `test -f 'gstglcontrolbindingproxy.c' || echo '$(srcdir)/'`gstglcontrolbindingproxy.c
+
mostlyclean-libtool:
-rm -f *.lo
@@ -1694,7 +1711,7 @@
@HAVE_INTROSPECTION_TRUE@ --pkg gstreamer-base-@GST_API_VERSION@ \
@HAVE_INTROSPECTION_TRUE@ --pkg gstreamer-video-@GST_API_VERSION@ \
@HAVE_INTROSPECTION_TRUE@ --pkg-export gstreamer-gl-@GST_API_VERSION@ \
-@HAVE_INTROSPECTION_TRUE@ --add-init-section="gst_init(NULL,NULL);" \
+@HAVE_INTROSPECTION_TRUE@ --add-init-section="$(INTROSPECTION_INIT)" \
@HAVE_INTROSPECTION_TRUE@ -DGST_USE_UNSTABLE_API \
@HAVE_INTROSPECTION_TRUE@ --output $@ \
@HAVE_INTROSPECTION_TRUE@ $(gir_headers) \
diff --git a/gst-libs/gst/gl/android/Makefile.in b/gst-libs/gst/gl/android/Makefile.in
index e7fe150..e5e7826 100644
--- a/gst-libs/gst/gl/android/Makefile.in
+++ b/gst-libs/gst/gl/android/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(libgstglandroidinclude_HEADERS) \
@@ -322,7 +321,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -344,7 +342,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -366,9 +363,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -530,6 +524,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -543,8 +538,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -631,8 +624,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -684,6 +675,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -704,6 +696,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -741,7 +735,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst-libs/gst/gl/android/gstglwindow_android_egl.c b/gst-libs/gst/gl/android/gstglwindow_android_egl.c
index 798a800..f234acf 100644
--- a/gst-libs/gst/gl/android/gstglwindow_android_egl.c
+++ b/gst-libs/gst/gl/android/gstglwindow_android_egl.c
@@ -106,7 +106,7 @@
if (context_egl->egl_surface) {
gint width, height;
- gint window_width, window_height;
+ guint window_width, window_height;
gst_gl_window_get_surface_dimensions (window, &window_width,
&window_height);
diff --git a/gst-libs/gst/gl/cocoa/Makefile.in b/gst-libs/gst/gl/cocoa/Makefile.in
index 20141a2..4c02234 100644
--- a/gst-libs/gst/gl/cocoa/Makefile.in
+++ b/gst-libs/gst/gl/cocoa/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(libgstgl_cocoainclude_HEADERS) \
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst-libs/gst/gl/dispmanx/Makefile.in b/gst-libs/gst/gl/dispmanx/Makefile.in
index 1f40452..fd27c9a 100644
--- a/gst-libs/gst/gl/dispmanx/Makefile.in
+++ b/gst-libs/gst/gl/dispmanx/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -294,7 +293,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -316,7 +314,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -338,9 +335,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -502,6 +496,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -515,8 +510,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -603,8 +596,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -656,6 +647,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -676,6 +668,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -713,7 +707,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst-libs/gst/gl/eagl/Makefile.in b/gst-libs/gst/gl/eagl/Makefile.in
index 4c38a4d..869eabe 100644
--- a/gst-libs/gst/gl/eagl/Makefile.in
+++ b/gst-libs/gst/gl/eagl/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -294,7 +293,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -316,7 +314,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -338,9 +335,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -502,6 +496,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -515,8 +510,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -603,8 +596,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -656,6 +647,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -676,6 +668,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -713,7 +707,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst-libs/gst/gl/egl/Makefile.in b/gst-libs/gst/gl/egl/Makefile.in
index 776836e..2e35a7a 100644
--- a/gst-libs/gst/gl/egl/Makefile.in
+++ b/gst-libs/gst/gl/egl/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(libgstgl_eglinclude_HEADERS) \
@@ -323,7 +322,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -345,7 +343,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -367,9 +364,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -531,6 +525,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -544,8 +539,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -632,8 +625,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -685,6 +676,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -705,6 +697,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -742,7 +736,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst-libs/gst/gl/egl/gsteglimagememory.c b/gst-libs/gst/gl/egl/gsteglimagememory.c
index 7005e47..e6d2c10 100644
--- a/gst-libs/gst/gl/egl/gsteglimagememory.c
+++ b/gst-libs/gst/gl/egl/gsteglimagememory.c
@@ -450,7 +450,7 @@
if (!img) {
GST_WARNING_OBJECT (allocator, "eglCreateImage failed: %s",
- gst_gl_context_egl_get_error_string ());
+ gst_gl_context_egl_get_error_string (eglGetError ()));
return NULL;
}
diff --git a/gst-libs/gst/gl/egl/gstglcontext_egl.c b/gst-libs/gst/gl/egl/gstglcontext_egl.c
index 7911fc5..ceafdf3 100644
--- a/gst-libs/gst/gl/egl/gstglcontext_egl.c
+++ b/gst-libs/gst/gl/egl/gstglcontext_egl.c
@@ -30,6 +30,8 @@
#include "gstglcontext_egl.h"
#include <gst/gl/egl/gstegl.h>
+#include "../utils/opengl_versions.h"
+#include "../utils/gles_versions.h"
#if GST_GL_HAVE_WINDOW_X11
#include "../x11/gstglwindow_x11.h"
@@ -108,11 +110,9 @@
}
const gchar *
-gst_gl_context_egl_get_error_string (void)
+gst_gl_context_egl_get_error_string (EGLint err)
{
- EGLint nErr = eglGetError ();
-
- switch (nErr) {
+ switch (err) {
case EGL_SUCCESS:
return "EGL_SUCCESS";
case EGL_BAD_DISPLAY:
@@ -173,19 +173,36 @@
}
static gboolean
-gst_gl_context_egl_choose_config (GstGLContextEGL * egl,
- GstGLContext * other_context, GError ** error)
+gst_gl_context_egl_choose_config (GstGLContextEGL * egl, GstGLAPI gl_api,
+ gint major, GError ** error)
{
+ gboolean create_context;
EGLint numConfigs;
gint i = 0;
EGLint config_attrib[20];
+ create_context =
+ gst_gl_check_extension ("EGL_KHR_create_context", egl->egl_exts);
+ /* silence unused warnings */
+ (void) create_context;
+
config_attrib[i++] = EGL_SURFACE_TYPE;
config_attrib[i++] = EGL_WINDOW_BIT;
config_attrib[i++] = EGL_RENDERABLE_TYPE;
- if (egl->gl_api & GST_GL_API_GLES2)
- config_attrib[i++] = EGL_OPENGL_ES2_BIT;
- else
+ if (gl_api & GST_GL_API_GLES2) {
+ if (major == 3) {
+#if defined(EGL_KHR_create_context)
+ if (create_context) {
+ config_attrib[i++] = EGL_OPENGL_ES3_BIT_KHR;
+ } else
+#endif
+ {
+ return FALSE;
+ }
+ } else {
+ config_attrib[i++] = EGL_OPENGL_ES2_BIT;
+ }
+ } else
config_attrib[i++] = EGL_OPENGL_BIT;
#if defined(USE_EGL_RPI) && GST_GL_HAVE_WINDOW_WAYLAND
/* The configurations with a=0 seems to be buggy whereas
@@ -210,7 +227,7 @@
} else {
g_set_error (error, GST_GL_CONTEXT_ERROR, GST_GL_CONTEXT_ERROR_WRONG_CONFIG,
"Failed to set window configuration: %s",
- gst_gl_context_egl_get_error_string ());
+ gst_gl_context_egl_get_error_string (eglGetError ()));
goto failure;
}
@@ -220,6 +237,71 @@
return FALSE;
}
+static EGLContext
+_create_context_with_flags (GstGLContextEGL * egl, EGLContext share_context,
+ GstGLAPI gl_api, gint major, gint minor, gint contextFlags,
+ gint profileMask)
+{
+ gboolean create_context;
+#define N_ATTRIBS 20
+ gint attribs[N_ATTRIBS];
+ gint n = 0;
+
+ /* fail creation of apis/versions/flags that require EGL_KHR_create_context
+ * if the extension doesn't exist, namely:0
+ *
+ * - profile mask
+ * - context flags
+ * - GL3 > 3.1
+ * - GLES2 && minor > 0
+ */
+ create_context =
+ gst_gl_check_extension ("EGL_KHR_create_context", egl->egl_exts);
+ (void) create_context;
+ if (!create_context && (profileMask || contextFlags
+ || ((gl_api & GST_GL_API_OPENGL3)
+ && GST_GL_CHECK_GL_VERSION (major, minor, 3, 2))
+ || ((gl_api & GST_GL_API_GLES2) && minor > 0))) {
+ return 0;
+ }
+
+ GST_DEBUG_OBJECT (egl, "attempting to create OpenGL%s context version %d.%d "
+ "flags %x profile %x", gl_api & GST_GL_API_GLES2 ? " ES" : "", major,
+ minor, contextFlags, profileMask);
+
+#if defined(EGL_KHR_create_context)
+ if (create_context) {
+ if (major) {
+ attribs[n++] = EGL_CONTEXT_MAJOR_VERSION_KHR;
+ attribs[n++] = major;
+ }
+ if (minor) {
+ attribs[n++] = EGL_CONTEXT_MINOR_VERSION_KHR;
+ attribs[n++] = minor;
+ }
+ if (contextFlags) {
+ attribs[n++] = EGL_CONTEXT_FLAGS_KHR;
+ attribs[n++] = contextFlags;
+ }
+ if (profileMask) {
+ attribs[n++] = EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR;
+ attribs[n++] = profileMask;
+ }
+ } else
+#endif
+ {
+ attribs[n++] = EGL_CONTEXT_CLIENT_VERSION;
+ attribs[n++] = major;
+ }
+ attribs[n++] = EGL_NONE;
+
+ g_assert (n < N_ATTRIBS);
+#undef N_ATTRIBS
+
+ return eglCreateContext (egl->egl_display, egl->egl_config, share_context,
+ attribs);
+}
+
static gboolean
gst_gl_context_egl_create_context (GstGLContext * context,
GstGLAPI gl_api, GstGLContext * other_context, GError ** error)
@@ -227,11 +309,8 @@
GstGLContextEGL *egl;
GstGLWindow *window = NULL;
EGLNativeWindowType window_handle = (EGLNativeWindowType) 0;
- gint i = 0;
- EGLint context_attrib[5];
EGLint majorVersion;
EGLint minorVersion;
- const gchar *egl_exts;
gboolean need_surface = TRUE;
guintptr external_gl_context = 0;
GstGLDisplay *display;
@@ -251,7 +330,8 @@
external_gl_context = gst_gl_context_get_gl_context (other_context);
}
- if ((gl_api & (GST_GL_API_OPENGL | GST_GL_API_GLES2)) == GST_GL_API_NONE) {
+ if ((gl_api & (GST_GL_API_OPENGL | GST_GL_API_OPENGL3 | GST_GL_API_GLES2)) ==
+ GST_GL_API_NONE) {
g_set_error (error, GST_GL_CONTEXT_ERROR, GST_GL_CONTEXT_ERROR_WRONG_API,
"EGL supports opengl or gles2");
goto failure;
@@ -288,11 +368,17 @@
} else {
g_set_error (error, GST_GL_CONTEXT_ERROR,
GST_GL_CONTEXT_ERROR_RESOURCE_UNAVAILABLE,
- "Failed to initialize egl: %s", gst_gl_context_egl_get_error_string ());
+ "Failed to initialize egl: %s",
+ gst_gl_context_egl_get_error_string (eglGetError ()));
goto failure;
}
- if (gl_api & GST_GL_API_OPENGL) {
+ egl->egl_exts = eglQueryString (egl->egl_display, EGL_EXTENSIONS);
+
+ if (gl_api & (GST_GL_API_OPENGL | GST_GL_API_OPENGL3)) {
+ GstGLAPI chosen_gl_api = 0;
+ gint i;
+
/* egl + opengl only available with EGL 1.4+ */
if (majorVersion == 1 && minorVersion <= 3) {
if ((gl_api & ~GST_GL_API_OPENGL) == GST_GL_API_NONE) {
@@ -318,67 +404,115 @@
if (!eglBindAPI (EGL_OPENGL_API)) {
g_set_error (error, GST_GL_CONTEXT_ERROR, GST_GL_CONTEXT_ERROR_FAILED,
"Failed to bind OpenGL API: %s",
- gst_gl_context_egl_get_error_string ());
+ gst_gl_context_egl_get_error_string (eglGetError ()));
goto failure;
}
- GST_INFO ("Using OpenGL");
- egl->gl_api = GST_GL_API_OPENGL;
+ GST_INFO ("Bound OpenGL");
+
+ /* api, version only matters for gles */
+ if (!gst_gl_context_egl_choose_config (egl, GST_GL_API_OPENGL, 0, error)) {
+ g_assert (error == NULL || *error != NULL);
+ goto failure;
+ }
+
+ for (i = 0; i < G_N_ELEMENTS (opengl_versions); i++) {
+ gint profileMask = 0;
+ gint contextFlags = 0;
+
+ if (GST_GL_CHECK_GL_VERSION (opengl_versions[i].major,
+ opengl_versions[i].minor, 3, 2)) {
+ /* skip gl3 contexts if requested */
+ if ((gl_api & GST_GL_API_OPENGL3) == 0)
+ continue;
+
+ chosen_gl_api = GST_GL_API_OPENGL3;
+#if defined(EGL_KHR_create_context)
+ profileMask |= EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR;
+ contextFlags |= EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR;
+#endif
+ } else if (opengl_versions[i].major == 3 && opengl_versions[i].minor == 1) {
+ /* skip 3.1, the implementation is free to give us either a core or a
+ * compatibility context (we have no say) */
+ continue;
+ } else {
+ /* skip legacy contexts if requested */
+ if ((gl_api & GST_GL_API_OPENGL) == 0)
+ continue;
+
+ chosen_gl_api = GST_GL_API_OPENGL;
+ }
+
+ egl->egl_context =
+ _create_context_with_flags (egl, (EGLContext) external_gl_context,
+ chosen_gl_api, opengl_versions[i].major,
+ opengl_versions[i].minor, contextFlags, profileMask);
+
+ if (egl->egl_context)
+ break;
+
+#if defined(EGL_KHR_create_context)
+ profileMask &= ~EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR;
+
+ egl->egl_context =
+ _create_context_with_flags (egl, (EGLContext) external_gl_context,
+ chosen_gl_api, opengl_versions[i].major,
+ opengl_versions[i].minor, contextFlags, profileMask);
+
+ if (egl->egl_context)
+ break;
+#endif
+ }
+
+ egl->gl_api = chosen_gl_api;
} else if (gl_api & GST_GL_API_GLES2) {
+ gint i;
+
try_gles2:
if (!eglBindAPI (EGL_OPENGL_ES_API)) {
g_set_error (error, GST_GL_CONTEXT_ERROR, GST_GL_CONTEXT_ERROR_FAILED,
"Failed to bind OpenGL|ES API: %s",
- gst_gl_context_egl_get_error_string ());
+ gst_gl_context_egl_get_error_string (eglGetError ()));
goto failure;
}
- GST_INFO ("Using OpenGL|ES 2.0");
+ GST_INFO ("Bound OpenGL|ES");
+
+ for (i = 0; i < G_N_ELEMENTS (gles2_versions); i++) {
+ gint profileMask = 0;
+ gint contextFlags = 0;
+
+ if (!gst_gl_context_egl_choose_config (egl, GST_GL_API_GLES2,
+ gles2_versions[i].major, error)) {
+ continue;
+ }
+#if defined(EGL_KHR_create_context)
+ /* try a debug context */
+ contextFlags |= EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR;
+
+ egl->egl_context =
+ _create_context_with_flags (egl, (EGLContext) external_gl_context,
+ GST_GL_API_GLES2, gles2_versions[i].major,
+ gles2_versions[i].minor, contextFlags, profileMask);
+
+ if (egl->egl_context)
+ break;
+
+ /* try without a debug context */
+ contextFlags &= ~EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR;
+#endif
+
+ egl->egl_context =
+ _create_context_with_flags (egl, (EGLContext) external_gl_context,
+ GST_GL_API_GLES2, gles2_versions[i].major,
+ gles2_versions[i].minor, contextFlags, profileMask);
+
+ if (egl->egl_context)
+ break;
+ }
egl->gl_api = GST_GL_API_GLES2;
}
- if (!gst_gl_context_egl_choose_config (egl, other_context, error)) {
- g_assert (error == NULL || *error != NULL);
- goto failure;
- }
-
- egl_exts = eglQueryString (egl->egl_display, EGL_EXTENSIONS);
-
- GST_DEBUG ("about to create gl context");
-
- if (egl->gl_api & GST_GL_API_GLES2) {
- context_attrib[i++] = EGL_CONTEXT_CLIENT_VERSION;
- context_attrib[i++] = 2;
- }
-#if !defined(GST_DISABLE_GST_DEBUG) && defined(EGL_KHR_create_context)
- if (gst_gl_check_extension ("EGL_KHR_create_context", egl_exts)) {
- context_attrib[i++] = EGL_CONTEXT_FLAGS_KHR;
- context_attrib[i++] = EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR;
- }
-#endif
- context_attrib[i++] = EGL_NONE;
-
- egl->egl_context =
- eglCreateContext (egl->egl_display, egl->egl_config,
- (EGLContext) external_gl_context, context_attrib);
-
-#ifdef EGL_KHR_create_context
- if (egl->egl_context == EGL_NO_CONTEXT && egl->gl_api & GST_GL_API_GLES2
- && eglGetError () != EGL_SUCCESS) {
- /* try without EGL_CONTEXT_FLAGS flags as it was added to
- * EGL_KHR_create_context for gles contexts */
- int i;
- for (i = 0; i < G_N_ELEMENTS (context_attrib); i++) {
- if (context_attrib[i] == EGL_CONTEXT_FLAGS_KHR ||
- context_attrib[i] == EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR)
- context_attrib[i] = EGL_NONE;
- }
- egl->egl_context =
- eglCreateContext (egl->egl_display, egl->egl_config,
- (EGLContext) external_gl_context, context_attrib);
- }
-#endif
-
if (egl->egl_context != EGL_NO_CONTEXT) {
GST_INFO ("gl context created: %" G_GUINTPTR_FORMAT,
(guintptr) egl->egl_context);
@@ -386,7 +520,7 @@
g_set_error (error, GST_GL_CONTEXT_ERROR,
GST_GL_CONTEXT_ERROR_CREATE_CONTEXT,
"Failed to create a OpenGL context: %s",
- gst_gl_context_egl_get_error_string ());
+ gst_gl_context_egl_get_error_string (eglGetError ()));
goto failure;
}
/* FIXME do we want a window vfunc ? */
@@ -428,7 +562,8 @@
window_handle, NULL);
/* Store window handle for later comparision */
egl->window_handle = window_handle;
- } else if (!gst_gl_check_extension ("EGL_KHR_surfaceless_context", egl_exts)) {
+ } else if (!gst_gl_check_extension ("EGL_KHR_surfaceless_context",
+ egl->egl_exts)) {
EGLint surface_attrib[7];
gint j = 0;
@@ -458,7 +593,7 @@
} else {
g_set_error (error, GST_GL_CONTEXT_ERROR, GST_GL_CONTEXT_ERROR_FAILED,
"Failed to create window surface: %s",
- gst_gl_context_egl_get_error_string ());
+ gst_gl_context_egl_get_error_string (eglGetError ()));
goto failure;
}
}
@@ -469,7 +604,7 @@
"eglCreateImage");
egl->eglDestroyImage = gst_gl_context_get_proc_address (context,
"eglDestroyImage");
- } else if (gst_gl_check_extension ("EGL_KHR_image_base", egl_exts)) {
+ } else if (gst_gl_check_extension ("EGL_KHR_image_base", egl->egl_exts)) {
egl->eglCreateImage = gst_gl_context_get_proc_address (context,
"eglCreateImageKHR");
egl->eglDestroyImage = gst_gl_context_get_proc_address (context,
@@ -540,7 +675,7 @@
egl->egl_surface = EGL_NO_SURFACE;
if (!result) {
GST_ERROR_OBJECT (context, "Failed to destroy old window surface: %s",
- gst_gl_context_egl_get_error_string ());
+ gst_gl_context_egl_get_error_string (eglGetError ()));
goto done;
}
}
@@ -551,21 +686,22 @@
if (egl->egl_surface == EGL_NO_SURFACE) {
GST_ERROR_OBJECT (context, "Failed to create window surface: %s",
- gst_gl_context_egl_get_error_string ());
+ gst_gl_context_egl_get_error_string (eglGetError ()));
result = FALSE;
goto done;
}
}
result = eglMakeCurrent (egl->egl_display, egl->egl_surface,
egl->egl_surface, egl->egl_context);
- } else
+ } else {
result = eglMakeCurrent (egl->egl_display, EGL_NO_SURFACE,
EGL_NO_SURFACE, EGL_NO_CONTEXT);
+ }
if (!result) {
GST_ERROR_OBJECT (context,
"Failed to bind context to the current rendering thread: %s",
- gst_gl_context_egl_get_error_string ());
+ gst_gl_context_egl_get_error_string (eglGetError ()));
}
done:
diff --git a/gst-libs/gst/gl/egl/gstglcontext_egl.h b/gst-libs/gst/gl/egl/gstglcontext_egl.h
index 8339e5a..90abb03 100644
--- a/gst-libs/gst/gl/egl/gstglcontext_egl.h
+++ b/gst-libs/gst/gl/egl/gstglcontext_egl.h
@@ -48,6 +48,8 @@
GstGLAPI gl_api;
+ const gchar *egl_exts;
+
EGLImageKHR (*eglCreateImage) (EGLDisplay dpy, EGLContext ctx, EGLenum target,
EGLClientBuffer buffer, const EGLint *attrib_list);
EGLBoolean (*eglDestroyImage) (EGLDisplay dpy, EGLImageKHR image);
@@ -64,7 +66,7 @@
guintptr gst_gl_context_egl_get_current_context (void);
gpointer gst_gl_context_egl_get_proc_address (GstGLAPI gl_api, const gchar * name);
-const gchar * gst_gl_context_egl_get_error_string (void);
+const gchar * gst_gl_context_egl_get_error_string (EGLint err);
/* TODO:
diff --git a/gst-libs/gst/gl/gl.h b/gst-libs/gst/gl/gl.h
index dd54565..b17a4c6 100644
--- a/gst-libs/gst/gl/gl.h
+++ b/gst-libs/gst/gl/gl.h
@@ -52,5 +52,7 @@
#include <gst/gl/gstglfilter.h>
#include <gst/gl/gstglsyncmeta.h>
#include <gst/gl/gstgloverlaycompositor.h>
+#include <gst/gl/gstglquery.h>
+#include <gst/gl/gstglcontrolbindingproxy.h>
#endif /* __GST_GL_H__ */
diff --git a/gst-libs/gst/gl/glprototypes/Makefile.am b/gst-libs/gst/gl/glprototypes/Makefile.am
index 6ea90db..54ebc27 100644
--- a/gst-libs/gst/gl/glprototypes/Makefile.am
+++ b/gst-libs/gst/gl/glprototypes/Makefile.am
@@ -15,5 +15,6 @@
debug.h \
vao.h \
sync.h \
- buffers.h
+ buffers.h \
+ query.h
diff --git a/gst-libs/gst/gl/glprototypes/Makefile.in b/gst-libs/gst/gl/glprototypes/Makefile.in
index 8937e4e..50d7df6 100644
--- a/gst-libs/gst/gl/glprototypes/Makefile.in
+++ b/gst-libs/gst/gl/glprototypes/Makefile.in
@@ -115,16 +115,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(prototype_HEADERS) \
@@ -286,7 +285,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -308,7 +306,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -330,9 +327,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -494,6 +488,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -507,8 +502,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -595,8 +588,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -648,6 +639,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -668,6 +660,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -705,7 +699,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -761,7 +754,8 @@
debug.h \
vao.h \
sync.h \
- buffers.h
+ buffers.h \
+ query.h
all: all-am
diff --git a/gst-libs/gst/gl/glprototypes/all_functions.h b/gst-libs/gst/gl/glprototypes/all_functions.h
index c6af415..9f7e4f1 100644
--- a/gst-libs/gst/gl/glprototypes/all_functions.h
+++ b/gst-libs/gst/gl/glprototypes/all_functions.h
@@ -30,3 +30,4 @@
#include "vao.h"
#include "sync.h"
#include "buffers.h"
+#include "query.h"
diff --git a/gst-libs/gst/gl/glprototypes/base.h b/gst-libs/gst/gl/glprototypes/base.h
index f0528b7..8394a38 100644
--- a/gst-libs/gst/gl/glprototypes/base.h
+++ b/gst-libs/gst/gl/glprototypes/base.h
@@ -255,7 +255,7 @@
"ARB\0",
"vertex_buffer_object\0")
GST_GL_EXT_FUNCTION (void, GenBuffers,
- (GLuint n,
+ (GLsizei n,
GLuint *buffers))
GST_GL_EXT_FUNCTION (void, BindBuffer,
(GLenum target,
diff --git a/gst-libs/gst/gl/glprototypes/gstgl_compat.h b/gst-libs/gst/gl/glprototypes/gstgl_compat.h
index a4f963d..31b1e00 100644
--- a/gst-libs/gst/gl/glprototypes/gstgl_compat.h
+++ b/gst-libs/gst/gl/glprototypes/gstgl_compat.h
@@ -42,6 +42,9 @@
#if !GST_GL_HAVE_GLUINT64
typedef guint64 GLuint64;
#endif
+#if !GST_GL_HAVE_GLINT64
+typedef gint64 GLint64;
+#endif
#if !defined(GST_GL_DEBUG_PROC)
#if defined(GLDEBUGPROC)
diff --git a/gst-libs/gst/gl/glprototypes/query.h b/gst-libs/gst/gl/glprototypes/query.h
new file mode 100644
index 0000000..09f1ba2
--- /dev/null
+++ b/gst-libs/gst/gl/glprototypes/query.h
@@ -0,0 +1,63 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+GST_GL_EXT_BEGIN (timer_query,
+ GST_GL_API_OPENGL3,
+ 3, 3,
+ 3, 0,
+ "ARB:\0ANGLE\0EXT\0",
+ "timer_query\0disjoint_timer_query\0")
+GST_GL_EXT_FUNCTION (void, GenQueries,
+ (GLsizei n,
+ GLuint *ids))
+GST_GL_EXT_FUNCTION (void, DeleteQueries,
+ (GLsizei n,
+ GLuint *ids))
+GST_GL_EXT_FUNCTION (GLboolean, IsQuery,
+ (GLuint id))
+GST_GL_EXT_FUNCTION (void, BeginQuery,
+ (GLenum target,
+ GLuint id))
+GST_GL_EXT_FUNCTION (void, EndQuery,
+ (GLenum target))
+GST_GL_EXT_FUNCTION (void, QueryCounter,
+ (GLuint id,
+ GLenum target))
+GST_GL_EXT_FUNCTION (void, GetQueryiv,
+ (GLenum target,
+ GLenum pname,
+ GLint *params))
+GST_GL_EXT_FUNCTION (void, GetQueryObjectiv,
+ (GLuint id,
+ GLenum pname,
+ GLint *params))
+GST_GL_EXT_FUNCTION (void, GetQueryObjectuiv,
+ (GLuint id,
+ GLenum pname,
+ GLuint *params))
+GST_GL_EXT_FUNCTION (void, GetQueryObjecti64v,
+ (GLuint id,
+ GLenum pname,
+ GLint64 *params))
+GST_GL_EXT_FUNCTION (void, GetQueryObjectui64v,
+ (GLuint id,
+ GLenum pname,
+ GLuint64 *params))
+GST_GL_EXT_END ()
diff --git a/gst-libs/gst/gl/glprototypes/sync.h b/gst-libs/gst/gl/glprototypes/sync.h
index d2fa99d..2123344 100644
--- a/gst-libs/gst/gl/glprototypes/sync.h
+++ b/gst-libs/gst/gl/glprototypes/sync.h
@@ -22,8 +22,8 @@
GST_GL_API_OPENGL3,
3, 2,
3, 0,
- "APPLE",
- "sync")
+ "APPLE\0",
+ "sync\0")
GST_GL_EXT_FUNCTION (GLsync, FenceSync,
(GLenum condition,
GLbitfield flags))
diff --git a/gst-libs/gst/gl/gstgl_fwd.h b/gst-libs/gst/gl/gstgl_fwd.h
index 2a8a798..fb64ff6 100644
--- a/gst-libs/gst/gl/gstgl_fwd.h
+++ b/gst-libs/gst/gl/gstgl_fwd.h
@@ -89,6 +89,8 @@
typedef struct _GstGLOverlayCompositor GstGLOverlayCompositor;
typedef struct _GstGLOverlayCompositorClass GstGLOverlayCompositorClass;
+typedef struct _GstGLQuery GstGLQuery;
+
#include <gst/gl/gstgl_enums.h>
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
diff --git a/gst-libs/gst/gl/gstglbasefilter.c b/gst-libs/gst/gl/gstglbasefilter.c
index c5d330e..a4e97b9 100644
--- a/gst-libs/gst/gl/gstglbasefilter.c
+++ b/gst-libs/gst/gl/gstglbasefilter.c
@@ -50,9 +50,9 @@
#define gst_gl_base_filter_parent_class parent_class
G_DEFINE_TYPE_WITH_CODE (GstGLBaseFilter, gst_gl_base_filter,
GST_TYPE_BASE_TRANSFORM, GST_DEBUG_CATEGORY_INIT (gst_gl_base_filter_debug,
- "glbasefilter", 0, "glbasefilter element");
- );
+ "glbasefilter", 0, "glbasefilter element"););
+static void gst_gl_base_filter_finalize (GObject * object);
static void gst_gl_base_filter_set_property (GObject * object, guint prop_id,
const GValue * value, GParamSpec * pspec);
static void gst_gl_base_filter_get_property (GObject * object, guint prop_id,
@@ -67,6 +67,8 @@
static void gst_gl_base_filter_reset (GstGLBaseFilter * filter);
static gboolean gst_gl_base_filter_start (GstBaseTransform * bt);
static gboolean gst_gl_base_filter_stop (GstBaseTransform * bt);
+static gboolean gst_gl_base_filter_set_caps (GstBaseTransform * bt,
+ GstCaps * incaps, GstCaps * outcaps);
static gboolean gst_gl_base_filter_decide_allocation (GstBaseTransform * trans,
GstQuery * query);
@@ -85,10 +87,12 @@
gobject_class = (GObjectClass *) klass;
element_class = GST_ELEMENT_CLASS (klass);
+ gobject_class->finalize = gst_gl_base_filter_finalize;
gobject_class->set_property = gst_gl_base_filter_set_property;
gobject_class->get_property = gst_gl_base_filter_get_property;
GST_BASE_TRANSFORM_CLASS (klass)->query = gst_gl_base_filter_query;
+ GST_BASE_TRANSFORM_CLASS (klass)->set_caps = gst_gl_base_filter_set_caps;
GST_BASE_TRANSFORM_CLASS (klass)->start = gst_gl_base_filter_start;
GST_BASE_TRANSFORM_CLASS (klass)->stop = gst_gl_base_filter_stop;
GST_BASE_TRANSFORM_CLASS (klass)->decide_allocation =
@@ -109,10 +113,23 @@
static void
gst_gl_base_filter_init (GstGLBaseFilter * filter)
{
+ gst_base_transform_set_qos_enabled (GST_BASE_TRANSFORM (filter), TRUE);
+
filter->priv = GST_GL_BASE_FILTER_GET_PRIVATE (filter);
}
static void
+gst_gl_base_filter_finalize (GObject * object)
+{
+ GstGLBaseFilter *filter = GST_GL_BASE_FILTER (object);
+
+ gst_caps_replace (&filter->in_caps, NULL);
+ gst_caps_replace (&filter->out_caps, NULL);
+
+ G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+static void
gst_gl_base_filter_set_property (GObject * object, guint prop_id,
const GValue * value, GParamSpec * pspec)
{
@@ -325,6 +342,16 @@
filter->priv->gl_started = FALSE;
}
+static void
+_gl_set_caps (GstGLContext * context, GstGLBaseFilter * filter)
+{
+ GstGLBaseFilterClass *filter_class = GST_GL_BASE_FILTER_GET_CLASS (filter);
+
+ if (filter_class->gl_set_caps)
+ filter->priv->gl_result =
+ filter_class->gl_set_caps (filter, filter->in_caps, filter->out_caps);
+}
+
static gboolean
gst_gl_base_filter_decide_allocation (GstBaseTransform * trans,
GstQuery * query)
@@ -357,7 +384,7 @@
GST_OBJECT_UNLOCK (filter->display);
}
- if (new_context) {
+ if (new_context || !filter->priv->gl_started) {
if (filter->priv->gl_started)
gst_gl_context_thread_add (filter->context, gst_gl_base_filter_gl_stop,
filter);
@@ -369,6 +396,11 @@
goto error;
}
+ gst_gl_context_thread_add (filter->context,
+ (GstGLContextThreadFunc) _gl_set_caps, filter);
+ if (!filter->priv->gl_result)
+ goto error;
+
return GST_BASE_TRANSFORM_CLASS (parent_class)->decide_allocation (trans,
query);
@@ -387,6 +419,18 @@
}
}
+static gboolean
+gst_gl_base_filter_set_caps (GstBaseTransform * bt, GstCaps * incaps,
+ GstCaps * outcaps)
+{
+ GstGLBaseFilter *filter = GST_GL_BASE_FILTER (bt);
+
+ gst_caps_replace (&filter->in_caps, incaps);
+ gst_caps_replace (&filter->out_caps, outcaps);
+
+ return TRUE;
+}
+
static GstStateChangeReturn
gst_gl_base_filter_change_state (GstElement * element,
GstStateChange transition)
diff --git a/gst-libs/gst/gl/gstglbasefilter.h b/gst-libs/gst/gl/gstglbasefilter.h
index 5ed3980..84f7a96 100644
--- a/gst-libs/gst/gl/gstglbasefilter.h
+++ b/gst-libs/gst/gl/gstglbasefilter.h
@@ -55,6 +55,9 @@
GstGLDisplay *display;
GstGLContext *context;
+ GstCaps *in_caps;
+ GstCaps *out_caps;
+
/* <private> */
gpointer _padding[GST_PADDING];
@@ -66,6 +69,7 @@
* @base_transform_class: parent class
* @gl_start: called in the GL thread to setup the element GL state.
* @gl_stop: called in the GL thread to setup the element GL state.
+ * @gl_set_caps: called in the GL thread when caps are set on @filter.
*/
struct _GstGLBaseFilterClass
{
@@ -74,6 +78,7 @@
gboolean (*gl_start) (GstGLBaseFilter *filter);
void (*gl_stop) (GstGLBaseFilter *filter);
+ gboolean (*gl_set_caps) (GstGLBaseFilter *filter, GstCaps * incaps, GstCaps * outcaps);
gpointer _padding[GST_PADDING];
};
diff --git a/gst-libs/gst/gl/gstglbasememory.c b/gst-libs/gst/gl/gstglbasememory.c
index a55603a..88cb881 100644
--- a/gst-libs/gst/gl/gstglbasememory.c
+++ b/gst-libs/gst/gl/gstglbasememory.c
@@ -76,11 +76,15 @@
GstGLBaseMemoryAllocatorClass *alloc_class;
GError *error = NULL;
+ GST_CAT_TRACE (GST_CAT_GL_BASE_MEMORY, "Create memory %p", transfer->mem);
+
alloc_class =
GST_GL_BASE_MEMORY_ALLOCATOR_GET_CLASS (transfer->mem->mem.allocator);
g_return_if_fail (alloc_class->create != NULL);
+ transfer->mem->query = gst_gl_query_new (context, GST_GL_QUERY_TIME_ELAPSED);
+
if ((transfer->result = alloc_class->create (transfer->mem, &error)))
return;
@@ -418,6 +422,9 @@
g_return_if_fail (alloc_class->destroy != NULL);
alloc_class->destroy (mem);
+
+ if (mem->query)
+ gst_gl_query_free (mem->query);
}
static void
@@ -442,6 +449,8 @@
mem->notify (mem->user_data);
gst_object_unref (mem->context);
+
+ g_free (memory);
}
/**
@@ -527,11 +536,6 @@
if (!gst_gl_base_memory_alloc_data (GST_GL_BASE_MEMORY_CAST (dest)))
return FALSE;
- if (dest == NULL) {
- GST_CAT_WARNING (GST_CAT_GL_BASE_MEMORY, "Could not copy GL Buffer");
- return FALSE;
- }
-
if (!gst_memory_map ((GstMemory *) src, &sinfo, GST_MAP_READ)) {
GST_CAT_WARNING (GST_CAT_GL_BASE_MEMORY,
"could not read map source memory %p", src);
@@ -659,11 +663,9 @@
GstGLAllocationParams * dest)
{
gst_gl_allocation_params_init (dest, src->struct_size, src->alloc_flags,
- src->copy, src->free, NULL, src->alloc_size, NULL, src->wrapped_data,
- src->gl_handle, src->user_data, src->notify);
+ src->copy, src->free, src->context, src->alloc_size, NULL,
+ src->wrapped_data, src->gl_handle, src->user_data, src->notify);
- if (src->context)
- dest->context = gst_object_ref (src->context);
if (src->alloc_params)
dest->alloc_params = gst_allocation_params_copy (src->alloc_params);
}
diff --git a/gst-libs/gst/gl/gstglbasememory.h b/gst-libs/gst/gl/gstglbasememory.h
index ad9f68f..adea5ba 100644
--- a/gst-libs/gst/gl/gstglbasememory.h
+++ b/gst-libs/gst/gl/gstglbasememory.h
@@ -90,6 +90,8 @@
gpointer data;
+ GstGLQuery *query;
+
/* <private> */
gsize alloc_size; /* because maxsize is used for mapping */
gpointer alloc_data;
diff --git a/gst-libs/gst/gl/gstglbufferpool.c b/gst-libs/gst/gl/gstglbufferpool.c
index 16b5c9e..c419ad5 100644
--- a/gst-libs/gst/gl/gstglbufferpool.c
+++ b/gst-libs/gst/gl/gstglbufferpool.c
@@ -271,11 +271,8 @@
GstGLMemoryAllocator *alloc;
GstGLBufferPool *glpool = GST_GL_BUFFER_POOL_CAST (pool);
GstGLBufferPoolPrivate *priv = glpool->priv;
- GstVideoInfo *info;
GstBuffer *buf;
- info = priv->gl_params->v_info;
-
if (!(buf = gst_buffer_new ())) {
goto no_buffer;
}
@@ -283,7 +280,8 @@
if (priv->want_eglimage) {
/* alloc and append memories, also add video_meta and
* texture_upload_meta */
- if (!gst_egl_image_memory_setup_buffer (glpool->context, info, buf))
+ if (!gst_egl_image_memory_setup_buffer (glpool->context,
+ priv->gl_params->v_info, buf))
goto egl_image_mem_create_failed;
*buffer = buf;
diff --git a/gst-libs/gst/gl/gstglcolorconvert.c b/gst-libs/gst/gl/gstglcolorconvert.c
index ae0557a..afb6aff 100644
--- a/gst-libs/gst/gl/gstglcolorconvert.c
+++ b/gst-libs/gst/gl/gstglcolorconvert.c
@@ -127,7 +127,9 @@
"uniform vec2 tex_scale1;\n" \
"uniform vec2 tex_scale2;\n" \
"uniform float width;\n" \
- "uniform float height;\n"
+ "uniform float height;\n" \
+ "uniform float poffset_x;\n" \
+ "uniform float poffset_y;\n"
#define MAX_FUNCTIONS 4
@@ -246,10 +248,14 @@
* @chroma_sampling. The result is the average of all the values in the
* block computed with a rolling average.
*/
- "vec2 size = vec2(width, height);\n"
- "vec2 pos = texcoord * size;\n"
+ "vec2 unnormalization;\n"
+ "if (texcoord.x == v_texcoord.x) {\n"
+ " unnormalization = vec2(width, height);\n"
+ "} else {\n"
+ " unnormalization = vec2 (1.0);\n"
+ "}\n"
/* scale for chroma size */
- "vec2 chroma_pos = texcoord * chroma_sampling * size;\n"
+ "vec2 chroma_pos = texcoord * chroma_sampling * unnormalization;\n"
/* offset chroma to the center of the first texel in the block */
"chroma_pos -= clamp(chroma_sampling * 0.5 - 0.5, vec2(0.0), chroma_sampling);\n"
"if (chroma_pos.x < width && chroma_pos.y < height) {\n"
@@ -258,13 +264,12 @@
" for (int j = 0; j < int(chroma_sampling.y); j++) {\n"
" int n = (i+1)*(j+1);\n"
" delta.y = float(j);\n"
- " vec4 sample = texture2D(tex, (chroma_pos + delta) / size).%c%c%c%c;\n"
+ " vec4 sample = texture2D(tex, (chroma_pos + delta) / unnormalization).%c%c%c%c;\n"
/* rolling average */
" uv_texel = (float(n-1) * uv_texel + sample) / float(n);\n"
" }\n"
" }\n"
"}\n"
-
"yuv.x = rgb_to_yuv (texel.rgb, offset, coeff1, coeff2, coeff3).x;\n"
"yuv.yz = rgb_to_yuv (uv_texel.rgb, offset, coeff1, coeff2, coeff3).yz;\n"
"gl_FragData[0] = vec4(yuv.x, 0.0, 0.0, 1.0);\n"
@@ -316,10 +321,11 @@
"vec4 rgba, uv_texel;\n"
"vec3 yuv;\n"
/* FIXME: should get the sampling right... */
- "float dx1 = -1.0 / width;\n"
+ "float dx1 = -poffset_x;\n"
"float dx2 = 0.0;\n"
"yuv.x = texture2D(Ytex, texcoord * tex_scale0).%c;\n"
- "float inorder = mod (texcoord.x * width, 2.0);\n"
+ /* v_texcoord are normalized, texcoord may not be e.g. rectangle textures */
+ "float inorder = mod (v_texcoord.x * width, 2.0);\n"
"if (inorder < 1.0) {\n"
" dx2 = -dx1;\n"
" dx1 = 0.0;\n"
@@ -340,9 +346,10 @@
"vec4 texel1, texel2;\n"
"vec3 yuv, yuv1, yuv2;\n"
"float fx, dx, fy;\n"
- "float inorder = mod (texcoord.x * width, 2.0);\n"
+ /* v_texcoord are normalized, texcoord may not be e.g. rectangle textures */
+ "float inorder = mod (v_texcoord.x * width, 2.0);\n"
"fx = texcoord.x;\n"
- "dx = 1.0 / width;\n"
+ "dx = poffset_x;\n"
"if (inorder > 1.0) {\n"
" dx = -dx;\n"
"}\n"
@@ -414,6 +421,12 @@
GLuint vbo_indices;
GLuint attr_position;
GLuint attr_texture;
+
+ GstCaps *in_caps;
+ GstCaps *out_caps;
+
+ GstBufferPool *pool;
+ gboolean pool_started;
};
GST_DEBUG_CATEGORY_STATIC (gst_gl_color_convert_debug);
@@ -543,6 +556,15 @@
convert->shader = NULL;
}
+ if (convert->priv->pool) {
+ convert->priv->pool_started = FALSE;
+
+ gst_object_unref (convert->priv->pool);
+ convert->priv->pool = NULL;
+ }
+ gst_caps_replace (&convert->priv->in_caps, NULL);
+ gst_caps_replace (&convert->priv->out_caps, NULL);
+
if (convert->context) {
gst_gl_context_thread_add (convert->context,
(GstGLContextThreadFunc) _reset_gl, convert);
@@ -659,9 +681,24 @@
&& to_target != GST_GL_TEXTURE_TARGET_RECTANGLE)
return FALSE;
+ {
+ guint yuv_gray_flags, in_flags, out_flags;
+
+ in_flags = GST_VIDEO_FORMAT_INFO_FLAGS (in_info.finfo);
+ out_flags = GST_VIDEO_FORMAT_INFO_FLAGS (out_info.finfo);
+ yuv_gray_flags = GST_VIDEO_FORMAT_FLAG_YUV | GST_VIDEO_FORMAT_FLAG_GRAY;
+
+ /* GRAY/YUV -> GRAY/YUV is not supported for non-passthrough */
+ if (!passthrough && (in_flags & yuv_gray_flags) != 0
+ && (out_flags & yuv_gray_flags) != 0)
+ return FALSE;
+ }
+
gst_gl_color_convert_reset (convert);
convert->in_info = in_info;
convert->out_info = out_info;
+ gst_caps_replace (&convert->priv->in_caps, in_caps);
+ gst_caps_replace (&convert->priv->out_caps, out_caps);
convert->priv->from_texture_target = from_target;
convert->priv->to_texture_target = to_target;
convert->initted = FALSE;
@@ -701,69 +738,184 @@
return ret;
}
-static guint
-_get_target_bitmask_from_g_value (const GValue * targets)
+gboolean
+gst_gl_color_convert_decide_allocation (GstGLColorConvert * convert,
+ GstQuery * query)
{
- guint new_targets = 0;
+ GstBufferPool *pool = NULL;
+ GstStructure *config;
+ GstCaps *caps;
+ guint min, max, size, n, i;
+ gboolean update_pool;
+ GstGLVideoAllocationParams *params;
+ GstVideoInfo vinfo;
- if (targets == NULL) {
- new_targets = 1 << GST_GL_TEXTURE_TARGET_2D;
- } else if (G_TYPE_CHECK_VALUE_TYPE (targets, G_TYPE_STRING)) {
- GstGLTextureTarget target;
- const gchar *str;
+ gst_query_parse_allocation (query, &caps, NULL);
+ if (!caps)
+ return FALSE;
- str = g_value_get_string (targets);
- target = gst_gl_texture_target_from_string (str);
+ gst_video_info_from_caps (&vinfo, caps);
- if (target)
- new_targets |= 1 << target;
- } else if (G_TYPE_CHECK_VALUE_TYPE (targets, GST_TYPE_LIST)) {
- gint j, m;
+ n = gst_query_get_n_allocation_pools (query);
+ if (n > 0) {
+ update_pool = TRUE;
+ for (i = 0; i < n; i++) {
+ gst_query_parse_nth_allocation_pool (query, i, &pool, &size, &min, &max);
- m = gst_value_list_get_size (targets);
- for (j = 0; j < m; j++) {
- const GValue *val = gst_value_list_get_value (targets, j);
- GstGLTextureTarget target;
- const gchar *str;
-
- str = g_value_get_string (val);
- target = gst_gl_texture_target_from_string (str);
- if (target)
- new_targets |= 1 << target;
+ if (!pool || !GST_IS_GL_BUFFER_POOL (pool)) {
+ if (pool)
+ gst_object_unref (pool);
+ pool = NULL;
+ }
}
}
- return new_targets;
+ if (!pool) {
+ GstVideoInfo vinfo;
+
+ gst_video_info_init (&vinfo);
+ size = vinfo.size;
+ min = max = 0;
+ update_pool = FALSE;
+ }
+
+ if (!pool)
+ pool = gst_gl_buffer_pool_new (convert->context);
+
+ config = gst_buffer_pool_get_config (pool);
+
+ gst_buffer_pool_config_set_params (config, caps, size, min, max);
+ gst_buffer_pool_config_add_option (config, GST_BUFFER_POOL_OPTION_VIDEO_META);
+ if (gst_query_find_allocation_meta (query, GST_GL_SYNC_META_API_TYPE, NULL))
+ gst_buffer_pool_config_add_option (config,
+ GST_BUFFER_POOL_OPTION_GL_SYNC_META);
+
+ params = gst_gl_video_allocation_params_new (convert->context, NULL, &vinfo,
+ 0, NULL, convert->priv->to_texture_target);
+ gst_buffer_pool_config_set_gl_allocation_params (config,
+ (GstGLAllocationParams *) params);
+ gst_gl_allocation_params_free ((GstGLAllocationParams *) params);
+
+ if (!gst_buffer_pool_set_config (pool, config))
+ GST_WARNING_OBJECT (convert, "Failed to set buffer pool config");
+
+ if (update_pool)
+ gst_query_set_nth_allocation_pool (query, 0, pool, size, min, max);
+ else
+ gst_query_add_allocation_pool (query, pool, size, min, max);
+
+ if (convert->priv->pool) {
+ gst_object_unref (convert->priv->pool);
+ convert->priv->pool_started = FALSE;
+ }
+ convert->priv->pool = pool;
+
+ return TRUE;
+}
+
+static void
+_init_value_string_list (GValue * list, ...)
+{
+ GValue item = G_VALUE_INIT;
+ gchar *str;
+ va_list args;
+
+ g_value_init (list, GST_TYPE_LIST);
+
+ va_start (args, list);
+ while ((str = va_arg (args, gchar *))) {
+ g_value_init (&item, G_TYPE_STRING);
+ g_value_set_string (&item, str);
+
+ gst_value_list_append_value (list, &item);
+ g_value_unset (&item);
+ }
+ va_end (args);
}
/* copies the given caps */
static GstCaps *
-gst_gl_color_convert_caps_remove_format_info (GstCaps * caps)
+gst_gl_color_convert_caps_transform_format_info (GstCaps * caps)
{
GstStructure *st;
GstCapsFeatures *f;
gint i, n;
GstCaps *res;
+ GValue rgb_formats = G_VALUE_INIT;
+
+ _init_value_string_list (&rgb_formats, "RGBA", "ARGB", "BGRA", "ABGR", "RGBx",
+ "xRGB", "BGRx", "xBGR", "RGB", "BGR", NULL);
res = gst_caps_new_empty ();
n = gst_caps_get_size (caps);
for (i = 0; i < n; i++) {
+ const GValue *format;
+
st = gst_caps_get_structure (caps, i);
f = gst_caps_get_features (caps, i);
- /* If this is already expressed by the existing caps
- * skip this structure */
- if (i > 0 && gst_caps_is_subset_structure_full (res, st, f))
- continue;
-
+ format = gst_structure_get_value (st, "format");
st = gst_structure_copy (st);
- gst_structure_remove_fields (st, "format", "colorimetry", "chroma-site",
+ if (GST_VALUE_HOLDS_LIST (format)) {
+ gboolean have_rgb_formats = FALSE;
+ GValue passthrough_formats = G_VALUE_INIT;
+ gint j, len;
+
+ g_value_init (&passthrough_formats, GST_TYPE_LIST);
+ len = gst_value_list_get_size (format);
+ for (j = 0; j < len; j++) {
+ const GValue *val;
+
+ val = gst_value_list_get_value (format, j);
+ if (G_VALUE_HOLDS_STRING (val)) {
+ const gchar *format_str = g_value_get_string (val);
+ GstVideoFormat v_format = gst_video_format_from_string (format_str);
+ const GstVideoFormatInfo *t_info =
+ gst_video_format_get_info (v_format);
+ if (GST_VIDEO_FORMAT_INFO_FLAGS (t_info) & (GST_VIDEO_FORMAT_FLAG_YUV
+ | GST_VIDEO_FORMAT_FLAG_GRAY)) {
+ gst_value_list_append_value (&passthrough_formats, val);
+ } else if (GST_VIDEO_FORMAT_INFO_FLAGS (t_info) &
+ GST_VIDEO_FORMAT_FLAG_RGB) {
+ have_rgb_formats = TRUE;
+ break;
+ }
+ }
+ }
+ if (have_rgb_formats) {
+ gst_structure_remove_fields (st, "format", NULL);
+ } else {
+ /* add passthrough structure, then the rgb conversion structure */
+ gst_structure_set_value (st, "format", &passthrough_formats);
+ gst_caps_append_structure_full (res, gst_structure_copy (st),
+ gst_caps_features_copy (f));
+ gst_structure_set_value (st, "format", &rgb_formats);
+ }
+ g_value_unset (&passthrough_formats);
+ } else if (G_VALUE_HOLDS_STRING (format)) {
+ const gchar *format_str = g_value_get_string (format);
+ GstVideoFormat v_format = gst_video_format_from_string (format_str);
+ const GstVideoFormatInfo *t_info = gst_video_format_get_info (v_format);
+ if (GST_VIDEO_FORMAT_INFO_FLAGS (t_info) & (GST_VIDEO_FORMAT_FLAG_YUV |
+ GST_VIDEO_FORMAT_FLAG_GRAY)) {
+ /* add passthrough structure, then the rgb conversion structure */
+ gst_structure_set_value (st, "format", format);
+ gst_caps_append_structure_full (res, gst_structure_copy (st),
+ gst_caps_features_copy (f));
+ gst_structure_set_value (st, "format", &rgb_formats);
+ } else { /* RGB */
+ gst_structure_remove_fields (st, "format", NULL);
+ }
+ }
+ gst_structure_remove_fields (st, "colorimetry", "chroma-site",
"texture-target", NULL);
gst_caps_append_structure_full (res, st, gst_caps_features_copy (f));
}
+ g_value_unset (&rgb_formats);
+
return res;
}
@@ -771,94 +923,253 @@
gst_gl_color_convert_transform_caps (GstGLContext * convert,
GstPadDirection direction, GstCaps * caps, GstCaps * filter)
{
- GstCaps *templ, *result;
-
- templ = gst_caps_from_string (GST_GL_COLOR_CONVERT_VIDEO_CAPS);
-
- caps = gst_gl_color_convert_caps_remove_format_info (caps);
-
- result = gst_caps_intersect (caps, templ);
- gst_caps_unref (caps);
- gst_caps_unref (templ);
+ caps = gst_gl_color_convert_caps_transform_format_info (caps);
if (filter) {
GstCaps *tmp;
- tmp = gst_caps_intersect_full (filter, result, GST_CAPS_INTERSECT_FIRST);
- gst_caps_unref (result);
- result = tmp;
+ tmp = gst_caps_intersect_full (filter, caps, GST_CAPS_INTERSECT_FIRST);
+ gst_caps_unref (caps);
+ caps = tmp;
}
- return result;
+ return caps;
+}
+
+/* fixation from videoconvert */
+#define SCORE_FORMAT_CHANGE 1
+#define SCORE_DEPTH_CHANGE 1
+#define SCORE_ALPHA_CHANGE 1
+#define SCORE_CHROMA_W_CHANGE 1
+#define SCORE_CHROMA_H_CHANGE 1
+#define SCORE_PALETTE_CHANGE 1
+
+#define SCORE_COLORSPACE_LOSS 2 /* RGB <-> YUV */
+#define SCORE_DEPTH_LOSS 4 /* change bit depth */
+#define SCORE_ALPHA_LOSS 8 /* lose the alpha channel */
+#define SCORE_CHROMA_W_LOSS 16 /* vertical subsample */
+#define SCORE_CHROMA_H_LOSS 32 /* horizontal subsample */
+#define SCORE_PALETTE_LOSS 64 /* convert to palette format */
+#define SCORE_COLOR_LOSS 128 /* convert to GRAY */
+
+#define COLORSPACE_MASK (GST_VIDEO_FORMAT_FLAG_YUV | \
+ GST_VIDEO_FORMAT_FLAG_RGB | GST_VIDEO_FORMAT_FLAG_GRAY)
+#define ALPHA_MASK (GST_VIDEO_FORMAT_FLAG_ALPHA)
+#define PALETTE_MASK (GST_VIDEO_FORMAT_FLAG_PALETTE)
+
+static GstGLTextureTarget
+_texture_target_demask (guint target_mask)
+{
+ if (target_mask & (1 << GST_GL_TEXTURE_TARGET_2D)) {
+ return GST_GL_TEXTURE_TARGET_2D;
+ }
+ if (target_mask & (1 << GST_GL_TEXTURE_TARGET_RECTANGLE)) {
+ return GST_GL_TEXTURE_TARGET_RECTANGLE;
+ }
+ if (target_mask & (1 << GST_GL_TEXTURE_TARGET_EXTERNAL_OES)) {
+ return GST_GL_TEXTURE_TARGET_EXTERNAL_OES;
+ }
+
+ return 0;
+}
+
+/* calculate how much loss a conversion would be */
+static void
+score_format_target (const GstVideoFormatInfo * in_info, guint targets_mask,
+ GstVideoFormat v_format, guint other_targets_mask, gint * min_loss,
+ const GstVideoFormatInfo ** out_info, GstGLTextureTarget * result)
+{
+ const GstVideoFormatInfo *t_info;
+ GstVideoFormatFlags in_flags, t_flags;
+ gint loss;
+
+ t_info = gst_video_format_get_info (v_format);
+ if (!t_info)
+ return;
+
+ /* accept input format immediately without loss */
+ if (in_info == t_info && (targets_mask & other_targets_mask) != 0) {
+ *min_loss = 0;
+ *out_info = t_info;
+ *result = _texture_target_demask (targets_mask & other_targets_mask);
+ return;
+ }
+
+ /* can only passthrough external-oes textures */
+ other_targets_mask &= ~(1 << GST_GL_TEXTURE_TARGET_EXTERNAL_OES);
+ if (other_targets_mask == 0)
+ return;
+ /* try to keep the same target */
+ if (targets_mask & other_targets_mask)
+ other_targets_mask = targets_mask & other_targets_mask;
+
+ loss = SCORE_FORMAT_CHANGE;
+
+ in_flags = GST_VIDEO_FORMAT_INFO_FLAGS (in_info);
+ in_flags &= ~GST_VIDEO_FORMAT_FLAG_LE;
+ in_flags &= ~GST_VIDEO_FORMAT_FLAG_COMPLEX;
+ in_flags &= ~GST_VIDEO_FORMAT_FLAG_UNPACK;
+
+ t_flags = GST_VIDEO_FORMAT_INFO_FLAGS (t_info);
+ t_flags &= ~GST_VIDEO_FORMAT_FLAG_LE;
+ t_flags &= ~GST_VIDEO_FORMAT_FLAG_COMPLEX;
+ t_flags &= ~GST_VIDEO_FORMAT_FLAG_UNPACK;
+
+ /* GRAY/YUV -> GRAY/YUV is not supported */
+ if ((in_flags & (GST_VIDEO_FORMAT_FLAG_YUV | GST_VIDEO_FORMAT_FLAG_GRAY)) != 0
+ && (t_flags & (GST_VIDEO_FORMAT_FLAG_YUV | GST_VIDEO_FORMAT_FLAG_GRAY)) !=
+ 0)
+ return;
+
+ if ((t_flags & PALETTE_MASK) != (in_flags & PALETTE_MASK)) {
+ loss += SCORE_PALETTE_CHANGE;
+ if (t_flags & PALETTE_MASK)
+ loss += SCORE_PALETTE_LOSS;
+ }
+
+ if ((t_flags & COLORSPACE_MASK) != (in_flags & COLORSPACE_MASK)) {
+ loss += SCORE_COLORSPACE_LOSS;
+ if (t_flags & GST_VIDEO_FORMAT_FLAG_GRAY)
+ loss += SCORE_COLOR_LOSS;
+ }
+
+ if ((t_flags & ALPHA_MASK) != (in_flags & ALPHA_MASK)) {
+ loss += SCORE_ALPHA_CHANGE;
+ if (in_flags & ALPHA_MASK)
+ loss += SCORE_ALPHA_LOSS;
+ }
+
+ if ((in_info->h_sub[1]) != (t_info->h_sub[1])) {
+ loss += SCORE_CHROMA_H_CHANGE;
+ if ((in_info->h_sub[1]) < (t_info->h_sub[1]))
+ loss += SCORE_CHROMA_H_LOSS;
+ }
+ if ((in_info->w_sub[1]) != (t_info->w_sub[1])) {
+ loss += SCORE_CHROMA_W_CHANGE;
+ if ((in_info->w_sub[1]) < (t_info->w_sub[1]))
+ loss += SCORE_CHROMA_W_LOSS;
+ }
+
+ if ((in_info->bits) != (t_info->bits)) {
+ loss += SCORE_DEPTH_CHANGE;
+ if ((in_info->bits) > (t_info->bits))
+ loss += SCORE_DEPTH_LOSS;
+ }
+
+ if (loss < *min_loss) {
+ GstGLTextureTarget target = _texture_target_demask (other_targets_mask);
+
+ if (target != 0) {
+ *out_info = t_info;
+ *min_loss = loss;
+ *result = target;
+ }
+ }
+}
+
+static void
+gst_gl_color_convert_fixate_format_target (GstCaps * caps, GstCaps * result)
+{
+ GstStructure *ins, *outs;
+ const gchar *in_format;
+ const GstVideoFormatInfo *in_info, *out_info = NULL;
+ const GValue *targets;
+ guint targets_mask = 0;
+ GstGLTextureTarget target;
+ gint min_loss = G_MAXINT;
+ guint i, capslen;
+
+ ins = gst_caps_get_structure (caps, 0);
+ in_format = gst_structure_get_string (ins, "format");
+ if (!in_format)
+ return;
+ targets = gst_structure_get_value (ins, "texture-target");
+ targets_mask = gst_gl_value_get_texture_target_mask (targets);
+ if (!targets_mask)
+ return;
+
+ in_info =
+ gst_video_format_get_info (gst_video_format_from_string (in_format));
+ if (!in_info)
+ return;
+
+ outs = gst_caps_get_structure (result, 0);
+
+ capslen = gst_caps_get_size (result);
+ for (i = 0; i < capslen; i++) {
+ GstStructure *tests;
+ const GValue *format;
+ const GValue *other_targets;
+ guint other_targets_mask = 0;
+
+ tests = gst_caps_get_structure (result, i);
+
+ format = gst_structure_get_value (tests, "format");
+ other_targets = gst_structure_get_value (tests, "texture-target");
+ /* should not happen */
+ if (format == NULL || other_targets == NULL)
+ continue;
+
+ other_targets_mask = gst_gl_value_get_texture_target_mask (other_targets);
+
+ if (GST_VALUE_HOLDS_LIST (format)) {
+ gint j, len;
+
+ len = gst_value_list_get_size (format);
+ for (j = 0; j < len; j++) {
+ const GValue *val;
+
+ val = gst_value_list_get_value (format, j);
+ if (G_VALUE_HOLDS_STRING (val)) {
+ const gchar *format_str = g_value_get_string (val);
+ GstVideoFormat v_format = gst_video_format_from_string (format_str);
+ score_format_target (in_info, targets_mask, v_format,
+ other_targets_mask, &min_loss, &out_info, &target);
+ if (min_loss == 0)
+ break;
+ }
+ }
+ } else if (G_VALUE_HOLDS_STRING (format)) {
+ const gchar *format_str = g_value_get_string (format);
+ GstVideoFormat v_format = gst_video_format_from_string (format_str);
+ score_format_target (in_info, targets_mask, v_format, other_targets_mask,
+ &min_loss, &out_info, &target);
+ }
+ }
+ if (out_info)
+ gst_structure_set (outs, "format", G_TYPE_STRING,
+ GST_VIDEO_FORMAT_INFO_NAME (out_info), NULL);
+ if (target)
+ gst_structure_set (outs, "texture-target", G_TYPE_STRING,
+ gst_gl_texture_target_to_string (target), NULL);
}
GstCaps *
gst_gl_color_convert_fixate_caps (GstGLContext * convert,
GstPadDirection direction, GstCaps * caps, GstCaps * other)
{
- GValue item = G_VALUE_INIT;
- const GValue *targets, *other_targets;
- guint targets_mask = 0, other_targets_mask = 0, result_mask;
- GstVideoInfo info, other_info;
- GstStructure *s, *s_other;
+ GstCaps *result;
- other = gst_caps_make_writable (other);
- s = gst_caps_get_structure (caps, 0);
- s_other = gst_caps_get_structure (other, 0);
-
- targets = gst_structure_get_value (s, "texture-target");
- other_targets = gst_structure_get_value (s_other, "texture-target");
-
- targets_mask = _get_target_bitmask_from_g_value (targets);
- other_targets_mask = _get_target_bitmask_from_g_value (other_targets);
-
- /* XXX: attempt to fixate the format/colorimetry/etc */
- other = gst_caps_fixate (other);
-
- result_mask = targets_mask & other_targets_mask;
- if (result_mask == 0) {
- /* nothing we can do here */
- return other;
+ result = gst_caps_intersect (other, caps);
+ if (gst_caps_is_empty (result)) {
+ gst_caps_unref (result);
+ result = other;
+ } else {
+ gst_caps_unref (other);
}
- caps = gst_caps_copy (caps);
- caps = gst_caps_fixate (caps);
+ result = gst_caps_make_writable (result);
+ gst_gl_color_convert_fixate_format_target (caps, result);
- gst_video_info_from_caps (&info, caps);
- gst_video_info_from_caps (&other_info, other);
+ result = gst_caps_fixate (result);
- if (!_gst_gl_color_convert_can_passthrough_info (&info, &other_info)) {
- if (direction == GST_PAD_SINK) {
- /* this effectively limits us to 2D | RECTANGLE for case where we
- * have to convert */
- result_mask &=
- (1 << GST_GL_TEXTURE_TARGET_2D | 1 <<
- GST_GL_TEXTURE_TARGET_RECTANGLE);
- } else {
- /* if the src caps has 2D support we can 'convert' to anything */
- if (targets_mask & (1 << GST_GL_TEXTURE_TARGET_2D | 1 <<
- GST_GL_TEXTURE_TARGET_RECTANGLE))
- result_mask = -1;
- else
- result_mask = other_targets_mask;
+ if (direction == GST_PAD_SINK) {
+ if (gst_caps_is_subset (caps, result)) {
+ gst_caps_replace (&result, caps);
}
}
- g_value_init (&item, G_TYPE_STRING);
- if (result_mask & (1 << GST_GL_TEXTURE_TARGET_2D)) {
- g_value_set_static_string (&item, GST_GL_TEXTURE_TARGET_2D_STR);
- } else if (result_mask & (1 << GST_GL_TEXTURE_TARGET_RECTANGLE)) {
- g_value_set_static_string (&item, GST_GL_TEXTURE_TARGET_RECTANGLE_STR);
- } else if (result_mask & (1 << GST_GL_TEXTURE_TARGET_EXTERNAL_OES)) {
- g_value_set_static_string (&item, GST_GL_TEXTURE_TARGET_EXTERNAL_OES_STR);
- }
-
- gst_structure_set_value (s_other, "texture-target", &item);
-
- g_value_unset (&item);
- gst_caps_unref (caps);
-
- return other;
+ return result;
}
/**
@@ -1804,6 +2115,16 @@
gst_gl_shader_set_uniform_1f (convert->shader, "height",
GST_VIDEO_INFO_HEIGHT (&convert->in_info));
+ if (convert->priv->from_texture_target == GST_GL_TEXTURE_TARGET_RECTANGLE) {
+ gst_gl_shader_set_uniform_1f (convert->shader, "poffset_x", 1.);
+ gst_gl_shader_set_uniform_1f (convert->shader, "poffset_y", 1.);
+ } else {
+ gst_gl_shader_set_uniform_1f (convert->shader, "poffset_x",
+ 1. / (gfloat) GST_VIDEO_INFO_WIDTH (&convert->in_info));
+ gst_gl_shader_set_uniform_1f (convert->shader, "poffset_y",
+ 1. / (gfloat) GST_VIDEO_INFO_HEIGHT (&convert->in_info));
+ }
+
if (info->chroma_sampling[0] > 0.0f && info->chroma_sampling[1] > 0.0f) {
gst_gl_shader_set_uniform_2fv (convert->shader, "chroma_sampling", 1,
info->chroma_sampling);
@@ -2118,9 +2439,7 @@
gint views, v;
GstVideoOverlayCompositionMeta *composition_meta;
GstGLSyncMeta *sync_meta;
- GstGLVideoAllocationParams *params;
- GstGLMemoryAllocator *mem_allocator;
- GstAllocator *allocator;
+ GstFlowReturn ret;
convert->outbuf = NULL;
@@ -2133,22 +2452,44 @@
if (sync_meta)
gst_gl_sync_meta_wait (sync_meta, convert->context);
- convert->outbuf = gst_buffer_new ();
+ if (!convert->priv->pool) {
+ gboolean ret;
+ /* No pool! */
+ GstQuery *query = gst_query_new_allocation (convert->priv->out_caps, TRUE);
+ ret = gst_gl_color_convert_decide_allocation (convert, query);
+ gst_query_unref (query);
- allocator = gst_allocator_find (GST_GL_MEMORY_ALLOCATOR_NAME);
- mem_allocator = GST_GL_MEMORY_ALLOCATOR (allocator);
- params =
- gst_gl_video_allocation_params_new (context, NULL, &convert->out_info, 0,
- NULL, convert->priv->to_texture_target);
+ if (!ret) {
+ GST_ERROR_OBJECT (convert, "Failed to choose allocation parameters");
+ convert->priv->result = FALSE;
+ return;
+ }
- if (!gst_gl_memory_setup_buffer (mem_allocator, convert->outbuf, params)) {
- gst_gl_allocation_params_free ((GstGLAllocationParams *) params);
- gst_object_unref (allocator);
+ if (!convert->priv->pool) {
+ GST_ERROR_OBJECT (convert, "Failed to create a buffer pool");
+ convert->priv->result = FALSE;
+ return;
+ }
+ }
+
+ if (!convert->priv->pool_started) {
+ if (!gst_buffer_pool_set_active (convert->priv->pool, TRUE)) {
+ GST_ERROR_OBJECT (convert, "Failed to start buffer pool");
+ convert->priv->result = FALSE;
+ return;
+ }
+ convert->priv->pool_started = TRUE;
+ }
+
+ ret =
+ gst_buffer_pool_acquire_buffer (convert->priv->pool, &convert->outbuf,
+ NULL);
+ if (ret != GST_FLOW_OK) {
+ GST_ERROR_OBJECT (convert, "Failed to acquire buffer from pool: %s",
+ gst_flow_get_name (ret));
convert->priv->result = FALSE;
return;
}
- gst_gl_allocation_params_free ((GstGLAllocationParams *) params);
- gst_object_unref (allocator);
if (GST_VIDEO_INFO_MULTIVIEW_MODE (in_info) ==
GST_VIDEO_MULTIVIEW_MODE_SEPARATED)
diff --git a/gst-libs/gst/gl/gstglcolorconvert.h b/gst-libs/gst/gl/gstglcolorconvert.h
index f06bb5c..5980cfa 100644
--- a/gst-libs/gst/gl/gstglcolorconvert.h
+++ b/gst-libs/gst/gl/gstglcolorconvert.h
@@ -123,6 +123,8 @@
gboolean gst_gl_color_convert_set_caps (GstGLColorConvert * convert,
GstCaps * in_caps,
GstCaps * out_caps);
+gboolean gst_gl_color_convert_decide_allocation (GstGLColorConvert * convert,
+ GstQuery * query);
GstBuffer * gst_gl_color_convert_perform (GstGLColorConvert * convert, GstBuffer * inbuf);
diff --git a/gst-libs/gst/gl/gstglcontext.c b/gst-libs/gst/gl/gstglcontext.c
index f84e78b..88526bd 100644
--- a/gst-libs/gst/gl/gstglcontext.c
+++ b/gst-libs/gst/gl/gstglcontext.c
@@ -67,9 +67,7 @@
#include "eagl/gstglcontext_eagl.h"
#endif
-extern void GSTGLAPI _gst_gl_debug_callback (GLenum source, GLenum type,
- GLuint id, GLenum severity, GLsizei length, const gchar * message,
- gpointer user_data);
+extern void _gst_gl_debug_enable (GstGLContext * context);
static GPrivate current_context_key;
@@ -138,37 +136,55 @@
#error "Add module loading support for GLES3"
#endif
-/* Context sharedness es tracked by a unique id stored in each context object
- * in order track complex creation/deletion scenarios. As a result, sharedness
- * can only be successfully validated between two GstGLContext's where one is
- * not a wrapped context.
+/* Context sharedness is tracked by a refcounted pointer stored in each context
+ * object to track complex creation/deletion scenarios. As a result,
+ * sharedness can only be successfully validated between two GstGLContext's
+ * where one is not a wrapped context.
*
* As there is no API at the winsys level to tell whether two OpenGL contexts
* can share GL resources, this is the next best thing.
+ *
+ * XXX: we may need a way to associate two wrapped GstGLContext's as being
+ * shared however I have not come across a use case that requries this yet.
*/
-static volatile guint sharegroup_idx;
-
-static guint
-_new_sharegroup_id (void)
+struct ContextShareGroup
{
- guint current, ret;
+ volatile int refcount;
+};
- do {
- current = g_atomic_int_get (&sharegroup_idx);
- ret = current + 1;
+static struct ContextShareGroup *
+_context_share_group_new (void)
+{
+ struct ContextShareGroup *ret = g_new0 (struct ContextShareGroup, 1);
- /* 0 is special */
- if (ret == 0)
- ret++;
- } while (!g_atomic_int_compare_and_exchange (&sharegroup_idx, current, ret));
-
- GST_TRACE ("generated new share group id %u", ret);
+ ret->refcount = 1;
return ret;
}
+static struct ContextShareGroup *
+_context_share_group_ref (struct ContextShareGroup *share)
+{
+ g_atomic_int_inc (&share->refcount);
+ return share;
+}
+
+static void
+_context_share_group_unref (struct ContextShareGroup *share)
+{
+ if (g_atomic_int_dec_and_test (&share->refcount))
+ g_free (share);
+}
+
+static gboolean
+_context_share_group_is_shared (struct ContextShareGroup *share)
+{
+ return g_atomic_int_get (&share->refcount) > 1;
+}
+
#define GST_CAT_DEFAULT gst_gl_context_debug
GST_DEBUG_CATEGORY (GST_CAT_DEFAULT);
+GST_DEBUG_CATEGORY_STATIC (gst_gl_debug);
#define gst_gl_context_parent_class parent_class
G_DEFINE_ABSTRACT_TYPE (GstGLContext, gst_gl_context, GST_TYPE_OBJECT);
@@ -194,7 +210,7 @@
gboolean alive;
GWeakRef other_context_ref;
- guint sharegroup_id;
+ struct ContextShareGroup *sharegroup;
GError **error;
gint gl_major;
@@ -286,6 +302,7 @@
if (g_once_init_enter (&_init)) {
GST_DEBUG_CATEGORY_INIT (gst_gl_context_debug, "glcontext", 0,
"glcontext element");
+ GST_DEBUG_CATEGORY_INIT (gst_gl_debug, "gldebug", 0, "OpenGL Debugging");
g_once_init_leave (&_init, 1);
}
}
@@ -389,7 +406,7 @@
context = (GstGLContext *) context_wrap;
context->display = gst_object_ref (display);
- context->priv->sharegroup_id = _new_sharegroup_id ();
+ context->priv->sharegroup = _context_share_group_new ();
context_wrap->handle = handle;
context_wrap->platform = context_type;
context_wrap->available_apis = available_apis;
@@ -638,6 +655,9 @@
gst_object_unref (context->window);
}
+ if (context->priv->sharegroup)
+ _context_share_group_unref (context->priv->sharegroup);
+
gst_object_unref (context->display);
if (context->gl_vtable) {
@@ -887,8 +907,8 @@
g_return_val_if_fail (GST_IS_GL_CONTEXT (other_context), FALSE);
/* check if the contexts are descendants or the root nodes are the same */
- return context->priv->sharegroup_id != 0
- && context->priv->sharegroup_id == other_context->priv->sharegroup_id;
+ return context->priv->sharegroup != NULL
+ && context->priv->sharegroup == other_context->priv->sharegroup;
}
/**
@@ -929,9 +949,10 @@
g_weak_ref_set (&context->priv->other_context_ref, other_context);
context->priv->error = error;
if (other_context == NULL)
- context->priv->sharegroup_id = _new_sharegroup_id ();
+ context->priv->sharegroup = _context_share_group_new ();
else
- context->priv->sharegroup_id = other_context->priv->sharegroup_id;
+ context->priv->sharegroup =
+ _context_share_group_ref (other_context->priv->sharegroup);
context->priv->gl_thread = g_thread_new ("gstglcontext",
(GThreadFunc) gst_gl_context_create_thread, context);
@@ -1033,6 +1054,7 @@
_unlock_create_thread (GstGLContext * context)
{
context->priv->created = TRUE;
+ GST_INFO_OBJECT (context, "gl thread running");
g_cond_signal (&context->priv->create_cond);
g_mutex_unlock (&context->priv->render_lock);
}
@@ -1064,7 +1086,6 @@
{
GstGLContextClass *context_class;
GstGLWindowClass *window_class;
- GstGLFuncs *gl;
GstGLAPI compiled_api, user_api, gl_api, display_api;
gchar *api_string;
gchar *compiled_api_s;
@@ -1100,7 +1121,6 @@
}
}
- gl = context->gl_vtable;
compiled_api = _compiled_api ();
compiled_api_s = gst_gl_api_to_string (compiled_api);
@@ -1188,15 +1208,9 @@
context->priv->alive = TRUE;
- if (gl->DebugMessageCallback) {
#if !defined(GST_DISABLE_GST_DEBUG)
- GST_INFO_OBJECT (context, "Enabling GL context debugging");
- /* enable them all */
- gl->DebugMessageControl (GL_DONT_CARE, GL_DONT_CARE, GL_DONT_CARE, 0, 0,
- GL_TRUE);
- gl->DebugMessageCallback (_gst_gl_debug_callback, context);
+ _gst_gl_debug_enable (context);
#endif
- }
if (other_context) {
GST_DEBUG_OBJECT (context, "Unreffing other_context %" GST_PTR_FORMAT,
@@ -1467,8 +1481,10 @@
g_return_if_fail (GST_IS_GL_CONTEXT (context));
g_return_if_fail (func != NULL);
- if (GST_IS_GL_WRAPPED_CONTEXT (context)) {
+ if (GST_IS_GL_WRAPPED_CONTEXT (context))
g_return_if_fail (context->priv->active_thread == g_thread_self ());
+
+ if (context->priv->active_thread == g_thread_self ()) {
func (context, data);
return;
}
@@ -1589,6 +1605,23 @@
return g_private_get (¤t_context_key);
}
+/**
+ * gst_gl_context_is_shared:
+ * @context: a #GstGLContext
+ *
+ * Returns: Whether the #GstGLContext has been shared with another #GstGLContext
+ *
+ * Since: 1.8
+ */
+gboolean
+gst_gl_context_is_shared (GstGLContext * context)
+{
+ g_return_val_if_fail (GST_IS_GL_CONTEXT (context), FALSE);
+ g_return_val_if_fail (context->priv->alive, FALSE);
+
+ return _context_share_group_is_shared (context->priv->sharegroup);
+}
+
static GstGLAPI
gst_gl_wrapped_context_get_gl_api (GstGLContext * context)
{
diff --git a/gst-libs/gst/gl/gstglcontext.h b/gst-libs/gst/gl/gstglcontext.h
index 04cf3a5..64464aa 100644
--- a/gst-libs/gst/gl/gstglcontext.h
+++ b/gst-libs/gst/gl/gstglcontext.h
@@ -148,6 +148,8 @@
guintptr gst_gl_context_get_current_gl_context (GstGLPlatform platform);
GstGLAPI gst_gl_context_get_current_gl_api (GstGLPlatform platform, guint *major, guint *minor);
+gboolean gst_gl_context_is_shared (GstGLContext * context);
+
gboolean gst_gl_context_fill_info (GstGLContext * context, GError ** error);
/* FIXME: remove */
diff --git a/gst-libs/gst/gl/gstglcontrolbindingproxy.c b/gst-libs/gst/gl/gstglcontrolbindingproxy.c
new file mode 100644
index 0000000..f34ddd8
--- /dev/null
+++ b/gst-libs/gst/gl/gstglcontrolbindingproxy.c
@@ -0,0 +1,155 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "gstglcontrolbindingproxy.h"
+
+G_DEFINE_TYPE (GstGLControlBindingProxy,
+ gst_gl_control_binding_proxy, GST_TYPE_CONTROL_BINDING);
+
+static void
+gst_gl_control_binding_proxy_init (GstGLControlBindingProxy * self)
+{
+}
+
+static gboolean
+gst_gl_control_binding_proxy_sync_values (GstControlBinding * binding,
+ GstObject * object, GstClockTime timestamp, GstClockTime last_sync)
+{
+ GstGLControlBindingProxy *self = (GstGLControlBindingProxy *)
+ binding;
+ GstControlBinding *ref_binding;
+ gboolean ret = TRUE;
+
+ ref_binding = gst_object_get_control_binding (self->ref_object,
+ self->property_name);
+
+ if (ref_binding) {
+ ret = gst_control_binding_sync_values (ref_binding, self->ref_object,
+ timestamp, last_sync);
+ gst_object_unref (ref_binding);
+ }
+
+ return ret;
+}
+
+static GValue *
+gst_gl_control_binding_proxy_get_value (GstControlBinding * binding,
+ GstClockTime timestamp)
+{
+ GstGLControlBindingProxy *self = (GstGLControlBindingProxy *)
+ binding;
+ GstControlBinding *ref_binding;
+ GValue *ret = NULL;
+
+ ref_binding = gst_object_get_control_binding (self->ref_object,
+ self->property_name);
+
+ if (ref_binding) {
+ ret = gst_control_binding_get_value (ref_binding, timestamp);
+ gst_object_unref (ref_binding);
+ }
+
+ return ret;
+}
+
+static gboolean
+gst_gl_control_binding_proxy_get_value_array (GstControlBinding * binding,
+ GstClockTime timestamp, GstClockTime interval, guint n_values,
+ gpointer values)
+{
+ GstGLControlBindingProxy *self = (GstGLControlBindingProxy *)
+ binding;
+ GstControlBinding *ref_binding;
+ gboolean ret = FALSE;
+
+ ref_binding = gst_object_get_control_binding (self->ref_object,
+ self->property_name);
+
+ if (ref_binding) {
+ ret = gst_control_binding_get_value_array (ref_binding, timestamp,
+ interval, n_values, values);
+ gst_object_unref (ref_binding);
+ }
+
+ return ret;
+}
+
+static gboolean
+gst_gl_control_binding_proxy_get_g_value_array (GstControlBinding *
+ binding, GstClockTime timestamp, GstClockTime interval, guint n_values,
+ GValue * values)
+{
+ GstGLControlBindingProxy *self = (GstGLControlBindingProxy *)
+ binding;
+ GstControlBinding *ref_binding;
+ gboolean ret = FALSE;
+
+ ref_binding = gst_object_get_control_binding (self->ref_object,
+ self->property_name);
+
+ if (ref_binding) {
+ ret = gst_control_binding_get_g_value_array (ref_binding, timestamp,
+ interval, n_values, values);
+ gst_object_unref (ref_binding);
+ }
+
+ return ret;
+}
+
+
+static void
+ gst_gl_control_binding_proxy_class_init
+ (GstGLControlBindingProxyClass * klass)
+{
+ GstControlBindingClass *cb_class = GST_CONTROL_BINDING_CLASS (klass);
+
+ cb_class->sync_values = gst_gl_control_binding_proxy_sync_values;
+ cb_class->get_value = gst_gl_control_binding_proxy_get_value;
+ cb_class->get_value_array = gst_gl_control_binding_proxy_get_value_array;
+ cb_class->get_g_value_array = gst_gl_control_binding_proxy_get_g_value_array;
+}
+
+GstControlBinding *
+gst_gl_control_binding_proxy_new (GstObject * object,
+ const gchar * property_name, GstObject * ref_object,
+ const gchar * ref_property_name)
+{
+ GstGLControlBindingProxy *self =
+ g_object_new (GST_TYPE_GL_CONTROL_BINDING_PROXY, "object", object,
+ "name", property_name, NULL);
+
+ self->ref_object = ref_object;
+ self->property_name = ref_property_name;
+
+ return (GstControlBinding *) self;
+}
+
+void
+gst_gl_object_add_control_binding_proxy (GstObject * object,
+ GstObject * ref_object, const gchar * prop)
+{
+ GstControlBinding *cb;
+
+ cb = gst_gl_control_binding_proxy_new (object, prop, ref_object, prop);
+ gst_object_add_control_binding (object, cb);
+}
diff --git a/gst-libs/gst/gl/gstglcontrolbindingproxy.h b/gst-libs/gst/gl/gstglcontrolbindingproxy.h
new file mode 100644
index 0000000..b3a9310
--- /dev/null
+++ b/gst-libs/gst/gl/gstglcontrolbindingproxy.h
@@ -0,0 +1,58 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_GL_PROXY_CONTROL_BINDING_H__
+#define __GST_GL_PROXY_CONTROL_BINDING_H__
+
+#include <gst/gl/gl.h>
+
+G_BEGIN_DECLS
+
+GType gst_gl_control_binding_proxy_get_type (void);
+#define GST_TYPE_GL_CONTROL_BINDING_PROXY (gst_gl_control_binding_proxy_get_type())
+
+typedef struct _GstGLControlBindingProxy GstGLControlBindingProxy;
+typedef struct _GstGLControlBindingProxyClass GstGLControlBindingProxyClass;
+
+struct _GstGLControlBindingProxy
+{
+ GstControlBinding parent;
+
+ GstObject *ref_object;
+ const gchar *property_name;
+};
+
+struct _GstGLControlBindingProxyClass
+{
+ GstControlBindingClass parent_class;
+};
+
+GstControlBinding * gst_gl_control_binding_proxy_new (GstObject * object,
+ const gchar * property_name,
+ GstObject * ref_object,
+ const gchar * ref_property_name);
+
+void gst_gl_object_add_control_binding_proxy (GstObject * object,
+ GstObject * ref_object,
+ const gchar * prop);
+
+G_END_DECLS
+
+#endif /* __GST_GL_PROXY_CONTROL_BINDING_H__ */
diff --git a/gst-libs/gst/gl/gstgldebug.c b/gst-libs/gst/gl/gstgldebug.c
index 77bfcd8..2b9a01f 100644
--- a/gst-libs/gst/gl/gstgldebug.c
+++ b/gst-libs/gst/gl/gstgldebug.c
@@ -25,15 +25,20 @@
#include "gl.h"
#include "gstgldebug.h"
#include <glib/gprintf.h>
+#include <string.h>
+#define ASYNC_DEBUG_FILLED (1 << 0)
+#define ASYNC_DEBUG_FROZEN (1 << 1)
+
+/* compatibility defines */
#ifndef GL_DEBUG_TYPE_ERROR
#define GL_DEBUG_TYPE_ERROR 0x824C
#endif
-#ifndef GL_DEBUG_TYPE_DEPRECATED_BEHAVIOUR
-#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOUR 0x824D
+#ifndef GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR
+#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR 0x824D
#endif
-#ifndef GL_DEBUG_TYPE_UNDEFINED_BEHAVIOUR
-#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOUR 0x824E
+#ifndef GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR
+#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR 0x824E
#endif
#ifndef GL_DEBUG_TYPE_PORTABILITY
#define GL_DEBUG_TYPE_PORTABILITY 0x824F
@@ -80,8 +85,11 @@
#define GL_DEBUG_SOURCE_OTHER 0x824B
#endif
-#if !defined(GST_DISABLE_GST_DEBUG)
GST_DEBUG_CATEGORY_STATIC (gst_performance);
+#define GST_CAT_DEFAULT gst_gl_debug
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
+GST_DEBUG_CATEGORY_STATIC (default_debug);
+GST_DEBUG_CATEGORY_STATIC (gst_gl_marker_debug);
static void
_init_debug (void)
@@ -90,10 +98,88 @@
if (g_once_init_enter (&_init)) {
GST_DEBUG_CATEGORY_GET (gst_performance, "GST_PERFORMANCE");
+ GST_DEBUG_CATEGORY_GET (gst_gl_debug, "gldebug");
+ GST_DEBUG_CATEGORY_GET (default_debug, "default");
+ GST_DEBUG_CATEGORY_INIT (gst_gl_marker_debug, "gldebugmarker", 0,
+ "OpenGL Markers");
g_once_init_leave (&_init, 1);
}
}
+static void
+_free_async_debug_data (GstGLAsyncDebug * ad)
+{
+ if (ad->debug_msg) {
+ g_free (ad->debug_msg);
+ ad->debug_msg = NULL;
+ if (ad->object)
+ g_object_unref (ad->object);
+ ad->object = NULL;
+ ad->state_flags &= ~ASYNC_DEBUG_FILLED;
+ }
+}
+
+void
+gst_gl_async_debug_init (GstGLAsyncDebug * ad)
+{
+ _init_debug ();
+
+ memset (ad, 0, sizeof (*ad));
+}
+
+void
+gst_gl_async_debug_unset (GstGLAsyncDebug * ad)
+{
+ gst_gl_async_debug_output_log_msg (ad);
+
+ _free_async_debug_data (ad);
+
+ if (ad->notify)
+ ad->notify (ad->user_data);
+}
+
+GstGLAsyncDebug *
+gst_gl_async_debug_new (void)
+{
+ return g_new0 (GstGLAsyncDebug, 1);
+}
+
+void
+gst_gl_async_debug_free (GstGLAsyncDebug * ad)
+{
+ gst_gl_async_debug_unset (ad);
+ g_free (ad);
+}
+
+/**
+ * gst_gl_async_debug_freeze:
+ * @ad: a #GstGLAsyncDebug
+ *
+ * freeze the debug output. While frozen, any call to
+ * gst_gl_async_debug_output_log_msg() will not output any messages but
+ * subsequent calls to gst_gl_async_debug_store_log_msg() will overwrite previous
+ * messages.
+ */
+void
+gst_gl_async_debug_freeze (GstGLAsyncDebug * ad)
+{
+ ad->state_flags |= ASYNC_DEBUG_FROZEN;
+}
+
+/**
+ * gst_gl_async_debug_thaw:
+ * @ad: a #GstGLAsyncDebug
+ *
+ * unfreeze the debug output. See gst_gl_async_debug_freeze() for what freezing means
+ */
+void
+gst_gl_async_debug_thaw (GstGLAsyncDebug * ad)
+{
+ ad->state_flags &= ~ASYNC_DEBUG_FROZEN;
+}
+
+#if !defined(GST_DISABLE_GST_DEBUG)
+
static inline const gchar *
_debug_severity_to_string (GLenum severity)
{
@@ -138,9 +224,9 @@
switch (type) {
case GL_DEBUG_TYPE_ERROR:
return "error";
- case GL_DEBUG_TYPE_DEPRECATED_BEHAVIOUR:
+ case GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR:
return "deprecated";
- case GL_DEBUG_TYPE_UNDEFINED_BEHAVIOUR:
+ case GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR:
return "undefined";
case GL_DEBUG_TYPE_PORTABILITY:
return "portability";
@@ -155,11 +241,7 @@
}
}
-/* silence the compiler... */
-void GSTGLAPI _gst_gl_debug_callback (GLenum source, GLenum type, GLuint id,
- GLenum severity, GLsizei length, const gchar * message, gpointer user_data);
-
-void GSTGLAPI
+static void GSTGLAPI
_gst_gl_debug_callback (GLenum source, GLenum type, GLuint id, GLenum severity,
GLsizei length, const gchar * message, gpointer user_data)
{
@@ -172,11 +254,11 @@
switch (type) {
case GL_DEBUG_TYPE_ERROR:
- case GL_DEBUG_TYPE_UNDEFINED_BEHAVIOUR:
+ case GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR:
GST_ERROR_OBJECT (context, "%s: GL %s from %s id:%u, %s", severity_str,
type_str, source_str, id, message);
break;
- case GL_DEBUG_TYPE_DEPRECATED_BEHAVIOUR:
+ case GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR:
case GL_DEBUG_TYPE_PORTABILITY:
GST_FIXME_OBJECT (context, "%s: GL %s from %s id:%u, %s", severity_str,
type_str, source_str, id, message);
@@ -192,6 +274,57 @@
}
}
+G_GNUC_INTERNAL void _gst_gl_debug_enable (GstGLContext * context);
+
+G_GNUC_INTERNAL void
+_gst_gl_debug_enable (GstGLContext * context)
+{
+ const GstGLFuncs *gl = context->gl_vtable;
+ GstDebugLevel level;
+ GLenum debug_types[8];
+ guint i, n = 0;
+
+ _init_debug ();
+
+ if (!gl->DebugMessageCallback) {
+ GST_CAT_INFO_OBJECT (gst_gl_context_debug, context,
+ "No debugging support available");
+ return;
+ }
+
+ level = gst_debug_category_get_threshold (gst_gl_debug);
+
+ if (level < GST_LEVEL_ERROR) {
+ GST_CAT_INFO_OBJECT (gst_gl_context_debug, context,
+ "Disabling GL context debugging (gldebug category debug level < error)");
+ return;
+ }
+
+ GST_CAT_INFO_OBJECT (gst_gl_context_debug, context,
+ "Enabling GL context debugging");
+
+ gl->DebugMessageCallback (_gst_gl_debug_callback, context);
+ if (level >= GST_LEVEL_DEBUG) {
+ /* enable them all */
+ gl->DebugMessageControl (GL_DONT_CARE, GL_DONT_CARE, GL_DONT_CARE, 0, 0,
+ GL_TRUE);
+ } else {
+ if (level >= GST_LEVEL_FIXME) {
+ debug_types[n++] = GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR;
+ debug_types[n++] = GL_DEBUG_TYPE_PORTABILITY;
+ }
+ if (level >= GST_LEVEL_ERROR) {
+ debug_types[n++] = GL_DEBUG_TYPE_ERROR;
+ debug_types[n++] = GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR;
+ }
+ g_assert (n < G_N_ELEMENTS (debug_types));
+ for (i = 0; i < n; i++) {
+ gl->DebugMessageControl (GL_DONT_CARE, debug_types[i], GL_DONT_CARE,
+ 0, 0, GL_TRUE);
+ }
+ }
+}
+
void
gst_gl_insert_debug_marker (GstGLContext * context, const gchar * format, ...)
{
@@ -200,10 +333,22 @@
gint len;
va_list args;
+ _init_debug ();
+
+ /* are we enabled */
+ if (gst_debug_category_get_threshold (gst_gl_marker_debug) < GST_LEVEL_FIXME)
+ return;
+
va_start (args, format);
- len = g_vasprintf (&string, format, args);
+ len = gst_info_vasprintf (&string, format, args);
va_end (args);
+ /* gst_info_vasprintf() returns -1 on error, the various debug marker
+ * functions take len=-1 to mean null terminated */
+ if (len < 0 || string == NULL)
+ /* no debug output */
+ return;
+
if (gl->DebugMessageInsert)
gl->DebugMessageInsert (GL_DEBUG_SOURCE_THIRD_PARTY, GL_DEBUG_TYPE_MARKER,
0, GL_DEBUG_SEVERITY_LOW, (gsize) len, string);
@@ -214,4 +359,100 @@
g_free (string);
}
+
+/**
+ * gst_gl_async_debug_store_log_msg_valist:
+ * @ad: the #GstGLAsyncDebug to store the message in
+ * @cat: the #GstDebugCategory to output the message in
+ * @level: the #GstLevel
+ * @file: the file where the debug message originates from
+ * @function: the function where the debug message originates from
+ * @line: the line in @file where the debug message originates from
+ * @object: (allow-none): a #GObject to associate with the debug message
+ * @format: a printf style format string
+ * @varargs: the list of arguments for @format
+ *
+ * Stores a debug message for later output by gst_gl_async_debug_output_log_msg()
+ */
+void
+gst_gl_async_debug_store_log_msg_valist (GstGLAsyncDebug * ad,
+ GstDebugCategory * cat, GstDebugLevel level, const gchar * file,
+ const gchar * function, gint line, GObject * object, const gchar * format,
+ va_list varargs)
+{
+ gst_gl_async_debug_output_log_msg (ad);
+ _free_async_debug_data (ad);
+
+ if (G_UNLIKELY (level <= GST_LEVEL_MAX && level <= _gst_debug_min)) {
+ if (!cat)
+ cat = default_debug;
+
+ ad->cat = cat;
+ ad->level = level;
+ ad->file = file;
+ ad->function = function;
+ ad->line = line;
+ if (object)
+ ad->object = g_object_ref (object);
+ else
+ ad->object = NULL;
+
+ ad->debug_msg = gst_info_strdup_vprintf (format, varargs);
+ ad->state_flags |= ASYNC_DEBUG_FILLED;
+ }
+}
+
+/**
+ * gst_gl_async_debug_output_log_msg:
+ * @ad: the #GstGLAsyncDebug to store the message in
+ *
+ * Outputs a previously stored debug message.
+ */
+void
+gst_gl_async_debug_output_log_msg (GstGLAsyncDebug * ad)
+{
+ if ((ad->state_flags & ASYNC_DEBUG_FILLED) != 0
+ && (ad->state_flags & ASYNC_DEBUG_FROZEN) == 0) {
+ gchar *msg = NULL;
+
+ if (ad->callback)
+ msg = ad->callback (ad->user_data);
+
+ gst_debug_log (ad->cat, ad->level, ad->file, ad->function, ad->line,
+ ad->object, "%s %s", GST_STR_NULL (ad->debug_msg), msg ? msg : "");
+ g_free (msg);
+ _free_async_debug_data (ad);
+ }
+}
+
+/**
+ * gst_gl_async_debug_store_log_msg:
+ * @ad: the #GstGLAsyncDebug to store the message in
+ * @cat: the #GstDebugCategory to output the message in
+ * @level: the #GstLevel
+ * @file: the file where the debug message originates from
+ * @function: the function where the debug message originates from
+ * @line: the line in @file where the debug message originates from
+ * @object: (allow-none): a #GObject to associate with the debug message
+ * @format: a printf style format string
+ * @...: the list of arguments for @format
+ *
+ * Stores a debug message for later output by gst_gl_async_debug_output_log_msg()
+ */
+void
+gst_gl_async_debug_store_log_msg (GstGLAsyncDebug * ad, GstDebugCategory * cat,
+ GstDebugLevel level, const gchar * file, const gchar * function, gint line,
+ GObject * object, const gchar * format, ...)
+{
+ va_list varargs;
+
+ if (G_UNLIKELY (level <= GST_LEVEL_MAX && level <= _gst_debug_min)) {
+ va_start (varargs, format);
+ gst_gl_async_debug_store_log_msg_valist (ad, cat, level, file, function,
+ line, object, format, varargs);
+ va_end (varargs);
+ }
+}
+#else
+G_GNUC_INTERNAL void _gst_gl_debug_enable (GstGLContext * context);
#endif
diff --git a/gst-libs/gst/gl/gstgldebug.h b/gst-libs/gst/gl/gstgldebug.h
index c277825..5b936d0 100644
--- a/gst-libs/gst/gl/gstgldebug.h
+++ b/gst-libs/gst/gl/gstgldebug.h
@@ -25,20 +25,150 @@
G_BEGIN_DECLS
-#if !defined(GST_DISABLE_GST_DEBUG)
-void gst_gl_insert_debug_marker (GstGLContext * context,
- const gchar * format, ...) G_GNUC_PRINTF (2, 3);
-#else /* GST_DISABLE_GST_DEBUG */
+typedef struct _GstGLAsyncDebug GstGLAsyncDebug;
+
+typedef gchar * (*GstGLAsyncDebugLogGetMessage) (gpointer user_data);
+
+/**
+ * GstGLAsyncDebug:
+ *
+ * #GstGLAsyncDebug an opaque structure and should only be accessed through the
+ * provided API.
+ */
+struct _GstGLAsyncDebug
+{
+ /* <private> */
+ guint state_flags;
+ GstDebugCategory *cat;
+ GstDebugLevel level;
+ const gchar *file;
+ const gchar *function;
+ gint line;
+ GObject *object;
+ gchar *debug_msg;
+
+ /* <protected> */
+ GstGLAsyncDebugLogGetMessage callback;
+ gpointer user_data;
+ GDestroyNotify notify;
+};
+
+GstGLAsyncDebug * gst_gl_async_debug_new (void);
+void gst_gl_async_debug_free (GstGLAsyncDebug * ad);
+void gst_gl_async_debug_init (GstGLAsyncDebug * ad);
+void gst_gl_async_debug_unset (GstGLAsyncDebug * ad);
+void gst_gl_async_debug_freeze (GstGLAsyncDebug * ad);
+void gst_gl_async_debug_thaw (GstGLAsyncDebug * ad);
+
+/**
+ * GST_GL_ASYNC_CAT_LEVEL_LOG_valist:
+ * @ad: the #GstGLAsyncDebug to store the message in
+ * @cat: the #GstDebugCategory to output the message in
+ * @level: the #GstLevel
+ * @file: the file where the debug message originates from
+ * @function: the function where the debug message originates from
+ * @line: the line in @file where the debug message originates from
+ * @object: (allow-none): a #GObject to associate with the debug message
+ * @format: a printf style format string
+ * @varargs: the list of arguments for @format
+ *
+ * Stores a debug message in @ad for later output
+ */
+#define GST_GL_ASYNC_CAT_LEVEL_LOG_valist(ad,cat,level,object,format,varargs) \
+ gst_gl_async_debug_store_log_msg_valist (ad, cat, level, __FILE__, \
+ GST_FUNCTION, __LINE__, object, format, varargs)
+
+/**
+ * GST_GL_ASYNC_CAT_LEVEL_LOG:
+ * @ad: the #GstGLAsyncDebug to store the message in
+ * @cat: the #GstDebugCategory to output the message in
+ * @level: the #GstLevel
+ * @file: the file where the debug message originates from
+ * @function: the function where the debug message originates from
+ * @line: the line in @file where the debug message originates from
+ * @object: (allow-none): a #GObject to associate with the debug message
+ * @format: a printf style format string
+ * @...: the list of arguments for @format
+ *
+ * Stores a debug message in @ad for later output
+ */
#if G_HAVE_ISO_VARARGS
-#define gst_gl_insert_debug_marker(...) G_STMT_START{ }G_STMT_END
+#define GST_GL_ASYNC_CAT_LEVEL_LOG(ad,cat,level,object,format,...) \
+ gst_gl_async_debug_store_log_msg (ad, cat, level, __FILE__, GST_FUNCTION, \
+ __LINE__, object, format, __VA_ARGS__)
#else /* G_HAVE_ISO_VARARGS */
#if G_HAVE_GNUC_VARARGS
-#define gst_gl_insert_debug_marker(args...) G_STMT_START{ }G_STMT_END
+#define GST_GL_ASYNC_CAT_LEVEL_LOG(ad,cat,level,object,format,args...) \
+ gst_gl_async_debug_store_log_msg (ad, cat, level, __FILE__, GST_FUNCTION, \
+ __LINE__, object, format, ##args)
#else /* G_HAVE_GNUC_VARARGS */
static inline void
+GST_GL_ASYNC_CAT_LEVEL_LOG(GstGLAsyncDebug * ad, GstDebugCategory * cat,
+ GstDebugLevel level, GObject * object, const gchar * format, ...)
+{
+ va_list varargs;
+
+ va_start (varargs, format);
+ GST_GL_ASYNC_CAT_LEVEL_LOG_valist (ad, cat, level, object, format, varargs);
+ va_end (varargs);
+}
+#endif /* G_HAVE_GNUC_VARARGS */
+#endif /* G_HAVE_ISO_VARARGS */
+
+#if !defined(GST_DISABLE_GST_DEBUG)
+
+void gst_gl_insert_debug_marker (GstGLContext * context,
+ const gchar * format, ...) G_GNUC_PRINTF (2, 3);
+void gst_gl_async_debug_output_log_msg (GstGLAsyncDebug * ad);
+void gst_gl_async_debug_store_log_msg (GstGLAsyncDebug * ad,
+ GstDebugCategory * cat,
+ GstDebugLevel level,
+ const gchar * file,
+ const gchar * function,
+ gint line,
+ GObject * object,
+ const gchar * format, ...) G_GNUC_PRINTF (8, 9);
+void gst_gl_async_debug_store_log_msg_valist (GstGLAsyncDebug * ad,
+ GstDebugCategory * cat,
+ GstDebugLevel level,
+ const gchar * file,
+ const gchar * function,
+ gint line,
+ GObject * object,
+ const gchar * format,
+ va_list varargs) G_GNUC_PRINTF (8, 0);
+
+#else /* GST_DISABLE_GST_DEBUG */
+
+#define gst_gl_async_debug_output_log_msg(ad) G_STMT_START{ }G_STMT_END
+#define gst_gl_async_debug_store_log_msg_valist(ad,cat,level,file,function,line,object,format,args) G_STMT_START{ }G_STMT_END
+
+#if G_HAVE_ISO_VARARGS
+
+#define gst_gl_insert_debug_marker(...) G_STMT_START{ }G_STMT_END
+#define gst_gl_async_debug_store_log_msg(...) G_STMT_START{ }G_STMT_END
+
+#else /* G_HAVE_ISO_VARARGS */
+#if G_HAVE_GNUC_VARARGS
+
+#define gst_gl_insert_debug_marker(args...) G_STMT_START{ }G_STMT_END
+#define gst_gl_async_debug_store_log_msg(args...) G_STMT_START{ }G_STMT_END
+
+#else /* G_HAVE_GNUC_VARARGS */
+
+static inline void
gst_gl_insert_debug_marker (GstGLContext * context, const gchar * format, ...)
{
}
+
+static inline void
+gst_gl_async_debug_store_log_msg (GstGLAsyncDebug * ad,
+ GstDebugCategory * cat, GstDebugLevel level, const gchar * file,
+ const gchar * function, gint line, GstObject * object,
+ const gchar * format, ...)
+{
+}
+
#endif /* G_HAVE_GNUC_VARARGS */
#endif /* G_HAVE_ISO_VARARGS */
#endif /* GST_DISABLE_GST_DEBUG */
diff --git a/gst-libs/gst/gl/gstglfeature.c b/gst-libs/gst/gl/gstglfeature.c
index 862fadc..baf29b1 100644
--- a/gst-libs/gst/gl/gstglfeature.c
+++ b/gst-libs/gst/gl/gstglfeature.c
@@ -27,6 +27,21 @@
#include "gl.h"
#include "gstglfeature.h"
+#define GST_CAT_DEFAULT gl_feature
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
+
+static void
+_init_debug (void)
+{
+ static volatile gsize _init = 0;
+
+ if (g_once_init_enter (&_init)) {
+ GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "glfeature", 0,
+ "OpenGL feature detection");
+ g_once_init_leave (&_init, 1);
+ }
+}
+
gboolean
gst_gl_check_extension (const char *name, const gchar * ext)
{
@@ -250,6 +265,8 @@
{
int i;
+ _init_debug ();
+
for (i = 0; i < G_N_ELEMENTS (gst_gl_feature_ext_functions_data); i++) {
_gst_gl_feature_check (context, "GL",
gst_gl_feature_ext_functions_data + i, gl_major, gl_minor,
diff --git a/gst-libs/gst/gl/gstglfeature.h b/gst-libs/gst/gl/gstglfeature.h
index 0bbcda6..fdc3137 100644
--- a/gst-libs/gst/gl/gstglfeature.h
+++ b/gst-libs/gst/gl/gstglfeature.h
@@ -97,7 +97,7 @@
gboolean
gst_gl_check_extension (const char *name, const gchar * ext);
-gboolean
+G_GNUC_INTERNAL gboolean
_gst_gl_feature_check (GstGLContext *context,
const char *driver_prefix,
const GstGLFeatureData *data,
@@ -105,7 +105,7 @@
int gl_minor,
const char *extensions_string);
-void
+G_GNUC_INTERNAL void
_gst_gl_feature_check_ext_functions (GstGLContext *context,
int gl_major,
int gl_minor,
diff --git a/gst-libs/gst/gl/gstglfilter.c b/gst-libs/gst/gl/gstglfilter.c
index ab96766..59c8508 100644
--- a/gst-libs/gst/gl/gstglfilter.c
+++ b/gst-libs/gst/gl/gstglfilter.c
@@ -70,7 +70,8 @@
#define gst_gl_filter_parent_class parent_class
G_DEFINE_TYPE_WITH_CODE (GstGLFilter, gst_gl_filter, GST_TYPE_GL_BASE_FILTER,
GST_DEBUG_CATEGORY_INIT (gst_gl_filter_debug, "glfilter", 0,
- "glfilter element"););
+ "glfilter element");
+ );
static void gst_gl_filter_set_property (GObject * object, guint prop_id,
const GValue * value, GParamSpec * pspec);
@@ -97,6 +98,8 @@
GstCaps * outcaps);
static gboolean gst_gl_filter_gl_start (GstGLBaseFilter * filter);
static void gst_gl_filter_gl_stop (GstGLBaseFilter * filter);
+static gboolean gst_gl_filter_gl_set_caps (GstGLBaseFilter * bt,
+ GstCaps * incaps, GstCaps * outcaps);
static void
gst_gl_filter_class_init (GstGLFilterClass * klass)
@@ -124,6 +127,7 @@
GST_GL_BASE_FILTER_CLASS (klass)->gl_start = gst_gl_filter_gl_start;
GST_GL_BASE_FILTER_CLASS (klass)->gl_stop = gst_gl_filter_gl_stop;
+ GST_GL_BASE_FILTER_CLASS (klass)->gl_set_caps = gst_gl_filter_gl_set_caps;
klass->transform_internal_caps = default_transform_internal_caps;
@@ -183,44 +187,11 @@
{
GstGLFilter *filter = GST_GL_FILTER (base_filter);
GstGLFilterClass *filter_class = GST_GL_FILTER_GET_CLASS (filter);
- GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
- gint out_width, out_height;
-
- out_width = GST_VIDEO_INFO_WIDTH (&filter->out_info);
- out_height = GST_VIDEO_INFO_HEIGHT (&filter->out_info);
-
- if (filter->fbo) {
- gst_gl_context_del_fbo (context, filter->fbo, filter->depthbuffer);
- filter->fbo = 0;
- filter->depthbuffer = 0;
- }
- //blocking call, generate a FBO
- if (!gst_gl_context_gen_fbo (context, out_width, out_height,
- &filter->fbo, &filter->depthbuffer))
- goto context_error;
if (filter_class->display_init_cb)
filter_class->display_init_cb (filter);
- if (filter_class->init_fbo) {
- if (!filter_class->init_fbo (filter))
- goto error;
- }
-
return TRUE;
-
-context_error:
- {
- GST_ELEMENT_ERROR (filter, RESOURCE, NOT_FOUND, ("Could not generate FBO"),
- (NULL));
- return FALSE;
- }
-error:
- {
- GST_ELEMENT_ERROR (filter, LIBRARY, INIT,
- ("Subclass failed to initialize."), (NULL));
- return FALSE;
- }
}
static void
@@ -269,8 +240,8 @@
GValue fpar = { 0, }, tpar = {
0,};
- othercaps = gst_caps_truncate (othercaps);
othercaps = gst_caps_make_writable (othercaps);
+ othercaps = gst_caps_truncate (othercaps);
GST_DEBUG_OBJECT (bt, "trying to fixate othercaps %" GST_PTR_FORMAT
" based on caps %" GST_PTR_FORMAT, othercaps, caps);
@@ -684,6 +655,49 @@
}
static gboolean
+gst_gl_filter_gl_set_caps (GstGLBaseFilter * bt, GstCaps * incaps,
+ GstCaps * outcaps)
+{
+ GstGLFilter *filter = GST_GL_FILTER (bt);
+ GstGLFilterClass *filter_class = GST_GL_FILTER_GET_CLASS (filter);
+ GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
+ gint out_width, out_height;
+
+ out_width = GST_VIDEO_INFO_WIDTH (&filter->out_info);
+ out_height = GST_VIDEO_INFO_HEIGHT (&filter->out_info);
+
+ if (filter->fbo) {
+ gst_gl_context_del_fbo (context, filter->fbo, filter->depthbuffer);
+ filter->fbo = 0;
+ filter->depthbuffer = 0;
+ }
+ //blocking call, generate a FBO
+ if (!gst_gl_context_gen_fbo (context, out_width, out_height,
+ &filter->fbo, &filter->depthbuffer))
+ goto context_error;
+
+ if (filter_class->init_fbo) {
+ if (!filter_class->init_fbo (filter))
+ goto error;
+ }
+
+ return TRUE;
+
+context_error:
+ {
+ GST_ELEMENT_ERROR (filter, RESOURCE, NOT_FOUND, ("Could not generate FBO"),
+ (NULL));
+ return FALSE;
+ }
+error:
+ {
+ GST_ELEMENT_ERROR (filter, LIBRARY, INIT,
+ ("Subclass failed to initialize."), (NULL));
+ return FALSE;
+ }
+}
+
+static gboolean
gst_gl_filter_set_caps (GstBaseTransform * bt, GstCaps * incaps,
GstCaps * outcaps)
{
@@ -710,7 +724,8 @@
GST_VIDEO_INFO_WIDTH (&filter->out_info),
GST_VIDEO_INFO_HEIGHT (&filter->out_info), incaps, outcaps);
- return TRUE;
+ return GST_BASE_TRANSFORM_CLASS (parent_class)->set_caps (bt, incaps,
+ outcaps);
/* ERRORS */
wrong_caps:
@@ -901,6 +916,13 @@
return ret;
}
+static void
+_debug_marker (GstGLContext * context, GstGLFilter * filter)
+{
+ gst_gl_insert_debug_marker (context,
+ "processing in element %s", GST_OBJECT_NAME (filter));
+}
+
static GstFlowReturn
gst_gl_filter_transform (GstBaseTransform * bt, GstBuffer * inbuf,
GstBuffer * outbuf)
@@ -921,8 +943,8 @@
if (in_sync_meta)
gst_gl_sync_meta_wait (in_sync_meta, context);
- gst_gl_insert_debug_marker (context,
- "processing in element %s", GST_OBJECT_NAME (filter));
+ gst_gl_context_thread_add (context, (GstGLContextThreadFunc) _debug_marker,
+ filter);
if (filter_class->filter)
ret = filter_class->filter (filter, inbuf, outbuf);
else
diff --git a/gst-libs/gst/gl/gstglmemory.c b/gst-libs/gst/gl/gstglmemory.c
index 229b5a2..95974d8 100644
--- a/gst-libs/gst/gl/gstglmemory.c
+++ b/gst-libs/gst/gl/gstglmemory.c
@@ -353,8 +353,11 @@
return FALSE;
}
+ gst_gl_query_start_log (GST_GL_BASE_MEMORY_CAST (gl_mem)->query,
+ GST_CAT_GL_MEMORY, GST_LEVEL_LOG, NULL, "%s", "glReadPixels took");
gl->ReadPixels (0, 0, gl_mem->tex_width, GL_MEM_HEIGHT (gl_mem), format,
type, read_pointer);
+ gst_gl_query_end (GST_GL_BASE_MEMORY_CAST (gl_mem)->query);
gl->BindFramebuffer (GL_FRAMEBUFFER, 0);
@@ -397,7 +400,10 @@
target = gst_gl_texture_target_to_gl (gl_mem->tex_target);
gl->BindTexture (target, gl_mem->tex_id);
+ gst_gl_query_start_log (GST_GL_BASE_MEMORY_CAST (gl_mem)->query,
+ GST_CAT_GL_MEMORY, GST_LEVEL_LOG, NULL, "%s", "glGetTexImage took");
gl->GetTexImage (target, 0, format, type, gl_mem->mem.data);
+ gst_gl_query_end (GST_GL_BASE_MEMORY_CAST (gl_mem)->query);
gl->BindTexture (target, 0);
}
@@ -444,6 +450,12 @@
static void
_upload_cpu_write (GstGLMemory * gl_mem, GstMapInfo * info, gsize maxsize)
{
+ gst_gl_memory_texsubimage (gl_mem, gl_mem->mem.data);
+}
+
+void
+gst_gl_memory_texsubimage (GstGLMemory * gl_mem, gpointer read_pointer)
+{
GstGLContext *context = gl_mem->mem.context;
const GstGLFuncs *gl;
GLenum gl_format, gl_type, gl_target;
@@ -477,11 +489,14 @@
gst_gl_get_plane_start (&gl_mem->info, &gl_mem->valign,
gl_mem->plane) + gl_mem->mem.mem.offset;
- data = (gpointer) ((gintptr) plane_start + (gintptr) gl_mem->mem.data);
+ data = (gpointer) ((gintptr) plane_start + (gintptr) read_pointer);
gl->BindTexture (gl_target, gl_mem->tex_id);
+ gst_gl_query_start_log (GST_GL_BASE_MEMORY_CAST (gl_mem)->query,
+ GST_CAT_GL_MEMORY, GST_LEVEL_LOG, NULL, "%s", "glTexSubImage took");
gl->TexSubImage2D (gl_target, 0, 0, 0, gl_mem->tex_width,
GL_MEM_HEIGHT (gl_mem), gl_format, gl_type, data);
+ gst_gl_query_end (GST_GL_BASE_MEMORY_CAST (gl_mem)->query);
/* Reset to default values */
if (USING_OPENGL (context) || USING_GLES3 (context)) {
@@ -587,8 +602,11 @@
// goto fbo_error;
gl->BindTexture (out_tex_target, tex_id);
+ gst_gl_query_start_log (GST_GL_BASE_MEMORY_CAST (src)->query,
+ GST_CAT_GL_MEMORY, GST_LEVEL_LOG, NULL, "%s", "CopyTexImage2D took");
gl->CopyTexImage2D (out_tex_target, 0, out_gl_format, 0, 0, out_width,
out_height, 0);
+ gst_gl_query_end (GST_GL_BASE_MEMORY_CAST (src)->query);
gl->BindTexture (out_tex_target, 0);
gl->BindFramebuffer (GL_FRAMEBUFFER, 0);
@@ -735,15 +753,15 @@
_default_gl_tex_alloc (GstGLMemoryAllocator * allocator,
GstGLVideoAllocationParams * params)
{
+ guint alloc_flags = params->parent.alloc_flags;
GstGLMemory *mem;
- g_return_val_if_fail (params->parent.
- alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_VIDEO, NULL);
+ g_return_val_if_fail (alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_VIDEO,
+ NULL);
mem = g_new0 (GstGLMemory, 1);
- if (params->parent.
- alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE) {
+ if (alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE) {
mem->tex_id = params->parent.gl_handle;
mem->texture_wrapped = TRUE;
}
@@ -753,12 +771,10 @@
params->v_info, params->plane, params->valign, params->parent.user_data,
params->parent.notify);
- if (params->parent.
- alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE) {
+ if (alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE) {
GST_MINI_OBJECT_FLAG_SET (mem, GST_GL_BASE_MEMORY_TRANSFER_NEED_DOWNLOAD);
}
- if (params->parent.
- alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_SYSMEM) {
+ if (alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_SYSMEM) {
mem->mem.data = params->parent.wrapped_data;
GST_MINI_OBJECT_FLAG_SET (mem, GST_GL_BASE_MEMORY_TRANSFER_NEED_UPLOAD);
}
@@ -1132,15 +1148,16 @@
{
GstGLBaseMemoryAllocator *base_allocator;
guint n_mem, i, v, views;
+ guint alloc_flags = params->parent.alloc_flags;
g_return_val_if_fail (params != NULL, FALSE);
- g_return_val_if_fail ((params->parent.
- alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_SYSMEM)
+ g_return_val_if_fail ((alloc_flags &
+ GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_SYSMEM)
== 0, FALSE);
g_return_val_if_fail ((params->parent.alloc_flags &
GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE) == 0, FALSE);
- g_return_val_if_fail (params->parent.
- alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_VIDEO, FALSE);
+ g_return_val_if_fail (alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_VIDEO,
+ FALSE);
base_allocator = GST_GL_BASE_MEMORY_ALLOCATOR (allocator);
n_mem = GST_VIDEO_INFO_N_PLANES (params->v_info);
@@ -1181,8 +1198,9 @@
g_return_val_if_fail (GST_IS_GL_CONTEXT (context), NULL);
- if (USING_OPENGL (context) || USING_OPENGL3 (context)
- || USING_GLES3 (context)) {
+ /* we can only use the pbo allocator with GL > 3.0 contexts */
+ if (gst_gl_context_check_gl_version (context,
+ GST_GL_API_OPENGL | GST_GL_API_OPENGL3 | GST_GL_API_GLES2, 3, 0)) {
allocator = (GstGLMemoryAllocator *)
gst_allocator_find (GST_GL_MEMORY_PBO_ALLOCATOR_NAME);
} else {
diff --git a/gst-libs/gst/gl/gstglmemory.h b/gst-libs/gst/gl/gstglmemory.h
index 3dbf0ed..d595773 100644
--- a/gst-libs/gst/gl/gstglmemory.h
+++ b/gst-libs/gst/gl/gstglmemory.h
@@ -204,6 +204,8 @@
gboolean gst_gl_memory_read_pixels (GstGLMemory * gl_mem,
gpointer read_pointer);
+void gst_gl_memory_texsubimage (GstGLMemory * gl_mem,
+ gpointer read_pointer);
/* accessors */
gint gst_gl_memory_get_texture_width (GstGLMemory * gl_mem);
diff --git a/gst-libs/gst/gl/gstglmemorypbo.c b/gst-libs/gst/gl/gstglmemorypbo.c
index f2ac6d8..8e8bbb8 100644
--- a/gst-libs/gst/gl/gstglmemorypbo.c
+++ b/gst-libs/gst/gl/gstglmemorypbo.c
@@ -56,11 +56,6 @@
#define USING_GLES2(context) (gst_gl_context_check_gl_version (context, GST_GL_API_GLES2, 2, 0))
#define USING_GLES3(context) (gst_gl_context_check_gl_version (context, GST_GL_API_GLES2, 3, 0))
-/* FIXME: Unused, see https://bugzilla.gnome.org/show_bug.cgi?id=759679 */
-#if 0
-#define GL_MEM_WIDTH(gl_mem) _get_plane_width (&gl_mem->mem.info, gl_mem->mem.plane)
-#endif
-
#define GL_MEM_HEIGHT(gl_mem) _get_plane_height (&gl_mem->mem.info, gl_mem->mem.plane)
#define GL_MEM_STRIDE(gl_mem) GST_VIDEO_INFO_PLANE_STRIDE (&gl_mem->mem.info, gl_mem->mem.plane)
@@ -123,21 +118,6 @@
gboolean result;
} GstGLMemoryPBOCopyParams;
-/* FIXME: Unused, see https://bugzilla.gnome.org/show_bug.cgi?id=759679 */
-#if 0
-static inline guint
-_get_plane_width (GstVideoInfo * info, guint plane)
-{
- if (GST_VIDEO_INFO_IS_YUV (info))
- /* For now component width and plane width are the same and the
- * plane-component mapping matches
- */
- return GST_VIDEO_INFO_COMP_WIDTH (info, plane);
- else /* RGB, GRAY */
- return GST_VIDEO_INFO_WIDTH (info);
-}
-#endif
-
static inline guint
_get_plane_height (GstVideoInfo * info, guint plane)
{
@@ -156,9 +136,7 @@
{
GstGLContext *context = gl_mem->mem.mem.context;
const GstGLFuncs *gl;
- guint gl_format, gl_type, gl_target;
guint pbo_id;
- gsize plane_start;
if (!GST_MEMORY_FLAG_IS_SET (gl_mem, GST_GL_BASE_MEMORY_TRANSFER_NEED_UPLOAD))
return;
@@ -168,42 +146,13 @@
gl = context->gl_vtable;
pbo_id = *(guint *) pbo_info->data;
- gl_type = GL_UNSIGNED_BYTE;
- if (gl_mem->mem.tex_type == GST_VIDEO_GL_TEXTURE_TYPE_RGB16)
- gl_type = GL_UNSIGNED_SHORT_5_6_5;
-
- gl_format = gst_gl_format_from_gl_texture_type (gl_mem->mem.tex_type);
- gl_target = gst_gl_texture_target_to_gl (gl_mem->mem.tex_target);
-
- if (USING_OPENGL (context) || USING_GLES3 (context)
- || USING_OPENGL3 (context)) {
- gl->PixelStorei (GL_UNPACK_ROW_LENGTH, gl_mem->mem.unpack_length);
- } else if (USING_GLES2 (context)) {
- gl->PixelStorei (GL_UNPACK_ALIGNMENT, gl_mem->mem.unpack_length);
- }
-
GST_CAT_LOG (GST_CAT_GL_MEMORY, "upload for texture id:%u, with pbo %u %ux%u",
gl_mem->mem.tex_id, pbo_id, gl_mem->mem.tex_width,
GL_MEM_HEIGHT (gl_mem));
- /* find the start of the plane data including padding */
- plane_start =
- gst_gl_get_plane_start (&gl_mem->mem.info, &gl_mem->mem.valign,
- gl_mem->mem.plane) + GST_MEMORY_CAST (gl_mem)->offset;
-
gl->BindBuffer (GL_PIXEL_UNPACK_BUFFER, pbo_id);
- gl->BindTexture (gl_target, gl_mem->mem.tex_id);
- gl->TexSubImage2D (gl_target, 0, 0, 0, gl_mem->mem.tex_width,
- GL_MEM_HEIGHT (gl_mem), gl_format, gl_type, (void *) plane_start);
+ gst_gl_memory_texsubimage (GST_GL_MEMORY_CAST (gl_mem), NULL);
gl->BindBuffer (GL_PIXEL_UNPACK_BUFFER, 0);
- gl->BindTexture (gl_target, 0);
-
- /* Reset to default values */
- if (USING_OPENGL (context) || USING_GLES3 (context)) {
- gl->PixelStorei (GL_UNPACK_ROW_LENGTH, 0);
- } else if (USING_GLES2 (context)) {
- gl->PixelStorei (GL_UNPACK_ALIGNMENT, 4);
- }
}
static guint
@@ -239,8 +188,8 @@
if (!alloc_class->create ((GstGLBaseMemory *) gl_mem, error))
return FALSE;
- if (USING_OPENGL (context) || USING_OPENGL3 (context)
- || USING_GLES3 (context)) {
+ if (CONTEXT_SUPPORTS_PBO_DOWNLOAD (context)
+ || CONTEXT_SUPPORTS_PBO_UPLOAD (context)) {
GstAllocationParams alloc_params =
{ 0, GST_MEMORY_CAST (gl_mem)->align, 0, 0 };
GstGLBaseMemoryAllocator *buf_allocator;
@@ -287,7 +236,7 @@
GDestroyNotify notify)
{
GstGLMemoryPBO *mem;
- mem = g_slice_new0 (GstGLMemoryPBO);
+ mem = g_new0 (GstGLMemoryPBO, 1);
mem->mem.texture_wrapped = FALSE;
_gl_mem_init (mem, allocator, parent, context, target, params, info, plane,
@@ -708,26 +657,21 @@
*) gl_mem);
}
-static void
-_gl_mem_free (GstAllocator * allocator, GstMemory * mem)
-{
- GST_ALLOCATOR_CLASS (parent_class)->free (allocator, mem);
-}
-
static GstGLMemoryPBO *
_gl_mem_pbo_alloc (GstGLBaseMemoryAllocator * allocator,
GstGLVideoAllocationParams * params)
{
GstGLMemoryPBO *mem;
+ guint alloc_flags;
- g_return_val_if_fail (params->
- parent.alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_VIDEO, NULL);
+ alloc_flags = params->parent.alloc_flags;
+
+ g_return_val_if_fail (alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_VIDEO,
+ NULL);
mem = g_new0 (GstGLMemoryPBO, 1);
- if (params->
- parent.alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE)
- {
+ if (alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE) {
mem->mem.tex_id = params->parent.gl_handle;
mem->mem.texture_wrapped = TRUE;
}
@@ -737,18 +681,17 @@
params->v_info, params->plane, params->valign, params->parent.user_data,
params->parent.notify);
- if (params->
- parent.alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE)
- {
+ if (alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE) {
GST_MINI_OBJECT_FLAG_SET (mem, GST_GL_BASE_MEMORY_TRANSFER_NEED_DOWNLOAD);
}
- if (params->
- parent.alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_SYSMEM) {
- mem->pbo->mem.data = params->parent.wrapped_data;
-
+ if (alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_SYSMEM) {
GST_MINI_OBJECT_FLAG_SET (mem, GST_GL_BASE_MEMORY_TRANSFER_NEED_UPLOAD);
- GST_MINI_OBJECT_FLAG_SET (mem->pbo,
- GST_GL_BASE_MEMORY_TRANSFER_NEED_UPLOAD);
+ if (mem->pbo) {
+ GST_MINI_OBJECT_FLAG_SET (mem->pbo,
+ GST_GL_BASE_MEMORY_TRANSFER_NEED_UPLOAD);
+ mem->pbo->mem.data = params->parent.wrapped_data;
+ }
+ mem->mem.mem.data = params->parent.wrapped_data;
}
return mem;
@@ -773,7 +716,6 @@
gl_base->destroy = (GstGLBaseMemoryAllocatorDestroyFunction) _gl_mem_destroy;
allocator_class->alloc = _gl_mem_alloc;
- allocator_class->free = _gl_mem_free;
}
static void
@@ -843,6 +785,7 @@
if (_read_pixels_to_pbo (gl_mem))
GST_CAT_TRACE (GST_CAT_GL_MEMORY, "optimistic download of texture %u "
"using pbo %u", gl_mem->mem.tex_id, gl_mem->pbo->id);
+ GST_MEMORY_FLAG_UNSET (gl_mem, GST_GL_BASE_MEMORY_TRANSFER_NEED_DOWNLOAD);
g_mutex_unlock (&mem->lock);
}
diff --git a/gst-libs/gst/gl/gstglquery.c b/gst-libs/gst/gl/gstglquery.c
new file mode 100644
index 0000000..45e6336
--- /dev/null
+++ b/gst-libs/gst/gl/gstglquery.c
@@ -0,0 +1,268 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <gst/gl/gl.h>
+
+#include <string.h>
+
+#include "gstglquery.h"
+
+#ifndef GL_TIME_ELAPSED
+#define GL_TIME_ELAPSED 0x88BF
+#endif
+
+#ifndef GL_TIMESTAMP
+#define GL_TIMESTAMP 0x8E28
+#endif
+
+#ifndef GL_QUERY_RESULT
+#define GL_QUERY_RESULT 0x8866
+#endif
+
+#define GST_CAT_DEFAULT gst_gl_query_debug
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
+
+static void
+_init_debug (void)
+{
+ static volatile gsize _init = 0;
+
+ if (g_once_init_enter (&_init)) {
+ GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "glquery", 0, "glquery element");
+ g_once_init_leave (&_init, 1);
+ }
+}
+
+static const gchar *
+_query_type_to_string (guint query_type)
+{
+ switch (query_type) {
+ case GST_GL_QUERY_TIME_ELAPSED:
+ case GL_TIME_ELAPSED:
+ return "time elapsed";
+ case GL_TIMESTAMP:
+ case GST_GL_QUERY_TIMESTAMP:
+ return "timestamp";
+ default:
+ return "unknown";
+ }
+}
+
+static guint
+_gst_gl_query_type_to_gl (GstGLQueryType query_type)
+{
+ if (query_type == GST_GL_QUERY_TIME_ELAPSED)
+ return GL_TIME_ELAPSED;
+ if (query_type == GST_GL_QUERY_TIMESTAMP)
+ return GL_TIMESTAMP;
+
+ g_assert_not_reached ();
+ return 0;
+}
+
+static gboolean
+_query_type_supports_counter (guint gl_query_type)
+{
+ return gl_query_type == GL_TIMESTAMP;
+}
+
+static gboolean
+_query_type_supports_begin_end (guint gl_query_type)
+{
+ return gl_query_type == GL_TIME_ELAPSED;
+}
+
+static gboolean
+_context_supports_query_type (GstGLContext * context, guint gl_query_type)
+{
+ return gl_query_type != 0 && context->gl_vtable->GenQueries != NULL;
+}
+
+static gchar *
+_log_time (gpointer user_data)
+{
+ GstGLQuery *query = user_data;
+ gint64 result;
+
+ result = gst_gl_query_result (query);
+
+ return gst_info_strdup_printf ("%" GST_TIME_FORMAT, GST_TIME_ARGS (result));
+}
+
+void
+gst_gl_query_init (GstGLQuery * query, GstGLContext * context,
+ GstGLQueryType query_type)
+{
+ const GstGLFuncs *gl;
+
+ g_return_if_fail (query != NULL);
+ g_return_if_fail (GST_IS_GL_CONTEXT (context));
+ gl = context->gl_vtable;
+
+ memset (query, 0, sizeof (*query));
+
+ _init_debug ();
+
+ query->context = gst_object_ref (context);
+ query->query_type = _gst_gl_query_type_to_gl (query_type);
+ query->supported = _context_supports_query_type (context, query->query_type);
+
+ if (query->supported)
+ gl->GenQueries (1, &query->query_id);
+
+ gst_gl_async_debug_init (&query->debug);
+ query->debug.callback = _log_time;
+ query->debug.user_data = query;
+}
+
+void
+gst_gl_query_unset (GstGLQuery * query)
+{
+ const GstGLFuncs *gl;
+
+ g_return_if_fail (query != NULL);
+ if (query->start_called)
+ g_critical ("Unsetting a running query. This may not be what you wanted."
+ "Be sure to pair calls to gst_gl_query_start() and gst_gl_query_end()");
+
+ GST_TRACE ("%p unsetting query %u", query, query->query_id);
+
+ gl = query->context->gl_vtable;
+
+ /* unset the debug object as it may callback to print the last message */
+ gst_gl_async_debug_unset (&query->debug);
+
+ if (query->query_id)
+ gl->DeleteQueries (1, &query->query_id);
+
+ gst_object_unref (query->context);
+}
+
+GstGLQuery *
+gst_gl_query_new (GstGLContext * context, GstGLQueryType query_type)
+{
+ GstGLQuery *query = g_new0 (GstGLQuery, 1);
+
+ gst_gl_query_init (query, context, query_type);
+
+ return query;
+}
+
+void
+gst_gl_query_free (GstGLQuery * query)
+{
+ g_return_if_fail (query != NULL);
+
+ gst_gl_query_unset (query);
+ g_free (query);
+}
+
+void
+gst_gl_query_start (GstGLQuery * query)
+{
+ const GstGLFuncs *gl;
+
+ g_return_if_fail (query != NULL);
+ g_return_if_fail (_query_type_supports_begin_end (query->query_type));
+
+ if (!query->supported)
+ return;
+
+ query->start_called = TRUE;
+ gst_gl_async_debug_output_log_msg (&query->debug);
+
+ GST_TRACE ("%p start query type \'%s\' id %u", query,
+ _query_type_to_string (query->query_type), query->query_id);
+
+ gl = query->context->gl_vtable;
+ gl->BeginQuery (query->query_type, query->query_id);
+}
+
+void
+gst_gl_query_end (GstGLQuery * query)
+{
+ const GstGLFuncs *gl;
+
+ g_return_if_fail (query != NULL);
+ g_return_if_fail (_query_type_supports_begin_end (query->query_type));
+
+ if (!query->supported)
+ return;
+ g_return_if_fail (query->start_called);
+
+ GST_TRACE ("%p end query type \'%s\' id %u", query,
+ _query_type_to_string (query->query_type), query->query_id);
+
+ gl = query->context->gl_vtable;
+
+ gl->EndQuery (query->query_type);
+ query->start_called = FALSE;
+}
+
+void
+gst_gl_query_counter (GstGLQuery * query)
+{
+ const GstGLFuncs *gl;
+
+ g_return_if_fail (query != NULL);
+ g_return_if_fail (_query_type_supports_counter (query->query_type));
+
+ if (!query->supported)
+ return;
+
+ GST_TRACE ("%p query counter type \'%s\' id %u", query,
+ _query_type_to_string (query->query_type), query->query_id);
+
+ gst_gl_async_debug_output_log_msg (&query->debug);
+
+ gl = query->context->gl_vtable;
+ gl->QueryCounter (query->query_id, query->query_type);
+}
+
+guint64
+gst_gl_query_result (GstGLQuery * query)
+{
+ const GstGLFuncs *gl;
+ guint64 ret;
+
+ g_return_val_if_fail (query != NULL, 0);
+ g_return_val_if_fail (!query->start_called, 0);
+
+ if (!query->supported)
+ return 0;
+
+ gl = query->context->gl_vtable;
+ if (gl->GetQueryObjectui64v) {
+ gl->GetQueryObjectui64v (query->query_id, GL_QUERY_RESULT, &ret);
+ } else {
+ guint tmp;
+ gl->GetQueryObjectuiv (query->query_id, GL_QUERY_RESULT, &tmp);
+ ret = tmp;
+ }
+
+ GST_TRACE ("%p get result %" G_GUINT64_FORMAT " type \'%s\' id %u", query,
+ ret, _query_type_to_string (query->query_type), query->query_id);
+
+ return ret;
+}
diff --git a/gst-libs/gst/gl/gstglquery.h b/gst-libs/gst/gl/gstglquery.h
new file mode 100644
index 0000000..9cf06fa
--- /dev/null
+++ b/gst-libs/gst/gl/gstglquery.h
@@ -0,0 +1,140 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_GL_QUERY_H__
+#define __GST_GL_QUERY_H__
+
+#include <gst/gl/gstgl_fwd.h>
+
+G_BEGIN_DECLS
+
+typedef enum
+{
+ GST_GL_QUERY_NONE,
+ GST_GL_QUERY_TIME_ELAPSED,
+ GST_GL_QUERY_TIMESTAMP,
+} GstGLQueryType;
+
+struct _GstGLQuery
+{
+ /* <private> */
+ GstGLContext * context;
+ guint query_type;
+ guint query_id;
+ gboolean supported;
+
+ gboolean start_called;
+ GstGLAsyncDebug debug;
+};
+
+void gst_gl_query_init (GstGLQuery * query,
+ GstGLContext * context,
+ GstGLQueryType query_type);
+void gst_gl_query_unset (GstGLQuery * query);
+GstGLQuery * gst_gl_query_new (GstGLContext * context,
+ GstGLQueryType query_type);
+void gst_gl_query_free (GstGLQuery * query);
+
+void gst_gl_query_start (GstGLQuery * query);
+void gst_gl_query_end (GstGLQuery * query);
+void gst_gl_query_counter (GstGLQuery * query);
+guint64 gst_gl_query_result (GstGLQuery * query);
+
+#define gst_gl_query_start_log_valist(query,cat,level,object,format,varargs) \
+ G_STMT_START { \
+ GST_GL_ASYNC_CAT_LEVEL_LOG_valist (&(query)->debug, cat, level, object, format, varargs); \
+ gst_gl_async_debug_freeze (&(query)->debug); \
+ gst_gl_query_start (query); \
+ gst_gl_async_debug_thaw (&(query)->debug); \
+ } G_STMT_END
+
+#define gst_gl_query_counter_log_valist(query,cat,level,object,format,varargs) \
+ G_STMT_START { \
+ GST_GL_ASYNC_CAT_LEVEL_LOG_valist (&(query)->debug, cat, level, object, format, varargs); \
+ gst_gl_async_debug_freeze (&(query)->debug); \
+ gst_gl_query_counter (query); \
+ gst_gl_async_debug_thaw (&(query)->debug); \
+ } G_STMT_END
+
+#if G_HAVE_ISO_VARARGS
+
+#define gst_gl_query_start_log(query,cat,level,object,format,...) \
+ G_STMT_START { \
+ GST_GL_ASYNC_CAT_LEVEL_LOG (&(query)->debug, cat, level, object, format, __VA_ARGS__); \
+ gst_gl_async_debug_freeze (&(query)->debug); \
+ gst_gl_query_start (query); \
+ gst_gl_async_debug_thaw (&(query)->debug); \
+ } G_STMT_END
+#define gst_gl_query_counter_log(query,cat,level,object,format,...) \
+ G_STMT_START { \
+ GST_GL_ASYNC_CAT_LEVEL_LOG (&(query)->debug, cat, level, object, format, __VA_ARGS__); \
+ gst_gl_async_debug_freeze (&(query)->debug); \
+ gst_gl_query_counter (query); \
+ gst_gl_async_debug_thaw (&(query)->debug); \
+ } G_STMT_END
+
+#else /* G_HAVE_ISO_VARARGS */
+#if G_HAVE_GNUC_VARARGS
+
+#define gst_gl_query_start_log(query,cat,level,object,format,args...) \
+ G_STMT_START { \
+ GST_GL_ASYNC_CAT_LEVEL_LOG (&(query)->debug, cat, level, object, format, ##args); \
+ gst_gl_async_debug_freeze (&(query)->debug); \
+ gst_gl_query_start (query); \
+ gst_gl_async_debug_thaw (&(query)->debug); \
+ } G_STMT_END
+#define gst_gl_query_counter_log(query,cat,level,object,format,args...) \
+ G_STMT_START { \
+ GST_GL_ASYNC_CAT_LEVEL_LOG (&(query)->debug, cat, level, object, format, ##args); \
+ gst_gl_async_debug_freeze (&(query)->debug); \
+ gst_gl_query_counter (query); \
+ gst_gl_async_debug_thaw (&(query)->debug); \
+ } G_STMT_END
+
+#else /* G_HAVE_GNUC_VARARGS */
+
+static inline void
+gst_gl_query_start_log(GstGLQuery * query, GstDebugCategory * cat,
+ GstDebugLevel level, GObject * object, const gchar * format, ...)
+{
+ va_list varargs;
+
+ va_start (varargs, format);
+ gst_gl_query_start_log_valist (query, cat, level, object, format, varargs);
+ va_end (varargs);
+}
+
+static inline void
+gst_gl_query_counter_log(GstGLQuery * query, GstDebugCategory * cat,
+ GstDebugLevel level, GObject * object, const gchar * format, ...)
+{
+ va_list varargs;
+
+ va_start (varargs, format);
+ gst_gl_query_counter_log_valist (query, cat, level, object, format, varargs);
+ va_end (varargs);
+}
+
+#endif /* G_HAVE_GNUC_VARARGS */
+#endif /* G_HAVE_ISO_VARARGS */
+
+G_END_DECLS
+
+#endif /* __GST_GL_QUERY_H__ */
diff --git a/gst-libs/gst/gl/gstglshader.c b/gst-libs/gst/gl/gstglshader.c
index 05b4caf..56cb9ed 100644
--- a/gst-libs/gst/gl/gstglshader.c
+++ b/gst-libs/gst/gl/gstglshader.c
@@ -73,6 +73,7 @@
GList *stages;
gboolean linked;
+ GHashTable *uniform_locations;
GstGLSLFuncs vtable;
};
@@ -122,6 +123,7 @@
(GstGLContextThreadFunc) _cleanup_shader, shader);
priv->program_handle = 0;
+ g_hash_table_destroy (priv->uniform_locations);
if (shader->context) {
gst_object_unref (shader->context);
@@ -189,6 +191,30 @@
priv = self->priv = GST_GL_SHADER_GET_PRIVATE (self);
priv->linked = FALSE;
+ priv->uniform_locations =
+ g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
+}
+
+static int
+_get_uniform_location (GstGLShader * shader, const gchar * name)
+{
+ GstGLShaderPrivate *priv = shader->priv;
+ int location;
+ gpointer value;
+
+ g_return_val_if_fail (priv->linked, 0);
+
+ if (!g_hash_table_lookup_extended (priv->uniform_locations, name, NULL,
+ &value)) {
+ const GstGLFuncs *gl = shader->context->gl_vtable;
+ location = gl->GetUniformLocation (priv->program_handle, name);
+ g_hash_table_insert (priv->uniform_locations, g_strdup (name),
+ GINT_TO_POINTER (location));
+ } else {
+ location = GPOINTER_TO_INT (value);
+ }
+
+ return location;
}
static GstGLShader *
@@ -680,6 +706,7 @@
shader->priv->stages = NULL;
priv->linked = FALSE;
+ g_hash_table_remove_all (priv->uniform_locations);
g_object_notify (G_OBJECT (shader), "linked");
}
@@ -763,7 +790,7 @@
g_return_if_fail (priv->program_handle != 0);
gl = shader->context->gl_vtable;
- location = gl->GetUniformLocation (priv->program_handle, name);
+ location = _get_uniform_location (shader, name);
gl->Uniform1f (location, value);
}
@@ -781,7 +808,7 @@
g_return_if_fail (priv->program_handle != 0);
gl = shader->context->gl_vtable;
- location = gl->GetUniformLocation (priv->program_handle, name);
+ location = _get_uniform_location (shader, name);
gl->Uniform1fv (location, count, value);
}
@@ -799,7 +826,7 @@
g_return_if_fail (priv->program_handle != 0);
gl = shader->context->gl_vtable;
- location = gl->GetUniformLocation (priv->program_handle, name);
+ location = _get_uniform_location (shader, name);
gl->Uniform1i (location, value);
}
@@ -817,7 +844,7 @@
g_return_if_fail (priv->program_handle != 0);
gl = shader->context->gl_vtable;
- location = gl->GetUniformLocation (priv->program_handle, name);
+ location = _get_uniform_location (shader, name);
gl->Uniform1iv (location, count, value);
}
@@ -835,7 +862,7 @@
g_return_if_fail (priv->program_handle != 0);
gl = shader->context->gl_vtable;
- location = gl->GetUniformLocation (priv->program_handle, name);
+ location = _get_uniform_location (shader, name);
gl->Uniform2f (location, value0, value1);
}
@@ -853,7 +880,7 @@
g_return_if_fail (priv->program_handle != 0);
gl = shader->context->gl_vtable;
- location = gl->GetUniformLocation (priv->program_handle, name);
+ location = _get_uniform_location (shader, name);
gl->Uniform2fv (location, count, value);
}
@@ -871,7 +898,7 @@
g_return_if_fail (priv->program_handle != 0);
gl = shader->context->gl_vtable;
- location = gl->GetUniformLocation (priv->program_handle, name);
+ location = _get_uniform_location (shader, name);
gl->Uniform2i (location, v0, v1);
}
@@ -889,7 +916,7 @@
g_return_if_fail (priv->program_handle != 0);
gl = shader->context->gl_vtable;
- location = gl->GetUniformLocation (priv->program_handle, name);
+ location = _get_uniform_location (shader, name);
gl->Uniform2iv (location, count, value);
}
@@ -907,7 +934,7 @@
g_return_if_fail (priv->program_handle != 0);
gl = shader->context->gl_vtable;
- location = gl->GetUniformLocation (priv->program_handle, name);
+ location = _get_uniform_location (shader, name);
gl->Uniform3f (location, v0, v1, v2);
}
@@ -925,7 +952,7 @@
g_return_if_fail (priv->program_handle != 0);
gl = shader->context->gl_vtable;
- location = gl->GetUniformLocation (priv->program_handle, name);
+ location = _get_uniform_location (shader, name);
gl->Uniform3fv (location, count, value);
}
@@ -943,7 +970,7 @@
g_return_if_fail (priv->program_handle != 0);
gl = shader->context->gl_vtable;
- location = gl->GetUniformLocation (priv->program_handle, name);
+ location = _get_uniform_location (shader, name);
gl->Uniform3i (location, v0, v1, v2);
}
@@ -961,7 +988,7 @@
g_return_if_fail (priv->program_handle != 0);
gl = shader->context->gl_vtable;
- location = gl->GetUniformLocation (priv->program_handle, name);
+ location = _get_uniform_location (shader, name);
gl->Uniform3iv (location, count, value);
}
@@ -979,7 +1006,7 @@
g_return_if_fail (priv->program_handle != 0);
gl = shader->context->gl_vtable;
- location = gl->GetUniformLocation (priv->program_handle, name);
+ location = _get_uniform_location (shader, name);
gl->Uniform4f (location, v0, v1, v2, v3);
}
@@ -997,7 +1024,7 @@
g_return_if_fail (priv->program_handle != 0);
gl = shader->context->gl_vtable;
- location = gl->GetUniformLocation (priv->program_handle, name);
+ location = _get_uniform_location (shader, name);
gl->Uniform4fv (location, count, value);
}
@@ -1015,7 +1042,7 @@
g_return_if_fail (priv->program_handle != 0);
gl = shader->context->gl_vtable;
- location = gl->GetUniformLocation (priv->program_handle, name);
+ location = _get_uniform_location (shader, name);
gl->Uniform4i (location, v0, v1, v2, v3);
}
@@ -1033,7 +1060,7 @@
g_return_if_fail (priv->program_handle != 0);
gl = shader->context->gl_vtable;
- location = gl->GetUniformLocation (priv->program_handle, name);
+ location = _get_uniform_location (shader, name);
gl->Uniform4iv (location, count, value);
}
@@ -1051,7 +1078,7 @@
g_return_if_fail (priv->program_handle != 0);
gl = shader->context->gl_vtable;
- location = gl->GetUniformLocation (priv->program_handle, name);
+ location = _get_uniform_location (shader, name);
gl->UniformMatrix2fv (location, count, transpose, value);
}
@@ -1069,7 +1096,7 @@
g_return_if_fail (priv->program_handle != 0);
gl = shader->context->gl_vtable;
- location = gl->GetUniformLocation (priv->program_handle, name);
+ location = _get_uniform_location (shader, name);
gl->UniformMatrix3fv (location, count, transpose, value);
}
@@ -1087,7 +1114,7 @@
g_return_if_fail (priv->program_handle != 0);
gl = shader->context->gl_vtable;
- location = gl->GetUniformLocation (priv->program_handle, name);
+ location = _get_uniform_location (shader, name);
gl->UniformMatrix4fv (location, count, transpose, value);
}
@@ -1106,7 +1133,7 @@
g_return_if_fail (priv->program_handle != 0);
gl = shader->context->gl_vtable;
- location = gl->GetUniformLocation (priv->program_handle, name);
+ location = _get_uniform_location (shader, name);
gl->UniformMatrix2x3fv (location, count, transpose, value);
}
@@ -1124,7 +1151,7 @@
g_return_if_fail (priv->program_handle != 0);
gl = shader->context->gl_vtable;
- location = gl->GetUniformLocation (priv->program_handle, name);
+ location = _get_uniform_location (shader, name);
gl->UniformMatrix2x4fv (location, count, transpose, value);
}
@@ -1142,7 +1169,7 @@
g_return_if_fail (priv->program_handle != 0);
gl = shader->context->gl_vtable;
- location = gl->GetUniformLocation (priv->program_handle, name);
+ location = _get_uniform_location (shader, name);
gl->UniformMatrix3x2fv (location, count, transpose, value);
}
@@ -1160,7 +1187,7 @@
g_return_if_fail (priv->program_handle != 0);
gl = shader->context->gl_vtable;
- location = gl->GetUniformLocation (priv->program_handle, name);
+ location = _get_uniform_location (shader, name);
gl->UniformMatrix3x4fv (location, count, transpose, value);
}
@@ -1178,7 +1205,7 @@
g_return_if_fail (priv->program_handle != 0);
gl = shader->context->gl_vtable;
- location = gl->GetUniformLocation (priv->program_handle, name);
+ location = _get_uniform_location (shader, name);
gl->UniformMatrix4x2fv (location, count, transpose, value);
}
@@ -1196,7 +1223,7 @@
g_return_if_fail (priv->program_handle != 0);
gl = shader->context->gl_vtable;
- location = gl->GetUniformLocation (priv->program_handle, name);
+ location = _get_uniform_location (shader, name);
gl->UniformMatrix4x3fv (location, count, transpose, value);
}
diff --git a/gst-libs/gst/gl/gstglsl_private.h b/gst-libs/gst/gl/gstglsl_private.h
index c23ff91..c1be677 100644
--- a/gst-libs/gst/gl/gstglsl_private.h
+++ b/gst-libs/gst/gl/gstglsl_private.h
@@ -55,8 +55,8 @@
GLsizei * length, char *log);
} GstGLSLFuncs;
-gboolean _gst_glsl_funcs_fill (GstGLSLFuncs * vtable, GstGLContext * context);
-const gchar * _gst_glsl_shader_string_find_version (const gchar * str);
+G_GNUC_INTERNAL gboolean _gst_glsl_funcs_fill (GstGLSLFuncs * vtable, GstGLContext * context);
+G_GNUC_INTERNAL const gchar * _gst_glsl_shader_string_find_version (const gchar * str);
G_END_DECLS
diff --git a/gst-libs/gst/gl/gstglsyncmeta.c b/gst-libs/gst/gl/gstglsyncmeta.c
index a2f44a3..b4061d3 100644
--- a/gst-libs/gst/gl/gstglsyncmeta.c
+++ b/gst-libs/gst/gl/gstglsyncmeta.c
@@ -37,6 +37,9 @@
#ifndef GL_TIMEOUT_EXPIRED
#define GL_TIMEOUT_EXPIRED 0x911B
#endif
+#ifndef GL_TIMEOUT_IGNORED
+#define GL_TIMEOUT_IGNORED G_GUINT64_CONSTANT(0xFFFFFFFFFFFFFFFF)
+#endif
static void
_default_set_sync_gl (GstGLSyncMeta * sync_meta, GstGLContext * context)
@@ -50,9 +53,14 @@
}
sync_meta->data =
(gpointer) gl->FenceSync (GL_SYNC_GPU_COMMANDS_COMPLETE, 0);
- gl->Flush ();
+
+ if (gst_gl_context_is_shared (context))
+ /* if we only have a single context, the wait will flush for us */
+ gl->Flush ();
GST_LOG ("setting sync object %p", sync_meta->data);
} else {
+ /* XXX: this a little over the top if the CPU is never going to
+ * access the data, however this is the legacy path, so... */
gl->Finish ();
}
}
@@ -61,6 +69,17 @@
_default_wait_gl (GstGLSyncMeta * sync_meta, GstGLContext * context)
{
const GstGLFuncs *gl = context->gl_vtable;
+
+ if (sync_meta->data && gl->WaitSync) {
+ GST_LOG ("waiting on sync object %p", sync_meta->data);
+ gl->WaitSync ((GLsync) sync_meta->data, 0, GL_TIMEOUT_IGNORED);
+ }
+}
+
+static void
+_default_wait_cpu_gl (GstGLSyncMeta * sync_meta, GstGLContext * context)
+{
+ const GstGLFuncs *gl = context->gl_vtable;
GLenum res;
if (sync_meta->data && gl->ClientWaitSync) {
@@ -126,6 +145,7 @@
ret->set_sync_gl = _default_set_sync_gl;
ret->wait_gl = _default_wait_gl;
+ ret->wait_cpu_gl = _default_wait_cpu_gl;
ret->copy = _default_copy;
ret->free_gl = _default_free_gl;
@@ -171,6 +191,25 @@
(GstGLContextThreadFunc) _wait, sync_meta);
}
+static void
+_wait_cpu (GstGLContext * context, GstGLSyncMeta * sync_meta)
+{
+ g_assert (sync_meta->wait_cpu_gl != NULL);
+
+ GST_LOG ("waiting %p", sync_meta);
+ sync_meta->wait_cpu_gl (sync_meta, context);
+}
+
+void
+gst_gl_sync_meta_wait_cpu (GstGLSyncMeta * sync_meta, GstGLContext * context)
+{
+ if (sync_meta->wait_cpu)
+ sync_meta->wait_cpu (sync_meta, context);
+ else
+ gst_gl_context_thread_add (context,
+ (GstGLContextThreadFunc) _wait_cpu, sync_meta);
+}
+
static gboolean
_gst_gl_sync_meta_transform (GstBuffer * dest, GstMeta * meta,
GstBuffer * buffer, GQuark type, gpointer data)
@@ -194,6 +233,8 @@
dmeta->set_sync_gl = smeta->set_sync_gl;
dmeta->wait = smeta->wait;
dmeta->wait_gl = smeta->wait_gl;
+ dmeta->wait_cpu = smeta->wait_cpu;
+ dmeta->wait_cpu_gl = smeta->wait_cpu_gl;
dmeta->copy = smeta->copy;
dmeta->free = smeta->free;
dmeta->free_gl = smeta->free_gl;
@@ -248,6 +289,8 @@
sync_meta->set_sync_gl = NULL;
sync_meta->wait = NULL;
sync_meta->wait_gl = NULL;
+ sync_meta->wait_cpu = NULL;
+ sync_meta->wait_cpu_gl = NULL;
sync_meta->copy = NULL;
sync_meta->free = NULL;
sync_meta->free_gl = NULL;
diff --git a/gst-libs/gst/gl/gstglsyncmeta.h b/gst-libs/gst/gl/gstglsyncmeta.h
index 8620ccd..e5eb17b 100644
--- a/gst-libs/gst/gl/gstglsyncmeta.h
+++ b/gst-libs/gst/gl/gstglsyncmeta.h
@@ -42,6 +42,8 @@
void (*set_sync_gl) (GstGLSyncMeta * sync, GstGLContext * context);
void (*wait) (GstGLSyncMeta * sync, GstGLContext * context);
void (*wait_gl) (GstGLSyncMeta * sync, GstGLContext * context);
+ void (*wait_cpu) (GstGLSyncMeta * sync, GstGLContext * context);
+ void (*wait_cpu_gl) (GstGLSyncMeta * sync, GstGLContext * context);
void (*copy) (GstGLSyncMeta * src, GstBuffer * sbuffer, GstGLSyncMeta * dest, GstBuffer * dbuffer);
void (*free) (GstGLSyncMeta * sync, GstGLContext * context);
void (*free_gl) (GstGLSyncMeta * sync, GstGLContext * context);
@@ -57,6 +59,7 @@
gpointer data);
void gst_gl_sync_meta_set_sync_point (GstGLSyncMeta * sync, GstGLContext * context);
void gst_gl_sync_meta_wait (GstGLSyncMeta * sync, GstGLContext * context);
+void gst_gl_sync_meta_wait_cpu (GstGLSyncMeta * sync, GstGLContext * context);
G_END_DECLS
diff --git a/gst-libs/gst/gl/gstglupload.c b/gst-libs/gst/gl/gstglupload.c
index bcb3780..16ed5ea 100644
--- a/gst-libs/gst/gl/gstglupload.c
+++ b/gst-libs/gst/gl/gstglupload.c
@@ -105,22 +105,59 @@
};
static GstCaps *
-_set_caps_features (const GstCaps * caps, const gchar * feature_name)
+_set_caps_features_with_passthrough (const GstCaps * caps,
+ const gchar * feature_name, GstCapsFeatures * passthrough)
{
- GstCaps *tmp = gst_caps_copy (caps);
- guint n = gst_caps_get_size (tmp);
- guint i = 0;
+ guint i, j, m, n;
+ GstCaps *tmp;
+ tmp = gst_caps_copy (caps);
+
+ n = gst_caps_get_size (caps);
for (i = 0; i < n; i++) {
- GstCapsFeatures *features;
+ GstCapsFeatures *features, *orig_features;
+ orig_features = gst_caps_get_features (caps, i);
features = gst_caps_features_new (feature_name, NULL);
+
+ m = gst_caps_features_get_size (orig_features);
+ for (j = 0; j < m; j++) {
+ const gchar *feature = gst_caps_features_get_nth (orig_features, j);
+
+ /* if we already have the features */
+ if (gst_caps_features_contains (features, feature))
+ continue;
+
+ if (g_strcmp0 (feature, GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY) == 0)
+ continue;
+
+ if (gst_caps_features_contains (passthrough, feature)) {
+ gst_caps_features_add (features, feature);
+ }
+ }
+
gst_caps_set_features (tmp, i, features);
}
return tmp;
}
+static GstCaps *
+_caps_intersect_texture_target (GstCaps * caps, GstGLTextureTarget target_mask)
+{
+ GValue targets = G_VALUE_INIT;
+ GstCaps *ret, *target;
+
+ target = gst_caps_copy (caps);
+ gst_gl_value_set_texture_target_from_mask (&targets, target_mask);
+ gst_caps_set_value (target, "texture-target", &targets);
+
+ ret = gst_caps_intersect_full (caps, target, GST_CAPS_INTERSECT_FIRST);
+
+ gst_caps_unref (target);
+ return ret;
+}
+
typedef enum
{
METHOD_FLAG_CAN_SHARE_CONTEXT = 1,
@@ -164,7 +201,39 @@
_gl_memory_upload_transform_caps (GstGLContext * context,
GstPadDirection direction, GstCaps * caps)
{
- return _set_caps_features (caps, GST_CAPS_FEATURE_MEMORY_GL_MEMORY);
+ GstCapsFeatures *passthrough =
+ gst_caps_features_from_string
+ (GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION);
+ GstCaps *ret;
+
+ ret =
+ _set_caps_features_with_passthrough (caps,
+ GST_CAPS_FEATURE_MEMORY_GL_MEMORY, passthrough);
+
+ gst_caps_features_free (passthrough);
+
+ if (direction == GST_PAD_SINK) {
+ GstGLTextureTarget target_mask = 0;
+ GstCaps *tmp;
+
+ target_mask |= 1 << GST_GL_TEXTURE_TARGET_2D;
+ target_mask |= 1 << GST_GL_TEXTURE_TARGET_RECTANGLE;
+ target_mask |= 1 << GST_GL_TEXTURE_TARGET_EXTERNAL_OES;
+ tmp = _caps_intersect_texture_target (ret, target_mask);
+ gst_caps_unref (ret);
+ ret = tmp;
+ } else {
+ gint i, n;
+
+ n = gst_caps_get_size (ret);
+ for (i = 0; i < n; i++) {
+ GstStructure *s = gst_caps_get_structure (ret, i);
+
+ gst_structure_remove_fields (s, "texture-target", NULL);
+ }
+ }
+
+ return ret;
}
static gboolean
@@ -228,8 +297,8 @@
gst_allocation_params_init (¶ms);
allocator =
- GST_ALLOCATOR (gst_gl_memory_allocator_get_default (upload->
- upload->context));
+ GST_ALLOCATOR (gst_gl_memory_allocator_get_default (upload->upload->
+ context));
gst_query_add_allocation_param (query, allocator, ¶ms);
gst_object_unref (allocator);
}
@@ -369,14 +438,27 @@
_egl_image_upload_transform_caps (GstGLContext * context,
GstPadDirection direction, GstCaps * caps)
{
+ GstCapsFeatures *passthrough =
+ gst_caps_features_from_string
+ (GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION);
GstCaps *ret;
if (direction == GST_PAD_SINK) {
- ret = _set_caps_features (caps, GST_CAPS_FEATURE_MEMORY_GL_MEMORY);
+ GstCaps *tmp;
+
+ ret =
+ _set_caps_features_with_passthrough (caps,
+ GST_CAPS_FEATURE_MEMORY_GL_MEMORY, passthrough);
+
+ tmp = _caps_intersect_texture_target (ret, 1 << GST_GL_TEXTURE_TARGET_2D);
+ gst_caps_unref (ret);
+ ret = tmp;
} else {
gint i, n;
- ret = _set_caps_features (caps, GST_CAPS_FEATURE_MEMORY_EGL_IMAGE);
+ ret =
+ _set_caps_features_with_passthrough (caps,
+ GST_CAPS_FEATURE_MEMORY_EGL_IMAGE, passthrough);
gst_caps_set_simple (ret, "format", G_TYPE_STRING, "RGBA", NULL);
n = gst_caps_get_size (ret);
@@ -387,6 +469,8 @@
}
}
+ gst_caps_features_free (passthrough);
+
return ret;
}
@@ -575,14 +659,27 @@
_dma_buf_upload_transform_caps (GstGLContext * context,
GstPadDirection direction, GstCaps * caps)
{
+ GstCapsFeatures *passthrough =
+ gst_caps_features_from_string
+ (GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION);
GstCaps *ret;
if (direction == GST_PAD_SINK) {
- ret = _set_caps_features (caps, GST_CAPS_FEATURE_MEMORY_GL_MEMORY);
+ GstCaps *tmp;
+
+ ret =
+ _set_caps_features_with_passthrough (caps,
+ GST_CAPS_FEATURE_MEMORY_GL_MEMORY, passthrough);
+
+ tmp = _caps_intersect_texture_target (ret, 1 << GST_GL_TEXTURE_TARGET_2D);
+ gst_caps_unref (ret);
+ ret = tmp;
} else {
gint i, n;
- ret = _set_caps_features (caps, GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY);
+ ret =
+ _set_caps_features_with_passthrough (caps,
+ GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY, passthrough);
n = gst_caps_get_size (ret);
for (i = 0; i < n; i++) {
@@ -592,6 +689,8 @@
}
}
+ gst_caps_features_free (passthrough);
+
return ret;
}
@@ -832,16 +931,27 @@
_upload_meta_upload_transform_caps (GstGLContext * context,
GstPadDirection direction, GstCaps * caps)
{
+ GstCapsFeatures *passthrough =
+ gst_caps_features_from_string
+ (GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION);
GstCaps *ret;
if (direction == GST_PAD_SINK) {
- ret = _set_caps_features (caps, GST_CAPS_FEATURE_MEMORY_GL_MEMORY);
+ GstCaps *tmp;
+
+ ret =
+ _set_caps_features_with_passthrough (caps,
+ GST_CAPS_FEATURE_MEMORY_GL_MEMORY, passthrough);
+
+ tmp = _caps_intersect_texture_target (ret, 1 << GST_GL_TEXTURE_TARGET_2D);
+ gst_caps_unref (ret);
+ ret = tmp;
} else {
gint i, n;
ret =
- _set_caps_features (caps,
- GST_CAPS_FEATURE_META_GST_VIDEO_GL_TEXTURE_UPLOAD_META);
+ _set_caps_features_with_passthrough (caps,
+ GST_CAPS_FEATURE_META_GST_VIDEO_GL_TEXTURE_UPLOAD_META, passthrough);
gst_caps_set_simple (ret, "format", G_TYPE_STRING, "RGBA", NULL);
n = gst_caps_get_size (ret);
@@ -852,6 +962,8 @@
}
}
+ gst_caps_features_free (passthrough);
+
return ret;
}
@@ -1113,14 +1225,30 @@
_raw_data_upload_transform_caps (GstGLContext * context,
GstPadDirection direction, GstCaps * caps)
{
+ GstCapsFeatures *passthrough =
+ gst_caps_features_from_string
+ (GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION);
GstCaps *ret;
if (direction == GST_PAD_SINK) {
- ret = _set_caps_features (caps, GST_CAPS_FEATURE_MEMORY_GL_MEMORY);
+ GstGLTextureTarget target_mask = 0;
+ GstCaps *tmp;
+
+ ret =
+ _set_caps_features_with_passthrough (caps,
+ GST_CAPS_FEATURE_MEMORY_GL_MEMORY, passthrough);
+
+ target_mask |= 1 << GST_GL_TEXTURE_TARGET_2D;
+ target_mask |= 1 << GST_GL_TEXTURE_TARGET_RECTANGLE;
+ tmp = _caps_intersect_texture_target (ret, target_mask);
+ gst_caps_unref (ret);
+ ret = tmp;
} else {
gint i, n;
- ret = _set_caps_features (caps, GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY);
+ ret =
+ _set_caps_features_with_passthrough (caps,
+ GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY, passthrough);
n = gst_caps_get_size (ret);
for (i = 0; i < n; i++) {
@@ -1130,6 +1258,8 @@
}
}
+ gst_caps_features_free (passthrough);
+
return ret;
}
@@ -1365,9 +1495,6 @@
tmp = gst_caps_merge (tmp, tmp2);
}
- tmp = gst_gl_overlay_compositor_add_caps (tmp);
-
-
if (filter) {
result = gst_caps_intersect_full (filter, tmp, GST_CAPS_INTERSECT_FIRST);
gst_caps_unref (tmp);
diff --git a/gst-libs/gst/gl/gstglutils.c b/gst-libs/gst/gl/gstglutils.c
index 080c17b..2b0104f 100644
--- a/gst-libs/gst/gl/gstglutils.c
+++ b/gst-libs/gst/gl/gstglutils.c
@@ -947,3 +947,132 @@
return tmp;
}
+
+/**
+ * gst_gl_value_get_texture_target_mask:
+ * @value: an initialized #GValue of type G_TYPE_STRING
+ *
+ * See gst_gl_value_set_texture_target_mask() for what entails a mask
+ *
+ * Returns: the mask of #GstGLTextureTarget's in @value
+ */
+GstGLTextureTarget
+gst_gl_value_get_texture_target_mask (const GValue * targets)
+{
+ guint new_targets = 0;
+
+ g_return_val_if_fail (targets != NULL, GST_GL_TEXTURE_TARGET_NONE);
+
+ if (G_TYPE_CHECK_VALUE_TYPE (targets, G_TYPE_STRING)) {
+ GstGLTextureTarget target;
+ const gchar *str;
+
+ str = g_value_get_string (targets);
+ target = gst_gl_texture_target_from_string (str);
+
+ if (target)
+ new_targets |= 1 << target;
+ } else if (G_TYPE_CHECK_VALUE_TYPE (targets, GST_TYPE_LIST)) {
+ gint j, m;
+
+ m = gst_value_list_get_size (targets);
+ for (j = 0; j < m; j++) {
+ const GValue *val = gst_value_list_get_value (targets, j);
+ GstGLTextureTarget target;
+ const gchar *str;
+
+ str = g_value_get_string (val);
+ target = gst_gl_texture_target_from_string (str);
+ if (target)
+ new_targets |= 1 << target;
+ }
+ }
+
+ return new_targets;
+}
+
+/**
+ * gst_gl_value_set_texture_target:
+ * @value: an initialized #GValue of type G_TYPE_STRING
+ * @target: a #GstGLTextureTarget's
+ *
+ * Returns: whether the @target could be set on @value
+ */
+gboolean
+gst_gl_value_set_texture_target (GValue * value, GstGLTextureTarget target)
+{
+ g_return_val_if_fail (value != NULL, FALSE);
+ g_return_val_if_fail (target != GST_GL_TEXTURE_TARGET_NONE, FALSE);
+
+ if (target == GST_GL_TEXTURE_TARGET_2D) {
+ g_value_set_static_string (value, GST_GL_TEXTURE_TARGET_2D_STR);
+ } else if (target == GST_GL_TEXTURE_TARGET_RECTANGLE) {
+ g_value_set_static_string (value, GST_GL_TEXTURE_TARGET_RECTANGLE_STR);
+ } else if (target == GST_GL_TEXTURE_TARGET_EXTERNAL_OES) {
+ g_value_set_static_string (value, GST_GL_TEXTURE_TARGET_EXTERNAL_OES_STR);
+ } else {
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static guint64
+_gst_gl_log2_int64 (guint64 value)
+{
+ guint64 ret = 0;
+
+ while (value >>= 1)
+ ret++;
+
+ return ret;
+}
+
+/**
+ * gst_gl_value_set_texture_target_from_mask:
+ * @value: an uninitialized #GValue
+ * @target_mask: a bitwise mask of #GstGLTextureTarget's
+ *
+ * A mask is a bitwise OR of (1 << target) where target is a valid
+ * #GstGLTextureTarget
+ *
+ * Returns: whether the @target_mask could be set on @value
+ */
+gboolean
+gst_gl_value_set_texture_target_from_mask (GValue * value,
+ GstGLTextureTarget target_mask)
+{
+ g_return_val_if_fail (value != NULL, FALSE);
+ g_return_val_if_fail (target_mask != GST_GL_TEXTURE_TARGET_NONE, FALSE);
+
+ if ((target_mask & (target_mask - 1)) == 0) {
+ /* only one texture target set */
+ g_value_init (value, G_TYPE_STRING);
+ return gst_gl_value_set_texture_target (value,
+ _gst_gl_log2_int64 (target_mask));
+ } else {
+ GValue item = G_VALUE_INIT;
+ gboolean ret = FALSE;
+
+ g_value_init (value, GST_TYPE_LIST);
+ g_value_init (&item, G_TYPE_STRING);
+ if (target_mask & (1 << GST_GL_TEXTURE_TARGET_2D)) {
+ gst_gl_value_set_texture_target (&item, GST_GL_TEXTURE_TARGET_2D);
+ gst_value_list_append_value (value, &item);
+ ret = TRUE;
+ }
+ if (target_mask & (1 << GST_GL_TEXTURE_TARGET_RECTANGLE)) {
+ gst_gl_value_set_texture_target (&item, GST_GL_TEXTURE_TARGET_RECTANGLE);
+ gst_value_list_append_value (value, &item);
+ ret = TRUE;
+ }
+ if (target_mask & (1 << GST_GL_TEXTURE_TARGET_EXTERNAL_OES)) {
+ gst_gl_value_set_texture_target (&item,
+ GST_GL_TEXTURE_TARGET_EXTERNAL_OES);
+ gst_value_list_append_value (value, &item);
+ ret = TRUE;
+ }
+
+ return ret;
+ }
+}
diff --git a/gst-libs/gst/gl/gstglutils.h b/gst-libs/gst/gl/gstglutils.h
index 3c8460b..1c5ab12 100644
--- a/gst-libs/gst/gl/gstglutils.h
+++ b/gst-libs/gst/gl/gstglutils.h
@@ -111,6 +111,11 @@
GstCaps * gst_gl_caps_replace_all_caps_features (const GstCaps * caps,
const gchar * feature_name);
+gboolean gst_gl_value_set_texture_target_from_mask (GValue * value,
+ GstGLTextureTarget target_mask);
+gboolean gst_gl_value_set_texture_target (GValue * value, GstGLTextureTarget target);
+GstGLTextureTarget gst_gl_value_get_texture_target_mask (const GValue * value);
+
G_END_DECLS
#endif /* __GST_GL_UTILS_H__ */
diff --git a/gst-libs/gst/gl/gstglviewconvert.c b/gst-libs/gst/gl/gstglviewconvert.c
index c2776cb..9215eb0 100644
--- a/gst-libs/gst/gl/gstglviewconvert.c
+++ b/gst-libs/gst/gl/gstglviewconvert.c
@@ -352,12 +352,16 @@
static gboolean
_view_convert_set_format (GstGLViewConvert * viewconvert,
- GstVideoInfo * in_info, GstVideoInfo * out_info)
+ GstVideoInfo * in_info, GstGLTextureTarget from_target,
+ GstVideoInfo * out_info, GstGLTextureTarget to_target)
{
+ gboolean passthrough;
g_return_val_if_fail (GST_IS_GL_VIEW_CONVERT (viewconvert), FALSE);
if (gst_video_info_is_equal (in_info, &viewconvert->in_info) &&
- gst_video_info_is_equal (out_info, &viewconvert->out_info))
+ gst_video_info_is_equal (out_info, &viewconvert->out_info) &&
+ viewconvert->from_texture_target == from_target &&
+ viewconvert->to_texture_target == to_target)
return TRUE;
if (GST_VIDEO_INFO_FORMAT (in_info) != GST_VIDEO_FORMAT_RGBA ||
@@ -367,12 +371,22 @@
return FALSE;
}
+ passthrough = gst_video_info_is_equal (in_info, out_info) &&
+ from_target == to_target;
+
+ if (!passthrough && to_target != GST_GL_TEXTURE_TARGET_2D
+ && to_target != GST_GL_TEXTURE_TARGET_RECTANGLE)
+ return FALSE;
+
/* FIXME: Compare what changed and decide if we need a full reset or not */
GST_OBJECT_LOCK (viewconvert);
gst_gl_view_convert_reset (viewconvert);
viewconvert->in_info = *in_info;
viewconvert->out_info = *out_info;
+ viewconvert->from_texture_target = from_target;
+ viewconvert->to_texture_target = to_target;
+ viewconvert->caps_passthrough = passthrough;
gst_buffer_replace (&viewconvert->priv->primary_in, NULL);
gst_buffer_replace (&viewconvert->priv->auxilliary_in, NULL);
@@ -397,6 +411,8 @@
{
GstVideoInfo in_info, out_info;
GstCapsFeatures *in_features, *out_features;
+ GstGLTextureTarget from_target = GST_GL_TEXTURE_TARGET_2D;
+ GstGLTextureTarget to_target = GST_GL_TEXTURE_TARGET_2D;
g_return_val_if_fail (GST_IS_GL_VIEW_CONVERT (viewconvert), FALSE);
g_return_val_if_fail (GST_IS_CAPS (in_caps), FALSE);
@@ -421,7 +437,30 @@
if (!gst_video_info_from_caps (&out_info, out_caps))
return FALSE;
- return _view_convert_set_format (viewconvert, &in_info, &out_info);
+ {
+ GstStructure *in_s = gst_caps_get_structure (in_caps, 0);
+ GstStructure *out_s = gst_caps_get_structure (out_caps, 0);
+
+ if (gst_structure_has_field_typed (in_s, "texture-target", G_TYPE_STRING)) {
+ from_target =
+ gst_gl_texture_target_from_string (gst_structure_get_string (in_s,
+ "texture-target"));
+ }
+
+ if (gst_structure_has_field_typed (out_s, "texture-target", G_TYPE_STRING)) {
+ to_target =
+ gst_gl_texture_target_from_string (gst_structure_get_string (out_s,
+ "texture-target"));
+ }
+
+ if (to_target == GST_GL_TEXTURE_TARGET_NONE
+ || from_target == GST_GL_TEXTURE_TARGET_NONE)
+ /* invalid caps */
+ return FALSE;
+ }
+
+ return _view_convert_set_format (viewconvert, &in_info, from_target,
+ &out_info, to_target);
}
/* Function that can halve the value
@@ -1736,7 +1775,6 @@
tex_scale[1][0], tex_scale[1][1],
offsets[0][0], offsets[0][1], offsets[1][0], offsets[1][1]);
fragment_source_str = _get_shader_string (viewconvert, in_mode, out_mode);
-// g_print ("%s\n", fragment_source_str);
res = gst_gl_context_gen_shader (viewconvert->context,
gst_gl_shader_string_vertex_mat4_texture_transform, fragment_source_str,
&viewconvert->shader);
@@ -2218,7 +2256,8 @@
if (priv->input_mode == priv->output_mode &&
priv->input_flags == priv->output_flags &&
viewconvert->in_info.width == viewconvert->out_info.width &&
- viewconvert->in_info.height == viewconvert->out_info.height) {
+ viewconvert->in_info.height == viewconvert->out_info.height &&
+ viewconvert->from_texture_target == viewconvert->to_texture_target) {
/* passthrough - just pass input buffers */
outbuf = gst_buffer_ref (priv->primary_in);
if (in_mode == GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME)
@@ -2226,6 +2265,12 @@
goto done_clear_input;
}
+ /* We can't output to OES textures, they're only supported for passthrough */
+ if (viewconvert->to_texture_target == GST_GL_TEXTURE_TARGET_EXTERNAL_OES) {
+ ret = GST_FLOW_ERROR;
+ goto done_clear_input;
+ }
+
/* Generate new output buffer(s) */
gst_gl_context_thread_add (viewconvert->context,
(GstGLContextThreadFunc) _do_view_convert, viewconvert);
diff --git a/gst-libs/gst/gl/gstglviewconvert.h b/gst-libs/gst/gl/gstglviewconvert.h
index dda2eef..8cfa1b2 100644
--- a/gst-libs/gst/gl/gstglviewconvert.h
+++ b/gst-libs/gst/gl/gstglviewconvert.h
@@ -63,6 +63,7 @@
GstGLTextureTarget from_texture_target;
GstGLTextureTarget to_texture_target;
+ gboolean caps_passthrough;
gboolean initted;
gboolean reconfigure;
diff --git a/gst-libs/gst/gl/gstglwindow.c b/gst-libs/gst/gl/gstglwindow.c
index b5175f9..695f4c4 100644
--- a/gst-libs/gst/gl/gstglwindow.c
+++ b/gst-libs/gst/gl/gstglwindow.c
@@ -199,6 +199,7 @@
priv->main_context = g_main_context_new ();
priv->loop = g_main_loop_new (priv->main_context, FALSE);
+ priv->navigation_loop = NULL;
}
static void
@@ -329,10 +330,12 @@
GstGLWindowPrivate *priv = window->priv;
GST_INFO ("quit navigation loop");
- g_main_loop_quit (window->priv->navigation_loop);
- /* wait until navigation thread finished */
- g_thread_join (window->priv->navigation_thread);
- window->priv->navigation_thread = NULL;
+ if (window->priv->navigation_loop) {
+ g_main_loop_quit (window->priv->navigation_loop);
+ /* wait until navigation thread finished */
+ g_thread_join (window->priv->navigation_thread);
+ window->priv->navigation_thread = NULL;
+ }
if (priv->loop)
g_main_loop_unref (priv->loop);
diff --git a/gst-libs/gst/gl/utils/gles_versions.h b/gst-libs/gst/gl/utils/gles_versions.h
new file mode 100644
index 0000000..e80bf1e
--- /dev/null
+++ b/gst-libs/gst/gl/utils/gles_versions.h
@@ -0,0 +1,38 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _GLES_VERSIONS_H_
+#define _GLES_VERSIONS_H_
+
+/* list of known OpenGL versions */
+/* *INDENT-OFF* */
+
+static const struct { int major, minor; } gles2_versions[] = {
+ {3, 2},
+ {3, 1},
+ {3, 0},
+
+ {2, 0},
+
+ {0, 0} /* end of list */
+};
+/* *INDENT-ON* */
+
+#endif /* _GLES_VERSIONS_H_ */
diff --git a/gst-libs/gst/gl/utils/opengl_versions.h b/gst-libs/gst/gl/utils/opengl_versions.h
index beeeab6..081caeb 100644
--- a/gst-libs/gst/gl/utils/opengl_versions.h
+++ b/gst-libs/gst/gl/utils/opengl_versions.h
@@ -48,6 +48,7 @@
{0, 0} /* end of list */
};
+
/* *INDENT-ON* */
#endif /* _OPENGL_VERSIONS_H_ */
diff --git a/gst-libs/gst/gl/wayland/Makefile.in b/gst-libs/gst/gl/wayland/Makefile.in
index 2f94860..3077fc3 100644
--- a/gst-libs/gst/gl/wayland/Makefile.in
+++ b/gst-libs/gst/gl/wayland/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -296,7 +295,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -318,7 +316,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -340,9 +337,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -504,6 +498,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -517,8 +512,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -605,8 +598,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -658,6 +649,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -678,6 +670,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -715,7 +709,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst-libs/gst/gl/wayland/wayland_event_source.h b/gst-libs/gst/gl/wayland/wayland_event_source.h
index 940a5e0..fa20892 100644
--- a/gst-libs/gst/gl/wayland/wayland_event_source.h
+++ b/gst-libs/gst/gl/wayland/wayland_event_source.h
@@ -36,7 +36,7 @@
GSource * wayland_event_source_new (struct wl_display *display,
struct wl_event_queue *queue);
-gint gst_gl_wl_display_roundtrip_queue (struct wl_display *display,
+G_GNUC_INTERNAL gint gst_gl_wl_display_roundtrip_queue (struct wl_display *display,
struct wl_event_queue *queue);
#endif /* __WAYLAND_EVENT_SOURCE_H__ */
diff --git a/gst-libs/gst/gl/win32/Makefile.in b/gst-libs/gst/gl/win32/Makefile.in
index eee9164..70c7eac 100644
--- a/gst-libs/gst/gl/win32/Makefile.in
+++ b/gst-libs/gst/gl/win32/Makefile.in
@@ -118,16 +118,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__noinst_HEADERS_DIST) \
@@ -301,7 +300,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -323,7 +321,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -345,9 +342,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -509,6 +503,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -522,8 +517,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -610,8 +603,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -663,6 +654,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -683,6 +675,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -720,7 +714,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst-libs/gst/gl/x11/Makefile.in b/gst-libs/gst/gl/x11/Makefile.in
index 77622a2..f3c8835 100644
--- a/gst-libs/gst/gl/x11/Makefile.in
+++ b/gst-libs/gst/gl/x11/Makefile.in
@@ -118,16 +118,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(libgstgl_x11include_HEADERS) \
@@ -330,7 +329,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -352,7 +350,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -374,9 +371,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -538,6 +532,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -551,8 +546,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -639,8 +632,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -692,6 +683,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -712,6 +704,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -749,7 +743,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst-libs/gst/gl/x11/gstglwindow_x11.c b/gst-libs/gst/gl/x11/gstglwindow_x11.c
index 43387ac..a330825 100644
--- a/gst-libs/gst/gl/x11/gstglwindow_x11.c
+++ b/gst-libs/gst/gl/x11/gstglwindow_x11.c
@@ -500,7 +500,8 @@
if (handle_events) {
XSelectInput (window_x11->device, window_x11->internal_win_id,
StructureNotifyMask | ExposureMask | VisibilityChangeMask |
- PointerMotionMask | KeyPressMask | KeyReleaseMask);
+ PointerMotionMask | KeyPressMask | KeyReleaseMask | ButtonPressMask |
+ ButtonReleaseMask);
} else {
XSelectInput (window_x11->device, window_x11->internal_win_id,
StructureNotifyMask | ExposureMask | VisibilityChangeMask);
diff --git a/gst-libs/gst/insertbin/Makefile.am b/gst-libs/gst/insertbin/Makefile.am
index d4d331c..8368f41 100644
--- a/gst-libs/gst/insertbin/Makefile.am
+++ b/gst-libs/gst/insertbin/Makefile.am
@@ -48,7 +48,7 @@
--pkg gstreamer-@GST_API_VERSION@ \
--pkg gstreamer-base-@GST_API_VERSION@ \
--pkg-export gstreamer-insertbin-@GST_API_VERSION@ \
- --add-init-section="gst_init(NULL,NULL);" \
+ --add-init-section="$(INTROSPECTION_INIT)" \
-DGST_USE_UNSTABLE_API \
--output $@ \
$(gir_headers) \
diff --git a/gst-libs/gst/insertbin/Makefile.in b/gst-libs/gst/insertbin/Makefile.in
index 971b081..50cf73f 100644
--- a/gst-libs/gst/insertbin/Makefile.in
+++ b/gst-libs/gst/insertbin/Makefile.in
@@ -117,16 +117,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am \
@@ -313,7 +312,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -335,7 +333,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -357,9 +354,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -521,6 +515,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -534,8 +529,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -622,8 +615,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -675,6 +666,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -695,6 +687,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -732,7 +726,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -1179,7 +1172,7 @@
@HAVE_INTROSPECTION_TRUE@ --pkg gstreamer-@GST_API_VERSION@ \
@HAVE_INTROSPECTION_TRUE@ --pkg gstreamer-base-@GST_API_VERSION@ \
@HAVE_INTROSPECTION_TRUE@ --pkg-export gstreamer-insertbin-@GST_API_VERSION@ \
-@HAVE_INTROSPECTION_TRUE@ --add-init-section="gst_init(NULL,NULL);" \
+@HAVE_INTROSPECTION_TRUE@ --add-init-section="$(INTROSPECTION_INIT)" \
@HAVE_INTROSPECTION_TRUE@ -DGST_USE_UNSTABLE_API \
@HAVE_INTROSPECTION_TRUE@ --output $@ \
@HAVE_INTROSPECTION_TRUE@ $(gir_headers) \
diff --git a/gst-libs/gst/interfaces/Makefile.in b/gst-libs/gst/interfaces/Makefile.in
index c112c1c..4f273d6 100644
--- a/gst-libs/gst/interfaces/Makefile.in
+++ b/gst-libs/gst/interfaces/Makefile.in
@@ -124,16 +124,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am \
@@ -343,7 +342,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -365,7 +363,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -387,9 +384,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -551,6 +545,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -564,8 +559,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -652,8 +645,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -705,6 +696,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -725,6 +717,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -762,7 +756,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst-libs/gst/interfaces/photography.c b/gst-libs/gst/interfaces/photography.c
index 5481037..1799c52 100644
--- a/gst-libs/gst/interfaces/photography.c
+++ b/gst-libs/gst/interfaces/photography.c
@@ -299,8 +299,6 @@
* Set the noise reduction mode for the #GstElement
*
* Returns: %TRUE if setting the value succeeded, %FALSE otherwise
- *
- * Since: 0.10.21
*/
/**
* gst_photography_get_noise_reduction:
@@ -310,8 +308,6 @@
* Get the noise reduction mode for the #GstElement
*
* Returns: %TRUE if getting the value succeeded, %FALSE otherwise
- *
- * Since: 0.10.21
*/
GST_PHOTOGRAPHY_FUNC_TEMPLATE (noise_reduction, GstPhotographyNoiseReduction);
diff --git a/gst-libs/gst/interfaces/photography.h b/gst-libs/gst/interfaces/photography.h
index e65c0d9..8c44966 100644
--- a/gst-libs/gst/interfaces/photography.h
+++ b/gst-libs/gst/interfaces/photography.h
@@ -159,8 +159,6 @@
* remaining noise.
*
* Noise Reduction features of a photography capture or filter element.
- *
- * Since: 0.10.21
*/
typedef enum
{
diff --git a/gst-libs/gst/mpegts/Makefile.am b/gst-libs/gst/mpegts/Makefile.am
index 2511d49..cd8b8ad 100644
--- a/gst-libs/gst/mpegts/Makefile.am
+++ b/gst-libs/gst/mpegts/Makefile.am
@@ -82,7 +82,7 @@
--pkg gstreamer-@GST_API_VERSION@ \
--pkg gstreamer-video-@GST_API_VERSION@ \
--pkg-export gstreamer-mpegts-@GST_API_VERSION@ \
- --add-init-section="gst_init(NULL,NULL);" \
+ --add-init-section="$(INTROSPECTION_INIT)" \
-DGST_USE_UNSTABLE_API \
--output $@ \
$(gir_headers) \
diff --git a/gst-libs/gst/mpegts/Makefile.in b/gst-libs/gst/mpegts/Makefile.in
index 942f3e4..3d14247 100644
--- a/gst-libs/gst/mpegts/Makefile.in
+++ b/gst-libs/gst/mpegts/Makefile.in
@@ -126,16 +126,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am \
@@ -351,7 +350,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -373,7 +371,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -395,9 +392,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -559,6 +553,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -572,8 +567,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -660,8 +653,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -713,6 +704,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -733,6 +725,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -770,7 +764,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -1368,7 +1361,7 @@
@HAVE_INTROSPECTION_TRUE@ --pkg gstreamer-@GST_API_VERSION@ \
@HAVE_INTROSPECTION_TRUE@ --pkg gstreamer-video-@GST_API_VERSION@ \
@HAVE_INTROSPECTION_TRUE@ --pkg-export gstreamer-mpegts-@GST_API_VERSION@ \
-@HAVE_INTROSPECTION_TRUE@ --add-init-section="gst_init(NULL,NULL);" \
+@HAVE_INTROSPECTION_TRUE@ --add-init-section="$(INTROSPECTION_INIT)" \
@HAVE_INTROSPECTION_TRUE@ -DGST_USE_UNSTABLE_API \
@HAVE_INTROSPECTION_TRUE@ --output $@ \
@HAVE_INTROSPECTION_TRUE@ $(gir_headers) \
diff --git a/gst-libs/gst/player/Makefile.am b/gst-libs/gst/player/Makefile.am
index 60e8ecf..611d1fc 100644
--- a/gst-libs/gst/player/Makefile.am
+++ b/gst-libs/gst/player/Makefile.am
@@ -57,7 +57,8 @@
gir_sources=$(patsubst %,$(srcdir)/%, $(libgstplayer_@GST_API_VERSION@_la_SOURCES))
GstPlayer-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstplayer-@GST_API_VERSION@.la
- $(AM_V_GEN)$(INTROSPECTION_SCANNER) -v --namespace GstPlayer \
+ $(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
+ $(INTROSPECTION_SCANNER) -v --namespace GstPlayer \
--nsversion=@GST_API_VERSION@ \
--warn-all \
--strip-prefix=Gst \
@@ -65,7 +66,7 @@
-I$(top_builddir)/gst-libs \
--c-include "gst/player/player.h" \
--add-include-path=$(top_builddir)/gst-libs \
- --add-include-path=`$(PKG_CONFIG) --variable=girdir gstreamer-1.0` \
+ --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-1.0` \
--library-path=$(top_builddir)/gst-libs \
--library=libgstplayer-@GST_API_VERSION@.la \
--include=Gst-@GST_API_VERSION@ \
@@ -76,7 +77,7 @@
--pkg gstreamer-tag-@GST_API_VERSION@ \
--pkg gstreamer-pbutils-@GST_API_VERSION@ \
--pkg-export gstreamer-player-@GST_API_VERSION@ \
- --add-init-section="gst_init(NULL,NULL);" \
+ --add-init-section="$(INTROSPECTION_INIT)" \
--output $@ \
$(gir_headers) \
$(gir_sources)
@@ -91,10 +92,11 @@
typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
%.typelib: %.gir $(INTROSPECTION_COMPILER)
- $(AM_V_GEN)$(INTROSPECTION_COMPILER) \
+ $(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
+ $(INTROSPECTION_COMPILER) \
--includedir=$(srcdir)/gst-libs \
--includedir=$(builddir)/gst-libs \
- --includedir=`$(PKG_CONFIG) --variable=girdir gstreamer-1.0` \
+ --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-1.0` \
$(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
diff --git a/gst-libs/gst/player/Makefile.in b/gst-libs/gst/player/Makefile.in
index 99e4e37..544c785 100644
--- a/gst-libs/gst/player/Makefile.in
+++ b/gst-libs/gst/player/Makefile.in
@@ -118,16 +118,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(libgstplayer_HEADERS) \
@@ -336,7 +335,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -358,7 +356,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -380,9 +377,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -544,6 +538,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -557,8 +552,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -645,8 +638,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -698,6 +689,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -718,6 +710,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -755,7 +749,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -1298,7 +1291,8 @@
@HAVE_INTROSPECTION_TRUE@GstPlayer-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstplayer-@GST_API_VERSION@.la
-@HAVE_INTROSPECTION_TRUE@ $(AM_V_GEN)$(INTROSPECTION_SCANNER) -v --namespace GstPlayer \
+@HAVE_INTROSPECTION_TRUE@ $(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
+@HAVE_INTROSPECTION_TRUE@ $(INTROSPECTION_SCANNER) -v --namespace GstPlayer \
@HAVE_INTROSPECTION_TRUE@ --nsversion=@GST_API_VERSION@ \
@HAVE_INTROSPECTION_TRUE@ --warn-all \
@HAVE_INTROSPECTION_TRUE@ --strip-prefix=Gst \
@@ -1306,7 +1300,7 @@
@HAVE_INTROSPECTION_TRUE@ -I$(top_builddir)/gst-libs \
@HAVE_INTROSPECTION_TRUE@ --c-include "gst/player/player.h" \
@HAVE_INTROSPECTION_TRUE@ --add-include-path=$(top_builddir)/gst-libs \
-@HAVE_INTROSPECTION_TRUE@ --add-include-path=`$(PKG_CONFIG) --variable=girdir gstreamer-1.0` \
+@HAVE_INTROSPECTION_TRUE@ --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-1.0` \
@HAVE_INTROSPECTION_TRUE@ --library-path=$(top_builddir)/gst-libs \
@HAVE_INTROSPECTION_TRUE@ --library=libgstplayer-@GST_API_VERSION@.la \
@HAVE_INTROSPECTION_TRUE@ --include=Gst-@GST_API_VERSION@ \
@@ -1317,16 +1311,17 @@
@HAVE_INTROSPECTION_TRUE@ --pkg gstreamer-tag-@GST_API_VERSION@ \
@HAVE_INTROSPECTION_TRUE@ --pkg gstreamer-pbutils-@GST_API_VERSION@ \
@HAVE_INTROSPECTION_TRUE@ --pkg-export gstreamer-player-@GST_API_VERSION@ \
-@HAVE_INTROSPECTION_TRUE@ --add-init-section="gst_init(NULL,NULL);" \
+@HAVE_INTROSPECTION_TRUE@ --add-init-section="$(INTROSPECTION_INIT)" \
@HAVE_INTROSPECTION_TRUE@ --output $@ \
@HAVE_INTROSPECTION_TRUE@ $(gir_headers) \
@HAVE_INTROSPECTION_TRUE@ $(gir_sources)
@HAVE_INTROSPECTION_TRUE@%.typelib: %.gir $(INTROSPECTION_COMPILER)
-@HAVE_INTROSPECTION_TRUE@ $(AM_V_GEN)$(INTROSPECTION_COMPILER) \
+@HAVE_INTROSPECTION_TRUE@ $(AM_V_GEN)PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" \
+@HAVE_INTROSPECTION_TRUE@ $(INTROSPECTION_COMPILER) \
@HAVE_INTROSPECTION_TRUE@ --includedir=$(srcdir)/gst-libs \
@HAVE_INTROSPECTION_TRUE@ --includedir=$(builddir)/gst-libs \
-@HAVE_INTROSPECTION_TRUE@ --includedir=`$(PKG_CONFIG) --variable=girdir gstreamer-1.0` \
+@HAVE_INTROSPECTION_TRUE@ --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-1.0` \
@HAVE_INTROSPECTION_TRUE@ $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/gst-libs/gst/player/gstplayer.c b/gst-libs/gst/player/gstplayer.c
index 94892b7..d50080e 100644
--- a/gst-libs/gst/player/gstplayer.c
+++ b/gst-libs/gst/player/gstplayer.c
@@ -2491,17 +2491,6 @@
/**
* gst_player_new:
- *
- * Returns: a new #GstPlayer instance
- */
-GstPlayer *
-gst_player_new (void)
-{
- return gst_player_new_full (NULL, NULL);
-}
-
-/**
- * gst_player_new_full:
* @video_renderer: (transfer full) (allow-none): GstPlayerVideoRenderer to use
* @signal_dispatcher: (transfer full) (allow-none): GstPlayerSignalDispatcher to use
*
@@ -2516,7 +2505,7 @@
* Returns: a new #GstPlayer instance
*/
GstPlayer *
-gst_player_new_full (GstPlayerVideoRenderer * video_renderer,
+gst_player_new (GstPlayerVideoRenderer * video_renderer,
GstPlayerSignalDispatcher * signal_dispatcher)
{
static GOnce once = G_ONCE_INIT;
@@ -2557,7 +2546,8 @@
if (self->current_state < GST_STATE_PAUSED)
change_state (self, GST_PLAYER_STATE_BUFFERING);
- if (self->current_state >= GST_STATE_PAUSED && !self->is_eos) {
+ if (self->current_state >= GST_STATE_PAUSED && !self->is_eos
+ && self->buffering >= 100) {
state_ret = gst_element_set_state (self->playbin, GST_STATE_PLAYING);
} else {
state_ret = gst_element_set_state (self->playbin, GST_STATE_PAUSED);
diff --git a/gst-libs/gst/player/gstplayer.h b/gst-libs/gst/player/gstplayer.h
index 29287bd..3391b0f 100644
--- a/gst-libs/gst/player/gstplayer.h
+++ b/gst-libs/gst/player/gstplayer.h
@@ -97,8 +97,7 @@
GType gst_player_get_type (void);
-GstPlayer * gst_player_new (void);
-GstPlayer * gst_player_new_full (GstPlayerVideoRenderer * video_renderer, GstPlayerSignalDispatcher * signal_dispatcher);
+GstPlayer * gst_player_new (GstPlayerVideoRenderer * video_renderer, GstPlayerSignalDispatcher * signal_dispatcher);
void gst_player_play (GstPlayer * player);
void gst_player_pause (GstPlayer * player);
diff --git a/gst-libs/gst/uridownloader/Makefile.in b/gst-libs/gst/uridownloader/Makefile.in
index 689d555..c71fae9 100644
--- a/gst-libs/gst/uridownloader/Makefile.in
+++ b/gst-libs/gst/uridownloader/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am \
@@ -311,7 +310,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -333,7 +331,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -355,9 +352,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -519,6 +513,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -532,8 +527,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -620,8 +613,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -673,6 +664,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -693,6 +685,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -730,7 +724,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst-libs/gst/video/Makefile.am b/gst-libs/gst/video/Makefile.am
index 5108281..6cdad6f 100644
--- a/gst-libs/gst/video/Makefile.am
+++ b/gst-libs/gst/video/Makefile.am
@@ -23,4 +23,5 @@
libgstbadvideo_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
-noinst_HEADERS = gstvideoaggregatorpad.h gstvideoaggregator.h
+libgstvideo_@GST_API_VERSION@includedir = $(includedir)/gstreamer-@GST_API_VERSION@/gst/video
+libgstvideo_@GST_API_VERSION@include_HEADERS = gstvideoaggregatorpad.h gstvideoaggregator.h
diff --git a/gst-libs/gst/video/Makefile.in b/gst-libs/gst/video/Makefile.in
index aeaf50b..df117f4 100644
--- a/gst-libs/gst/video/Makefile.in
+++ b/gst-libs/gst/video/Makefile.in
@@ -116,19 +116,19 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
+DIST_COMMON = $(srcdir)/Makefile.am \
+ $(libgstvideo_@GST_API_VERSION@include_HEADERS) \
$(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
@@ -161,7 +161,8 @@
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
-am__installdirs = "$(DESTDIR)$(libdir)"
+am__installdirs = "$(DESTDIR)$(libdir)" \
+ "$(DESTDIR)$(libgstvideo_@GST_API_VERSION@includedir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
am__DEPENDENCIES_1 =
libgstbadvideo_@GST_API_VERSION@_la_DEPENDENCIES = $(top_builddir)/gst-libs/gst/base/libgstbadbase-$(GST_API_VERSION).la \
@@ -225,26 +226,8 @@
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
-HEADERS = $(noinst_HEADERS)
+HEADERS = $(libgstvideo_@GST_API_VERSION@include_HEADERS)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates. Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
- BEGIN { nonempty = 0; } \
- { items[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique. This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
- list='$(am__tagged_files)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
@@ -331,7 +314,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -353,7 +335,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -375,9 +356,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -539,6 +517,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -552,8 +531,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -640,8 +617,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -693,6 +668,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -713,6 +689,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -750,7 +728,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -812,7 +789,8 @@
$(GST_BASE_LIBS) $(GST_LIBS) $(ORC_LIBS) $(LIBM)
libgstbadvideo_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
-noinst_HEADERS = gstvideoaggregatorpad.h gstvideoaggregator.h
+libgstvideo_@GST_API_VERSION@includedir = $(includedir)/gstreamer-@GST_API_VERSION@/gst/video
+libgstvideo_@GST_API_VERSION@include_HEADERS = gstvideoaggregatorpad.h gstvideoaggregator.h
all: all-am
.SUFFIXES:
@@ -929,58 +907,33 @@
clean-libtool:
-rm -rf .libs _libs
+install-libgstvideo_@GST_API_VERSION@includeHEADERS: $(libgstvideo_@GST_API_VERSION@include_HEADERS)
+ @$(NORMAL_INSTALL)
+ @list='$(libgstvideo_@GST_API_VERSION@include_HEADERS)'; test -n "$(libgstvideo_@GST_API_VERSION@includedir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(libgstvideo_@GST_API_VERSION@includedir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(libgstvideo_@GST_API_VERSION@includedir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(libgstvideo_@GST_API_VERSION@includedir)'"; \
+ $(INSTALL_HEADER) $$files "$(DESTDIR)$(libgstvideo_@GST_API_VERSION@includedir)" || exit $$?; \
+ done
-ID: $(am__tagged_files)
- $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
-TAGS: tags
+uninstall-libgstvideo_@GST_API_VERSION@includeHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(libgstvideo_@GST_API_VERSION@include_HEADERS)'; test -n "$(libgstvideo_@GST_API_VERSION@includedir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(libgstvideo_@GST_API_VERSION@includedir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- set x; \
- here=`pwd`; \
- $(am__define_uniq_tagged_files); \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: ctags-am
+ctags CTAGS:
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- $(am__define_uniq_tagged_files); \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
+cscope cscopelist:
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
-
-cscopelist-am: $(am__tagged_files)
- list='$(am__tagged_files)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
@@ -1016,7 +969,7 @@
check: check-am
all-am: Makefile $(LTLIBRARIES) $(HEADERS)
installdirs:
- for dir in "$(DESTDIR)$(libdir)"; do \
+ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(libgstvideo_@GST_API_VERSION@includedir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
@@ -1058,8 +1011,7 @@
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
+distclean-am: clean-am distclean-compile distclean-generic
dvi: dvi-am
@@ -1073,7 +1025,7 @@
info-am:
-install-data-am:
+install-data-am: install-libgstvideo_@GST_API_VERSION@includeHEADERS
install-dvi: install-dvi-am
@@ -1119,23 +1071,27 @@
ps-am:
-uninstall-am: uninstall-libLTLIBRARIES
+uninstall-am: uninstall-libLTLIBRARIES \
+ uninstall-libgstvideo_@GST_API_VERSION@includeHEADERS
.MAKE: install-am install-strip
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
- clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \
- ctags-am distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-libLTLIBRARIES install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES
+.PHONY: all all-am check check-am clean clean-generic \
+ clean-libLTLIBRARIES clean-libtool cscopelist-am ctags-am \
+ distclean distclean-compile distclean-generic \
+ distclean-libtool distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am \
+ install-libLTLIBRARIES \
+ install-libgstvideo_@GST_API_VERSION@includeHEADERS \
+ install-man install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
+ uninstall-am uninstall-libLTLIBRARIES \
+ uninstall-libgstvideo_@GST_API_VERSION@includeHEADERS
.PRECIOUS: Makefile
diff --git a/gst-libs/gst/video/gstvideoaggregator.c b/gst-libs/gst/video/gstvideoaggregator.c
index d3a9ca9..2b0c876 100644
--- a/gst-libs/gst/video/gstvideoaggregator.c
+++ b/gst-libs/gst/video/gstvideoaggregator.c
@@ -532,86 +532,6 @@
g_hash_table_unref (formats_table);
}
-/* WITH GST_VIDEO_AGGREGATOR_LOCK TAKEN
- * NOTE: After calling that method you **have to** call
- * gst_videoaggregator_update_src_caps (without releasing
- * the GST_VIDEO_AGGREGATOR_LOCK in between)
- */
-static gboolean
-gst_videoaggregator_update_converters (GstVideoAggregator * vagg)
-{
- GList *tmp;
- GstVideoFormat best_format;
- GstVideoInfo best_info;
- gboolean at_least_one_alpha = FALSE;
- GstCaps *downstream_caps;
- GstAggregator *agg = GST_AGGREGATOR (vagg);
-
- GstVideoAggregatorClass *vagg_class = GST_VIDEO_AGGREGATOR_GET_CLASS (vagg);
- GstVideoAggregatorPadClass *vaggpad_class = g_type_class_peek
- (GST_AGGREGATOR_GET_CLASS (vagg)->sinkpads_type);
-
- best_format = GST_VIDEO_FORMAT_UNKNOWN;
- gst_video_info_init (&best_info);
-
- downstream_caps = gst_pad_get_allowed_caps (agg->srcpad);
-
- if (!downstream_caps || gst_caps_is_empty (downstream_caps)) {
- GST_INFO_OBJECT (vagg, "No downstream caps found %"
- GST_PTR_FORMAT, downstream_caps);
- if (downstream_caps)
- gst_caps_unref (downstream_caps);
- return FALSE;
- }
-
-
- if (vagg_class->find_best_format) {
- vagg_class->find_best_format (vagg, downstream_caps, &best_info,
- &at_least_one_alpha);
-
- best_format = GST_VIDEO_INFO_FORMAT (&best_info);
- }
-
- if (best_format == GST_VIDEO_FORMAT_UNKNOWN) {
- downstream_caps = gst_caps_fixate (downstream_caps);
- gst_video_info_from_caps (&best_info, downstream_caps);
- best_format = GST_VIDEO_INFO_FORMAT (&best_info);
- }
-
- gst_caps_unref (downstream_caps);
-
- if (at_least_one_alpha
- && !(best_info.finfo->flags & GST_VIDEO_FORMAT_FLAG_ALPHA)) {
- GST_ELEMENT_ERROR (vagg, CORE, NEGOTIATION,
- ("At least one of the input pads contains alpha, but downstream can't support alpha."),
- ("Either convert your inputs to not contain alpha or add a videoconvert after the aggregator"));
- return FALSE;
- }
-
- vagg->info = best_info;
-
- GST_DEBUG_OBJECT (vagg,
- "The output format will now be : %d with chroma : %s",
- best_format, gst_video_chroma_to_string (best_info.chroma_site));
-
- if (vaggpad_class->set_info) {
- GST_OBJECT_LOCK (vagg);
- /* Then browse the sinks once more, setting or unsetting conversion if needed */
- for (tmp = GST_ELEMENT (vagg)->sinkpads; tmp; tmp = tmp->next) {
- GstVideoAggregatorPad *pad = GST_VIDEO_AGGREGATOR_PAD (tmp->data);
-
- if (!vaggpad_class->set_info (pad, vagg, &pad->info, &best_info)) {
- GST_OBJECT_UNLOCK (vagg);
-
- return FALSE;
- }
- }
- GST_OBJECT_UNLOCK (vagg);
- }
-
- return TRUE;
-}
-
/* WITH GST_VIDEO_AGGREGATOR_LOCK TAKEN */
static gboolean
gst_videoaggregator_src_setcaps (GstVideoAggregator * vagg, GstCaps * caps)
@@ -662,25 +582,22 @@
return ret;
}
-/* WITH GST_VIDEO_AGGREGATOR_LOCK TAKEN */
-static gboolean
-gst_videoaggregator_update_src_caps (GstVideoAggregator * vagg)
+static GstCaps *
+gst_videoaggregator_default_fixate_caps (GstVideoAggregator * vagg,
+ GstCaps * caps)
{
- GList *l;
gint best_width = -1, best_height = -1;
- gdouble best_fps = -1, cur_fps;
gint best_fps_n = -1, best_fps_d = -1;
- gboolean ret = TRUE;
- GstElementClass *klass = GST_ELEMENT_GET_CLASS (vagg);
- GstVideoAggregatorClass *vagg_klass = (GstVideoAggregatorClass *) klass;
- GstAggregator *agg = GST_AGGREGATOR (vagg);
+ gdouble best_fps = -1.;
+ GstStructure *s;
+ GList *l;
GST_OBJECT_LOCK (vagg);
for (l = GST_ELEMENT (vagg)->sinkpads; l; l = l->next) {
GstVideoAggregatorPad *mpad = l->data;
- gint this_width, this_height;
gint fps_n, fps_d;
gint width, height;
+ gdouble cur_fps;
fps_n = GST_VIDEO_INFO_FPS_N (&mpad->info);
fps_d = GST_VIDEO_INFO_FPS_D (&mpad->info);
@@ -690,13 +607,10 @@
if (width == 0 || height == 0)
continue;
- this_width = width;
- this_height = height;
-
- if (best_width < this_width)
- best_width = this_width;
- if (best_height < this_height)
- best_height = this_height;
+ if (best_width < width)
+ best_width = width;
+ if (best_height < height)
+ best_height = height;
if (fps_d == 0)
cur_fps = 0.0;
@@ -717,88 +631,142 @@
best_fps = 25.0;
}
- if (best_width > 0 && best_height > 0 && best_fps > 0) {
- GstCaps *caps, *peercaps, *info_caps;
- GstStructure *s;
- GstVideoInfo info;
- int i;
+ s = gst_caps_get_structure (caps, 0);
+ gst_structure_fixate_field_nearest_int (s, "width", best_width);
+ gst_structure_fixate_field_nearest_int (s, "height", best_height);
+ gst_structure_fixate_field_nearest_fraction (s, "framerate", best_fps_n,
+ best_fps_d);
+ if (gst_structure_has_field (s, "pixel-aspect-ratio"))
+ gst_structure_fixate_field_nearest_fraction (s, "pixel-aspect-ratio", 1, 1);
+ caps = gst_caps_fixate (caps);
- /* Initialize the video info with our target format and
- * the best width and height and framerate. Then copy over
- * all other fields as we negotiated them before
- */
- gst_video_info_set_format (&info, GST_VIDEO_INFO_FORMAT (&vagg->info),
- best_width, best_height);
- info.fps_n = best_fps_n;
- info.fps_d = best_fps_d;
- info.chroma_site = vagg->info.chroma_site;
- info.par_n = vagg->info.par_n;
- info.par_d = vagg->info.par_d;
- info.colorimetry = vagg->info.colorimetry;
- info.flags = vagg->info.flags;
- info.interlace_mode = vagg->info.interlace_mode;
+ return caps;
+}
- info_caps = gst_video_info_to_caps (&info);
+static GstCaps *
+gst_videoaggregator_default_update_caps (GstVideoAggregator * vagg,
+ GstCaps * caps, GstCaps * filter)
+{
+ GstCaps *ret;
- if (vagg_klass->update_caps) {
- if (!(caps = vagg_klass->update_caps (vagg, info_caps))) {
- gst_caps_unref (info_caps);
- ret = FALSE;
- goto done;
- }
- gst_caps_unref (info_caps);
- } else {
- caps = info_caps;
+ if (filter) {
+ ret = gst_caps_intersect (caps, filter);
+ } else {
+ ret = gst_caps_ref (caps);
+ }
+
+ return ret;
+}
+
+/* WITH GST_VIDEO_AGGREGATOR_LOCK TAKEN */
+static gboolean
+gst_videoaggregator_update_src_caps (GstVideoAggregator * vagg)
+{
+ GstVideoAggregatorClass *vagg_klass = GST_VIDEO_AGGREGATOR_GET_CLASS (vagg);
+ GstVideoAggregatorPadClass *vaggpad_klass = g_type_class_peek
+ (GST_AGGREGATOR_GET_CLASS (vagg)->sinkpads_type);
+ GstAggregator *agg = GST_AGGREGATOR (vagg);
+ gboolean ret = TRUE, at_least_one_pad_configured = FALSE;
+ GstVideoFormat best_format;
+ GstVideoInfo best_info;
+ gboolean at_least_one_alpha = FALSE;
+ GstCaps *downstream_caps;
+ GList *l;
+
+ best_format = GST_VIDEO_FORMAT_UNKNOWN;
+ gst_video_info_init (&best_info);
+
+ downstream_caps = gst_pad_get_allowed_caps (agg->srcpad);
+
+ if (!downstream_caps || gst_caps_is_empty (downstream_caps)) {
+ GST_INFO_OBJECT (vagg, "No downstream caps found %"
+ GST_PTR_FORMAT, downstream_caps);
+ if (downstream_caps)
+ gst_caps_unref (downstream_caps);
+ return FALSE;
+ }
+
+ if (vagg_klass->find_best_format) {
+ vagg_klass->find_best_format (vagg, downstream_caps, &best_info,
+ &at_least_one_alpha);
+
+ best_format = GST_VIDEO_INFO_FORMAT (&best_info);
+ }
+
+ if (best_format == GST_VIDEO_FORMAT_UNKNOWN) {
+ GstCaps *tmp = gst_caps_fixate (gst_caps_ref (downstream_caps));
+ gst_video_info_from_caps (&best_info, tmp);
+ best_format = GST_VIDEO_INFO_FORMAT (&best_info);
+ gst_caps_unref (tmp);
+ }
+
+ if (at_least_one_alpha
+ && !(best_info.finfo->flags & GST_VIDEO_FORMAT_FLAG_ALPHA)) {
+ GST_ELEMENT_ERROR (vagg, CORE, NEGOTIATION,
+ ("At least one of the input pads contains alpha, but downstream can't support alpha."),
+ ("Either convert your inputs to not contain alpha or add a videoconvert after the aggregator"));
+ return FALSE;
+ }
+
+ GST_DEBUG_OBJECT (vagg,
+ "The output format will now be : %d with chroma : %s",
+ best_format, gst_video_chroma_to_string (best_info.chroma_site));
+
+ GST_OBJECT_LOCK (vagg);
+ for (l = GST_ELEMENT (vagg)->sinkpads; l; l = l->next) {
+ GstVideoAggregatorPad *mpad = l->data;
+
+ if (GST_VIDEO_INFO_WIDTH (&mpad->info) == 0
+ || GST_VIDEO_INFO_HEIGHT (&mpad->info) == 0)
+ continue;
+
+ at_least_one_pad_configured = TRUE;
+ break;
+ }
+ GST_OBJECT_UNLOCK (vagg);
+
+ if (at_least_one_pad_configured) {
+ GstCaps *caps, *peercaps;
+
+ peercaps = gst_pad_peer_query_caps (agg->srcpad, NULL);
+
+ g_assert (vagg_klass->update_caps);
+ if (!(caps = vagg_klass->update_caps (vagg, downstream_caps, peercaps))) {
+ GST_WARNING_OBJECT (vagg, "Subclass failed to update provided caps");
+ gst_caps_unref (downstream_caps);
+ if (peercaps)
+ gst_caps_unref (peercaps);
+ ret = FALSE;
+ goto done;
}
-
- /* If the sub-class allows it, allow size/framerate changes */
- if (!vagg_klass->preserve_update_caps_result) {
- s = gst_caps_get_structure (caps, 0);
- gst_structure_get (s, "width", G_TYPE_INT, &best_width, "height",
- G_TYPE_INT, &best_height, NULL);
-
- for (i = 0; i < gst_caps_get_size (caps); i++) {
- s = gst_caps_get_structure (caps, i);
- gst_structure_set (s, "width", GST_TYPE_INT_RANGE, 1, G_MAXINT,
- "height", GST_TYPE_INT_RANGE, 1, G_MAXINT, "framerate",
- GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1, NULL);
- }
- }
-
- peercaps = gst_pad_peer_query_caps (agg->srcpad, caps);
- if (peercaps) {
- GstCaps *tmp;
-
- tmp = gst_caps_intersect (caps, peercaps);
- GST_DEBUG_OBJECT (vagg, "intersecting %" GST_PTR_FORMAT
- " with peer caps %" GST_PTR_FORMAT " result %" GST_PTR_FORMAT, caps,
- peercaps, tmp);
-
- gst_caps_unref (caps);
+ gst_caps_unref (downstream_caps);
+ if (peercaps)
gst_caps_unref (peercaps);
- caps = tmp; /* pass ownership */
- if (gst_caps_is_empty (caps)) {
- GST_DEBUG_OBJECT (vagg, "empty caps");
+
+ if (!gst_caps_is_fixed (caps)) {
+ g_assert (vagg_klass->fixate_caps);
+
+ caps = gst_caps_make_writable (caps);
+ if (!(caps = vagg_klass->fixate_caps (vagg, caps))) {
+ GST_WARNING_OBJECT (vagg, "Subclass failed to fixate provided caps");
ret = FALSE;
- gst_caps_unref (caps);
goto done;
}
+ }
- caps = gst_caps_truncate (caps);
- s = gst_caps_get_structure (caps, 0);
- gst_structure_fixate_field_nearest_int (s, "width", best_width);
- gst_structure_fixate_field_nearest_int (s, "height", best_height);
- gst_structure_fixate_field_nearest_fraction (s, "framerate", best_fps_n,
- best_fps_d);
- gst_structure_fixate_field_nearest_fraction (s, "pixel-aspect-ratio", 1,
- 1);
+ gst_video_info_from_caps (&vagg->info, caps);
- /* fixate the the rest of the fields */
- caps = gst_caps_fixate (caps);
+ if (vaggpad_klass->set_info) {
+ /* Then browse the sinks once more, setting or unsetting conversion if needed */
+ for (l = GST_ELEMENT (vagg)->sinkpads; l; l = l->next) {
+ GstVideoAggregatorPad *pad = GST_VIDEO_AGGREGATOR_PAD (l->data);
- gst_structure_get_int (s, "width", &info.width);
- gst_structure_get_int (s, "height", &info.height);
- gst_structure_get_fraction (s, "framerate", &info.fps_n, &info.fps_d);
+ if (!vaggpad_klass->set_info (pad, vagg, &pad->info, &vagg->info)) {
+ GST_OBJECT_UNLOCK (vagg);
+
+ return FALSE;
+ }
+ }
}
if (gst_videoaggregator_src_setcaps (vagg, caps)) {
@@ -1414,10 +1382,7 @@
|| gst_pad_check_reconfigure (GST_AGGREGATOR_SRC_PAD (vagg))) {
gboolean ret;
- ret = gst_videoaggregator_update_converters (vagg);
- if (ret)
- ret = gst_videoaggregator_update_src_caps (vagg);
-
+ ret = gst_videoaggregator_update_src_caps (vagg);
if (!ret) {
if (timeout && gst_pad_needs_reconfigure (GST_AGGREGATOR_SRC_PAD (vagg))) {
guint64 frame_duration;
@@ -2099,6 +2064,8 @@
klass->find_best_format = gst_videoaggreagator_find_best_format;
klass->get_output_buffer = gst_videoaggregator_get_output_buffer;
+ klass->update_caps = gst_videoaggregator_default_update_caps;
+ klass->fixate_caps = gst_videoaggregator_default_fixate_caps;
/* Register the pad class */
g_type_class_ref (GST_TYPE_VIDEO_AGGREGATOR_PAD);
diff --git a/gst-libs/gst/video/gstvideoaggregator.h b/gst-libs/gst/video/gstvideoaggregator.h
index f95d0d2..86df0b6 100644
--- a/gst-libs/gst/video/gstvideoaggregator.h
+++ b/gst-libs/gst/video/gstvideoaggregator.h
@@ -73,6 +73,9 @@
* @update_caps: Optional.
* Lets subclasses update the #GstCaps representing
* the src pad caps before usage. Return %NULL to indicate failure.
+ * @fixate_caps: Fixate and return the src pad caps provided. The function takes
+ * ownership of @caps and returns a fixated version of
+ * @caps. @caps is not guaranteed to be writable.
* @aggregate_frames: Lets subclasses aggregate frames that are ready. Subclasses
* should iterate the GstElement.sinkpads and use the already
* mapped #GstVideoFrame from GstVideoAggregatorPad.aggregated_frame
@@ -86,9 +89,6 @@
* Notifies subclasses what caps format has been negotiated
* @find_best_format: Optional.
* Lets subclasses decide of the best common format to use.
- * @preserve_update_caps_result: Sub-classes should set this to true if the return result
- * of the update_caps() method should not be further modified
- * by GstVideoAggregator by removing fields.
**/
struct _GstVideoAggregatorClass
{
@@ -97,6 +97,9 @@
/*< public >*/
GstCaps * (*update_caps) (GstVideoAggregator * videoaggregator,
+ GstCaps * caps,
+ GstCaps * filter_caps);
+ GstCaps * (*fixate_caps) (GstVideoAggregator * videoaggregator,
GstCaps * caps);
GstFlowReturn (*aggregate_frames) (GstVideoAggregator * videoaggregator,
GstBuffer * outbuffer);
@@ -109,8 +112,6 @@
GstVideoInfo * best_info,
gboolean * at_least_one_alpha);
- gboolean preserve_update_caps_result;
-
GstCaps *sink_non_alpha_caps;
/* < private > */
diff --git a/gst-libs/gst/wayland/Makefile.in b/gst-libs/gst/wayland/Makefile.in
index 9c4475a..fd0c39e 100644
--- a/gst-libs/gst/wayland/Makefile.in
+++ b/gst-libs/gst/wayland/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -325,7 +324,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +345,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +366,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +527,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +541,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +627,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +678,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +699,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +738,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst-plugins-bad.doap b/gst-plugins-bad.doap
index 58380e8..0c208af 100644
--- a/gst-plugins-bad.doap
+++ b/gst-plugins-bad.doap
@@ -35,6 +35,16 @@
<release>
<Version>
+ <revision>1.7.2</revision>
+ <branch>master</branch>
+ <name></name>
+ <created>2016-02-19</created>
+ <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.7.2.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.7.1</revision>
<branch>master</branch>
<name></name>
diff --git a/gst-plugins-bad.spec b/gst-plugins-bad.spec
index 6061164..b077dd0 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.7.1
+Version: 1.7.2
Release: 1.gst
# The freeze and nfs plugins are LGPLv2 (only)
License: LGPLv2+ and LGPLv2
@@ -223,7 +223,6 @@
%{_libdir}/gstreamer-%{majorminor}/libgstfreeverb.so
%{_libdir}/gstreamer-%{majorminor}/libgstivtc.so
%{_libdir}/gstreamer-%{majorminor}/libgstmidi.so
-%{_libdir}/gstreamer-%{majorminor}/libgstmpg123.so
%{_libdir}/gstreamer-%{majorminor}/libgstrfbsrc.so
%{_libdir}/gstreamer-%{majorminor}/libgstsmoothstreaming.so
%{_libdir}/gstreamer-%{majorminor}/libgstvideofiltersbad.so
diff --git a/gst-plugins-bad.spec.in b/gst-plugins-bad.spec.in
index 0e717bb..4fb17d7 100644
--- a/gst-plugins-bad.spec.in
+++ b/gst-plugins-bad.spec.in
@@ -223,7 +223,6 @@
%{_libdir}/gstreamer-%{majorminor}/libgstfreeverb.so
%{_libdir}/gstreamer-%{majorminor}/libgstivtc.so
%{_libdir}/gstreamer-%{majorminor}/libgstmidi.so
-%{_libdir}/gstreamer-%{majorminor}/libgstmpg123.so
%{_libdir}/gstreamer-%{majorminor}/libgstrfbsrc.so
%{_libdir}/gstreamer-%{majorminor}/libgstsmoothstreaming.so
%{_libdir}/gstreamer-%{majorminor}/libgstvideofiltersbad.so
diff --git a/gst/Makefile.in b/gst/Makefile.in
index 60e8521..46ae996 100644
--- a/gst/Makefile.in
+++ b/gst/Makefile.in
@@ -119,16 +119,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -302,7 +301,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -324,7 +322,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -346,9 +343,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -510,6 +504,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -523,8 +518,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -611,8 +604,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -664,6 +655,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -684,6 +676,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -721,7 +715,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/accurip/Makefile.in b/gst/accurip/Makefile.in
index 7d1716d..eb806a0 100644
--- a/gst/accurip/Makefile.in
+++ b/gst/accurip/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -323,7 +322,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -345,7 +343,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -367,9 +364,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -531,6 +525,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -544,8 +539,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -632,8 +625,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -685,6 +676,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -705,6 +697,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -742,7 +736,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/adpcmdec/Makefile.in b/gst/adpcmdec/Makefile.in
index 6a80510..9599849 100644
--- a/gst/adpcmdec/Makefile.in
+++ b/gst/adpcmdec/Makefile.in
@@ -115,16 +115,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -320,7 +319,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -342,7 +340,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -364,9 +361,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -528,6 +522,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -541,8 +536,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -629,8 +622,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -682,6 +673,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -702,6 +694,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -739,7 +733,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/adpcmenc/Makefile.in b/gst/adpcmenc/Makefile.in
index e2b24e5..60872cb 100644
--- a/gst/adpcmenc/Makefile.in
+++ b/gst/adpcmenc/Makefile.in
@@ -115,16 +115,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -320,7 +319,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -342,7 +340,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -364,9 +361,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -528,6 +522,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -541,8 +536,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -629,8 +622,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -682,6 +673,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -702,6 +694,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -739,7 +733,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/aiff/Makefile.in b/gst/aiff/Makefile.in
index 3e6e95c..a48bf26 100644
--- a/gst/aiff/Makefile.in
+++ b/gst/aiff/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/asfmux/Makefile.in b/gst/asfmux/Makefile.in
index dbc95c7..84cdcb9 100644
--- a/gst/asfmux/Makefile.in
+++ b/gst/asfmux/Makefile.in
@@ -118,16 +118,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -328,7 +327,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -350,7 +348,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -372,9 +369,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -536,6 +530,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -549,8 +544,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -637,8 +630,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -690,6 +681,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -710,6 +702,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -747,7 +741,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/audiofxbad/Makefile.in b/gst/audiofxbad/Makefile.in
index f6b89ee..028d8c9 100644
--- a/gst/audiofxbad/Makefile.in
+++ b/gst/audiofxbad/Makefile.in
@@ -115,16 +115,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -322,7 +321,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -344,7 +342,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -366,9 +363,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -530,6 +524,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -543,8 +538,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -631,8 +624,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -684,6 +675,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -704,6 +696,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -741,7 +735,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/audiomixer/Makefile.am b/gst/audiomixer/Makefile.am
index a126f90..9104c1b 100644
--- a/gst/audiomixer/Makefile.am
+++ b/gst/audiomixer/Makefile.am
@@ -4,7 +4,7 @@
include $(top_srcdir)/common/orc.mak
-libgstaudiomixer_la_SOURCES = gstaudiomixer.c gstaudioaggregator.c gstaudiointerleave.c
+libgstaudiomixer_la_SOURCES = gstaudiomixer.c gstaudiointerleave.c
nodist_libgstaudiomixer_la_SOURCES = $(ORC_NODIST_SOURCES)
libgstaudiomixer_la_CFLAGS = \
-I$(top_srcdir)/gst-libs \
@@ -14,9 +14,10 @@
libgstaudiomixer_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstaudiomixer_la_LIBADD = \
$(top_builddir)/gst-libs/gst/base/libgstbadbase-$(GST_API_VERSION).la \
+ $(top_builddir)/gst-libs/gst/audio/libgstbadaudio-$(GST_API_VERSION).la \
$(GST_PLUGINS_BASE_LIBS) -lgstaudio-@GST_API_VERSION@ \
$(GST_BASE_LIBS) $(GST_LIBS) $(ORC_LIBS)
libgstaudiomixer_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
-noinst_HEADERS = gstaudiomixer.h gstaudioaggregator.h gstaudiointerleave.h
+noinst_HEADERS = gstaudiomixer.h gstaudiointerleave.h
diff --git a/gst/audiomixer/Makefile.in b/gst/audiomixer/Makefile.in
index 3924cc4..389c4d2 100644
--- a/gst/audiomixer/Makefile.in
+++ b/gst/audiomixer/Makefile.in
@@ -138,16 +138,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -187,10 +186,10 @@
LTLIBRARIES = $(plugin_LTLIBRARIES)
am__DEPENDENCIES_1 =
libgstaudiomixer_la_DEPENDENCIES = $(top_builddir)/gst-libs/gst/base/libgstbadbase-$(GST_API_VERSION).la \
+ $(top_builddir)/gst-libs/gst/audio/libgstbadaudio-$(GST_API_VERSION).la \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
am_libgstaudiomixer_la_OBJECTS = libgstaudiomixer_la-gstaudiomixer.lo \
- libgstaudiomixer_la-gstaudioaggregator.lo \
libgstaudiomixer_la-gstaudiointerleave.lo
am__objects_1 = libgstaudiomixer_la-tmp-orc.lo
nodist_libgstaudiomixer_la_OBJECTS = $(am__objects_1)
@@ -353,7 +352,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -375,7 +373,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -397,9 +394,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -561,6 +555,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -574,8 +569,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -662,8 +655,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -715,6 +706,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -735,6 +727,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -772,7 +766,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -823,7 +816,7 @@
cp_v_gen = $(cp_v_gen_$(V))
cp_v_gen_ = $(cp_v_gen_$(AM_DEFAULT_VERBOSITY))
cp_v_gen_0 = @echo " CP $@";
-libgstaudiomixer_la_SOURCES = gstaudiomixer.c gstaudioaggregator.c gstaudiointerleave.c
+libgstaudiomixer_la_SOURCES = gstaudiomixer.c gstaudiointerleave.c
nodist_libgstaudiomixer_la_SOURCES = $(ORC_NODIST_SOURCES)
libgstaudiomixer_la_CFLAGS = \
-I$(top_srcdir)/gst-libs \
@@ -834,11 +827,12 @@
libgstaudiomixer_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstaudiomixer_la_LIBADD = \
$(top_builddir)/gst-libs/gst/base/libgstbadbase-$(GST_API_VERSION).la \
+ $(top_builddir)/gst-libs/gst/audio/libgstbadaudio-$(GST_API_VERSION).la \
$(GST_PLUGINS_BASE_LIBS) -lgstaudio-@GST_API_VERSION@ \
$(GST_BASE_LIBS) $(GST_LIBS) $(ORC_LIBS)
libgstaudiomixer_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
-noinst_HEADERS = gstaudiomixer.h gstaudioaggregator.h gstaudiointerleave.h
+noinst_HEADERS = gstaudiomixer.h gstaudiointerleave.h
all: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) all-am
@@ -919,7 +913,6 @@
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstaudiomixer_la-gstaudioaggregator.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstaudiomixer_la-gstaudiointerleave.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstaudiomixer_la-gstaudiomixer.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstaudiomixer_la-tmp-orc.Plo@am__quote@
@@ -955,13 +948,6 @@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstaudiomixer_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstaudiomixer_la_CFLAGS) $(CFLAGS) -c -o libgstaudiomixer_la-gstaudiomixer.lo `test -f 'gstaudiomixer.c' || echo '$(srcdir)/'`gstaudiomixer.c
-libgstaudiomixer_la-gstaudioaggregator.lo: gstaudioaggregator.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstaudiomixer_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstaudiomixer_la_CFLAGS) $(CFLAGS) -MT libgstaudiomixer_la-gstaudioaggregator.lo -MD -MP -MF $(DEPDIR)/libgstaudiomixer_la-gstaudioaggregator.Tpo -c -o libgstaudiomixer_la-gstaudioaggregator.lo `test -f 'gstaudioaggregator.c' || echo '$(srcdir)/'`gstaudioaggregator.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstaudiomixer_la-gstaudioaggregator.Tpo $(DEPDIR)/libgstaudiomixer_la-gstaudioaggregator.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstaudioaggregator.c' object='libgstaudiomixer_la-gstaudioaggregator.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 $(libgstaudiomixer_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstaudiomixer_la_CFLAGS) $(CFLAGS) -c -o libgstaudiomixer_la-gstaudioaggregator.lo `test -f 'gstaudioaggregator.c' || echo '$(srcdir)/'`gstaudioaggregator.c
-
libgstaudiomixer_la-gstaudiointerleave.lo: gstaudiointerleave.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstaudiomixer_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstaudiomixer_la_CFLAGS) $(CFLAGS) -MT libgstaudiomixer_la-gstaudiointerleave.lo -MD -MP -MF $(DEPDIR)/libgstaudiomixer_la-gstaudiointerleave.Tpo -c -o libgstaudiomixer_la-gstaudiointerleave.lo `test -f 'gstaudiointerleave.c' || echo '$(srcdir)/'`gstaudiointerleave.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstaudiomixer_la-gstaudiointerleave.Tpo $(DEPDIR)/libgstaudiomixer_la-gstaudiointerleave.Plo
diff --git a/gst/audiomixer/gstaudiointerleave.h b/gst/audiomixer/gstaudiointerleave.h
index 0473b45..6dd82d3 100644
--- a/gst/audiomixer/gstaudiointerleave.h
+++ b/gst/audiomixer/gstaudiointerleave.h
@@ -27,7 +27,7 @@
#include <gst/gst.h>
#include <gst/audio/audio.h>
-#include "gstaudioaggregator.h"
+#include <gst/audio/gstaudioaggregator.h>
G_BEGIN_DECLS
diff --git a/gst/audiomixer/gstaudiomixer.h b/gst/audiomixer/gstaudiomixer.h
index add6e32..0e4098d 100644
--- a/gst/audiomixer/gstaudiomixer.h
+++ b/gst/audiomixer/gstaudiomixer.h
@@ -26,7 +26,7 @@
#include <gst/gst.h>
#include <gst/audio/audio.h>
-#include "gstaudioaggregator.h"
+#include <gst/audio/gstaudioaggregator.h>
G_BEGIN_DECLS
diff --git a/gst/audiovisualizers/Makefile.in b/gst/audiovisualizers/Makefile.in
index 4bd907a..4bfdf9e 100644
--- a/gst/audiovisualizers/Makefile.in
+++ b/gst/audiovisualizers/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -331,7 +330,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -353,7 +351,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -375,9 +372,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -539,6 +533,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -552,8 +547,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -640,8 +633,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -693,6 +684,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -713,6 +705,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -750,7 +744,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/autoconvert/Makefile.in b/gst/autoconvert/Makefile.in
index 19d51b7..ea2e7fa 100644
--- a/gst/autoconvert/Makefile.in
+++ b/gst/autoconvert/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -325,7 +324,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +345,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +366,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +527,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +541,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +627,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +678,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +699,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +738,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/bayer/Makefile.in b/gst/bayer/Makefile.in
index bc33d82..97d52c7 100644
--- a/gst/bayer/Makefile.in
+++ b/gst/bayer/Makefile.in
@@ -137,16 +137,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -349,7 +348,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -371,7 +369,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -393,9 +390,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -557,6 +551,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -570,8 +565,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -658,8 +651,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -711,6 +702,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -731,6 +723,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -768,7 +762,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/camerabin2/Makefile.in b/gst/camerabin2/Makefile.in
index b897722..3cb034d 100644
--- a/gst/camerabin2/Makefile.in
+++ b/gst/camerabin2/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -331,7 +330,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -353,7 +351,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -375,9 +372,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -539,6 +533,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -552,8 +547,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -640,8 +633,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -693,6 +684,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -713,6 +705,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -750,7 +744,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/cdxaparse/Makefile.in b/gst/cdxaparse/Makefile.in
index 594ea86..c43ec8a 100644
--- a/gst/cdxaparse/Makefile.in
+++ b/gst/cdxaparse/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/coloreffects/Makefile.in b/gst/coloreffects/Makefile.in
index 0493f7f..f049d80 100644
--- a/gst/coloreffects/Makefile.in
+++ b/gst/coloreffects/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -325,7 +324,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +345,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +366,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +527,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +541,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +627,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +678,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +699,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +738,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/coloreffects/gstcoloreffects.h b/gst/coloreffects/gstcoloreffects.h
index 32f2230..50c9aa0 100644
--- a/gst/coloreffects/gstcoloreffects.h
+++ b/gst/coloreffects/gstcoloreffects.h
@@ -45,7 +45,7 @@
* @GST_CLUT_PRESET_SEPIA: Sepia toning filter
* @GST_CLUT_PRESET_XRAY: Invert colors and slightly shade to cyan
* @GST_CLUT_PRESET_XPRO: Cross Processing filter
- * @GST_CLUT_PRESET_YELLOWBLUE: Visual magnifier high-contrast color filter. Since: 0.10.24
+ * @GST_CLUT_PRESET_YELLOWBLUE: Visual magnifier high-contrast color filter
*
* The lookup table to use to convert input colors
*/
diff --git a/gst/compositor/Makefile.in b/gst/compositor/Makefile.in
index 5293106..286fbad 100644
--- a/gst/compositor/Makefile.in
+++ b/gst/compositor/Makefile.in
@@ -138,16 +138,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -354,7 +353,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -376,7 +374,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -398,9 +395,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -562,6 +556,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -575,8 +570,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -663,8 +656,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -716,6 +707,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -736,6 +728,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -773,7 +767,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/compositor/compositor.c b/gst/compositor/compositor.c
index d015d85..c5b1a9a 100644
--- a/gst/compositor/compositor.c
+++ b/gst/compositor/compositor.c
@@ -216,9 +216,9 @@
static void
_mixer_pad_get_output_size (GstCompositor * comp,
- GstCompositorPad * comp_pad, gint * width, gint * height)
+ GstCompositorPad * comp_pad, gint out_par_n, gint out_par_d, gint * width,
+ gint * height)
{
- GstVideoAggregator *vagg = GST_VIDEO_AGGREGATOR (comp);
GstVideoAggregatorPad *vagg_pad = GST_VIDEO_AGGREGATOR_PAD (comp_pad);
gint pad_width, pad_height;
guint dar_n, dar_d;
@@ -241,13 +241,10 @@
gst_video_calculate_display_ratio (&dar_n, &dar_d, pad_width, pad_height,
GST_VIDEO_INFO_PAR_N (&vagg_pad->info),
- GST_VIDEO_INFO_PAR_D (&vagg_pad->info),
- GST_VIDEO_INFO_PAR_N (&vagg->info), GST_VIDEO_INFO_PAR_D (&vagg->info)
- );
+ GST_VIDEO_INFO_PAR_D (&vagg_pad->info), out_par_n, out_par_d);
GST_LOG_OBJECT (comp_pad, "scaling %ux%u by %u/%u (%u/%u / %u/%u)", pad_width,
pad_height, dar_n, dar_d, GST_VIDEO_INFO_PAR_N (&vagg_pad->info),
- GST_VIDEO_INFO_PAR_D (&vagg_pad->info),
- GST_VIDEO_INFO_PAR_N (&vagg->info), GST_VIDEO_INFO_PAR_D (&vagg->info));
+ GST_VIDEO_INFO_PAR_D (&vagg_pad->info), out_par_n, out_par_d);
if (pad_height % dar_n == 0) {
pad_width = gst_util_uint64_scale_int (pad_height, dar_n, dar_d);
@@ -292,7 +289,8 @@
gst_video_colorimetry_to_string (&(wanted_info->colorimetry));
best_chroma = gst_video_chroma_to_string (wanted_info->chroma_site);
- _mixer_pad_get_output_size (comp, cpad, &width, &height);
+ _mixer_pad_get_output_size (comp, cpad, GST_VIDEO_INFO_PAR_N (&vagg->info),
+ GST_VIDEO_INFO_PAR_D (&vagg->info), &width, &height);
if (GST_VIDEO_INFO_FORMAT (wanted_info) !=
GST_VIDEO_INFO_FORMAT (current_info)
@@ -310,8 +308,8 @@
width, height);
tmp_info.chroma_site = wanted_info->chroma_site;
tmp_info.colorimetry = wanted_info->colorimetry;
- tmp_info.par_n = vagg->info.par_n;
- tmp_info.par_d = vagg->info.par_d;
+ tmp_info.par_n = wanted_info->par_n;
+ tmp_info.par_d = wanted_info->par_d;
tmp_info.fps_n = current_info->fps_n;
tmp_info.fps_d = current_info->fps_d;
tmp_info.flags = current_info->flags;
@@ -403,7 +401,8 @@
* width/height. See ->set_info()
* */
- _mixer_pad_get_output_size (comp, cpad, &width, &height);
+ _mixer_pad_get_output_size (comp, cpad, GST_VIDEO_INFO_PAR_N (&vagg->info),
+ GST_VIDEO_INFO_PAR_D (&vagg->info), &width, &height);
/* The only thing that can change here is the width
* and height, otherwise set_info would've been called */
@@ -498,7 +497,8 @@
GstCompositorPad *cpad2 = GST_COMPOSITOR_PAD (pad2);
gint pad2_width, pad2_height;
- _mixer_pad_get_output_size (comp, cpad2, &pad2_width, &pad2_height);
+ _mixer_pad_get_output_size (comp, cpad2, GST_VIDEO_INFO_PAR_N (&vagg->info),
+ GST_VIDEO_INFO_PAR_D (&vagg->info), &pad2_width, &pad2_height);
/* We don't need to clamp the coords of the second rectangle */
frame2_rect.x = cpad2->xpos;
@@ -883,17 +883,26 @@
}
static GstCaps *
-_update_caps (GstVideoAggregator * vagg, GstCaps * caps)
+_fixate_caps (GstVideoAggregator * vagg, GstCaps * caps)
{
GList *l;
gint best_width = -1, best_height = -1;
- GstVideoInfo info;
+ gint best_fps_n = -1, best_fps_d = -1;
+ gint par_n, par_d;
+ gdouble best_fps = 0.;
GstCaps *ret = NULL;
+ GstStructure *s;
- gst_video_info_from_caps (&info, caps);
+ ret = gst_caps_make_writable (caps);
- /* FIXME: this doesn't work for non 1/1 output par's as we don't have that
- * information available at this time */
+ /* we need this to calculate how large to make the output frame */
+ s = gst_caps_get_structure (ret, 0);
+ if (gst_structure_has_field (s, "pixel-aspect-ratio")) {
+ gst_structure_fixate_field_nearest_fraction (s, "pixel-aspect-ratio", 1, 1);
+ gst_structure_get_fraction (s, "pixel-aspect-ratio", &par_n, &par_d);
+ } else {
+ par_n = par_d = 1;
+ }
GST_OBJECT_LOCK (vagg);
for (l = GST_ELEMENT (vagg)->sinkpads; l; l = l->next) {
@@ -901,9 +910,13 @@
GstCompositorPad *compositor_pad = GST_COMPOSITOR_PAD (vaggpad);
gint this_width, this_height;
gint width, height;
+ gint fps_n, fps_d;
+ gdouble cur_fps;
- _mixer_pad_get_output_size (GST_COMPOSITOR (vagg), compositor_pad, &width,
- &height);
+ fps_n = GST_VIDEO_INFO_FPS_N (&vaggpad->info);
+ fps_d = GST_VIDEO_INFO_FPS_D (&vaggpad->info);
+ _mixer_pad_get_output_size (GST_COMPOSITOR (vagg), compositor_pad, par_n,
+ par_d, &width, &height);
if (width == 0 || height == 0)
continue;
@@ -915,17 +928,40 @@
best_width = this_width;
if (best_height < this_height)
best_height = this_height;
+
+ if (fps_d == 0)
+ cur_fps = 0.0;
+ else
+ gst_util_fraction_to_double (fps_n, fps_d, &cur_fps);
+
+ if (best_fps < cur_fps) {
+ best_fps = cur_fps;
+ best_fps_n = fps_n;
+ best_fps_d = fps_d;
+ }
}
GST_OBJECT_UNLOCK (vagg);
- if (best_width > 0 && best_height > 0) {
- info.width = best_width;
- info.height = best_height;
- if (set_functions (GST_COMPOSITOR (vagg), &info))
- ret = gst_video_info_to_caps (&info);
+ if (best_fps_n <= 0 || best_fps_d <= 0 || best_fps == 0.0) {
+ best_fps_n = 25;
+ best_fps_d = 1;
+ best_fps = 25.0;
+ }
- gst_caps_set_simple (ret, "pixel-aspect-ratio", GST_TYPE_FRACTION_RANGE,
- 1, G_MAXINT, G_MAXINT, 1, NULL);
+ gst_structure_fixate_field_nearest_int (s, "width", best_width);
+ gst_structure_fixate_field_nearest_int (s, "height", best_height);
+ gst_structure_fixate_field_nearest_fraction (s, "framerate", best_fps_n,
+ best_fps_d);
+ ret = gst_caps_fixate (ret);
+
+ if (best_width > 0 && best_height > 0) {
+ GstVideoInfo v_info;
+
+ gst_video_info_from_caps (&v_info, ret);
+ if (!set_functions (GST_COMPOSITOR (vagg), &v_info)) {
+ GST_ERROR_OBJECT (vagg, "Failed to setup vfuncs");
+ return NULL;
+ }
}
return ret;
@@ -1059,7 +1095,7 @@
agg_class->sinkpads_type = GST_TYPE_COMPOSITOR_PAD;
agg_class->sink_query = _sink_query;
- videoaggregator_class->update_caps = _update_caps;
+ videoaggregator_class->fixate_caps = _fixate_caps;
videoaggregator_class->aggregate_frames = gst_compositor_aggregate_frames;
g_object_class_install_property (gobject_class, PROP_BACKGROUND,
diff --git a/gst/dataurisrc/Makefile.in b/gst/dataurisrc/Makefile.in
index cad26ea..60c0940 100644
--- a/gst/dataurisrc/Makefile.in
+++ b/gst/dataurisrc/Makefile.in
@@ -115,16 +115,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -320,7 +319,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -342,7 +340,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -364,9 +361,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -528,6 +522,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -541,8 +536,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -629,8 +622,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -682,6 +673,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -702,6 +694,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -739,7 +733,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/dccp/Makefile.in b/gst/dccp/Makefile.in
index e9e034b..3b7b5f7 100644
--- a/gst/dccp/Makefile.in
+++ b/gst/dccp/Makefile.in
@@ -118,16 +118,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -330,7 +329,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -352,7 +350,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -374,9 +371,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -538,6 +532,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -551,8 +546,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -639,8 +632,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -692,6 +683,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -712,6 +704,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -749,7 +743,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/debugutils/Makefile.am b/gst/debugutils/Makefile.am
index aff78a2..783a9ce 100644
--- a/gst/debugutils/Makefile.am
+++ b/gst/debugutils/Makefile.am
@@ -1,17 +1,3 @@
-glib_gen_prefix = __gst_debugutils
-glib_gen_basename = debugutils
-
-include $(top_srcdir)/common/gst-glib-gen.mak
-
-built_sources = debugutils-marshal.c
-built_headers = debugutils-marshal.h
-
-BUILT_SOURCES = $(built_sources) $(built_headers)
-
-CLEANFILES = $(BUILT_SOURCES)
-
-EXTRA_DIST = debugutils-marshal.list
-
plugin_LTLIBRARIES = libgstdebugutilsbad.la
libgstdebugutilsbad_la_SOURCES = \
@@ -24,7 +10,6 @@
gstwatchdog.c \
gsterrorignore.c
-nodist_libgstdebugutilsbad_la_SOURCES = $(BUILT_SOURCES)
libgstdebugutilsbad_la_CFLAGS = $(GST_CFLAGS) $(GST_BASE_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS)
libgstdebugutilsbad_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) \
-lgstvideo-$(GST_API_VERSION) \
diff --git a/gst/debugutils/Makefile.in b/gst/debugutils/Makefile.in
index 86740c7..e49636e 100644
--- a/gst/debugutils/Makefile.in
+++ b/gst/debugutils/Makefile.in
@@ -14,14 +14,6 @@
@SET_MAKE@
-# these are the variables your Makefile.am should set
-# the example is based on the colorbalance interface
-
-#glib_enum_headers=$(colorbalance_headers)
-#glib_enum_define=GST_COLOR_BALANCE
-#glib_gen_prefix=gst_color_balance
-#glib_gen_basename=colorbalance
-
VPATH = @srcdir@
am__is_gnu_make = { \
@@ -124,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -183,12 +174,7 @@
libgstdebugutilsbad_la-gstcompare.lo \
libgstdebugutilsbad_la-gstwatchdog.lo \
libgstdebugutilsbad_la-gsterrorignore.lo
-am__objects_1 = libgstdebugutilsbad_la-debugutils-marshal.lo
-am__objects_2 =
-am__objects_3 = $(am__objects_1) $(am__objects_2)
-nodist_libgstdebugutilsbad_la_OBJECTS = $(am__objects_3)
-libgstdebugutilsbad_la_OBJECTS = $(am_libgstdebugutilsbad_la_OBJECTS) \
- $(nodist_libgstdebugutilsbad_la_OBJECTS)
+libgstdebugutilsbad_la_OBJECTS = $(am_libgstdebugutilsbad_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
@@ -231,8 +217,7 @@
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
-SOURCES = $(libgstdebugutilsbad_la_SOURCES) \
- $(nodist_libgstdebugutilsbad_la_SOURCES)
+SOURCES = $(libgstdebugutilsbad_la_SOURCES)
DIST_SOURCES = $(libgstdebugutilsbad_la_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
@@ -259,8 +244,7 @@
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
-am__DIST_COMMON = $(srcdir)/Makefile.in \
- $(top_srcdir)/common/gst-glib-gen.mak $(top_srcdir)/depcomp
+am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
@@ -346,7 +330,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -368,7 +351,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -390,9 +372,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -554,6 +533,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -567,8 +547,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -655,8 +633,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -708,6 +684,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -728,6 +705,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -765,7 +744,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -805,14 +783,6 @@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
wayland_scanner = @wayland_scanner@
-glib_gen_prefix = __gst_debugutils
-glib_gen_basename = debugutils
-enum_headers = $(foreach h,$(glib_enum_headers),\n\#include \"$(h)\")
-built_sources = debugutils-marshal.c
-built_headers = debugutils-marshal.h
-BUILT_SOURCES = $(built_sources) $(built_headers)
-CLEANFILES = $(BUILT_SOURCES)
-EXTRA_DIST = debugutils-marshal.list
plugin_LTLIBRARIES = libgstdebugutilsbad.la
libgstdebugutilsbad_la_SOURCES = \
gstdebugspy.c \
@@ -824,7 +794,6 @@
gstwatchdog.c \
gsterrorignore.c
-nodist_libgstdebugutilsbad_la_SOURCES = $(BUILT_SOURCES)
libgstdebugutilsbad_la_CFLAGS = $(GST_CFLAGS) $(GST_BASE_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS)
libgstdebugutilsbad_la_LIBADD = $(GST_BASE_LIBS) $(GST_PLUGINS_BASE_LIBS) \
-lgstvideo-$(GST_API_VERSION) \
@@ -840,12 +809,11 @@
gstwatchdog.h \
gsterrorignore.h
-all: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) all-am
+all: all-am
.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/common/gst-glib-gen.mak $(am__configure_deps)
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@@ -865,7 +833,6 @@
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_srcdir)/common/gst-glib-gen.mak $(am__empty):
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -920,7 +887,6 @@
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstdebugutilsbad_la-debugutils-marshal.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstdebugutilsbad_la-debugutilsbad.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstdebugutilsbad_la-fpsdisplaysink.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstdebugutilsbad_la-gstchecksumsink.Plo@am__quote@
@@ -1010,13 +976,6 @@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstdebugutilsbad_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstdebugutilsbad_la_CFLAGS) $(CFLAGS) -c -o libgstdebugutilsbad_la-gsterrorignore.lo `test -f 'gsterrorignore.c' || echo '$(srcdir)/'`gsterrorignore.c
-libgstdebugutilsbad_la-debugutils-marshal.lo: debugutils-marshal.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstdebugutilsbad_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstdebugutilsbad_la_CFLAGS) $(CFLAGS) -MT libgstdebugutilsbad_la-debugutils-marshal.lo -MD -MP -MF $(DEPDIR)/libgstdebugutilsbad_la-debugutils-marshal.Tpo -c -o libgstdebugutilsbad_la-debugutils-marshal.lo `test -f 'debugutils-marshal.c' || echo '$(srcdir)/'`debugutils-marshal.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstdebugutilsbad_la-debugutils-marshal.Tpo $(DEPDIR)/libgstdebugutilsbad_la-debugutils-marshal.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='debugutils-marshal.c' object='libgstdebugutilsbad_la-debugutils-marshal.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 $(libgstdebugutilsbad_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstdebugutilsbad_la_CFLAGS) $(CFLAGS) -c -o libgstdebugutilsbad_la-debugutils-marshal.lo `test -f 'debugutils-marshal.c' || echo '$(srcdir)/'`debugutils-marshal.c
-
mostlyclean-libtool:
-rm -f *.lo
@@ -1106,15 +1065,13 @@
fi; \
done
check-am: all-am
-check: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) check-am
+check: check-am
all-am: Makefile $(LTLIBRARIES) $(HEADERS)
installdirs:
for dir in "$(DESTDIR)$(plugindir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
-install: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) install-am
+install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
@@ -1136,7 +1093,6 @@
mostlyclean-generic:
clean-generic:
- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
@@ -1145,7 +1101,6 @@
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 \
@@ -1217,7 +1172,7 @@
uninstall-am: uninstall-pluginLTLIBRARIES
-.MAKE: all check install install-am install-strip
+.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
clean-libtool clean-pluginLTLIBRARIES cscopelist-am ctags \
@@ -1237,42 +1192,6 @@
.PRECIOUS: Makefile
-# these are all the rules generating the relevant files
-$(glib_gen_basename)-marshal.h: $(glib_gen_basename)-marshal.list
- $(AM_V_GEN)$(GLIB_GENMARSHAL) --header --prefix=$(glib_gen_prefix)_marshal $^ > $(glib_gen_basename)-marshal.h.tmp && \
- mv $(glib_gen_basename)-marshal.h.tmp $(glib_gen_basename)-marshal.h
-
-$(glib_gen_basename)-marshal.c: $(glib_gen_basename)-marshal.list
- $(AM_V_GEN)echo "#include \"$(glib_gen_basename)-marshal.h\"" >> $(glib_gen_basename)-marshal.c.tmp && \
- $(GLIB_GENMARSHAL) --body --prefix=$(glib_gen_prefix)_marshal $^ >> $(glib_gen_basename)-marshal.c.tmp && \
- mv $(glib_gen_basename)-marshal.c.tmp $(glib_gen_basename)-marshal.c
-
-$(glib_gen_basename)-enumtypes.h: $(glib_enum_headers)
- $(AM_V_GEN)$(GLIB_MKENUMS) \
- --fhead "#ifndef __$(glib_enum_define)_ENUM_TYPES_H__\n#define __$(glib_enum_define)_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
- --fprod "\n/* enumerations from \"@filename@\" */\n" \
- --vhead "GType @enum_name@_get_type (void);\n#define GST_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
- --ftail "G_END_DECLS\n\n#endif /* __$(glib_enum_define)_ENUM_TYPES_H__ */" \
- $^ > $@
-
-$(glib_gen_basename)-enumtypes.c: $(glib_enum_headers)
- @if test "x$(glib_enum_headers)" = "x"; then echo "ERROR: glib_enum_headers is empty, please fix Makefile"; exit 1; fi
- $(AM_V_GEN)$(GLIB_MKENUMS) \
- --fhead "#include \"$(glib_gen_basename)-enumtypes.h\"\n$(enum_headers)" \
- --fprod "\n/* enumerations from \"@filename@\" */" \
- --vhead "GType\n@enum_name@_get_type (void)\n{\n static volatile gsize g_define_type_id__volatile = 0;\n if (g_once_init_enter (&g_define_type_id__volatile)) {\n static const G@Type@Value values[] = {" \
- --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
- --vtail " { 0, NULL, NULL }\n };\n GType g_define_type_id = g_@type@_register_static (\"@EnumName@\", values);\n g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);\n }\n return g_define_type_id__volatile;\n}\n" \
- $^ > $@
-
-# a hack rule to make sure .Plo files exist because they get include'd
-# from Makefile's
-.deps/%-marshal.Plo:
- @touch $@
-
-.deps/%-enumtypes.Plo:
- @touch $@
-
# 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.
.NOEXPORT:
diff --git a/gst/debugutils/debugutils-marshal.list b/gst/debugutils/debugutils-marshal.list
deleted file mode 100644
index 8073fd3..0000000
--- a/gst/debugutils/debugutils-marshal.list
+++ /dev/null
@@ -1,2 +0,0 @@
-VOID:DOUBLE,DOUBLE,DOUBLE
-
diff --git a/gst/debugutils/fpsdisplaysink.c b/gst/debugutils/fpsdisplaysink.c
index 39c2422..92b3201 100644
--- a/gst/debugutils/fpsdisplaysink.c
+++ b/gst/debugutils/fpsdisplaysink.c
@@ -47,7 +47,6 @@
#include "config.h"
#endif
-#include "debugutils-marshal.h"
#include "fpsdisplaysink.h"
#define DEFAULT_SIGNAL_FPS_MEASUREMENTS FALSE
@@ -198,13 +197,10 @@
* @avgfps: The average fps
*
* Signals the application about the measured fps
- *
- * Since: 0.10.20
*/
fpsdisplaysink_signals[SIGNAL_FPS_MEASUREMENTS] =
g_signal_new ("fps-measurements", G_TYPE_FROM_CLASS (klass),
- G_SIGNAL_RUN_LAST, 0, NULL, NULL,
- __gst_debugutils_marshal_VOID__DOUBLE_DOUBLE_DOUBLE,
+ G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL,
G_TYPE_NONE, 3, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE);
gstelement_klass->change_state = fps_display_sink_change_state;
diff --git a/gst/dvbsuboverlay/Makefile.in b/gst/dvbsuboverlay/Makefile.in
index 22a8288..f2f0f2e 100644
--- a/gst/dvbsuboverlay/Makefile.in
+++ b/gst/dvbsuboverlay/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/dvdspu/Makefile.in b/gst/dvdspu/Makefile.in
index 49c3927..1134894 100644
--- a/gst/dvdspu/Makefile.in
+++ b/gst/dvdspu/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -327,7 +326,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -349,7 +347,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -371,9 +368,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -535,6 +529,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -548,8 +543,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -636,8 +629,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -689,6 +680,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -709,6 +701,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -746,7 +740,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/faceoverlay/Makefile.in b/gst/faceoverlay/Makefile.in
index 382cd5a..5ab8c18 100644
--- a/gst/faceoverlay/Makefile.in
+++ b/gst/faceoverlay/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/festival/Makefile.in b/gst/festival/Makefile.in
index 32c7b01..530b0ae 100644
--- a/gst/festival/Makefile.in
+++ b/gst/festival/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -323,7 +322,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -345,7 +343,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -367,9 +364,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -531,6 +525,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -544,8 +539,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -632,8 +625,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -685,6 +676,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -705,6 +697,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -742,7 +736,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/fieldanalysis/Makefile.in b/gst/fieldanalysis/Makefile.in
index da057cc..63b480e 100644
--- a/gst/fieldanalysis/Makefile.in
+++ b/gst/fieldanalysis/Makefile.in
@@ -138,16 +138,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -352,7 +351,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -374,7 +372,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -396,9 +393,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -560,6 +554,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -573,8 +568,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -661,8 +654,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -714,6 +705,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -734,6 +726,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -771,7 +765,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/freeverb/Makefile.in b/gst/freeverb/Makefile.in
index 01c5cb2..71fb484 100644
--- a/gst/freeverb/Makefile.in
+++ b/gst/freeverb/Makefile.in
@@ -117,16 +117,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -326,7 +325,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -348,7 +346,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -370,9 +367,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -534,6 +528,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -547,8 +542,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -635,8 +628,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -688,6 +679,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -708,6 +700,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -745,7 +739,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/frei0r/Makefile.in b/gst/frei0r/Makefile.in
index e16cfbd..b7ef938 100644
--- a/gst/frei0r/Makefile.in
+++ b/gst/frei0r/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -327,7 +326,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -349,7 +347,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -371,9 +368,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -535,6 +529,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -548,8 +543,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -636,8 +629,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -689,6 +680,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -709,6 +701,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -746,7 +740,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/frei0r/gstfrei0rmixer.c b/gst/frei0r/gstfrei0rmixer.c
index 8d5f59b..f2c8453 100644
--- a/gst/frei0r/gstfrei0rmixer.c
+++ b/gst/frei0r/gstfrei0rmixer.c
@@ -216,8 +216,12 @@
}
}
} else if (!gst_caps_is_equal (caps, self->caps)) {
- if (gst_pad_peer_query_accept_caps (pad, self->caps))
+ GstCaps *upstream_caps;
+
+ upstream_caps = gst_pad_peer_query_caps (pad, NULL);
+ if (gst_caps_can_intersect (self->caps, upstream_caps))
gst_pad_push_event (pad, gst_event_new_reconfigure ());
+ gst_caps_unref (upstream_caps);
ret = FALSE;
}
diff --git a/gst/gaudieffects/Makefile.in b/gst/gaudieffects/Makefile.in
index 76b1bcb..a4edbea 100644
--- a/gst/gaudieffects/Makefile.in
+++ b/gst/gaudieffects/Makefile.in
@@ -138,16 +138,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -358,7 +357,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -380,7 +378,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -402,9 +399,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -566,6 +560,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -579,8 +574,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -667,8 +660,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -720,6 +711,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -740,6 +732,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -777,7 +771,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/gdp/Makefile.in b/gst/gdp/Makefile.in
index eabc65b..725531f 100644
--- a/gst/gdp/Makefile.in
+++ b/gst/gdp/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -325,7 +324,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +345,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +366,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +527,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +541,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +627,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +678,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +699,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +738,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/gdp/gstgdpdepay.c b/gst/gdp/gstgdpdepay.c
index b16a9c8..b779a85 100644
--- a/gst/gdp/gstgdpdepay.c
+++ b/gst/gdp/gstgdpdepay.c
@@ -45,6 +45,7 @@
enum
{
PROP_0,
+ PROP_TS_OFFSET
};
static GstStaticPadTemplate gdp_depay_sink_template =
@@ -81,6 +82,10 @@
element, GstStateChange transition);
static void gst_gdp_depay_finalize (GObject * object);
+static void gst_gdp_depay_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * pspec);
+static void gst_gdp_depay_get_property (GObject * object, guint prop_id,
+ GValue * value, GParamSpec * pspec);
static void
gst_gdp_depay_class_init (GstGDPDepayClass * klass)
@@ -91,6 +96,15 @@
gobject_class = (GObjectClass *) klass;
gstelement_class = (GstElementClass *) klass;
+ gobject_class->set_property = gst_gdp_depay_set_property;
+ gobject_class->get_property = gst_gdp_depay_get_property;
+
+ g_object_class_install_property (gobject_class, PROP_TS_OFFSET,
+ g_param_spec_int64 ("ts-offset", "Timestamp Offset",
+ "Timestamp Offset",
+ G_MININT64, G_MAXINT64, 0,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
gst_element_class_set_static_metadata (gstelement_class,
"GDP Depayloader", "GDP/Depayloader",
"Depayloads GStreamer Data Protocol buffers",
@@ -143,6 +157,42 @@
GST_CALL_PARENT (G_OBJECT_CLASS, finalize, (gobject));
}
+static void
+gst_gdp_depay_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * pspec)
+{
+ GstGDPDepay *this;
+
+ this = GST_GDP_DEPAY (object);
+
+ switch (prop_id) {
+ case PROP_TS_OFFSET:
+ this->ts_offset = g_value_get_int64 (value);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gst_gdp_depay_get_property (GObject * object, guint prop_id,
+ GValue * value, GParamSpec * pspec)
+{
+ GstGDPDepay *this;
+
+ this = GST_GDP_DEPAY (object);
+
+ switch (prop_id) {
+ case PROP_TS_OFFSET:
+ g_value_set_int64 (value, this->ts_offset);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
static gboolean
gst_gdp_depay_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
{
@@ -317,6 +367,16 @@
gst_adapter_flush (this->adapter, this->payload_length);
}
+ if (GST_BUFFER_TIMESTAMP (buf) > -this->ts_offset)
+ GST_BUFFER_TIMESTAMP (buf) += this->ts_offset;
+ else
+ GST_BUFFER_TIMESTAMP (buf) = 0;
+
+ if (GST_BUFFER_DTS (buf) > -this->ts_offset)
+ GST_BUFFER_DTS (buf) += this->ts_offset;
+ else
+ GST_BUFFER_DTS (buf) = 0;
+
/* set caps and push */
GST_LOG_OBJECT (this, "deserialized buffer %p, pushing, timestamp %"
GST_TIME_FORMAT ", duration %" GST_TIME_FORMAT
diff --git a/gst/gdp/gstgdpdepay.h b/gst/gdp/gstgdpdepay.h
index ca22c08..43bbf9d 100644
--- a/gst/gdp/gstgdpdepay.h
+++ b/gst/gdp/gstgdpdepay.h
@@ -66,6 +66,8 @@
guint8 *header;
guint32 payload_length;
GstDPPayloadType payload_type;
+
+ gint64 ts_offset;
};
struct _GstGDPDepayClass
diff --git a/gst/geometrictransform/Makefile.in b/gst/geometrictransform/Makefile.in
index 03401d8..961e037 100644
--- a/gst/geometrictransform/Makefile.in
+++ b/gst/geometrictransform/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -346,7 +345,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -368,7 +366,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -390,9 +387,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -554,6 +548,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -567,8 +562,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -655,8 +648,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -708,6 +699,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -728,6 +720,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -765,7 +759,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/hdvparse/Makefile.in b/gst/hdvparse/Makefile.in
index 3bd46c6..c3f3910 100644
--- a/gst/hdvparse/Makefile.in
+++ b/gst/hdvparse/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -323,7 +322,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -345,7 +343,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -367,9 +364,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -531,6 +525,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -544,8 +539,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -632,8 +625,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -685,6 +676,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -705,6 +697,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -742,7 +736,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/id3tag/Makefile.in b/gst/id3tag/Makefile.in
index 6e0ddee..d1884a8 100644
--- a/gst/id3tag/Makefile.in
+++ b/gst/id3tag/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/inter/Makefile.in b/gst/inter/Makefile.in
index e2b9c6c..47d7ccd 100644
--- a/gst/inter/Makefile.in
+++ b/gst/inter/Makefile.in
@@ -118,16 +118,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -340,7 +339,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -362,7 +360,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -384,9 +381,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -548,6 +542,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -561,8 +556,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -649,8 +642,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -702,6 +693,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -722,6 +714,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -759,7 +753,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/interlace/Makefile.in b/gst/interlace/Makefile.in
index 4fd3cb2..7b8e977 100644
--- a/gst/interlace/Makefile.in
+++ b/gst/interlace/Makefile.in
@@ -115,16 +115,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -320,7 +319,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -342,7 +340,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -364,9 +361,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -528,6 +522,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -541,8 +536,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -629,8 +622,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -682,6 +673,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -702,6 +694,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -739,7 +733,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/ivfparse/Makefile.in b/gst/ivfparse/Makefile.in
index fb0e17d..aaf29ab 100644
--- a/gst/ivfparse/Makefile.in
+++ b/gst/ivfparse/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -323,7 +322,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -345,7 +343,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -367,9 +364,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -531,6 +525,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -544,8 +539,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -632,8 +625,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -685,6 +676,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -705,6 +697,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -742,7 +736,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/ivtc/Makefile.in b/gst/ivtc/Makefile.in
index 4027f80..fe9235f 100644
--- a/gst/ivtc/Makefile.in
+++ b/gst/ivtc/Makefile.in
@@ -115,16 +115,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -321,7 +320,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -343,7 +341,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -365,9 +362,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -529,6 +523,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -542,8 +537,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -630,8 +623,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -683,6 +674,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -703,6 +695,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -740,7 +734,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/jp2kdecimator/Makefile.in b/gst/jp2kdecimator/Makefile.in
index 637eafa..500fb53 100644
--- a/gst/jp2kdecimator/Makefile.in
+++ b/gst/jp2kdecimator/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -325,7 +324,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +345,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +366,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +527,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +541,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +627,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +678,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +699,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +738,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/jpegformat/Makefile.in b/gst/jpegformat/Makefile.in
index 946a9f2..1cf88c8 100644
--- a/gst/jpegformat/Makefile.in
+++ b/gst/jpegformat/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -325,7 +324,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +345,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +366,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +527,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +541,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +627,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +678,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +699,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +738,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/librfb/Makefile.in b/gst/librfb/Makefile.in
index 1d8527c..f2bcf10 100644
--- a/gst/librfb/Makefile.in
+++ b/gst/librfb/Makefile.in
@@ -118,16 +118,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -333,7 +332,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -355,7 +353,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -377,9 +374,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -541,6 +535,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -554,8 +549,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -642,8 +635,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -695,6 +686,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -715,6 +707,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -752,7 +746,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/midi/Makefile.in b/gst/midi/Makefile.in
index 0427cf9..1b3cc46 100644
--- a/gst/midi/Makefile.in
+++ b/gst/midi/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/mpegdemux/Makefile.in b/gst/mpegdemux/Makefile.in
index e9af940..44f0d4c 100644
--- a/gst/mpegdemux/Makefile.in
+++ b/gst/mpegdemux/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -325,7 +324,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +345,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +366,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +527,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +541,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +627,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +678,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +699,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +738,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/mpegpsmux/Makefile.in b/gst/mpegpsmux/Makefile.in
index cd804d6..d8a2b2d 100644
--- a/gst/mpegpsmux/Makefile.in
+++ b/gst/mpegpsmux/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -326,7 +325,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -348,7 +346,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -370,9 +367,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -534,6 +528,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -547,8 +542,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -635,8 +628,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -688,6 +679,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -708,6 +700,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -745,7 +739,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/mpegtsdemux/Makefile.in b/gst/mpegtsdemux/Makefile.in
index cf5e9cd..c235476 100644
--- a/gst/mpegtsdemux/Makefile.in
+++ b/gst/mpegtsdemux/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -331,7 +330,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -353,7 +351,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -375,9 +372,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -539,6 +533,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -552,8 +547,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -640,8 +633,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -693,6 +684,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -713,6 +705,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -750,7 +744,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/mpegtsdemux/mpegtsbase.c b/gst/mpegtsdemux/mpegtsbase.c
index 3dcde60..d63122f 100644
--- a/gst/mpegtsdemux/mpegtsbase.c
+++ b/gst/mpegtsdemux/mpegtsbase.c
@@ -1433,11 +1433,23 @@
}
base->mode = BASE_MODE_PUSHING;
}
+ } else {
+ GST_WARNING ("subclass has no seek implementation");
}
return ret == GST_FLOW_OK;
}
+ if (!klass->seek) {
+ GST_WARNING ("subclass has no seek implementation");
+ return FALSE;
+ }
+
+ if (rate <= 0.0) {
+ GST_WARNING ("Negative rate not supported");
+ return FALSE;
+ }
+
GST_DEBUG ("seek event, rate: %f start: %" GST_TIME_FORMAT
" stop: %" GST_TIME_FORMAT, rate, GST_TIME_ARGS (start),
GST_TIME_ARGS (stop));
@@ -1479,16 +1491,11 @@
/* If the subclass can seek, do that */
- if (klass->seek) {
- ret = klass->seek (base, event);
- if (G_UNLIKELY (ret != GST_FLOW_OK))
- GST_WARNING ("seeking failed %s", gst_flow_get_name (ret));
- else
- base->last_seek_seqnum = GST_EVENT_SEQNUM (event);
- } else {
- /* FIXME : Check this before so we don't do seeks we can't handle ? */
- GST_WARNING ("subclass has no seek implementation");
- }
+ ret = klass->seek (base, event);
+ if (G_UNLIKELY (ret != GST_FLOW_OK))
+ GST_WARNING ("seeking failed %s", gst_flow_get_name (ret));
+ else
+ base->last_seek_seqnum = GST_EVENT_SEQNUM (event);
if (flush_event) {
/* if we sent a FLUSH_START, we now send a FLUSH_STOP */
diff --git a/gst/mpegtsmux/Makefile.in b/gst/mpegtsmux/Makefile.in
index 671a23a..84fe942 100644
--- a/gst/mpegtsmux/Makefile.in
+++ b/gst/mpegtsmux/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -370,7 +369,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -392,7 +390,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -414,9 +411,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -578,6 +572,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -591,8 +586,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -679,8 +672,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -732,6 +723,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -752,6 +744,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -789,7 +783,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/mpegtsmux/mpegtsmux.c b/gst/mpegtsmux/mpegtsmux.c
index 1d208a7..cd07338 100644
--- a/gst/mpegtsmux/mpegtsmux.c
+++ b/gst/mpegtsmux/mpegtsmux.c
@@ -127,6 +127,8 @@
"video/x-dirac;"
"video/x-h264,stream-format=(string)byte-stream,"
"alignment=(string){au, nal}; "
+ "video/x-h265,stream-format=(string)byte-stream,"
+ "alignment=(string){au, nal}; "
"audio/mpeg, "
"parsed = (boolean) TRUE, "
"mpegversion = (int) { 1, 2 };"
@@ -612,6 +614,8 @@
st = TSMUX_ST_PS_AUDIO_LPCM;
} else if (strcmp (mt, "video/x-h264") == 0) {
st = TSMUX_ST_VIDEO_H264;
+ } else if (strcmp (mt, "video/x-h265") == 0) {
+ st = TSMUX_ST_VIDEO_HEVC;
} else if (strcmp (mt, "audio/mpeg") == 0) {
gint mpegversion;
diff --git a/gst/mpegtsmux/tsmux/Makefile.in b/gst/mpegtsmux/tsmux/Makefile.in
index ace58fb..bb580d3 100644
--- a/gst/mpegtsmux/tsmux/Makefile.in
+++ b/gst/mpegtsmux/tsmux/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -295,7 +294,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -317,7 +315,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -339,9 +336,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -503,6 +497,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -516,8 +511,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -604,8 +597,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -657,6 +648,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -677,6 +669,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -714,7 +708,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/mpegtsmux/tsmux/tsmux.c b/gst/mpegtsmux/tsmux/tsmux.c
index 00e1203..638de15 100644
--- a/gst/mpegtsmux/tsmux/tsmux.c
+++ b/gst/mpegtsmux/tsmux/tsmux.c
@@ -692,7 +692,7 @@
buf[pos++] = (pcr_base >> 17) & 0xff;
buf[pos++] = (pcr_base >> 9) & 0xff;
buf[pos++] = (pcr_base >> 1) & 0xff;
- buf[pos++] = ((pcr_base << 7) & 0x80) | ((pcr_ext >> 8) & 0x01);
+ buf[pos++] = ((pcr_base << 7) & 0x80) | 0x7e | ((pcr_ext >> 8) & 0x01); /* set 6 reserve bits to 1 */
buf[pos++] = (pcr_ext) & 0xff;
}
if (pi->flags & TSMUX_PACKET_FLAG_WRITE_OPCR) {
@@ -708,7 +708,7 @@
buf[pos++] = (opcr_base >> 17) & 0xff;
buf[pos++] = (opcr_base >> 9) & 0xff;
buf[pos++] = (opcr_base >> 1) & 0xff;
- buf[pos++] = ((opcr_base << 7) & 0x80) | ((opcr_ext >> 8) & 0x01);
+ buf[pos++] = ((opcr_base << 7) & 0x80) | 0x7e | ((opcr_ext >> 8) & 0x01); /* set 6 reserve bits to 1 */
buf[pos++] = (opcr_ext) & 0xff;
}
if (pi->flags & TSMUX_PACKET_FLAG_WRITE_SPLICE) {
@@ -730,7 +730,7 @@
TS_DEBUG ("FIXME: write Adaptation extension");
/* Write an empty extension for now */
buf[pos++] = 1;
- buf[pos++] = 0;
+ buf[pos++] = 0x1f; /* lower 5 bits are reserved, and should be all 1 */
}
}
/* Write the flags at the start */
diff --git a/gst/mpegtsmux/tsmux/tsmuxstream.c b/gst/mpegtsmux/tsmux/tsmuxstream.c
index 31fd196..6b7c17e 100644
--- a/gst/mpegtsmux/tsmux/tsmuxstream.c
+++ b/gst/mpegtsmux/tsmux/tsmuxstream.c
@@ -138,6 +138,7 @@
case TSMUX_ST_VIDEO_MPEG2:
case TSMUX_ST_VIDEO_MPEG4:
case TSMUX_ST_VIDEO_H264:
+ case TSMUX_ST_VIDEO_HEVC:
/* FIXME: Assign sequential IDs? */
stream->id = 0xE0;
stream->pi.flags |= TSMUX_PACKET_FLAG_PES_FULL_HEADER;
@@ -315,8 +316,10 @@
/* FIXME: As a hack, for unbounded streams, start a new PES packet for each
* incoming packet we receive. This assumes that incoming data is
* packetised sensibly - ie, every video frame */
- if (stream->cur_pes_payload_size == 0)
+ if (stream->cur_pes_payload_size == 0) {
stream->state = TSMUX_STREAM_STATE_HEADER;
+ stream->pes_bytes_written = 0;
+ }
}
}
@@ -408,11 +411,6 @@
stream->cur_pes_payload_size = stream->pes_payload_size;
tsmux_stream_find_pts_dts_within (stream, stream->cur_pes_payload_size,
&stream->pts, &stream->dts);
- } else if (stream->is_video_stream) {
- /* Unbounded for video streams */
- stream->cur_pes_payload_size = 0;
- tsmux_stream_find_pts_dts_within (stream, stream->bytes_avail, &stream->pts,
- &stream->dts);
} else {
/* Output a PES packet of all currently available bytes otherwise */
stream->cur_pes_payload_size = stream->bytes_avail;
@@ -440,6 +438,16 @@
}
}
+ if (stream->is_video_stream) {
+ guint8 hdr_len;
+
+ hdr_len = tsmux_stream_pes_header_length (stream);
+
+ /* Unbounded for video streams if pes packet length is over 16 bit */
+ if ((stream->cur_pes_payload_size + hdr_len - 6) > G_MAXUINT16)
+ stream->cur_pes_payload_size = 0;
+ }
+
return TRUE;
}
diff --git a/gst/mpegtsmux/tsmux/tsmuxstream.h b/gst/mpegtsmux/tsmux/tsmuxstream.h
index 26fe207..73b2a88 100644
--- a/gst/mpegtsmux/tsmux/tsmuxstream.h
+++ b/gst/mpegtsmux/tsmux/tsmuxstream.h
@@ -133,6 +133,7 @@
TSMUX_ST_AUDIO_AAC = 0x0f,
TSMUX_ST_VIDEO_MPEG4 = 0x10,
TSMUX_ST_VIDEO_H264 = 0x1b,
+ TSMUX_ST_VIDEO_HEVC = 0x24,
/* private stream types */
TSMUX_ST_PS_AUDIO_AC3 = 0x81,
diff --git a/gst/mve/Makefile.in b/gst/mve/Makefile.in
index ff46b84..43ba43c 100644
--- a/gst/mve/Makefile.in
+++ b/gst/mve/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -327,7 +326,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -349,7 +347,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -371,9 +368,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -535,6 +529,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -548,8 +543,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -636,8 +629,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -689,6 +680,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -709,6 +701,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -746,7 +740,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/mxf/Makefile.in b/gst/mxf/Makefile.in
index af2151a..f161fc7 100644
--- a/gst/mxf/Makefile.in
+++ b/gst/mxf/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -332,7 +331,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -354,7 +352,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -376,9 +373,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -540,6 +534,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -553,8 +548,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -641,8 +634,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -694,6 +685,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -714,6 +706,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -751,7 +745,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/mxf/mxfmetadata.c b/gst/mxf/mxfmetadata.c
index 172bc2e..69aadb5 100644
--- a/gst/mxf/mxfmetadata.c
+++ b/gst/mxf/mxfmetadata.c
@@ -932,20 +932,18 @@
}
ret = g_list_prepend (ret, t);
- if (self->dm_schemes) {
- t = g_slice_new0 (MXFLocalTag);
- memcpy (&t->ul, MXF_UL (DM_SCHEMES), 16);
- t->size = 8 + 16 * self->n_dm_schemes;
- t->data = g_slice_alloc0 (t->size);
- t->g_slice = TRUE;
- mxf_primer_pack_add_mapping (primer, 0x3b0b, &t->ul);
- GST_WRITE_UINT32_BE (t->data, self->n_dm_schemes);
- GST_WRITE_UINT32_BE (t->data + 4, 16);
- for (i = 0; i < self->n_dm_schemes; i++) {
- memcpy (t->data + 8 + 16 * i, &self->dm_schemes[i], 16);
- }
- ret = g_list_prepend (ret, t);
+ t = g_slice_new0 (MXFLocalTag);
+ memcpy (&t->ul, MXF_UL (DM_SCHEMES), 16);
+ t->size = 8 + 16 * self->n_dm_schemes;
+ t->data = g_slice_alloc0 (t->size);
+ t->g_slice = TRUE;
+ mxf_primer_pack_add_mapping (primer, 0x3b0b, &t->ul);
+ GST_WRITE_UINT32_BE (t->data, self->n_dm_schemes);
+ GST_WRITE_UINT32_BE (t->data + 4, 16);
+ for (i = 0; i < self->n_dm_schemes; i++) {
+ memcpy (t->data + 8 + 16 * i, &self->dm_schemes[i], 16);
}
+ ret = g_list_prepend (ret, t);
return ret;
}
@@ -1236,6 +1234,17 @@
ret = g_list_prepend (ret, t);
}
+ if (!mxf_uuid_is_zero (&self->this_generation_uid)) {
+ t = g_slice_new0 (MXFLocalTag);
+ memcpy (&t->ul, MXF_UL (THIS_GENERATION_UID), 16);
+ t->size = 16;
+ t->data = g_slice_alloc (t->size);
+ t->g_slice = TRUE;
+ memcpy (t->data, &self->this_generation_uid, 16);
+ mxf_primer_pack_add_mapping (primer, 0x3c09, &t->ul);
+ ret = g_list_prepend (ret, t);
+ }
+
return ret;
}
@@ -4424,15 +4433,25 @@
if (GST_READ_UINT32_BE (tag_data) == 0)
return TRUE;
- if (GST_READ_UINT32_BE (tag_data) != 2 &&
- GST_READ_UINT32_BE (tag_data + 4) != 4)
+ if (GST_READ_UINT32_BE (tag_data + 4) != 4)
goto error;
- if (tag_size != 16)
+ if (GST_READ_UINT32_BE (tag_data) != 1 &&
+ GST_READ_UINT32_BE (tag_data) != 2)
+ goto error;
+
+ if ((GST_READ_UINT32_BE (tag_data) == 1 && tag_size != 12) ||
+ (GST_READ_UINT32_BE (tag_data) == 2 && tag_size != 16))
goto error;
self->video_line_map[0] = GST_READ_UINT32_BE (tag_data + 8);
- self->video_line_map[1] = GST_READ_UINT32_BE (tag_data + 12);
+
+ /* Workaround for files created by ffmpeg */
+ if (GST_READ_UINT32_BE (tag_data) == 1)
+ self->video_line_map[0] = 0;
+ else
+ self->video_line_map[1] = GST_READ_UINT32_BE (tag_data + 12);
+
GST_DEBUG (" video line map = {%i, %i}", self->video_line_map[0],
self->video_line_map[1]);
break;
@@ -4514,14 +4533,12 @@
gst_structure_id_set (ret, MXF_QUARK (SIGNAL_STANDARD), G_TYPE_UCHAR,
self->signal_standard, NULL);
- if (self->frame_layout != 255)
- gst_structure_id_set (ret, MXF_QUARK (FRAME_LAYOUT), G_TYPE_UCHAR,
- self->frame_layout, NULL);
+ gst_structure_id_set (ret, MXF_QUARK (FRAME_LAYOUT), G_TYPE_UCHAR,
+ self->frame_layout, NULL);
- if (self->stored_width != 0 && self->stored_height != 0)
- gst_structure_id_set (ret, MXF_QUARK (STORED_WIDTH), G_TYPE_UINT,
- self->stored_width, MXF_QUARK (STORED_HEIGHT), G_TYPE_UINT,
- self->stored_height, NULL);
+ gst_structure_id_set (ret, MXF_QUARK (STORED_WIDTH), G_TYPE_UINT,
+ self->stored_width, MXF_QUARK (STORED_HEIGHT), G_TYPE_UINT,
+ self->stored_height, NULL);
if (self->stored_f2_offset != 0)
gst_structure_id_set (ret, MXF_QUARK (STORED_F2_OFFSET), G_TYPE_INT,
@@ -4565,10 +4582,9 @@
gst_structure_id_set (ret, MXF_QUARK (ACTIVE_FORMAT_DESCRIPTOR),
G_TYPE_UCHAR, self->active_format_descriptor, NULL);
- if (self->video_line_map[0] != 0 && self->video_line_map[1] != 0)
- gst_structure_id_set (ret, MXF_QUARK (VIDEO_LINE_MAP_0), G_TYPE_UINT,
- self->video_line_map[0], MXF_QUARK (VIDEO_LINE_MAP_1), G_TYPE_UINT,
- self->video_line_map[1], NULL);
+ gst_structure_id_set (ret, MXF_QUARK (VIDEO_LINE_MAP_0), G_TYPE_UINT,
+ self->video_line_map[0], MXF_QUARK (VIDEO_LINE_MAP_1), G_TYPE_UINT,
+ self->video_line_map[1], NULL);
if (self->alpha_transparency != 0)
gst_structure_id_set (ret, MXF_QUARK (ALPHA_TRANSPARENCY), G_TYPE_UCHAR,
@@ -4628,38 +4644,32 @@
ret = g_list_prepend (ret, t);
}
- if (self->frame_layout != 255) {
- t = g_slice_new0 (MXFLocalTag);
- memcpy (&t->ul, MXF_UL (FRAME_LAYOUT), 16);
- t->size = 1;
- t->data = g_slice_alloc (t->size);
- t->g_slice = TRUE;
- GST_WRITE_UINT8 (t->data, self->frame_layout);
- mxf_primer_pack_add_mapping (primer, 0x320c, &t->ul);
- ret = g_list_prepend (ret, t);
- }
+ t = g_slice_new0 (MXFLocalTag);
+ memcpy (&t->ul, MXF_UL (FRAME_LAYOUT), 16);
+ t->size = 1;
+ t->data = g_slice_alloc (t->size);
+ t->g_slice = TRUE;
+ GST_WRITE_UINT8 (t->data, self->frame_layout);
+ mxf_primer_pack_add_mapping (primer, 0x320c, &t->ul);
+ ret = g_list_prepend (ret, t);
- if (self->stored_width != 0) {
- t = g_slice_new0 (MXFLocalTag);
- memcpy (&t->ul, MXF_UL (STORED_WIDTH), 16);
- t->size = 4;
- t->data = g_slice_alloc (t->size);
- t->g_slice = TRUE;
- GST_WRITE_UINT32_BE (t->data, self->stored_width);
- mxf_primer_pack_add_mapping (primer, 0x3203, &t->ul);
- ret = g_list_prepend (ret, t);
- }
+ t = g_slice_new0 (MXFLocalTag);
+ memcpy (&t->ul, MXF_UL (STORED_WIDTH), 16);
+ t->size = 4;
+ t->data = g_slice_alloc (t->size);
+ t->g_slice = TRUE;
+ GST_WRITE_UINT32_BE (t->data, self->stored_width);
+ mxf_primer_pack_add_mapping (primer, 0x3203, &t->ul);
+ ret = g_list_prepend (ret, t);
- if (self->stored_height != 0) {
- t = g_slice_new0 (MXFLocalTag);
- memcpy (&t->ul, MXF_UL (STORED_HEIGHT), 16);
- t->size = 4;
- t->data = g_slice_alloc (t->size);
- t->g_slice = TRUE;
- GST_WRITE_UINT32_BE (t->data, self->stored_height);
- mxf_primer_pack_add_mapping (primer, 0x3202, &t->ul);
- ret = g_list_prepend (ret, t);
- }
+ t = g_slice_new0 (MXFLocalTag);
+ memcpy (&t->ul, MXF_UL (STORED_HEIGHT), 16);
+ t->size = 4;
+ t->data = g_slice_alloc (t->size);
+ t->g_slice = TRUE;
+ GST_WRITE_UINT32_BE (t->data, self->stored_height);
+ mxf_primer_pack_add_mapping (primer, 0x3202, &t->ul);
+ ret = g_list_prepend (ret, t);
if (self->stored_f2_offset != 0) {
t = g_slice_new0 (MXFLocalTag);
@@ -4771,17 +4781,15 @@
ret = g_list_prepend (ret, t);
}
- if (self->aspect_ratio.n != 0 && self->aspect_ratio.d != 0) {
- t = g_slice_new0 (MXFLocalTag);
- memcpy (&t->ul, MXF_UL (ASPECT_RATIO), 16);
- t->size = 8;
- t->data = g_slice_alloc (t->size);
- t->g_slice = TRUE;
- GST_WRITE_UINT32_BE (t->data, self->aspect_ratio.n);
- GST_WRITE_UINT32_BE (t->data + 4, self->aspect_ratio.d);
- mxf_primer_pack_add_mapping (primer, 0x320e, &t->ul);
- ret = g_list_prepend (ret, t);
- }
+ t = g_slice_new0 (MXFLocalTag);
+ memcpy (&t->ul, MXF_UL (ASPECT_RATIO), 16);
+ t->size = 8;
+ t->data = g_slice_alloc (t->size);
+ t->g_slice = TRUE;
+ GST_WRITE_UINT32_BE (t->data, self->aspect_ratio.n);
+ GST_WRITE_UINT32_BE (t->data + 4, self->aspect_ratio.d);
+ mxf_primer_pack_add_mapping (primer, 0x320e, &t->ul);
+ ret = g_list_prepend (ret, t);
if (self->active_format_descriptor != 0) {
t = g_slice_new0 (MXFLocalTag);
@@ -4794,17 +4802,17 @@
ret = g_list_prepend (ret, t);
}
- if (self->video_line_map[0] != 0 || self->video_line_map[1] != 0) {
- t = g_slice_new0 (MXFLocalTag);
- memcpy (&t->ul, MXF_UL (VIDEO_LINE_MAP), 16);
- t->size = 16;
- t->data = g_slice_alloc (t->size);
- t->g_slice = TRUE;
- GST_WRITE_UINT64_BE (t->data, self->video_line_map[0]);
- GST_WRITE_UINT64_BE (t->data + 8, self->video_line_map[1]);
- mxf_primer_pack_add_mapping (primer, 0x320d, &t->ul);
- ret = g_list_prepend (ret, t);
- }
+ t = g_slice_new0 (MXFLocalTag);
+ memcpy (&t->ul, MXF_UL (VIDEO_LINE_MAP), 16);
+ t->size = 16;
+ t->data = g_slice_alloc (t->size);
+ t->g_slice = TRUE;
+ GST_WRITE_UINT32_BE (t->data, 2);
+ GST_WRITE_UINT32_BE (t->data + 4, 4);
+ GST_WRITE_UINT32_BE (t->data + 8, self->video_line_map[0]);
+ GST_WRITE_UINT32_BE (t->data + 12, self->video_line_map[1]);
+ mxf_primer_pack_add_mapping (primer, 0x320d, &t->ul);
+ ret = g_list_prepend (ret, t);
if (self->alpha_transparency != 0) {
t = g_slice_new0 (MXFLocalTag);
@@ -4952,16 +4960,18 @@
gst_caps_set_simple (caps, "width", G_TYPE_INT, width, "height", G_TYPE_INT,
height, NULL);
- if (self->aspect_ratio.n == 0 || self->aspect_ratio.d == 0) {
+ if (self->aspect_ratio.n == 0 && self->aspect_ratio.d == 0) {
+ gst_caps_set_simple (caps, "pixel-aspect-ratio", GST_TYPE_FRACTION,
+ 1, 1, NULL);
+ } else if (self->aspect_ratio.n == 0 || self->aspect_ratio.d == 0) {
GST_ERROR ("Invalid aspect ratio");
- return;
+ } else {
+ par_n = height * self->aspect_ratio.n;
+ par_d = width * self->aspect_ratio.d;
+
+ gst_caps_set_simple (caps, "pixel-aspect-ratio", GST_TYPE_FRACTION,
+ par_n, par_d, NULL);
}
-
- par_n = height * self->aspect_ratio.n;
- par_d = width * self->aspect_ratio.d;
-
- gst_caps_set_simple (caps, "pixel-aspect-ratio", GST_TYPE_FRACTION,
- par_n, par_d, NULL);
}
static gint
@@ -4985,7 +4995,7 @@
gint fps_n, fps_d;
MXFMetadataFileDescriptor *f = (MXFMetadataFileDescriptor *) self;
GstStructure *s;
- gboolean interlaced;
+ gboolean interlaced = FALSE;
g_return_val_if_fail (MXF_IS_METADATA_GENERIC_PICTURE_ESSENCE_DESCRIPTOR
(self), FALSE);
@@ -5136,13 +5146,11 @@
gst_structure_id_set (ret, MXF_QUARK (ELECTRO_SPATIAL_FORMULATION),
G_TYPE_UCHAR, self->electro_spatial_formulation, NULL);
- if (self->channel_count != 0)
- gst_structure_id_set (ret, MXF_QUARK (CHANNEL_COUNT), G_TYPE_UINT,
- self->channel_count, NULL);
+ gst_structure_id_set (ret, MXF_QUARK (CHANNEL_COUNT), G_TYPE_UINT,
+ self->channel_count, NULL);
- if (self->quantization_bits != 0)
- gst_structure_id_set (ret, MXF_QUARK (QUANTIZATION_BITS), G_TYPE_UINT,
- self->quantization_bits, NULL);
+ gst_structure_id_set (ret, MXF_QUARK (QUANTIZATION_BITS), G_TYPE_UINT,
+ self->quantization_bits, NULL);
if (self->dial_norm != 0)
gst_structure_id_set (ret, MXF_QUARK (DIAL_NORM), G_TYPE_CHAR,
@@ -5171,17 +5179,15 @@
(m, primer);
MXFLocalTag *t;
- if (self->audio_sampling_rate.d && self->audio_sampling_rate.n) {
- t = g_slice_new0 (MXFLocalTag);
- memcpy (&t->ul, MXF_UL (AUDIO_SAMPLING_RATE), 16);
- t->size = 8;
- t->data = g_slice_alloc (t->size);
- t->g_slice = TRUE;
- GST_WRITE_UINT32_BE (t->data, self->audio_sampling_rate.n);
- GST_WRITE_UINT32_BE (t->data + 4, self->audio_sampling_rate.d);
- mxf_primer_pack_add_mapping (primer, 0x3d03, &t->ul);
- ret = g_list_prepend (ret, t);
- }
+ t = g_slice_new0 (MXFLocalTag);
+ memcpy (&t->ul, MXF_UL (AUDIO_SAMPLING_RATE), 16);
+ t->size = 8;
+ t->data = g_slice_alloc (t->size);
+ t->g_slice = TRUE;
+ GST_WRITE_UINT32_BE (t->data, self->audio_sampling_rate.n);
+ GST_WRITE_UINT32_BE (t->data + 4, self->audio_sampling_rate.d);
+ mxf_primer_pack_add_mapping (primer, 0x3d03, &t->ul);
+ ret = g_list_prepend (ret, t);
t = g_slice_new0 (MXFLocalTag);
memcpy (&t->ul, MXF_UL (LOCKED), 16);
@@ -5214,27 +5220,23 @@
ret = g_list_prepend (ret, t);
}
- if (self->channel_count) {
- t = g_slice_new0 (MXFLocalTag);
- memcpy (&t->ul, MXF_UL (CHANNEL_COUNT), 16);
- t->size = 4;
- t->data = g_slice_alloc (t->size);
- t->g_slice = TRUE;
- GST_WRITE_UINT32_BE (t->data, self->channel_count);
- mxf_primer_pack_add_mapping (primer, 0x3d07, &t->ul);
- ret = g_list_prepend (ret, t);
- }
+ t = g_slice_new0 (MXFLocalTag);
+ memcpy (&t->ul, MXF_UL (CHANNEL_COUNT), 16);
+ t->size = 4;
+ t->data = g_slice_alloc (t->size);
+ t->g_slice = TRUE;
+ GST_WRITE_UINT32_BE (t->data, self->channel_count);
+ mxf_primer_pack_add_mapping (primer, 0x3d07, &t->ul);
+ ret = g_list_prepend (ret, t);
- if (self->quantization_bits) {
- t = g_slice_new0 (MXFLocalTag);
- memcpy (&t->ul, MXF_UL (QUANTIZATION_BITS), 16);
- t->size = 4;
- t->data = g_slice_alloc (t->size);
- t->g_slice = TRUE;
- GST_WRITE_UINT32_BE (t->data, self->quantization_bits);
- mxf_primer_pack_add_mapping (primer, 0x3d01, &t->ul);
- ret = g_list_prepend (ret, t);
- }
+ t = g_slice_new0 (MXFLocalTag);
+ memcpy (&t->ul, MXF_UL (QUANTIZATION_BITS), 16);
+ t->size = 4;
+ t->data = g_slice_alloc (t->size);
+ t->g_slice = TRUE;
+ GST_WRITE_UINT32_BE (t->data, self->quantization_bits);
+ mxf_primer_pack_add_mapping (primer, 0x3d01, &t->ul);
+ ret = g_list_prepend (ret, t);
if (self->dial_norm != 0) {
t = g_slice_new0 (MXFLocalTag);
@@ -5265,7 +5267,7 @@
mxf_metadata_generic_sound_essence_descriptor_init
(MXFMetadataGenericSoundEssenceDescriptor * self)
{
- self->audio_sampling_rate.n = 48000;
+ self->audio_sampling_rate.n = 0;
self->audio_sampling_rate.d = 1;
self->electro_spatial_formulation = 255;
}
@@ -5476,13 +5478,11 @@
MXFMetadataCDCIPictureEssenceDescriptor *self =
MXF_METADATA_CDCI_PICTURE_ESSENCE_DESCRIPTOR (m);
- if (self->component_depth != 0)
- gst_structure_id_set (ret, MXF_QUARK (COMPONENT_DEPTH), G_TYPE_UINT,
- self->component_depth, NULL);
+ gst_structure_id_set (ret, MXF_QUARK (COMPONENT_DEPTH), G_TYPE_UINT,
+ self->component_depth, NULL);
- if (self->horizontal_subsampling != 0)
- gst_structure_id_set (ret, MXF_QUARK (HORIZONTAL_SUBSAMPLING), G_TYPE_UINT,
- self->horizontal_subsampling, NULL);
+ gst_structure_id_set (ret, MXF_QUARK (HORIZONTAL_SUBSAMPLING), G_TYPE_UINT,
+ self->horizontal_subsampling, NULL);
if (self->vertical_subsampling != 0)
gst_structure_id_set (ret, MXF_QUARK (VERTICAL_SUBSAMPLING), G_TYPE_UINT,
@@ -5530,27 +5530,23 @@
(m, primer);
MXFLocalTag *t;
- if (self->component_depth) {
- t = g_slice_new0 (MXFLocalTag);
- memcpy (&t->ul, MXF_UL (COMPONENT_DEPTH), 16);
- t->size = 4;
- t->data = g_slice_alloc (t->size);
- t->g_slice = TRUE;
- GST_WRITE_UINT32_BE (t->data, self->component_depth);
- mxf_primer_pack_add_mapping (primer, 0x3301, &t->ul);
- ret = g_list_prepend (ret, t);
- }
+ t = g_slice_new0 (MXFLocalTag);
+ memcpy (&t->ul, MXF_UL (COMPONENT_DEPTH), 16);
+ t->size = 4;
+ t->data = g_slice_alloc (t->size);
+ t->g_slice = TRUE;
+ GST_WRITE_UINT32_BE (t->data, self->component_depth);
+ mxf_primer_pack_add_mapping (primer, 0x3301, &t->ul);
+ ret = g_list_prepend (ret, t);
- if (self->horizontal_subsampling) {
- t = g_slice_new0 (MXFLocalTag);
- memcpy (&t->ul, MXF_UL (HORIZONTAL_SUBSAMPLING), 16);
- t->size = 4;
- t->data = g_slice_alloc (t->size);
- t->g_slice = TRUE;
- GST_WRITE_UINT32_BE (t->data, self->horizontal_subsampling);
- mxf_primer_pack_add_mapping (primer, 0x3302, &t->ul);
- ret = g_list_prepend (ret, t);
- }
+ t = g_slice_new0 (MXFLocalTag);
+ memcpy (&t->ul, MXF_UL (HORIZONTAL_SUBSAMPLING), 16);
+ t->size = 4;
+ t->data = g_slice_alloc (t->size);
+ t->g_slice = TRUE;
+ GST_WRITE_UINT32_BE (t->data, self->horizontal_subsampling);
+ mxf_primer_pack_add_mapping (primer, 0x3302, &t->ul);
+ ret = g_list_prepend (ret, t);
if (self->vertical_subsampling) {
t = g_slice_new0 (MXFLocalTag);
@@ -5728,7 +5724,7 @@
case 0x3401:{
guint i, len;
- if (tag_size % 2 != 0)
+ if (tag_size % 2 != 0 || tag_size > 16)
goto error;
i = 0;
@@ -5741,7 +5737,7 @@
if (len == 0)
return TRUE;
- self->pixel_layout = g_malloc0 (2 * len);
+ self->pixel_layout = g_malloc0 (16);
for (i = 0; i < len; i++) {
self->pixel_layout[2 * i] = tag_data[2 * i];
@@ -5887,17 +5883,15 @@
ret = g_list_prepend (ret, t);
}
- if (self->pixel_layout) {
- t = g_slice_new0 (MXFLocalTag);
- memcpy (&t->ul, MXF_UL (PIXEL_LAYOUT), 16);
- t->size = 2 * self->n_pixel_layout + 2;
- t->data = g_slice_alloc0 (t->size);
- t->g_slice = TRUE;
+ t = g_slice_new0 (MXFLocalTag);
+ memcpy (&t->ul, MXF_UL (PIXEL_LAYOUT), 16);
+ t->size = 16;
+ t->data = g_slice_alloc0 (t->size);
+ t->g_slice = TRUE;
+ if (self->pixel_layout)
memcpy (t->data, self->pixel_layout, self->n_pixel_layout * 2);
- mxf_primer_pack_add_mapping (primer, 0x3401, &t->ul);
- ret = g_list_prepend (ret, t);
-
- }
+ mxf_primer_pack_add_mapping (primer, 0x3401, &t->ul);
+ ret = g_list_prepend (ret, t);
return ret;
}
diff --git a/gst/mxf/mxfmpeg.c b/gst/mxf/mxfmpeg.c
index da35722..30ba9cf 100644
--- a/gst/mxf/mxfmpeg.c
+++ b/gst/mxf/mxfmpeg.c
@@ -941,7 +941,7 @@
static const guint8 mpeg_essence_container_ul[] = {
0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x02,
- 0x0d, 0x01, 0x03, 0x01, 0x02, 0x04, 0x01, 0x01
+ 0x0d, 0x01, 0x03, 0x01, 0x02, 0x00, 0x00, 0x01
};
static MXFMetadataFileDescriptor *
@@ -1016,6 +1016,9 @@
memcpy (&ret->parent.essence_container, &mpeg_essence_container_ul, 16);
+ ret->parent.essence_container.u[13] = 0x04;
+ ret->parent.essence_container.u[14] = 0x40;
+
if (!mxf_metadata_generic_sound_essence_descriptor_from_caps (ret, caps)) {
g_object_unref (ret);
return NULL;
@@ -1257,6 +1260,7 @@
memcpy (&ret->parent.parent.parent.essence_container,
&mpeg_essence_container_ul, 16);
+
memcpy (&ret->parent.parent.picture_essence_coding,
&mpeg_video_picture_essence_compression_ul, 16);
if (strcmp (gst_structure_get_name (s), "video/mpeg") == 0) {
@@ -1273,13 +1277,19 @@
*mapping_data = g_new0 (MXFMPEGEssenceType, 1);
memcpy (*mapping_data, &type, sizeof (MXFMPEGEssenceType));
+ ret->parent.parent.picture_essence_coding.u[7] = 0x03;
ret->parent.parent.picture_essence_coding.u[13] = 0x10;
+ ret->parent.parent.parent.essence_container.u[13] = 0x04;
+ ret->parent.parent.parent.essence_container.u[14] = 0x60;
} else if (mpegversion == 2) {
MXFMPEGEssenceType type = MXF_MPEG_ESSENCE_TYPE_VIDEO_MPEG2;
*mapping_data = g_new0 (MXFMPEGEssenceType, 1);
memcpy (*mapping_data, &type, sizeof (MXFMPEGEssenceType));
+ ret->parent.parent.picture_essence_coding.u[7] = 0x01;
ret->parent.parent.picture_essence_coding.u[13] = 0x01;
+ ret->parent.parent.parent.essence_container.u[13] = 0x04;
+ ret->parent.parent.parent.essence_container.u[14] = 0x60;
} else {
const GValue *v;
const GstBuffer *codec_data;
@@ -1288,7 +1298,10 @@
*mapping_data = g_new0 (MXFMPEGEssenceType, 1);
memcpy (*mapping_data, &type, sizeof (MXFMPEGEssenceType));
+ ret->parent.parent.picture_essence_coding.u[7] = 0x03;
ret->parent.parent.picture_essence_coding.u[13] = 0x20;
+ ret->parent.parent.parent.essence_container.u[13] = 0x04;
+ ret->parent.parent.parent.essence_container.u[14] = 0x60;
if ((v = gst_structure_get_value (s, "codec_data"))) {
MXFLocalTag *t = g_slice_new0 (MXFLocalTag);
GstMapInfo map;
@@ -1307,8 +1320,11 @@
*mapping_data = g_new0 (MXFMPEGEssenceType, 1);
memcpy (*mapping_data, &type, sizeof (MXFMPEGEssenceType));
+ ret->parent.parent.picture_essence_coding.u[7] = 0x0a;
ret->parent.parent.picture_essence_coding.u[13] = 0x30;
+ ret->parent.parent.parent.essence_container.u[7] = 0x0a;
ret->parent.parent.parent.essence_container.u[13] = 0x10;
+ ret->parent.parent.parent.essence_container.u[14] = 0x60;
} else {
g_assert_not_reached ();
}
diff --git a/gst/mxf/mxfmux.c b/gst/mxf/mxfmux.c
index c36ae90..d363e7a 100644
--- a/gst/mxf/mxfmux.c
+++ b/gst/mxf/mxfmux.c
@@ -633,18 +633,18 @@
memcpy (&p->parent.package_modified_date,
&mux->preface->last_modified_date, sizeof (MXFTimestamp));
- p->parent.n_tracks = GST_ELEMENT_CAST (mux)->numsinkpads;
+ p->parent.n_tracks = GST_ELEMENT_CAST (mux)->numsinkpads + 1;
p->parent.tracks = g_new0 (MXFMetadataTrack *, p->parent.n_tracks);
- if (p->parent.n_tracks > 1) {
+ if (p->parent.n_tracks > 2) {
MXFMetadataMultipleDescriptor *d;
p->descriptor = (MXFMetadataGenericDescriptor *)
g_object_new (MXF_TYPE_METADATA_MULTIPLE_DESCRIPTOR, NULL);
d = (MXFMetadataMultipleDescriptor *) p->descriptor;
- d->n_sub_descriptors = p->parent.n_tracks;
+ d->n_sub_descriptors = p->parent.n_tracks - 1;
d->sub_descriptors =
- g_new0 (MXFMetadataGenericDescriptor *, p->parent.n_tracks);
+ g_new0 (MXFMetadataGenericDescriptor *, p->parent.n_tracks - 1);
mxf_uuid_init (&MXF_METADATA_BASE (d)->instance_uid, mux->metadata);
g_hash_table_insert (mux->metadata,
@@ -654,7 +654,9 @@
/* Tracks */
{
- guint n = 0;
+ guint n;
+
+ n = 1;
/* Essence tracks */
for (l = GST_ELEMENT_CAST (mux)->sinkpads; l; l = l->next) {
@@ -723,11 +725,11 @@
pad->source_package = p;
pad->source_track = track;
pad->descriptor->linked_track_id = n + 1;
- if (p->parent.n_tracks == 1) {
+ if (p->parent.n_tracks == 2) {
p->descriptor = (MXFMetadataGenericDescriptor *) pad->descriptor;
} else {
MXF_METADATA_MULTIPLE_DESCRIPTOR (p->
- descriptor)->sub_descriptors[n] =
+ descriptor)->sub_descriptors[n - 1] =
(MXFMetadataGenericDescriptor *) pad->descriptor;
}
@@ -780,8 +782,7 @@
source_package = MXF_METADATA_SOURCE_PACKAGE (cstorage->packages[1]);
source_track =
- MXF_METADATA_TIMELINE_TRACK (source_package->parent.tracks[n -
- 1]);
+ MXF_METADATA_TIMELINE_TRACK (source_package->parent.tracks[n]);
p->tracks[n] = (MXFMetadataTrack *)
g_object_new (MXF_TYPE_METADATA_TIMELINE_TRACK, NULL);
@@ -853,7 +854,7 @@
memcpy (&clip->source_package_id, &cstorage->packages[1]->package_uid,
32);
- clip->source_track_id = n;
+ clip->source_track_id = n + 1;
n++;
}
@@ -923,7 +924,71 @@
}
}
- for (i = 0; i < cstorage->packages[1]->n_tracks; i++) {
+ /* Timecode track */
+ {
+ MXFMetadataSourcePackage *p;
+ MXFMetadataTimelineTrack *track;
+ MXFMetadataSequence *sequence;
+ MXFMetadataTimecodeComponent *component;
+ guint n = 0;
+
+ p = (MXFMetadataSourcePackage *) cstorage->packages[1];
+
+ p->parent.tracks[n] = (MXFMetadataTrack *)
+ g_object_new (MXF_TYPE_METADATA_TIMELINE_TRACK, NULL);
+ track = (MXFMetadataTimelineTrack *) p->parent.tracks[n];
+ mxf_uuid_init (&MXF_METADATA_BASE (track)->instance_uid, mux->metadata);
+ g_hash_table_insert (mux->metadata,
+ &MXF_METADATA_BASE (track)->instance_uid, track);
+ mux->metadata_list = g_list_prepend (mux->metadata_list, track);
+
+ track->parent.track_id = n + 1;
+ track->parent.track_number = 0;
+ track->parent.track_name = g_strdup ("Timecode track");
+ /* FIXME: Is this correct? */
+ memcpy (&track->edit_rate, &mux->min_edit_rate, sizeof (MXFFraction));
+
+ sequence = track->parent.sequence = (MXFMetadataSequence *)
+ g_object_new (MXF_TYPE_METADATA_SEQUENCE, NULL);
+ mxf_uuid_init (&MXF_METADATA_BASE (sequence)->instance_uid,
+ mux->metadata);
+ g_hash_table_insert (mux->metadata,
+ &MXF_METADATA_BASE (sequence)->instance_uid, sequence);
+ mux->metadata_list = g_list_prepend (mux->metadata_list, sequence);
+
+ memcpy (&sequence->data_definition,
+ mxf_metadata_track_identifier_get
+ (MXF_METADATA_TRACK_TIMECODE_12M_INACTIVE), 16);
+
+ sequence->n_structural_components = 1;
+ sequence->structural_components =
+ g_new0 (MXFMetadataStructuralComponent *, 1);
+
+ component = (MXFMetadataTimecodeComponent *)
+ g_object_new (MXF_TYPE_METADATA_TIMECODE_COMPONENT, NULL);
+ sequence->structural_components[0] =
+ (MXFMetadataStructuralComponent *) component;
+ mxf_uuid_init (&MXF_METADATA_BASE (component)->instance_uid,
+ mux->metadata);
+ g_hash_table_insert (mux->metadata,
+ &MXF_METADATA_BASE (component)->instance_uid, component);
+ mux->metadata_list = g_list_prepend (mux->metadata_list, component);
+
+ memcpy (&component->parent.data_definition,
+ &sequence->data_definition, 16);
+
+ component->start_timecode = 0;
+ if (track->edit_rate.d == 0)
+ component->rounded_timecode_base = 1;
+ else
+ component->rounded_timecode_base =
+ (((gdouble) track->edit_rate.n) /
+ ((gdouble) track->edit_rate.d) + 0.5);
+ /* TODO: drop frame */
+ }
+
+
+ for (i = 1; i < cstorage->packages[1]->n_tracks; i++) {
MXFMetadataTrack *track = cstorage->packages[1]->tracks[i];
guint j;
guint32 templ;
@@ -935,7 +1000,7 @@
templ = track->track_number;
n_type = 0;
- for (j = 0; j < cstorage->packages[1]->n_tracks; j++) {
+ for (j = 1; j < cstorage->packages[1]->n_tracks; j++) {
MXFMetadataTrack *tmp = cstorage->packages[1]->tracks[j];
if (tmp->track_number == templ) {
@@ -944,7 +1009,7 @@
}
n = 0;
- for (j = 0; j < cstorage->packages[1]->n_tracks; j++) {
+ for (j = 1; j < cstorage->packages[1]->n_tracks; j++) {
MXFMetadataTrack *tmp = cstorage->packages[1]->tracks[j];
if (tmp->track_number == templ) {
@@ -970,7 +1035,7 @@
cstorage->essence_container_data[0]->linked_package =
MXF_METADATA_SOURCE_PACKAGE (cstorage->packages[1]);
- cstorage->essence_container_data[0]->index_sid = 1;
+ cstorage->essence_container_data[0]->index_sid = 2;
cstorage->essence_container_data[0]->body_sid = 1;
}
@@ -1263,6 +1328,8 @@
GstBuffer *buf;
mux->partition.type = MXF_PARTITION_PACK_BODY;
+ mux->partition.closed = TRUE;
+ mux->partition.complete = TRUE;
mux->partition.this_partition = mux->offset;
mux->partition.prev_partition = 0;
mux->partition.footer_partition = 0;
@@ -1379,6 +1446,18 @@
}
{
+ MXFMetadataTimelineTrack *track =
+ MXF_METADATA_TIMELINE_TRACK (mux->preface->
+ content_storage->packages[1]->tracks[0]);
+ MXFMetadataSequence *sequence = track->parent.sequence;
+ MXFMetadataTimecodeComponent *component =
+ MXF_METADATA_TIMECODE_COMPONENT (sequence->structural_components[0]);
+
+ sequence->duration = mux->last_gc_position;
+ component->parent.duration = mux->last_gc_position;
+ }
+
+ {
guint64 body_partition = mux->partition.this_partition;
guint32 body_sid = mux->partition.body_sid;
guint64 footer_partition = mux->offset;
@@ -1389,6 +1468,7 @@
GList *index_entries = NULL, *l;
guint index_byte_count = 0;
guint i;
+ GstBuffer *buf;
for (i = 0; i < mux->index_table->len; i++) {
MXFIndexTableSegment *segment =
@@ -1461,6 +1541,28 @@
GST_ERROR_OBJECT (mux, "Rewriting header partition failed");
return ret;
}
+
+ g_assert (mux->offset == body_partition);
+
+ mux->partition.type = MXF_PARTITION_PACK_BODY;
+ mux->partition.closed = TRUE;
+ mux->partition.complete = TRUE;
+ mux->partition.this_partition = mux->offset;
+ mux->partition.prev_partition = 0;
+ mux->partition.footer_partition = footer_partition;
+ mux->partition.header_byte_count = 0;
+ mux->partition.index_byte_count = 0;
+ mux->partition.index_sid = 0;
+ mux->partition.body_offset = 0;
+ mux->partition.body_sid =
+ mux->preface->content_storage->essence_container_data[0]->body_sid;
+
+ buf = mxf_partition_pack_to_buffer (&mux->partition);
+ ret = gst_mxf_mux_push (mux, buf);
+ if (ret != GST_FLOW_OK) {
+ GST_ERROR_OBJECT (mux, "Rewriting body partition failed");
+ return ret;
+ }
} else {
GST_WARNING_OBJECT (mux, "Can't rewrite header partition");
}
diff --git a/gst/mxf/mxftypes.c b/gst/mxf/mxftypes.c
index ab04427..14e2362 100644
--- a/gst/mxf/mxftypes.c
+++ b/gst/mxf/mxftypes.c
@@ -216,7 +216,8 @@
do {
for (i = 0; i < 4; i++)
GST_WRITE_UINT32_BE (&uuid->u[i * 4], g_random_int ());
-
+ uuid->u[6] = 0x40 | (uuid->u[6] & 0x0f);
+ uuid->u[8] = (uuid->u[8] & 0xbf) | 0x80;
} while (hashtable && (mxf_uuid_is_zero (uuid) ||
g_hash_table_lookup_extended (hashtable, uuid, NULL, NULL)));
}
@@ -1585,15 +1586,14 @@
data += 8;
if (pack->mappings) {
- guint local_tag;
+ gpointer local_tag;
MXFUL *ul;
GHashTableIter iter;
g_hash_table_iter_init (&iter, pack->mappings);
- while (g_hash_table_iter_next (&iter, (gpointer) & local_tag,
- (gpointer) & ul)) {
- GST_WRITE_UINT16_BE (data, local_tag);
+ while (g_hash_table_iter_next (&iter, &local_tag, (gpointer) & ul)) {
+ GST_WRITE_UINT16_BE (data, GPOINTER_TO_UINT (local_tag));
memcpy (data + 2, ul, 16);
data += 18;
}
diff --git a/gst/mxf/mxful.c b/gst/mxf/mxful.c
index b5389f6..3d186f9 100644
--- a/gst/mxf/mxful.c
+++ b/gst/mxf/mxful.c
@@ -121,6 +121,9 @@
{{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02,
0x06, 0x01, 0x01, 0x04, 0x06, 0x04, 0x00, 0x00}},
/* CONTENT_STORAGE */
+ {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02,
+ 0x06, 0x01, 0x01, 0x04, 0x02, 0x01, 0x00, 0x00}},
+ /* OPERATIONAL_PATTERN */
{{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05,
0x01, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00}},
/* ESSENCE_CONTAINERS */
@@ -130,6 +133,9 @@
{{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x05,
0x01, 0x02, 0x02, 0x10, 0x02, 0x02, 0x00, 0x00}},
/* Identification */
+ /* THIS_GENERATION_UID */
+ {{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02,
+ 0x05, 0x20, 0x07, 0x01, 0x01, 0x00, 0x00, 0x00}},
/* COMPANY_NAME */
{{0x06, 0x0E, 0x2B, 0x34, 0x01, 0x01, 0x01, 0x02,
0x05, 0x20, 0x07, 0x01, 0x02, 0x01, 0x00, 0x00}},
diff --git a/gst/mxf/mxful.h b/gst/mxf/mxful.h
index 7b76f43..76e3ba6 100644
--- a/gst/mxf/mxful.h
+++ b/gst/mxf/mxful.h
@@ -63,6 +63,7 @@
MXF_UL_OPERATIONAL_PATTERN,
MXF_UL_ESSENCE_CONTAINERS,
MXF_UL_DM_SCHEMES,
+ MXF_UL_THIS_GENERATION_UID,
MXF_UL_COMPANY_NAME,
MXF_UL_PRODUCT_NAME,
MXF_UL_PRODUCT_VERSION,
diff --git a/gst/netsim/Makefile.am b/gst/netsim/Makefile.am
new file mode 100644
index 0000000..c145289
--- /dev/null
+++ b/gst/netsim/Makefile.am
@@ -0,0 +1,9 @@
+plugin_LTLIBRARIES = libgstnetsim.la
+
+libgstnetsim_la_SOURCES = gstnetsim.c
+libgstnetsim_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS)
+libgstnetsim_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS)
+libgstnetsim_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
+libgstnetsim_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
+
+noinst_HEADERS = gstnetsim.h
diff --git a/ext/mpg123/Makefile.in b/gst/netsim/Makefile.in
similarity index 90%
rename from ext/mpg123/Makefile.in
rename to gst/netsim/Makefile.in
index e0f8f27..8b6e32f 100644
--- a/ext/mpg123/Makefile.in
+++ b/gst/netsim/Makefile.in
@@ -90,7 +90,7 @@
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
-subdir = ext/mpg123
+subdir = gst/netsim
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -164,19 +163,18 @@
am__installdirs = "$(DESTDIR)$(plugindir)"
LTLIBRARIES = $(plugin_LTLIBRARIES)
am__DEPENDENCIES_1 =
-libgstmpg123_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1)
-am_libgstmpg123_la_OBJECTS = libgstmpg123_la-gstmpg123audiodec.lo
-libgstmpg123_la_OBJECTS = $(am_libgstmpg123_la_OBJECTS)
+libgstnetsim_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+am_libgstnetsim_la_OBJECTS = libgstnetsim_la-gstnetsim.lo
+libgstnetsim_la_OBJECTS = $(am_libgstnetsim_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
-libgstmpg123_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
- $(libgstmpg123_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
- $(CCLD) $(libgstmpg123_la_CFLAGS) $(CFLAGS) \
- $(libgstmpg123_la_LDFLAGS) $(LDFLAGS) -o $@
+libgstnetsim_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(libgstnetsim_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+ $(CCLD) $(libgstnetsim_la_CFLAGS) $(CFLAGS) \
+ $(libgstnetsim_la_LDFLAGS) $(LDFLAGS) -o $@
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
@@ -211,8 +209,8 @@
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
-SOURCES = $(libgstmpg123_la_SOURCES)
-DIST_SOURCES = $(libgstmpg123_la_SOURCES)
+SOURCES = $(libgstnetsim_la_SOURCES)
+DIST_SOURCES = $(libgstnetsim_la_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -324,7 +322,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +343,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +364,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +525,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +539,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +625,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +676,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +697,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +736,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -783,18 +775,13 @@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
wayland_scanner = @wayland_scanner@
-plugin_LTLIBRARIES = libgstmpg123.la
-libgstmpg123_la_SOURCES = gstmpg123audiodec.c
-libgstmpg123_la_CFLAGS = -DGST_USE_UNSTABLE_API \
- $(GST_PLUGINS_BASE_CFLAGS) \
- $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(MPG123_CFLAGS)
-
-libgstmpg123_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-@GST_API_VERSION@ \
- $(GST_BASE_LIBS) $(GST_LIBS) $(MPG123_LIBS)
-
-libgstmpg123_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
-libgstmpg123_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
-noinst_HEADERS = gstmpg123audiodec.h
+plugin_LTLIBRARIES = libgstnetsim.la
+libgstnetsim_la_SOURCES = gstnetsim.c
+libgstnetsim_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS)
+libgstnetsim_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS)
+libgstnetsim_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
+libgstnetsim_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
+noinst_HEADERS = gstnetsim.h
all: all-am
.SUFFIXES:
@@ -808,9 +795,9 @@
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ext/mpg123/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst/netsim/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu ext/mpg123/Makefile
+ $(AUTOMAKE) --gnu gst/netsim/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -864,8 +851,8 @@
rm -f $${locs}; \
}
-libgstmpg123.la: $(libgstmpg123_la_OBJECTS) $(libgstmpg123_la_DEPENDENCIES) $(EXTRA_libgstmpg123_la_DEPENDENCIES)
- $(AM_V_CCLD)$(libgstmpg123_la_LINK) -rpath $(plugindir) $(libgstmpg123_la_OBJECTS) $(libgstmpg123_la_LIBADD) $(LIBS)
+libgstnetsim.la: $(libgstnetsim_la_OBJECTS) $(libgstnetsim_la_DEPENDENCIES) $(EXTRA_libgstnetsim_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libgstnetsim_la_LINK) -rpath $(plugindir) $(libgstnetsim_la_OBJECTS) $(libgstnetsim_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -873,7 +860,7 @@
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstmpg123_la-gstmpg123audiodec.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstnetsim_la-gstnetsim.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -899,12 +886,12 @@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-libgstmpg123_la-gstmpg123audiodec.lo: gstmpg123audiodec.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstmpg123_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstmpg123_la_CFLAGS) $(CFLAGS) -MT libgstmpg123_la-gstmpg123audiodec.lo -MD -MP -MF $(DEPDIR)/libgstmpg123_la-gstmpg123audiodec.Tpo -c -o libgstmpg123_la-gstmpg123audiodec.lo `test -f 'gstmpg123audiodec.c' || echo '$(srcdir)/'`gstmpg123audiodec.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstmpg123_la-gstmpg123audiodec.Tpo $(DEPDIR)/libgstmpg123_la-gstmpg123audiodec.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstmpg123audiodec.c' object='libgstmpg123_la-gstmpg123audiodec.lo' libtool=yes @AMDEPBACKSLASH@
+libgstnetsim_la-gstnetsim.lo: gstnetsim.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstnetsim_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstnetsim_la_CFLAGS) $(CFLAGS) -MT libgstnetsim_la-gstnetsim.lo -MD -MP -MF $(DEPDIR)/libgstnetsim_la-gstnetsim.Tpo -c -o libgstnetsim_la-gstnetsim.lo `test -f 'gstnetsim.c' || echo '$(srcdir)/'`gstnetsim.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstnetsim_la-gstnetsim.Tpo $(DEPDIR)/libgstnetsim_la-gstnetsim.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstnetsim.c' object='libgstnetsim_la-gstnetsim.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 $(libgstmpg123_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstmpg123_la_CFLAGS) $(CFLAGS) -c -o libgstmpg123_la-gstmpg123audiodec.lo `test -f 'gstmpg123audiodec.c' || echo '$(srcdir)/'`gstmpg123audiodec.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstnetsim_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstnetsim_la_CFLAGS) $(CFLAGS) -c -o libgstnetsim_la-gstnetsim.lo `test -f 'gstnetsim.c' || echo '$(srcdir)/'`gstnetsim.c
mostlyclean-libtool:
-rm -f *.lo
diff --git a/gst/netsim/gstnetsim.c b/gst/netsim/gstnetsim.c
new file mode 100644
index 0000000..2e15ac3
--- /dev/null
+++ b/gst/netsim/gstnetsim.c
@@ -0,0 +1,472 @@
+/*
+ * GStreamer
+ *
+ * Copyright 2006 Collabora Ltd,
+ * Copyright 2006 Nokia Corporation
+ * @author: Philippe Kalaf <philippe.kalaf@collabora.co.uk>.
+ * Copyright 2012-2015 Pexip
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <string.h>
+#include "gstnetsim.h"
+
+GST_DEBUG_CATEGORY (netsim_debug);
+#define GST_CAT_DEFAULT (netsim_debug)
+
+
+enum
+{
+ ARG_0,
+ ARG_MIN_DELAY,
+ ARG_MAX_DELAY,
+ ARG_DELAY_PROBABILITY,
+ ARG_DROP_PROBABILITY,
+ ARG_DUPLICATE_PROBABILITY,
+ ARG_DROP_PACKETS
+};
+
+struct _GstNetSimPrivate
+{
+ GstPad *sinkpad, *srcpad;
+
+ GMutex loop_mutex;
+ GCond start_cond;
+ GMainLoop *main_loop;
+ gboolean running;
+
+ GRand *rand_seed;
+ gint min_delay;
+ gint max_delay;
+ gfloat delay_probability;
+ gfloat drop_probability;
+ gfloat duplicate_probability;
+ guint drop_packets;
+};
+
+/* these numbers are nothing but wild guesses and dont reflect any reality */
+#define DEFAULT_MIN_DELAY 200
+#define DEFAULT_MAX_DELAY 400
+#define DEFAULT_DELAY_PROBABILITY 0.0
+#define DEFAULT_DROP_PROBABILITY 0.0
+#define DEFAULT_DUPLICATE_PROBABILITY 0.0
+#define DEFAULT_DROP_PACKETS 0
+
+#define GST_NET_SIM_GET_PRIVATE(o) \
+ (G_TYPE_INSTANCE_GET_PRIVATE ((o), GST_TYPE_NET_SIM, \
+ GstNetSimPrivate))
+
+static GstStaticPadTemplate gst_net_sim_sink_template =
+GST_STATIC_PAD_TEMPLATE ("sink",
+ GST_PAD_SINK,
+ GST_PAD_ALWAYS,
+ GST_STATIC_CAPS_ANY);
+
+static GstStaticPadTemplate gst_net_sim_src_template =
+GST_STATIC_PAD_TEMPLATE ("src",
+ GST_PAD_SRC,
+ GST_PAD_ALWAYS,
+ GST_STATIC_CAPS_ANY);
+
+G_DEFINE_TYPE (GstNetSim, gst_net_sim, GST_TYPE_ELEMENT);
+
+static void
+gst_net_sim_loop (GstNetSim * netsim)
+{
+ GMainLoop *loop;
+
+ GST_TRACE_OBJECT (netsim, "TASK: begin");
+
+ g_mutex_lock (&netsim->priv->loop_mutex);
+ loop = g_main_loop_ref (netsim->priv->main_loop);
+ netsim->priv->running = TRUE;
+ GST_TRACE_OBJECT (netsim, "TASK: signal start");
+ g_cond_signal (&netsim->priv->start_cond);
+ g_mutex_unlock (&netsim->priv->loop_mutex);
+
+ GST_TRACE_OBJECT (netsim, "TASK: run");
+ g_main_loop_run (loop);
+ g_main_loop_unref (loop);
+
+ g_mutex_lock (&netsim->priv->loop_mutex);
+ GST_TRACE_OBJECT (netsim, "TASK: pause");
+ gst_pad_pause_task (netsim->priv->srcpad);
+ netsim->priv->running = FALSE;
+ GST_TRACE_OBJECT (netsim, "TASK: signal end");
+ g_cond_signal (&netsim->priv->start_cond);
+ g_mutex_unlock (&netsim->priv->loop_mutex);
+ GST_TRACE_OBJECT (netsim, "TASK: end");
+}
+
+static gboolean
+_main_loop_quit_and_remove_source (gpointer user_data)
+{
+ GMainLoop *main_loop = user_data;
+ GST_DEBUG ("MAINLOOP: Quit %p", main_loop);
+ g_main_loop_quit (main_loop);
+ g_assert (!g_main_loop_is_running (main_loop));
+ return FALSE; /* Remove source */
+}
+
+static gboolean
+gst_net_sim_src_activatemode (GstPad * pad, GstObject * parent,
+ GstPadMode mode, gboolean active)
+{
+ GstNetSim *netsim = GST_NET_SIM (parent);
+ gboolean result = FALSE;
+
+ (void) pad;
+ (void) mode;
+
+ g_mutex_lock (&netsim->priv->loop_mutex);
+ if (active) {
+ if (netsim->priv->main_loop == NULL) {
+ GMainContext *main_context = g_main_context_new ();
+ netsim->priv->main_loop = g_main_loop_new (main_context, FALSE);
+ g_main_context_unref (main_context);
+
+ GST_TRACE_OBJECT (netsim, "ACT: Starting task on srcpad");
+ result = gst_pad_start_task (netsim->priv->srcpad,
+ (GstTaskFunction) gst_net_sim_loop, netsim, NULL);
+
+ GST_TRACE_OBJECT (netsim, "ACT: Wait for task to start");
+ g_assert (!netsim->priv->running);
+ while (!netsim->priv->running)
+ g_cond_wait (&netsim->priv->start_cond, &netsim->priv->loop_mutex);
+ GST_TRACE_OBJECT (netsim, "ACT: Task on srcpad started");
+ }
+ } else {
+ if (netsim->priv->main_loop != NULL) {
+ GSource *source;
+ guint id;
+
+ /* Adds an Idle Source which quits the main loop from within.
+ * This removes the possibility for run/quit race conditions. */
+ GST_TRACE_OBJECT (netsim, "DEACT: Stopping main loop on deactivate");
+ source = g_idle_source_new ();
+ g_source_set_callback (source, _main_loop_quit_and_remove_source,
+ g_main_loop_ref (netsim->priv->main_loop),
+ (GDestroyNotify) g_main_loop_unref);
+ id = g_source_attach (source,
+ g_main_loop_get_context (netsim->priv->main_loop));
+ g_source_unref (source);
+ g_assert_cmpuint (id, >, 0);
+ g_main_loop_unref (netsim->priv->main_loop);
+ netsim->priv->main_loop = NULL;
+
+ GST_TRACE_OBJECT (netsim, "DEACT: Wait for mainloop and task to pause");
+ g_assert (netsim->priv->running);
+ while (netsim->priv->running)
+ g_cond_wait (&netsim->priv->start_cond, &netsim->priv->loop_mutex);
+
+ GST_TRACE_OBJECT (netsim, "DEACT: Stopping task on srcpad");
+ result = gst_pad_stop_task (netsim->priv->srcpad);
+ GST_TRACE_OBJECT (netsim, "DEACT: Mainloop and GstTask stopped");
+ }
+ }
+ g_mutex_unlock (&netsim->priv->loop_mutex);
+
+ return result;
+}
+
+typedef struct
+{
+ GstPad *pad;
+ GstBuffer *buf;
+} PushBufferCtx;
+
+G_INLINE_FUNC PushBufferCtx *
+push_buffer_ctx_new (GstPad * pad, GstBuffer * buf)
+{
+ PushBufferCtx *ctx = g_slice_new (PushBufferCtx);
+ ctx->pad = gst_object_ref (pad);
+ ctx->buf = gst_buffer_ref (buf);
+ return ctx;
+}
+
+G_INLINE_FUNC void
+push_buffer_ctx_free (PushBufferCtx * ctx)
+{
+ if (G_LIKELY (ctx != NULL)) {
+ gst_buffer_unref (ctx->buf);
+ gst_object_unref (ctx->pad);
+ g_slice_free (PushBufferCtx, ctx);
+ }
+}
+
+static gboolean
+push_buffer_ctx_push (PushBufferCtx * ctx)
+{
+ GST_DEBUG_OBJECT (ctx->pad, "Pushing buffer now");
+ gst_pad_push (ctx->pad, gst_buffer_ref (ctx->buf));
+ return FALSE;
+}
+
+static GstFlowReturn
+gst_net_sim_delay_buffer (GstNetSim * netsim, GstBuffer * buf)
+{
+ GstFlowReturn ret = GST_FLOW_OK;
+
+ g_mutex_lock (&netsim->priv->loop_mutex);
+ if (netsim->priv->main_loop != NULL && netsim->priv->delay_probability > 0 &&
+ g_rand_double (netsim->priv->rand_seed) < netsim->priv->delay_probability)
+ {
+ PushBufferCtx *ctx = push_buffer_ctx_new (netsim->priv->srcpad, buf);
+ gint delay = g_rand_int_range (netsim->priv->rand_seed,
+ netsim->priv->min_delay, netsim->priv->max_delay);
+ GSource *source = g_timeout_source_new (delay);
+
+ GST_DEBUG_OBJECT (netsim, "Delaying packet by %d", delay);
+ g_source_set_callback (source, (GSourceFunc) push_buffer_ctx_push,
+ ctx, (GDestroyNotify) push_buffer_ctx_free);
+ g_source_attach (source, g_main_loop_get_context (netsim->priv->main_loop));
+ g_source_unref (source);
+ } else {
+ ret = gst_pad_push (netsim->priv->srcpad, gst_buffer_ref (buf));
+ }
+ g_mutex_unlock (&netsim->priv->loop_mutex);
+
+ return ret;
+}
+
+static GstFlowReturn
+gst_net_sim_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
+{
+ GstNetSim *netsim = GST_NET_SIM (parent);
+ GstFlowReturn ret = GST_FLOW_OK;
+
+ (void) pad;
+
+ if (netsim->priv->drop_packets > 0) {
+ netsim->priv->drop_packets--;
+ GST_DEBUG_OBJECT (netsim, "Dropping packet (%d left)",
+ netsim->priv->drop_packets);
+ } else if (netsim->priv->drop_probability > 0
+ && g_rand_double (netsim->priv->rand_seed) <
+ (gdouble) netsim->priv->drop_probability) {
+ GST_DEBUG_OBJECT (netsim, "Dropping packet");
+ } else if (netsim->priv->duplicate_probability > 0 &&
+ g_rand_double (netsim->priv->rand_seed) <
+ (gdouble) netsim->priv->duplicate_probability) {
+ GST_DEBUG_OBJECT (netsim, "Duplicating packet");
+ gst_net_sim_delay_buffer (netsim, buf);
+ ret = gst_net_sim_delay_buffer (netsim, buf);
+ } else {
+ ret = gst_net_sim_delay_buffer (netsim, buf);
+ }
+
+ gst_buffer_unref (buf);
+
+ return ret;
+}
+
+
+static void
+gst_net_sim_set_property (GObject * object,
+ guint prop_id, const GValue * value, GParamSpec * pspec)
+{
+ GstNetSim *netsim = GST_NET_SIM (object);
+
+ switch (prop_id) {
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ case ARG_MIN_DELAY:
+ netsim->priv->min_delay = g_value_get_int (value);
+ break;
+ case ARG_MAX_DELAY:
+ netsim->priv->max_delay = g_value_get_int (value);
+ break;
+ case ARG_DELAY_PROBABILITY:
+ netsim->priv->delay_probability = g_value_get_float (value);
+ break;
+ case ARG_DROP_PROBABILITY:
+ netsim->priv->drop_probability = g_value_get_float (value);
+ break;
+ case ARG_DUPLICATE_PROBABILITY:
+ netsim->priv->duplicate_probability = g_value_get_float (value);
+ break;
+ case ARG_DROP_PACKETS:
+ netsim->priv->drop_packets = g_value_get_uint (value);
+ break;
+ }
+}
+
+static void
+gst_net_sim_get_property (GObject * object,
+ guint prop_id, GValue * value, GParamSpec * pspec)
+{
+ GstNetSim *netsim = GST_NET_SIM (object);
+
+ switch (prop_id) {
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ case ARG_MIN_DELAY:
+ g_value_set_int (value, netsim->priv->min_delay);
+ break;
+ case ARG_MAX_DELAY:
+ g_value_set_int (value, netsim->priv->max_delay);
+ break;
+ case ARG_DELAY_PROBABILITY:
+ g_value_set_float (value, netsim->priv->delay_probability);
+ break;
+ case ARG_DROP_PROBABILITY:
+ g_value_set_float (value, netsim->priv->drop_probability);
+ break;
+ case ARG_DUPLICATE_PROBABILITY:
+ g_value_set_float (value, netsim->priv->duplicate_probability);
+ break;
+ case ARG_DROP_PACKETS:
+ g_value_set_uint (value, netsim->priv->drop_packets);
+ break;
+ }
+}
+
+
+static void
+gst_net_sim_init (GstNetSim * netsim)
+{
+ netsim->priv = GST_NET_SIM_GET_PRIVATE (netsim);
+
+ netsim->priv->srcpad =
+ gst_pad_new_from_static_template (&gst_net_sim_src_template, "src");
+ netsim->priv->sinkpad =
+ gst_pad_new_from_static_template (&gst_net_sim_sink_template, "sink");
+
+ gst_element_add_pad (GST_ELEMENT (netsim), netsim->priv->srcpad);
+ gst_element_add_pad (GST_ELEMENT (netsim), netsim->priv->sinkpad);
+
+ g_mutex_init (&netsim->priv->loop_mutex);
+ g_cond_init (&netsim->priv->start_cond);
+ netsim->priv->rand_seed = g_rand_new ();
+ netsim->priv->main_loop = NULL;
+
+ GST_OBJECT_FLAG_SET (netsim->priv->sinkpad,
+ GST_PAD_FLAG_PROXY_CAPS | GST_PAD_FLAG_PROXY_ALLOCATION);
+
+ gst_pad_set_chain_function (netsim->priv->sinkpad,
+ GST_DEBUG_FUNCPTR (gst_net_sim_chain));
+ gst_pad_set_activatemode_function (netsim->priv->srcpad,
+ GST_DEBUG_FUNCPTR (gst_net_sim_src_activatemode));
+}
+
+static void
+gst_net_sim_finalize (GObject * object)
+{
+ GstNetSim *netsim = GST_NET_SIM (object);
+
+ g_rand_free (netsim->priv->rand_seed);
+ g_mutex_clear (&netsim->priv->loop_mutex);
+ g_cond_clear (&netsim->priv->start_cond);
+
+ G_OBJECT_CLASS (gst_net_sim_parent_class)->finalize (object);
+}
+
+static void
+gst_net_sim_dispose (GObject * object)
+{
+ GstNetSim *netsim = GST_NET_SIM (object);
+
+ g_assert (netsim->priv->main_loop == NULL);
+
+ G_OBJECT_CLASS (gst_net_sim_parent_class)->dispose (object);
+}
+
+static void
+gst_net_sim_class_init (GstNetSimClass * klass)
+{
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
+
+ g_type_class_add_private (klass, sizeof (GstNetSimPrivate));
+
+ gst_element_class_add_pad_template (gstelement_class,
+ gst_static_pad_template_get (&gst_net_sim_src_template));
+ gst_element_class_add_pad_template (gstelement_class,
+ gst_static_pad_template_get (&gst_net_sim_sink_template));
+
+ gst_element_class_set_metadata (gstelement_class,
+ "Network Simulator",
+ "Filter/Network",
+ "An element that simulates network jitter, "
+ "packet loss and packet duplication",
+ "Philippe Kalaf <philippe.kalaf@collabora.co.uk>");
+
+ gobject_class->dispose = GST_DEBUG_FUNCPTR (gst_net_sim_dispose);
+ gobject_class->finalize = GST_DEBUG_FUNCPTR (gst_net_sim_finalize);
+
+ gobject_class->set_property = gst_net_sim_set_property;
+ gobject_class->get_property = gst_net_sim_get_property;
+
+ g_object_class_install_property (gobject_class, ARG_MIN_DELAY,
+ g_param_spec_int ("min-delay", "Minimum delay (ms)",
+ "The minimum delay in ms to apply to buffers",
+ G_MININT, G_MAXINT, DEFAULT_MIN_DELAY,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
+
+ g_object_class_install_property (gobject_class, ARG_MAX_DELAY,
+ g_param_spec_int ("max-delay", "Maximum delay (ms)",
+ "The maximum delay in ms to apply to buffers",
+ G_MININT, G_MAXINT, DEFAULT_MAX_DELAY,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
+
+ g_object_class_install_property (gobject_class, ARG_DELAY_PROBABILITY,
+ g_param_spec_float ("delay-probability", "Delay Probability",
+ "The Probability a buffer is delayed",
+ 0.0, 1.0, DEFAULT_DELAY_PROBABILITY,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
+
+ g_object_class_install_property (gobject_class, ARG_DROP_PROBABILITY,
+ g_param_spec_float ("drop-probability", "Drop Probability",
+ "The Probability a buffer is dropped",
+ 0.0, 1.0, DEFAULT_DROP_PROBABILITY,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
+
+ g_object_class_install_property (gobject_class, ARG_DUPLICATE_PROBABILITY,
+ g_param_spec_float ("duplicate-probability", "Duplicate Probability",
+ "The Probability a buffer is duplicated",
+ 0.0, 1.0, DEFAULT_DUPLICATE_PROBABILITY,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
+
+ g_object_class_install_property (gobject_class, ARG_DROP_PACKETS,
+ g_param_spec_uint ("drop-packets", "Drop Packets",
+ "Drop the next n packets",
+ 0, G_MAXUINT, DEFAULT_DROP_PACKETS,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
+
+ GST_DEBUG_CATEGORY_INIT (netsim_debug, "netsim", 0, "Network simulator");
+}
+
+static gboolean
+gst_net_sim_plugin_init (GstPlugin * plugin)
+{
+ return gst_element_register (plugin, "netsim",
+ GST_RANK_MARGINAL, GST_TYPE_NET_SIM);
+}
+
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+ GST_VERSION_MINOR,
+ netsim,
+ "Network Simulator",
+ gst_net_sim_plugin_init, PACKAGE_VERSION, "LGPL", GST_PACKAGE_NAME,
+ GST_PACKAGE_ORIGIN)
diff --git a/gst/netsim/gstnetsim.h b/gst/netsim/gstnetsim.h
new file mode 100644
index 0000000..1db437e
--- /dev/null
+++ b/gst/netsim/gstnetsim.h
@@ -0,0 +1,72 @@
+/*
+ * Farsight Voice+Video library
+ *
+ * Copyright 2006 Collabora Ltd,
+ * Copyright 2006 Nokia Corporation
+ * @author: Philippe Kalaf <philippe.kalaf@collabora.co.uk>.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ */
+
+#ifndef __GST_NET_SIM_H__
+#define __GST_NET_SIM_H__
+
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+
+/* #define's don't like whitespacey bits */
+#define GST_TYPE_NET_SIM \
+ (gst_net_sim_get_type())
+#define GST_NET_SIM(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST((obj), \
+ GST_TYPE_NET_SIM,GstNetSim))
+#define GST_NET_SIM_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST((klass), \
+ GST_TYPE_NET_SIM,GstNetSimClass))
+#define GST_IS_NET_SIM(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_NET_SIM))
+#define GST_IS_NET_SIM_CLASS(obj) \
+ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_NET_SIM))
+
+typedef struct _GstNetSim GstNetSim;
+typedef struct _GstNetSimClass GstNetSimClass;
+typedef struct _GstNetSimPrivate GstNetSimPrivate;
+
+struct _GstNetSim
+{
+ GstElement parent;
+
+ GstNetSimPrivate *priv;
+
+ /*< private > */
+ gpointer _gst_reserved[GST_PADDING];
+};
+
+struct _GstNetSimClass
+{
+ GstElementClass parent_class;
+
+ /*< private > */
+ gpointer _gst_reserved[GST_PADDING];
+};
+
+GType gst_net_sim_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GST_NET_SIM_H__ */
diff --git a/gst/nuvdemux/Makefile.in b/gst/nuvdemux/Makefile.in
index 15a3d2e..fc59722 100644
--- a/gst/nuvdemux/Makefile.in
+++ b/gst/nuvdemux/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -322,7 +321,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -344,7 +342,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -366,9 +363,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -530,6 +524,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -543,8 +538,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -631,8 +624,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -684,6 +675,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -704,6 +696,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -741,7 +735,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/onvif/Makefile.in b/gst/onvif/Makefile.in
index 99ab850..067abc7 100644
--- a/gst/onvif/Makefile.in
+++ b/gst/onvif/Makefile.in
@@ -115,16 +115,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -322,7 +321,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -344,7 +342,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -366,9 +363,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -530,6 +524,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -543,8 +538,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -631,8 +624,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -684,6 +675,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -704,6 +696,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -741,7 +735,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/patchdetect/Makefile.in b/gst/patchdetect/Makefile.in
index 9958c65..fa7a5cc 100644
--- a/gst/patchdetect/Makefile.in
+++ b/gst/patchdetect/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -325,7 +324,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +345,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +366,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +527,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +541,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +627,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +678,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +699,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +738,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/pcapparse/Makefile.in b/gst/pcapparse/Makefile.in
index 2bb8ec6..71b498a 100644
--- a/gst/pcapparse/Makefile.in
+++ b/gst/pcapparse/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -325,7 +324,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +345,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +366,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +527,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +541,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +627,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +678,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +699,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +738,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/pnm/Makefile.in b/gst/pnm/Makefile.in
index 38bef83..3c935b0 100644
--- a/gst/pnm/Makefile.in
+++ b/gst/pnm/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -325,7 +324,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +345,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +366,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +527,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +541,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +627,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +678,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +699,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +738,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/rawparse/Makefile.in b/gst/rawparse/Makefile.in
index 0dd2393..b314a10 100644
--- a/gst/rawparse/Makefile.in
+++ b/gst/rawparse/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -325,7 +324,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +345,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +366,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +527,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +541,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +627,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +678,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +699,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +738,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/rawparse/gstrawparse.c b/gst/rawparse/gstrawparse.c
index 0308890..a6468d9 100644
--- a/gst/rawparse/gstrawparse.c
+++ b/gst/rawparse/gstrawparse.c
@@ -222,6 +222,22 @@
}
rp->negotiated = gst_pad_set_caps (rp->srcpad, caps);
+
+ /* if subclass inplement decide_allocation, send an allocation
+ * query, pass result to subclass and let it handle allocation if needed. */
+ if (rp_class->decide_allocation) {
+ GstQuery *query;
+
+ query = gst_query_new_allocation (caps, TRUE);
+ if (!gst_pad_peer_query (rp->srcpad, query)) {
+ /* not a problem, just debug a little */
+ GST_DEBUG_OBJECT (rp, "peer ALLOCATION query failed");
+ }
+
+ rp_class->decide_allocation (rp, query);
+ gst_query_unref (query);
+ }
+
gst_caps_unref (caps);
return rp->negotiated;
@@ -233,10 +249,12 @@
GstFlowReturn ret;
gint nframes;
GstRawParseClass *rpclass;
+ gsize size;
rpclass = GST_RAW_PARSE_GET_CLASS (rp);
- nframes = gst_buffer_get_size (buffer) / rp->framesize;
+ size = gst_buffer_get_size (buffer);
+ nframes = size / rp->framesize;
if (rp->segment.rate < 0) {
rp->n_frames -= nframes;
@@ -257,8 +275,8 @@
GST_BUFFER_DURATION (buffer) = GST_CLOCK_TIME_NONE;
}
- if (rpclass->set_buffer_flags) {
- rpclass->set_buffer_flags (rp, buffer);
+ if (rpclass->pre_push_buffer) {
+ rpclass->pre_push_buffer (rp, buffer);
}
if (rp->discont) {
@@ -267,7 +285,7 @@
}
if (rp->segment.rate >= 0) {
- rp->offset += gst_buffer_get_size (buffer);
+ rp->offset += size;
rp->n_frames += nframes;
}
diff --git a/gst/rawparse/gstrawparse.h b/gst/rawparse/gstrawparse.h
index f62bb98..2327dc6 100644
--- a/gst/rawparse/gstrawparse.h
+++ b/gst/rawparse/gstrawparse.h
@@ -77,7 +77,8 @@
GstElementClass parent_class;
GstCaps * (*get_caps) (GstRawParse *rp);
- void (*set_buffer_flags) (GstRawParse *rp, GstBuffer *buffer);
+ void (*pre_push_buffer) (GstRawParse *rp, GstBuffer *buffer);
+ void (*decide_allocation) (GstRawParse *rp, GstQuery *query);
gboolean multiple_frames_per_buffer;
};
diff --git a/gst/rawparse/gstvideoparse.c b/gst/rawparse/gstvideoparse.c
index b8bc7d1..7b5e037 100644
--- a/gst/rawparse/gstvideoparse.c
+++ b/gst/rawparse/gstvideoparse.c
@@ -37,10 +37,14 @@
GValue * value, GParamSpec * pspec);
static GstCaps *gst_video_parse_get_caps (GstRawParse * rp);
-static void gst_video_parse_set_buffer_flags (GstRawParse * rp,
+static void gst_video_parse_pre_push_buffer (GstRawParse * rp,
GstBuffer * buffer);
+static void gst_video_parse_decide_allocation (GstRawParse * rp,
+ GstQuery * query);
-static void gst_video_parse_update_frame_size (GstVideoParse * vp);
+static void gst_video_parse_update_info (GstVideoParse * vp);
+static gboolean gst_video_parse_deserialize_int_array (const gchar * str,
+ gint * dest, guint n_values);
GST_DEBUG_CATEGORY_STATIC (gst_video_parse_debug);
#define GST_CAT_DEFAULT gst_video_parse_debug
@@ -54,7 +58,10 @@
PROP_PAR,
PROP_FRAMERATE,
PROP_INTERLACED,
- PROP_TOP_FIELD_FIRST
+ PROP_TOP_FIELD_FIRST,
+ PROP_STRIDES,
+ PROP_OFFSETS,
+ PROP_FRAMESIZE
};
#define gst_video_parse_parent_class parent_class
@@ -72,7 +79,8 @@
gobject_class->get_property = gst_video_parse_get_property;
rp_class->get_caps = gst_video_parse_get_caps;
- rp_class->set_buffer_flags = gst_video_parse_set_buffer_flags;
+ rp_class->pre_push_buffer = gst_video_parse_pre_push_buffer;
+ rp_class->decide_allocation = gst_video_parse_decide_allocation;
g_object_class_install_property (gobject_class, PROP_FORMAT,
g_param_spec_enum ("format", "Format", "Format of images in raw stream",
@@ -100,6 +108,18 @@
g_param_spec_boolean ("top-field-first", "Top field first",
"True if top field is earlier than bottom field", TRUE,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class, PROP_STRIDES,
+ g_param_spec_string ("strides", "Strides",
+ "Stride of each planes in bytes using string format: 's0,s1,s2,s3'",
+ NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class, PROP_OFFSETS,
+ g_param_spec_string ("offsets", "Offsets",
+ "Offset of each planes in bytes using string format: 'o0,o1,o2,o3'",
+ NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class, PROP_FRAMESIZE,
+ g_param_spec_uint ("framesize", "Framesize",
+ "Size of an image in raw stream (0: default)", 0, G_MAXUINT, 0,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
gst_element_class_set_static_metadata (gstelement_class, "Video Parse",
"Filter/Video",
@@ -126,8 +146,8 @@
vp->par_n = 1;
vp->par_d = 1;
- gst_video_parse_update_frame_size (vp);
gst_raw_parse_set_fps (GST_RAW_PARSE (vp), 25, 1);
+ gst_video_parse_update_info (vp);
}
static void
@@ -163,12 +183,35 @@
case PROP_TOP_FIELD_FIRST:
vp->top_field_first = g_value_get_boolean (value);
break;
+ case PROP_STRIDES:
+ if (gst_video_parse_deserialize_int_array (g_value_get_string (value),
+ vp->stride, GST_VIDEO_MAX_PLANES)) {
+ vp->stride_set = TRUE;
+ } else {
+ GST_WARNING_OBJECT (vp, "failed to deserialize given strides");
+ vp->stride_set = FALSE;
+ }
+
+ break;
+ case PROP_OFFSETS:
+ if (gst_video_parse_deserialize_int_array (g_value_get_string (value),
+ vp->offset, GST_VIDEO_MAX_PLANES)) {
+ vp->offset_set = TRUE;
+ } else {
+ GST_WARNING_OBJECT (vp, "failed to deserialized given offsets");
+ vp->offset_set = FALSE;
+ }
+
+ break;
+ case PROP_FRAMESIZE:
+ vp->framesize = g_value_get_uint (value);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
- gst_video_parse_update_frame_size (vp);
+ gst_video_parse_update_info (vp);
}
static void
@@ -203,22 +246,259 @@
case PROP_TOP_FIELD_FIRST:
g_value_set_boolean (value, vp->top_field_first);
break;
+ case PROP_STRIDES:
+ {
+ gchar *tmp;
+
+ tmp = g_strdup_printf ("%d,%d,%d,%d", vp->info.stride[0],
+ vp->info.stride[1], vp->info.stride[2], vp->info.stride[3]);
+ g_value_set_string (value, tmp);
+ g_free (tmp);
+ break;
+ }
+ case PROP_OFFSETS:
+ {
+ gchar *tmp;
+
+ tmp = g_strdup_printf ("%" G_GSIZE_FORMAT ",%" G_GSIZE_FORMAT
+ ",%" G_GSIZE_FORMAT ",%" G_GSIZE_FORMAT, vp->info.offset[0],
+ vp->info.offset[1], vp->info.offset[2], vp->info.offset[3]);
+ g_value_set_string (value, tmp);
+ g_free (tmp);
+ break;
+ }
+ case PROP_FRAMESIZE:
+ g_value_set_uint (value, vp->info.size);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
-void
-gst_video_parse_update_frame_size (GstVideoParse * vp)
+static gboolean
+gst_video_parse_deserialize_int_array (const gchar * str, gint * dest,
+ guint n_values)
{
+ gchar **strv;
+ guint length;
+ guint i;
+
+ strv = g_strsplit (str, ",", n_values);
+ if (strv == NULL)
+ return FALSE;
+
+ length = g_strv_length (strv);
+
+ for (i = 0; i < length; i++) {
+ gint64 val;
+
+ val = g_ascii_strtoll (strv[i], NULL, 10);
+ if (val < G_MININT || val > G_MAXINT) {
+ g_strfreev (strv);
+ return FALSE;
+ }
+
+ dest[i] = val;
+ }
+
+ /* fill remaining values with 0 */
+ for (i = length; i < n_values; i++)
+ dest[i] = 0;
+
+ g_strfreev (strv);
+
+ return TRUE;
+}
+
+static inline gsize
+gst_video_parse_get_plane_size (GstVideoInfo * info, guint plane)
+{
+ gsize size = 0;
+
+ if (GST_VIDEO_FORMAT_INFO_IS_TILED (info->finfo)) {
+ gint tile_width, tile_height, x_tiles, y_tiles;
+
+ tile_width = 1 << GST_VIDEO_FORMAT_INFO_TILE_WS (info->finfo);
+ tile_height = 1 << GST_VIDEO_FORMAT_INFO_TILE_HS (info->finfo);
+ x_tiles = GST_VIDEO_TILE_X_TILES (info->stride[plane]);
+ y_tiles = GST_VIDEO_TILE_Y_TILES (info->stride[plane]);
+
+ /* plane size is the size of one tile multiplied by the number of tiles */
+ size = tile_width * tile_height * x_tiles * y_tiles;
+ } else {
+ size = info->stride[plane] *
+ GST_VIDEO_FORMAT_INFO_SCALE_HEIGHT (info->finfo, plane, info->height);
+ }
+
+ return size;
+}
+
+
+static gboolean
+gst_video_parse_update_stride (GstVideoParse * vp)
+{
+ GstVideoInfo *info = &vp->info;
+ guint i;
+
+ /* 1. check that provided strides are greater than the default ones */
+ for (i = 0; i < GST_VIDEO_INFO_N_PLANES (info); i++) {
+ if (GST_VIDEO_FORMAT_INFO_IS_TILED (info->finfo)) {
+ /* for tiled format, make sure there is more tiles than default */
+ gint default_x_tiles, default_y_tiles, x_tiles, y_tiles;
+
+ x_tiles = GST_VIDEO_TILE_X_TILES (vp->stride[i]);
+ y_tiles = GST_VIDEO_TILE_Y_TILES (vp->stride[i]);
+ default_x_tiles = GST_VIDEO_TILE_X_TILES (info->stride[i]);
+ default_y_tiles = GST_VIDEO_TILE_Y_TILES (info->stride[i]);
+
+ if (x_tiles < default_x_tiles) {
+ GST_WARNING_OBJECT (vp,
+ "x_tiles for plane %u is too small: got %d, min %d", i, x_tiles,
+ default_x_tiles);
+ return FALSE;
+ }
+
+ if (y_tiles < default_y_tiles) {
+ GST_WARNING_OBJECT (vp,
+ "y_tiles for plane %u is too small: got %d, min %d", i, y_tiles,
+ default_y_tiles);
+ return FALSE;
+ }
+ } else {
+ if (vp->stride[i] < info->stride[i]) {
+ GST_WARNING_OBJECT (vp,
+ "stride for plane %u is too small: got %d, min %d", i,
+ vp->stride[i], info->stride[i]);
+ return FALSE;
+ }
+ }
+ }
+
+ /* 2. update stride and plane offsets */
+ for (i = 0; i < GST_VIDEO_INFO_N_PLANES (info); i++) {
+ if (vp->stride[i] != info->stride[i]) {
+ info->stride[i] = vp->stride[i];
+
+ if (i > 0) {
+ /* update offset to reflect stride change for plane > 0 */
+ info->offset[i] = info->offset[i - 1] +
+ gst_video_parse_get_plane_size (info, i - 1);
+ }
+
+ vp->need_videometa = TRUE;
+ }
+ }
+
+ return TRUE;
+}
+
+static gboolean
+gst_video_parse_update_offset (GstVideoParse * vp)
+{
+ GstVideoInfo *info = &vp->info;
+ guint i;
+
+ /* 1. check that provided offsets are greaters than the default ones and are
+ * consistent with plane size */
+ for (i = 0; i < GST_VIDEO_INFO_N_PLANES (info); i++) {
+ gsize min_offset = info->offset[i];
+
+ if (i > 0)
+ min_offset = MAX (min_offset,
+ vp->offset[i - 1] + gst_video_parse_get_plane_size (info, i - 1));
+
+ if (vp->offset[i] < min_offset) {
+ GST_WARNING_OBJECT (vp,
+ "offset for plane %u is too small: got %d, min %" G_GSIZE_FORMAT, i,
+ vp->offset[i], min_offset);
+ return FALSE;
+ }
+ }
+
+ /* 2. update offsets */
+ for (i = 0; i < GST_VIDEO_INFO_N_PLANES (info); i++) {
+ if (vp->offset[i] != info->offset[i]) {
+ info->offset[i] = vp->offset[i];
+ vp->need_videometa = TRUE;
+ }
+ }
+
+ return TRUE;
+}
+
+static void
+gst_video_parse_update_info (GstVideoParse * vp)
+{
+ GstVideoInfo *info = &vp->info;
+ gint fps_n, fps_d;
gint framesize;
- GstVideoInfo info;
+ guint i;
+ gboolean update_size = FALSE;
- gst_video_info_init (&info);
- gst_video_info_set_format (&info, vp->format, vp->width, vp->height);
- framesize = GST_VIDEO_INFO_SIZE (&info);
+ gst_raw_parse_get_fps (GST_RAW_PARSE (vp), &fps_n, &fps_d);
+ gst_video_info_init (info);
+ gst_video_info_set_format (info, vp->format, vp->width, vp->height);
+ info->fps_n = fps_n;
+ info->fps_d = fps_d;
+ info->par_n = vp->par_n;
+ info->par_d = vp->par_d;
+ info->interlace_mode = vp->interlaced ?
+ GST_VIDEO_INTERLACE_MODE_INTERLEAVED :
+ GST_VIDEO_INTERLACE_MODE_PROGRESSIVE;
+
+ vp->need_videometa = FALSE;
+
+ if (vp->stride_set) {
+ if (gst_video_parse_update_stride (vp))
+ update_size = TRUE;
+ else
+ GST_WARNING_OBJECT (vp, "invalid strides set, use default ones");
+ }
+
+ if (vp->offset_set) {
+ if (gst_video_parse_update_offset (vp))
+ update_size = TRUE;
+ else
+ GST_WARNING_OBJECT (vp, "invalid offsets set, use default ones");
+ }
+
+ if (update_size) {
+ framesize = 0;
+
+ for (i = 0; i < GST_VIDEO_INFO_N_PLANES (info); i++) {
+ gint planesize = info->offset[i];
+ planesize += gst_video_parse_get_plane_size (info, i);
+
+ if (planesize > framesize)
+ framesize = planesize;
+ }
+
+ info->size = framesize;
+ }
+
+ if (vp->framesize) {
+ /* user requires a specific framesize, just make sure it's bigger than
+ * the current one */
+
+ if (vp->framesize > vp->info.size)
+ vp->info.size = vp->framesize;
+ else
+ GST_WARNING_OBJECT (vp, "invalid framesize set: got %u, min: %"
+ G_GSIZE_FORMAT, vp->framesize, vp->info.size);
+ }
+
+ GST_DEBUG_OBJECT (vp, "video info: %ux%u, format %s, size %" G_GSIZE_FORMAT
+ ", stride {%d,%d,%d,%d}, offset {%" G_GSIZE_FORMAT ",%" G_GSIZE_FORMAT
+ ",%" G_GSIZE_FORMAT ",%" G_GSIZE_FORMAT "}",
+ GST_VIDEO_INFO_WIDTH (info), GST_VIDEO_INFO_HEIGHT (info),
+ GST_VIDEO_INFO_NAME (info), GST_VIDEO_INFO_SIZE (info),
+ info->stride[0], info->stride[1], info->stride[2], info->stride[3],
+ info->offset[0], info->offset[1], info->offset[2], info->offset[3]);
+
+ /* update base class framesize */
+ framesize = GST_VIDEO_INFO_SIZE (info);
gst_raw_parse_set_framesize (GST_RAW_PARSE (vp), framesize);
}
@@ -226,32 +506,70 @@
gst_video_parse_get_caps (GstRawParse * rp)
{
GstVideoParse *vp = GST_VIDEO_PARSE (rp);
- GstVideoInfo info;
- GstCaps *caps;
- gint fps_n, fps_d;
- gst_raw_parse_get_fps (rp, &fps_n, &fps_d);
+ return gst_video_info_to_caps (&vp->info);
+}
- gst_video_info_init (&info);
- gst_video_info_set_format (&info, vp->format, vp->width, vp->height);
- info.fps_n = fps_n;
- info.fps_d = fps_d;
- info.par_n = vp->par_n;
- info.par_d = vp->par_d;
- info.interlace_mode = vp->interlaced ?
- GST_VIDEO_INTERLACE_MODE_INTERLEAVED :
- GST_VIDEO_INTERLACE_MODE_PROGRESSIVE;
+static gboolean
+gst_video_parse_copy_frame (GstVideoParse * vp, GstBuffer * dest,
+ GstVideoInfo * dest_info, GstBuffer * src, GstVideoInfo * src_info)
+{
+ GstVideoFrame src_frame;
+ GstVideoFrame dest_frame;
+ gboolean ret;
- caps = gst_video_info_to_caps (&info);
+ if (!gst_video_frame_map (&src_frame, src_info, src, GST_MAP_READ)) {
+ GST_ERROR_OBJECT (vp, "failed to map src frame");
+ return FALSE;
+ }
- return caps;
+ if (!gst_video_frame_map (&dest_frame, dest_info, dest, GST_MAP_WRITE)) {
+ GST_ERROR_OBJECT (vp, "failed to map dest frame");
+ gst_video_frame_unmap (&src_frame);
+ return FALSE;
+ }
+
+ ret = gst_video_frame_copy (&dest_frame, &src_frame);
+
+ gst_video_frame_unmap (&src_frame);
+ gst_video_frame_unmap (&dest_frame);
+
+ return ret;
}
static void
-gst_video_parse_set_buffer_flags (GstRawParse * rp, GstBuffer * buffer)
+gst_video_parse_pre_push_buffer (GstRawParse * rp, GstBuffer * buffer)
{
GstVideoParse *vp = GST_VIDEO_PARSE (rp);
+ if (vp->do_copy) {
+ GstVideoInfo info;
+ GstBuffer *outbuf;
+
+ gst_video_info_init (&info);
+ gst_video_info_set_format (&info, vp->format, vp->width, vp->height);
+
+ GST_DEBUG_OBJECT (vp, "copying frame to remove padding");
+
+ outbuf = gst_buffer_new_allocate (NULL, GST_VIDEO_INFO_SIZE (&info), NULL);
+
+ if (!gst_video_parse_copy_frame (vp, outbuf, &info, buffer, &vp->info))
+ GST_WARNING_OBJECT (vp, "failed to copy frame");
+
+ gst_buffer_replace_all_memory (buffer, gst_buffer_get_all_memory (outbuf));
+ gst_buffer_unref (outbuf);
+ } else {
+ GstVideoInfo *info = &vp->info;
+ GstVideoFrameFlags flags = GST_VIDEO_FRAME_FLAG_NONE;
+
+ if (vp->interlaced && vp->top_field_first)
+ flags = GST_VIDEO_FRAME_FLAG_TFF;
+
+ gst_buffer_add_video_meta_full (buffer, flags, GST_VIDEO_INFO_FORMAT (info),
+ GST_VIDEO_INFO_WIDTH (info), GST_VIDEO_INFO_HEIGHT (info),
+ GST_VIDEO_INFO_N_PLANES (info), info->offset, info->stride);
+ }
+
if (vp->interlaced) {
if (vp->top_field_first) {
GST_BUFFER_FLAG_SET (buffer, GST_VIDEO_BUFFER_FLAG_TFF);
@@ -260,3 +578,20 @@
}
}
}
+
+static void
+gst_video_parse_decide_allocation (GstRawParse * rp, GstQuery * query)
+{
+ GstVideoParse *vp = GST_VIDEO_PARSE (rp);
+ gboolean has_videometa;
+
+ has_videometa = gst_query_find_allocation_meta (query,
+ GST_VIDEO_META_API_TYPE, NULL);
+
+ /* no need to copy if downstream supports videometa or if we don't need
+ * them */
+ if (has_videometa || !vp->need_videometa)
+ return;
+
+ vp->do_copy = TRUE;
+}
diff --git a/gst/rawparse/gstvideoparse.h b/gst/rawparse/gstvideoparse.h
index b4173df..dd540c5 100644
--- a/gst/rawparse/gstvideoparse.h
+++ b/gst/rawparse/gstvideoparse.h
@@ -48,6 +48,12 @@
{
GstRawParse parent;
+ GstVideoInfo info;
+ gboolean do_copy;
+ gboolean need_videometa;
+ gboolean stride_set;
+ gboolean offset_set;
+
/* properties */
GstVideoFormat format;
gint width;
@@ -55,6 +61,9 @@
gint par_n, par_d;
gboolean interlaced;
gboolean top_field_first;
+ gint stride[GST_VIDEO_MAX_PLANES];
+ gint offset[GST_VIDEO_MAX_PLANES];
+ guint framesize;
};
struct _GstVideoParseClass
diff --git a/gst/removesilence/Makefile.in b/gst/removesilence/Makefile.in
index ecd0b53..6340dd5 100644
--- a/gst/removesilence/Makefile.in
+++ b/gst/removesilence/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -325,7 +324,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +345,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +366,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +527,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +541,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +627,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +678,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +699,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +738,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/rtp/Makefile.am b/gst/rtp/Makefile.am
deleted file mode 100644
index 8566ed0..0000000
--- a/gst/rtp/Makefile.am
+++ /dev/null
@@ -1,25 +0,0 @@
-plugin_LTLIBRARIES = libgstrtpbad.la
-
-libgstrtpbad_la_SOURCES = \
- gstrtp.c \
- gstrtph265depay.c \
- gstrtph265pay.c
-
-libgstrtpbad_la_CFLAGS = $(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) \
- $(GST_CFLAGS)
-
-libgstrtpbad_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) \
- $(top_builddir)/gst-libs/gst/codecparsers/libgstcodecparsers-$(GST_API_VERSION).la \
- -lgstaudio-@GST_API_VERSION@ \
- -lgstvideo-@GST_API_VERSION@ \
- -lgsttag-@GST_API_VERSION@ \
- -lgstrtp-@GST_API_VERSION@ \
- -lgstpbutils-@GST_API_VERSION@ \
- $(GST_BASE_LIBS) $(GST_LIBS) \
- $(LIBM)
-libgstrtpbad_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
-libgstrtpbad_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
-
-noinst_HEADERS = \
- gstrtph265depay.h \
- gstrtph265pay.h
diff --git a/gst/rtp/Makefile.in b/gst/rtp/Makefile.in
deleted file mode 100644
index 381e8b1..0000000
--- a/gst/rtp/Makefile.in
+++ /dev/null
@@ -1,1159 +0,0 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-VPATH = @srcdir@
-am__is_gnu_make = { \
- if test -z '$(MAKELEVEL)'; then \
- false; \
- elif test -n '$(MAKE_HOST)'; then \
- true; \
- elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
- true; \
- else \
- false; \
- fi; \
-}
-am__make_running_with_option = \
- case $${target_option-} in \
- ?) ;; \
- *) echo "am__make_running_with_option: internal error: invalid" \
- "target option '$${target_option-}' specified" >&2; \
- exit 1;; \
- esac; \
- has_opt=no; \
- sane_makeflags=$$MAKEFLAGS; \
- if $(am__is_gnu_make); then \
- sane_makeflags=$$MFLAGS; \
- else \
- case $$MAKEFLAGS in \
- *\\[\ \ ]*) \
- bs=\\; \
- sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
- | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
- esac; \
- fi; \
- skip_next=no; \
- strip_trailopt () \
- { \
- flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
- }; \
- for flg in $$sane_makeflags; do \
- test $$skip_next = yes && { skip_next=no; continue; }; \
- case $$flg in \
- *=*|--*) continue;; \
- -*I) strip_trailopt 'I'; skip_next=yes;; \
- -*I?*) strip_trailopt 'I';; \
- -*O) strip_trailopt 'O'; skip_next=yes;; \
- -*O?*) strip_trailopt 'O';; \
- -*l) strip_trailopt 'l'; skip_next=yes;; \
- -*l?*) strip_trailopt 'l';; \
- -[dEDm]) skip_next=yes;; \
- -[JT]) skip_next=yes;; \
- esac; \
- case $$flg in \
- *$$target_option*) has_opt=yes; break;; \
- esac; \
- done; \
- test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = gst/rtp
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
- $(top_srcdir)/common/m4/as-auto-alt.m4 \
- $(top_srcdir)/common/m4/as-compiler-flag.m4 \
- $(top_srcdir)/common/m4/as-libtool.m4 \
- $(top_srcdir)/common/m4/as-version.m4 \
- $(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
- $(top_srcdir)/common/m4/ax_pthread.m4 \
- $(top_srcdir)/common/m4/gst-arch.m4 \
- $(top_srcdir)/common/m4/gst-args.m4 \
- $(top_srcdir)/common/m4/gst-check.m4 \
- $(top_srcdir)/common/m4/gst-default.m4 \
- $(top_srcdir)/common/m4/gst-dowhile.m4 \
- $(top_srcdir)/common/m4/gst-error.m4 \
- $(top_srcdir)/common/m4/gst-feature.m4 \
- $(top_srcdir)/common/m4/gst-gettext.m4 \
- $(top_srcdir)/common/m4/gst-glib2.m4 \
- $(top_srcdir)/common/m4/gst-package-release-datetime.m4 \
- $(top_srcdir)/common/m4/gst-platform.m4 \
- $(top_srcdir)/common/m4/gst-plugin-docs.m4 \
- $(top_srcdir)/common/m4/gst-plugindir.m4 \
- $(top_srcdir)/common/m4/gst.m4 \
- $(top_srcdir)/common/m4/gtk-doc.m4 \
- $(top_srcdir)/common/m4/introspection.m4 \
- $(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
- $(am__DIST_COMMON)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
- srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
- for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
- for p in $$list; do echo "$$p $$p"; done | \
- sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
- $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
- if (++n[$$2] == $(am__install_max)) \
- { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
- END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
- sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
- sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
- }
-am__installdirs = "$(DESTDIR)$(plugindir)"
-LTLIBRARIES = $(plugin_LTLIBRARIES)
-am__DEPENDENCIES_1 =
-libgstrtpbad_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
- $(top_builddir)/gst-libs/gst/codecparsers/libgstcodecparsers-$(GST_API_VERSION).la \
- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1)
-am_libgstrtpbad_la_OBJECTS = libgstrtpbad_la-gstrtp.lo \
- libgstrtpbad_la-gstrtph265depay.lo \
- libgstrtpbad_la-gstrtph265pay.lo
-libgstrtpbad_la_OBJECTS = $(am_libgstrtpbad_la_OBJECTS)
-AM_V_lt = $(am__v_lt_@AM_V@)
-am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-am__v_lt_1 =
-libgstrtpbad_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
- $(libgstrtpbad_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
- $(CCLD) $(libgstrtpbad_la_CFLAGS) $(CFLAGS) \
- $(libgstrtpbad_la_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_P = $(am__v_P_@AM_V@)
-am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_@AM_V@)
-am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
-am__v_GEN_0 = @echo " GEN " $@;
-am__v_GEN_1 =
-AM_V_at = $(am__v_at_@AM_V@)
-am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_@AM_V@)
-am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
-am__v_CC_0 = @echo " CC " $@;
-am__v_CC_1 =
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_@AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo " CCLD " $@;
-am__v_CCLD_1 =
-SOURCES = $(libgstrtpbad_la_SOURCES)
-DIST_SOURCES = $(libgstrtpbad_la_SOURCES)
-am__can_run_installinfo = \
- case $$AM_UPDATE_INFO_DIR in \
- n|no|NO) false;; \
- *) (install-info --version) >/dev/null 2>&1;; \
- esac
-HEADERS = $(noinst_HEADERS)
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates. Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
- BEGIN { nonempty = 0; } \
- { items[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique. This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
- list='$(am__tagged_files)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-ACMENC_CFLAGS = @ACMENC_CFLAGS@
-ACMMP3DEC_CFLAGS = @ACMMP3DEC_CFLAGS@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-APEXSINK_CFLAGS = @APEXSINK_CFLAGS@
-APEXSINK_LIBS = @APEXSINK_LIBS@
-AR = @AR@
-AS = @AS@
-ASSRENDER_CFLAGS = @ASSRENDER_CFLAGS@
-ASSRENDER_LIBS = @ASSRENDER_LIBS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BLUEZ5_CFLAGS = @BLUEZ5_CFLAGS@
-BLUEZ5_LIBS = @BLUEZ5_LIBS@
-BS2B_CFLAGS = @BS2B_CFLAGS@
-BS2B_LIBS = @BS2B_LIBS@
-BZ2_LIBS = @BZ2_LIBS@
-CC = @CC@
-CCASFLAGS = @CCASFLAGS@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CHROMAPRINT_CFLAGS = @CHROMAPRINT_CFLAGS@
-CHROMAPRINT_LIBS = @CHROMAPRINT_LIBS@
-CLUTTER_CFLAGS = @CLUTTER_CFLAGS@
-CLUTTER_GLX_CFLAGS = @CLUTTER_GLX_CFLAGS@
-CLUTTER_GLX_LIBS = @CLUTTER_GLX_LIBS@
-CLUTTER_LIBS = @CLUTTER_LIBS@
-CLUTTER_X11_CFLAGS = @CLUTTER_X11_CFLAGS@
-CLUTTER_X11_LIBS = @CLUTTER_X11_LIBS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CUDA_CFLAGS = @CUDA_CFLAGS@
-CUDA_LIBS = @CUDA_LIBS@
-CURL_CFLAGS = @CURL_CFLAGS@
-CURL_LIBS = @CURL_LIBS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DAALA_CFLAGS = @DAALA_CFLAGS@
-DAALA_LIBS = @DAALA_LIBS@
-DCCP_LIBS = @DCCP_LIBS@
-DECKLINK_CXXFLAGS = @DECKLINK_CXXFLAGS@
-DECKLINK_LIBS = @DECKLINK_LIBS@
-DEFAULT_AUDIOSINK = @DEFAULT_AUDIOSINK@
-DEFAULT_AUDIOSRC = @DEFAULT_AUDIOSRC@
-DEFAULT_VIDEOSINK = @DEFAULT_VIDEOSINK@
-DEFAULT_VIDEOSRC = @DEFAULT_VIDEOSRC@
-DEFAULT_VISUALIZER = @DEFAULT_VISUALIZER@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DEPRECATED_CFLAGS = @DEPRECATED_CFLAGS@
-DIRECT3D_LIBS = @DIRECT3D_LIBS@
-DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
-DIRECTFB_LIBS = @DIRECTFB_LIBS@
-DIRECTSOUND_LIBS = @DIRECTSOUND_LIBS@
-DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
-DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DTLS_CFLAGS = @DTLS_CFLAGS@
-DTLS_LIBS = @DTLS_LIBS@
-DTS_LIBS = @DTS_LIBS@
-DUMPBIN = @DUMPBIN@
-DVDNAV_CFLAGS = @DVDNAV_CFLAGS@
-DVDNAV_LIBS = @DVDNAV_LIBS@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGL_CFLAGS = @EGL_CFLAGS@
-EGL_LIBS = @EGL_LIBS@
-EGREP = @EGREP@
-ERROR_CFLAGS = @ERROR_CFLAGS@
-ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
-ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
-EXEEXT = @EXEEXT@
-EXIF_CFLAGS = @EXIF_CFLAGS@
-EXIF_LIBS = @EXIF_LIBS@
-FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
-FAAD_LIBS = @FAAD_LIBS@
-FFLAGS = @FFLAGS@
-FGREP = @FGREP@
-FLITE_CFLAGS = @FLITE_CFLAGS@
-FLITE_LIBS = @FLITE_LIBS@
-FLUIDSYNTH_CFLAGS = @FLUIDSYNTH_CFLAGS@
-FLUIDSYNTH_LIBS = @FLUIDSYNTH_LIBS@
-GCOV = @GCOV@
-GCOV_CFLAGS = @GCOV_CFLAGS@
-GCOV_LIBS = @GCOV_LIBS@
-GDBUS_CODEGEN = @GDBUS_CODEGEN@
-GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
-GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
-GIO_CFLAGS = @GIO_CFLAGS@
-GIO_LDFLAGS = @GIO_LDFLAGS@
-GIO_LIBS = @GIO_LIBS@
-GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
-GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
-GLES2_CFLAGS = @GLES2_CFLAGS@
-GLES2_LIBS = @GLES2_LIBS@
-GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
-GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
-GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
-GLIB_LIBS = @GLIB_LIBS@
-GLIB_MKENUMS = @GLIB_MKENUMS@
-GLIB_PREFIX = @GLIB_PREFIX@
-GLIB_REQ = @GLIB_REQ@
-GL_CFLAGS = @GL_CFLAGS@
-GL_LIBS = @GL_LIBS@
-GL_OBJCFLAGS = @GL_OBJCFLAGS@
-GME_LIBS = @GME_LIBS@
-GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
-GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
-GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
-GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
-GMSGFMT = @GMSGFMT@
-GMSGFMT_015 = @GMSGFMT_015@
-GNUSTL_CFLAGS = @GNUSTL_CFLAGS@
-GNUSTL_LIBS = @GNUSTL_LIBS@
-GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
-GRAPHENE_LIBS = @GRAPHENE_LIBS@
-GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
-GSM_LIBS = @GSM_LIBS@
-GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
-GSTPB_PREFIX = @GSTPB_PREFIX@
-GST_AGE = @GST_AGE@
-GST_ALLOCATORS_CFLAGS = @GST_ALLOCATORS_CFLAGS@
-GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
-GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
-GST_API_VERSION = @GST_API_VERSION@
-GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
-GST_BASE_LIBS = @GST_BASE_LIBS@
-GST_CFLAGS = @GST_CFLAGS@
-GST_CHECK_CFLAGS = @GST_CHECK_CFLAGS@
-GST_CHECK_LIBS = @GST_CHECK_LIBS@
-GST_CONTROLLER_CFLAGS = @GST_CONTROLLER_CFLAGS@
-GST_CONTROLLER_LIBS = @GST_CONTROLLER_LIBS@
-GST_CURRENT = @GST_CURRENT@
-GST_CXXFLAGS = @GST_CXXFLAGS@
-GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
-GST_LIBS = @GST_LIBS@
-GST_LIBVERSION = @GST_LIBVERSION@
-GST_LIB_LDFLAGS = @GST_LIB_LDFLAGS@
-GST_LICENSE = @GST_LICENSE@
-GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
-GST_NET_CFLAGS = @GST_NET_CFLAGS@
-GST_NET_LIBS = @GST_NET_LIBS@
-GST_OBJCFLAGS = @GST_OBJCFLAGS@
-GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
-GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
-GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
-GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
-GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
-GST_PBUTILS_CFLAGS = @GST_PBUTILS_CFLAGS@
-GST_PBUTILS_LIBS = @GST_PBUTILS_LIBS@
-GST_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
-GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
-GST_PLUGINS_BAD_CFLAGS = @GST_PLUGINS_BAD_CFLAGS@
-GST_PLUGINS_BAD_CXXFLAGS = @GST_PLUGINS_BAD_CXXFLAGS@
-GST_PLUGINS_BAD_OBJCFLAGS = @GST_PLUGINS_BAD_OBJCFLAGS@
-GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
-GST_PLUGINS_BASE_DIR = @GST_PLUGINS_BASE_DIR@
-GST_PLUGINS_BASE_LIBS = @GST_PLUGINS_BASE_LIBS@
-GST_PLUGINS_DIR = @GST_PLUGINS_DIR@
-GST_PLUGINS_GOOD_CFLAGS = @GST_PLUGINS_GOOD_CFLAGS@
-GST_PLUGINS_GOOD_DIR = @GST_PLUGINS_GOOD_DIR@
-GST_PLUGINS_GOOD_LIBS = @GST_PLUGINS_GOOD_LIBS@
-GST_PLUGINS_LIBAV_CFLAGS = @GST_PLUGINS_LIBAV_CFLAGS@
-GST_PLUGINS_LIBAV_DIR = @GST_PLUGINS_LIBAV_DIR@
-GST_PLUGINS_LIBAV_LIBS = @GST_PLUGINS_LIBAV_LIBS@
-GST_PLUGINS_NONPORTED = @GST_PLUGINS_NONPORTED@
-GST_PLUGINS_SELECTED = @GST_PLUGINS_SELECTED@
-GST_PLUGINS_UGLY_CFLAGS = @GST_PLUGINS_UGLY_CFLAGS@
-GST_PLUGINS_UGLY_DIR = @GST_PLUGINS_UGLY_DIR@
-GST_PLUGINS_UGLY_LIBS = @GST_PLUGINS_UGLY_LIBS@
-GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
-GST_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
-GST_PREFIX = @GST_PREFIX@
-GST_REVISION = @GST_REVISION@
-GST_TOOLS_DIR = @GST_TOOLS_DIR@
-GST_VIDEO_CFLAGS = @GST_VIDEO_CFLAGS@
-GST_VIDEO_LIBS = @GST_VIDEO_LIBS@
-GTK3_CFLAGS = @GTK3_CFLAGS@
-GTK3_GL_CFLAGS = @GTK3_GL_CFLAGS@
-GTK3_GL_LIBS = @GTK3_GL_LIBS@
-GTK3_LIBS = @GTK3_LIBS@
-GTK3_WAYLAND_CFLAGS = @GTK3_WAYLAND_CFLAGS@
-GTK3_WAYLAND_LIBS = @GTK3_WAYLAND_LIBS@
-GTK3_X11_CFLAGS = @GTK3_X11_CFLAGS@
-GTK3_X11_LIBS = @GTK3_X11_LIBS@
-GTKDOC_CHECK = @GTKDOC_CHECK@
-GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
-GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
-GTKDOC_MKPDF = @GTKDOC_MKPDF@
-GTKDOC_REBASE = @GTKDOC_REBASE@
-GTK_BASE_DIR = @GTK_BASE_DIR@
-GTK_CFLAGS = @GTK_CFLAGS@
-GTK_LIBS = @GTK_LIBS@
-GTK_VERSION = @GTK_VERSION@
-G_UDEV_CFLAGS = @G_UDEV_CFLAGS@
-G_UDEV_LIBS = @G_UDEV_LIBS@
-HAVE_CLUTTER = @HAVE_CLUTTER@
-HAVE_CLUTTER_GLX = @HAVE_CLUTTER_GLX@
-HAVE_CLUTTER_X11 = @HAVE_CLUTTER_X11@
-HAVE_CXX = @HAVE_CXX@
-HAVE_DIRECT3D = @HAVE_DIRECT3D@
-HAVE_DIRECTSOUND = @HAVE_DIRECTSOUND@
-HAVE_DTS = @HAVE_DTS@
-HAVE_EGL = @HAVE_EGL@
-HAVE_FAAC = @HAVE_FAAC@
-HAVE_FAAD = @HAVE_FAAD@
-HAVE_FLITE = @HAVE_FLITE@
-HAVE_GL = @HAVE_GL@
-HAVE_GLES2 = @HAVE_GLES2@
-HAVE_GRAPHENE = @HAVE_GRAPHENE@
-HAVE_GSM = @HAVE_GSM@
-HAVE_GTK3 = @HAVE_GTK3@
-HAVE_JPEG = @HAVE_JPEG@
-HAVE_NAS = @HAVE_NAS@
-HAVE_OPENJPEG = @HAVE_OPENJPEG@
-HAVE_PNG = @HAVE_PNG@
-HAVE_SRTP = @HAVE_SRTP@
-HAVE_WASAPI = @HAVE_WASAPI@
-HAVE_WILDMIDI = @HAVE_WILDMIDI@
-HAVE_WINKS = @HAVE_WINKS@
-HAVE_WINSCREENCAP = @HAVE_WINSCREENCAP@
-HAVE_X11 = @HAVE_X11@
-HTML_DIR = @HTML_DIR@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-INTLLIBS = @INTLLIBS@
-INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
-INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
-INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
-INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
-INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
-INTROSPECTION_INIT = @INTROSPECTION_INIT@
-INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
-INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
-INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
-INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
-JPEG_LIBS = @JPEG_LIBS@
-KATE_CFLAGS = @KATE_CFLAGS@
-KATE_LIBS = @KATE_LIBS@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBDC1394_CFLAGS = @LIBDC1394_CFLAGS@
-LIBDC1394_LIBS = @LIBDC1394_LIBS@
-LIBDE265_CFLAGS = @LIBDE265_CFLAGS@
-LIBDE265_LIBS = @LIBDE265_LIBS@
-LIBDIR = @LIBDIR@
-LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
-LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
-LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
-LIBICONV = @LIBICONV@
-LIBINTL = @LIBINTL@
-LIBM = @LIBM@
-LIBMMS_CFLAGS = @LIBMMS_CFLAGS@
-LIBMMS_LIBS = @LIBMMS_LIBS@
-LIBOBJS = @LIBOBJS@
-LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
-LIBPNG_LIBS = @LIBPNG_LIBS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBUDEV_CFLAGS = @LIBUDEV_CFLAGS@
-LIBUDEV_LIBS = @LIBUDEV_LIBS@
-LIBUSB_CFLAGS = @LIBUSB_CFLAGS@
-LIBUSB_LIBS = @LIBUSB_LIBS@
-LIBVISUAL_CFLAGS = @LIBVISUAL_CFLAGS@
-LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
-LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
-LIBXML2_LIBS = @LIBXML2_LIBS@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LOCALEDIR = @LOCALEDIR@
-LRDF_CFLAGS = @LRDF_CFLAGS@
-LRDF_LIBS = @LRDF_LIBS@
-LTLIBICONV = @LTLIBICONV@
-LTLIBINTL = @LTLIBINTL@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MIMIC_CFLAGS = @MIMIC_CFLAGS@
-MIMIC_LIBS = @MIMIC_LIBS@
-MJPEG_CFLAGS = @MJPEG_CFLAGS@
-MJPEG_LIBS = @MJPEG_LIBS@
-MKDIR_P = @MKDIR_P@
-MOC = @MOC@
-MODPLUG_CFLAGS = @MODPLUG_CFLAGS@
-MODPLUG_LIBS = @MODPLUG_LIBS@
-MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
-MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
-MPLEX_CFLAGS = @MPLEX_CFLAGS@
-MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
-MPLEX_LIBS = @MPLEX_LIBS@
-MSGFMT = @MSGFMT@
-MSGFMT_015 = @MSGFMT_015@
-MSGMERGE = @MSGMERGE@
-MUSEPACK_LIBS = @MUSEPACK_LIBS@
-NAS_CFLAGS = @NAS_CFLAGS@
-NAS_LIBS = @NAS_LIBS@
-NEON_CFLAGS = @NEON_CFLAGS@
-NEON_LIBS = @NEON_LIBS@
-NETTLE_CFLAGS = @NETTLE_CFLAGS@
-NETTLE_LIBS = @NETTLE_LIBS@
-NM = @NM@
-NMEDIT = @NMEDIT@
-NVENCODE_CFLAGS = @NVENCODE_CFLAGS@
-NVENCODE_LIBS = @NVENCODE_LIBS@
-OBJC = @OBJC@
-OBJCDEPMODE = @OBJCDEPMODE@
-OBJCFLAGS = @OBJCFLAGS@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OFA_CFLAGS = @OFA_CFLAGS@
-OFA_LIBS = @OFA_LIBS@
-OPENAL_CFLAGS = @OPENAL_CFLAGS@
-OPENAL_LIBS = @OPENAL_LIBS@
-OPENCV_CFLAGS = @OPENCV_CFLAGS@
-OPENCV_LIBS = @OPENCV_LIBS@
-OPENCV_PREFIX = @OPENCV_PREFIX@
-OPENEXR_CFLAGS = @OPENEXR_CFLAGS@
-OPENEXR_LIBS = @OPENEXR_LIBS@
-OPENH264_CFLAGS = @OPENH264_CFLAGS@
-OPENH264_LIBS = @OPENH264_LIBS@
-OPENJPEG_CFLAGS = @OPENJPEG_CFLAGS@
-OPENJPEG_LIBS = @OPENJPEG_LIBS@
-OPENNI2_CFLAGS = @OPENNI2_CFLAGS@
-OPENNI2_LIBS = @OPENNI2_LIBS@
-OPENSSL_CFLAGS = @OPENSSL_CFLAGS@
-OPENSSL_LIBS = @OPENSSL_LIBS@
-OPUS_CFLAGS = @OPUS_CFLAGS@
-OPUS_LIBS = @OPUS_LIBS@
-ORCC = @ORCC@
-ORCC_FLAGS = @ORCC_FLAGS@
-ORC_CFLAGS = @ORC_CFLAGS@
-ORC_LIBS = @ORC_LIBS@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PACKAGE_VERSION_MAJOR = @PACKAGE_VERSION_MAJOR@
-PACKAGE_VERSION_MICRO = @PACKAGE_VERSION_MICRO@
-PACKAGE_VERSION_MINOR = @PACKAGE_VERSION_MINOR@
-PACKAGE_VERSION_NANO = @PACKAGE_VERSION_NANO@
-PACKAGE_VERSION_RELEASE = @PACKAGE_VERSION_RELEASE@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKG_CONFIG = @PKG_CONFIG@
-PLUGINDIR = @PLUGINDIR@
-POSUB = @POSUB@
-PROFILE_CFLAGS = @PROFILE_CFLAGS@
-PTHREAD_CC = @PTHREAD_CC@
-PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
-PTHREAD_LIBS = @PTHREAD_LIBS@
-PVR_CFLAGS = @PVR_CFLAGS@
-PVR_LIBS = @PVR_LIBS@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-QT_ANDROID_CFLAGS = @QT_ANDROID_CFLAGS@
-QT_ANDROID_LIBS = @QT_ANDROID_LIBS@
-QT_CFLAGS = @QT_CFLAGS@
-QT_LIBS = @QT_LIBS@
-QT_MAC_CFLAGS = @QT_MAC_CFLAGS@
-QT_MAC_LIBS = @QT_MAC_LIBS@
-QT_WAYLAND_CFLAGS = @QT_WAYLAND_CFLAGS@
-QT_WAYLAND_LIBS = @QT_WAYLAND_LIBS@
-QT_X11_CFLAGS = @QT_X11_CFLAGS@
-QT_X11_LIBS = @QT_X11_LIBS@
-RANLIB = @RANLIB@
-RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
-RSVG_CFLAGS = @RSVG_CFLAGS@
-RSVG_LIBS = @RSVG_LIBS@
-RTMP_CFLAGS = @RTMP_CFLAGS@
-RTMP_LIBS = @RTMP_LIBS@
-SBC_CFLAGS = @SBC_CFLAGS@
-SBC_LIBS = @SBC_LIBS@
-SCHRO_CFLAGS = @SCHRO_CFLAGS@
-SCHRO_LIBS = @SCHRO_LIBS@
-SDL_CFLAGS = @SDL_CFLAGS@
-SDL_CLUTTER = @SDL_CLUTTER@
-SDL_CONFIG = @SDL_CONFIG@
-SDL_LIBS = @SDL_LIBS@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-SHM_LIBS = @SHM_LIBS@
-SLV2_CFLAGS = @SLV2_CFLAGS@
-SLV2_LIBS = @SLV2_LIBS@
-SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
-SNDFILE_LIBS = @SNDFILE_LIBS@
-SNDIO_LIBS = @SNDIO_LIBS@
-SOUNDTOUCH_CFLAGS = @SOUNDTOUCH_CFLAGS@
-SOUNDTOUCH_LIBS = @SOUNDTOUCH_LIBS@
-SPANDSP_CFLAGS = @SPANDSP_CFLAGS@
-SPANDSP_LIBS = @SPANDSP_LIBS@
-SPC_LIBS = @SPC_LIBS@
-SRTP_CFLAGS = @SRTP_CFLAGS@
-SRTP_LIBS = @SRTP_LIBS@
-SSH2_CFLAGS = @SSH2_CFLAGS@
-SSH2_LIBS = @SSH2_LIBS@
-STRIP = @STRIP@
-TELETEXTDEC_CFLAGS = @TELETEXTDEC_CFLAGS@
-TELETEXTDEC_LIBS = @TELETEXTDEC_LIBS@
-TIGER_CFLAGS = @TIGER_CFLAGS@
-TIGER_LIBS = @TIGER_LIBS@
-TIMIDITY_CFLAGS = @TIMIDITY_CFLAGS@
-TIMIDITY_LIBS = @TIMIDITY_LIBS@
-UIC = @UIC@
-USE_GLES2 = @USE_GLES2@
-USE_NLS = @USE_NLS@
-USE_OPENGL = @USE_OPENGL@
-VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
-VALGRIND_LIBS = @VALGRIND_LIBS@
-VALGRIND_PATH = @VALGRIND_PATH@
-VDPAU_CFLAGS = @VDPAU_CFLAGS@
-VDPAU_LIBS = @VDPAU_LIBS@
-VERSION = @VERSION@
-VOAACENC_CFLAGS = @VOAACENC_CFLAGS@
-VOAACENC_LIBS = @VOAACENC_LIBS@
-VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
-VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
-WARNING_CFLAGS = @WARNING_CFLAGS@
-WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
-WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
-WASAPI_LIBS = @WASAPI_LIBS@
-WAYLAND_CFLAGS = @WAYLAND_CFLAGS@
-WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
-WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
-WAYLAND_LIBS = @WAYLAND_LIBS@
-WEBP_CFLAGS = @WEBP_CFLAGS@
-WEBP_LIBS = @WEBP_LIBS@
-WGET = @WGET@
-WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
-WILDMIDI_LIBS = @WILDMIDI_LIBS@
-WINKS_LIBS = @WINKS_LIBS@
-WINSCREENCAP_LIBS = @WINSCREENCAP_LIBS@
-WINSOCK2_LIBS = @WINSOCK2_LIBS@
-X11_CFLAGS = @X11_CFLAGS@
-X11_LIBS = @X11_LIBS@
-X265_CFLAGS = @X265_CFLAGS@
-X265_LIBS = @X265_LIBS@
-XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
-XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
-XGETTEXT = @XGETTEXT@
-XGETTEXT_015 = @XGETTEXT_015@
-XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-XVID_LIBS = @XVID_LIBS@
-X_CFLAGS = @X_CFLAGS@
-X_LIBS = @X_LIBS@
-ZBAR_CFLAGS = @ZBAR_CFLAGS@
-ZBAR_LIBS = @ZBAR_LIBS@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-ac_ct_OBJC = @ac_ct_OBJC@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-ax_pthread_config = @ax_pthread_config@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-pkgpyexecdir = @pkgpyexecdir@
-pkgpythondir = @pkgpythondir@
-plugindir = @plugindir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pyexecdir = @pyexecdir@
-pythondir = @pythondir@
-runstatedir = @runstatedir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-wayland_scanner = @wayland_scanner@
-plugin_LTLIBRARIES = libgstrtpbad.la
-libgstrtpbad_la_SOURCES = \
- gstrtp.c \
- gstrtph265depay.c \
- gstrtph265pay.c
-
-libgstrtpbad_la_CFLAGS = $(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) \
- $(GST_CFLAGS)
-
-libgstrtpbad_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) \
- $(top_builddir)/gst-libs/gst/codecparsers/libgstcodecparsers-$(GST_API_VERSION).la \
- -lgstaudio-@GST_API_VERSION@ \
- -lgstvideo-@GST_API_VERSION@ \
- -lgsttag-@GST_API_VERSION@ \
- -lgstrtp-@GST_API_VERSION@ \
- -lgstpbutils-@GST_API_VERSION@ \
- $(GST_BASE_LIBS) $(GST_LIBS) \
- $(LIBM)
-
-libgstrtpbad_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
-libgstrtpbad_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
-noinst_HEADERS = \
- gstrtph265depay.h \
- gstrtph265pay.h
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst/rtp/Makefile'; \
- $(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu gst/rtp/Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
- list2=; for p in $$list; do \
- if test -f $$p; then \
- list2="$$list2 $$p"; \
- else :; fi; \
- done; \
- test -z "$$list2" || { \
- echo " $(MKDIR_P) '$(DESTDIR)$(plugindir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(plugindir)" || exit 1; \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(plugindir)'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(plugindir)"; \
- }
-
-uninstall-pluginLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
- for p in $$list; do \
- $(am__strip_dir) \
- echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(plugindir)/$$f'"; \
- $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(plugindir)/$$f"; \
- done
-
-clean-pluginLTLIBRARIES:
- -test -z "$(plugin_LTLIBRARIES)" || rm -f $(plugin_LTLIBRARIES)
- @list='$(plugin_LTLIBRARIES)'; \
- locs=`for p in $$list; do echo $$p; done | \
- sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
- sort -u`; \
- test -z "$$locs" || { \
- echo rm -f $${locs}; \
- rm -f $${locs}; \
- }
-
-libgstrtpbad.la: $(libgstrtpbad_la_OBJECTS) $(libgstrtpbad_la_DEPENDENCIES) $(EXTRA_libgstrtpbad_la_DEPENDENCIES)
- $(AM_V_CCLD)$(libgstrtpbad_la_LINK) -rpath $(plugindir) $(libgstrtpbad_la_OBJECTS) $(libgstrtpbad_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstrtpbad_la-gstrtp.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstrtpbad_la-gstrtph265depay.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstrtpbad_la-gstrtph265pay.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
-
-.c.obj:
-@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-
-libgstrtpbad_la-gstrtp.lo: gstrtp.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstrtpbad_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstrtpbad_la_CFLAGS) $(CFLAGS) -MT libgstrtpbad_la-gstrtp.lo -MD -MP -MF $(DEPDIR)/libgstrtpbad_la-gstrtp.Tpo -c -o libgstrtpbad_la-gstrtp.lo `test -f 'gstrtp.c' || echo '$(srcdir)/'`gstrtp.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstrtpbad_la-gstrtp.Tpo $(DEPDIR)/libgstrtpbad_la-gstrtp.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstrtp.c' object='libgstrtpbad_la-gstrtp.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 $(libgstrtpbad_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstrtpbad_la_CFLAGS) $(CFLAGS) -c -o libgstrtpbad_la-gstrtp.lo `test -f 'gstrtp.c' || echo '$(srcdir)/'`gstrtp.c
-
-libgstrtpbad_la-gstrtph265depay.lo: gstrtph265depay.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstrtpbad_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstrtpbad_la_CFLAGS) $(CFLAGS) -MT libgstrtpbad_la-gstrtph265depay.lo -MD -MP -MF $(DEPDIR)/libgstrtpbad_la-gstrtph265depay.Tpo -c -o libgstrtpbad_la-gstrtph265depay.lo `test -f 'gstrtph265depay.c' || echo '$(srcdir)/'`gstrtph265depay.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstrtpbad_la-gstrtph265depay.Tpo $(DEPDIR)/libgstrtpbad_la-gstrtph265depay.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstrtph265depay.c' object='libgstrtpbad_la-gstrtph265depay.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 $(libgstrtpbad_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstrtpbad_la_CFLAGS) $(CFLAGS) -c -o libgstrtpbad_la-gstrtph265depay.lo `test -f 'gstrtph265depay.c' || echo '$(srcdir)/'`gstrtph265depay.c
-
-libgstrtpbad_la-gstrtph265pay.lo: gstrtph265pay.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstrtpbad_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstrtpbad_la_CFLAGS) $(CFLAGS) -MT libgstrtpbad_la-gstrtph265pay.lo -MD -MP -MF $(DEPDIR)/libgstrtpbad_la-gstrtph265pay.Tpo -c -o libgstrtpbad_la-gstrtph265pay.lo `test -f 'gstrtph265pay.c' || echo '$(srcdir)/'`gstrtph265pay.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstrtpbad_la-gstrtph265pay.Tpo $(DEPDIR)/libgstrtpbad_la-gstrtph265pay.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstrtph265pay.c' object='libgstrtpbad_la-gstrtph265pay.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 $(libgstrtpbad_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstrtpbad_la_CFLAGS) $(CFLAGS) -c -o libgstrtpbad_la-gstrtph265pay.lo `test -f 'gstrtph265pay.c' || echo '$(srcdir)/'`gstrtph265pay.c
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-ID: $(am__tagged_files)
- $(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- set x; \
- here=`pwd`; \
- $(am__define_uniq_tagged_files); \
- shift; \
- if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- if test $$# -gt 0; then \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- "$$@" $$unique; \
- else \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$unique; \
- fi; \
- fi
-ctags: ctags-am
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
- $(am__define_uniq_tagged_files); \
- test -z "$(CTAGS_ARGS)$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && $(am__cd) $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
-
-cscopelist-am: $(am__tagged_files)
- list='$(am__tagged_files)'; \
- case "$(srcdir)" in \
- [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
- *) sdir=$(subdir)/$(srcdir) ;; \
- esac; \
- for i in $$list; do \
- if test -f "$$i"; then \
- echo "$(subdir)/$$i"; \
- else \
- echo "$$sdir/$$i"; \
- fi; \
- done >> $(top_builddir)/cscope.files
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d "$(distdir)/$$file"; then \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
- find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
- fi; \
- cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
- else \
- test -f "$(distdir)/$$file" \
- || cp -p $$d/$$file "$(distdir)/$$file" \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: 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-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- if test -z '$(STRIP)'; then \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- install; \
- else \
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
- fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-pluginLTLIBRARIES \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-pluginLTLIBRARIES
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-pluginLTLIBRARIES
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
- clean-libtool clean-pluginLTLIBRARIES cscopelist-am ctags \
- ctags-am distclean distclean-compile distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-pluginLTLIBRARIES install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
- uninstall-pluginLTLIBRARIES
-
-.PRECIOUS: Makefile
-
-
-# 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.
-.NOEXPORT:
diff --git a/gst/rtp/gstrtph265depay.c b/gst/rtp/gstrtph265depay.c
deleted file mode 100644
index bfc2e13..0000000
--- a/gst/rtp/gstrtph265depay.c
+++ /dev/null
@@ -1,1580 +0,0 @@
-/* GStreamer
- * Copyright (C) <2006> Wim Taymans <wim.taymans@gmail.com>
- * Copyright (C) <2014> Jurgen Slowack <jurgenslowack@gmail.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <stdio.h>
-#include <string.h>
-
-#include <gst/base/gstbitreader.h>
-#include <gst/rtp/gstrtpbuffer.h>
-#include <gst/video/video.h>
-#include "gstrtph265depay.h"
-
-GST_DEBUG_CATEGORY_STATIC (rtph265depay_debug);
-#define GST_CAT_DEFAULT (rtph265depay_debug)
-
-/* This is what we'll default to when downstream hasn't
- * expressed a restriction or preference via caps */
-#define DEFAULT_BYTE_STREAM TRUE
-#define DEFAULT_ACCESS_UNIT FALSE
-
-/* 3 zero bytes syncword */
-static const guint8 sync_bytes[] = { 0, 0, 0, 1 };
-
-static GstStaticPadTemplate gst_rtp_h265_depay_src_template =
- GST_STATIC_PAD_TEMPLATE ("src",
- GST_PAD_SRC,
- GST_PAD_ALWAYS,
- GST_STATIC_CAPS (
- /* FIXME - hvc1 and hev1 formats are not supported yet */
- /*"video/x-h265, "
- "stream-format = (string) hvc1, alignment = (string) au; "
- "video/x-h265, "
- "stream-format = (string) hev1, alignment = (string) au; " */
- "video/x-h265, "
- "stream-format = (string) byte-stream, alignment = (string) { nal, au }")
- );
-
-static GstStaticPadTemplate gst_rtp_h265_depay_sink_template =
-GST_STATIC_PAD_TEMPLATE ("sink",
- GST_PAD_SINK,
- GST_PAD_ALWAYS,
- GST_STATIC_CAPS ("application/x-rtp, "
- "media = (string) \"video\", "
- "clock-rate = (int) 90000, " "encoding-name = (string) \"H265\"")
- /** optional parameters **/
- /* "profile-space = (int) [ 0, 3 ], " */
- /* "profile-id = (int) [ 0, 31 ], " */
- /* "tier-flag = (int) [ 0, 1 ], " */
- /* "level-id = (int) [ 0, 255 ], " */
- /* "interop-constraints = (string) ANY, " */
- /* "profile-compatibility-indicator = (string) ANY, " */
- /* "sprop-sub-layer-id = (int) [ 0, 6 ], " */
- /* "recv-sub-layer-id = (int) [ 0, 6 ], " */
- /* "max-recv-level-id = (int) [ 0, 255 ], " */
- /* "tx-mode = (string) {MST , SST}, " */
- /* "sprop-vps = (string) ANY, " */
- /* "sprop-sps = (string) ANY, " */
- /* "sprop-pps = (string) ANY, " */
- /* "sprop-sei = (string) ANY, " */
- /* "max-lsr = (int) ANY, " *//* MUST be in the range of MaxLumaSR to 16 * MaxLumaSR, inclusive */
- /* "max-lps = (int) ANY, " *//* MUST be in the range of MaxLumaPS to 16 * MaxLumaPS, inclusive */
- /* "max-cpb = (int) ANY, " *//* MUST be in the range of MaxCPB to 16 * MaxCPB, inclusive */
- /* "max-dpb = (int) [1, 16], " */
- /* "max-br = (int) ANY, " *//* MUST be in the range of MaxBR to 16 * MaxBR, inclusive, for the highest level */
- /* "max-tr = (int) ANY, " *//* MUST be in the range of MaxTileRows to 16 * MaxTileRows, inclusive, for the highest level */
- /* "max-tc = (int) ANY, " *//* MUST be in the range of MaxTileCols to 16 * MaxTileCols, inclusive, for the highest level */
- /* "max-fps = (int) ANY, " */
- /* "sprop-max-don-diff = (int) [0, 32767], " */
- /* "sprop-depack-buf-nalus = (int) [0, 32767], " */
- /* "sprop-depack-buf-nalus = (int) [0, 4294967295], " */
- /* "depack-buf-cap = (int) [1, 4294967295], " */
- /* "sprop-segmentation-id = (int) [0, 3], " */
- /* "sprop-spatial-segmentation-idc = (string) ANY, " */
- /* "dec-parallel-cap = (string) ANY, " */
- );
-
-#define gst_rtp_h265_depay_parent_class parent_class
-G_DEFINE_TYPE (GstRtpH265Depay, gst_rtp_h265_depay,
- GST_TYPE_RTP_BASE_DEPAYLOAD);
-
-static void gst_rtp_h265_depay_finalize (GObject * object);
-
-static GstStateChangeReturn gst_rtp_h265_depay_change_state (GstElement *
- element, GstStateChange transition);
-
-static GstBuffer *gst_rtp_h265_depay_process (GstRTPBaseDepayload * depayload,
- GstRTPBuffer * rtp);
-static gboolean gst_rtp_h265_depay_setcaps (GstRTPBaseDepayload * filter,
- GstCaps * caps);
-static gboolean gst_rtp_h265_depay_handle_event (GstRTPBaseDepayload * depay,
- GstEvent * event);
-
-static void
-gst_rtp_h265_depay_class_init (GstRtpH265DepayClass * klass)
-{
- GObjectClass *gobject_class;
- GstElementClass *gstelement_class;
- GstRTPBaseDepayloadClass *gstrtpbasedepayload_class;
-
- gobject_class = (GObjectClass *) klass;
- gstelement_class = (GstElementClass *) klass;
- gstrtpbasedepayload_class = (GstRTPBaseDepayloadClass *) klass;
-
- gobject_class->finalize = gst_rtp_h265_depay_finalize;
-
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&gst_rtp_h265_depay_src_template));
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&gst_rtp_h265_depay_sink_template));
-
- gst_element_class_set_static_metadata (gstelement_class,
- "RTP H265 depayloader", "Codec/Depayloader/Network/RTP",
- "Extracts H265 video from RTP packets (draft-ietf-payload-rtp-h265-03.txt)",
- "Jurgen Slowack <jurgenslowack@gmail.com>");
- gstelement_class->change_state = gst_rtp_h265_depay_change_state;
-
- gstrtpbasedepayload_class->process_rtp_packet = gst_rtp_h265_depay_process;
- gstrtpbasedepayload_class->set_caps = gst_rtp_h265_depay_setcaps;
- gstrtpbasedepayload_class->handle_event = gst_rtp_h265_depay_handle_event;
-}
-
-static void
-gst_rtp_h265_depay_init (GstRtpH265Depay * rtph265depay)
-{
- rtph265depay->adapter = gst_adapter_new ();
- rtph265depay->picture_adapter = gst_adapter_new ();
- rtph265depay->byte_stream = DEFAULT_BYTE_STREAM;
- rtph265depay->stream_format = (gchar *) g_malloc (10);
- rtph265depay->merge = DEFAULT_ACCESS_UNIT;
- rtph265depay->vps = g_ptr_array_new_with_free_func (
- (GDestroyNotify) gst_buffer_unref);
- rtph265depay->sps = g_ptr_array_new_with_free_func (
- (GDestroyNotify) gst_buffer_unref);
- rtph265depay->pps = g_ptr_array_new_with_free_func (
- (GDestroyNotify) gst_buffer_unref);
-}
-
-static void
-gst_rtp_h265_depay_reset (GstRtpH265Depay * rtph265depay)
-{
- gst_adapter_clear (rtph265depay->adapter);
- rtph265depay->wait_start = TRUE;
- gst_adapter_clear (rtph265depay->picture_adapter);
- rtph265depay->picture_start = FALSE;
- rtph265depay->last_keyframe = FALSE;
- rtph265depay->last_ts = 0;
- rtph265depay->current_fu_type = 0;
- rtph265depay->new_codec_data = FALSE;
- g_ptr_array_set_size (rtph265depay->vps, 0);
- g_ptr_array_set_size (rtph265depay->sps, 0);
- g_ptr_array_set_size (rtph265depay->pps, 0);
-}
-
-static void
-gst_rtp_h265_depay_finalize (GObject * object)
-{
- GstRtpH265Depay *rtph265depay;
-
- rtph265depay = GST_RTP_H265_DEPAY (object);
-
- if (rtph265depay->codec_data)
- gst_buffer_unref (rtph265depay->codec_data);
-
- g_free (rtph265depay->stream_format);
-
- g_object_unref (rtph265depay->adapter);
- g_object_unref (rtph265depay->picture_adapter);
-
- g_ptr_array_free (rtph265depay->vps, TRUE);
- g_ptr_array_free (rtph265depay->sps, TRUE);
- g_ptr_array_free (rtph265depay->pps, TRUE);
-
- G_OBJECT_CLASS (parent_class)->finalize (object);
-}
-
-static void
-gst_rtp_h265_depay_negotiate (GstRtpH265Depay * rtph265depay)
-{
- GstCaps *caps;
- gint byte_stream = -1;
- gint merge = -1;
-
- caps =
- gst_pad_get_allowed_caps (GST_RTP_BASE_DEPAYLOAD_SRCPAD (rtph265depay));
-
- GST_DEBUG_OBJECT (rtph265depay, "allowed caps: %" GST_PTR_FORMAT, caps);
-
- if (caps) {
- if (gst_caps_get_size (caps) > 0) {
- GstStructure *s = gst_caps_get_structure (caps, 0);
- const gchar *str = NULL;
-
- if ((str = gst_structure_get_string (s, "stream-format"))) {
-
- strcpy (rtph265depay->stream_format, str);
-
- if (strcmp (str, "hev1") == 0) {
- byte_stream = FALSE;
- } else if (strcmp (str, "hvc1") == 0) {
- byte_stream = FALSE;
- } else if (strcmp (str, "byte-stream") == 0) {
- byte_stream = TRUE;
- } else {
- GST_DEBUG_OBJECT (rtph265depay, "unknown stream-format: %s", str);
- }
- }
-
- if ((str = gst_structure_get_string (s, "alignment"))) {
- if (strcmp (str, "au") == 0) {
- merge = TRUE;
- } else if (strcmp (str, "nal") == 0) {
- merge = FALSE;
- } else {
- GST_DEBUG_OBJECT (rtph265depay, "unknown alignment: %s", str);
- }
- }
- }
- gst_caps_unref (caps);
- }
-
- if (byte_stream != -1) {
- GST_DEBUG_OBJECT (rtph265depay, "downstream requires byte-stream %d",
- byte_stream);
- rtph265depay->byte_stream = byte_stream;
- } else {
- GST_DEBUG_OBJECT (rtph265depay, "defaulting to byte-stream %d",
- DEFAULT_BYTE_STREAM);
- strcpy (rtph265depay->stream_format, "byte-stream");
- rtph265depay->byte_stream = DEFAULT_BYTE_STREAM;
- }
- if (merge != -1) {
- GST_DEBUG_OBJECT (rtph265depay, "downstream requires merge %d", merge);
- rtph265depay->merge = merge;
- } else {
- GST_DEBUG_OBJECT (rtph265depay, "defaulting to merge %d",
- DEFAULT_ACCESS_UNIT);
- rtph265depay->merge = DEFAULT_ACCESS_UNIT;
- }
-}
-
-/* Stolen from bad/gst/mpegtsdemux/payloader_parsers.c */
-/* variable length Exp-Golomb parsing according to H.265 spec section 9.2*/
-static gboolean
-read_golomb (GstBitReader * br, guint32 * value)
-{
- guint8 b, leading_zeros = -1;
- *value = 1;
-
- for (b = 0; !b; leading_zeros++) {
- if (!gst_bit_reader_get_bits_uint8 (br, &b, 1))
- return FALSE;
- *value *= 2;
- }
-
- *value = (*value >> 1) - 1;
- if (leading_zeros > 0) {
- guint32 tmp = 0;
- if (!gst_bit_reader_get_bits_uint32 (br, &tmp, leading_zeros))
- return FALSE;
- *value += tmp;
- }
-
- return TRUE;
-}
-
-static gboolean
-parse_sps (GstMapInfo * map, guint32 * sps_id)
-{ /* To parse seq_parameter_set_id */
- GstBitReader br = GST_BIT_READER_INIT (map->data + 15,
- map->size - 15);
-
- if (map->size < 16)
- return FALSE;
-
- if (!read_golomb (&br, sps_id))
- return FALSE;
-
- return TRUE;
-}
-
-static gboolean
-parse_pps (GstMapInfo * map, guint32 * sps_id, guint32 * pps_id)
-{ /* To parse picture_parameter_set_id */
- GstBitReader br = GST_BIT_READER_INIT (map->data + 2,
- map->size - 2);
-
- if (map->size < 3)
- return FALSE;
-
- if (!read_golomb (&br, pps_id))
- return FALSE;
- if (!read_golomb (&br, sps_id))
- return FALSE;
-
- return TRUE;
-}
-
-
-static gboolean
-gst_rtp_h265_set_src_caps (GstRtpH265Depay * rtph265depay)
-{
- gboolean res;
- GstCaps *srccaps;
-
- if (!rtph265depay->byte_stream &&
- (!rtph265depay->new_codec_data ||
- rtph265depay->vps->len == 0 || rtph265depay->sps->len == 0
- || rtph265depay->pps->len == 0))
- return TRUE;
-
- srccaps = gst_caps_new_simple ("video/x-h265",
- "stream-format", G_TYPE_STRING,
- rtph265depay->stream_format,
- "alignment", G_TYPE_STRING, rtph265depay->merge ? "au" : "nal", NULL);
-
- if (!rtph265depay->byte_stream) {
-
- GstBuffer *codec_data;
- gint i = 0;
- gint len;
- guint num_vps = rtph265depay->vps->len;
- guint num_sps = rtph265depay->sps->len;
- guint num_pps = rtph265depay->pps->len;
- GstMapInfo map, nalmap;
- guint8 *data;
- gint nl;
- guint8 num_arrays = 0;
- guint new_size;
- GstBitReader br;
- guint32 tmp;
- guint8 tmp8 = 0;
- guint32 max_sub_layers_minus1, temporal_id_nesting_flag, chroma_format_idc,
- bit_depth_luma_minus8, bit_depth_chroma_minus8,
- min_spatial_segmentation_idc;
-
- /* Fixme: Current implementation is not embedding SEI in codec_data */
-
- if (num_sps == 0)
- return FALSE;
-
- /* start with 23 bytes header */
- len = 23;
-
- num_arrays = (num_vps > 0) + (num_sps > 0) + (num_pps > 0);
- len += num_arrays;
-
- /* add size of vps, sps & pps */
- for (i = 0; i < num_vps; i++)
- len += 2 + gst_buffer_get_size (g_ptr_array_index (rtph265depay->vps, i));
- for (i = 0; i < num_sps; i++)
- len += 2 + gst_buffer_get_size (g_ptr_array_index (rtph265depay->sps, i));
- for (i = 0; i < num_pps; i++)
- len += 2 + gst_buffer_get_size (g_ptr_array_index (rtph265depay->pps, i));
-
- GST_DEBUG_OBJECT (rtph265depay,
- "constructing codec_data: num_vps =%d num_sps=%d, num_pps=%d", num_vps,
- num_sps, num_pps);
-
- codec_data = gst_buffer_new_and_alloc (len);
- g_debug ("alloc_len: %u", len);
- gst_buffer_map (codec_data, &map, GST_MAP_READWRITE);
- data = map.data;
-
- memset (data, 0, map.size);
-
- /* Parsing sps to get the info required further on */
-
- gst_buffer_map (g_ptr_array_index (rtph265depay->sps, 0), &nalmap,
- GST_MAP_READ);
-
- max_sub_layers_minus1 = ((nalmap.data[2]) >> 1) & 0x07;
- temporal_id_nesting_flag = nalmap.data[2] & 0x01;
-
- gst_bit_reader_init (&br, nalmap.data + 15, nalmap.size - 15);
-
- read_golomb (&br, &tmp); /* sps_seq_parameter_set_id */
- read_golomb (&br, &chroma_format_idc); /* chroma_format_idc */
-
- if (chroma_format_idc == 3)
-
- gst_bit_reader_get_bits_uint8 (&br, &tmp8, 1); /* separate_colour_plane_flag */
-
- read_golomb (&br, &tmp); /* pic_width_in_luma_samples */
- read_golomb (&br, &tmp); /* pic_height_in_luma_samples */
-
- gst_bit_reader_get_bits_uint8 (&br, &tmp8, 1); /* conformance_window_flag */
- if (tmp8) {
- read_golomb (&br, &tmp); /* conf_win_left_offset */
- read_golomb (&br, &tmp); /* conf_win_right_offset */
- read_golomb (&br, &tmp); /* conf_win_top_offset */
- read_golomb (&br, &tmp); /* conf_win_bottom_offset */
- }
-
- read_golomb (&br, &bit_depth_luma_minus8); /* bit_depth_luma_minus8 */
- read_golomb (&br, &bit_depth_chroma_minus8); /* bit_depth_chroma_minus8 */
-
- GST_DEBUG_OBJECT (rtph265depay,
- "Ignoring min_spatial_segmentation for now (assuming zero)");
-
- min_spatial_segmentation_idc = 0; /* NOTE - we ignore this for now, but in a perfect world, we should continue parsing to obtain the real value */
-
- nl = nalmap.size;
-
- gst_buffer_unmap (g_ptr_array_index (rtph265depay->sps, 0), &nalmap);
-
- /* HEVCDecoderConfigurationVersion = 1 */
- data[0] = 1;
-
- /* Copy from profile_tier_level (Rec. ITU-T H.265 (04/2013) section 7.3.3
- *
- * profile_space | tier_flat | profile_idc |
- * profile_compatibility_flags | constraint_indicator_flags |
- * level_idc | progressive_source_flag | interlaced_source_flag
- * non_packed_constraint_flag | frame_only_constraint_flag
- * reserved_zero_44bits | level_idc */
- gst_buffer_map (g_ptr_array_index (rtph265depay->sps, 0), &nalmap,
- GST_MAP_READ);
- for (i = 0; i < 12; i++)
- data[i + 1] = nalmap.data[i];
- gst_buffer_unmap (g_ptr_array_index (rtph265depay->sps, 0), &nalmap);
-
- /* min_spatial_segmentation_idc */
- GST_WRITE_UINT16_BE (data + 13, min_spatial_segmentation_idc);
- data[13] |= 0xf0;
- data[15] = 0xfc; /* keeping parrallelismType as zero (unknown) */
- data[16] = 0xfc | chroma_format_idc;
- data[17] = 0xf8 | bit_depth_luma_minus8;
- data[18] = 0xf8 | bit_depth_chroma_minus8;
- data[19] = 0x00; /* keep avgFrameRate as unspecified */
- data[20] = 0x00; /* keep avgFrameRate as unspecified */
- /* constFrameRate(2 bits): 0, stream may or may not be of constant framerate
- * numTemporalLayers (3 bits): number of temporal layers, value from SPS
- * TemporalIdNested (1 bit): sps_temporal_id_nesting_flag from SPS
- * lengthSizeMinusOne (2 bits): plus 1 indicates the length of the NALUnitLength */
- data[21] =
- 0x00 | ((max_sub_layers_minus1 +
- 1) << 3) | (temporal_id_nesting_flag << 2) | (nl - 1);
- GST_WRITE_UINT8 (data + 22, num_arrays); /* numOfArrays */
-
- data += 23;
-
- /* copy all VPS */
- if (num_vps > 0) {
- /* array_completeness | reserved_zero bit | nal_unit_type */
- data[0] = 0x00 | 0x20;
- data++;
-
- GST_WRITE_UINT16_BE (data, num_vps);
- data += 2;
-
- for (i = 0; i < num_vps; i++) {
- gsize nal_size =
- gst_buffer_get_size (g_ptr_array_index (rtph265depay->vps, i));
- GST_WRITE_UINT16_BE (data, nal_size);
- gst_buffer_extract (g_ptr_array_index (rtph265depay->vps, i), 0,
- data + 2, nal_size);
- data += 2 + nal_size;
- GST_DEBUG_OBJECT (rtph265depay, "Copied VPS %d of length %u", i,
- (guint) nal_size);
- }
- }
-
- /* copy all SPS */
- if (num_sps > 0) {
- /* array_completeness | reserved_zero bit | nal_unit_type */
- data[0] = 0x00 | 0x21;
- data++;
-
- GST_WRITE_UINT16_BE (data, num_sps);
- data += 2;
-
- for (i = 0; i < num_sps; i++) {
- gsize nal_size =
- gst_buffer_get_size (g_ptr_array_index (rtph265depay->sps, i));
- GST_WRITE_UINT16_BE (data, nal_size);
- gst_buffer_extract (g_ptr_array_index (rtph265depay->sps, i), 0,
- data + 2, nal_size);
- data += 2 + nal_size;
- GST_DEBUG_OBJECT (rtph265depay, "Copied SPS %d of length %u", i,
- (guint) nal_size);
- }
- }
-
- /* copy all PPS */
- if (num_pps > 0) {
- /* array_completeness | reserved_zero bit | nal_unit_type */
- data[0] = 0x00 | 0x22;
- data++;
-
- GST_WRITE_UINT16_BE (data, num_pps);
- data += 2;
-
- for (i = 0; i < num_pps; i++) {
- gsize nal_size =
- gst_buffer_get_size (g_ptr_array_index (rtph265depay->pps, i));
- GST_WRITE_UINT16_BE (data, nal_size);
- gst_buffer_extract (g_ptr_array_index (rtph265depay->pps, i), 0,
- data + 2, nal_size);
- data += 2 + nal_size;
- GST_DEBUG_OBJECT (rtph265depay, "Copied PPS %d of length %u", i,
- (guint) nal_size);
- }
- }
-
- new_size = data - map.data;
- gst_buffer_unmap (codec_data, &map);
- gst_buffer_set_size (codec_data, new_size);
-
- gst_caps_set_simple (srccaps,
- "codec_data", GST_TYPE_BUFFER, codec_data, NULL);
- gst_buffer_unref (codec_data);
- }
-
- if (gst_pad_has_current_caps (GST_RTP_BASE_DEPAYLOAD_SRCPAD (rtph265depay))) {
- GstCaps *old_caps =
- gst_pad_get_current_caps (GST_RTP_BASE_DEPAYLOAD_SRCPAD (rtph265depay));
-
- /* Only update the caps if they are not equal. For
- * AVC we don't update caps if only the codec_data
- * changes. This is the same behaviour as in h264parse
- * and gstrtph264depay
- */
- if (rtph265depay->byte_stream) {
- if (!gst_caps_is_equal (srccaps, old_caps))
- res =
- gst_pad_set_caps (GST_RTP_BASE_DEPAYLOAD_SRCPAD (rtph265depay),
- srccaps);
- else
- res = TRUE;
- } else {
- GstCaps *tmp_caps = gst_caps_copy (srccaps);
- GstStructure *old_s, *tmp_s;
-
- old_s = gst_caps_get_structure (old_caps, 0);
- tmp_s = gst_caps_get_structure (tmp_caps, 0);
- if (gst_structure_has_field (old_s, "codec_data"))
- gst_structure_set_value (tmp_s, "codec_data",
- gst_structure_get_value (old_s, "codec_data"));
-
- if (!gst_caps_is_equal (old_caps, tmp_caps))
- res =
- gst_pad_set_caps (GST_RTP_BASE_DEPAYLOAD_SRCPAD (rtph265depay),
- srccaps);
- else
- res = TRUE;
-
- gst_caps_unref (tmp_caps);
- }
- } else {
- res =
- gst_pad_set_caps (GST_RTP_BASE_DEPAYLOAD_SRCPAD (rtph265depay),
- srccaps);
- }
-
- gst_caps_unref (srccaps);
-
- /* Insert SPS and PPS into the stream on next opportunity */
- if (rtph265depay->sps->len > 0 || rtph265depay->pps->len > 0) {
- gint i;
- GstBuffer *codec_data;
- GstMapInfo map;
- guint8 *data;
- guint len = 0;
-
- for (i = 0; i < rtph265depay->sps->len; i++) {
- len += 4 + gst_buffer_get_size (g_ptr_array_index (rtph265depay->sps, i));
- }
-
- for (i = 0; i < rtph265depay->pps->len; i++) {
- len += 4 + gst_buffer_get_size (g_ptr_array_index (rtph265depay->pps, i));
- }
-
- codec_data = gst_buffer_new_and_alloc (len);
- gst_buffer_map (codec_data, &map, GST_MAP_WRITE);
- data = map.data;
-
- for (i = 0; i < rtph265depay->sps->len; i++) {
- GstBuffer *sps_buf = g_ptr_array_index (rtph265depay->sps, i);
- guint sps_size = gst_buffer_get_size (sps_buf);
-
- if (rtph265depay->byte_stream)
- memcpy (data, sync_bytes, sizeof (sync_bytes));
- else
- GST_WRITE_UINT32_BE (data, sps_size);
- gst_buffer_extract (sps_buf, 0, data + 4, -1);
- data += 4 + sps_size;
- }
-
- for (i = 0; i < rtph265depay->pps->len; i++) {
- GstBuffer *pps_buf = g_ptr_array_index (rtph265depay->pps, i);
- guint pps_size = gst_buffer_get_size (pps_buf);
-
- if (rtph265depay->byte_stream)
- memcpy (data, sync_bytes, sizeof (sync_bytes));
- else
- GST_WRITE_UINT32_BE (data, pps_size);
- gst_buffer_extract (pps_buf, 0, data + 4, -1);
- data += 4 + pps_size;
- }
-
- gst_buffer_unmap (codec_data, &map);
- if (rtph265depay->codec_data)
- gst_buffer_unref (rtph265depay->codec_data);
- rtph265depay->codec_data = codec_data;
- }
-
- if (res)
- rtph265depay->new_codec_data = FALSE;
-
- return res;
-}
-
-gboolean
-gst_rtp_h265_add_vps_sps_pps (GstElement * rtph265, GPtrArray * vps_array,
- GPtrArray * sps_array, GPtrArray * pps_array, GstBuffer * nal)
-{
- GstMapInfo map;
- guchar type;
- guint i;
-
- gst_buffer_map (nal, &map, GST_MAP_READ);
-
- type = (map.data[0] >> 1) & 0x3f;
-
- if (type == GST_H265_VPS_NUT) {
- guint32 vps_id = (map.data[2] >> 4) & 0x0f;
-
- for (i = 0; i < vps_array->len; i++) {
- GstBuffer *vps = g_ptr_array_index (vps_array, i);
- GstMapInfo vpsmap;
- guint32 tmp_vps_id;
-
- gst_buffer_map (vps, &vpsmap, GST_MAP_READ);
- tmp_vps_id = (vpsmap.data[2] >> 4) & 0x0f;
-
- if (vps_id == tmp_vps_id) {
- if (map.size == vpsmap.size &&
- memcmp (map.data, vpsmap.data, vpsmap.size) == 0) {
- GST_LOG_OBJECT (rtph265, "Unchanged VPS %u, not updating", vps_id);
- gst_buffer_unmap (vps, &vpsmap);
- goto drop;
- } else {
- gst_buffer_unmap (vps, &vpsmap);
- g_ptr_array_remove_index_fast (vps_array, i);
- g_ptr_array_add (vps_array, nal);
- GST_LOG_OBJECT (rtph265, "Modified VPS %u, replacing", vps_id);
- goto done;
- }
- }
- gst_buffer_unmap (vps, &vpsmap);
- }
- GST_LOG_OBJECT (rtph265, "Adding new VPS %u", vps_id);
- g_ptr_array_add (vps_array, nal);
- } else if (type == GST_H265_SPS_NUT) {
- guint32 sps_id;
-
- if (!parse_sps (&map, &sps_id)) {
- GST_WARNING_OBJECT (rtph265, "Invalid SPS,"
- " can't parse seq_parameter_set_id");
- goto drop;
- }
-
- for (i = 0; i < sps_array->len; i++) {
- GstBuffer *sps = g_ptr_array_index (sps_array, i);
- GstMapInfo spsmap;
- guint32 tmp_sps_id;
-
- gst_buffer_map (sps, &spsmap, GST_MAP_READ);
- parse_sps (&spsmap, &tmp_sps_id);
-
- if (sps_id == tmp_sps_id) {
- if (map.size == spsmap.size &&
- memcmp (map.data, spsmap.data, spsmap.size) == 0) {
- GST_LOG_OBJECT (rtph265, "Unchanged SPS %u, not updating", sps_id);
- gst_buffer_unmap (sps, &spsmap);
- goto drop;
- } else {
- gst_buffer_unmap (sps, &spsmap);
- g_ptr_array_remove_index_fast (sps_array, i);
- g_ptr_array_add (sps_array, nal);
- GST_LOG_OBJECT (rtph265, "Modified SPS %u, replacing", sps_id);
- goto done;
- }
- }
- gst_buffer_unmap (sps, &spsmap);
- }
- GST_LOG_OBJECT (rtph265, "Adding new SPS %u", sps_id);
- g_ptr_array_add (sps_array, nal);
- } else if (type == GST_H265_PPS_NUT) {
- guint32 sps_id;
- guint32 pps_id;
-
- if (!parse_pps (&map, &sps_id, &pps_id)) {
- GST_WARNING_OBJECT (rtph265, "Invalid PPS,"
- " can't parse seq_parameter_set_id or pic_parameter_set_id");
- goto drop;
- }
-
- for (i = 0; i < pps_array->len; i++) {
- GstBuffer *pps = g_ptr_array_index (pps_array, i);
- GstMapInfo ppsmap;
- guint32 tmp_sps_id;
- guint32 tmp_pps_id;
-
-
- gst_buffer_map (pps, &ppsmap, GST_MAP_READ);
- parse_pps (&ppsmap, &tmp_sps_id, &tmp_pps_id);
-
- if (pps_id == tmp_pps_id) {
- if (map.size == ppsmap.size &&
- memcmp (map.data, ppsmap.data, ppsmap.size) == 0) {
- GST_LOG_OBJECT (rtph265, "Unchanged PPS %u:%u, not updating", sps_id,
- pps_id);
- gst_buffer_unmap (pps, &ppsmap);
- goto drop;
- } else {
- gst_buffer_unmap (pps, &ppsmap);
- g_ptr_array_remove_index_fast (pps_array, i);
- g_ptr_array_add (pps_array, nal);
- GST_LOG_OBJECT (rtph265, "Modified PPS %u:%u, replacing",
- sps_id, pps_id);
- goto done;
- }
- }
- gst_buffer_unmap (pps, &ppsmap);
- }
- GST_LOG_OBJECT (rtph265, "Adding new PPS %u:%i", sps_id, pps_id);
- g_ptr_array_add (pps_array, nal);
- } else {
- goto drop;
- }
-
-done:
- gst_buffer_unmap (nal, &map);
-
- return TRUE;
-
-drop:
- gst_buffer_unmap (nal, &map);
- gst_buffer_unref (nal);
-
- return FALSE;
-}
-
-
-static void
-gst_rtp_h265_depay_add_vps_sps_pps (GstRtpH265Depay * rtph265depay,
- GstBuffer * nal)
-{
- if (gst_rtp_h265_add_vps_sps_pps (GST_ELEMENT (rtph265depay),
- rtph265depay->vps, rtph265depay->sps, rtph265depay->pps, nal))
- rtph265depay->new_codec_data = TRUE;
-}
-
-static gboolean
-gst_rtp_h265_depay_setcaps (GstRTPBaseDepayload * depayload, GstCaps * caps)
-{
- gint clock_rate;
- GstStructure *structure = gst_caps_get_structure (caps, 0);
- GstRtpH265Depay *rtph265depay;
- const gchar *ps;
- GstBuffer *codec_data;
- GstMapInfo map;
- guint8 *ptr;
-
- rtph265depay = GST_RTP_H265_DEPAY (depayload);
-
- if (!gst_structure_get_int (structure, "clock-rate", &clock_rate))
- clock_rate = 90000;
- depayload->clock_rate = clock_rate;
-
- /* Base64 encoded, comma separated config NALs */
- ps = gst_structure_get_string (structure, "sprop-parameter-sets");
-
- /* negotiate with downstream w.r.t. output format and alignment */
- gst_rtp_h265_depay_negotiate (rtph265depay);
-
- if (rtph265depay->byte_stream && ps != NULL) {
- /* for bytestream we only need the parameter sets but we don't error out
- * when they are not there, we assume they are in the stream. */
- gchar **params;
- guint len, total;
- gint i;
-
- params = g_strsplit (ps, ",", 0);
-
- /* count total number of bytes in base64. Also include the sync bytes in
- * front of the params. */
- len = 0;
- for (i = 0; params[i]; i++) {
- len += strlen (params[i]);
- len += sizeof (sync_bytes);
- }
- /* we seriously overshoot the length, but it's fine. */
- codec_data = gst_buffer_new_and_alloc (len);
-
- gst_buffer_map (codec_data, &map, GST_MAP_WRITE);
- ptr = map.data;
- total = 0;
- for (i = 0; params[i]; i++) {
- guint save = 0;
- gint state = 0;
-
- GST_DEBUG_OBJECT (depayload, "decoding param %d (%s)", i, params[i]);
- memcpy (ptr, sync_bytes, sizeof (sync_bytes));
- ptr += sizeof (sync_bytes);
- len =
- g_base64_decode_step (params[i], strlen (params[i]), ptr, &state,
- &save);
- GST_DEBUG_OBJECT (depayload, "decoded %d bytes", len);
- total += len + sizeof (sync_bytes);
- ptr += len;
- }
- gst_buffer_unmap (codec_data, &map);
- gst_buffer_resize (codec_data, 0, total);
- g_strfreev (params);
-
- /* keep the codec_data, we need to send it as the first buffer. We cannot
- * push it in the adapter because the adapter might be flushed on discont.
- */
- if (rtph265depay->codec_data)
- gst_buffer_unref (rtph265depay->codec_data);
- rtph265depay->codec_data = codec_data;
- } else if (!rtph265depay->byte_stream) {
- gchar **params;
- gint i;
-
- if (ps == NULL)
- goto incomplete_caps;
-
- params = g_strsplit (ps, ",", 0);
-
- GST_DEBUG_OBJECT (depayload, "we have %d params", g_strv_length (params));
-
- /* start with 23 bytes header */
- for (i = 0; params[i]; i++) {
- GstBuffer *nal;
- GstMapInfo nalmap;
- gsize nal_len;
- guint save = 0;
- gint state = 0;
-
- nal_len = strlen (params[i]);
- nal = gst_buffer_new_and_alloc (nal_len);
- gst_buffer_map (nal, &nalmap, GST_MAP_READWRITE);
-
- nal_len =
- g_base64_decode_step (params[i], nal_len, nalmap.data, &state, &save);
-
- GST_DEBUG_OBJECT (depayload, "adding param %d as %s", i,
- (((nalmap.data[0] >> 1) & 0x3f) ==
- 32) ? "VPS" : (((nalmap.data[0] >> 1) & 0x3f) ==
- 33) ? "SPS" : "PPS");
-
- gst_buffer_unmap (nal, &nalmap);
- gst_buffer_set_size (nal, nal_len);
-
- gst_rtp_h265_depay_add_vps_sps_pps (rtph265depay, nal);
- }
- g_strfreev (params);
-
- if (rtph265depay->sps->len == 0 || rtph265depay->pps->len == 0)
- goto incomplete_caps;
- }
-
- return gst_rtp_h265_set_src_caps (rtph265depay);
-
- /* ERRORS */
-incomplete_caps:
- {
- GST_DEBUG_OBJECT (depayload, "we have incomplete caps,"
- " doing setcaps later");
- return TRUE;
- }
-}
-
-static GstBuffer *
-gst_rtp_h265_complete_au (GstRtpH265Depay * rtph265depay,
- GstClockTime * out_timestamp, gboolean * out_keyframe)
-{
- guint outsize;
- GstBuffer *outbuf;
-
- /* we had a picture in the adapter and we completed it */
- GST_DEBUG_OBJECT (rtph265depay, "taking completed AU");
- outsize = gst_adapter_available (rtph265depay->picture_adapter);
- outbuf = gst_adapter_take_buffer (rtph265depay->picture_adapter, outsize);
-
- *out_timestamp = rtph265depay->last_ts;
- *out_keyframe = rtph265depay->last_keyframe;
-
- rtph265depay->last_keyframe = FALSE;
- rtph265depay->picture_start = FALSE;
-
- return outbuf;
-}
-
-/* VPS/SPS/PPS/RADL/TSA/RASL/IDR/CRA is considered key, all others DELTA;
- * so downstream waiting for keyframe can pick up at VPS/SPS/PPS/IDR */
-
-#define NAL_TYPE_IS_PARAMETER_SET(nt) ( ((nt) == GST_H265_VPS_NUT)\
- || ((nt) == GST_H265_SPS_NUT)\
- || ((nt) == GST_H265_PPS_NUT) )
-
-#define NAL_TYPE_IS_CODED_SLICE_SEGMENT(nt) ( ((nt) == GST_H265_NAL_SLICE_TRAIL_N)\
- || ((nt) == GST_H265_NAL_SLICE_TRAIL_R)\
- || ((nt) == GST_H265_NAL_SLICE_TSA_N)\
- || ((nt) == GST_H265_NAL_SLICE_TSA_R)\
- || ((nt) == GST_H265_NAL_SLICE_STSA_N)\
- || ((nt) == GST_H265_NAL_SLICE_STSA_R)\
- || ((nt) == GST_H265_NAL_SLICE_RASL_N)\
- || ((nt) == GST_H265_NAL_SLICE_RASL_R)\
- || ((nt) == GST_H265_NAL_SLICE_BLA_W_LP)\
- || ((nt) == GST_H265_NAL_SLICE_BLA_W_RADL)\
- || ((nt) == GST_H265_NAL_SLICE_BLA_N_LP)\
- || ((nt) == GST_H265_NAL_SLICE_IDR_W_RADL)\
- || ((nt) == GST_H265_NAL_SLICE_IDR_N_LP)\
- || ((nt) == GST_H265_NAL_SLICE_CRA_NUT) )
-
-#define NAL_TYPE_IS_KEY(nt) (NAL_TYPE_IS_PARAMETER_SET(nt) || NAL_TYPE_IS_CODED_SLICE_SEGMENT(nt))
-
-static gboolean
-foreach_metadata_copy (GstBuffer * inbuf, GstMeta ** meta, gpointer user_data)
-{
- CopyMetaData *data = user_data;
- GstElement *element = data->element;
- GstBuffer *outbuf = data->outbuf;
- const GstMetaInfo *info = (*meta)->info;
- const gchar *const *tags = gst_meta_api_type_get_tags (info->api);
-
- if (!tags || (g_strv_length ((gchar **) tags) == 1
- && gst_meta_api_type_has_tag (info->api,
- g_quark_from_string (GST_META_TAG_VIDEO_STR)))) {
- GstMetaTransformCopy copy_data = { FALSE, 0, -1 };
- GST_DEBUG_OBJECT (element, "copy metadata %s", g_type_name (info->api));
- /* simply copy then */
- info->transform_func (outbuf, *meta, inbuf,
- _gst_meta_transform_copy, ©_data);
- } else {
- GST_DEBUG_OBJECT (element, "not copying metadata %s",
- g_type_name (info->api));
- }
-
- return TRUE;
-}
-
-/* TODO: Should probably make copy_tag an array at some point */
-void
-gst_rtp_copy_meta (GstElement * element, GstBuffer * outbuf, GstBuffer * inbuf,
- GQuark copy_tag)
-{
- CopyMetaData data = { element, outbuf, copy_tag };
-
- gst_buffer_foreach_meta (inbuf, foreach_metadata_copy, &data);
-}
-
-static gboolean
-foreach_metadata_drop (GstBuffer * inbuf, GstMeta ** meta, gpointer user_data)
-{
- GstRtpH265Depay *depay = user_data;
- const GstMetaInfo *info = (*meta)->info;
- const gchar *const *tags = gst_meta_api_type_get_tags (info->api);
-
- if (!tags || (g_strv_length ((gchar **) tags) == 1
- && gst_meta_api_type_has_tag (info->api,
- g_quark_from_string (GST_META_TAG_VIDEO_STR)))) {
- GST_DEBUG_OBJECT (depay, "keeping metadata %s", g_type_name (info->api));
- } else {
- GST_DEBUG_OBJECT (depay, "dropping metadata %s", g_type_name (info->api));
- *meta = NULL;
- }
-
- return TRUE;
-}
-
-static GstBuffer *
-gst_rtp_h265_depay_handle_nal (GstRtpH265Depay * rtph265depay, GstBuffer * nal,
- GstClockTime in_timestamp, gboolean marker)
-{
- GstRTPBaseDepayload *depayload = GST_RTP_BASE_DEPAYLOAD (rtph265depay);
- gint nal_type;
- GstMapInfo map;
- GstBuffer *outbuf = NULL;
- GstClockTime out_timestamp;
- gboolean keyframe, out_keyframe;
-
- gst_buffer_map (nal, &map, GST_MAP_READ);
- if (G_UNLIKELY (map.size < 5))
- goto short_nal;
-
- nal_type = (map.data[4] >> 1) & 0x3f;
- GST_DEBUG_OBJECT (rtph265depay, "handle NAL type %d (RTP marker bit %d)",
- nal_type, marker);
-
- keyframe = NAL_TYPE_IS_KEY (nal_type);
-
- out_keyframe = keyframe;
- out_timestamp = in_timestamp;
-
- if (!rtph265depay->byte_stream) {
- if (NAL_TYPE_IS_PARAMETER_SET (nal_type)) {
- gst_rtp_h265_depay_add_vps_sps_pps (rtph265depay,
- gst_buffer_copy_region (nal, GST_BUFFER_COPY_ALL,
- 4, gst_buffer_get_size (nal) - 4));
- gst_buffer_unmap (nal, &map);
- gst_buffer_unref (nal);
- return NULL;
- } else if (rtph265depay->sps->len == 0 || rtph265depay->pps->len == 0) {
- /* Down push down any buffer in non-bytestream mode if the SPS/PPS haven't
- * go through yet
- */
- gst_pad_push_event (GST_RTP_BASE_DEPAYLOAD_SINKPAD (depayload),
- gst_event_new_custom (GST_EVENT_CUSTOM_UPSTREAM,
- gst_structure_new ("GstForceKeyUnit",
- "all-headers", G_TYPE_BOOLEAN, TRUE, NULL)));
- gst_buffer_unmap (nal, &map);
- gst_buffer_unref (nal);
- return NULL;
- }
-
- if (rtph265depay->new_codec_data &&
- rtph265depay->sps->len > 0 && rtph265depay->pps->len > 0)
- gst_rtp_h265_set_src_caps (rtph265depay);
- }
-
- if (rtph265depay->merge) {
- gboolean start = FALSE, complete = FALSE;
-
- /* marker bit isn't mandatory so in the following code we try to detect
- * an AU boundary (see H.265 spec section 7.4.2.4.4) */
- if (!marker) {
-
- if (NAL_TYPE_IS_CODED_SLICE_SEGMENT (nal_type)) {
- /* A NAL unit (X) ends an access unit if the next-occurring VCL NAL unit (Y) has the high-order bit of the first byte after its NAL unit header equal to 1 */
- start = TRUE;
- if (((map.data[6] >> 7) & 0x01) == 1) {
- complete = TRUE;
- }
- complete = TRUE;
- } else if ((nal_type >= 32 && nal_type <= 35)
- || nal_type == 39 || (nal_type >= 41 && nal_type <= 44)
- || (nal_type >= 48 && nal_type <= 55)) {
- /* VPS, SPS, PPS, SEI, ... terminate an access unit */
- complete = TRUE;
- }
- GST_DEBUG_OBJECT (depayload, "start %d, complete %d", start, complete);
-
- if (complete && rtph265depay->picture_start)
- outbuf = gst_rtp_h265_complete_au (rtph265depay, &out_timestamp,
- &out_keyframe);
- }
- /* add to adapter */
- gst_buffer_unmap (nal, &map);
-
- GST_DEBUG_OBJECT (depayload, "adding NAL to picture adapter");
- gst_adapter_push (rtph265depay->picture_adapter, nal);
- rtph265depay->last_ts = in_timestamp;
- rtph265depay->last_keyframe |= keyframe;
- rtph265depay->picture_start |= start;
-
- if (marker)
- outbuf = gst_rtp_h265_complete_au (rtph265depay, &out_timestamp,
- &out_keyframe);
- } else {
- /* no merge, output is input nal */
- GST_DEBUG_OBJECT (depayload, "using NAL as output");
- outbuf = nal;
- gst_buffer_unmap (nal, &map);
- }
-
- if (outbuf) {
- /* prepend codec_data */
- if (rtph265depay->codec_data) {
- GST_DEBUG_OBJECT (depayload, "prepending codec_data");
- gst_rtp_copy_meta (GST_ELEMENT_CAST (rtph265depay),
- rtph265depay->codec_data, outbuf,
- g_quark_from_static_string (GST_META_TAG_VIDEO_STR));
- outbuf = gst_buffer_append (rtph265depay->codec_data, outbuf);
- rtph265depay->codec_data = NULL;
- out_keyframe = TRUE;
- }
- outbuf = gst_buffer_make_writable (outbuf);
-
- gst_buffer_foreach_meta (outbuf, foreach_metadata_drop, depayload);
-
- GST_BUFFER_PTS (outbuf) = out_timestamp;
-
- if (out_keyframe)
- GST_BUFFER_FLAG_UNSET (outbuf, GST_BUFFER_FLAG_DELTA_UNIT);
- else
- GST_BUFFER_FLAG_SET (outbuf, GST_BUFFER_FLAG_DELTA_UNIT);
- }
-
- return outbuf;
-
- /* ERRORS */
-short_nal:
- {
- GST_WARNING_OBJECT (depayload, "dropping short NAL");
- gst_buffer_unmap (nal, &map);
- gst_buffer_unref (nal);
- return NULL;
- }
-}
-
-static GstBuffer *
-gst_rtp_h265_push_fragmentation_unit (GstRtpH265Depay * rtph265depay,
- gboolean send)
-{
- guint outsize;
- GstMapInfo map;
- GstBuffer *outbuf;
-
- outsize = gst_adapter_available (rtph265depay->adapter);
- outbuf = gst_adapter_take_buffer (rtph265depay->adapter, outsize);
-
- gst_buffer_map (outbuf, &map, GST_MAP_WRITE);
- GST_DEBUG_OBJECT (rtph265depay, "output %d bytes", outsize);
-
- if (rtph265depay->byte_stream) {
- memcpy (map.data, sync_bytes, sizeof (sync_bytes));
- } else {
- goto not_implemented;
- }
- gst_buffer_unmap (outbuf, &map);
-
- rtph265depay->current_fu_type = 0;
-
- outbuf = gst_rtp_h265_depay_handle_nal (rtph265depay, outbuf,
- rtph265depay->fu_timestamp, rtph265depay->fu_marker);
-
- if (send && outbuf) {
- gst_rtp_base_depayload_push (GST_RTP_BASE_DEPAYLOAD (rtph265depay), outbuf);
- outbuf = NULL;
- }
- return outbuf;
-
-not_implemented:
- {
- GST_ERROR_OBJECT (rtph265depay,
- ("Only bytestream format is currently supported."));
- gst_buffer_unmap (outbuf, &map);
- return NULL;
- }
-}
-
-static GstBuffer *
-gst_rtp_h265_depay_process (GstRTPBaseDepayload * depayload, GstRTPBuffer * rtp)
-{
- GstRtpH265Depay *rtph265depay;
- GstBuffer *buf;
- GstBuffer *outbuf = NULL;
- guint8 nal_unit_type;
-
- rtph265depay = GST_RTP_H265_DEPAY (depayload);
-
- /* flush remaining data on discont */
- if (GST_BUFFER_IS_DISCONT (rtp->buffer)) {
- gst_adapter_clear (rtph265depay->adapter);
- rtph265depay->wait_start = TRUE;
- rtph265depay->current_fu_type = 0;
- }
-
- {
- gint payload_len;
- guint8 *payload;
- guint header_len;
- GstMapInfo map;
- guint outsize, nalu_size;
- GstClockTime timestamp;
- gboolean marker;
- guint8 nuh_layer_id, nuh_temporal_id_plus1;
- guint8 S, E;
- guint16 nal_header;
-#if 0
- gboolean donl_present = FALSE;
-#endif
-
- timestamp = GST_BUFFER_PTS (rtp->buffer);
-
- payload_len = gst_rtp_buffer_get_payload_len (rtp);
- payload = gst_rtp_buffer_get_payload (rtp);
- buf = gst_rtp_buffer_get_payload_buffer (rtp);
- marker = gst_rtp_buffer_get_marker (rtp);
-
- GST_DEBUG_OBJECT (rtph265depay, "receiving %d bytes", payload_len);
-
- if (payload_len == 0)
- goto empty_packet;
-
- /* +---------------+---------------+
- * |0|1|2|3|4|5|6|7|0|1|2|3|4|5|6|7|
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- * |F| Type | LayerId | TID |
- * +-------------+-----------------+
- *
- * F must be 0.
- *
- */
- nal_unit_type = (payload[0] >> 1) & 0x3f;
- nuh_layer_id = ((payload[0] & 0x01) << 5) | (payload[1] >> 3); /* should be zero for now but this could change in future HEVC extensions */
- nuh_temporal_id_plus1 = payload[1] & 0x03;
-
- /* At least two byte header with type */
- header_len = 2;
-
- GST_DEBUG_OBJECT (rtph265depay,
- "NAL header nal_unit_type %d, nuh_temporal_id_plus1 %d", nal_unit_type,
- nuh_temporal_id_plus1);
-
- GST_FIXME_OBJECT (rtph265depay, "Assuming DONL field is not present");
-
- /* FIXME - assuming DONL field is not present for now */
- /*donl_present = (tx-mode == "MST") || (sprop-max-don-diff > 0); */
-
- /* If FU unit was being processed, but the current nal is of a different
- * type. Assume that the remote payloader is buggy (didn't set the end bit
- * when the FU ended) and send out what we gathered thusfar */
- if (G_UNLIKELY (rtph265depay->current_fu_type != 0 &&
- nal_unit_type != rtph265depay->current_fu_type))
- gst_rtp_h265_push_fragmentation_unit (rtph265depay, TRUE);
-
- switch (nal_unit_type) {
- case 48:
- {
- GST_DEBUG_OBJECT (rtph265depay, "Processing aggregation packet");
-
- /* Aggregation packet (section 4.7) */
-
- /* An example of an AP packet containing two aggregation units
- without the DONL and DOND fields
-
- 0 1 2 3
- 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | RTP Header |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | PayloadHdr (Type=48) | NALU 1 Size |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | NALU 1 HDR | |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ NALU 1 Data |
- | . . . |
- | |
- + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | . . . | NALU 2 Size | NALU 2 HDR |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | NALU 2 HDR | |
- +-+-+-+-+-+-+-+-+ NALU 2 Data |
- | . . . |
- | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | :...OPTIONAL RTP padding |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- */
-
- /* strip headers */
- payload += header_len;
- payload_len -= header_len;
-
- rtph265depay->wait_start = FALSE;
-
-#if 0
- if (donl_present)
- goto not_implemented_donl_present;
-#endif
-
- while (payload_len > 2) {
-
- nalu_size = (payload[0] << 8) | payload[1];
-
- /* dont include nalu_size */
- if (nalu_size > (payload_len - 2))
- nalu_size = payload_len - 2;
-
- outsize = nalu_size + sizeof (sync_bytes);
- outbuf = gst_buffer_new_and_alloc (outsize);
-
- gst_buffer_map (outbuf, &map, GST_MAP_WRITE);
- if (rtph265depay->byte_stream) {
- memcpy (map.data, sync_bytes, sizeof (sync_bytes));
- } else {
- goto not_implemented;
- }
-
- /* strip NALU size */
- payload += 2;
- payload_len -= 2;
-
- memcpy (map.data + sizeof (sync_bytes), payload, nalu_size);
- gst_buffer_unmap (outbuf, &map);
-
- gst_rtp_copy_meta (GST_ELEMENT_CAST (rtph265depay), outbuf, buf,
- g_quark_from_static_string (GST_META_TAG_VIDEO_STR));
-
- outbuf =
- gst_rtp_h265_depay_handle_nal (rtph265depay, outbuf, timestamp,
- marker);
- if (outbuf)
- gst_adapter_push (rtph265depay->adapter, outbuf);
-
- payload += nalu_size;
- payload_len -= nalu_size;
- }
-
- outsize = gst_adapter_available (rtph265depay->adapter);
- if (outsize > 0) {
- outbuf = gst_adapter_take_buffer (rtph265depay->adapter, outsize);
- outbuf =
- gst_rtp_h265_depay_handle_nal (rtph265depay, outbuf, timestamp,
- marker);
- }
- break;
- }
- case 49:
- {
- GST_DEBUG_OBJECT (rtph265depay, "Processing Fragmentation Unit");
-
- /* Fragmentation units (FUs) Section 4.8 */
-
- /* The structure of a Fragmentation Unit (FU)
- *
- * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | PayloadHdr (Type=49) | FU header | DONL (cond) |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
- | DONL (cond) | |
- |-+-+-+-+-+-+-+-+ |
- | FU payload |
- | |
- | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | :...OPTIONAL RTP padding |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- *
- *
- */
-
- /* strip headers */
- payload += header_len;
- payload_len -= header_len;
-
- /* processing FU header */
- S = (payload[0] & 0x80) == 0x80;
- E = (payload[0] & 0x40) == 0x40;
-
- GST_DEBUG_OBJECT (rtph265depay,
- "FU header with S %d, E %d, nal_unit_type %d", S, E,
- payload[0] & 0x3f);
-
- if (rtph265depay->wait_start && !S)
- goto waiting_start;
-
-#if 0
- if (donl_present)
- goto not_implemented_donl_present;
-#endif
-
- if (S) {
-
- GST_DEBUG_OBJECT (rtph265depay, "Start of Fragmentation Unit");
-
- /* If a new FU unit started, while still processing an older one.
- * Assume that the remote payloader is buggy (doesn't set the end
- * bit) and send out what we've gathered thusfar */
- if (G_UNLIKELY (rtph265depay->current_fu_type != 0))
- gst_rtp_h265_push_fragmentation_unit (rtph265depay, TRUE);
-
- rtph265depay->current_fu_type = nal_unit_type;
- rtph265depay->fu_timestamp = timestamp;
-
- rtph265depay->wait_start = FALSE;
-
- /* reconstruct NAL header */
- nal_header =
- ((payload[0] & 0x3f) << 9) | (nuh_layer_id << 3) |
- nuh_temporal_id_plus1;
-
- /* go back one byte so we can copy the payload + two bytes more in the front which
- * will be overwritten by the nal_header
- */
- payload -= 1;
- payload_len += 1;
-
- nalu_size = payload_len;
- outsize = nalu_size + sizeof (sync_bytes);
- outbuf = gst_buffer_new_and_alloc (outsize);
-
- gst_buffer_map (outbuf, &map, GST_MAP_WRITE);
- memcpy (map.data + sizeof (sync_bytes), payload, nalu_size);
- map.data[sizeof (sync_bytes)] = nal_header >> 8;
- map.data[sizeof (sync_bytes) + 1] = nal_header & 0xff;
- gst_buffer_unmap (outbuf, &map);
-
- gst_rtp_copy_meta (GST_ELEMENT_CAST (rtph265depay), outbuf, buf,
- g_quark_from_static_string (GST_META_TAG_VIDEO_STR));
-
- GST_DEBUG_OBJECT (rtph265depay, "queueing %d bytes", outsize);
-
- /* and assemble in the adapter */
- gst_adapter_push (rtph265depay->adapter, outbuf);
- } else {
-
- GST_DEBUG_OBJECT (rtph265depay,
- "Following part of Fragmentation Unit");
-
- /* strip off FU header byte */
- payload += 1;
- payload_len -= 1;
-
- outsize = payload_len;
- outbuf = gst_buffer_new_and_alloc (outsize);
- gst_buffer_fill (outbuf, 0, payload, outsize);
-
- gst_rtp_copy_meta (GST_ELEMENT_CAST (rtph265depay), outbuf, buf,
- g_quark_from_static_string (GST_META_TAG_VIDEO_STR));
-
- GST_DEBUG_OBJECT (rtph265depay, "queueing %d bytes", outsize);
-
- /* and assemble in the adapter */
- gst_adapter_push (rtph265depay->adapter, outbuf);
- }
-
- outbuf = NULL;
- rtph265depay->fu_marker = marker;
-
- /* if NAL unit ends, flush the adapter */
- if (E) {
- outbuf = gst_rtp_h265_push_fragmentation_unit (rtph265depay, FALSE);
- GST_DEBUG_OBJECT (rtph265depay, "End of Fragmentation Unit");
- }
- break;
- }
- case 50:
- goto not_implemented; /* PACI packets Section 4.9 */
- default:
- {
- rtph265depay->wait_start = FALSE;
-
- /* All other cases: Single NAL unit packet Section 4.6 */
- /* the entire payload is the output buffer */
-
-#if 0
- if (donl_present)
- goto not_implemented_donl_present;
-#endif
-
- nalu_size = payload_len;
- outsize = nalu_size + sizeof (sync_bytes);
- outbuf = gst_buffer_new_and_alloc (outsize);
-
- gst_buffer_map (outbuf, &map, GST_MAP_WRITE);
- if (rtph265depay->byte_stream) {
- memcpy (map.data, sync_bytes, sizeof (sync_bytes));
- } else {
- goto not_implemented;
- }
- memcpy (map.data + sizeof (sync_bytes), payload, nalu_size);
- gst_buffer_unmap (outbuf, &map);
-
- gst_rtp_copy_meta (GST_ELEMENT_CAST (rtph265depay), outbuf, buf,
- g_quark_from_static_string (GST_META_TAG_VIDEO_STR));
-
- outbuf = gst_rtp_h265_depay_handle_nal (rtph265depay, outbuf, timestamp,
- marker);
- break;
- }
- }
- }
-
- gst_buffer_unref (buf);
-
- return outbuf;
-
- /* ERRORS */
-empty_packet:
- {
- GST_DEBUG_OBJECT (rtph265depay, "empty packet");
- gst_buffer_unref (buf);
- return NULL;
- }
-waiting_start:
- {
- GST_DEBUG_OBJECT (rtph265depay, "waiting for start");
- gst_buffer_unref (buf);
- return NULL;
- }
-#if 0
-not_implemented_donl_present:
- {
- GST_ELEMENT_ERROR (rtph265depay, STREAM, FORMAT,
- (NULL), ("DONL field present not supported yet"));
- gst_buffer_unref (buf);
- return NULL;
- }
-#endif
-not_implemented:
- {
- GST_ELEMENT_ERROR (rtph265depay, STREAM, FORMAT,
- (NULL), ("NAL unit type %d not supported yet", nal_unit_type));
- gst_buffer_unref (buf);
- return NULL;
- }
-}
-
-static gboolean
-gst_rtp_h265_depay_handle_event (GstRTPBaseDepayload * depay, GstEvent * event)
-{
- GstRtpH265Depay *rtph265depay;
-
- rtph265depay = GST_RTP_H265_DEPAY (depay);
-
- switch (GST_EVENT_TYPE (event)) {
- case GST_EVENT_FLUSH_STOP:
- gst_rtp_h265_depay_reset (rtph265depay);
- break;
- default:
- break;
- }
-
- return
- GST_RTP_BASE_DEPAYLOAD_CLASS (parent_class)->handle_event (depay, event);
-}
-
-static GstStateChangeReturn
-gst_rtp_h265_depay_change_state (GstElement * element,
- GstStateChange transition)
-{
- GstRtpH265Depay *rtph265depay;
- GstStateChangeReturn ret;
-
- rtph265depay = GST_RTP_H265_DEPAY (element);
-
- switch (transition) {
- case GST_STATE_CHANGE_NULL_TO_READY:
- break;
- case GST_STATE_CHANGE_READY_TO_PAUSED:
- gst_rtp_h265_depay_reset (rtph265depay);
- break;
- default:
- break;
- }
-
- ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
-
- switch (transition) {
- case GST_STATE_CHANGE_READY_TO_NULL:
- break;
- default:
- break;
- }
- return ret;
-}
-
-gboolean
-gst_rtp_h265_depay_plugin_init (GstPlugin * plugin)
-{
- GST_DEBUG_CATEGORY_INIT (rtph265depay_debug, "rtph265depay", 0,
- "H265 Video RTP Depayloader");
-
- return gst_element_register (plugin, "rtph265depay",
- GST_RANK_SECONDARY, GST_TYPE_RTP_H265_DEPAY);
-}
diff --git a/gst/rtp/gstrtph265depay.h b/gst/rtp/gstrtph265depay.h
deleted file mode 100644
index 9f50ac6..0000000
--- a/gst/rtp/gstrtph265depay.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/* GStreamer
- * Copyright (C) <2006> Wim Taymans <wim.taymans@gmail.com>
- * Copyright (C) <2014> Jurgen Slowack <jurgenslowack@gmail.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef __GST_RTP_H265_DEPAY_H__
-#define __GST_RTP_H265_DEPAY_H__
-
-#include <gst/gst.h>
-#include <gst/base/gstadapter.h>
-#include <gst/rtp/gstrtpbasedepayload.h>
-#include <gst/codecparsers/gsth265parser.h>
-
-G_BEGIN_DECLS
-#define GST_TYPE_RTP_H265_DEPAY \
- (gst_rtp_h265_depay_get_type())
-#define GST_RTP_H265_DEPAY(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_H265_DEPAY,GstRtpH265Depay))
-#define GST_RTP_H265_DEPAY_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_H265_DEPAY,GstRtpH265DepayClass))
-#define GST_IS_RTP_H265_DEPAY(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_H265_DEPAY))
-#define GST_IS_RTP_H265_DEPAY_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_H265_DEPAY))
-typedef struct _GstRtpH265Depay GstRtpH265Depay;
-typedef struct _GstRtpH265DepayClass GstRtpH265DepayClass;
-
-#define GST_H265_VPS_NUT 32
-#define GST_H265_SPS_NUT 33
-#define GST_H265_PPS_NUT 34
-
-typedef enum
-{
- GST_H265_STREAM_FORMAT_UNKNOWN,
- GST_H265_STREAM_FORMAT_BYTESTREAM,
- GST_H265_STREAM_FORMAT_HVC1,
- GST_H265_STREAM_FORMAT_HEV1
-} GstH265StreamFormat;
-
-struct _GstRtpH265Depay
-{
- GstRTPBaseDepayload depayload;
-
- gchar *stream_format;
- gboolean byte_stream;
-
- GstBuffer *codec_data;
- GstAdapter *adapter;
- gboolean wait_start;
-
- /* nal merging */
- gboolean merge;
- GstAdapter *picture_adapter;
- gboolean picture_start;
- GstClockTime last_ts;
- gboolean last_keyframe;
-
- /* Work around broken payloaders wrt. Fragmentation Units */
- guint8 current_fu_type;
- GstClockTime fu_timestamp;
- gboolean fu_marker;
-
- /* misc */
- GPtrArray *vps;
- GPtrArray *sps;
- GPtrArray *pps;
- gboolean new_codec_data;
-};
-
-struct _GstRtpH265DepayClass
-{
- GstRTPBaseDepayloadClass parent_class;
-};
-
-typedef struct
-{
- GstElement *element;
- GstBuffer *outbuf;
- GQuark copy_tag;
-} CopyMetaData;
-
-void gst_rtp_copy_meta (GstElement * element, GstBuffer *outbuf, GstBuffer *inbuf, GQuark copy_tag);
-
-GType gst_rtp_h265_depay_get_type (void);
-
-gboolean gst_rtp_h265_depay_plugin_init (GstPlugin * plugin);
-
-gboolean gst_rtp_h265_add_vps_sps_pps (GstElement * rtph265, GPtrArray * vps,
- GPtrArray * sps, GPtrArray * pps, GstBuffer * nal);
-
-G_END_DECLS
-#endif /* __GST_RTP_H265_DEPAY_H__ */
diff --git a/gst/rtp/gstrtph265pay.c b/gst/rtp/gstrtph265pay.c
deleted file mode 100644
index b17b091..0000000
--- a/gst/rtp/gstrtph265pay.c
+++ /dev/null
@@ -1,1503 +0,0 @@
-/* GStreamer
- * Copyright (C) <2006> Wim Taymans <wim.taymans@gmail.com>
- * Copyright (C) <2014> Jurgen Slowack <jurgenslowack@gmail.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <string.h>
-#include <stdlib.h>
-
-#include <gst/rtp/gstrtpbuffer.h>
-#include <gst/pbutils/pbutils.h>
-#include <gst/video/video.h>
-
-/* Included to not duplicate gst_rtp_h265_add_vps_sps_pps () */
-#include "gstrtph265depay.h"
-
-#include "gstrtph265pay.h"
-
-
-GST_DEBUG_CATEGORY_STATIC (rtph265pay_debug);
-#define GST_CAT_DEFAULT (rtph265pay_debug)
-
-/* references:
- *
- * Internet Draft RTP Payload Format for High Efficiency Video Coding
- *
- * draft-ietf-payload-rtp-h265-03.txt
- *
- * This draft will be replaced with an RFC, so some details may change.
- *
- */
-
-static GstStaticPadTemplate gst_rtp_h265_pay_sink_template =
- GST_STATIC_PAD_TEMPLATE ("sink",
- GST_PAD_SINK,
- GST_PAD_ALWAYS,
- GST_STATIC_CAPS (
- /* Only bytestream format supported for now */
- /* "video/x-h265, "
- "stream-format = (string) hvc1, alignment = (string) au; "
- "video/x-h265, "
- "stream-format = (string) hev1, alignment = (string) au; " */
- "video/x-h265, "
- "stream-format = (string) byte-stream, alignment = (string) { nal, au }")
- );
-
-static GstStaticPadTemplate gst_rtp_h265_pay_src_template =
-GST_STATIC_PAD_TEMPLATE ("src",
- GST_PAD_SRC,
- GST_PAD_ALWAYS,
- GST_STATIC_CAPS ("application/x-rtp, "
- "media = (string) \"video\", "
- "payload = (int) " GST_RTP_PAYLOAD_DYNAMIC_STRING ", "
- "clock-rate = (int) 90000, " "encoding-name = (string) \"H265\"")
- /** optional parameters **/
- /* "profile-space = (int) [ 0, 3 ], " */
- /* "profile-id = (int) [ 0, 31 ], " */
- /* "tier-flag = (int) [ 0, 1 ], " */
- /* "level-id = (int) [ 0, 255 ], " */
- /* "interop-constraints = (string) ANY, " */
- /* "profile-compatibility-indicator = (string) ANY, " */
- /* "sprop-sub-layer-id = (int) [ 0, 6 ], " */
- /* "recv-sub-layer-id = (int) [ 0, 6 ], " */
- /* "max-recv-level-id = (int) [ 0, 255 ], " */
- /* "tx-mode = (string) {MST , SST}, " */
- /* "sprop-vps = (string) ANY, " */
- /* "sprop-sps = (string) ANY, " */
- /* "sprop-pps = (string) ANY, " */
- /* "sprop-sei = (string) ANY, " */
- /* "max-lsr = (int) ANY, " *//* MUST be in the range of MaxLumaSR to 16 * MaxLumaSR, inclusive */
- /* "max-lps = (int) ANY, " *//* MUST be in the range of MaxLumaPS to 16 * MaxLumaPS, inclusive */
- /* "max-cpb = (int) ANY, " *//* MUST be in the range of MaxCPB to 16 * MaxCPB, inclusive */
- /* "max-dpb = (int) [1, 16], " */
- /* "max-br = (int) ANY, " *//* MUST be in the range of MaxBR to 16 * MaxBR, inclusive, for the highest level */
- /* "max-tr = (int) ANY, " *//* MUST be in the range of MaxTileRows to 16 * MaxTileRows, inclusive, for the highest level */
- /* "max-tc = (int) ANY, " *//* MUST be in the range of MaxTileCols to 16 * MaxTileCols, inclusive, for the highest level */
- /* "max-fps = (int) ANY, " */
- /* "sprop-max-don-diff = (int) [0, 32767], " */
- /* "sprop-depack-buf-nalus = (int) [0, 32767], " */
- /* "sprop-depack-buf-nalus = (int) [0, 4294967295], " */
- /* "depack-buf-cap = (int) [1, 4294967295], " */
- /* "sprop-segmentation-id = (int) [0, 3], " */
- /* "sprop-spatial-segmentation-idc = (string) ANY, " */
- /* "dec-parallel-cap = (string) ANY, " */
- );
-
-#define DEFAULT_SPROP_PARAMETER_SETS NULL
-#define DEFAULT_CONFIG_INTERVAL 0
-
-enum
-{
- PROP_0,
- PROP_SPROP_PARAMETER_SETS,
- PROP_CONFIG_INTERVAL
-};
-
-#define IS_ACCESS_UNIT(x) (((x) > 0x00) && ((x) < 0x06))
-
-static void gst_rtp_h265_pay_finalize (GObject * object);
-
-static void gst_rtp_h265_pay_set_property (GObject * object, guint prop_id,
- const GValue * value, GParamSpec * pspec);
-static void gst_rtp_h265_pay_get_property (GObject * object, guint prop_id,
- GValue * value, GParamSpec * pspec);
-
-static GstCaps *gst_rtp_h265_pay_getcaps (GstRTPBasePayload * payload,
- GstPad * pad, GstCaps * filter);
-static gboolean gst_rtp_h265_pay_setcaps (GstRTPBasePayload * basepayload,
- GstCaps * caps);
-static GstFlowReturn gst_rtp_h265_pay_handle_buffer (GstRTPBasePayload * pad,
- GstBuffer * buffer);
-static gboolean gst_rtp_h265_pay_sink_event (GstRTPBasePayload * payload,
- GstEvent * event);
-static GstStateChangeReturn gst_rtp_h265_pay_change_state (GstElement *
- element, GstStateChange transition);
-
-#define gst_rtp_h265_pay_parent_class parent_class
-G_DEFINE_TYPE (GstRtpH265Pay, gst_rtp_h265_pay, GST_TYPE_RTP_BASE_PAYLOAD);
-
-static void
-gst_rtp_h265_pay_class_init (GstRtpH265PayClass * klass)
-{
- GObjectClass *gobject_class;
- GstElementClass *gstelement_class;
- GstRTPBasePayloadClass *gstrtpbasepayload_class;
-
- gobject_class = (GObjectClass *) klass;
- gstelement_class = (GstElementClass *) klass;
- gstrtpbasepayload_class = (GstRTPBasePayloadClass *) klass;
-
- gobject_class->set_property = gst_rtp_h265_pay_set_property;
- gobject_class->get_property = gst_rtp_h265_pay_get_property;
-
- g_object_class_install_property (G_OBJECT_CLASS (klass),
- PROP_SPROP_PARAMETER_SETS, g_param_spec_string ("sprop-parameter-sets",
- "sprop-parameter-sets",
- "The base64 sprop-parameter-sets to set in out caps (set to NULL to "
- "extract from stream)",
- DEFAULT_SPROP_PARAMETER_SETS,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property (G_OBJECT_CLASS (klass),
- PROP_CONFIG_INTERVAL,
- g_param_spec_uint ("config-interval",
- "VPS SPS PPS Send Interval",
- "Send VPS, SPS and PPS Insertion Interval in seconds (sprop parameter sets "
- "will be multiplexed in the data stream when detected.) (0 = disabled)",
- 0, 3600, DEFAULT_CONFIG_INTERVAL,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)
- );
-
- gobject_class->finalize = gst_rtp_h265_pay_finalize;
-
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&gst_rtp_h265_pay_src_template));
- gst_element_class_add_pad_template (gstelement_class,
- gst_static_pad_template_get (&gst_rtp_h265_pay_sink_template));
-
- gst_element_class_set_static_metadata (gstelement_class, "RTP H265 payloader",
- "Codec/Payloader/Network/RTP",
- "Payload-encode H265 video into RTP packets (based on draft-ietf-payload-rtp-h265-03.txt)",
- "Jurgen Slowack <jurgenslowack@gmail.com>");
-
- gstelement_class->change_state =
- GST_DEBUG_FUNCPTR (gst_rtp_h265_pay_change_state);
-
- gstrtpbasepayload_class->get_caps = gst_rtp_h265_pay_getcaps;
- gstrtpbasepayload_class->set_caps = gst_rtp_h265_pay_setcaps;
- gstrtpbasepayload_class->handle_buffer = gst_rtp_h265_pay_handle_buffer;
- gstrtpbasepayload_class->sink_event = gst_rtp_h265_pay_sink_event;
-
- GST_DEBUG_CATEGORY_INIT (rtph265pay_debug, "rtph265pay", 0,
- "H265 RTP Payloader");
-}
-
-static void
-gst_rtp_h265_pay_init (GstRtpH265Pay * rtph265pay)
-{
- rtph265pay->queue = g_array_new (FALSE, FALSE, sizeof (guint));
- rtph265pay->profile = 0;
- rtph265pay->sps = g_ptr_array_new_with_free_func (
- (GDestroyNotify) gst_buffer_unref);
- rtph265pay->pps = g_ptr_array_new_with_free_func (
- (GDestroyNotify) gst_buffer_unref);
- rtph265pay->vps = g_ptr_array_new_with_free_func (
- (GDestroyNotify) gst_buffer_unref);
- rtph265pay->last_vps_sps_pps = -1;
- rtph265pay->vps_sps_pps_interval = DEFAULT_CONFIG_INTERVAL;
-
- rtph265pay->adapter = gst_adapter_new ();
-}
-
-static void
-gst_rtp_h265_pay_clear_vps_sps_pps (GstRtpH265Pay * rtph265pay)
-{
- g_ptr_array_set_size (rtph265pay->vps, 0);
- g_ptr_array_set_size (rtph265pay->sps, 0);
- g_ptr_array_set_size (rtph265pay->pps, 0);
-}
-
-static void
-gst_rtp_h265_pay_finalize (GObject * object)
-{
- GstRtpH265Pay *rtph265pay;
-
- rtph265pay = GST_RTP_H265_PAY (object);
-
- g_array_free (rtph265pay->queue, TRUE);
-
- g_ptr_array_free (rtph265pay->sps, TRUE);
- g_ptr_array_free (rtph265pay->pps, TRUE);
- g_ptr_array_free (rtph265pay->vps, TRUE);
-
- g_free (rtph265pay->sprop_parameter_sets);
-
- g_object_unref (rtph265pay->adapter);
-
- G_OBJECT_CLASS (parent_class)->finalize (object);
-}
-
-static const gchar all_levels[][4] = {
- "1",
- "2",
- "2.1",
- "3",
- "3.1",
- "4",
- "4.1",
- "5",
- "5.1",
- "5.2",
- "6",
- "6.1",
- "6.2"
-};
-
-static GstCaps *
-gst_rtp_h265_pay_getcaps (GstRTPBasePayload * payload, GstPad * pad,
- GstCaps * filter)
-{
- GstCaps *template_caps;
- GstCaps *allowed_caps;
- GstCaps *caps;
- GstCaps *icaps;
- gboolean append_unrestricted;
- guint i;
-
- allowed_caps =
- gst_pad_peer_query_caps (GST_RTP_BASE_PAYLOAD_SRCPAD (payload), NULL);
-
- if (allowed_caps == NULL)
- return NULL;
-
- template_caps =
- gst_static_pad_template_get_caps (&gst_rtp_h265_pay_sink_template);
-
- if (gst_caps_is_any (allowed_caps)) {
- caps = gst_caps_ref (template_caps);
- goto done;
- }
-
- if (gst_caps_is_empty (allowed_caps)) {
- caps = gst_caps_ref (allowed_caps);
- goto done;
- }
-
- caps = gst_caps_new_empty ();
-
- append_unrestricted = FALSE;
- for (i = 0; i < gst_caps_get_size (allowed_caps); i++) {
- GstStructure *s = gst_caps_get_structure (allowed_caps, i);
- GstStructure *new_s = gst_structure_new_empty ("video/x-h265");
- const gchar *profile_level_id;
-
- profile_level_id = gst_structure_get_string (s, "profile-level-id");
-
- if (profile_level_id && strlen (profile_level_id) == 6) { /* Code taken from gstrtph264pay.c, needs to be revised for H.265 */
- const gchar *profile;
- const gchar *level;
- long int spsint;
- guint8 sps[3];
-
- spsint = strtol (profile_level_id, NULL, 16);
- sps[0] = spsint >> 16;
- sps[1] = spsint >> 8;
- sps[2] = spsint;
-
- profile = gst_codec_utils_h265_get_profile (sps, 3);
- level = gst_codec_utils_h265_get_level (sps, 3);
-
- if (profile && level) {
- GST_LOG_OBJECT (payload, "In caps, have profile %s and level %s",
- profile, level);
-
- if (!strcmp (profile, "main"))
- gst_structure_set (new_s, "profile", G_TYPE_STRING, profile, NULL);
- else {
- GValue val = { 0, };
- GValue profiles = { 0, };
-
- g_value_init (&profiles, GST_TYPE_LIST);
- g_value_init (&val, G_TYPE_STRING);
-
- g_value_set_static_string (&val, profile);
- gst_value_list_append_value (&profiles, &val);
-
- g_value_set_static_string (&val, "main");
- gst_value_list_append_value (&profiles, &val);
-
- gst_structure_take_value (new_s, "profile", &profiles);
- }
-
- if (!strcmp (level, "1"))
- gst_structure_set (new_s, "level", G_TYPE_STRING, level, NULL);
- else {
- GValue levels = { 0, };
- GValue val = { 0, };
- int j;
-
- g_value_init (&levels, GST_TYPE_LIST);
- g_value_init (&val, G_TYPE_STRING);
-
- for (j = 0; j < G_N_ELEMENTS (all_levels); j++) {
- g_value_set_static_string (&val, all_levels[j]);
- gst_value_list_prepend_value (&levels, &val);
- if (!strcmp (level, all_levels[j]))
- break;
- }
- gst_structure_take_value (new_s, "level", &levels);
- }
- } else {
- /* Invalid profile-level-id means main */
-
- gst_structure_set (new_s, "profile", G_TYPE_STRING, "main", NULL);
- }
- } else {
- /* No profile-level-id means main or unrestricted */
-
- gst_structure_set (new_s, "profile", G_TYPE_STRING, "main", NULL);
- append_unrestricted = TRUE;
- }
-
- caps = gst_caps_merge_structure (caps, new_s);
- }
-
- if (append_unrestricted) {
- caps =
- gst_caps_merge_structure (caps, gst_structure_new ("video/x-h265", NULL,
- NULL));
- }
-
- icaps = gst_caps_intersect (caps, template_caps);
- gst_caps_unref (caps);
- caps = icaps;
-
-done:
-
- gst_caps_unref (template_caps);
- gst_caps_unref (allowed_caps);
-
- GST_LOG_OBJECT (payload, "returning caps %" GST_PTR_FORMAT, caps);
- return caps;
-}
-
-/* take the currently configured VPS, SPS and PPS lists and set them on the caps as
- * sprop-parameter-sets */
-static gboolean
-gst_rtp_h265_pay_set_vps_sps_pps (GstRTPBasePayload * basepayload)
-{
- GstRtpH265Pay *payloader = GST_RTP_H265_PAY (basepayload);
- gchar *profile;
- gchar *set;
- GString *sprops;
- guint count;
- gboolean res;
- GstMapInfo map;
- guint i;
-
- sprops = g_string_new ("");
- count = 0;
-
- GST_DEBUG_OBJECT (payloader,
- "Entering function gst_rtp_h265_pay_set_vps_sps_pps");
-
- /* build the sprop-parameter-sets */
- for (i = 0; i < payloader->vps->len; i++) {
- GstBuffer *vps_buf =
- GST_BUFFER_CAST (g_ptr_array_index (payloader->vps, i));
-
- gst_buffer_map (vps_buf, &map, GST_MAP_READ);
- set = g_base64_encode (map.data, map.size);
- gst_buffer_unmap (vps_buf, &map);
-
- g_string_append_printf (sprops, "%s%s", count ? "," : "", set);
- g_free (set);
- count++;
- }
- for (i = 0; i < payloader->sps->len; i++) {
- GstBuffer *sps_buf =
- GST_BUFFER_CAST (g_ptr_array_index (payloader->sps, i));
-
- gst_buffer_map (sps_buf, &map, GST_MAP_READ);
- set = g_base64_encode (map.data, map.size);
- gst_buffer_unmap (sps_buf, &map);
-
- g_string_append_printf (sprops, "%s%s", count ? "," : "", set);
- g_free (set);
- count++;
- }
- for (i = 0; i < payloader->pps->len; i++) {
- GstBuffer *pps_buf =
- GST_BUFFER_CAST (g_ptr_array_index (payloader->pps, i));
-
- gst_buffer_map (pps_buf, &map, GST_MAP_READ);
- set = g_base64_encode (map.data, map.size);
- gst_buffer_unmap (pps_buf, &map);
-
- g_string_append_printf (sprops, "%s%s", count ? "," : "", set);
- g_free (set);
- count++;
- }
-
- if (G_LIKELY (count)) {
- /* profile is 24 bit. Force it to respect the limit */
- profile = g_strdup_printf ("%06x", payloader->profile & 0xffffff);
- /* combine into output caps */
- res = gst_rtp_base_payload_set_outcaps (basepayload,
- "sprop-parameter-sets", G_TYPE_STRING, sprops->str, NULL);
- g_free (profile);
- } else {
- res = gst_rtp_base_payload_set_outcaps (basepayload, NULL);
- }
- g_string_free (sprops, TRUE);
-
- return res;
-}
-
-
-static gboolean
-gst_rtp_h265_pay_setcaps (GstRTPBasePayload * basepayload, GstCaps * caps)
-{
- GstRtpH265Pay *rtph265pay;
- GstStructure *str;
- const GValue *value;
- GstMapInfo map;
- guint8 *data;
- gsize size;
- GstBuffer *buffer;
- const gchar *alignment, *stream_format;
- guint8 num_arrays;
-
- rtph265pay = GST_RTP_H265_PAY (basepayload);
-
- str = gst_caps_get_structure (caps, 0);
-
- /* we can only set the output caps when we found the sprops and profile
- * NALs */
- gst_rtp_base_payload_set_options (basepayload, "video", TRUE, "H265", 90000);
-
- rtph265pay->alignment = GST_H265_ALIGNMENT_UNKNOWN;
- alignment = gst_structure_get_string (str, "alignment");
- if (alignment) {
- if (g_str_equal (alignment, "au"))
- rtph265pay->alignment = GST_H265_ALIGNMENT_AU;
- if (g_str_equal (alignment, "nal"))
- rtph265pay->alignment = GST_H265_ALIGNMENT_NAL;
- }
-
- rtph265pay->stream_format = GST_H265_STREAM_FORMAT_UNKNOWN;
- stream_format = gst_structure_get_string (str, "stream-format");
- if (stream_format) {
- if (g_str_equal (stream_format, "hvc1"))
- rtph265pay->stream_format = GST_H265_STREAM_FORMAT_HVC1;
- if (g_str_equal (stream_format, "hev1"))
- rtph265pay->stream_format = GST_H265_STREAM_FORMAT_HEV1;
- if (g_str_equal (stream_format, "byte-stream"))
- rtph265pay->stream_format = GST_H265_STREAM_FORMAT_BYTESTREAM;
- }
-
- /* packetized HEVC video has a codec_data */
- if ((value = gst_structure_get_value (str, "codec_data"))) {
- guint num_vps, num_sps, num_pps;
- gint i, j, nal_size;
-
- GST_DEBUG_OBJECT (rtph265pay, "have packetized h265");
-
- buffer = gst_value_get_buffer (value);
-
- gst_buffer_map (buffer, &map, GST_MAP_READ);
- data = map.data;
- size = map.size;
-
- /* parse the hevcC data */
- if (size < 23)
- goto hevcc_too_small;
- /* HEVCDecoderConfigurationVersion (must be 1) */
- if (data[0] != 1)
- goto wrong_version;
-
- /* profile_space | tier_flag | profile_idc */
- rtph265pay->profile = data[1];
- GST_DEBUG_OBJECT (rtph265pay, "profile %06x", rtph265pay->profile);
-
- /* profile_compatibility_flags */
- for (i = 2; i < 6; i++) {
- for (j = 7; j >= 0; j--) {
- GST_DEBUG_OBJECT (rtph265pay, "profile_compatibility_flag %06x",
- (data[i] >> j) & 1);
- }
- }
-
- GST_DEBUG_OBJECT (rtph265pay, "progressive_source_flag %06x",
- (data[6] >> 7) & 1);
- GST_DEBUG_OBJECT (rtph265pay, "interlaced_source_flag %06x",
- (data[6] >> 6) & 1);
- GST_DEBUG_OBJECT (rtph265pay, "non_packed_constraint_flag %06x",
- (data[6] >> 5) & 1);
- GST_DEBUG_OBJECT (rtph265pay, "frame_only_constraint_flag %06x",
- (data[6] >> 4) & 1);
-
- GST_DEBUG_OBJECT (rtph265pay, "level_idc %06x", data[12]);
-
- GST_DEBUG_OBJECT (rtph265pay, "min_spatial_segmentation_idc %06x",
- ((data[13] ^ 0xf0) << 8) + data[14]);
- GST_DEBUG_OBJECT (rtph265pay, "parrallelismType %06x (ignored by paloader)",
- data[15]);
-
- GST_DEBUG_OBJECT (rtph265pay, "sps_chroma_format_idc %06x",
- data[16] ^ 0xfc);
- GST_DEBUG_OBJECT (rtph265pay, "bit_depth_luma_minus8 %06x",
- data[17] ^ 0xf8);
- GST_DEBUG_OBJECT (rtph265pay, "bit_depth_chroma_minus8 %06x",
- data[18] ^ 0xf8);
- GST_DEBUG_OBJECT (rtph265pay, "avgFrameRate %06x", data[19]);
- GST_DEBUG_OBJECT (rtph265pay, "avgFrameRate %06x", data[20]);
-
- /* constFrameRate(2 bits): 0, stream may or may not be of constant framerate
- * numTemporalLayers (3 bits): number of temporal layers, value from SPS
- * TemporalIdNested (1 bit): sps_temporal_id_nesting_flag from SPS
- * lengthSizeMinusOne (2 bits): plus 1 indicates the length of the NALUnitLength */
- GST_DEBUG_OBJECT (rtph265pay, "constFrameRate %06x",
- (data[21] >> 6) & 0x03);
- GST_DEBUG_OBJECT (rtph265pay, "numTemporalLayers %06x",
- (data[21] >> 3) & 0x07);
- GST_DEBUG_OBJECT (rtph265pay, "temporal_id_nesting_flag %06x",
- (data[21] >> 2) & 0x01);
-
- rtph265pay->nal_length_size = (data[21] & 0x3) + 1;
- GST_DEBUG_OBJECT (rtph265pay, "nal length %u", rtph265pay->nal_length_size);
-
- num_arrays = GST_READ_UINT8 (data + 22);
-
- data += 23;
- size -= 23;
-
- if (num_arrays > 0) {
- if (data[0] == (0x00 | 0x20)) { /* VPS */
-
- data++;
- num_vps = data[0] << 8 | data[1];
- data += 2;
- size -= 2;
-
- for (i = 0; i < num_vps; i++) {
-
- GstBuffer *vps_buf;
-
- if (size < 2)
- goto hevcc_error;
-
- nal_size = (data[0] << 8) | data[1];
- data += 2;
- size -= 2;
-
- GST_LOG_OBJECT (rtph265pay, "VPS %d size %d", i, nal_size);
-
- if (size < nal_size)
- goto hevcc_error;
-
- /* make a buffer out of it and add to VPS list */
- vps_buf = gst_buffer_new_and_alloc (nal_size);
- gst_buffer_fill (vps_buf, 0, data, nal_size);
- gst_rtp_h265_add_vps_sps_pps (GST_ELEMENT (rtph265pay),
- rtph265pay->vps, rtph265pay->sps, rtph265pay->pps, vps_buf);
- data += nal_size;
- size -= nal_size;
- }
- }
-
- --num_arrays;
- }
-
- if (num_arrays > 0) {
- if (data[0] == (0x00 | 0x21)) { /* SPS */
-
- data++;
- num_sps = data[0] << 8 | data[1];
- data += 2;
- size -= 2;
-
- for (i = 0; i < num_sps; i++) {
-
- GstBuffer *sps_buf;
-
- if (size < 2)
- goto hevcc_error;
-
- nal_size = (data[0] << 8) | data[1];
- data += 2;
- size -= 2;
-
- GST_LOG_OBJECT (rtph265pay, "SPS %d size %d", i, nal_size);
-
- if (size < nal_size)
- goto hevcc_error;
-
- /* make a buffer out of it and add to SPS list */
- sps_buf = gst_buffer_new_and_alloc (nal_size);
- gst_buffer_fill (sps_buf, 0, data, nal_size);
- gst_rtp_h265_add_vps_sps_pps (GST_ELEMENT (rtph265pay),
- rtph265pay->vps, rtph265pay->sps, rtph265pay->pps, sps_buf);
- data += nal_size;
- size -= nal_size;
- }
- }
-
- --num_arrays;
- }
-
- if (num_arrays > 0) {
- if (data[0] == (0x00 | 0x22)) { /* PPS */
-
- data++;
- num_pps = data[0] << 8 | data[1];
- data += 2;
- size -= 2;
-
- for (i = 0; i < num_pps; i++) {
-
- GstBuffer *pps_buf;
-
- if (size < 2)
- goto hevcc_error;
-
- nal_size = (data[0] << 8) | data[1];
- data += 2;
- size -= 2;
-
- GST_LOG_OBJECT (rtph265pay, "PPS %d size %d", i, nal_size);
-
- if (size < nal_size)
- goto hevcc_error;
-
- /* make a buffer out of it and add to PPS list */
- pps_buf = gst_buffer_new_and_alloc (nal_size);
- gst_buffer_fill (pps_buf, 0, data, nal_size);
- gst_rtp_h265_add_vps_sps_pps (GST_ELEMENT (rtph265pay),
- rtph265pay->vps, rtph265pay->sps, rtph265pay->pps, pps_buf);
- data += nal_size;
- size -= nal_size;
- }
- }
-
- --num_arrays;
- }
-
- /* and update the caps with the collected data */
- if (!gst_rtp_h265_pay_set_vps_sps_pps (basepayload))
- goto set_vps_sps_pps_failed;
-
- GST_DEBUG_OBJECT (rtph265pay, "Caps have been set");
-
- gst_buffer_unmap (buffer, &map);
- } else {
- GST_DEBUG_OBJECT (rtph265pay, "have bytestream h265");
- }
-
- return TRUE;
-
-hevcc_too_small:
- {
- GST_ERROR_OBJECT (rtph265pay, "hevcC size %" G_GSIZE_FORMAT " < 7", size);
- goto error;
- }
-wrong_version:
- {
- GST_ERROR_OBJECT (rtph265pay, "wrong hevcC version");
- goto error;
- }
-hevcc_error:
- {
- GST_ERROR_OBJECT (rtph265pay, "hevcC too small ");
- goto error;
- }
-set_vps_sps_pps_failed:
- {
- GST_ERROR_OBJECT (rtph265pay, "failed to set vps/sps/pps");
- goto error;
- }
-error:
- {
- gst_buffer_unmap (buffer, &map);
- return FALSE;
- }
-}
-
-static void
-gst_rtp_h265_pay_parse_sprop_parameter_sets (GstRtpH265Pay * rtph265pay)
-{
- const gchar *ps;
- gchar **params;
- guint len;
- gint i;
- GstBuffer *buf;
-
- ps = rtph265pay->sprop_parameter_sets;
- if (ps == NULL)
- return;
-
- gst_rtp_h265_pay_clear_vps_sps_pps (rtph265pay);
-
- params = g_strsplit (ps, ",", 0);
- len = g_strv_length (params);
-
- GST_DEBUG_OBJECT (rtph265pay, "we have %d params", len);
-
- for (i = 0; params[i]; i++) {
- gsize nal_len;
- GstMapInfo map;
- guint8 *nalp;
- guint save = 0;
- gint state = 0;
-
- nal_len = strlen (params[i]);
- buf = gst_buffer_new_and_alloc (nal_len);
-
- gst_buffer_map (buf, &map, GST_MAP_WRITE);
- nalp = map.data;
- nal_len = g_base64_decode_step (params[i], nal_len, nalp, &state, &save);
- gst_buffer_unmap (buf, &map);
- gst_buffer_resize (buf, 0, nal_len);
-
- if (!nal_len) {
- gst_buffer_unref (buf);
- continue;
- }
-
- gst_rtp_h265_add_vps_sps_pps (GST_ELEMENT (rtph265pay), rtph265pay->vps,
- rtph265pay->sps, rtph265pay->pps, buf);
- }
- g_strfreev (params);
-}
-
-static guint
-next_start_code (const guint8 * data, guint size)
-{
- /* Boyer-Moore string matching algorithm, in a degenerative
- * sense because our search 'alphabet' is binary - 0 & 1 only.
- * This allow us to simplify the general BM algorithm to a very
- * simple form. */
- /* assume 1 is in the 3th byte */
- guint offset = 2;
-
- while (offset < size) {
- if (1 == data[offset]) {
- unsigned int shift = offset;
-
- if (0 == data[--shift]) {
- if (0 == data[--shift]) {
- return shift;
- }
- }
- /* The jump is always 3 because of the 1 previously matched.
- * All the 0's must be after this '1' matched at offset */
- offset += 3;
- } else if (0 == data[offset]) {
- /* maybe next byte is 1? */
- offset++;
- } else {
- /* can jump 3 bytes forward */
- offset += 3;
- }
- /* at each iteration, we rescan in a backward manner until
- * we match 0.0.1 in reverse order. Since our search string
- * has only 2 'alpabets' (i.e. 0 & 1), we know that any
- * mismatch will force us to shift a fixed number of steps */
- }
- GST_DEBUG ("Cannot find next NAL start code. returning %u", size);
-
- return size;
-}
-
-static gboolean
-gst_rtp_h265_pay_decode_nal (GstRtpH265Pay * payloader,
- const guint8 * data, guint size, GstClockTime dts, GstClockTime pts)
-{
- guint8 header, type;
- gboolean updated;
-
- /* default is no update */
- updated = FALSE;
-
- GST_DEBUG ("NAL payload len=%u", size);
-
- header = data[0];
- type = header & 0x3f;
-
- /* We record the timestamp of the last SPS/PPS so
- * that we can insert them at regular intervals and when needed. */
- if (GST_H265_NAL_VPS == type || GST_H265_NAL_SPS == type
- || GST_H265_NAL_PPS == type) {
- GstBuffer *nal;
-
- /* encode the entire NAL in base64 */
- GST_DEBUG ("Found %s %x %x %x Len=%u",
- type == GST_H265_NAL_VPS ? "VPS" : type ==
- GST_H265_NAL_SPS ? "SPS" : "PPS", (header >> 7), (header >> 5) & 3,
- type, size);
-
- nal = gst_buffer_new_allocate (NULL, size, NULL);
- gst_buffer_fill (nal, 0, data, size);
-
- updated = gst_rtp_h265_add_vps_sps_pps (GST_ELEMENT (payloader),
- payloader->vps, payloader->sps, payloader->pps, nal);
-
- /* remember when we last saw VPS */
- if (updated && pts != -1)
- payloader->last_vps_sps_pps = pts;
- } else {
- GST_DEBUG ("NAL: %x %x %x Len = %u", (header >> 7),
- (header >> 5) & 3, type, size);
- }
-
- return updated;
-}
-
-static GstFlowReturn
-gst_rtp_h265_pay_payload_nal (GstRTPBasePayload * basepayload,
- GstBuffer * paybuf, GstClockTime dts, GstClockTime pts, gboolean end_of_au);
-
-static GstFlowReturn
-gst_rtp_h265_pay_send_vps_sps_pps (GstRTPBasePayload * basepayload,
- GstRtpH265Pay * rtph265pay, GstClockTime dts, GstClockTime pts)
-{
- GstFlowReturn ret = GST_FLOW_OK;
- gboolean sent_all_vps_sps_pps = TRUE;
- guint i;
-
- for (i = 0; i < rtph265pay->vps->len; i++) {
- GstBuffer *vps_buf =
- GST_BUFFER_CAST (g_ptr_array_index (rtph265pay->vps, i));
-
- GST_DEBUG_OBJECT (rtph265pay, "inserting VPS in the stream");
- /* resend VPS */
- ret = gst_rtp_h265_pay_payload_nal (basepayload, gst_buffer_ref (vps_buf),
- dts, pts, FALSE);
- /* Not critical here; but throw a warning */
- if (ret != GST_FLOW_OK) {
- sent_all_vps_sps_pps = FALSE;
- GST_WARNING_OBJECT (basepayload, "Problem pushing VPS");
- }
- }
- for (i = 0; i < rtph265pay->sps->len; i++) {
- GstBuffer *sps_buf =
- GST_BUFFER_CAST (g_ptr_array_index (rtph265pay->sps, i));
-
- GST_DEBUG_OBJECT (rtph265pay, "inserting SPS in the stream");
- /* resend SPS */
- ret = gst_rtp_h265_pay_payload_nal (basepayload, gst_buffer_ref (sps_buf),
- dts, pts, FALSE);
- /* Not critical here; but throw a warning */
- if (ret != GST_FLOW_OK) {
- sent_all_vps_sps_pps = FALSE;
- GST_WARNING_OBJECT (basepayload, "Problem pushing SPS");
- }
- }
- for (i = 0; i < rtph265pay->pps->len; i++) {
- GstBuffer *pps_buf =
- GST_BUFFER_CAST (g_ptr_array_index (rtph265pay->pps, i));
-
- GST_DEBUG_OBJECT (rtph265pay, "inserting PPS in the stream");
- /* resend PPS */
- ret = gst_rtp_h265_pay_payload_nal (basepayload, gst_buffer_ref (pps_buf),
- dts, pts, FALSE);
- /* Not critical here; but throw a warning */
- if (ret != GST_FLOW_OK) {
- sent_all_vps_sps_pps = FALSE;
- GST_WARNING ("Problem pushing PPS");
- }
- }
-
- if (pts != -1 && sent_all_vps_sps_pps)
- rtph265pay->last_vps_sps_pps = pts;
-
- return ret;
-}
-
-static GstFlowReturn
-gst_rtp_h265_pay_payload_nal (GstRTPBasePayload * basepayload,
- GstBuffer * paybuf, GstClockTime dts, GstClockTime pts, gboolean end_of_au)
-{
- GstRtpH265Pay *rtph265pay;
- GstFlowReturn ret;
- guint8 nalHeader[2];
- guint8 nalType;
- guint packet_len, payload_len, mtu;
- GstBuffer *outbuf;
- guint8 *payload;
- GstBufferList *list = NULL;
- gboolean send_vps_sps_pps;
- GstRTPBuffer rtp = { NULL };
- guint size = gst_buffer_get_size (paybuf);
-
- rtph265pay = GST_RTP_H265_PAY (basepayload);
- mtu = GST_RTP_BASE_PAYLOAD_MTU (rtph265pay);
-
- gst_buffer_extract (paybuf, 0, nalHeader, 2);
- nalType = (nalHeader[0] >> 1) & 0x3f;
-
- GST_DEBUG_OBJECT (rtph265pay, "Processing Buffer with NAL TYPE=%d", nalType);
-
- /* should set src caps before pushing stuff,
- * and if we did not see enough VPS/SPS/PPS, that may not be the case */
- if (G_UNLIKELY (!gst_pad_has_current_caps (GST_RTP_BASE_PAYLOAD_SRCPAD
- (basepayload))))
- gst_rtp_h265_pay_set_vps_sps_pps (basepayload);
-
- send_vps_sps_pps = FALSE;
-
- /* check if we need to emit an VPS/SPS/PPS now */
- if (((nalType == GST_H265_NAL_SLICE_TRAIL_N)
- || (nalType == GST_H265_NAL_SLICE_TRAIL_R)
- || (nalType == GST_H265_NAL_SLICE_TSA_N)
- || (nalType == GST_H265_NAL_SLICE_TSA_R)
- || (nalType == GST_H265_NAL_SLICE_STSA_N)
- || (nalType == GST_H265_NAL_SLICE_STSA_R)
- || (nalType == GST_H265_NAL_SLICE_RASL_N)
- || (nalType == GST_H265_NAL_SLICE_RASL_R)
- || (nalType == GST_H265_NAL_SLICE_BLA_W_LP)
- || (nalType == GST_H265_NAL_SLICE_BLA_W_RADL)
- || (nalType == GST_H265_NAL_SLICE_BLA_N_LP)
- || (nalType == GST_H265_NAL_SLICE_IDR_W_RADL)
- || (nalType == GST_H265_NAL_SLICE_IDR_N_LP)
- || (nalType == GST_H265_NAL_SLICE_CRA_NUT))
- && rtph265pay->vps_sps_pps_interval > 0) {
-
- if (rtph265pay->last_vps_sps_pps != -1) {
- guint64 diff;
-
- GST_LOG_OBJECT (rtph265pay,
- "now %" GST_TIME_FORMAT ", last VPS/SPS/PPS %" GST_TIME_FORMAT,
- GST_TIME_ARGS (pts), GST_TIME_ARGS (rtph265pay->last_vps_sps_pps));
-
- /* calculate diff between last SPS/PPS in milliseconds */
- if (pts > rtph265pay->last_vps_sps_pps)
- diff = pts - rtph265pay->last_vps_sps_pps;
- else
- diff = 0;
-
- GST_DEBUG_OBJECT (rtph265pay,
- "interval since last VPS/SPS/PPS %" GST_TIME_FORMAT,
- GST_TIME_ARGS (diff));
-
- /* bigger than interval, queue SPS/PPS */
- if (GST_TIME_AS_SECONDS (diff) >= rtph265pay->vps_sps_pps_interval) {
- GST_DEBUG_OBJECT (rtph265pay, "time to send VPS/SPS/PPS");
- send_vps_sps_pps = TRUE;
- }
- } else {
- /* no known previous SPS/PPS time, send now */
- GST_DEBUG_OBJECT (rtph265pay, "no previous VPS/SPS/PPS time, send now");
- send_vps_sps_pps = TRUE;
- }
- }
-
- if (send_vps_sps_pps || rtph265pay->send_vps_sps_pps) {
- /* we need to send SPS/PPS now first. FIXME, don't use the pts for
- * checking when we need to send SPS/PPS but convert to running_time first. */
- rtph265pay->send_vps_sps_pps = FALSE;
- ret = gst_rtp_h265_pay_send_vps_sps_pps (basepayload, rtph265pay, dts, pts);
- if (ret != GST_FLOW_OK) {
- gst_buffer_unref (paybuf);
- return ret;
- }
- }
-
- packet_len = gst_rtp_buffer_calc_packet_len (size, 0, 0);
-
- GST_FIXME_OBJECT (rtph265pay, "Set RTP marker bit appropriately");
-
- if (packet_len < mtu) {
- GST_DEBUG_OBJECT (rtph265pay,
- "NAL Unit fit in one packet datasize=%d mtu=%d", size, mtu);
- /* will fit in one packet */
-
- /* use buffer lists
- * create buffer without payload containing only the RTP header
- * (memory block at index 0) */
- outbuf = gst_rtp_buffer_new_allocate (0, 0, 0);
-
- gst_rtp_buffer_map (outbuf, GST_MAP_WRITE, &rtp);
-
- /* FIXME : only set the marker bit on packets containing access units */
- /* if (IS_ACCESS_UNIT (nalType) && end_of_au) {
- gst_rtp_buffer_set_marker (&rtp, 1);
- } */
-
- /* timestamp the outbuffer */
- GST_BUFFER_PTS (outbuf) = pts;
- GST_BUFFER_DTS (outbuf) = dts;
-
- /* insert payload memory block */
- gst_rtp_copy_meta (GST_ELEMENT_CAST (rtph265pay), outbuf, paybuf,
- g_quark_from_static_string (GST_META_TAG_VIDEO_STR));
- outbuf = gst_buffer_append (outbuf, paybuf);
-
- list = gst_buffer_list_new ();
-
- /* add the buffer to the buffer list */
- gst_buffer_list_add (list, outbuf);
-
- gst_rtp_buffer_unmap (&rtp);
-
- /* push the list to the next element in the pipe */
- ret = gst_rtp_base_payload_push_list (basepayload, list);
- } else {
- /* fragmentation Units */
- guint limitedSize;
- int ii = 0, start = 1, end = 0, pos = 0;
-
- GST_DEBUG_OBJECT (basepayload,
- "NAL Unit DOES NOT fit in one packet datasize=%d mtu=%d", size, mtu);
-
- pos += 2;
- size -= 2;
-
- GST_DEBUG_OBJECT (basepayload, "Using FU fragmentation for data size=%d",
- size);
-
- /* We keep 3 bytes for PayloadHdr and FU Header */
- payload_len = gst_rtp_buffer_calc_payload_len (mtu - 3, 0, 0);
-
- list = gst_buffer_list_new ();
-
- while (end == 0) {
- limitedSize = size < payload_len ? size : payload_len;
- GST_DEBUG_OBJECT (basepayload,
- "Inside FU fragmentation limitedSize=%d iteration=%d", limitedSize,
- ii);
-
- /* use buffer lists
- * create buffer without payload containing only the RTP header
- * (memory block at index 0), and with space for PayloadHdr and FU header */
- outbuf = gst_rtp_buffer_new_allocate (3, 0, 0);
-
- gst_rtp_buffer_map (outbuf, GST_MAP_WRITE, &rtp);
-
- GST_BUFFER_DTS (outbuf) = dts;
- GST_BUFFER_PTS (outbuf) = pts;
- payload = gst_rtp_buffer_get_payload (&rtp);
-
- if (limitedSize == size) {
- GST_DEBUG_OBJECT (basepayload, "end size=%d iteration=%d", size, ii);
- end = 1;
- }
-
- /* PayloadHdr (type = 49) */
- payload[0] = (nalHeader[0] & 0x81) | (49 << 1);
- payload[1] = nalHeader[1];
-
- /* FIXME - set RTP marker bit appropriately */
- /* if (IS_ACCESS_UNIT (nalType)) {
- gst_rtp_buffer_set_marker (&rtp, end && end_of_au);
- } */
-
- /* FU Header */
- payload[2] = (start << 7) | (end << 6) | (nalType & 0x3f);
-
- gst_rtp_buffer_unmap (&rtp);
-
- /* insert payload memory block */
- gst_rtp_copy_meta (GST_ELEMENT_CAST (rtph265pay), outbuf, paybuf,
- g_quark_from_static_string (GST_META_TAG_VIDEO_STR));
- gst_buffer_copy_into (outbuf, paybuf, GST_BUFFER_COPY_MEMORY, pos,
- limitedSize);
- /* add the buffer to the buffer list */
- gst_buffer_list_add (list, outbuf);
-
- size -= limitedSize;
- pos += limitedSize;
- ii++;
- start = 0;
- }
-
- ret = gst_rtp_base_payload_push_list (basepayload, list);
- gst_buffer_unref (paybuf);
- }
- return ret;
-}
-
-static GstFlowReturn
-gst_rtp_h265_pay_handle_buffer (GstRTPBasePayload * basepayload,
- GstBuffer * buffer)
-{
- GstRtpH265Pay *rtph265pay;
- GstFlowReturn ret;
- gsize size;
- guint nal_len, i;
- GstMapInfo map;
- const guint8 *data;
- GstClockTime dts, pts;
- GArray *nal_queue;
- gboolean hevc;
- GstBuffer *paybuf = NULL;
- gsize skip;
-
- rtph265pay = GST_RTP_H265_PAY (basepayload);
-
- /* the input buffer contains one or more NAL units */
-
- hevc = (rtph265pay->stream_format == GST_H265_STREAM_FORMAT_HEV1)
- || (rtph265pay->stream_format == GST_H265_STREAM_FORMAT_HVC1);
-
- if (hevc) {
- /* In hevc mode, there is no adapter, so nothing to flush */
- if (buffer == NULL)
- return GST_FLOW_OK;
- gst_buffer_map (buffer, &map, GST_MAP_READ);
- data = map.data;
- size = map.size;
- pts = GST_BUFFER_PTS (buffer);
- dts = GST_BUFFER_DTS (buffer);
- GST_DEBUG_OBJECT (basepayload, "got %" G_GSIZE_FORMAT " bytes", size);
- } else {
- dts = gst_adapter_prev_dts (rtph265pay->adapter, NULL);
- pts = gst_adapter_prev_pts (rtph265pay->adapter, NULL);
- if (buffer) {
- if (!GST_CLOCK_TIME_IS_VALID (dts))
- dts = GST_BUFFER_DTS (buffer);
- if (!GST_CLOCK_TIME_IS_VALID (pts))
- pts = GST_BUFFER_PTS (buffer);
-
- gst_adapter_push (rtph265pay->adapter, buffer);
- }
- size = gst_adapter_available (rtph265pay->adapter);
- /* Nothing to do here if the adapter is empty, e.g. on EOS */
- if (size == 0)
- return GST_FLOW_OK;
- data = gst_adapter_map (rtph265pay->adapter, size);
- GST_DEBUG_OBJECT (basepayload,
- "got %" G_GSIZE_FORMAT " bytes (%" G_GSIZE_FORMAT ")", size,
- buffer ? gst_buffer_get_size (buffer) : 0);
- }
-
- ret = GST_FLOW_OK;
-
- /* now loop over all NAL units and put them in a packet
- * FIXME, we should really try to pack multiple NAL units into one RTP packet
- * if we can, especially for the config packets that wont't cause decoder
- * latency. */
- if (hevc) {
- guint nal_length_size;
- gsize offset = 0;
-
- nal_length_size = rtph265pay->nal_length_size;
-
- while (size > nal_length_size) {
- gint i;
- gboolean end_of_au = FALSE;
-
- nal_len = 0;
- for (i = 0; i < nal_length_size; i++) {
- nal_len = ((nal_len << 8) + data[i]);
- }
-
- /* skip the length bytes, make sure we don't run past the buffer size */
- data += nal_length_size;
- offset += nal_length_size;
- size -= nal_length_size;
-
- if (size >= nal_len) {
- GST_DEBUG_OBJECT (basepayload, "got NAL of size %u", nal_len);
- } else {
- nal_len = size;
- GST_DEBUG_OBJECT (basepayload, "got incomplete NAL of size %u",
- nal_len);
- }
-
- /* If we're at the end of the buffer, then we're at the end of the
- * access unit
- */
- if (rtph265pay->alignment == GST_H265_ALIGNMENT_AU
- && size - nal_len <= nal_length_size) {
- end_of_au = TRUE;
- }
-
- paybuf = gst_buffer_copy_region (buffer, GST_BUFFER_COPY_ALL, offset,
- nal_len);
-
- ret =
- gst_rtp_h265_pay_payload_nal (basepayload, paybuf, dts, pts,
- end_of_au);
- if (ret != GST_FLOW_OK)
- break;
-
- data += nal_len;
- offset += nal_len;
- size -= nal_len;
- }
- } else {
- guint next;
- gboolean update = FALSE;
-
- /* get offset of first start code */
- next = next_start_code (data, size);
-
- /* skip to start code, if no start code is found, next will be size and we
- * will not collect data. */
- data += next;
- size -= next;
- nal_queue = rtph265pay->queue;
- skip = next;
-
- /* array must be empty when we get here */
- g_assert (nal_queue->len == 0);
-
- GST_DEBUG_OBJECT (basepayload,
- "found first start at %u, bytes left %" G_GSIZE_FORMAT, next, size);
-
- /* first pass to locate NALs and parse SPS/PPS */
- while (size > 4) {
- /* skip start code */
- data += 3;
- size -= 3;
-
- /* use next_start_code() to scan buffer.
- * next_start_code() returns the offset in data,
- * starting from zero to the first byte of 0.0.0.1
- * If no start code is found, it returns the value of the
- * 'size' parameter.
- * data is unchanged by the call to next_start_code()
- */
- next = next_start_code (data, size);
-
- if (next == size && buffer != NULL) {
- /* Didn't find the start of next NAL and it's not EOS,
- * handle it next time */
- break;
- }
-
- /* nal length is distance to next start code */
- nal_len = next;
-
- GST_DEBUG_OBJECT (basepayload, "found next start at %u of size %u", next,
- nal_len);
-
- if (rtph265pay->sprop_parameter_sets != NULL) {
- /* explicitly set profile and sprop, use those */
- if (rtph265pay->update_caps) {
- if (!gst_rtp_base_payload_set_outcaps (basepayload,
- "sprop-parameter-sets", G_TYPE_STRING,
- rtph265pay->sprop_parameter_sets, NULL))
- goto caps_rejected;
-
- /* parse SPS and PPS from provided parameter set (for insertion) */
- gst_rtp_h265_pay_parse_sprop_parameter_sets (rtph265pay);
-
- rtph265pay->update_caps = FALSE;
-
- GST_DEBUG ("outcaps update: sprop-parameter-sets=%s",
- rtph265pay->sprop_parameter_sets);
- }
- } else {
- /* We know our stream is a valid H265 NAL packet,
- * go parse it for SPS/PPS to enrich the caps */
- /* order: make sure to check nal */
- update =
- gst_rtp_h265_pay_decode_nal (rtph265pay, data, nal_len, dts, pts)
- || update;
- }
- /* move to next NAL packet */
- data += nal_len;
- size -= nal_len;
-
- g_array_append_val (nal_queue, nal_len);
- }
-
- /* if has new VPS, SPS & PPS, update the output caps */
- if (G_UNLIKELY (update))
- if (!gst_rtp_h265_pay_set_vps_sps_pps (basepayload))
- goto caps_rejected;
-
- /* second pass to payload and push */
-
- if (nal_queue->len != 0)
- gst_adapter_flush (rtph265pay->adapter, skip);
-
- for (i = 0; i < nal_queue->len; i++) {
- guint size;
- gboolean end_of_au = FALSE;
-
- nal_len = g_array_index (nal_queue, guint, i);
- /* skip start code */
- gst_adapter_flush (rtph265pay->adapter, 3);
-
- /* Trim the end unless we're the last NAL in the stream.
- * In case we're not at the end of the buffer we know the next block
- * starts with 0x000001 so all the 0x00 bytes at the end of this one are
- * trailing 0x0 that can be discarded */
- size = nal_len;
- data = gst_adapter_map (rtph265pay->adapter, size);
- if (i + 1 != nal_queue->len || buffer != NULL)
- for (; size > 1 && data[size - 1] == 0x0; size--)
- /* skip */ ;
-
-
- /* If it's the last nal unit we have in non-bytestream mode, we can
- * assume it's the end of an access-unit
- *
- * FIXME: We need to wait until the next packet or EOS to
- * actually payload the NAL so we can know if the current NAL is
- * the last one of an access unit or not if we are in bytestream mode
- */
- if ((rtph265pay->alignment == GST_H265_ALIGNMENT_AU || buffer == NULL) &&
- i == nal_queue->len - 1)
- end_of_au = TRUE;
- paybuf = gst_adapter_take_buffer (rtph265pay->adapter, size);
- g_assert (paybuf);
-
- /* put the data in one or more RTP packets */
- ret =
- gst_rtp_h265_pay_payload_nal (basepayload, paybuf, dts, pts,
- end_of_au);
- if (ret != GST_FLOW_OK) {
- break;
- }
-
- /* move to next NAL packet */
- /* Skips the trailing zeros */
- gst_adapter_flush (rtph265pay->adapter, nal_len - size);
- }
- g_array_set_size (nal_queue, 0);
- }
-
-done:
- if (hevc) {
- gst_buffer_unmap (buffer, &map);
- gst_buffer_unref (buffer);
- } else {
- gst_adapter_unmap (rtph265pay->adapter);
- }
-
- return ret;
-
-caps_rejected:
- {
- GST_WARNING_OBJECT (basepayload, "Could not set outcaps");
- g_array_set_size (nal_queue, 0);
- ret = GST_FLOW_NOT_NEGOTIATED;
- goto done;
- }
-}
-
-static gboolean
-gst_rtp_h265_pay_sink_event (GstRTPBasePayload * payload, GstEvent * event)
-{
- gboolean res;
- const GstStructure *s;
- GstRtpH265Pay *rtph265pay = GST_RTP_H265_PAY (payload);
-
- switch (GST_EVENT_TYPE (event)) {
- case GST_EVENT_FLUSH_STOP:
- gst_adapter_clear (rtph265pay->adapter);
- break;
- case GST_EVENT_CUSTOM_DOWNSTREAM:
- s = gst_event_get_structure (event);
- if (gst_structure_has_name (s, "GstForceKeyUnit")) {
- gboolean resend_codec_data;
-
- if (gst_structure_get_boolean (s, "all-headers",
- &resend_codec_data) && resend_codec_data)
- rtph265pay->send_vps_sps_pps = TRUE;
- }
- break;
- case GST_EVENT_EOS:
- {
- /* call handle_buffer with NULL to flush last NAL from adapter
- * in byte-stream mode
- */
- gst_rtp_h265_pay_handle_buffer (payload, NULL);
- break;
- }
- case GST_EVENT_STREAM_START:
- GST_DEBUG_OBJECT (rtph265pay,
- "New stream detected => Clear VPS, SPS and PPS");
- gst_rtp_h265_pay_clear_vps_sps_pps (rtph265pay);
- break;
- default:
- break;
- }
-
- res = GST_RTP_BASE_PAYLOAD_CLASS (parent_class)->sink_event (payload, event);
-
- return res;
-}
-
-static GstStateChangeReturn
-gst_rtp_h265_pay_change_state (GstElement * element, GstStateChange transition)
-{
- GstStateChangeReturn ret;
- GstRtpH265Pay *rtph265pay = GST_RTP_H265_PAY (element);
-
- switch (transition) {
- case GST_STATE_CHANGE_READY_TO_PAUSED:
- rtph265pay->send_vps_sps_pps = FALSE;
- gst_adapter_clear (rtph265pay->adapter);
- break;
- default:
- break;
- }
-
- ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
-
- switch (transition) {
- case GST_STATE_CHANGE_PAUSED_TO_READY:
- rtph265pay->last_vps_sps_pps = -1;
- gst_rtp_h265_pay_clear_vps_sps_pps (rtph265pay);
- break;
- default:
- break;
- }
-
- return ret;
-}
-
-static void
-gst_rtp_h265_pay_set_property (GObject * object, guint prop_id,
- const GValue * value, GParamSpec * pspec)
-{
- GstRtpH265Pay *rtph265pay;
-
- rtph265pay = GST_RTP_H265_PAY (object);
-
- switch (prop_id) {
- case PROP_SPROP_PARAMETER_SETS:
- g_free (rtph265pay->sprop_parameter_sets);
- rtph265pay->sprop_parameter_sets = g_value_dup_string (value);
- rtph265pay->update_caps = TRUE;
- break;
- case PROP_CONFIG_INTERVAL:
- rtph265pay->vps_sps_pps_interval = g_value_get_uint (value);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-gst_rtp_h265_pay_get_property (GObject * object, guint prop_id,
- GValue * value, GParamSpec * pspec)
-{
- GstRtpH265Pay *rtph265pay;
-
- rtph265pay = GST_RTP_H265_PAY (object);
-
- switch (prop_id) {
- case PROP_SPROP_PARAMETER_SETS:
- g_value_set_string (value, rtph265pay->sprop_parameter_sets);
- break;
- case PROP_CONFIG_INTERVAL:
- g_value_set_uint (value, rtph265pay->vps_sps_pps_interval);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-gboolean
-gst_rtp_h265_pay_plugin_init (GstPlugin * plugin)
-{
- return gst_element_register (plugin, "rtph265pay",
- GST_RANK_SECONDARY, GST_TYPE_RTP_H265_PAY);
-}
diff --git a/gst/rtp/gstrtph265pay.h b/gst/rtp/gstrtph265pay.h
deleted file mode 100644
index 8382c5e..0000000
--- a/gst/rtp/gstrtph265pay.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/* GStreamer
- * Copyright (C) <2006> Wim Taymans <wim.taymans@gmail.com>
- * Copyright (C) <2014> Jurgen Slowack <jurgenslowack@gmail.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef __GST_RTP_H265_PAY_H__
-#define __GST_RTP_H265_PAY_H__
-
-#include <gst/gst.h>
-#include <gst/base/gstadapter.h>
-#include <gst/rtp/gstrtpbasepayload.h>
-#include <gst/codecparsers/gsth265parser.h>
-
-G_BEGIN_DECLS
-#define GST_TYPE_RTP_H265_PAY \
- (gst_rtp_h265_pay_get_type())
-#define GST_RTP_H265_PAY(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RTP_H265_PAY,GstRtpH265Pay))
-#define GST_RTP_H265_PAY_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RTP_H265_PAY,GstRtpH265PayClass))
-#define GST_IS_RTP_H265_PAY(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RTP_H265_PAY))
-#define GST_IS_RTP_H265_PAY_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RTP_H265_PAY))
-typedef struct _GstRtpH265Pay GstRtpH265Pay;
-typedef struct _GstRtpH265PayClass GstRtpH265PayClass;
-
-typedef enum
-{
- GST_H265_ALIGNMENT_UNKNOWN,
- GST_H265_ALIGNMENT_NAL,
- GST_H265_ALIGNMENT_AU
-} GstH265Alignment;
-
-struct _GstRtpH265Pay
-{
- GstRTPBasePayload payload;
-
- guint profile;
- GPtrArray *sps, *pps, *vps;
-
- GstH265StreamFormat stream_format;
- GstH265Alignment alignment;
- guint nal_length_size;
- GArray *queue;
-
- gchar *sprop_parameter_sets;
- gboolean update_caps;
-
- GstAdapter *adapter;
-
- guint vps_sps_pps_interval;
- gboolean send_vps_sps_pps;
- GstClockTime last_vps_sps_pps;
-};
-
-struct _GstRtpH265PayClass
-{
- GstRTPBasePayloadClass parent_class;
-};
-
-GType gst_rtp_h265_pay_get_type (void);
-
-gboolean gst_rtp_h265_pay_plugin_init (GstPlugin * plugin);
-
-G_END_DECLS
-#endif /* __GST_RTP_H265_PAY_H__ */
diff --git a/gst/sdi/Makefile.in b/gst/sdi/Makefile.in
index 193debf..6d74196 100644
--- a/gst/sdi/Makefile.in
+++ b/gst/sdi/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/sdp/Makefile.in b/gst/sdp/Makefile.in
index 6fb3443..35b6ad2 100644
--- a/gst/sdp/Makefile.in
+++ b/gst/sdp/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -325,7 +324,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +345,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +366,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +527,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +541,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +627,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +678,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +699,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +738,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/sdp/gstsdpdemux.c b/gst/sdp/gstsdpdemux.c
index a2ab691..f687d6a 100644
--- a/gst/sdp/gstsdpdemux.c
+++ b/gst/sdp/gstsdpdemux.c
@@ -94,9 +94,6 @@
static void gst_sdp_demux_get_property (GObject * object, guint prop_id,
GValue * value, GParamSpec * pspec);
-static GstCaps *gst_sdp_demux_media_to_caps (gint pt,
- const GstSDPMedia * media);
-
static GstStateChangeReturn gst_sdp_demux_change_state (GstElement * element,
GstStateChange transition);
static void gst_sdp_demux_handle_message (GstBin * bin, GstMessage * message);
@@ -398,7 +395,7 @@
if ((payload = gst_sdp_media_get_format (media, 0))) {
stream->pt = atoi (payload);
/* convert caps */
- stream->caps = gst_sdp_demux_media_to_caps (stream->pt, media);
+ stream->caps = gst_sdp_media_get_caps_from_media (media, stream->pt);
if (stream->pt >= 96) {
/* If we have a dynamic payload type, see if we have a stream with the
@@ -482,250 +479,6 @@
demux->numstreams = 0;
}
-#define PARSE_INT(p, del, res) \
-G_STMT_START { \
- gchar *t = p; \
- p = strstr (p, del); \
- if (p == NULL) \
- res = -1; \
- else { \
- *p = '\0'; \
- p++; \
- res = atoi (t); \
- } \
-} G_STMT_END
-
-#define PARSE_STRING(p, del, res) \
-G_STMT_START { \
- gchar *t = p; \
- p = strstr (p, del); \
- if (p == NULL) { \
- res = NULL; \
- p = t; \
- } \
- else { \
- *p = '\0'; \
- p++; \
- res = t; \
- } \
-} G_STMT_END
-
-#define SKIP_SPACES(p) \
- while (*p && g_ascii_isspace (*p)) \
- p++;
-
-/* rtpmap contains:
- *
- * <payload> <encoding_name>/<clock_rate>[/<encoding_params>]
- */
-static gboolean
-gst_sdp_demux_parse_rtpmap (const gchar * rtpmap, gint * payload, gchar ** name,
- gint * rate, gchar ** params)
-{
- gchar *p, *t;
-
- p = (gchar *) rtpmap;
-
- PARSE_INT (p, " ", *payload);
- if (*payload == -1)
- return FALSE;
-
- SKIP_SPACES (p);
- if (*p == '\0')
- return FALSE;
-
- PARSE_STRING (p, "/", *name);
- if (*name == NULL) {
- GST_DEBUG ("no rate, name %s", p);
- /* no rate, assume -1 then */
- *name = p;
- *rate = -1;
- return TRUE;
- }
-
- t = p;
- p = strstr (p, "/");
- if (p == NULL) {
- *rate = atoi (t);
- return TRUE;
- }
- *p = '\0';
- p++;
- *rate = atoi (t);
-
- t = p;
- if (*p == '\0')
- return TRUE;
- *params = t;
-
- return TRUE;
-}
-
-/*
- * Mapping of caps to and from SDP fields:
- *
- * m=<media> <UDP port> RTP/AVP <payload>
- * a=rtpmap:<payload> <encoding_name>/<clock_rate>[/<encoding_params>]
- * a=fmtp:<payload> <param>[=<value>];...
- */
-static GstCaps *
-gst_sdp_demux_media_to_caps (gint pt, const GstSDPMedia * media)
-{
- GstCaps *caps;
- const gchar *rtpmap;
- const gchar *fmtp;
- gchar *name = NULL;
- gint rate = -1;
- gchar *params = NULL;
- gchar *tmp;
- GstStructure *s;
- gint payload = 0;
- gboolean ret;
-
- /* get and parse rtpmap */
- if ((rtpmap = gst_sdp_media_get_attribute_val (media, "rtpmap"))) {
- ret = gst_sdp_demux_parse_rtpmap (rtpmap, &payload, &name, &rate, ¶ms);
- if (ret) {
- if (payload != pt) {
- /* we ignore the rtpmap if the payload type is different. */
- g_warning ("rtpmap of wrong payload type, ignoring");
- name = NULL;
- rate = -1;
- params = NULL;
- }
- } else {
- /* if we failed to parse the rtpmap for a dynamic payload type, we have an
- * error */
- if (pt >= 96)
- goto no_rtpmap;
- /* else we can ignore */
- g_warning ("error parsing rtpmap, ignoring");
- }
- } else {
- /* dynamic payloads need rtpmap or we fail */
- if (pt >= 96)
- goto no_rtpmap;
- }
- /* check if we have a rate, if not, we need to look up the rate from the
- * default rates based on the payload types. */
- if (rate == -1) {
- const GstRTPPayloadInfo *info;
-
- if (GST_RTP_PAYLOAD_IS_DYNAMIC (pt)) {
- /* dynamic types, use media and encoding_name */
- tmp = g_ascii_strdown (media->media, -1);
- info = gst_rtp_payload_info_for_name (tmp, name);
- g_free (tmp);
- } else {
- /* static types, use payload type */
- info = gst_rtp_payload_info_for_pt (pt);
- }
-
- if (info) {
- if ((rate = info->clock_rate) == 0)
- rate = -1;
- }
- /* we fail if we cannot find one */
- if (rate == -1)
- goto no_rate;
- }
-
- tmp = g_ascii_strdown (media->media, -1);
- caps = gst_caps_new_simple ("application/x-rtp",
- "media", G_TYPE_STRING, tmp, "payload", G_TYPE_INT, pt, NULL);
- g_free (tmp);
- s = gst_caps_get_structure (caps, 0);
-
- gst_structure_set (s, "clock-rate", G_TYPE_INT, rate, NULL);
-
- /* encoding name must be upper case */
- if (name != NULL) {
- tmp = g_ascii_strup (name, -1);
- gst_structure_set (s, "encoding-name", G_TYPE_STRING, tmp, NULL);
- g_free (tmp);
- }
-
- /* params must be lower case */
- if (params != NULL) {
- tmp = g_ascii_strdown (params, -1);
- gst_structure_set (s, "encoding-params", G_TYPE_STRING, tmp, NULL);
- g_free (tmp);
- }
-
- /* parse optional fmtp: field */
- if ((fmtp = gst_sdp_media_get_attribute_val (media, "fmtp"))) {
- gchar *p;
- gint payload = 0;
-
- p = (gchar *) fmtp;
-
- /* p is now of the format <payload> <param>[=<value>];... */
- PARSE_INT (p, " ", payload);
- if (payload != -1 && payload == pt) {
- gchar **pairs;
- gint i;
-
- /* <param>[=<value>] are separated with ';' */
- pairs = g_strsplit (p, ";", 0);
- for (i = 0; pairs[i]; i++) {
- gchar *valpos;
- const gchar *key, *val;
- gint j;
- const gchar *reserved_keys[] =
- { "media", "payload", "clock-rate", "encoding-name",
- "encoding-params"
- };
-
- /* the key may not have a '=', the value can have other '='s */
- valpos = strstr (pairs[i], "=");
- if (valpos) {
- /* we have a '=' and thus a value, remove the '=' with \0 */
- *valpos = '\0';
- /* value is everything between '=' and ';'. FIXME, strip? */
- val = g_strstrip (valpos + 1);
- } else {
- /* simple <param>;.. is translated into <param>=1;... */
- val = "1";
- }
- /* strip the key of spaces, convert key to lowercase but not the value. */
- key = g_strstrip (pairs[i]);
-
- /* skip keys from the fmtp, which we already use ourselves for the
- * caps. Some software is adding random things like clock-rate into
- * the fmtp, and we would otherwise here set a string-typed clock-rate
- * in the caps... and thus fail to create valid RTP caps
- */
- for (j = 0; j < G_N_ELEMENTS (reserved_keys); j++) {
- if (g_ascii_strcasecmp (reserved_keys[j], key) == 0) {
- key = "";
- break;
- }
- }
-
- if (strlen (key) > 1) {
- tmp = g_ascii_strdown (key, -1);
- gst_structure_set (s, tmp, G_TYPE_STRING, val, NULL);
- g_free (tmp);
- }
- }
- g_strfreev (pairs);
- }
- }
- return caps;
-
- /* ERRORS */
-no_rtpmap:
- {
- g_warning ("rtpmap type not given for dynamic payload %d", pt);
- return NULL;
- }
-no_rate:
- {
- g_warning ("rate unknown for payload type %d", pt);
- return NULL;
- }
-}
-
/* this callback is called when the session manager generated a new src pad with
* payloaded RTP packets. We simply ghost the pad here. */
static void
diff --git a/gst/segmentclip/Makefile.in b/gst/segmentclip/Makefile.in
index 52dc3a5..7724a3e 100644
--- a/gst/segmentclip/Makefile.in
+++ b/gst/segmentclip/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -327,7 +326,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -349,7 +347,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -371,9 +368,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -535,6 +529,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -548,8 +543,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -636,8 +629,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -689,6 +680,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -709,6 +701,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -746,7 +740,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/segmentclip/gstvideosegmentclip.c b/gst/segmentclip/gstvideosegmentclip.c
index 7430a65..0b168e4 100644
--- a/gst/segmentclip/gstvideosegmentclip.c
+++ b/gst/segmentclip/gstvideosegmentclip.c
@@ -167,8 +167,8 @@
s = gst_caps_get_structure (caps, 0);
- ret = gst_structure_get_fraction (s, "framerate", &fps_n, &fps_d);
- ret = (fps_d != 0);
+ ret = gst_structure_get_fraction (s, "framerate", &fps_n, &fps_d)
+ && (fps_d != 0);
if (ret) {
GST_DEBUG_OBJECT (self, "Configured framerate %d/%d", fps_n, fps_d);
diff --git a/gst/siren/Makefile.in b/gst/siren/Makefile.in
index d62cb76..9895ff0 100644
--- a/gst/siren/Makefile.in
+++ b/gst/siren/Makefile.in
@@ -115,16 +115,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -325,7 +324,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +345,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +366,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +527,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +541,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +627,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +678,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +699,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +738,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/smooth/Makefile.in b/gst/smooth/Makefile.in
index e2942b3..ae5b44b 100644
--- a/gst/smooth/Makefile.in
+++ b/gst/smooth/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -323,7 +322,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -345,7 +343,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -367,9 +364,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -531,6 +525,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -544,8 +539,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -632,8 +625,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -685,6 +676,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -705,6 +697,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -742,7 +736,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/speed/Makefile.in b/gst/speed/Makefile.in
index 81e8a5f..d34ee56 100644
--- a/gst/speed/Makefile.in
+++ b/gst/speed/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -323,7 +322,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -345,7 +343,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -367,9 +364,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -531,6 +525,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -544,8 +539,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -632,8 +625,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -685,6 +676,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -705,6 +697,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -742,7 +736,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/stereo/Makefile.in b/gst/stereo/Makefile.in
index 0b803d2..5b43886 100644
--- a/gst/stereo/Makefile.in
+++ b/gst/stereo/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -323,7 +322,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -345,7 +343,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -367,9 +364,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -531,6 +525,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -544,8 +539,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -632,8 +625,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -685,6 +676,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -705,6 +697,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -742,7 +736,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/subenc/Makefile.in b/gst/subenc/Makefile.in
index a49deb6..551805d 100644
--- a/gst/subenc/Makefile.in
+++ b/gst/subenc/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -323,7 +322,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -345,7 +343,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -367,9 +364,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -531,6 +525,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -544,8 +539,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -632,8 +625,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -685,6 +676,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -705,6 +697,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -742,7 +736,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/tta/Makefile.in b/gst/tta/Makefile.in
index 84567cc..682905d 100644
--- a/gst/tta/Makefile.in
+++ b/gst/tta/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/videofilters/Makefile.in b/gst/videofilters/Makefile.in
index 7bed430..714ad12 100644
--- a/gst/videofilters/Makefile.in
+++ b/gst/videofilters/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -329,7 +328,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -351,7 +349,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -373,9 +370,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -537,6 +531,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -550,8 +545,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -638,8 +631,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -691,6 +682,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -711,6 +703,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -748,7 +742,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/videoframe_audiolevel/Makefile.in b/gst/videoframe_audiolevel/Makefile.in
index e0b9775..404fc7a 100644
--- a/gst/videoframe_audiolevel/Makefile.in
+++ b/gst/videoframe_audiolevel/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -326,7 +325,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -348,7 +346,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -370,9 +367,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -534,6 +528,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -547,8 +542,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -635,8 +628,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -688,6 +679,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -708,6 +700,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -745,7 +739,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/videomeasure/Makefile.in b/gst/videomeasure/Makefile.in
index 84a4ca4..8ac2928 100644
--- a/gst/videomeasure/Makefile.in
+++ b/gst/videomeasure/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -327,7 +326,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -349,7 +347,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -371,9 +368,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -535,6 +529,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -548,8 +543,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -636,8 +629,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -689,6 +680,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -709,6 +701,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -746,7 +740,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/videoparsers/Makefile.in b/gst/videoparsers/Makefile.in
index 2db81aa..1a0c57b 100644
--- a/gst/videoparsers/Makefile.in
+++ b/gst/videoparsers/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -336,7 +335,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -358,7 +356,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -380,9 +377,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -544,6 +538,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -557,8 +552,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -645,8 +638,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -698,6 +689,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -718,6 +710,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -755,7 +749,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/videoparsers/gsth264parse.c b/gst/videoparsers/gsth264parse.c
index 21df95e..6721657 100644
--- a/gst/videoparsers/gsth264parse.c
+++ b/gst/videoparsers/gsth264parse.c
@@ -1499,11 +1499,20 @@
static void
ensure_caps_profile (GstH264Parse * h264parse, GstCaps * caps, GstH264SPS * sps)
{
- GstCaps *filter_caps, *peer_caps, *compat_caps;
+ GstCaps *peer_caps, *compat_caps;
- filter_caps = gst_caps_new_empty_simple ("video/x-h264");
- peer_caps =
- gst_pad_peer_query_caps (GST_BASE_PARSE_SRC_PAD (h264parse), filter_caps);
+ peer_caps = gst_pad_get_current_caps (GST_BASE_PARSE_SRC_PAD (h264parse));
+ if (!peer_caps || !gst_caps_can_intersect (caps, peer_caps)) {
+ GstCaps *filter_caps = gst_caps_new_empty_simple ("video/x-h264");
+
+ if (peer_caps)
+ gst_caps_unref (peer_caps);
+ peer_caps =
+ gst_pad_peer_query_caps (GST_BASE_PARSE_SRC_PAD (h264parse),
+ filter_caps);
+
+ gst_caps_unref (filter_caps);
+ }
if (peer_caps && !gst_caps_can_intersect (caps, peer_caps)) {
GstStructure *structure;
@@ -1534,7 +1543,6 @@
}
if (peer_caps)
gst_caps_unref (peer_caps);
- gst_caps_unref (filter_caps);
}
static const gchar *
@@ -1792,8 +1800,6 @@
/* Pass through or set output stereo/multiview config */
if (s && gst_structure_has_field (s, "multiview-mode")) {
caps_mview_mode = gst_structure_get_string (s, "multiview-mode");
- mview_mode =
- gst_video_multiview_mode_from_caps_string (caps_mview_mode);
gst_structure_get_flagset (s, "multiview-flags", &mview_flags, NULL);
} else if (mview_mode != GST_VIDEO_MULTIVIEW_MODE_NONE) {
if (gst_video_multiview_guess_half_aspect (mview_mode,
@@ -1855,14 +1861,20 @@
src_caps = gst_pad_get_current_caps (GST_BASE_PARSE_SRC_PAD (h264parse));
- if (src_caps
- && gst_structure_has_field (gst_caps_get_structure (src_caps, 0),
- "codec_data")) {
+ if (src_caps) {
/* use codec data from old caps for comparison; we don't want to resend caps
if everything is same except codec data; */
- gst_caps_set_value (caps, "codec_data",
- gst_structure_get_value (gst_caps_get_structure (src_caps, 0),
- "codec_data"));
+ if (gst_structure_has_field (gst_caps_get_structure (src_caps, 0),
+ "codec_data")) {
+ gst_caps_set_value (caps, "codec_data",
+ gst_structure_get_value (gst_caps_get_structure (src_caps, 0),
+ "codec_data"));
+ } else if (!buf) {
+ GstStructure *s;
+ /* remove any left-over codec-data hanging around */
+ s = gst_caps_get_structure (caps, 0);
+ gst_structure_remove_field (s, "codec_data");
+ }
}
if (!(src_caps && gst_caps_is_strictly_equal (src_caps, caps))) {
diff --git a/gst/videoparsers/gsth265parse.c b/gst/videoparsers/gsth265parse.c
index 67a16c6..9625122 100644
--- a/gst/videoparsers/gsth265parse.c
+++ b/gst/videoparsers/gsth265parse.c
@@ -1073,6 +1073,10 @@
if (!found)
return NULL;
+ sps = h265parse->nalparser->last_sps;
+ if (!sps)
+ return NULL;
+
buf =
gst_buffer_new_allocate (NULL,
23 + num_arrays + (3 * num_arrays) + vps_size + sps_size + pps_size,
@@ -1082,9 +1086,6 @@
memset (data, 0, map.size);
nl = h265parse->nal_length_size;
- sps = h265parse->nalparser->last_sps;
- if (!sps)
- return NULL;
pft = &sps->profile_tier_level;
if (sps->vui_parameters_present_flag)
min_spatial_segmentation_idc = sps->vui_params.min_spatial_segmentation_idc;
@@ -1340,11 +1341,20 @@
static void
ensure_caps_profile (GstH265Parse * h265parse, GstCaps * caps, GstH265SPS * sps)
{
- GstCaps *filter_caps, *peer_caps, *compat_caps;
+ GstCaps *peer_caps, *compat_caps;
- filter_caps = gst_caps_new_empty_simple ("video/x-h265");
- peer_caps =
- gst_pad_peer_query_caps (GST_BASE_PARSE_SRC_PAD (h265parse), filter_caps);
+ peer_caps = gst_pad_get_current_caps (GST_BASE_PARSE_SRC_PAD (h265parse));
+ if (!peer_caps || !gst_caps_can_intersect (caps, peer_caps)) {
+ GstCaps *filter_caps = gst_caps_new_empty_simple ("video/x-h265");
+
+ if (peer_caps)
+ gst_caps_unref (peer_caps);
+ peer_caps =
+ gst_pad_peer_query_caps (GST_BASE_PARSE_SRC_PAD (h265parse),
+ filter_caps);
+
+ gst_caps_unref (filter_caps);
+ }
if (peer_caps && !gst_caps_can_intersect (caps, peer_caps)) {
GstStructure *structure;
@@ -1375,7 +1385,6 @@
}
if (peer_caps)
gst_caps_unref (peer_caps);
- gst_caps_unref (filter_caps);
}
static void
@@ -1557,15 +1566,22 @@
src_caps = gst_pad_get_current_caps (GST_BASE_PARSE_SRC_PAD (h265parse));
- if (src_caps
- && gst_structure_has_field (gst_caps_get_structure (src_caps, 0),
- "codec_data")) {
+ if (src_caps) {
/* use codec data from old caps for comparison; we don't want to resend caps
if everything is same except codec data; */
- gst_caps_set_value (caps, "codec_data",
- gst_structure_get_value (gst_caps_get_structure (src_caps, 0),
- "codec_data"));
+ if (gst_structure_has_field (gst_caps_get_structure (src_caps, 0),
+ "codec_data")) {
+ gst_caps_set_value (caps, "codec_data",
+ gst_structure_get_value (gst_caps_get_structure (src_caps, 0),
+ "codec_data"));
+ } else if (!buf) {
+ GstStructure *s;
+ /* remove any left-over codec-data hanging around */
+ s = gst_caps_get_structure (caps, 0);
+ gst_structure_remove_field (s, "codec_data");
+ }
}
+
if (!(src_caps && gst_caps_is_strictly_equal (src_caps, caps))) {
/* update codec data to new value */
if (buf) {
@@ -2032,7 +2048,7 @@
off = nalu.offset + nalu.size;
}
}
-
+ gst_buffer_unmap (codec_data, &map);
} else {
GST_DEBUG_OBJECT (h265parse, "have bytestream h265");
/* nothing to pre-process */
diff --git a/gst/videosignal/Makefile.in b/gst/videosignal/Makefile.in
index ce5367b..93ae9ff 100644
--- a/gst/videosignal/Makefile.in
+++ b/gst/videosignal/Makefile.in
@@ -115,16 +115,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/vmnc/Makefile.in b/gst/vmnc/Makefile.in
index ed80898..3ad941a 100644
--- a/gst/vmnc/Makefile.in
+++ b/gst/vmnc/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -323,7 +322,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -345,7 +343,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -367,9 +364,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -531,6 +525,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -544,8 +539,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -632,8 +625,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -685,6 +676,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -705,6 +697,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -742,7 +736,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/y4m/Makefile.in b/gst/y4m/Makefile.in
index dd313f5..a23b956 100644
--- a/gst/y4m/Makefile.in
+++ b/gst/y4m/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -323,7 +322,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -345,7 +343,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -367,9 +364,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -531,6 +525,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -544,8 +539,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -632,8 +625,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -685,6 +676,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -705,6 +697,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -742,7 +736,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/gst/yadif/Makefile.in b/gst/yadif/Makefile.in
index 749d8d9..24883f6 100644
--- a/gst/yadif/Makefile.in
+++ b/gst/yadif/Makefile.in
@@ -115,16 +115,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -321,7 +320,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -343,7 +341,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -365,9 +362,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -529,6 +523,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -542,8 +537,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -630,8 +623,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -683,6 +674,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -703,6 +695,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -740,7 +734,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/ltmain.sh b/ltmain.sh
index bffda54..147d758 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -1,9 +1,12 @@
+#! /bin/sh
+## DO NOT EDIT - This file generated from ./build-aux/ltmain.in
+## by inline-source v2014-01-03.01
-# libtool (GNU libtool) 2.4.2
+# libtool (GNU libtool) 2.4.6
+# Provide generalized library-building support services.
# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+# Copyright (C) 1996-2015 Free Software Foundation, Inc.
# This is free software; see the source for copying conditions. There is NO
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
@@ -23,166 +26,670 @@
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html,
-# or obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Usage: $progname [OPTION]... [MODE-ARG]...
-#
-# Provide generalized library-building support services.
-#
-# --config show all configuration variables
-# --debug enable verbose shell tracing
-# -n, --dry-run display commands without modifying any files
-# --features display basic configuration information and exit
-# --mode=MODE use operation mode MODE
-# --preserve-dup-deps don't remove duplicate dependency libraries
-# --quiet, --silent don't print informational messages
-# --no-quiet, --no-silent
-# print informational messages (default)
-# --no-warn don't display warning messages
-# --tag=TAG use configuration variables from tag TAG
-# -v, --verbose print more informational messages than default
-# --no-verbose don't print the extra informational messages
-# --version print version information
-# -h, --help, --help-all print short, long, or detailed help message
-#
-# MODE must be one of the following:
-#
-# clean remove files from the build directory
-# compile compile a source file into a libtool object
-# execute automatically set library path, then run a program
-# finish complete the installation of libtool libraries
-# install install libraries or executables
-# link create a library or an executable
-# uninstall remove libraries from an installed directory
-#
-# MODE-ARGS vary depending on the MODE. When passed as first option,
-# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
-# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
-#
-# When reporting a bug, please describe a test case to reproduce it and
-# include the following information:
-#
-# host-triplet: $host
-# shell: $SHELL
-# compiler: $LTCC
-# compiler flags: $LTCFLAGS
-# linker: $LD (gnu? $with_gnu_ld)
-# $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1.11
-# automake: $automake_version
-# autoconf: $autoconf_version
-#
-# Report bugs to <bug-libtool@gnu.org>.
-# GNU libtool home page: <http://www.gnu.org/software/libtool/>.
-# General help using GNU software: <http://www.gnu.org/gethelp/>.
PROGRAM=libtool
PACKAGE=libtool
-VERSION="2.4.2 Debian-2.4.2-1.11"
-TIMESTAMP=""
-package_revision=1.3337
+VERSION="2.4.6 Debian-2.4.6-0.1"
+package_revision=2.4.6
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# Run './libtool --help' for help with using this script from the
+# command line.
+
+
+## ------------------------------- ##
+## User overridable command paths. ##
+## ------------------------------- ##
+
+# After configure completes, it has a better idea of some of the
+# shell tools we need than the defaults used by the functions shared
+# with bootstrap, so set those here where they can still be over-
+# ridden by the user, but otherwise take precedence.
+
+: ${AUTOCONF="autoconf"}
+: ${AUTOMAKE="automake"}
+
+
+## -------------------------- ##
+## Source external libraries. ##
+## -------------------------- ##
+
+# Much of our low-level functionality needs to be sourced from external
+# libraries, which are installed to $pkgauxdir.
+
+# Set a version string for this script.
+scriptversion=2015-01-20.17; # UTC
+
+# General shell script boiler plate, and helper functions.
+# Written by Gary V. Vaughan, 2004
+
+# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+
+# As a special exception to the GNU General Public License, if you distribute
+# this file as part of a program or library that is built using GNU Libtool,
+# you may include this file under the same distribution terms that you use
+# for the rest of that program.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNES FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Please report bugs or propose patches to gary@gnu.org.
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# Evaluate this file near the top of your script to gain access to
+# the functions and variables defined here:
+#
+# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh
+#
+# If you need to override any of the default environment variable
+# settings, do that before evaluating this file.
+
+
+## -------------------- ##
+## Shell normalisation. ##
+## -------------------- ##
+
+# Some shells need a little help to be as Bourne compatible as possible.
+# Before doing anything else, make sure all that help has been provided!
+
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else
- case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+ case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac
fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
- eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-}
-
-# NLS nuisances: We save the old values to restore during execute mode.
-lt_user_locale=
-lt_safe_locale=
-for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+# NLS nuisances: We save the old values in case they are required later.
+_G_user_locale=
+_G_safe_locale=
+for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
do
- eval "if test \"\${$lt_var+set}\" = set; then
- save_$lt_var=\$$lt_var
- $lt_var=C
- export $lt_var
- lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
- lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
+ eval "if test set = \"\${$_G_var+set}\"; then
+ save_$_G_var=\$$_G_var
+ $_G_var=C
+ export $_G_var
+ _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\"
+ _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\"
fi"
done
-LC_ALL=C
-LANGUAGE=C
-export LANGUAGE LC_ALL
-$lt_unset CDPATH
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+# Make sure IFS has a sensible default
+sp=' '
+nl='
+'
+IFS="$sp $nl"
+
+# There are apparently some retarded systems that use ';' as a PATH separator!
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+
+## ------------------------- ##
+## Locate command utilities. ##
+## ------------------------- ##
+
+
+# func_executable_p FILE
+# ----------------------
+# Check that FILE is an executable regular file.
+func_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+}
+
+
+# func_path_progs PROGS_LIST CHECK_FUNC [PATH]
+# --------------------------------------------
+# Search for either a program that responds to --version with output
+# containing "GNU", or else returned by CHECK_FUNC otherwise, by
+# trying all the directories in PATH with each of the elements of
+# PROGS_LIST.
+#
+# CHECK_FUNC should accept the path to a candidate program, and
+# set $func_check_prog_result if it truncates its output less than
+# $_G_path_prog_max characters.
+func_path_progs ()
+{
+ _G_progs_list=$1
+ _G_check_func=$2
+ _G_PATH=${3-"$PATH"}
+
+ _G_path_prog_max=0
+ _G_path_prog_found=false
+ _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:}
+ for _G_dir in $_G_PATH; do
+ IFS=$_G_save_IFS
+ test -z "$_G_dir" && _G_dir=.
+ for _G_prog_name in $_G_progs_list; do
+ for _exeext in '' .EXE; do
+ _G_path_prog=$_G_dir/$_G_prog_name$_exeext
+ func_executable_p "$_G_path_prog" || continue
+ case `"$_G_path_prog" --version 2>&1` in
+ *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;;
+ *) $_G_check_func $_G_path_prog
+ func_path_progs_result=$func_check_prog_result
+ ;;
+ esac
+ $_G_path_prog_found && break 3
+ done
+ done
+ done
+ IFS=$_G_save_IFS
+ test -z "$func_path_progs_result" && {
+ echo "no acceptable sed could be found in \$PATH" >&2
+ exit 1
+ }
+}
+
+
+# We want to be able to use the functions in this file before configure
+# has figured out where the best binaries are kept, which means we have
+# to search for them ourselves - except when the results are already set
+# where we skip the searches.
+
+# Unless the user overrides by setting SED, search the path for either GNU
+# sed, or the sed that truncates its output the least.
+test -z "$SED" && {
+ _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+ for _G_i in 1 2 3 4 5 6 7; do
+ _G_sed_script=$_G_sed_script$nl$_G_sed_script
+ done
+ echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed
+ _G_sed_script=
+
+ func_check_prog_sed ()
+ {
+ _G_path_prog=$1
+
+ _G_count=0
+ printf 0123456789 >conftest.in
+ while :
+ do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo '' >> conftest.nl
+ "$_G_path_prog" -f conftest.sed <conftest.nl >conftest.out 2>/dev/null || break
+ diff conftest.out conftest.nl >/dev/null 2>&1 || break
+ _G_count=`expr $_G_count + 1`
+ if test "$_G_count" -gt "$_G_path_prog_max"; then
+ # Best one so far, save it but keep looking for a better one
+ func_check_prog_result=$_G_path_prog
+ _G_path_prog_max=$_G_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test 10 -lt "$_G_count" && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out
+ }
+
+ func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin
+ rm -f conftest.sed
+ SED=$func_path_progs_result
+}
+
+
+# Unless the user overrides by setting GREP, search the path for either GNU
+# grep, or the grep that truncates its output the least.
+test -z "$GREP" && {
+ func_check_prog_grep ()
+ {
+ _G_path_prog=$1
+
+ _G_count=0
+ _G_path_prog_max=0
+ printf 0123456789 >conftest.in
+ while :
+ do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo 'GREP' >> conftest.nl
+ "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' <conftest.nl >conftest.out 2>/dev/null || break
+ diff conftest.out conftest.nl >/dev/null 2>&1 || break
+ _G_count=`expr $_G_count + 1`
+ if test "$_G_count" -gt "$_G_path_prog_max"; then
+ # Best one so far, save it but keep looking for a better one
+ func_check_prog_result=$_G_path_prog
+ _G_path_prog_max=$_G_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test 10 -lt "$_G_count" && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out
+ }
+
+ func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin
+ GREP=$func_path_progs_result
+}
+
+
+## ------------------------------- ##
+## User overridable command paths. ##
+## ------------------------------- ##
+
+# All uppercase variable names are used for environment variables. These
+# variables can be overridden by the user before calling a script that
+# uses them if a suitable command of that name is not already available
+# in the command search PATH.
+
+: ${CP="cp -f"}
+: ${ECHO="printf %s\n"}
+: ${EGREP="$GREP -E"}
+: ${FGREP="$GREP -F"}
+: ${LN_S="ln -s"}
+: ${MAKE="make"}
+: ${MKDIR="mkdir"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
+
+
+## -------------------- ##
+## Useful sed snippets. ##
+## -------------------- ##
+
+sed_dirname='s|/[^/]*$||'
+sed_basename='s|^.*/||'
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='s|\([`"$\\]\)|\\\1|g'
+
+# Same as above, but do not quote variable references.
+sed_double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution that turns a string into a regex matching for the
+# string literally.
+sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g'
+
+# Sed substitution that converts a w32 file name or path
+# that contains forward slashes, into one that contains
+# (escaped) backslashes. A very naive implementation.
+sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+
+# Re-'\' parameter expansions in output of sed_double_quote_subst that
+# were '\'-ed in input to the same. If an odd number of '\' preceded a
+# '$' in input to sed_double_quote_subst, that '$' was protected from
+# expansion. Since each input '\' is now two '\'s, look for any number
+# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'.
+_G_bs='\\'
+_G_bs2='\\\\'
+_G_bs4='\\\\\\\\'
+_G_dollar='\$'
+sed_double_backslash="\
+ s/$_G_bs4/&\\
+/g
+ s/^$_G_bs2$_G_dollar/$_G_bs&/
+ s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g
+ s/\n//g"
+
+
+## ----------------- ##
+## Global variables. ##
+## ----------------- ##
+
+# Except for the global variables explicitly listed below, the following
+# functions in the '^func_' namespace, and the '^require_' namespace
+# variables initialised in the 'Resource management' section, sourcing
+# this file will not pollute your global namespace with anything
+# else. There's no portable way to scope variables in Bourne shell
+# though, so actually running these functions will sometimes place
+# results into a variable named after the function, and often use
+# temporary variables in the '^_G_' namespace. If you are careful to
+# avoid using those namespaces casually in your sourcing script, things
+# should continue to work as you expect. And, of course, you can freely
+# overwrite any of the functions or variables defined here before
+# calling anything to customize them.
+
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
+EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
+
+# Allow overriding, eg assuming that you follow the convention of
+# putting '$debug_cmd' at the start of all your functions, you can get
+# bash to show function call trace with:
+#
+# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
+debug_cmd=${debug_cmd-":"}
+exit_cmd=:
+
+# By convention, finish your script with:
+#
+# exit $exit_status
+#
+# so that you can set exit_status to non-zero if you want to indicate
+# something went wrong during execution without actually bailing out at
+# the point of failure.
+exit_status=$EXIT_SUCCESS
# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
# is ksh but when the shell is invoked as "sh" and the current value of
# the _XPG environment variable is not equal to 1 (one), the special
# positional parameter $0, within a function call, is the name of the
# function.
-progpath="$0"
+progpath=$0
+
+# The name of this program.
+progname=`$ECHO "$progpath" |$SED "$sed_basename"`
+
+# Make sure we have an absolute progpath for reexecution:
+case $progpath in
+ [\\/]*|[A-Za-z]:\\*) ;;
+ *[\\/]*)
+ progdir=`$ECHO "$progpath" |$SED "$sed_dirname"`
+ progdir=`cd "$progdir" && pwd`
+ progpath=$progdir/$progname
+ ;;
+ *)
+ _G_IFS=$IFS
+ IFS=${PATH_SEPARATOR-:}
+ for progdir in $PATH; do
+ IFS=$_G_IFS
+ test -x "$progdir/$progname" && break
+ done
+ IFS=$_G_IFS
+ test -n "$progdir" || progdir=`pwd`
+ progpath=$progdir/$progname
+ ;;
+esac
+## ----------------- ##
+## Standard options. ##
+## ----------------- ##
-: ${CP="cp -f"}
-test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
-: ${MAKE="make"}
-: ${MKDIR="mkdir"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
-: ${Xsed="$SED -e 1s/^X//"}
+# The following options affect the operation of the functions defined
+# below, and should be set appropriately depending on run-time para-
+# meters passed on the command line.
-# Global variables:
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
-EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
+opt_dry_run=false
+opt_quiet=false
+opt_verbose=false
-exit_status=$EXIT_SUCCESS
+# Categories 'all' and 'none' are always available. Append any others
+# you will pass as the first argument to func_warning from your own
+# code.
+warning_categories=
-# Make sure IFS has a sensible default
-lt_nl='
-'
-IFS=" $lt_nl"
+# By default, display warnings according to 'opt_warning_types'. Set
+# 'warning_func' to ':' to elide all warnings, or func_fatal_error to
+# treat the next displayed warning as a fatal error.
+warning_func=func_warn_and_continue
-dirname="s,/[^/]*$,,"
-basename="s,^.*/,,"
+# Set to 'all' to display all warnings, 'none' to suppress all
+# warnings, or a space delimited list of some subset of
+# 'warning_categories' to display only the listed warnings.
+opt_warning_types=all
-# func_dirname file append nondir_replacement
+
+## -------------------- ##
+## Resource management. ##
+## -------------------- ##
+
+# This section contains definitions for functions that each ensure a
+# particular resource (a file, or a non-empty configuration variable for
+# example) is available, and if appropriate to extract default values
+# from pertinent package files. Call them using their associated
+# 'require_*' variable to ensure that they are executed, at most, once.
+#
+# It's entirely deliberate that calling these functions can set
+# variables that don't obey the namespace limitations obeyed by the rest
+# of this file, in order that that they be as useful as possible to
+# callers.
+
+
+# require_term_colors
+# -------------------
+# Allow display of bold text on terminals that support it.
+require_term_colors=func_require_term_colors
+func_require_term_colors ()
+{
+ $debug_cmd
+
+ test -t 1 && {
+ # COLORTERM and USE_ANSI_COLORS environment variables take
+ # precedence, because most terminfo databases neglect to describe
+ # whether color sequences are supported.
+ test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"}
+
+ if test 1 = "$USE_ANSI_COLORS"; then
+ # Standard ANSI escape sequences
+ tc_reset='[0m'
+ tc_bold='[1m'; tc_standout='[7m'
+ tc_red='[31m'; tc_green='[32m'
+ tc_blue='[34m'; tc_cyan='[36m'
+ else
+ # Otherwise trust the terminfo database after all.
+ test -n "`tput sgr0 2>/dev/null`" && {
+ tc_reset=`tput sgr0`
+ test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold`
+ tc_standout=$tc_bold
+ test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso`
+ test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1`
+ test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2`
+ test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4`
+ test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5`
+ }
+ fi
+ }
+
+ require_term_colors=:
+}
+
+
+## ----------------- ##
+## Function library. ##
+## ----------------- ##
+
+# This section contains a variety of useful functions to call in your
+# scripts. Take note of the portable wrappers for features provided by
+# some modern shells, which will fall back to slower equivalents on
+# less featureful shells.
+
+
+# func_append VAR VALUE
+# ---------------------
+# Append VALUE onto the existing contents of VAR.
+
+ # We should try to minimise forks, especially on Windows where they are
+ # unreasonably slow, so skip the feature probes when bash or zsh are
+ # being used:
+ if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then
+ : ${_G_HAVE_ARITH_OP="yes"}
+ : ${_G_HAVE_XSI_OPS="yes"}
+ # The += operator was introduced in bash 3.1
+ case $BASH_VERSION in
+ [12].* | 3.0 | 3.0*) ;;
+ *)
+ : ${_G_HAVE_PLUSEQ_OP="yes"}
+ ;;
+ esac
+ fi
+
+ # _G_HAVE_PLUSEQ_OP
+ # Can be empty, in which case the shell is probed, "yes" if += is
+ # useable or anything else if it does not work.
+ test -z "$_G_HAVE_PLUSEQ_OP" \
+ && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \
+ && _G_HAVE_PLUSEQ_OP=yes
+
+if test yes = "$_G_HAVE_PLUSEQ_OP"
+then
+ # This is an XSI compatible shell, allowing a faster implementation...
+ eval 'func_append ()
+ {
+ $debug_cmd
+
+ eval "$1+=\$2"
+ }'
+else
+ # ...otherwise fall back to using expr, which is often a shell builtin.
+ func_append ()
+ {
+ $debug_cmd
+
+ eval "$1=\$$1\$2"
+ }
+fi
+
+
+# func_append_quoted VAR VALUE
+# ----------------------------
+# Quote VALUE and append to the end of shell variable VAR, separated
+# by a space.
+if test yes = "$_G_HAVE_PLUSEQ_OP"; then
+ eval 'func_append_quoted ()
+ {
+ $debug_cmd
+
+ func_quote_for_eval "$2"
+ eval "$1+=\\ \$func_quote_for_eval_result"
+ }'
+else
+ func_append_quoted ()
+ {
+ $debug_cmd
+
+ func_quote_for_eval "$2"
+ eval "$1=\$$1\\ \$func_quote_for_eval_result"
+ }
+fi
+
+
+# func_append_uniq VAR VALUE
+# --------------------------
+# Append unique VALUE onto the existing contents of VAR, assuming
+# entries are delimited by the first character of VALUE. For example:
+#
+# func_append_uniq options " --another-option option-argument"
+#
+# will only append to $options if " --another-option option-argument "
+# is not already present somewhere in $options already (note spaces at
+# each end implied by leading space in second argument).
+func_append_uniq ()
+{
+ $debug_cmd
+
+ eval _G_current_value='`$ECHO $'$1'`'
+ _G_delim=`expr "$2" : '\(.\)'`
+
+ case $_G_delim$_G_current_value$_G_delim in
+ *"$2$_G_delim"*) ;;
+ *) func_append "$@" ;;
+ esac
+}
+
+
+# func_arith TERM...
+# ------------------
+# Set func_arith_result to the result of evaluating TERMs.
+ test -z "$_G_HAVE_ARITH_OP" \
+ && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \
+ && _G_HAVE_ARITH_OP=yes
+
+if test yes = "$_G_HAVE_ARITH_OP"; then
+ eval 'func_arith ()
+ {
+ $debug_cmd
+
+ func_arith_result=$(( $* ))
+ }'
+else
+ func_arith ()
+ {
+ $debug_cmd
+
+ func_arith_result=`expr "$@"`
+ }
+fi
+
+
+# func_basename FILE
+# ------------------
+# Set func_basename_result to FILE with everything up to and including
+# the last / stripped.
+if test yes = "$_G_HAVE_XSI_OPS"; then
+ # If this shell supports suffix pattern removal, then use it to avoid
+ # forking. Hide the definitions single quotes in case the shell chokes
+ # on unsupported syntax...
+ _b='func_basename_result=${1##*/}'
+ _d='case $1 in
+ */*) func_dirname_result=${1%/*}$2 ;;
+ * ) func_dirname_result=$3 ;;
+ esac'
+
+else
+ # ...otherwise fall back to using sed.
+ _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`'
+ _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"`
+ if test "X$func_dirname_result" = "X$1"; then
+ func_dirname_result=$3
+ else
+ func_append func_dirname_result "$2"
+ fi'
+fi
+
+eval 'func_basename ()
+{
+ $debug_cmd
+
+ '"$_b"'
+}'
+
+
+# func_dirname FILE APPEND NONDIR_REPLACEMENT
+# -------------------------------------------
# Compute the dirname of FILE. If nonempty, add APPEND to the result,
# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
+eval 'func_dirname ()
{
- func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
- if test "X$func_dirname_result" = "X${1}"; then
- func_dirname_result="${3}"
- else
- func_dirname_result="$func_dirname_result${2}"
- fi
-} # func_dirname may be replaced by extended shell implementation
+ $debug_cmd
+
+ '"$_d"'
+}'
-# func_basename file
-func_basename ()
-{
- func_basename_result=`$ECHO "${1}" | $SED "$basename"`
-} # func_basename may be replaced by extended shell implementation
-
-
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
+# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT
+# --------------------------------------------------------
+# Perform func_basename and func_dirname in a single function
# call:
# dirname: Compute the dirname of FILE. If nonempty,
# add APPEND to the result, otherwise set result
@@ -190,263 +697,327 @@
# value returned in "$func_dirname_result"
# basename: Compute filename of FILE.
# value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
+# For efficiency, we do not delegate to the functions above but instead
+# duplicate the functionality here.
+eval 'func_dirname_and_basename ()
{
- # Extract subdirectory from the argument.
- func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
- if test "X$func_dirname_result" = "X${1}"; then
- func_dirname_result="${3}"
- else
- func_dirname_result="$func_dirname_result${2}"
+ $debug_cmd
+
+ '"$_b"'
+ '"$_d"'
+}'
+
+
+# func_echo ARG...
+# ----------------
+# Echo program name prefixed message.
+func_echo ()
+{
+ $debug_cmd
+
+ _G_message=$*
+
+ func_echo_IFS=$IFS
+ IFS=$nl
+ for _G_line in $_G_message; do
+ IFS=$func_echo_IFS
+ $ECHO "$progname: $_G_line"
+ done
+ IFS=$func_echo_IFS
+}
+
+
+# func_echo_all ARG...
+# --------------------
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO "$*"
+}
+
+
+# func_echo_infix_1 INFIX ARG...
+# ------------------------------
+# Echo program name, followed by INFIX on the first line, with any
+# additional lines not showing INFIX.
+func_echo_infix_1 ()
+{
+ $debug_cmd
+
+ $require_term_colors
+
+ _G_infix=$1; shift
+ _G_indent=$_G_infix
+ _G_prefix="$progname: $_G_infix: "
+ _G_message=$*
+
+ # Strip color escape sequences before counting printable length
+ for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan"
+ do
+ test -n "$_G_tc" && {
+ _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"`
+ _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"`
+ }
+ done
+ _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes
+
+ func_echo_infix_1_IFS=$IFS
+ IFS=$nl
+ for _G_line in $_G_message; do
+ IFS=$func_echo_infix_1_IFS
+ $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2
+ _G_prefix=$_G_indent
+ done
+ IFS=$func_echo_infix_1_IFS
+}
+
+
+# func_error ARG...
+# -----------------
+# Echo program name prefixed message to standard error.
+func_error ()
+{
+ $debug_cmd
+
+ $require_term_colors
+
+ func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2
+}
+
+
+# func_fatal_error ARG...
+# -----------------------
+# Echo program name prefixed message to standard error, and exit.
+func_fatal_error ()
+{
+ $debug_cmd
+
+ func_error "$*"
+ exit $EXIT_FAILURE
+}
+
+
+# func_grep EXPRESSION FILENAME
+# -----------------------------
+# Check whether EXPRESSION matches any line of FILENAME, without output.
+func_grep ()
+{
+ $debug_cmd
+
+ $GREP "$1" "$2" >/dev/null 2>&1
+}
+
+
+# func_len STRING
+# ---------------
+# Set func_len_result to the length of STRING. STRING may not
+# start with a hyphen.
+ test -z "$_G_HAVE_XSI_OPS" \
+ && (eval 'x=a/b/c;
+ test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
+ && _G_HAVE_XSI_OPS=yes
+
+if test yes = "$_G_HAVE_XSI_OPS"; then
+ eval 'func_len ()
+ {
+ $debug_cmd
+
+ func_len_result=${#1}
+ }'
+else
+ func_len ()
+ {
+ $debug_cmd
+
+ func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+ }
+fi
+
+
+# func_mkdir_p DIRECTORY-PATH
+# ---------------------------
+# Make sure the entire path to DIRECTORY-PATH is available.
+func_mkdir_p ()
+{
+ $debug_cmd
+
+ _G_directory_path=$1
+ _G_dir_list=
+
+ if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then
+
+ # Protect directory names starting with '-'
+ case $_G_directory_path in
+ -*) _G_directory_path=./$_G_directory_path ;;
+ esac
+
+ # While some portion of DIR does not yet exist...
+ while test ! -d "$_G_directory_path"; do
+ # ...make a list in topmost first order. Use a colon delimited
+ # list incase some portion of path contains whitespace.
+ _G_dir_list=$_G_directory_path:$_G_dir_list
+
+ # If the last portion added has no slash in it, the list is done
+ case $_G_directory_path in */*) ;; *) break ;; esac
+
+ # ...otherwise throw away the child directory and loop
+ _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"`
+ done
+ _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'`
+
+ func_mkdir_p_IFS=$IFS; IFS=:
+ for _G_dir in $_G_dir_list; do
+ IFS=$func_mkdir_p_IFS
+ # mkdir can fail with a 'File exist' error if two processes
+ # try to create one of the directories concurrently. Don't
+ # stop in that case!
+ $MKDIR "$_G_dir" 2>/dev/null || :
+ done
+ IFS=$func_mkdir_p_IFS
+
+ # Bail out if we (or some other process) failed to create a directory.
+ test -d "$_G_directory_path" || \
+ func_fatal_error "Failed to create '$1'"
fi
- func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
-} # func_dirname_and_basename may be replaced by extended shell implementation
+}
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-# func_strip_suffix prefix name
-func_stripname ()
+# func_mktempdir [BASENAME]
+# -------------------------
+# Make a temporary directory that won't clash with other running
+# libtool processes, and avoids race conditions if possible. If
+# given, BASENAME is the basename for that directory.
+func_mktempdir ()
{
- case ${2} in
- .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
- *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
- esac
-} # func_stripname may be replaced by extended shell implementation
+ $debug_cmd
+ _G_template=${TMPDIR-/tmp}/${1-$progname}
-# These SED scripts presuppose an absolute path with a trailing slash.
-pathcar='s,^/\([^/]*\).*$,\1,'
-pathcdr='s,^/[^/]*,,'
-removedotparts=':dotsl
- s@/\./@/@g
- t dotsl
- s,/\.$,/,'
-collapseslashes='s@/\{1,\}@/@g'
-finalslash='s,/*$,/,'
+ if test : = "$opt_dry_run"; then
+ # Return a directory name, but don't create it in dry-run mode
+ _G_tmpdir=$_G_template-$$
+ else
+
+ # If mktemp works, use that first and foremost
+ _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null`
+
+ if test ! -d "$_G_tmpdir"; then
+ # Failing that, at least try and use $RANDOM to avoid a race
+ _G_tmpdir=$_G_template-${RANDOM-0}$$
+
+ func_mktempdir_umask=`umask`
+ umask 0077
+ $MKDIR "$_G_tmpdir"
+ umask $func_mktempdir_umask
+ fi
+
+ # If we're not in dry-run mode, bomb out on failure
+ test -d "$_G_tmpdir" || \
+ func_fatal_error "cannot create temporary directory '$_G_tmpdir'"
+ fi
+
+ $ECHO "$_G_tmpdir"
+}
+
# func_normal_abspath PATH
+# ------------------------
# Remove doubled-up and trailing slashes, "." path components,
# and cancel out any ".." path components in PATH after making
# it an absolute path.
-# value returned in "$func_normal_abspath_result"
func_normal_abspath ()
{
- # Start from root dir and reassemble the path.
- func_normal_abspath_result=
- func_normal_abspath_tpath=$1
- func_normal_abspath_altnamespace=
- case $func_normal_abspath_tpath in
- "")
- # Empty path, that just means $cwd.
- func_stripname '' '/' "`pwd`"
- func_normal_abspath_result=$func_stripname_result
- return
- ;;
- # The next three entries are used to spot a run of precisely
- # two leading slashes without using negated character classes;
- # we take advantage of case's first-match behaviour.
- ///*)
- # Unusual form of absolute path, do nothing.
- ;;
- //*)
- # Not necessarily an ordinary path; POSIX reserves leading '//'
- # and for example Cygwin uses it to access remote file shares
- # over CIFS/SMB, so we conserve a leading double slash if found.
- func_normal_abspath_altnamespace=/
- ;;
- /*)
- # Absolute path, do nothing.
- ;;
- *)
- # Relative path, prepend $cwd.
- func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
- ;;
- esac
- # Cancel out all the simple stuff to save iterations. We also want
- # the path to end with a slash for ease of parsing, so make sure
- # there is one (and only one) here.
- func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
- -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
- while :; do
- # Processed it all yet?
- if test "$func_normal_abspath_tpath" = / ; then
- # If we ascended to the root using ".." the result may be empty now.
- if test -z "$func_normal_abspath_result" ; then
- func_normal_abspath_result=/
- fi
- break
- fi
- func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
- -e "$pathcar"`
- func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
- -e "$pathcdr"`
- # Figure out what to do with it
- case $func_normal_abspath_tcomponent in
+ $debug_cmd
+
+ # These SED scripts presuppose an absolute path with a trailing slash.
+ _G_pathcar='s|^/\([^/]*\).*$|\1|'
+ _G_pathcdr='s|^/[^/]*||'
+ _G_removedotparts=':dotsl
+ s|/\./|/|g
+ t dotsl
+ s|/\.$|/|'
+ _G_collapseslashes='s|/\{1,\}|/|g'
+ _G_finalslash='s|/*$|/|'
+
+ # Start from root dir and reassemble the path.
+ func_normal_abspath_result=
+ func_normal_abspath_tpath=$1
+ func_normal_abspath_altnamespace=
+ case $func_normal_abspath_tpath in
"")
- # Trailing empty path component, ignore it.
- ;;
- ..)
- # Parent dir; strip last assembled component from result.
- func_dirname "$func_normal_abspath_result"
- func_normal_abspath_result=$func_dirname_result
- ;;
- *)
- # Actual path component, append it.
- func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
- ;;
- esac
- done
- # Restore leading double-slash if one was found on entry.
- func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
-}
-
-# func_relative_path SRCDIR DSTDIR
-# generates a relative path from SRCDIR to DSTDIR, with a trailing
-# slash if non-empty, suitable for immediately appending a filename
-# without needing to append a separator.
-# value returned in "$func_relative_path_result"
-func_relative_path ()
-{
- func_relative_path_result=
- func_normal_abspath "$1"
- func_relative_path_tlibdir=$func_normal_abspath_result
- func_normal_abspath "$2"
- func_relative_path_tbindir=$func_normal_abspath_result
-
- # Ascend the tree starting from libdir
- while :; do
- # check if we have found a prefix of bindir
- case $func_relative_path_tbindir in
- $func_relative_path_tlibdir)
- # found an exact match
- func_relative_path_tcancelled=
- break
+ # Empty path, that just means $cwd.
+ func_stripname '' '/' "`pwd`"
+ func_normal_abspath_result=$func_stripname_result
+ return
;;
- $func_relative_path_tlibdir*)
- # found a matching prefix
- func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
- func_relative_path_tcancelled=$func_stripname_result
- if test -z "$func_relative_path_result"; then
- func_relative_path_result=.
- fi
- break
+ # The next three entries are used to spot a run of precisely
+ # two leading slashes without using negated character classes;
+ # we take advantage of case's first-match behaviour.
+ ///*)
+ # Unusual form of absolute path, do nothing.
+ ;;
+ //*)
+ # Not necessarily an ordinary path; POSIX reserves leading '//'
+ # and for example Cygwin uses it to access remote file shares
+ # over CIFS/SMB, so we conserve a leading double slash if found.
+ func_normal_abspath_altnamespace=/
+ ;;
+ /*)
+ # Absolute path, do nothing.
;;
*)
- func_dirname $func_relative_path_tlibdir
- func_relative_path_tlibdir=${func_dirname_result}
- if test "x$func_relative_path_tlibdir" = x ; then
- # Have to descend all the way to the root!
- func_relative_path_result=../$func_relative_path_result
- func_relative_path_tcancelled=$func_relative_path_tbindir
- break
- fi
- func_relative_path_result=../$func_relative_path_result
+ # Relative path, prepend $cwd.
+ func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
;;
esac
- done
- # Now calculate path; take care to avoid doubling-up slashes.
- func_stripname '' '/' "$func_relative_path_result"
- func_relative_path_result=$func_stripname_result
- func_stripname '/' '/' "$func_relative_path_tcancelled"
- if test "x$func_stripname_result" != x ; then
- func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
- fi
-
- # Normalisation. If bindir is libdir, return empty string,
- # else relative path ending with a slash; either way, target
- # file name can be directly appended.
- if test ! -z "$func_relative_path_result"; then
- func_stripname './' '' "$func_relative_path_result/"
- func_relative_path_result=$func_stripname_result
- fi
+ # Cancel out all the simple stuff to save iterations. We also want
+ # the path to end with a slash for ease of parsing, so make sure
+ # there is one (and only one) here.
+ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"`
+ while :; do
+ # Processed it all yet?
+ if test / = "$func_normal_abspath_tpath"; then
+ # If we ascended to the root using ".." the result may be empty now.
+ if test -z "$func_normal_abspath_result"; then
+ func_normal_abspath_result=/
+ fi
+ break
+ fi
+ func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$_G_pathcar"`
+ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$_G_pathcdr"`
+ # Figure out what to do with it
+ case $func_normal_abspath_tcomponent in
+ "")
+ # Trailing empty path component, ignore it.
+ ;;
+ ..)
+ # Parent dir; strip last assembled component from result.
+ func_dirname "$func_normal_abspath_result"
+ func_normal_abspath_result=$func_dirname_result
+ ;;
+ *)
+ # Actual path component, append it.
+ func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent"
+ ;;
+ esac
+ done
+ # Restore leading double-slash if one was found on entry.
+ func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
}
-# The name of this program:
-func_dirname_and_basename "$progpath"
-progname=$func_basename_result
-# Make sure we have an absolute path for reexecution:
-case $progpath in
- [\\/]*|[A-Za-z]:\\*) ;;
- *[\\/]*)
- progdir=$func_dirname_result
- progdir=`cd "$progdir" && pwd`
- progpath="$progdir/$progname"
- ;;
- *)
- save_IFS="$IFS"
- IFS=${PATH_SEPARATOR-:}
- for progdir in $PATH; do
- IFS="$save_IFS"
- test -x "$progdir/$progname" && break
- done
- IFS="$save_IFS"
- test -n "$progdir" || progdir=`pwd`
- progpath="$progdir/$progname"
- ;;
-esac
-
-# Sed substitution that helps us do robust quoting. It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed="${SED}"' -e 1s/^X//'
-sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution that turns a string into a regex matching for the
-# string literally.
-sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
-
-# Sed substitution that converts a w32 file name or path
-# which contains forward slashes, into one that contains
-# (escaped) backslashes. A very naive implementation.
-lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
-
-# Re-`\' parameter expansions in output of double_quote_subst that were
-# `\'-ed in input to the same. If an odd number of `\' preceded a '$'
-# in input to double_quote_subst, that '$' was protected from expansion.
-# Since each input `\' is now two `\'s, look for any number of runs of
-# four `\'s followed by two `\'s and then a '$'. `\' that '$'.
-bs='\\'
-bs2='\\\\'
-bs4='\\\\\\\\'
-dollar='\$'
-sed_double_backslash="\
- s/$bs4/&\\
-/g
- s/^$bs2$dollar/$bs&/
- s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
- s/\n//g"
-
-# Standard options:
-opt_dry_run=false
-opt_help=false
-opt_quiet=false
-opt_verbose=false
-opt_warning=:
-
-# func_echo arg...
-# Echo program name prefixed message, along with the current mode
-# name if it has been set yet.
-func_echo ()
+# func_notquiet ARG...
+# --------------------
+# Echo program name prefixed message only when not in quiet mode.
+func_notquiet ()
{
- $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
-}
+ $debug_cmd
-# func_verbose arg...
-# Echo program name prefixed message in verbose mode only.
-func_verbose ()
-{
- $opt_verbose && func_echo ${1+"$@"}
+ $opt_quiet || func_echo ${1+"$@"}
# A bug in bash halts the script if the last line of a function
# fails when set -e is in force, so we need another command to
@@ -454,450 +1025,1113 @@
:
}
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
- $ECHO "$*"
-}
-# func_error arg...
-# Echo program name prefixed message to standard error.
-func_error ()
+# func_relative_path SRCDIR DSTDIR
+# --------------------------------
+# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR.
+func_relative_path ()
{
- $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
-}
+ $debug_cmd
-# func_warning arg...
-# Echo program name prefixed warning message to standard error.
-func_warning ()
-{
- $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
+ func_relative_path_result=
+ func_normal_abspath "$1"
+ func_relative_path_tlibdir=$func_normal_abspath_result
+ func_normal_abspath "$2"
+ func_relative_path_tbindir=$func_normal_abspath_result
- # bash bug again:
+ # Ascend the tree starting from libdir
+ while :; do
+ # check if we have found a prefix of bindir
+ case $func_relative_path_tbindir in
+ $func_relative_path_tlibdir)
+ # found an exact match
+ func_relative_path_tcancelled=
+ break
+ ;;
+ $func_relative_path_tlibdir*)
+ # found a matching prefix
+ func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
+ func_relative_path_tcancelled=$func_stripname_result
+ if test -z "$func_relative_path_result"; then
+ func_relative_path_result=.
+ fi
+ break
+ ;;
+ *)
+ func_dirname $func_relative_path_tlibdir
+ func_relative_path_tlibdir=$func_dirname_result
+ if test -z "$func_relative_path_tlibdir"; then
+ # Have to descend all the way to the root!
+ func_relative_path_result=../$func_relative_path_result
+ func_relative_path_tcancelled=$func_relative_path_tbindir
+ break
+ fi
+ func_relative_path_result=../$func_relative_path_result
+ ;;
+ esac
+ done
+
+ # Now calculate path; take care to avoid doubling-up slashes.
+ func_stripname '' '/' "$func_relative_path_result"
+ func_relative_path_result=$func_stripname_result
+ func_stripname '/' '/' "$func_relative_path_tcancelled"
+ if test -n "$func_stripname_result"; then
+ func_append func_relative_path_result "/$func_stripname_result"
+ fi
+
+ # Normalisation. If bindir is libdir, return '.' else relative path.
+ if test -n "$func_relative_path_result"; then
+ func_stripname './' '' "$func_relative_path_result"
+ func_relative_path_result=$func_stripname_result
+ fi
+
+ test -n "$func_relative_path_result" || func_relative_path_result=.
+
:
}
-# func_fatal_error arg...
-# Echo program name prefixed message to standard error, and exit.
-func_fatal_error ()
-{
- func_error ${1+"$@"}
- exit $EXIT_FAILURE
-}
-# func_fatal_help arg...
-# Echo program name prefixed message to standard error, followed by
-# a help hint, and exit.
-func_fatal_help ()
-{
- func_error ${1+"$@"}
- func_fatal_error "$help"
-}
-help="Try \`$progname --help' for more information." ## default
-
-
-# func_grep expression filename
-# Check whether EXPRESSION matches any line of FILENAME, without output.
-func_grep ()
-{
- $GREP "$1" "$2" >/dev/null 2>&1
-}
-
-
-# func_mkdir_p directory-path
-# Make sure the entire path to DIRECTORY-PATH is available.
-func_mkdir_p ()
-{
- my_directory_path="$1"
- my_dir_list=
-
- if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
-
- # Protect directory names starting with `-'
- case $my_directory_path in
- -*) my_directory_path="./$my_directory_path" ;;
- esac
-
- # While some portion of DIR does not yet exist...
- while test ! -d "$my_directory_path"; do
- # ...make a list in topmost first order. Use a colon delimited
- # list incase some portion of path contains whitespace.
- my_dir_list="$my_directory_path:$my_dir_list"
-
- # If the last portion added has no slash in it, the list is done
- case $my_directory_path in */*) ;; *) break ;; esac
-
- # ...otherwise throw away the child directory and loop
- my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
- done
- my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
-
- save_mkdir_p_IFS="$IFS"; IFS=':'
- for my_dir in $my_dir_list; do
- IFS="$save_mkdir_p_IFS"
- # mkdir can fail with a `File exist' error if two processes
- # try to create one of the directories concurrently. Don't
- # stop in that case!
- $MKDIR "$my_dir" 2>/dev/null || :
- done
- IFS="$save_mkdir_p_IFS"
-
- # Bail out if we (or some other process) failed to create a directory.
- test -d "$my_directory_path" || \
- func_fatal_error "Failed to create \`$1'"
- fi
-}
-
-
-# func_mktempdir [string]
-# Make a temporary directory that won't clash with other running
-# libtool processes, and avoids race conditions if possible. If
-# given, STRING is the basename for that directory.
-func_mktempdir ()
-{
- my_template="${TMPDIR-/tmp}/${1-$progname}"
-
- if test "$opt_dry_run" = ":"; then
- # Return a directory name, but don't create it in dry-run mode
- my_tmpdir="${my_template}-$$"
- else
-
- # If mktemp works, use that first and foremost
- my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
-
- if test ! -d "$my_tmpdir"; then
- # Failing that, at least try and use $RANDOM to avoid a race
- my_tmpdir="${my_template}-${RANDOM-0}$$"
-
- save_mktempdir_umask=`umask`
- umask 0077
- $MKDIR "$my_tmpdir"
- umask $save_mktempdir_umask
- fi
-
- # If we're not in dry-run mode, bomb out on failure
- test -d "$my_tmpdir" || \
- func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
- fi
-
- $ECHO "$my_tmpdir"
-}
-
-
-# func_quote_for_eval arg
-# Aesthetically quote ARG to be evaled later.
-# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
-# is double-quoted, suitable for a subsequent eval, whereas
-# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
-# which are still active within double quotes backslashified.
+# func_quote_for_eval ARG...
+# --------------------------
+# Aesthetically quote ARGs to be evaled later.
+# This function returns two values:
+# i) func_quote_for_eval_result
+# double-quoted, suitable for a subsequent eval
+# ii) func_quote_for_eval_unquoted_result
+# has all characters that are still active within double
+# quotes backslashified.
func_quote_for_eval ()
{
- case $1 in
- *[\\\`\"\$]*)
- func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
- *)
- func_quote_for_eval_unquoted_result="$1" ;;
- esac
+ $debug_cmd
- case $func_quote_for_eval_unquoted_result in
- # Double-quote args containing shell metacharacters to delay
- # word splitting, command substitution and and variable
- # expansion for a subsequent eval.
- # Many Bourne shells cannot handle close brackets correctly
- # in scan sets, so we specify it separately.
- *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
- ;;
- *)
- func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
- esac
+ func_quote_for_eval_unquoted_result=
+ func_quote_for_eval_result=
+ while test 0 -lt $#; do
+ case $1 in
+ *[\\\`\"\$]*)
+ _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;;
+ *)
+ _G_unquoted_arg=$1 ;;
+ esac
+ if test -n "$func_quote_for_eval_unquoted_result"; then
+ func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg"
+ else
+ func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg"
+ fi
+
+ case $_G_unquoted_arg in
+ # Double-quote args containing shell metacharacters to delay
+ # word splitting, command substitution and variable expansion
+ # for a subsequent eval.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ _G_quoted_arg=\"$_G_unquoted_arg\"
+ ;;
+ *)
+ _G_quoted_arg=$_G_unquoted_arg
+ ;;
+ esac
+
+ if test -n "$func_quote_for_eval_result"; then
+ func_append func_quote_for_eval_result " $_G_quoted_arg"
+ else
+ func_append func_quote_for_eval_result "$_G_quoted_arg"
+ fi
+ shift
+ done
}
-# func_quote_for_expand arg
+# func_quote_for_expand ARG
+# -------------------------
# Aesthetically quote ARG to be evaled later; same as above,
# but do not quote variable references.
func_quote_for_expand ()
{
+ $debug_cmd
+
case $1 in
*[\\\`\"]*)
- my_arg=`$ECHO "$1" | $SED \
- -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
+ _G_arg=`$ECHO "$1" | $SED \
+ -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;;
*)
- my_arg="$1" ;;
+ _G_arg=$1 ;;
esac
- case $my_arg in
+ case $_G_arg in
# Double-quote args containing shell metacharacters to delay
# word splitting and command substitution for a subsequent eval.
# Many Bourne shells cannot handle close brackets correctly
# in scan sets, so we specify it separately.
*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
- my_arg="\"$my_arg\""
+ _G_arg=\"$_G_arg\"
;;
esac
- func_quote_for_expand_result="$my_arg"
+ func_quote_for_expand_result=$_G_arg
}
-# func_show_eval cmd [fail_exp]
-# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
+# func_stripname PREFIX SUFFIX NAME
+# ---------------------------------
+# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+if test yes = "$_G_HAVE_XSI_OPS"; then
+ eval 'func_stripname ()
+ {
+ $debug_cmd
+
+ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+ # positional parameters, so assign one to ordinary variable first.
+ func_stripname_result=$3
+ func_stripname_result=${func_stripname_result#"$1"}
+ func_stripname_result=${func_stripname_result%"$2"}
+ }'
+else
+ func_stripname ()
+ {
+ $debug_cmd
+
+ case $2 in
+ .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;;
+ *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;;
+ esac
+ }
+fi
+
+
+# func_show_eval CMD [FAIL_EXP]
+# -----------------------------
+# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is
# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
# is given, then evaluate it.
func_show_eval ()
{
- my_cmd="$1"
- my_fail_exp="${2-:}"
+ $debug_cmd
- ${opt_silent-false} || {
- func_quote_for_expand "$my_cmd"
- eval "func_echo $func_quote_for_expand_result"
- }
+ _G_cmd=$1
+ _G_fail_exp=${2-':'}
- if ${opt_dry_run-false}; then :; else
- eval "$my_cmd"
- my_status=$?
- if test "$my_status" -eq 0; then :; else
- eval "(exit $my_status); $my_fail_exp"
+ func_quote_for_expand "$_G_cmd"
+ eval "func_notquiet $func_quote_for_expand_result"
+
+ $opt_dry_run || {
+ eval "$_G_cmd"
+ _G_status=$?
+ if test 0 -ne "$_G_status"; then
+ eval "(exit $_G_status); $_G_fail_exp"
fi
- fi
+ }
}
-# func_show_eval_locale cmd [fail_exp]
-# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
+# func_show_eval_locale CMD [FAIL_EXP]
+# ------------------------------------
+# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is
# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
# is given, then evaluate it. Use the saved locale for evaluation.
func_show_eval_locale ()
{
- my_cmd="$1"
- my_fail_exp="${2-:}"
+ $debug_cmd
- ${opt_silent-false} || {
- func_quote_for_expand "$my_cmd"
+ _G_cmd=$1
+ _G_fail_exp=${2-':'}
+
+ $opt_quiet || {
+ func_quote_for_expand "$_G_cmd"
eval "func_echo $func_quote_for_expand_result"
}
- if ${opt_dry_run-false}; then :; else
- eval "$lt_user_locale
- $my_cmd"
- my_status=$?
- eval "$lt_safe_locale"
- if test "$my_status" -eq 0; then :; else
- eval "(exit $my_status); $my_fail_exp"
+ $opt_dry_run || {
+ eval "$_G_user_locale
+ $_G_cmd"
+ _G_status=$?
+ eval "$_G_safe_locale"
+ if test 0 -ne "$_G_status"; then
+ eval "(exit $_G_status); $_G_fail_exp"
fi
- fi
+ }
}
+
# func_tr_sh
+# ----------
# Turn $1 into a string suitable for a shell variable name.
# Result is stored in $func_tr_sh_result. All characters
# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
# if $1 begins with a digit, a '_' is prepended as well.
func_tr_sh ()
{
- case $1 in
- [0-9]* | *[!a-zA-Z0-9_]*)
- func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
- ;;
- * )
- func_tr_sh_result=$1
- ;;
- esac
+ $debug_cmd
+
+ case $1 in
+ [0-9]* | *[!a-zA-Z0-9_]*)
+ func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'`
+ ;;
+ * )
+ func_tr_sh_result=$1
+ ;;
+ esac
}
-# func_version
-# Echo version message to standard output and exit.
-func_version ()
+# func_verbose ARG...
+# -------------------
+# Echo program name prefixed message in verbose mode only.
+func_verbose ()
{
- $opt_debug
+ $debug_cmd
- $SED -n '/(C)/!b go
- :more
- /\./!{
- N
- s/\n# / /
- b more
- }
- :go
- /^# '$PROGRAM' (GNU /,/# warranty; / {
- s/^# //
- s/^# *$//
- s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
- p
- }' < "$progpath"
- exit $?
+ $opt_verbose && func_echo "$*"
+
+ :
}
-# func_usage
-# Echo short help message to standard output and exit.
-func_usage ()
+
+# func_warn_and_continue ARG...
+# -----------------------------
+# Echo program name prefixed warning message to standard error.
+func_warn_and_continue ()
{
- $opt_debug
+ $debug_cmd
- $SED -n '/^# Usage:/,/^# *.*--help/ {
- s/^# //
- s/^# *$//
- s/\$progname/'$progname'/
- p
- }' < "$progpath"
- echo
- $ECHO "run \`$progname --help | more' for full usage"
- exit $?
+ $require_term_colors
+
+ func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2
}
-# func_help [NOEXIT]
-# Echo long help message to standard output and exit,
-# unless 'noexit' is passed as argument.
+
+# func_warning CATEGORY ARG...
+# ----------------------------
+# Echo program name prefixed warning message to standard error. Warning
+# messages can be filtered according to CATEGORY, where this function
+# elides messages where CATEGORY is not listed in the global variable
+# 'opt_warning_types'.
+func_warning ()
+{
+ $debug_cmd
+
+ # CATEGORY must be in the warning_categories list!
+ case " $warning_categories " in
+ *" $1 "*) ;;
+ *) func_internal_error "invalid warning category '$1'" ;;
+ esac
+
+ _G_category=$1
+ shift
+
+ case " $opt_warning_types " in
+ *" $_G_category "*) $warning_func ${1+"$@"} ;;
+ esac
+}
+
+
+# func_sort_ver VER1 VER2
+# -----------------------
+# 'sort -V' is not generally available.
+# Note this deviates from the version comparison in automake
+# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a
+# but this should suffice as we won't be specifying old
+# version formats or redundant trailing .0 in bootstrap.conf.
+# If we did want full compatibility then we should probably
+# use m4_version_compare from autoconf.
+func_sort_ver ()
+{
+ $debug_cmd
+
+ printf '%s\n%s\n' "$1" "$2" \
+ | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n
+}
+
+# func_lt_ver PREV CURR
+# ---------------------
+# Return true if PREV and CURR are in the correct order according to
+# func_sort_ver, otherwise false. Use it like this:
+#
+# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..."
+func_lt_ver ()
+{
+ $debug_cmd
+
+ test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q`
+}
+
+
+# Local variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
+# time-stamp-time-zone: "UTC"
+# End:
+#! /bin/sh
+
+# Set a version string for this script.
+scriptversion=2014-01-07.03; # UTC
+
+# A portable, pluggable option parser for Bourne shell.
+# Written by Gary V. Vaughan, 2010
+
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# This program 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 General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Please report bugs or propose patches to gary@gnu.org.
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# This file is a library for parsing options in your shell scripts along
+# with assorted other useful supporting features that you can make use
+# of too.
+#
+# For the simplest scripts you might need only:
+#
+# #!/bin/sh
+# . relative/path/to/funclib.sh
+# . relative/path/to/options-parser
+# scriptversion=1.0
+# func_options ${1+"$@"}
+# eval set dummy "$func_options_result"; shift
+# ...rest of your script...
+#
+# In order for the '--version' option to work, you will need to have a
+# suitably formatted comment like the one at the top of this file
+# starting with '# Written by ' and ending with '# warranty; '.
+#
+# For '-h' and '--help' to work, you will also need a one line
+# description of your script's purpose in a comment directly above the
+# '# Written by ' line, like the one at the top of this file.
+#
+# The default options also support '--debug', which will turn on shell
+# execution tracing (see the comment above debug_cmd below for another
+# use), and '--verbose' and the func_verbose function to allow your script
+# to display verbose messages only when your user has specified
+# '--verbose'.
+#
+# After sourcing this file, you can plug processing for additional
+# options by amending the variables from the 'Configuration' section
+# below, and following the instructions in the 'Option parsing'
+# section further down.
+
+## -------------- ##
+## Configuration. ##
+## -------------- ##
+
+# You should override these variables in your script after sourcing this
+# file so that they reflect the customisations you have added to the
+# option parser.
+
+# The usage line for option parsing errors and the start of '-h' and
+# '--help' output messages. You can embed shell variables for delayed
+# expansion at the time the message is displayed, but you will need to
+# quote other shell meta-characters carefully to prevent them being
+# expanded when the contents are evaled.
+usage='$progpath [OPTION]...'
+
+# Short help message in response to '-h' and '--help'. Add to this or
+# override it after sourcing this library to reflect the full set of
+# options your script accepts.
+usage_message="\
+ --debug enable verbose shell tracing
+ -W, --warnings=CATEGORY
+ report the warnings falling in CATEGORY [all]
+ -v, --verbose verbosely report processing
+ --version print version information and exit
+ -h, --help print short or long help message and exit
+"
+
+# Additional text appended to 'usage_message' in response to '--help'.
+long_help_message="
+Warning categories include:
+ 'all' show all warnings
+ 'none' turn off all the warnings
+ 'error' warnings are treated as fatal errors"
+
+# Help message printed before fatal option parsing errors.
+fatal_help="Try '\$progname --help' for more information."
+
+
+
+## ------------------------- ##
+## Hook function management. ##
+## ------------------------- ##
+
+# This section contains functions for adding, removing, and running hooks
+# to the main code. A hook is just a named list of of function, that can
+# be run in order later on.
+
+# func_hookable FUNC_NAME
+# -----------------------
+# Declare that FUNC_NAME will run hooks added with
+# 'func_add_hook FUNC_NAME ...'.
+func_hookable ()
+{
+ $debug_cmd
+
+ func_append hookable_fns " $1"
+}
+
+
+# func_add_hook FUNC_NAME HOOK_FUNC
+# ---------------------------------
+# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must
+# first have been declared "hookable" by a call to 'func_hookable'.
+func_add_hook ()
+{
+ $debug_cmd
+
+ case " $hookable_fns " in
+ *" $1 "*) ;;
+ *) func_fatal_error "'$1' does not accept hook functions." ;;
+ esac
+
+ eval func_append ${1}_hooks '" $2"'
+}
+
+
+# func_remove_hook FUNC_NAME HOOK_FUNC
+# ------------------------------------
+# Remove HOOK_FUNC from the list of functions called by FUNC_NAME.
+func_remove_hook ()
+{
+ $debug_cmd
+
+ eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`'
+}
+
+
+# func_run_hooks FUNC_NAME [ARG]...
+# ---------------------------------
+# Run all hook functions registered to FUNC_NAME.
+# It is assumed that the list of hook functions contains nothing more
+# than a whitespace-delimited list of legal shell function names, and
+# no effort is wasted trying to catch shell meta-characters or preserve
+# whitespace.
+func_run_hooks ()
+{
+ $debug_cmd
+
+ case " $hookable_fns " in
+ *" $1 "*) ;;
+ *) func_fatal_error "'$1' does not support hook funcions.n" ;;
+ esac
+
+ eval _G_hook_fns=\$$1_hooks; shift
+
+ for _G_hook in $_G_hook_fns; do
+ eval $_G_hook '"$@"'
+
+ # store returned options list back into positional
+ # parameters for next 'cmd' execution.
+ eval _G_hook_result=\$${_G_hook}_result
+ eval set dummy "$_G_hook_result"; shift
+ done
+
+ func_quote_for_eval ${1+"$@"}
+ func_run_hooks_result=$func_quote_for_eval_result
+}
+
+
+
+## --------------- ##
+## Option parsing. ##
+## --------------- ##
+
+# In order to add your own option parsing hooks, you must accept the
+# full positional parameter list in your hook function, remove any
+# options that you action, and then pass back the remaining unprocessed
+# options in '<hooked_function_name>_result', escaped suitably for
+# 'eval'. Like this:
+#
+# my_options_prep ()
+# {
+# $debug_cmd
+#
+# # Extend the existing usage message.
+# usage_message=$usage_message'
+# -s, --silent don'\''t print informational messages
+# '
+#
+# func_quote_for_eval ${1+"$@"}
+# my_options_prep_result=$func_quote_for_eval_result
+# }
+# func_add_hook func_options_prep my_options_prep
+#
+#
+# my_silent_option ()
+# {
+# $debug_cmd
+#
+# # Note that for efficiency, we parse as many options as we can
+# # recognise in a loop before passing the remainder back to the
+# # caller on the first unrecognised argument we encounter.
+# while test $# -gt 0; do
+# opt=$1; shift
+# case $opt in
+# --silent|-s) opt_silent=: ;;
+# # Separate non-argument short options:
+# -s*) func_split_short_opt "$_G_opt"
+# set dummy "$func_split_short_opt_name" \
+# "-$func_split_short_opt_arg" ${1+"$@"}
+# shift
+# ;;
+# *) set dummy "$_G_opt" "$*"; shift; break ;;
+# esac
+# done
+#
+# func_quote_for_eval ${1+"$@"}
+# my_silent_option_result=$func_quote_for_eval_result
+# }
+# func_add_hook func_parse_options my_silent_option
+#
+#
+# my_option_validation ()
+# {
+# $debug_cmd
+#
+# $opt_silent && $opt_verbose && func_fatal_help "\
+# '--silent' and '--verbose' options are mutually exclusive."
+#
+# func_quote_for_eval ${1+"$@"}
+# my_option_validation_result=$func_quote_for_eval_result
+# }
+# func_add_hook func_validate_options my_option_validation
+#
+# You'll alse need to manually amend $usage_message to reflect the extra
+# options you parse. It's preferable to append if you can, so that
+# multiple option parsing hooks can be added safely.
+
+
+# func_options [ARG]...
+# ---------------------
+# All the functions called inside func_options are hookable. See the
+# individual implementations for details.
+func_hookable func_options
+func_options ()
+{
+ $debug_cmd
+
+ func_options_prep ${1+"$@"}
+ eval func_parse_options \
+ ${func_options_prep_result+"$func_options_prep_result"}
+ eval func_validate_options \
+ ${func_parse_options_result+"$func_parse_options_result"}
+
+ eval func_run_hooks func_options \
+ ${func_validate_options_result+"$func_validate_options_result"}
+
+ # save modified positional parameters for caller
+ func_options_result=$func_run_hooks_result
+}
+
+
+# func_options_prep [ARG]...
+# --------------------------
+# All initialisations required before starting the option parse loop.
+# Note that when calling hook functions, we pass through the list of
+# positional parameters. If a hook function modifies that list, and
+# needs to propogate that back to rest of this script, then the complete
+# modified list must be put in 'func_run_hooks_result' before
+# returning.
+func_hookable func_options_prep
+func_options_prep ()
+{
+ $debug_cmd
+
+ # Option defaults:
+ opt_verbose=false
+ opt_warning_types=
+
+ func_run_hooks func_options_prep ${1+"$@"}
+
+ # save modified positional parameters for caller
+ func_options_prep_result=$func_run_hooks_result
+}
+
+
+# func_parse_options [ARG]...
+# ---------------------------
+# The main option parsing loop.
+func_hookable func_parse_options
+func_parse_options ()
+{
+ $debug_cmd
+
+ func_parse_options_result=
+
+ # this just eases exit handling
+ while test $# -gt 0; do
+ # Defer to hook functions for initial option parsing, so they
+ # get priority in the event of reusing an option name.
+ func_run_hooks func_parse_options ${1+"$@"}
+
+ # Adjust func_parse_options positional parameters to match
+ eval set dummy "$func_run_hooks_result"; shift
+
+ # Break out of the loop if we already parsed every option.
+ test $# -gt 0 || break
+
+ _G_opt=$1
+ shift
+ case $_G_opt in
+ --debug|-x) debug_cmd='set -x'
+ func_echo "enabling shell trace mode"
+ $debug_cmd
+ ;;
+
+ --no-warnings|--no-warning|--no-warn)
+ set dummy --warnings none ${1+"$@"}
+ shift
+ ;;
+
+ --warnings|--warning|-W)
+ test $# = 0 && func_missing_arg $_G_opt && break
+ case " $warning_categories $1" in
+ *" $1 "*)
+ # trailing space prevents matching last $1 above
+ func_append_uniq opt_warning_types " $1"
+ ;;
+ *all)
+ opt_warning_types=$warning_categories
+ ;;
+ *none)
+ opt_warning_types=none
+ warning_func=:
+ ;;
+ *error)
+ opt_warning_types=$warning_categories
+ warning_func=func_fatal_error
+ ;;
+ *)
+ func_fatal_error \
+ "unsupported warning category: '$1'"
+ ;;
+ esac
+ shift
+ ;;
+
+ --verbose|-v) opt_verbose=: ;;
+ --version) func_version ;;
+ -\?|-h) func_usage ;;
+ --help) func_help ;;
+
+ # Separate optargs to long options (plugins may need this):
+ --*=*) func_split_equals "$_G_opt"
+ set dummy "$func_split_equals_lhs" \
+ "$func_split_equals_rhs" ${1+"$@"}
+ shift
+ ;;
+
+ # Separate optargs to short options:
+ -W*)
+ func_split_short_opt "$_G_opt"
+ set dummy "$func_split_short_opt_name" \
+ "$func_split_short_opt_arg" ${1+"$@"}
+ shift
+ ;;
+
+ # Separate non-argument short options:
+ -\?*|-h*|-v*|-x*)
+ func_split_short_opt "$_G_opt"
+ set dummy "$func_split_short_opt_name" \
+ "-$func_split_short_opt_arg" ${1+"$@"}
+ shift
+ ;;
+
+ --) break ;;
+ -*) func_fatal_help "unrecognised option: '$_G_opt'" ;;
+ *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
+ esac
+ done
+
+ # save modified positional parameters for caller
+ func_quote_for_eval ${1+"$@"}
+ func_parse_options_result=$func_quote_for_eval_result
+}
+
+
+# func_validate_options [ARG]...
+# ------------------------------
+# Perform any sanity checks on option settings and/or unconsumed
+# arguments.
+func_hookable func_validate_options
+func_validate_options ()
+{
+ $debug_cmd
+
+ # Display all warnings if -W was not given.
+ test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
+
+ func_run_hooks func_validate_options ${1+"$@"}
+
+ # Bail if the options were screwed!
+ $exit_cmd $EXIT_FAILURE
+
+ # save modified positional parameters for caller
+ func_validate_options_result=$func_run_hooks_result
+}
+
+
+
+## ----------------- ##
+## Helper functions. ##
+## ----------------- ##
+
+# This section contains the helper functions used by the rest of the
+# hookable option parser framework in ascii-betical order.
+
+
+# func_fatal_help ARG...
+# ----------------------
+# Echo program name prefixed message to standard error, followed by
+# a help hint, and exit.
+func_fatal_help ()
+{
+ $debug_cmd
+
+ eval \$ECHO \""Usage: $usage"\"
+ eval \$ECHO \""$fatal_help"\"
+ func_error ${1+"$@"}
+ exit $EXIT_FAILURE
+}
+
+
+# func_help
+# ---------
+# Echo long help message to standard output and exit.
func_help ()
{
- $opt_debug
+ $debug_cmd
- $SED -n '/^# Usage:/,/# Report bugs to/ {
- :print
- s/^# //
- s/^# *$//
- s*\$progname*'$progname'*
- s*\$host*'"$host"'*
- s*\$SHELL*'"$SHELL"'*
- s*\$LTCC*'"$LTCC"'*
- s*\$LTCFLAGS*'"$LTCFLAGS"'*
- s*\$LD*'"$LD"'*
- s/\$with_gnu_ld/'"$with_gnu_ld"'/
- s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/
- s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/
- p
- d
- }
- /^# .* home page:/b print
- /^# General help using/b print
- ' < "$progpath"
- ret=$?
- if test -z "$1"; then
- exit $ret
- fi
+ func_usage_message
+ $ECHO "$long_help_message"
+ exit 0
}
-# func_missing_arg argname
+
+# func_missing_arg ARGNAME
+# ------------------------
# Echo program name prefixed message to standard error and set global
# exit_cmd.
func_missing_arg ()
{
- $opt_debug
+ $debug_cmd
- func_error "missing argument for $1."
+ func_error "Missing argument for '$1'."
exit_cmd=exit
}
-# func_split_short_opt shortopt
+# func_split_equals STRING
+# ------------------------
+# Set func_split_equals_lhs and func_split_equals_rhs shell variables after
+# splitting STRING at the '=' sign.
+test -z "$_G_HAVE_XSI_OPS" \
+ && (eval 'x=a/b/c;
+ test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
+ && _G_HAVE_XSI_OPS=yes
+
+if test yes = "$_G_HAVE_XSI_OPS"
+then
+ # This is an XSI compatible shell, allowing a faster implementation...
+ eval 'func_split_equals ()
+ {
+ $debug_cmd
+
+ func_split_equals_lhs=${1%%=*}
+ func_split_equals_rhs=${1#*=}
+ test "x$func_split_equals_lhs" = "x$1" \
+ && func_split_equals_rhs=
+ }'
+else
+ # ...otherwise fall back to using expr, which is often a shell builtin.
+ func_split_equals ()
+ {
+ $debug_cmd
+
+ func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'`
+ func_split_equals_rhs=
+ test "x$func_split_equals_lhs" = "x$1" \
+ || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'`
+ }
+fi #func_split_equals
+
+
+# func_split_short_opt SHORTOPT
+# -----------------------------
# Set func_split_short_opt_name and func_split_short_opt_arg shell
# variables after splitting SHORTOPT after the 2nd character.
-func_split_short_opt ()
+if test yes = "$_G_HAVE_XSI_OPS"
+then
+ # This is an XSI compatible shell, allowing a faster implementation...
+ eval 'func_split_short_opt ()
+ {
+ $debug_cmd
+
+ func_split_short_opt_arg=${1#??}
+ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}
+ }'
+else
+ # ...otherwise fall back to using expr, which is often a shell builtin.
+ func_split_short_opt ()
+ {
+ $debug_cmd
+
+ func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'`
+ func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'`
+ }
+fi #func_split_short_opt
+
+
+# func_usage
+# ----------
+# Echo short help message to standard output and exit.
+func_usage ()
{
- my_sed_short_opt='1s/^\(..\).*$/\1/;q'
- my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
+ $debug_cmd
- func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
- func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
-} # func_split_short_opt may be replaced by extended shell implementation
+ func_usage_message
+ $ECHO "Run '$progname --help |${PAGER-more}' for full usage"
+ exit 0
+}
-# func_split_long_opt longopt
-# Set func_split_long_opt_name and func_split_long_opt_arg shell
-# variables after splitting LONGOPT at the `=' sign.
-func_split_long_opt ()
+# func_usage_message
+# ------------------
+# Echo short help message to standard output.
+func_usage_message ()
{
- my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
- my_sed_long_arg='1s/^--[^=]*=//'
+ $debug_cmd
- func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
- func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
-} # func_split_long_opt may be replaced by extended shell implementation
-
-exit_cmd=:
+ eval \$ECHO \""Usage: $usage"\"
+ echo
+ $SED -n 's|^# ||
+ /^Written by/{
+ x;p;x
+ }
+ h
+ /^Written by/q' < "$progpath"
+ echo
+ eval \$ECHO \""$usage_message"\"
+}
-
-
-
-magic="%%%MAGIC variable%%%"
-magic_exe="%%%MAGIC EXE variable%%%"
-
-# Global variables.
-nonopt=
-preserve_args=
-lo2o="s/\\.lo\$/.${objext}/"
-o2lo="s/\\.${objext}\$/.lo/"
-extracted_archives=
-extracted_serial=0
-
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end. This prevents here-documents from being
-# left over by shells.
-exec_cmd=
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
+# func_version
+# ------------
+# Echo version message to standard output and exit.
+func_version ()
{
- eval "${1}=\$${1}\${2}"
-} # func_append may be replaced by extended shell implementation
+ $debug_cmd
-# func_append_quoted var value
-# Quote VALUE and append to the end of shell variable VAR, separated
-# by a space.
-func_append_quoted ()
+ printf '%s\n' "$progname $scriptversion"
+ $SED -n '
+ /(C)/!b go
+ :more
+ /\./!{
+ N
+ s|\n# | |
+ b more
+ }
+ :go
+ /^# Written by /,/# warranty; / {
+ s|^# ||
+ s|^# *$||
+ s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2|
+ p
+ }
+ /^# Written by / {
+ s|^# ||
+ p
+ }
+ /^warranty; /q' < "$progpath"
+
+ exit $?
+}
+
+
+# Local variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
+# time-stamp-time-zone: "UTC"
+# End:
+
+# Set a version string.
+scriptversion='(GNU libtool) 2.4.6'
+
+
+# func_echo ARG...
+# ----------------
+# Libtool also displays the current mode in messages, so override
+# funclib.sh func_echo with this custom definition.
+func_echo ()
{
- func_quote_for_eval "${2}"
- eval "${1}=\$${1}\\ \$func_quote_for_eval_result"
-} # func_append_quoted may be replaced by extended shell implementation
+ $debug_cmd
+
+ _G_message=$*
+
+ func_echo_IFS=$IFS
+ IFS=$nl
+ for _G_line in $_G_message; do
+ IFS=$func_echo_IFS
+ $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line"
+ done
+ IFS=$func_echo_IFS
+}
-# func_arith arithmetic-term...
-func_arith ()
+# func_warning ARG...
+# -------------------
+# Libtool warnings are not categorized, so override funclib.sh
+# func_warning with this simpler definition.
+func_warning ()
{
- func_arith_result=`expr "${@}"`
-} # func_arith may be replaced by extended shell implementation
+ $debug_cmd
+
+ $warning_func ${1+"$@"}
+}
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
+## ---------------- ##
+## Options parsing. ##
+## ---------------- ##
+
+# Hook in the functions to make sure our own options are parsed during
+# the option parsing loop.
+
+usage='$progpath [OPTION]... [MODE-ARG]...'
+
+# Short help message in response to '-h'.
+usage_message="Options:
+ --config show all configuration variables
+ --debug enable verbose shell tracing
+ -n, --dry-run display commands without modifying any files
+ --features display basic configuration information and exit
+ --mode=MODE use operation mode MODE
+ --no-warnings equivalent to '-Wnone'
+ --preserve-dup-deps don't remove duplicate dependency libraries
+ --quiet, --silent don't print informational messages
+ --tag=TAG use configuration variables from tag TAG
+ -v, --verbose print more informational messages than default
+ --version print version information
+ -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all]
+ -h, --help, --help-all print short, long, or detailed help message
+"
+
+# Additional text appended to 'usage_message' in response to '--help'.
+func_help ()
{
- func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`
-} # func_len may be replaced by extended shell implementation
+ $debug_cmd
+
+ func_usage_message
+ $ECHO "$long_help_message
+
+MODE must be one of the following:
+
+ clean remove files from the build directory
+ compile compile a source file into a libtool object
+ execute automatically set library path, then run a program
+ finish complete the installation of libtool libraries
+ install install libraries or executables
+ link create a library or an executable
+ uninstall remove libraries from an installed directory
+
+MODE-ARGS vary depending on the MODE. When passed as first option,
+'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that.
+Try '$progname --help --mode=MODE' for a more detailed description of MODE.
+
+When reporting a bug, please describe a test case to reproduce it and
+include the following information:
+
+ host-triplet: $host
+ shell: $SHELL
+ compiler: $LTCC
+ compiler flags: $LTCFLAGS
+ linker: $LD (gnu? $with_gnu_ld)
+ version: $progname (GNU libtool) 2.4.6
+ automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
+ autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
+
+Report bugs to <bug-libtool@gnu.org>.
+GNU libtool home page: <http://www.gnu.org/s/libtool/>.
+General help using GNU software: <http://www.gnu.org/gethelp/>."
+ exit 0
+}
-# func_lo2o object
-func_lo2o ()
-{
- func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
-} # func_lo2o may be replaced by extended shell implementation
+# func_lo2o OBJECT-NAME
+# ---------------------
+# Transform OBJECT-NAME from a '.lo' suffix to the platform specific
+# object suffix.
+
+lo2o=s/\\.lo\$/.$objext/
+o2lo=s/\\.$objext\$/.lo/
+
+if test yes = "$_G_HAVE_XSI_OPS"; then
+ eval 'func_lo2o ()
+ {
+ case $1 in
+ *.lo) func_lo2o_result=${1%.lo}.$objext ;;
+ * ) func_lo2o_result=$1 ;;
+ esac
+ }'
+
+ # func_xform LIBOBJ-OR-SOURCE
+ # ---------------------------
+ # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise)
+ # suffix to a '.lo' libtool-object suffix.
+ eval 'func_xform ()
+ {
+ func_xform_result=${1%.*}.lo
+ }'
+else
+ # ...otherwise fall back to using sed.
+ func_lo2o ()
+ {
+ func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"`
+ }
+
+ func_xform ()
+ {
+ func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'`
+ }
+fi
-# func_xform libobj-or-source
-func_xform ()
-{
- func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
-} # func_xform may be replaced by extended shell implementation
-
-
-# func_fatal_configuration arg...
+# func_fatal_configuration ARG...
+# -------------------------------
# Echo program name prefixed message to standard error, followed by
# a configuration failure hint, and exit.
func_fatal_configuration ()
{
- func_error ${1+"$@"}
- func_error "See the $PACKAGE documentation for more information."
- func_fatal_error "Fatal configuration error."
+ func__fatal_error ${1+"$@"} \
+ "See the $PACKAGE documentation for more information." \
+ "Fatal configuration error."
}
# func_config
+# -----------
# Display the configuration for all the tags in this script.
func_config ()
{
@@ -915,17 +2149,19 @@
exit $?
}
+
# func_features
+# -------------
# Display the features supported by this script.
func_features ()
{
echo "host: $host"
- if test "$build_libtool_libs" = yes; then
+ if test yes = "$build_libtool_libs"; then
echo "enable shared libraries"
else
echo "disable shared libraries"
fi
- if test "$build_old_libs" = yes; then
+ if test yes = "$build_old_libs"; then
echo "enable static libraries"
else
echo "disable static libraries"
@@ -934,314 +2170,350 @@
exit $?
}
-# func_enable_tag tagname
+
+# func_enable_tag TAGNAME
+# -----------------------
# Verify that TAGNAME is valid, and either flag an error and exit, or
# enable the TAGNAME tag. We also add TAGNAME to the global $taglist
# variable here.
func_enable_tag ()
{
- # Global variable:
- tagname="$1"
+ # Global variable:
+ tagname=$1
- re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
- re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
- sed_extractcf="/$re_begincf/,/$re_endcf/p"
+ re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
+ re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
+ sed_extractcf=/$re_begincf/,/$re_endcf/p
- # Validate tagname.
- case $tagname in
- *[!-_A-Za-z0-9,/]*)
- func_fatal_error "invalid tag name: $tagname"
- ;;
- esac
+ # Validate tagname.
+ case $tagname in
+ *[!-_A-Za-z0-9,/]*)
+ func_fatal_error "invalid tag name: $tagname"
+ ;;
+ esac
- # Don't test for the "default" C tag, as we know it's
- # there but not specially marked.
- case $tagname in
- CC) ;;
+ # Don't test for the "default" C tag, as we know it's
+ # there but not specially marked.
+ case $tagname in
+ CC) ;;
*)
- if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
- taglist="$taglist $tagname"
+ if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
+ taglist="$taglist $tagname"
- # Evaluate the configuration. Be careful to quote the path
- # and the sed script, to avoid splitting on whitespace, but
- # also don't use non-portable quotes within backquotes within
- # quotes we have to do it in 2 steps:
- extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
- eval "$extractedcf"
- else
- func_error "ignoring unknown tag $tagname"
- fi
- ;;
- esac
+ # Evaluate the configuration. Be careful to quote the path
+ # and the sed script, to avoid splitting on whitespace, but
+ # also don't use non-portable quotes within backquotes within
+ # quotes we have to do it in 2 steps:
+ extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
+ eval "$extractedcf"
+ else
+ func_error "ignoring unknown tag $tagname"
+ fi
+ ;;
+ esac
}
+
# func_check_version_match
+# ------------------------
# Ensure that we are using m4 macros, and libtool script from the same
# release of libtool.
func_check_version_match ()
{
- if test "$package_revision" != "$macro_revision"; then
- if test "$VERSION" != "$macro_version"; then
- if test -z "$macro_version"; then
- cat >&2 <<_LT_EOF
+ if test "$package_revision" != "$macro_revision"; then
+ if test "$VERSION" != "$macro_version"; then
+ if test -z "$macro_version"; then
+ cat >&2 <<_LT_EOF
$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
$progname: definition of this LT_INIT comes from an older release.
$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
$progname: and run autoconf again.
_LT_EOF
- else
- cat >&2 <<_LT_EOF
+ else
+ cat >&2 <<_LT_EOF
$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
$progname: and run autoconf again.
_LT_EOF
- fi
- else
- cat >&2 <<_LT_EOF
+ fi
+ else
+ cat >&2 <<_LT_EOF
$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
$progname: but the definition of this LT_INIT comes from revision $macro_revision.
$progname: You should recreate aclocal.m4 with macros from revision $package_revision
$progname: of $PACKAGE $VERSION and run autoconf again.
_LT_EOF
- fi
+ fi
- exit $EXIT_MISMATCH
- fi
+ exit $EXIT_MISMATCH
+ fi
}
-# Shorthand for --mode=foo, only valid as the first argument
-case $1 in
-clean|clea|cle|cl)
- shift; set dummy --mode clean ${1+"$@"}; shift
- ;;
-compile|compil|compi|comp|com|co|c)
- shift; set dummy --mode compile ${1+"$@"}; shift
- ;;
-execute|execut|execu|exec|exe|ex|e)
- shift; set dummy --mode execute ${1+"$@"}; shift
- ;;
-finish|finis|fini|fin|fi|f)
- shift; set dummy --mode finish ${1+"$@"}; shift
- ;;
-install|instal|insta|inst|ins|in|i)
- shift; set dummy --mode install ${1+"$@"}; shift
- ;;
-link|lin|li|l)
- shift; set dummy --mode link ${1+"$@"}; shift
- ;;
-uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
- shift; set dummy --mode uninstall ${1+"$@"}; shift
- ;;
-esac
-
-
-
-# Option defaults:
-opt_debug=:
-opt_dry_run=false
-opt_config=false
-opt_preserve_dup_deps=false
-opt_features=false
-opt_finish=false
-opt_help=false
-opt_help_all=false
-opt_silent=:
-opt_warning=:
-opt_verbose=:
-opt_silent=false
-opt_verbose=false
-
-
-# Parse options once, thoroughly. This comes as soon as possible in the
-# script to make things like `--version' happen as quickly as we can.
+# libtool_options_prep [ARG]...
+# -----------------------------
+# Preparation for options parsed by libtool.
+libtool_options_prep ()
{
- # this just eases exit handling
- while test $# -gt 0; do
- opt="$1"
- shift
- case $opt in
- --debug|-x) opt_debug='set -x'
- func_echo "enabling shell trace mode"
- $opt_debug
- ;;
- --dry-run|--dryrun|-n)
- opt_dry_run=:
- ;;
- --config)
- opt_config=:
-func_config
- ;;
- --dlopen|-dlopen)
- optarg="$1"
- opt_dlopen="${opt_dlopen+$opt_dlopen
-}$optarg"
- shift
- ;;
- --preserve-dup-deps)
- opt_preserve_dup_deps=:
- ;;
- --features)
- opt_features=:
-func_features
- ;;
- --finish)
- opt_finish=:
-set dummy --mode finish ${1+"$@"}; shift
- ;;
- --help)
- opt_help=:
- ;;
- --help-all)
- opt_help_all=:
-opt_help=': help-all'
- ;;
- --mode)
- test $# = 0 && func_missing_arg $opt && break
- optarg="$1"
- opt_mode="$optarg"
-case $optarg in
- # Valid mode arguments:
- clean|compile|execute|finish|install|link|relink|uninstall) ;;
+ $debug_mode
- # Catch anything else as an error
- *) func_error "invalid argument for $opt"
- exit_cmd=exit
- break
- ;;
-esac
- shift
- ;;
- --no-silent|--no-quiet)
- opt_silent=false
-func_append preserve_args " $opt"
- ;;
- --no-warning|--no-warn)
- opt_warning=false
-func_append preserve_args " $opt"
- ;;
- --no-verbose)
- opt_verbose=false
-func_append preserve_args " $opt"
- ;;
- --silent|--quiet)
- opt_silent=:
-func_append preserve_args " $opt"
- opt_verbose=false
- ;;
- --verbose|-v)
- opt_verbose=:
-func_append preserve_args " $opt"
-opt_silent=false
- ;;
- --tag)
- test $# = 0 && func_missing_arg $opt && break
- optarg="$1"
- opt_tag="$optarg"
-func_append preserve_args " $opt $optarg"
-func_enable_tag "$optarg"
- shift
- ;;
+ # Option defaults:
+ opt_config=false
+ opt_dlopen=
+ opt_dry_run=false
+ opt_help=false
+ opt_mode=
+ opt_preserve_dup_deps=false
+ opt_quiet=false
- -\?|-h) func_usage ;;
- --help) func_help ;;
- --version) func_version ;;
+ nonopt=
+ preserve_args=
- # Separate optargs to long options:
- --*=*)
- func_split_long_opt "$opt"
- set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
- shift
- ;;
-
- # Separate non-argument short options:
- -\?*|-h*|-n*|-v*)
- func_split_short_opt "$opt"
- set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
- shift
- ;;
-
- --) break ;;
- -*) func_fatal_help "unrecognized option \`$opt'" ;;
- *) set dummy "$opt" ${1+"$@"}; shift; break ;;
+ # Shorthand for --mode=foo, only valid as the first argument
+ case $1 in
+ clean|clea|cle|cl)
+ shift; set dummy --mode clean ${1+"$@"}; shift
+ ;;
+ compile|compil|compi|comp|com|co|c)
+ shift; set dummy --mode compile ${1+"$@"}; shift
+ ;;
+ execute|execut|execu|exec|exe|ex|e)
+ shift; set dummy --mode execute ${1+"$@"}; shift
+ ;;
+ finish|finis|fini|fin|fi|f)
+ shift; set dummy --mode finish ${1+"$@"}; shift
+ ;;
+ install|instal|insta|inst|ins|in|i)
+ shift; set dummy --mode install ${1+"$@"}; shift
+ ;;
+ link|lin|li|l)
+ shift; set dummy --mode link ${1+"$@"}; shift
+ ;;
+ uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+ shift; set dummy --mode uninstall ${1+"$@"}; shift
+ ;;
esac
- done
- # Validate options:
-
- # save first non-option argument
- if test "$#" -gt 0; then
- nonopt="$opt"
- shift
- fi
-
- # preserve --debug
- test "$opt_debug" = : || func_append preserve_args " --debug"
-
- case $host in
- *cygwin* | *mingw* | *pw32* | *cegcc*)
- # don't eliminate duplications in $postdeps and $predeps
- opt_duplicate_compiler_generated_deps=:
- ;;
- *)
- opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
- ;;
- esac
-
- $opt_help || {
- # Sanity checks first:
- func_check_version_match
-
- if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
- func_fatal_configuration "not configured to build any kind of library"
- fi
-
- # Darwin sucks
- eval std_shrext=\"$shrext_cmds\"
-
- # Only execute mode is allowed to have -dlopen flags.
- if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
- func_error "unrecognized option \`-dlopen'"
- $ECHO "$help" 1>&2
- exit $EXIT_FAILURE
- fi
-
- # Change the help message to a mode-specific one.
- generic_help="$help"
- help="Try \`$progname --help --mode=$opt_mode' for more information."
- }
-
-
- # Bail if the options were screwed
- $exit_cmd $EXIT_FAILURE
+ # Pass back the list of options.
+ func_quote_for_eval ${1+"$@"}
+ libtool_options_prep_result=$func_quote_for_eval_result
}
+func_add_hook func_options_prep libtool_options_prep
+# libtool_parse_options [ARG]...
+# ---------------------------------
+# Provide handling for libtool specific options.
+libtool_parse_options ()
+{
+ $debug_cmd
+
+ # Perform our own loop to consume as many options as possible in
+ # each iteration.
+ while test $# -gt 0; do
+ _G_opt=$1
+ shift
+ case $_G_opt in
+ --dry-run|--dryrun|-n)
+ opt_dry_run=:
+ ;;
+
+ --config) func_config ;;
+
+ --dlopen|-dlopen)
+ opt_dlopen="${opt_dlopen+$opt_dlopen
+}$1"
+ shift
+ ;;
+
+ --preserve-dup-deps)
+ opt_preserve_dup_deps=: ;;
+
+ --features) func_features ;;
+
+ --finish) set dummy --mode finish ${1+"$@"}; shift ;;
+
+ --help) opt_help=: ;;
+
+ --help-all) opt_help=': help-all' ;;
+
+ --mode) test $# = 0 && func_missing_arg $_G_opt && break
+ opt_mode=$1
+ case $1 in
+ # Valid mode arguments:
+ clean|compile|execute|finish|install|link|relink|uninstall) ;;
+
+ # Catch anything else as an error
+ *) func_error "invalid argument for $_G_opt"
+ exit_cmd=exit
+ break
+ ;;
+ esac
+ shift
+ ;;
+
+ --no-silent|--no-quiet)
+ opt_quiet=false
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ --no-warnings|--no-warning|--no-warn)
+ opt_warning=false
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ --no-verbose)
+ opt_verbose=false
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ --silent|--quiet)
+ opt_quiet=:
+ opt_verbose=false
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ --tag) test $# = 0 && func_missing_arg $_G_opt && break
+ opt_tag=$1
+ func_append preserve_args " $_G_opt $1"
+ func_enable_tag "$1"
+ shift
+ ;;
+
+ --verbose|-v) opt_quiet=false
+ opt_verbose=:
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ # An option not handled by this hook function:
+ *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
+ esac
+ done
+
+
+ # save modified positional parameters for caller
+ func_quote_for_eval ${1+"$@"}
+ libtool_parse_options_result=$func_quote_for_eval_result
+}
+func_add_hook func_parse_options libtool_parse_options
+
+
+
+# libtool_validate_options [ARG]...
+# ---------------------------------
+# Perform any sanity checks on option settings and/or unconsumed
+# arguments.
+libtool_validate_options ()
+{
+ # save first non-option argument
+ if test 0 -lt $#; then
+ nonopt=$1
+ shift
+ fi
+
+ # preserve --debug
+ test : = "$debug_cmd" || func_append preserve_args " --debug"
+
+ case $host in
+ # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
+ # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
+ *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*)
+ # don't eliminate duplications in $postdeps and $predeps
+ opt_duplicate_compiler_generated_deps=:
+ ;;
+ *)
+ opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
+ ;;
+ esac
+
+ $opt_help || {
+ # Sanity checks first:
+ func_check_version_match
+
+ test yes != "$build_libtool_libs" \
+ && test yes != "$build_old_libs" \
+ && func_fatal_configuration "not configured to build any kind of library"
+
+ # Darwin sucks
+ eval std_shrext=\"$shrext_cmds\"
+
+ # Only execute mode is allowed to have -dlopen flags.
+ if test -n "$opt_dlopen" && test execute != "$opt_mode"; then
+ func_error "unrecognized option '-dlopen'"
+ $ECHO "$help" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ # Change the help message to a mode-specific one.
+ generic_help=$help
+ help="Try '$progname --help --mode=$opt_mode' for more information."
+ }
+
+ # Pass back the unparsed argument list
+ func_quote_for_eval ${1+"$@"}
+ libtool_validate_options_result=$func_quote_for_eval_result
+}
+func_add_hook func_validate_options libtool_validate_options
+
+
+# Process options as early as possible so that --help and --version
+# can return quickly.
+func_options ${1+"$@"}
+eval set dummy "$func_options_result"; shift
+
## ----------- ##
## Main. ##
## ----------- ##
+magic='%%%MAGIC variable%%%'
+magic_exe='%%%MAGIC EXE variable%%%'
+
+# Global variables.
+extracted_archives=
+extracted_serial=0
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end. This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+}
+
+# func_generated_by_libtool
+# True iff stdin has been generated by Libtool. This function is only
+# a basic sanity check; it will hardly flush out determined imposters.
+func_generated_by_libtool_p ()
+{
+ $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+}
+
# func_lalib_p file
-# True iff FILE is a libtool `.la' library or `.lo' object file.
+# True iff FILE is a libtool '.la' library or '.lo' object file.
# This function is only a basic sanity check; it will hardly flush out
# determined imposters.
func_lalib_p ()
{
test -f "$1" &&
- $SED -e 4q "$1" 2>/dev/null \
- | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+ $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p
}
# func_lalib_unsafe_p file
-# True iff FILE is a libtool `.la' library or `.lo' object file.
+# True iff FILE is a libtool '.la' library or '.lo' object file.
# This function implements the same check as func_lalib_p without
# resorting to external programs. To this end, it redirects stdin and
# closes it afterwards, without saving the original file descriptor.
# As a safety measure, use it only where a negative result would be
-# fatal anyway. Works if `file' does not exist.
+# fatal anyway. Works if 'file' does not exist.
func_lalib_unsafe_p ()
{
lalib_p=no
@@ -1249,13 +2521,13 @@
for lalib_p_l in 1 2 3 4
do
read lalib_p_line
- case "$lalib_p_line" in
+ case $lalib_p_line in
\#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
esac
done
exec 0<&5 5<&-
fi
- test "$lalib_p" = yes
+ test yes = "$lalib_p"
}
# func_ltwrapper_script_p file
@@ -1264,7 +2536,8 @@
# determined imposters.
func_ltwrapper_script_p ()
{
- func_lalib_p "$1"
+ test -f "$1" &&
+ $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p
}
# func_ltwrapper_executable_p file
@@ -1289,7 +2562,7 @@
{
func_dirname_and_basename "$1" "" "."
func_stripname '' '.exe' "$func_basename_result"
- func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
+ func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper
}
# func_ltwrapper_p file
@@ -1308,11 +2581,13 @@
# FAIL_CMD may read-access the current command in variable CMD!
func_execute_cmds ()
{
- $opt_debug
+ $debug_cmd
+
save_ifs=$IFS; IFS='~'
for cmd in $1; do
- IFS=$save_ifs
+ IFS=$sp$nl
eval cmd=\"$cmd\"
+ IFS=$save_ifs
func_show_eval "$cmd" "${2-:}"
done
IFS=$save_ifs
@@ -1324,10 +2599,11 @@
# Note that it is not necessary on cygwin/mingw to append a dot to
# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
# behavior happens only for exec(3), not for open(2)! Also, sourcing
-# `FILE.' does not work on cygwin managed mounts.
+# 'FILE.' does not work on cygwin managed mounts.
func_source ()
{
- $opt_debug
+ $debug_cmd
+
case $1 in
*/* | *\\*) . "$1" ;;
*) . "./$1" ;;
@@ -1354,10 +2630,10 @@
# store the result into func_replace_sysroot_result.
func_replace_sysroot ()
{
- case "$lt_sysroot:$1" in
+ case $lt_sysroot:$1 in
?*:"$lt_sysroot"*)
func_stripname "$lt_sysroot" '' "$1"
- func_replace_sysroot_result="=$func_stripname_result"
+ func_replace_sysroot_result='='$func_stripname_result
;;
*)
# Including no sysroot.
@@ -1374,7 +2650,8 @@
# arg is usually of the form 'gcc ...'
func_infer_tag ()
{
- $opt_debug
+ $debug_cmd
+
if test -n "$available_tags" && test -z "$tagname"; then
CC_quoted=
for arg in $CC; do
@@ -1393,7 +2670,7 @@
for z in $available_tags; do
if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
# Evaluate the configuration.
- eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+ eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
CC_quoted=
for arg in $CC; do
# Double-quote args containing other shell metacharacters.
@@ -1418,7 +2695,7 @@
# line option must be used.
if test -z "$tagname"; then
func_echo "unable to infer tagged configuration"
- func_fatal_error "specify a tag with \`--tag'"
+ func_fatal_error "specify a tag with '--tag'"
# else
# func_verbose "using $tagname tagged configuration"
fi
@@ -1434,15 +2711,15 @@
# but don't create it if we're doing a dry run.
func_write_libtool_object ()
{
- write_libobj=${1}
- if test "$build_libtool_libs" = yes; then
- write_lobj=\'${2}\'
+ write_libobj=$1
+ if test yes = "$build_libtool_libs"; then
+ write_lobj=\'$2\'
else
write_lobj=none
fi
- if test "$build_old_libs" = yes; then
- write_oldobj=\'${3}\'
+ if test yes = "$build_old_libs"; then
+ write_oldobj=\'$3\'
else
write_oldobj=none
fi
@@ -1450,7 +2727,7 @@
$opt_dry_run || {
cat >${write_libobj}T <<EOF
# $write_libobj - a libtool object file
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
@@ -1462,7 +2739,7 @@
non_pic_object=$write_oldobj
EOF
- $MV "${write_libobj}T" "${write_libobj}"
+ $MV "${write_libobj}T" "$write_libobj"
}
}
@@ -1482,8 +2759,9 @@
# be empty on error (or when ARG is empty)
func_convert_core_file_wine_to_w32 ()
{
- $opt_debug
- func_convert_core_file_wine_to_w32_result="$1"
+ $debug_cmd
+
+ func_convert_core_file_wine_to_w32_result=$1
if test -n "$1"; then
# Unfortunately, winepath does not exit with a non-zero error code, so we
# are forced to check the contents of stdout. On the other hand, if the
@@ -1491,9 +2769,9 @@
# *an error message* to stdout. So we must check for both error code of
# zero AND non-empty stdout, which explains the odd construction:
func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
- if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then
+ if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then
func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
- $SED -e "$lt_sed_naive_backslashify"`
+ $SED -e "$sed_naive_backslashify"`
else
func_convert_core_file_wine_to_w32_result=
fi
@@ -1514,18 +2792,19 @@
# are convertible, then the result may be empty.
func_convert_core_path_wine_to_w32 ()
{
- $opt_debug
+ $debug_cmd
+
# unfortunately, winepath doesn't convert paths, only file names
- func_convert_core_path_wine_to_w32_result=""
+ func_convert_core_path_wine_to_w32_result=
if test -n "$1"; then
oldIFS=$IFS
IFS=:
for func_convert_core_path_wine_to_w32_f in $1; do
IFS=$oldIFS
func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
- if test -n "$func_convert_core_file_wine_to_w32_result" ; then
+ if test -n "$func_convert_core_file_wine_to_w32_result"; then
if test -z "$func_convert_core_path_wine_to_w32_result"; then
- func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"
+ func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result
else
func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
fi
@@ -1554,7 +2833,8 @@
# environment variable; do not put it in $PATH.
func_cygpath ()
{
- $opt_debug
+ $debug_cmd
+
if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
if test "$?" -ne 0; then
@@ -1563,7 +2843,7 @@
fi
else
func_cygpath_result=
- func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
+ func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'"
fi
}
#end: func_cygpath
@@ -1574,10 +2854,11 @@
# result in func_convert_core_msys_to_w32_result.
func_convert_core_msys_to_w32 ()
{
- $opt_debug
+ $debug_cmd
+
# awkward: cmd appends spaces to result
func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
- $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
+ $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"`
}
#end: func_convert_core_msys_to_w32
@@ -1588,13 +2869,14 @@
# func_to_host_file_result to ARG1).
func_convert_file_check ()
{
- $opt_debug
- if test -z "$2" && test -n "$1" ; then
+ $debug_cmd
+
+ if test -z "$2" && test -n "$1"; then
func_error "Could not determine host file name corresponding to"
- func_error " \`$1'"
+ func_error " '$1'"
func_error "Continuing, but uninstalled executables may not work."
# Fallback:
- func_to_host_file_result="$1"
+ func_to_host_file_result=$1
fi
}
# end func_convert_file_check
@@ -1606,10 +2888,11 @@
# func_to_host_file_result to a simplistic fallback value (see below).
func_convert_path_check ()
{
- $opt_debug
+ $debug_cmd
+
if test -z "$4" && test -n "$3"; then
func_error "Could not determine the host path corresponding to"
- func_error " \`$3'"
+ func_error " '$3'"
func_error "Continuing, but uninstalled executables may not work."
# Fallback. This is a deliberately simplistic "conversion" and
# should not be "improved". See libtool.info.
@@ -1618,7 +2901,7 @@
func_to_host_path_result=`echo "$3" |
$SED -e "$lt_replace_pathsep_chars"`
else
- func_to_host_path_result="$3"
+ func_to_host_path_result=$3
fi
fi
}
@@ -1630,9 +2913,10 @@
# and appending REPL if ORIG matches BACKPAT.
func_convert_path_front_back_pathsep ()
{
- $opt_debug
+ $debug_cmd
+
case $4 in
- $1 ) func_to_host_path_result="$3$func_to_host_path_result"
+ $1 ) func_to_host_path_result=$3$func_to_host_path_result
;;
esac
case $4 in
@@ -1646,7 +2930,7 @@
##################################################
# $build to $host FILE NAME CONVERSION FUNCTIONS #
##################################################
-# invoked via `$to_host_file_cmd ARG'
+# invoked via '$to_host_file_cmd ARG'
#
# In each case, ARG is the path to be converted from $build to $host format.
# Result will be available in $func_to_host_file_result.
@@ -1657,7 +2941,8 @@
# in func_to_host_file_result.
func_to_host_file ()
{
- $opt_debug
+ $debug_cmd
+
$to_host_file_cmd "$1"
}
# end func_to_host_file
@@ -1669,7 +2954,8 @@
# in (the comma separated) LAZY, no conversion takes place.
func_to_tool_file ()
{
- $opt_debug
+ $debug_cmd
+
case ,$2, in
*,"$to_tool_file_cmd",*)
func_to_tool_file_result=$1
@@ -1687,7 +2973,7 @@
# Copy ARG to func_to_host_file_result.
func_convert_file_noop ()
{
- func_to_host_file_result="$1"
+ func_to_host_file_result=$1
}
# end func_convert_file_noop
@@ -1698,11 +2984,12 @@
# func_to_host_file_result.
func_convert_file_msys_to_w32 ()
{
- $opt_debug
- func_to_host_file_result="$1"
+ $debug_cmd
+
+ func_to_host_file_result=$1
if test -n "$1"; then
func_convert_core_msys_to_w32 "$1"
- func_to_host_file_result="$func_convert_core_msys_to_w32_result"
+ func_to_host_file_result=$func_convert_core_msys_to_w32_result
fi
func_convert_file_check "$1" "$func_to_host_file_result"
}
@@ -1714,8 +3001,9 @@
# func_to_host_file_result.
func_convert_file_cygwin_to_w32 ()
{
- $opt_debug
- func_to_host_file_result="$1"
+ $debug_cmd
+
+ func_to_host_file_result=$1
if test -n "$1"; then
# because $build is cygwin, we call "the" cygpath in $PATH; no need to use
# LT_CYGPATH in this case.
@@ -1731,11 +3019,12 @@
# and a working winepath. Returns result in func_to_host_file_result.
func_convert_file_nix_to_w32 ()
{
- $opt_debug
- func_to_host_file_result="$1"
+ $debug_cmd
+
+ func_to_host_file_result=$1
if test -n "$1"; then
func_convert_core_file_wine_to_w32 "$1"
- func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
+ func_to_host_file_result=$func_convert_core_file_wine_to_w32_result
fi
func_convert_file_check "$1" "$func_to_host_file_result"
}
@@ -1747,12 +3036,13 @@
# Returns result in func_to_host_file_result.
func_convert_file_msys_to_cygwin ()
{
- $opt_debug
- func_to_host_file_result="$1"
+ $debug_cmd
+
+ func_to_host_file_result=$1
if test -n "$1"; then
func_convert_core_msys_to_w32 "$1"
func_cygpath -u "$func_convert_core_msys_to_w32_result"
- func_to_host_file_result="$func_cygpath_result"
+ func_to_host_file_result=$func_cygpath_result
fi
func_convert_file_check "$1" "$func_to_host_file_result"
}
@@ -1765,13 +3055,14 @@
# in func_to_host_file_result.
func_convert_file_nix_to_cygwin ()
{
- $opt_debug
- func_to_host_file_result="$1"
+ $debug_cmd
+
+ func_to_host_file_result=$1
if test -n "$1"; then
# convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
func_convert_core_file_wine_to_w32 "$1"
func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
- func_to_host_file_result="$func_cygpath_result"
+ func_to_host_file_result=$func_cygpath_result
fi
func_convert_file_check "$1" "$func_to_host_file_result"
}
@@ -1781,7 +3072,7 @@
#############################################
# $build to $host PATH CONVERSION FUNCTIONS #
#############################################
-# invoked via `$to_host_path_cmd ARG'
+# invoked via '$to_host_path_cmd ARG'
#
# In each case, ARG is the path to be converted from $build to $host format.
# The result will be available in $func_to_host_path_result.
@@ -1805,10 +3096,11 @@
to_host_path_cmd=
func_init_to_host_path_cmd ()
{
- $opt_debug
+ $debug_cmd
+
if test -z "$to_host_path_cmd"; then
func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
- to_host_path_cmd="func_convert_path_${func_stripname_result}"
+ to_host_path_cmd=func_convert_path_$func_stripname_result
fi
}
@@ -1818,7 +3110,8 @@
# in func_to_host_path_result.
func_to_host_path ()
{
- $opt_debug
+ $debug_cmd
+
func_init_to_host_path_cmd
$to_host_path_cmd "$1"
}
@@ -1829,7 +3122,7 @@
# Copy ARG to func_to_host_path_result.
func_convert_path_noop ()
{
- func_to_host_path_result="$1"
+ func_to_host_path_result=$1
}
# end func_convert_path_noop
@@ -1840,8 +3133,9 @@
# func_to_host_path_result.
func_convert_path_msys_to_w32 ()
{
- $opt_debug
- func_to_host_path_result="$1"
+ $debug_cmd
+
+ func_to_host_path_result=$1
if test -n "$1"; then
# Remove leading and trailing path separator characters from ARG. MSYS
# behavior is inconsistent here; cygpath turns them into '.;' and ';.';
@@ -1849,7 +3143,7 @@
func_stripname : : "$1"
func_to_host_path_tmp1=$func_stripname_result
func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
- func_to_host_path_result="$func_convert_core_msys_to_w32_result"
+ func_to_host_path_result=$func_convert_core_msys_to_w32_result
func_convert_path_check : ";" \
"$func_to_host_path_tmp1" "$func_to_host_path_result"
func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
@@ -1863,8 +3157,9 @@
# func_to_host_file_result.
func_convert_path_cygwin_to_w32 ()
{
- $opt_debug
- func_to_host_path_result="$1"
+ $debug_cmd
+
+ func_to_host_path_result=$1
if test -n "$1"; then
# See func_convert_path_msys_to_w32:
func_stripname : : "$1"
@@ -1883,14 +3178,15 @@
# a working winepath. Returns result in func_to_host_file_result.
func_convert_path_nix_to_w32 ()
{
- $opt_debug
- func_to_host_path_result="$1"
+ $debug_cmd
+
+ func_to_host_path_result=$1
if test -n "$1"; then
# See func_convert_path_msys_to_w32:
func_stripname : : "$1"
func_to_host_path_tmp1=$func_stripname_result
func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
- func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
+ func_to_host_path_result=$func_convert_core_path_wine_to_w32_result
func_convert_path_check : ";" \
"$func_to_host_path_tmp1" "$func_to_host_path_result"
func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
@@ -1904,15 +3200,16 @@
# Returns result in func_to_host_file_result.
func_convert_path_msys_to_cygwin ()
{
- $opt_debug
- func_to_host_path_result="$1"
+ $debug_cmd
+
+ func_to_host_path_result=$1
if test -n "$1"; then
# See func_convert_path_msys_to_w32:
func_stripname : : "$1"
func_to_host_path_tmp1=$func_stripname_result
func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
- func_to_host_path_result="$func_cygpath_result"
+ func_to_host_path_result=$func_cygpath_result
func_convert_path_check : : \
"$func_to_host_path_tmp1" "$func_to_host_path_result"
func_convert_path_front_back_pathsep ":*" "*:" : "$1"
@@ -1927,8 +3224,9 @@
# func_to_host_file_result.
func_convert_path_nix_to_cygwin ()
{
- $opt_debug
- func_to_host_path_result="$1"
+ $debug_cmd
+
+ func_to_host_path_result=$1
if test -n "$1"; then
# Remove leading and trailing path separator characters from
# ARG. msys behavior is inconsistent here, cygpath turns them
@@ -1937,7 +3235,7 @@
func_to_host_path_tmp1=$func_stripname_result
func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
- func_to_host_path_result="$func_cygpath_result"
+ func_to_host_path_result=$func_cygpath_result
func_convert_path_check : : \
"$func_to_host_path_tmp1" "$func_to_host_path_result"
func_convert_path_front_back_pathsep ":*" "*:" : "$1"
@@ -1946,13 +3244,31 @@
# end func_convert_path_nix_to_cygwin
+# func_dll_def_p FILE
+# True iff FILE is a Windows DLL '.def' file.
+# Keep in sync with _LT_DLL_DEF_P in libtool.m4
+func_dll_def_p ()
+{
+ $debug_cmd
+
+ func_dll_def_p_tmp=`$SED -n \
+ -e 's/^[ ]*//' \
+ -e '/^\(;.*\)*$/d' \
+ -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \
+ -e q \
+ "$1"`
+ test DEF = "$func_dll_def_p_tmp"
+}
+
+
# func_mode_compile arg...
func_mode_compile ()
{
- $opt_debug
+ $debug_cmd
+
# Get the compilation command and the source file.
base_compile=
- srcfile="$nonopt" # always keep a non-empty value in "srcfile"
+ srcfile=$nonopt # always keep a non-empty value in "srcfile"
suppress_opt=yes
suppress_output=
arg_mode=normal
@@ -1965,12 +3281,12 @@
case $arg_mode in
arg )
# do not "continue". Instead, add this to base_compile
- lastarg="$arg"
+ lastarg=$arg
arg_mode=normal
;;
target )
- libobj="$arg"
+ libobj=$arg
arg_mode=normal
continue
;;
@@ -1980,7 +3296,7 @@
case $arg in
-o)
test -n "$libobj" && \
- func_fatal_error "you cannot specify \`-o' more than once"
+ func_fatal_error "you cannot specify '-o' more than once"
arg_mode=target
continue
;;
@@ -2009,12 +3325,12 @@
func_stripname '-Wc,' '' "$arg"
args=$func_stripname_result
lastarg=
- save_ifs="$IFS"; IFS=','
+ save_ifs=$IFS; IFS=,
for arg in $args; do
- IFS="$save_ifs"
+ IFS=$save_ifs
func_append_quoted lastarg "$arg"
done
- IFS="$save_ifs"
+ IFS=$save_ifs
func_stripname ' ' '' "$lastarg"
lastarg=$func_stripname_result
@@ -2027,8 +3343,8 @@
# Accept the current argument as the source file.
# The previous "srcfile" becomes the current argument.
#
- lastarg="$srcfile"
- srcfile="$arg"
+ lastarg=$srcfile
+ srcfile=$arg
;;
esac # case $arg
;;
@@ -2043,13 +3359,13 @@
func_fatal_error "you must specify an argument for -Xcompile"
;;
target)
- func_fatal_error "you must specify a target with \`-o'"
+ func_fatal_error "you must specify a target with '-o'"
;;
*)
# Get the name of the library object.
test -z "$libobj" && {
func_basename "$srcfile"
- libobj="$func_basename_result"
+ libobj=$func_basename_result
}
;;
esac
@@ -2069,7 +3385,7 @@
case $libobj in
*.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
*)
- func_fatal_error "cannot determine name of library object from \`$libobj'"
+ func_fatal_error "cannot determine name of library object from '$libobj'"
;;
esac
@@ -2078,8 +3394,8 @@
for arg in $later; do
case $arg in
-shared)
- test "$build_libtool_libs" != yes && \
- func_fatal_configuration "can not build a shared library"
+ test yes = "$build_libtool_libs" \
+ || func_fatal_configuration "cannot build a shared library"
build_old_libs=no
continue
;;
@@ -2105,17 +3421,17 @@
func_quote_for_eval "$libobj"
test "X$libobj" != "X$func_quote_for_eval_result" \
&& $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
- && func_warning "libobj name \`$libobj' may not contain shell special characters."
+ && func_warning "libobj name '$libobj' may not contain shell special characters."
func_dirname_and_basename "$obj" "/" ""
- objname="$func_basename_result"
- xdir="$func_dirname_result"
- lobj=${xdir}$objdir/$objname
+ objname=$func_basename_result
+ xdir=$func_dirname_result
+ lobj=$xdir$objdir/$objname
test -z "$base_compile" && \
func_fatal_help "you must specify a compilation command"
# Delete any leftover library objects.
- if test "$build_old_libs" = yes; then
+ if test yes = "$build_old_libs"; then
removelist="$obj $lobj $libobj ${libobj}T"
else
removelist="$lobj $libobj ${libobj}T"
@@ -2127,16 +3443,16 @@
pic_mode=default
;;
esac
- if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
+ if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then
# non-PIC code in shared libraries is not supported
pic_mode=default
fi
# Calculate the filename of the output object if compiler does
# not support -o with -c
- if test "$compiler_c_o" = no; then
- output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
- lockfile="$output_obj.lock"
+ if test no = "$compiler_c_o"; then
+ output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext
+ lockfile=$output_obj.lock
else
output_obj=
need_locks=no
@@ -2145,12 +3461,12 @@
# Lock this critical section if it is needed
# We use this script file to make the link, it avoids creating a new file
- if test "$need_locks" = yes; then
+ if test yes = "$need_locks"; then
until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
func_echo "Waiting for $lockfile to be removed"
sleep 2
done
- elif test "$need_locks" = warn; then
+ elif test warn = "$need_locks"; then
if test -f "$lockfile"; then
$ECHO "\
*** ERROR, $lockfile exists and contains:
@@ -2158,7 +3474,7 @@
This indicates that another process is trying to use the same
temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
+your compiler does not support '-c' and '-o' together. If you
repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."
@@ -2180,11 +3496,11 @@
qsrcfile=$func_quote_for_eval_result
# Only build a PIC object if we are building libtool libraries.
- if test "$build_libtool_libs" = yes; then
+ if test yes = "$build_libtool_libs"; then
# Without this assignment, base_compile gets emptied.
fbsd_hideous_sh_bug=$base_compile
- if test "$pic_mode" != no; then
+ if test no != "$pic_mode"; then
command="$base_compile $qsrcfile $pic_flag"
else
# Don't build PIC code
@@ -2201,7 +3517,7 @@
func_show_eval_locale "$command" \
'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
- if test "$need_locks" = warn &&
+ if test warn = "$need_locks" &&
test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
$ECHO "\
*** ERROR, $lockfile contains:
@@ -2212,7 +3528,7 @@
This indicates that another process is trying to use the same
temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
+your compiler does not support '-c' and '-o' together. If you
repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."
@@ -2228,20 +3544,20 @@
fi
# Allow error messages only from the first compilation.
- if test "$suppress_opt" = yes; then
+ if test yes = "$suppress_opt"; then
suppress_output=' >/dev/null 2>&1'
fi
fi
# Only build a position-dependent object if we build old libraries.
- if test "$build_old_libs" = yes; then
- if test "$pic_mode" != yes; then
+ if test yes = "$build_old_libs"; then
+ if test yes != "$pic_mode"; then
# Don't build PIC code
command="$base_compile $qsrcfile$pie_flag"
else
command="$base_compile $qsrcfile $pic_flag"
fi
- if test "$compiler_c_o" = yes; then
+ if test yes = "$compiler_c_o"; then
func_append command " -o $obj"
fi
@@ -2250,7 +3566,7 @@
func_show_eval_locale "$command" \
'$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
- if test "$need_locks" = warn &&
+ if test warn = "$need_locks" &&
test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
$ECHO "\
*** ERROR, $lockfile contains:
@@ -2261,7 +3577,7 @@
This indicates that another process is trying to use the same
temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together. If you
+your compiler does not support '-c' and '-o' together. If you
repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."
@@ -2281,7 +3597,7 @@
func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
# Unlock the critical section if it was locked
- if test "$need_locks" != no; then
+ if test no != "$need_locks"; then
removelist=$lockfile
$RM "$lockfile"
fi
@@ -2291,7 +3607,7 @@
}
$opt_help || {
- test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
+ test compile = "$opt_mode" && func_mode_compile ${1+"$@"}
}
func_mode_help ()
@@ -2311,7 +3627,7 @@
Remove files from the build directory.
RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed
to RM.
If FILE is a libtool library, object or program, all the files associated
@@ -2330,16 +3646,16 @@
-no-suppress do not suppress compiler output for multiple passes
-prefer-pic try to build PIC objects only
-prefer-non-pic try to build non-PIC objects only
- -shared do not build a \`.o' file suitable for static linking
- -static only build a \`.o' file suitable for static linking
+ -shared do not build a '.o' file suitable for static linking
+ -static only build a '.o' file suitable for static linking
-Wc,FLAG pass FLAG directly to the compiler
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+COMPILE-COMMAND is a command to be used in creating a 'standard' object file
from the given SOURCEFILE.
The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
+SOURCEFILE, then substituting the C source code suffix '.c' with the
+library object suffix, '.lo'."
;;
execute)
@@ -2352,7 +3668,7 @@
-dlopen FILE add the directory containing FILE to the library path
-This mode sets the library path environment variable according to \`-dlopen'
+This mode sets the library path environment variable according to '-dlopen'
flags.
If any of the ARGS are libtool executable wrappers, then they are translated
@@ -2371,7 +3687,7 @@
Each LIBDIR is a directory that contains libtool libraries.
The commands that this mode executes may require superuser privileges. Use
-the \`--dry-run' option if you just want to see what would be executed."
+the '--dry-run' option if you just want to see what would be executed."
;;
install)
@@ -2381,7 +3697,7 @@
Install executables or libraries.
INSTALL-COMMAND is the installation command. The first component should be
-either the \`install' or \`cp' program.
+either the 'install' or 'cp' program.
The following components of INSTALL-COMMAND are treated specially:
@@ -2407,7 +3723,7 @@
-avoid-version do not add a version suffix if possible
-bindir BINDIR specify path to binaries directory (for systems where
libraries must be found in the PATH setting at runtime)
- -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
+ -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime
-dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
-export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
-export-symbols SYMFILE
@@ -2421,7 +3737,8 @@
-no-install link a not-installable executable
-no-undefined declare that a library does not refer to external symbols
-o OUTPUT-FILE create OUTPUT-FILE from the specified objects
- -objectlist FILE Use a list of object files found in FILE to specify objects
+ -objectlist FILE use a list of object files found in FILE to specify objects
+ -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes)
-precious-files-regex REGEX
don't remove output files matching REGEX
-release RELEASE specify package release information
@@ -2441,20 +3758,20 @@
-Xlinker FLAG pass linker-specific FLAG directly to the linker
-XCClinker FLAG pass link-specific FLAG to the compiler driver (CC)
-All other options (arguments beginning with \`-') are ignored.
+All other options (arguments beginning with '-') are ignored.
-Every other argument is treated as a filename. Files ending in \`.la' are
+Every other argument is treated as a filename. Files ending in '.la' are
treated as uninstalled libtool libraries, other files are standard or library
object files.
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
+If the OUTPUT-FILE ends in '.la', then a libtool library is created,
+only library objects ('.lo' files) may be specified, and '-rpath' is
required, except when creating a convenience library.
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
+If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created
+using 'ar' and 'ranlib', or on Windows using 'lib'.
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file
is created, otherwise an executable program is created."
;;
@@ -2465,7 +3782,7 @@
Remove libraries from an installation directory.
RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
+(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed
to RM.
If FILE is a libtool library, all the files associated with it are deleted.
@@ -2473,17 +3790,17 @@
;;
*)
- func_fatal_help "invalid operation mode \`$opt_mode'"
+ func_fatal_help "invalid operation mode '$opt_mode'"
;;
esac
echo
- $ECHO "Try \`$progname --help' for more information about other modes."
+ $ECHO "Try '$progname --help' for more information about other modes."
}
# Now that we've collected a possible --mode arg, show help if necessary
if $opt_help; then
- if test "$opt_help" = :; then
+ if test : = "$opt_help"; then
func_mode_help
else
{
@@ -2491,7 +3808,7 @@
for opt_mode in compile link execute install finish uninstall clean; do
func_mode_help
done
- } | sed -n '1p; 2,$s/^Usage:/ or: /p'
+ } | $SED -n '1p; 2,$s/^Usage:/ or: /p'
{
func_help noexit
for opt_mode in compile link execute install finish uninstall clean; do
@@ -2499,7 +3816,7 @@
func_mode_help
done
} |
- sed '1d
+ $SED '1d
/^When reporting/,/^Report/{
H
d
@@ -2516,16 +3833,17 @@
# func_mode_execute arg...
func_mode_execute ()
{
- $opt_debug
+ $debug_cmd
+
# The first argument is the command name.
- cmd="$nonopt"
+ cmd=$nonopt
test -z "$cmd" && \
func_fatal_help "you must specify a COMMAND"
# Handle -dlopen flags immediately.
for file in $opt_dlopen; do
test -f "$file" \
- || func_fatal_help "\`$file' is not a file"
+ || func_fatal_help "'$file' is not a file"
dir=
case $file in
@@ -2535,7 +3853,7 @@
# Check to see that this really is a libtool archive.
func_lalib_unsafe_p "$file" \
- || func_fatal_help "\`$lib' is not a valid libtool archive"
+ || func_fatal_help "'$lib' is not a valid libtool archive"
# Read the libtool library.
dlname=
@@ -2546,18 +3864,18 @@
if test -z "$dlname"; then
# Warn if it was a shared library.
test -n "$library_names" && \
- func_warning "\`$file' was not linked with \`-export-dynamic'"
+ func_warning "'$file' was not linked with '-export-dynamic'"
continue
fi
func_dirname "$file" "" "."
- dir="$func_dirname_result"
+ dir=$func_dirname_result
if test -f "$dir/$objdir/$dlname"; then
func_append dir "/$objdir"
else
if test ! -f "$dir/$dlname"; then
- func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
+ func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'"
fi
fi
;;
@@ -2565,18 +3883,18 @@
*.lo)
# Just add the directory containing the .lo file.
func_dirname "$file" "" "."
- dir="$func_dirname_result"
+ dir=$func_dirname_result
;;
*)
- func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
+ func_warning "'-dlopen' is ignored for non-libtool libraries and objects"
continue
;;
esac
# Get the absolute pathname.
absdir=`cd "$dir" && pwd`
- test -n "$absdir" && dir="$absdir"
+ test -n "$absdir" && dir=$absdir
# Now add the directory to shlibpath_var.
if eval "test -z \"\$$shlibpath_var\""; then
@@ -2588,7 +3906,7 @@
# This variable tells wrapper scripts just to set shlibpath_var
# rather than running their programs.
- libtool_execute_magic="$magic"
+ libtool_execute_magic=$magic
# Check if any of the arguments is a wrapper script.
args=
@@ -2601,12 +3919,12 @@
if func_ltwrapper_script_p "$file"; then
func_source "$file"
# Transform arg to wrapped name.
- file="$progdir/$program"
+ file=$progdir/$program
elif func_ltwrapper_executable_p "$file"; then
func_ltwrapper_scriptname "$file"
func_source "$func_ltwrapper_scriptname_result"
# Transform arg to wrapped name.
- file="$progdir/$program"
+ file=$progdir/$program
fi
;;
esac
@@ -2614,7 +3932,15 @@
func_append_quoted args "$file"
done
- if test "X$opt_dry_run" = Xfalse; then
+ if $opt_dry_run; then
+ # Display what would be done.
+ if test -n "$shlibpath_var"; then
+ eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
+ echo "export $shlibpath_var"
+ fi
+ $ECHO "$cmd$args"
+ exit $EXIT_SUCCESS
+ else
if test -n "$shlibpath_var"; then
# Export the shlibpath_var.
eval "export $shlibpath_var"
@@ -2631,25 +3957,18 @@
done
# Now prepare to actually exec the command.
- exec_cmd="\$cmd$args"
- else
- # Display what would be done.
- if test -n "$shlibpath_var"; then
- eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
- echo "export $shlibpath_var"
- fi
- $ECHO "$cmd$args"
- exit $EXIT_SUCCESS
+ exec_cmd=\$cmd$args
fi
}
-test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
+test execute = "$opt_mode" && func_mode_execute ${1+"$@"}
# func_mode_finish arg...
func_mode_finish ()
{
- $opt_debug
+ $debug_cmd
+
libs=
libdirs=
admincmds=
@@ -2663,11 +3982,11 @@
if func_lalib_unsafe_p "$opt"; then
func_append libs " $opt"
else
- func_warning "\`$opt' is not a valid libtool archive"
+ func_warning "'$opt' is not a valid libtool archive"
fi
else
- func_fatal_error "invalid argument \`$opt'"
+ func_fatal_error "invalid argument '$opt'"
fi
done
@@ -2682,12 +4001,12 @@
# Remove sysroot references
if $opt_dry_run; then
for lib in $libs; do
- echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
+ echo "removing references to $lt_sysroot and '=' prefixes from $lib"
done
else
tmpdir=`func_mktempdir`
for lib in $libs; do
- sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
+ $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
> $tmpdir/tmp-la
mv -f $tmpdir/tmp-la $lib
done
@@ -2712,7 +4031,7 @@
fi
# Exit here if they wanted silent mode.
- $opt_silent && exit $EXIT_SUCCESS
+ $opt_quiet && exit $EXIT_SUCCESS
if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
echo "----------------------------------------------------------------------"
@@ -2723,27 +4042,27 @@
echo
echo "If you ever happen to want to link against installed libraries"
echo "in a given directory, LIBDIR, you must either use libtool, and"
- echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+ echo "specify the full pathname of the library, or use the '-LLIBDIR'"
echo "flag during linking and do at least one of the following:"
if test -n "$shlibpath_var"; then
- echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
+ echo " - add LIBDIR to the '$shlibpath_var' environment variable"
echo " during execution"
fi
if test -n "$runpath_var"; then
- echo " - add LIBDIR to the \`$runpath_var' environment variable"
+ echo " - add LIBDIR to the '$runpath_var' environment variable"
echo " during linking"
fi
if test -n "$hardcode_libdir_flag_spec"; then
libdir=LIBDIR
eval flag=\"$hardcode_libdir_flag_spec\"
- $ECHO " - use the \`$flag' linker flag"
+ $ECHO " - use the '$flag' linker flag"
fi
if test -n "$admincmds"; then
$ECHO " - have your system administrator run these commands:$admincmds"
fi
if test -f /etc/ld.so.conf; then
- echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+ echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'"
fi
echo
@@ -2762,18 +4081,20 @@
exit $EXIT_SUCCESS
}
-test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
+test finish = "$opt_mode" && func_mode_finish ${1+"$@"}
# func_mode_install arg...
func_mode_install ()
{
- $opt_debug
+ $debug_cmd
+
# There may be an optional sh(1) argument at the beginning of
# install_prog (especially on Windows NT).
- if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+ if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" ||
# Allow the use of GNU shtool's install command.
- case $nonopt in *shtool*) :;; *) false;; esac; then
+ case $nonopt in *shtool*) :;; *) false;; esac
+ then
# Aesthetically quote it.
func_quote_for_eval "$nonopt"
install_prog="$func_quote_for_eval_result "
@@ -2800,7 +4121,7 @@
opts=
prev=
install_type=
- isdir=no
+ isdir=false
stripme=
no_mode=:
for arg
@@ -2813,7 +4134,7 @@
fi
case $arg in
- -d) isdir=yes ;;
+ -d) isdir=: ;;
-f)
if $install_cp; then :; else
prev=$arg
@@ -2831,7 +4152,7 @@
*)
# If the previous option needed an argument, then skip it.
if test -n "$prev"; then
- if test "x$prev" = x-m && test -n "$install_override_mode"; then
+ if test X-m = "X$prev" && test -n "$install_override_mode"; then
arg2=$install_override_mode
no_mode=false
fi
@@ -2856,7 +4177,7 @@
func_fatal_help "you must specify an install program"
test -n "$prev" && \
- func_fatal_help "the \`$prev' option requires an argument"
+ func_fatal_help "the '$prev' option requires an argument"
if test -n "$install_override_mode" && $no_mode; then
if $install_cp; then :; else
@@ -2878,19 +4199,19 @@
dest=$func_stripname_result
# Check to see that the destination is a directory.
- test -d "$dest" && isdir=yes
- if test "$isdir" = yes; then
- destdir="$dest"
+ test -d "$dest" && isdir=:
+ if $isdir; then
+ destdir=$dest
destname=
else
func_dirname_and_basename "$dest" "" "."
- destdir="$func_dirname_result"
- destname="$func_basename_result"
+ destdir=$func_dirname_result
+ destname=$func_basename_result
# Not a directory, so check to see that there is only one file specified.
set dummy $files; shift
test "$#" -gt 1 && \
- func_fatal_help "\`$dest' is not a directory"
+ func_fatal_help "'$dest' is not a directory"
fi
case $destdir in
[\\/]* | [A-Za-z]:[\\/]*) ;;
@@ -2899,7 +4220,7 @@
case $file in
*.lo) ;;
*)
- func_fatal_help "\`$destdir' must be an absolute directory name"
+ func_fatal_help "'$destdir' must be an absolute directory name"
;;
esac
done
@@ -2908,7 +4229,7 @@
# This variable tells wrapper scripts just to set variables rather
# than running their programs.
- libtool_install_magic="$magic"
+ libtool_install_magic=$magic
staticlibs=
future_libdirs=
@@ -2928,7 +4249,7 @@
# Check to see that this really is a libtool archive.
func_lalib_unsafe_p "$file" \
- || func_fatal_help "\`$file' is not a valid libtool archive"
+ || func_fatal_help "'$file' is not a valid libtool archive"
library_names=
old_library=
@@ -2950,7 +4271,7 @@
fi
func_dirname "$file" "/" ""
- dir="$func_dirname_result"
+ dir=$func_dirname_result
func_append dir "$objdir"
if test -n "$relink_command"; then
@@ -2964,7 +4285,7 @@
# are installed into $libdir/../bin (currently, that works fine)
# but it's something to keep an eye on.
test "$inst_prefix_dir" = "$destdir" && \
- func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
+ func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir"
if test -n "$inst_prefix_dir"; then
# Stick the inst_prefix_dir data into the link command.
@@ -2973,29 +4294,36 @@
relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
fi
- func_warning "relinking \`$file'"
+ func_warning "relinking '$file'"
func_show_eval "$relink_command" \
- 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
+ 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"'
fi
# See the names of the shared library.
set dummy $library_names; shift
if test -n "$1"; then
- realname="$1"
+ realname=$1
shift
- srcname="$realname"
- test -n "$relink_command" && srcname="$realname"T
+ srcname=$realname
+ test -n "$relink_command" && srcname=${realname}T
# Install the shared library and build the symlinks.
func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
'exit $?'
- tstripme="$stripme"
+ tstripme=$stripme
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
case $realname in
*.dll.a)
- tstripme=""
+ tstripme=
+ ;;
+ esac
+ ;;
+ os2*)
+ case $realname in
+ *_dll.a)
+ tstripme=
;;
esac
;;
@@ -3006,7 +4334,7 @@
if test "$#" -gt 0; then
# Delete the old symlinks, and create new ones.
- # Try `ln -sf' first, because the `ln' binary might depend on
+ # Try 'ln -sf' first, because the 'ln' binary might depend on
# the symlink we replace! Solaris /bin/ln does not understand -f,
# so we also need to try rm && ln -s.
for linkname
@@ -3017,14 +4345,14 @@
fi
# Do each command in the postinstall commands.
- lib="$destdir/$realname"
+ lib=$destdir/$realname
func_execute_cmds "$postinstall_cmds" 'exit $?'
fi
# Install the pseudo-library for information purposes.
func_basename "$file"
- name="$func_basename_result"
- instname="$dir/$name"i
+ name=$func_basename_result
+ instname=$dir/${name}i
func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
# Maybe install the static library, too.
@@ -3036,11 +4364,11 @@
# Figure out destination file name, if it wasn't already specified.
if test -n "$destname"; then
- destfile="$destdir/$destname"
+ destfile=$destdir/$destname
else
func_basename "$file"
- destfile="$func_basename_result"
- destfile="$destdir/$destfile"
+ destfile=$func_basename_result
+ destfile=$destdir/$destfile
fi
# Deduce the name of the destination old-style object file.
@@ -3050,11 +4378,11 @@
staticdest=$func_lo2o_result
;;
*.$objext)
- staticdest="$destfile"
+ staticdest=$destfile
destfile=
;;
*)
- func_fatal_help "cannot copy a libtool object to \`$destfile'"
+ func_fatal_help "cannot copy a libtool object to '$destfile'"
;;
esac
@@ -3063,7 +4391,7 @@
func_show_eval "$install_prog $file $destfile" 'exit $?'
# Install the old object if enabled.
- if test "$build_old_libs" = yes; then
+ if test yes = "$build_old_libs"; then
# Deduce the name of the old-style object file.
func_lo2o "$file"
staticobj=$func_lo2o_result
@@ -3075,23 +4403,23 @@
*)
# Figure out destination file name, if it wasn't already specified.
if test -n "$destname"; then
- destfile="$destdir/$destname"
+ destfile=$destdir/$destname
else
func_basename "$file"
- destfile="$func_basename_result"
- destfile="$destdir/$destfile"
+ destfile=$func_basename_result
+ destfile=$destdir/$destfile
fi
# If the file is missing, and there is a .exe on the end, strip it
# because it is most likely a libtool script we actually want to
# install
- stripped_ext=""
+ stripped_ext=
case $file in
*.exe)
if test ! -f "$file"; then
func_stripname '' '.exe' "$file"
file=$func_stripname_result
- stripped_ext=".exe"
+ stripped_ext=.exe
fi
;;
esac
@@ -3119,19 +4447,19 @@
# Check the variables that should have been set.
test -z "$generated_by_libtool_version" && \
- func_fatal_error "invalid libtool wrapper script \`$wrapper'"
+ func_fatal_error "invalid libtool wrapper script '$wrapper'"
- finalize=yes
+ finalize=:
for lib in $notinst_deplibs; do
# Check to see that each library is installed.
libdir=
if test -f "$lib"; then
func_source "$lib"
fi
- libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test
+ libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'`
if test -n "$libdir" && test ! -f "$libfile"; then
- func_warning "\`$lib' has not been installed in \`$libdir'"
- finalize=no
+ func_warning "'$lib' has not been installed in '$libdir'"
+ finalize=false
fi
done
@@ -3139,29 +4467,29 @@
func_source "$wrapper"
outputname=
- if test "$fast_install" = no && test -n "$relink_command"; then
+ if test no = "$fast_install" && test -n "$relink_command"; then
$opt_dry_run || {
- if test "$finalize" = yes; then
+ if $finalize; then
tmpdir=`func_mktempdir`
func_basename "$file$stripped_ext"
- file="$func_basename_result"
- outputname="$tmpdir/$file"
+ file=$func_basename_result
+ outputname=$tmpdir/$file
# Replace the output file specification.
relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
- $opt_silent || {
+ $opt_quiet || {
func_quote_for_expand "$relink_command"
eval "func_echo $func_quote_for_expand_result"
}
if eval "$relink_command"; then :
else
- func_error "error: relink \`$file' with the above command before installing it"
+ func_error "error: relink '$file' with the above command before installing it"
$opt_dry_run || ${RM}r "$tmpdir"
continue
fi
- file="$outputname"
+ file=$outputname
else
- func_warning "cannot relink \`$file'"
+ func_warning "cannot relink '$file'"
fi
}
else
@@ -3198,10 +4526,10 @@
for file in $staticlibs; do
func_basename "$file"
- name="$func_basename_result"
+ name=$func_basename_result
# Set up the ranlib parameters.
- oldlib="$destdir/$name"
+ oldlib=$destdir/$name
func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
tool_oldlib=$func_to_tool_file_result
@@ -3216,18 +4544,18 @@
done
test -n "$future_libdirs" && \
- func_warning "remember to run \`$progname --finish$future_libdirs'"
+ func_warning "remember to run '$progname --finish$future_libdirs'"
if test -n "$current_libdirs"; then
# Maybe just do a dry run.
$opt_dry_run && current_libdirs=" -n$current_libdirs"
- exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+ exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs'
else
exit $EXIT_SUCCESS
fi
}
-test "$opt_mode" = install && func_mode_install ${1+"$@"}
+test install = "$opt_mode" && func_mode_install ${1+"$@"}
# func_generate_dlsyms outputname originator pic_p
@@ -3235,16 +4563,17 @@
# a dlpreopen symbol table.
func_generate_dlsyms ()
{
- $opt_debug
- my_outputname="$1"
- my_originator="$2"
- my_pic_p="${3-no}"
- my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
+ $debug_cmd
+
+ my_outputname=$1
+ my_originator=$2
+ my_pic_p=${3-false}
+ my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'`
my_dlsyms=
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+ if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
if test -n "$NM" && test -n "$global_symbol_pipe"; then
- my_dlsyms="${my_outputname}S.c"
+ my_dlsyms=${my_outputname}S.c
else
func_error "not configured to extract global symbols from dlpreopened files"
fi
@@ -3255,7 +4584,7 @@
"") ;;
*.c)
# Discover the nlist of each of the dlfiles.
- nlist="$output_objdir/${my_outputname}.nm"
+ nlist=$output_objdir/$my_outputname.nm
func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
@@ -3263,34 +4592,36 @@
func_verbose "creating $output_objdir/$my_dlsyms"
$opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
-/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
-/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
+/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */
+/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */
#ifdef __cplusplus
extern \"C\" {
#endif
-#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
+#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
#endif
/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
relocations are performed -- see ld's documentation on pseudo-relocs. */
# define LT_DLSYM_CONST
-#elif defined(__osf__)
+#elif defined __osf__
/* This system does not cope well with relocations in const data. */
# define LT_DLSYM_CONST
#else
# define LT_DLSYM_CONST const
#endif
+#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
+
/* External symbol declarations for the compiler. */\
"
- if test "$dlself" = yes; then
- func_verbose "generating symbol list for \`$output'"
+ if test yes = "$dlself"; then
+ func_verbose "generating symbol list for '$output'"
$opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
@@ -3298,7 +4629,7 @@
progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
for progfile in $progfiles; do
func_to_tool_file "$progfile" func_convert_file_msys_to_w32
- func_verbose "extracting global C symbols from \`$func_to_tool_file_result'"
+ func_verbose "extracting global C symbols from '$func_to_tool_file_result'"
$opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
done
@@ -3318,10 +4649,10 @@
# Prepare the list of exported symbols
if test -z "$export_symbols"; then
- export_symbols="$output_objdir/$outputname.exp"
+ export_symbols=$output_objdir/$outputname.exp
$opt_dry_run || {
$RM $export_symbols
- eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+ eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
case $host in
*cygwin* | *mingw* | *cegcc* )
eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
@@ -3331,7 +4662,7 @@
}
else
$opt_dry_run || {
- eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+ eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
eval '$MV "$nlist"T "$nlist"'
case $host in
@@ -3345,22 +4676,22 @@
fi
for dlprefile in $dlprefiles; do
- func_verbose "extracting global C symbols from \`$dlprefile'"
+ func_verbose "extracting global C symbols from '$dlprefile'"
func_basename "$dlprefile"
- name="$func_basename_result"
+ name=$func_basename_result
case $host in
*cygwin* | *mingw* | *cegcc* )
# if an import library, we need to obtain dlname
if func_win32_import_lib_p "$dlprefile"; then
func_tr_sh "$dlprefile"
eval "curr_lafile=\$libfile_$func_tr_sh_result"
- dlprefile_dlbasename=""
+ dlprefile_dlbasename=
if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
# Use subshell, to avoid clobbering current variable values
dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
- if test -n "$dlprefile_dlname" ; then
+ if test -n "$dlprefile_dlname"; then
func_basename "$dlprefile_dlname"
- dlprefile_dlbasename="$func_basename_result"
+ dlprefile_dlbasename=$func_basename_result
else
# no lafile. user explicitly requested -dlpreopen <import library>.
$sharedlib_from_linklib_cmd "$dlprefile"
@@ -3368,7 +4699,7 @@
fi
fi
$opt_dry_run || {
- if test -n "$dlprefile_dlbasename" ; then
+ if test -n "$dlprefile_dlbasename"; then
eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
else
func_warning "Could not compute DLL name from $name"
@@ -3424,6 +4755,11 @@
echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
fi
+ func_show_eval '$RM "${nlist}I"'
+ if test -n "$global_symbol_to_import"; then
+ eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I'
+ fi
+
echo >> "$output_objdir/$my_dlsyms" "\
/* The mapping between symbol names and symbols. */
@@ -3432,11 +4768,30 @@
void *address;
} lt_dlsymlist;
extern LT_DLSYM_CONST lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[];
+lt_${my_prefix}_LTX_preloaded_symbols[];\
+"
+
+ if test -s "$nlist"I; then
+ echo >> "$output_objdir/$my_dlsyms" "\
+static void lt_syminit(void)
+{
+ LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols;
+ for (; symbol->name; ++symbol)
+ {"
+ $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms"
+ echo >> "$output_objdir/$my_dlsyms" "\
+ }
+}"
+ fi
+ echo >> "$output_objdir/$my_dlsyms" "\
LT_DLSYM_CONST lt_dlsymlist
lt_${my_prefix}_LTX_preloaded_symbols[] =
-{\
- { \"$my_originator\", (void *) 0 },"
+{ {\"$my_originator\", (void *) 0},"
+
+ if test -s "$nlist"I; then
+ echo >> "$output_objdir/$my_dlsyms" "\
+ {\"@INIT@\", (void *) <_syminit},"
+ fi
case $need_lib_prefix in
no)
@@ -3478,9 +4833,7 @@
*-*-hpux*)
pic_flag_for_symtable=" $pic_flag" ;;
*)
- if test "X$my_pic_p" != Xno; then
- pic_flag_for_symtable=" $pic_flag"
- fi
+ $my_pic_p && pic_flag_for_symtable=" $pic_flag"
;;
esac
;;
@@ -3497,10 +4850,10 @@
func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
# Clean up the generated files.
- func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
+ func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"'
# Transform the symbol file into the correct name.
- symfileobj="$output_objdir/${my_outputname}S.$objext"
+ symfileobj=$output_objdir/${my_outputname}S.$objext
case $host in
*cygwin* | *mingw* | *cegcc* )
if test -f "$output_objdir/$my_outputname.def"; then
@@ -3518,7 +4871,7 @@
esac
;;
*)
- func_fatal_error "unknown suffix for \`$my_dlsyms'"
+ func_fatal_error "unknown suffix for '$my_dlsyms'"
;;
esac
else
@@ -3532,6 +4885,32 @@
fi
}
+# func_cygming_gnu_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is a GNU/binutils-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_gnu_implib_p ()
+{
+ $debug_cmd
+
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
+ test -n "$func_cygming_gnu_implib_tmp"
+}
+
+# func_cygming_ms_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is an MS-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_ms_implib_p ()
+{
+ $debug_cmd
+
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
+ test -n "$func_cygming_ms_implib_tmp"
+}
+
# func_win32_libid arg
# return the library type of file 'arg'
#
@@ -3541,8 +4920,9 @@
# Despite the name, also deal with 64 bit binaries.
func_win32_libid ()
{
- $opt_debug
- win32_libid_type="unknown"
+ $debug_cmd
+
+ win32_libid_type=unknown
win32_fileres=`file -L $1 2>/dev/null`
case $win32_fileres in
*ar\ archive\ import\ library*) # definitely import
@@ -3552,16 +4932,29 @@
# Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
$EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
- func_to_tool_file "$1" func_convert_file_msys_to_w32
- win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
- $SED -n -e '
+ case $nm_interface in
+ "MS dumpbin")
+ if func_cygming_ms_implib_p "$1" ||
+ func_cygming_gnu_implib_p "$1"
+ then
+ win32_nmres=import
+ else
+ win32_nmres=
+ fi
+ ;;
+ *)
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
+ $SED -n -e '
1,100{
/ I /{
- s,.*,import,
+ s|.*|import|
p
q
}
}'`
+ ;;
+ esac
case $win32_nmres in
import*) win32_libid_type="x86 archive import";;
*) win32_libid_type="x86 archive static";;
@@ -3593,7 +4986,8 @@
# $sharedlib_from_linklib_result
func_cygming_dll_for_implib ()
{
- $opt_debug
+ $debug_cmd
+
sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
}
@@ -3610,7 +5004,8 @@
# specified import library.
func_cygming_dll_for_implib_fallback_core ()
{
- $opt_debug
+ $debug_cmd
+
match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
$OBJDUMP -s --section "$1" "$2" 2>/dev/null |
$SED '/^Contents of section '"$match_literal"':/{
@@ -3646,8 +5041,8 @@
/./p' |
# we now have a list, one entry per line, of the stringified
# contents of the appropriate section of all members of the
- # archive which possess that section. Heuristic: eliminate
- # all those which have a first or second character that is
+ # archive that possess that section. Heuristic: eliminate
+ # all those that have a first or second character that is
# a '.' (that is, objdump's representation of an unprintable
# character.) This should work for all archives with less than
# 0x302f exports -- but will fail for DLLs whose name actually
@@ -3658,30 +5053,6 @@
$SED -e '/^\./d;/^.\./d;q'
}
-# func_cygming_gnu_implib_p ARG
-# This predicate returns with zero status (TRUE) if
-# ARG is a GNU/binutils-style import library. Returns
-# with nonzero status (FALSE) otherwise.
-func_cygming_gnu_implib_p ()
-{
- $opt_debug
- func_to_tool_file "$1" func_convert_file_msys_to_w32
- func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
- test -n "$func_cygming_gnu_implib_tmp"
-}
-
-# func_cygming_ms_implib_p ARG
-# This predicate returns with zero status (TRUE) if
-# ARG is an MS-style import library. Returns
-# with nonzero status (FALSE) otherwise.
-func_cygming_ms_implib_p ()
-{
- $opt_debug
- func_to_tool_file "$1" func_convert_file_msys_to_w32
- func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
- test -n "$func_cygming_ms_implib_tmp"
-}
-
# func_cygming_dll_for_implib_fallback ARG
# Platform-specific function to extract the
# name of the DLL associated with the specified
@@ -3695,16 +5066,17 @@
# $sharedlib_from_linklib_result
func_cygming_dll_for_implib_fallback ()
{
- $opt_debug
- if func_cygming_gnu_implib_p "$1" ; then
+ $debug_cmd
+
+ if func_cygming_gnu_implib_p "$1"; then
# binutils import library
sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
- elif func_cygming_ms_implib_p "$1" ; then
+ elif func_cygming_ms_implib_p "$1"; then
# ms-generated import library
sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
else
# unknown
- sharedlib_from_linklib_result=""
+ sharedlib_from_linklib_result=
fi
}
@@ -3712,10 +5084,11 @@
# func_extract_an_archive dir oldlib
func_extract_an_archive ()
{
- $opt_debug
- f_ex_an_ar_dir="$1"; shift
- f_ex_an_ar_oldlib="$1"
- if test "$lock_old_archive_extraction" = yes; then
+ $debug_cmd
+
+ f_ex_an_ar_dir=$1; shift
+ f_ex_an_ar_oldlib=$1
+ if test yes = "$lock_old_archive_extraction"; then
lockfile=$f_ex_an_ar_oldlib.lock
until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
func_echo "Waiting for $lockfile to be removed"
@@ -3724,7 +5097,7 @@
fi
func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
'stat=$?; rm -f "$lockfile"; exit $stat'
- if test "$lock_old_archive_extraction" = yes; then
+ if test yes = "$lock_old_archive_extraction"; then
$opt_dry_run || rm -f "$lockfile"
fi
if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
@@ -3738,22 +5111,23 @@
# func_extract_archives gentop oldlib ...
func_extract_archives ()
{
- $opt_debug
- my_gentop="$1"; shift
+ $debug_cmd
+
+ my_gentop=$1; shift
my_oldlibs=${1+"$@"}
- my_oldobjs=""
- my_xlib=""
- my_xabs=""
- my_xdir=""
+ my_oldobjs=
+ my_xlib=
+ my_xabs=
+ my_xdir=
for my_xlib in $my_oldlibs; do
# Extract the objects.
case $my_xlib in
- [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+ [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;;
*) my_xabs=`pwd`"/$my_xlib" ;;
esac
func_basename "$my_xlib"
- my_xlib="$func_basename_result"
+ my_xlib=$func_basename_result
my_xlib_u=$my_xlib
while :; do
case " $extracted_archives " in
@@ -3765,7 +5139,7 @@
esac
done
extracted_archives="$extracted_archives $my_xlib_u"
- my_xdir="$my_gentop/$my_xlib_u"
+ my_xdir=$my_gentop/$my_xlib_u
func_mkdir_p "$my_xdir"
@@ -3778,22 +5152,23 @@
cd $my_xdir || exit $?
darwin_archive=$my_xabs
darwin_curdir=`pwd`
- darwin_base_archive=`basename "$darwin_archive"`
+ func_basename "$darwin_archive"
+ darwin_base_archive=$func_basename_result
darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
if test -n "$darwin_arches"; then
darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
darwin_arch=
func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
- for darwin_arch in $darwin_arches ; do
- func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
- cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
- func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+ for darwin_arch in $darwin_arches; do
+ func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch"
+ $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive"
+ cd "unfat-$$/$darwin_base_archive-$darwin_arch"
+ func_extract_an_archive "`pwd`" "$darwin_base_archive"
cd "$darwin_curdir"
- $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+ $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive"
done # $darwin_arches
## Okay now we've a bunch of thin objects, gotta fatten them up :)
- darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
+ darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u`
darwin_file=
darwin_files=
for darwin_file in $darwin_filelist; do
@@ -3815,7 +5190,7 @@
my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
done
- func_extract_archives_result="$my_oldobjs"
+ func_extract_archives_result=$my_oldobjs
}
@@ -3830,7 +5205,7 @@
#
# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
# variable will take. If 'yes', then the emitted script
-# will assume that the directory in which it is stored is
+# will assume that the directory where it is stored is
# the $objdir directory. This is a cygwin/mingw-specific
# behavior.
func_emit_wrapper ()
@@ -3841,7 +5216,7 @@
#! $SHELL
# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
#
# The $output program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
@@ -3898,9 +5273,9 @@
# Very basic option parsing. These options are (a) specific to
# the libtool wrapper, (b) are identical between the wrapper
-# /script/ and the wrapper /executable/ which is used only on
+# /script/ and the wrapper /executable/ that is used only on
# windows platforms, and (c) all begin with the string "--lt-"
-# (application programs are unlikely to have options which match
+# (application programs are unlikely to have options that match
# this pattern).
#
# There are only two supported options: --lt-debug and
@@ -3933,7 +5308,7 @@
# Print the debug banner immediately:
if test -n \"\$lt_option_debug\"; then
- echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
+ echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2
fi
}
@@ -3944,7 +5319,7 @@
lt_dump_args_N=1;
for lt_arg
do
- \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
+ \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\"
lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
done
}
@@ -3958,7 +5333,7 @@
*-*-mingw | *-*-os2* | *-cegcc*)
$ECHO "\
if test -n \"\$lt_option_debug\"; then
- \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
+ \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2
func_lt_dump_args \${1+\"\$@\"} 1>&2
fi
exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
@@ -3968,7 +5343,7 @@
*)
$ECHO "\
if test -n \"\$lt_option_debug\"; then
- \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
+ \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2
func_lt_dump_args \${1+\"\$@\"} 1>&2
fi
exec \"\$progdir/\$program\" \${1+\"\$@\"}
@@ -4043,13 +5418,13 @@
test -n \"\$absdir\" && thisdir=\"\$absdir\"
"
- if test "$fast_install" = yes; then
+ if test yes = "$fast_install"; then
$ECHO "\
program=lt-'$outputname'$exeext
progdir=\"\$thisdir/$objdir\"
if test ! -f \"\$progdir/\$program\" ||
- { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+ { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\
test \"X\$file\" != \"X\$progdir/\$program\"; }; then
file=\"\$\$-\$program\"
@@ -4066,7 +5441,7 @@
if test -n \"\$relink_command\"; then
if relink_command_output=\`eval \$relink_command 2>&1\`; then :
else
- $ECHO \"\$relink_command_output\" >&2
+ \$ECHO \"\$relink_command_output\" >&2
$RM \"\$progdir/\$file\"
exit 1
fi
@@ -4101,7 +5476,7 @@
fi
# Export our shlibpath_var if we have one.
- if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
$ECHO "\
# Add our own library path to $shlibpath_var
$shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
@@ -4121,7 +5496,7 @@
fi
else
# The program doesn't exist.
- \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+ \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2
\$ECHO \"This script is just a wrapper for \$program.\" 1>&2
\$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
exit 1
@@ -4140,7 +5515,7 @@
cat <<EOF
/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
- Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+ Generated by $PROGRAM (GNU $PACKAGE) $VERSION
The $output program cannot be directly executed until all the libtool
libraries that it depends on are installed.
@@ -4175,47 +5550,45 @@
#include <fcntl.h>
#include <sys/stat.h>
+#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
+
/* declarations of non-ANSI functions */
-#if defined(__MINGW32__)
+#if defined __MINGW32__
# ifdef __STRICT_ANSI__
int _putenv (const char *);
# endif
-#elif defined(__CYGWIN__)
+#elif defined __CYGWIN__
# ifdef __STRICT_ANSI__
char *realpath (const char *, char *);
int putenv (char *);
int setenv (const char *, const char *, int);
# endif
-/* #elif defined (other platforms) ... */
+/* #elif defined other_platform || defined ... */
#endif
/* portability defines, excluding path handling macros */
-#if defined(_MSC_VER)
+#if defined _MSC_VER
# define setmode _setmode
# define stat _stat
# define chmod _chmod
# define getcwd _getcwd
# define putenv _putenv
# define S_IXUSR _S_IEXEC
-# ifndef _INTPTR_T_DEFINED
-# define _INTPTR_T_DEFINED
-# define intptr_t int
-# endif
-#elif defined(__MINGW32__)
+#elif defined __MINGW32__
# define setmode _setmode
# define stat _stat
# define chmod _chmod
# define getcwd _getcwd
# define putenv _putenv
-#elif defined(__CYGWIN__)
+#elif defined __CYGWIN__
# define HAVE_SETENV
# define FOPEN_WB "wb"
-/* #elif defined (other platforms) ... */
+/* #elif defined other platforms ... */
#endif
-#if defined(PATH_MAX)
+#if defined PATH_MAX
# define LT_PATHMAX PATH_MAX
-#elif defined(MAXPATHLEN)
+#elif defined MAXPATHLEN
# define LT_PATHMAX MAXPATHLEN
#else
# define LT_PATHMAX 1024
@@ -4234,8 +5607,8 @@
# define PATH_SEPARATOR ':'
#endif
-#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
- defined (__OS2__)
+#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \
+ defined __OS2__
# define HAVE_DOS_BASED_FILE_SYSTEM
# define FOPEN_WB "wb"
# ifndef DIR_SEPARATOR_2
@@ -4268,10 +5641,10 @@
#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
#define XFREE(stale) do { \
- if (stale) { free ((void *) stale); stale = 0; } \
+ if (stale) { free (stale); stale = 0; } \
} while (0)
-#if defined(LT_DEBUGWRAPPER)
+#if defined LT_DEBUGWRAPPER
static int lt_debug = 1;
#else
static int lt_debug = 0;
@@ -4300,11 +5673,16 @@
EOF
cat <<EOF
-volatile const char * MAGIC_EXE = "$magic_exe";
+#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
+# define externally_visible volatile
+#else
+# define externally_visible __attribute__((externally_visible)) volatile
+#endif
+externally_visible const char * MAGIC_EXE = "$magic_exe";
const char * LIB_PATH_VARNAME = "$shlibpath_var";
EOF
- if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
func_to_host_path "$temp_rpath"
cat <<EOF
const char * LIB_PATH_VALUE = "$func_to_host_path_result";
@@ -4328,7 +5706,7 @@
EOF
fi
- if test "$fast_install" = yes; then
+ if test yes = "$fast_install"; then
cat <<EOF
const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
EOF
@@ -4357,12 +5735,12 @@
char *actual_cwrapper_name;
char *target_name;
char *lt_argv_zero;
- intptr_t rval = 127;
+ int rval = 127;
int i;
program_name = (char *) xstrdup (base_name (argv[0]));
- newargz = XMALLOC (char *, argc + 1);
+ newargz = XMALLOC (char *, (size_t) argc + 1);
/* very simple arg parsing; don't want to rely on getopt
* also, copy all non cwrapper options to newargz, except
@@ -4371,10 +5749,10 @@
newargc=0;
for (i = 1; i < argc; i++)
{
- if (strcmp (argv[i], dumpscript_opt) == 0)
+ if (STREQ (argv[i], dumpscript_opt))
{
EOF
- case "$host" in
+ case $host in
*mingw* | *cygwin* )
# make stdout use "unix" line endings
echo " setmode(1,_O_BINARY);"
@@ -4385,12 +5763,12 @@
lt_dump_script (stdout);
return 0;
}
- if (strcmp (argv[i], debug_opt) == 0)
+ if (STREQ (argv[i], debug_opt))
{
lt_debug = 1;
continue;
}
- if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
+ if (STREQ (argv[i], ltwrapper_option_prefix))
{
/* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
namespace, but it is not one of the ones we know about and
@@ -4413,7 +5791,7 @@
EOF
cat <<EOF
/* The GNU banner must be the first non-error debug message */
- lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
+ lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE) $VERSION\n");
EOF
cat <<"EOF"
lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
@@ -4524,7 +5902,7 @@
cat <<"EOF"
/* execv doesn't actually work on mingw as expected on unix */
newargz = prepare_spawn (newargz);
- rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
+ rval = (int) _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
if (rval == -1)
{
/* failed to start process */
@@ -4569,7 +5947,7 @@
{
const char *base;
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
/* Skip over the disk name in MSDOS pathnames. */
if (isalpha ((unsigned char) name[0]) && name[1] == ':')
name += 2;
@@ -4628,7 +6006,7 @@
const char *p_next;
/* static buffer for getcwd */
char tmp[LT_PATHMAX + 1];
- int tmp_len;
+ size_t tmp_len;
char *concat_name;
lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
@@ -4638,7 +6016,7 @@
return NULL;
/* Absolute path? */
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
{
concat_name = xstrdup (wrapper);
@@ -4656,7 +6034,7 @@
return concat_name;
XFREE (concat_name);
}
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
}
#endif
@@ -4679,7 +6057,7 @@
for (q = p; *q; q++)
if (IS_PATH_SEPARATOR (*q))
break;
- p_len = q - p;
+ p_len = (size_t) (q - p);
p_next = (*q == '\0' ? q : q + 1);
if (p_len == 0)
{
@@ -4798,7 +6176,7 @@
if (patlen <= len)
{
str += len - patlen;
- if (strcmp (str, pat) == 0)
+ if (STREQ (str, pat))
*str = '\0';
}
return str;
@@ -4863,7 +6241,7 @@
char *str = xstrdup (value);
setenv (name, str, 1);
#else
- int len = strlen (name) + 1 + strlen (value) + 1;
+ size_t len = strlen (name) + 1 + strlen (value) + 1;
char *str = XMALLOC (char, len);
sprintf (str, "%s=%s", name, value);
if (putenv (str) != EXIT_SUCCESS)
@@ -4880,8 +6258,8 @@
char *new_value;
if (orig_value && *orig_value)
{
- int orig_value_len = strlen (orig_value);
- int add_len = strlen (add);
+ size_t orig_value_len = strlen (orig_value);
+ size_t add_len = strlen (add);
new_value = XMALLOC (char, add_len + orig_value_len + 1);
if (to_end)
{
@@ -4912,10 +6290,10 @@
{
char *new_value = lt_extend_str (getenv (name), value, 0);
/* some systems can't cope with a ':'-terminated path #' */
- int len = strlen (new_value);
- while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
+ size_t len = strlen (new_value);
+ while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
{
- new_value[len-1] = '\0';
+ new_value[--len] = '\0';
}
lt_setenv (name, new_value);
XFREE (new_value);
@@ -5082,27 +6460,47 @@
# True if ARG is an import lib, as indicated by $file_magic_cmd
func_win32_import_lib_p ()
{
- $opt_debug
+ $debug_cmd
+
case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
*import*) : ;;
*) false ;;
esac
}
+# func_suncc_cstd_abi
+# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!!
+# Several compiler flags select an ABI that is incompatible with the
+# Cstd library. Avoid specifying it if any are in CXXFLAGS.
+func_suncc_cstd_abi ()
+{
+ $debug_cmd
+
+ case " $compile_command " in
+ *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*)
+ suncc_use_cstd_abi=no
+ ;;
+ *)
+ suncc_use_cstd_abi=yes
+ ;;
+ esac
+}
+
# func_mode_link arg...
func_mode_link ()
{
- $opt_debug
+ $debug_cmd
+
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
# It is impossible to link a dll without this setting, and
# we shouldn't force the makefile maintainer to figure out
- # which system we are compiling for in order to pass an extra
+ # what system we are compiling for in order to pass an extra
# flag for every libtool invocation.
# allow_undefined=no
# FIXME: Unfortunately, there are problems with the above when trying
- # to make a dll which has undefined symbols, in which case not
+ # to make a dll that has undefined symbols, in which case not
# even a static library is built. For now, we need to specify
# -no-undefined on the libtool link line when we can be certain
# that all symbols are satisfied, otherwise we get a static library.
@@ -5146,10 +6544,11 @@
module=no
no_install=no
objs=
+ os2dllname=
non_pic_objects=
precious_files_regex=
prefer_static_libs=no
- preload=no
+ preload=false
prev=
prevarg=
release=
@@ -5161,7 +6560,7 @@
vinfo=
vinfo_number=no
weak_libs=
- single_module="${wl}-single_module"
+ single_module=$wl-single_module
func_infer_tag $base_compile
# We need to know -static, to get the right output filenames.
@@ -5169,15 +6568,15 @@
do
case $arg in
-shared)
- test "$build_libtool_libs" != yes && \
- func_fatal_configuration "can not build a shared library"
+ test yes != "$build_libtool_libs" \
+ && func_fatal_configuration "cannot build a shared library"
build_old_libs=no
break
;;
-all-static | -static | -static-libtool-libs)
case $arg in
-all-static)
- if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+ if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then
func_warning "complete static linking is impossible in this configuration"
fi
if test -n "$link_static_flag"; then
@@ -5210,7 +6609,7 @@
# Go through the arguments, transforming them on the way.
while test "$#" -gt 0; do
- arg="$1"
+ arg=$1
shift
func_quote_for_eval "$arg"
qarg=$func_quote_for_eval_unquoted_result
@@ -5227,21 +6626,21 @@
case $prev in
bindir)
- bindir="$arg"
+ bindir=$arg
prev=
continue
;;
dlfiles|dlprefiles)
- if test "$preload" = no; then
+ $preload || {
# Add the symbol object into the linking commands.
func_append compile_command " @SYMFILE@"
func_append finalize_command " @SYMFILE@"
- preload=yes
- fi
+ preload=:
+ }
case $arg in
*.la | *.lo) ;; # We handle these cases below.
force)
- if test "$dlself" = no; then
+ if test no = "$dlself"; then
dlself=needless
export_dynamic=yes
fi
@@ -5249,9 +6648,9 @@
continue
;;
self)
- if test "$prev" = dlprefiles; then
+ if test dlprefiles = "$prev"; then
dlself=yes
- elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+ elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then
dlself=yes
else
dlself=needless
@@ -5261,7 +6660,7 @@
continue
;;
*)
- if test "$prev" = dlfiles; then
+ if test dlfiles = "$prev"; then
func_append dlfiles " $arg"
else
func_append dlprefiles " $arg"
@@ -5272,14 +6671,14 @@
esac
;;
expsyms)
- export_symbols="$arg"
+ export_symbols=$arg
test -f "$arg" \
- || func_fatal_error "symbol file \`$arg' does not exist"
+ || func_fatal_error "symbol file '$arg' does not exist"
prev=
continue
;;
expsyms_regex)
- export_symbols_regex="$arg"
+ export_symbols_regex=$arg
prev=
continue
;;
@@ -5297,7 +6696,13 @@
continue
;;
inst_prefix)
- inst_prefix_dir="$arg"
+ inst_prefix_dir=$arg
+ prev=
+ continue
+ ;;
+ mllvm)
+ # Clang does not use LLVM to link, so we can simply discard any
+ # '-mllvm $arg' options when doing the link step.
prev=
continue
;;
@@ -5321,21 +6726,21 @@
if test -z "$pic_object" ||
test -z "$non_pic_object" ||
- test "$pic_object" = none &&
- test "$non_pic_object" = none; then
- func_fatal_error "cannot find name of object for \`$arg'"
+ test none = "$pic_object" &&
+ test none = "$non_pic_object"; then
+ func_fatal_error "cannot find name of object for '$arg'"
fi
# Extract subdirectory from the argument.
func_dirname "$arg" "/" ""
- xdir="$func_dirname_result"
+ xdir=$func_dirname_result
- if test "$pic_object" != none; then
+ if test none != "$pic_object"; then
# Prepend the subdirectory the object is found in.
- pic_object="$xdir$pic_object"
+ pic_object=$xdir$pic_object
- if test "$prev" = dlfiles; then
- if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+ if test dlfiles = "$prev"; then
+ if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
func_append dlfiles " $pic_object"
prev=
continue
@@ -5346,7 +6751,7 @@
fi
# CHECK ME: I think I busted this. -Ossama
- if test "$prev" = dlprefiles; then
+ if test dlprefiles = "$prev"; then
# Preload the old-style object.
func_append dlprefiles " $pic_object"
prev=
@@ -5354,23 +6759,23 @@
# A PIC object.
func_append libobjs " $pic_object"
- arg="$pic_object"
+ arg=$pic_object
fi
# Non-PIC object.
- if test "$non_pic_object" != none; then
+ if test none != "$non_pic_object"; then
# Prepend the subdirectory the object is found in.
- non_pic_object="$xdir$non_pic_object"
+ non_pic_object=$xdir$non_pic_object
# A standard non-PIC object
func_append non_pic_objects " $non_pic_object"
- if test -z "$pic_object" || test "$pic_object" = none ; then
- arg="$non_pic_object"
+ if test -z "$pic_object" || test none = "$pic_object"; then
+ arg=$non_pic_object
fi
else
# If the PIC object exists, use it instead.
# $xdir was prepended to $pic_object above.
- non_pic_object="$pic_object"
+ non_pic_object=$pic_object
func_append non_pic_objects " $non_pic_object"
fi
else
@@ -5378,7 +6783,7 @@
if $opt_dry_run; then
# Extract subdirectory from the argument.
func_dirname "$arg" "/" ""
- xdir="$func_dirname_result"
+ xdir=$func_dirname_result
func_lo2o "$arg"
pic_object=$xdir$objdir/$func_lo2o_result
@@ -5386,24 +6791,29 @@
func_append libobjs " $pic_object"
func_append non_pic_objects " $non_pic_object"
else
- func_fatal_error "\`$arg' is not a valid libtool object"
+ func_fatal_error "'$arg' is not a valid libtool object"
fi
fi
done
else
- func_fatal_error "link input file \`$arg' does not exist"
+ func_fatal_error "link input file '$arg' does not exist"
fi
arg=$save_arg
prev=
continue
;;
+ os2dllname)
+ os2dllname=$arg
+ prev=
+ continue
+ ;;
precious_regex)
- precious_files_regex="$arg"
+ precious_files_regex=$arg
prev=
continue
;;
release)
- release="-$arg"
+ release=-$arg
prev=
continue
;;
@@ -5415,7 +6825,7 @@
func_fatal_error "only absolute run-paths are allowed"
;;
esac
- if test "$prev" = rpath; then
+ if test rpath = "$prev"; then
case "$rpath " in
*" $arg "*) ;;
*) func_append rpath " $arg" ;;
@@ -5430,7 +6840,7 @@
continue
;;
shrext)
- shrext_cmds="$arg"
+ shrext_cmds=$arg
prev=
continue
;;
@@ -5470,7 +6880,7 @@
esac
fi # test -n "$prev"
- prevarg="$arg"
+ prevarg=$arg
case $arg in
-all-static)
@@ -5484,7 +6894,7 @@
-allow-undefined)
# FIXME: remove this flag sometime in the future.
- func_fatal_error "\`-allow-undefined' must not be used because it is the default"
+ func_fatal_error "'-allow-undefined' must not be used because it is the default"
;;
-avoid-version)
@@ -5516,7 +6926,7 @@
if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
func_fatal_error "more than one -exported-symbols argument is not allowed"
fi
- if test "X$arg" = "X-export-symbols"; then
+ if test X-export-symbols = "X$arg"; then
prev=expsyms
else
prev=expsyms_regex
@@ -5550,9 +6960,9 @@
func_stripname "-L" '' "$arg"
if test -z "$func_stripname_result"; then
if test "$#" -gt 0; then
- func_fatal_error "require no space between \`-L' and \`$1'"
+ func_fatal_error "require no space between '-L' and '$1'"
else
- func_fatal_error "need path for \`-L' option"
+ func_fatal_error "need path for '-L' option"
fi
fi
func_resolve_sysroot "$func_stripname_result"
@@ -5563,8 +6973,8 @@
*)
absdir=`cd "$dir" && pwd`
test -z "$absdir" && \
- func_fatal_error "cannot determine absolute directory name of \`$dir'"
- dir="$absdir"
+ func_fatal_error "cannot determine absolute directory name of '$dir'"
+ dir=$absdir
;;
esac
case "$deplibs " in
@@ -5599,7 +7009,7 @@
;;
-l*)
- if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+ if test X-lc = "X$arg" || test X-lm = "X$arg"; then
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
# These systems don't actually have a C or math library (as such)
@@ -5607,11 +7017,11 @@
;;
*-*-os2*)
# These systems don't actually have a C library (as such)
- test "X$arg" = "X-lc" && continue
+ test X-lc = "X$arg" && continue
;;
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
# Do not include libc due to us having libc/libc_r.
- test "X$arg" = "X-lc" && continue
+ test X-lc = "X$arg" && continue
;;
*-*-rhapsody* | *-*-darwin1.[012])
# Rhapsody C and math libraries are in the System framework
@@ -5620,16 +7030,16 @@
;;
*-*-sco3.2v5* | *-*-sco5v6*)
# Causes problems with __ctype
- test "X$arg" = "X-lc" && continue
+ test X-lc = "X$arg" && continue
;;
*-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
# Compiler inserts libc in the correct place for threads to work
- test "X$arg" = "X-lc" && continue
+ test X-lc = "X$arg" && continue
;;
esac
- elif test "X$arg" = "X-lc_r"; then
+ elif test X-lc_r = "X$arg"; then
case $host in
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
# Do not include libc_r directly, use -pthread flag.
continue
;;
@@ -5639,6 +7049,11 @@
continue
;;
+ -mllvm)
+ prev=mllvm
+ continue
+ ;;
+
-module)
module=yes
continue
@@ -5668,7 +7083,7 @@
;;
-multi_module)
- single_module="${wl}-multi_module"
+ single_module=$wl-multi_module
continue
;;
@@ -5682,8 +7097,8 @@
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
# The PATH hackery in wrapper scripts is required on Windows
# and Darwin in order for the loader to find any dlls it needs.
- func_warning "\`-no-install' is ignored for $host"
- func_warning "assuming \`-no-fast-install' instead"
+ func_warning "'-no-install' is ignored for $host"
+ func_warning "assuming '-no-fast-install' instead"
fast_install=no
;;
*) no_install=yes ;;
@@ -5701,6 +7116,11 @@
continue
;;
+ -os2dllname)
+ prev=os2dllname
+ continue
+ ;;
+
-o) prev=output ;;
-precious-files-regex)
@@ -5788,14 +7208,14 @@
func_stripname '-Wc,' '' "$arg"
args=$func_stripname_result
arg=
- save_ifs="$IFS"; IFS=','
+ save_ifs=$IFS; IFS=,
for flag in $args; do
- IFS="$save_ifs"
+ IFS=$save_ifs
func_quote_for_eval "$flag"
func_append arg " $func_quote_for_eval_result"
func_append compiler_flags " $func_quote_for_eval_result"
done
- IFS="$save_ifs"
+ IFS=$save_ifs
func_stripname ' ' '' "$arg"
arg=$func_stripname_result
;;
@@ -5804,15 +7224,15 @@
func_stripname '-Wl,' '' "$arg"
args=$func_stripname_result
arg=
- save_ifs="$IFS"; IFS=','
+ save_ifs=$IFS; IFS=,
for flag in $args; do
- IFS="$save_ifs"
+ IFS=$save_ifs
func_quote_for_eval "$flag"
func_append arg " $wl$func_quote_for_eval_result"
func_append compiler_flags " $wl$func_quote_for_eval_result"
func_append linker_flags " $func_quote_for_eval_result"
done
- IFS="$save_ifs"
+ IFS=$save_ifs
func_stripname ' ' '' "$arg"
arg=$func_stripname_result
;;
@@ -5835,7 +7255,7 @@
# -msg_* for osf cc
-msg_*)
func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
+ arg=$func_quote_for_eval_result
;;
# Flags to be passed through unchanged, with rationale:
@@ -5847,25 +7267,49 @@
# -m*, -t[45]*, -txscale* architecture-specific flags for GCC
# -F/path path to uninstalled frameworks, gcc on darwin
# -p, -pg, --coverage, -fprofile-* profiling flags for GCC
+ # -fstack-protector* stack protector flags for GCC
# @file GCC response files
# -tp=* Portland pgcc target processor selection
# --sysroot=* for sysroot support
- # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+ # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+ # -specs=* GCC specs files
+ # -stdlib=* select c++ std lib with clang
+ # -fsanitize=* Clang/GCC memory and address sanitizer
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
- -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
+ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
+ -specs=*|-fsanitize=*)
func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
+ arg=$func_quote_for_eval_result
func_append compile_command " $arg"
func_append finalize_command " $arg"
func_append compiler_flags " $arg"
continue
;;
+ -Z*)
+ if test os2 = "`expr $host : '.*\(os2\)'`"; then
+ # OS/2 uses -Zxxx to specify OS/2-specific options
+ compiler_flags="$compiler_flags $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ case $arg in
+ -Zlinker | -Zstack)
+ prev=xcompiler
+ ;;
+ esac
+ continue
+ else
+ # Otherwise treat like 'Some other compiler flag' below
+ func_quote_for_eval "$arg"
+ arg=$func_quote_for_eval_result
+ fi
+ ;;
+
# Some other compiler flag.
-* | +*)
func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
+ arg=$func_quote_for_eval_result
;;
*.$objext)
@@ -5886,21 +7330,21 @@
if test -z "$pic_object" ||
test -z "$non_pic_object" ||
- test "$pic_object" = none &&
- test "$non_pic_object" = none; then
- func_fatal_error "cannot find name of object for \`$arg'"
+ test none = "$pic_object" &&
+ test none = "$non_pic_object"; then
+ func_fatal_error "cannot find name of object for '$arg'"
fi
# Extract subdirectory from the argument.
func_dirname "$arg" "/" ""
- xdir="$func_dirname_result"
+ xdir=$func_dirname_result
- if test "$pic_object" != none; then
+ test none = "$pic_object" || {
# Prepend the subdirectory the object is found in.
- pic_object="$xdir$pic_object"
+ pic_object=$xdir$pic_object
- if test "$prev" = dlfiles; then
- if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+ if test dlfiles = "$prev"; then
+ if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
func_append dlfiles " $pic_object"
prev=
continue
@@ -5911,7 +7355,7 @@
fi
# CHECK ME: I think I busted this. -Ossama
- if test "$prev" = dlprefiles; then
+ if test dlprefiles = "$prev"; then
# Preload the old-style object.
func_append dlprefiles " $pic_object"
prev=
@@ -5919,23 +7363,23 @@
# A PIC object.
func_append libobjs " $pic_object"
- arg="$pic_object"
- fi
+ arg=$pic_object
+ }
# Non-PIC object.
- if test "$non_pic_object" != none; then
+ if test none != "$non_pic_object"; then
# Prepend the subdirectory the object is found in.
- non_pic_object="$xdir$non_pic_object"
+ non_pic_object=$xdir$non_pic_object
# A standard non-PIC object
func_append non_pic_objects " $non_pic_object"
- if test -z "$pic_object" || test "$pic_object" = none ; then
- arg="$non_pic_object"
+ if test -z "$pic_object" || test none = "$pic_object"; then
+ arg=$non_pic_object
fi
else
# If the PIC object exists, use it instead.
# $xdir was prepended to $pic_object above.
- non_pic_object="$pic_object"
+ non_pic_object=$pic_object
func_append non_pic_objects " $non_pic_object"
fi
else
@@ -5943,7 +7387,7 @@
if $opt_dry_run; then
# Extract subdirectory from the argument.
func_dirname "$arg" "/" ""
- xdir="$func_dirname_result"
+ xdir=$func_dirname_result
func_lo2o "$arg"
pic_object=$xdir$objdir/$func_lo2o_result
@@ -5951,7 +7395,7 @@
func_append libobjs " $pic_object"
func_append non_pic_objects " $non_pic_object"
else
- func_fatal_error "\`$arg' is not a valid libtool object"
+ func_fatal_error "'$arg' is not a valid libtool object"
fi
fi
;;
@@ -5967,11 +7411,11 @@
# A libtool-controlled library.
func_resolve_sysroot "$arg"
- if test "$prev" = dlfiles; then
+ if test dlfiles = "$prev"; then
# This library was specified with -dlopen.
func_append dlfiles " $func_resolve_sysroot_result"
prev=
- elif test "$prev" = dlprefiles; then
+ elif test dlprefiles = "$prev"; then
# The library was specified with -dlpreopen.
func_append dlprefiles " $func_resolve_sysroot_result"
prev=
@@ -5986,7 +7430,7 @@
# Unknown arguments in both finalize_command and compile_command need
# to be aesthetically quoted because they are evaled later.
func_quote_for_eval "$arg"
- arg="$func_quote_for_eval_result"
+ arg=$func_quote_for_eval_result
;;
esac # arg
@@ -5998,9 +7442,9 @@
done # argument parsing loop
test -n "$prev" && \
- func_fatal_help "the \`$prevarg' option requires an argument"
+ func_fatal_help "the '$prevarg' option requires an argument"
- if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+ if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then
eval arg=\"$export_dynamic_flag_spec\"
func_append compile_command " $arg"
func_append finalize_command " $arg"
@@ -6009,20 +7453,23 @@
oldlibs=
# calculate the name of the file, without its directory
func_basename "$output"
- outputname="$func_basename_result"
- libobjs_save="$libobjs"
+ outputname=$func_basename_result
+ libobjs_save=$libobjs
if test -n "$shlibpath_var"; then
# get the directories listed in $shlibpath_var
- eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\`
+ eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\`
else
shlib_search_path=
fi
eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+ # Definition is injected by LT_CONFIG during libtool generation.
+ func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH"
+
func_dirname "$output" "/" ""
- output_objdir="$func_dirname_result$objdir"
+ output_objdir=$func_dirname_result$objdir
func_to_tool_file "$output_objdir/"
tool_output_objdir=$func_to_tool_file_result
# Create the object directory.
@@ -6045,7 +7492,7 @@
# Find all interdependent deplibs by searching for libraries
# that are linked more than once (e.g. -la -lb -la)
for deplib in $deplibs; do
- if $opt_preserve_dup_deps ; then
+ if $opt_preserve_dup_deps; then
case "$libs " in
*" $deplib "*) func_append specialdeplibs " $deplib" ;;
esac
@@ -6053,7 +7500,7 @@
func_append libs " $deplib"
done
- if test "$linkmode" = lib; then
+ if test lib = "$linkmode"; then
libs="$predeps $libs $compiler_lib_search_path $postdeps"
# Compute libraries that are listed more than once in $predeps
@@ -6085,7 +7532,7 @@
case $file in
*.la) ;;
*)
- func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
+ func_fatal_help "libraries can '-dlopen' only libtool libraries: $file"
;;
esac
done
@@ -6093,7 +7540,7 @@
prog)
compile_deplibs=
finalize_deplibs=
- alldeplibs=no
+ alldeplibs=false
newdlfiles=
newdlprefiles=
passes="conv scan dlopen dlpreopen link"
@@ -6105,32 +7552,32 @@
for pass in $passes; do
# The preopen pass in lib mode reverses $deplibs; put it back here
# so that -L comes before libs that need it for instance...
- if test "$linkmode,$pass" = "lib,link"; then
+ if test lib,link = "$linkmode,$pass"; then
## FIXME: Find the place where the list is rebuilt in the wrong
## order, and fix it there properly
tmp_deplibs=
for deplib in $deplibs; do
tmp_deplibs="$deplib $tmp_deplibs"
done
- deplibs="$tmp_deplibs"
+ deplibs=$tmp_deplibs
fi
- if test "$linkmode,$pass" = "lib,link" ||
- test "$linkmode,$pass" = "prog,scan"; then
- libs="$deplibs"
+ if test lib,link = "$linkmode,$pass" ||
+ test prog,scan = "$linkmode,$pass"; then
+ libs=$deplibs
deplibs=
fi
- if test "$linkmode" = prog; then
+ if test prog = "$linkmode"; then
case $pass in
- dlopen) libs="$dlfiles" ;;
- dlpreopen) libs="$dlprefiles" ;;
+ dlopen) libs=$dlfiles ;;
+ dlpreopen) libs=$dlprefiles ;;
link)
libs="$deplibs %DEPLIBS%"
test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
;;
esac
fi
- if test "$linkmode,$pass" = "lib,dlpreopen"; then
+ if test lib,dlpreopen = "$linkmode,$pass"; then
# Collect and forward deplibs of preopened libtool libs
for lib in $dlprefiles; do
# Ignore non-libtool-libs
@@ -6151,26 +7598,26 @@
esac
done
done
- libs="$dlprefiles"
+ libs=$dlprefiles
fi
- if test "$pass" = dlopen; then
+ if test dlopen = "$pass"; then
# Collect dlpreopened libraries
- save_deplibs="$deplibs"
+ save_deplibs=$deplibs
deplibs=
fi
for deplib in $libs; do
lib=
- found=no
+ found=false
case $deplib in
-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
|-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
- if test "$linkmode,$pass" = "prog,link"; then
+ if test prog,link = "$linkmode,$pass"; then
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
else
func_append compiler_flags " $deplib"
- if test "$linkmode" = lib ; then
+ if test lib = "$linkmode"; then
case "$new_inherited_linker_flags " in
*" $deplib "*) ;;
* ) func_append new_inherited_linker_flags " $deplib" ;;
@@ -6180,13 +7627,13 @@
continue
;;
-l*)
- if test "$linkmode" != lib && test "$linkmode" != prog; then
- func_warning "\`-l' is ignored for archives/objects"
+ if test lib != "$linkmode" && test prog != "$linkmode"; then
+ func_warning "'-l' is ignored for archives/objects"
continue
fi
func_stripname '-l' '' "$deplib"
name=$func_stripname_result
- if test "$linkmode" = lib; then
+ if test lib = "$linkmode"; then
searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
else
searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
@@ -6194,31 +7641,22 @@
for searchdir in $searchdirs; do
for search_ext in .la $std_shrext .so .a; do
# Search the libtool library
- lib="$searchdir/lib${name}${search_ext}"
+ lib=$searchdir/lib$name$search_ext
if test -f "$lib"; then
- if test "$search_ext" = ".la"; then
- found=yes
+ if test .la = "$search_ext"; then
+ found=:
else
- found=no
+ found=false
fi
break 2
fi
done
done
- if test "$found" != yes; then
- # deplib doesn't seem to be a libtool library
- if test "$linkmode,$pass" = "prog,link"; then
- compile_deplibs="$deplib $compile_deplibs"
- finalize_deplibs="$deplib $finalize_deplibs"
- else
- deplibs="$deplib $deplibs"
- test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
- fi
- continue
- else # deplib is a libtool library
+ if $found; then
+ # deplib is a libtool library
# If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
# We need to do some special things here, and not later.
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
case " $predeps $postdeps " in
*" $deplib "*)
if func_lalib_p "$lib"; then
@@ -6226,19 +7664,19 @@
old_library=
func_source "$lib"
for l in $old_library $library_names; do
- ll="$l"
+ ll=$l
done
- if test "X$ll" = "X$old_library" ; then # only static version available
- found=no
+ if test "X$ll" = "X$old_library"; then # only static version available
+ found=false
func_dirname "$lib" "" "."
- ladir="$func_dirname_result"
+ ladir=$func_dirname_result
lib=$ladir/$old_library
- if test "$linkmode,$pass" = "prog,link"; then
+ if test prog,link = "$linkmode,$pass"; then
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
else
deplibs="$deplib $deplibs"
- test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+ test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
fi
continue
fi
@@ -6247,15 +7685,25 @@
*) ;;
esac
fi
+ else
+ # deplib doesn't seem to be a libtool library
+ if test prog,link = "$linkmode,$pass"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
+ fi
+ continue
fi
;; # -l
*.ltframework)
- if test "$linkmode,$pass" = "prog,link"; then
+ if test prog,link = "$linkmode,$pass"; then
compile_deplibs="$deplib $compile_deplibs"
finalize_deplibs="$deplib $finalize_deplibs"
else
deplibs="$deplib $deplibs"
- if test "$linkmode" = lib ; then
+ if test lib = "$linkmode"; then
case "$new_inherited_linker_flags " in
*" $deplib "*) ;;
* ) func_append new_inherited_linker_flags " $deplib" ;;
@@ -6268,18 +7716,18 @@
case $linkmode in
lib)
deplibs="$deplib $deplibs"
- test "$pass" = conv && continue
+ test conv = "$pass" && continue
newdependency_libs="$deplib $newdependency_libs"
func_stripname '-L' '' "$deplib"
func_resolve_sysroot "$func_stripname_result"
func_append newlib_search_path " $func_resolve_sysroot_result"
;;
prog)
- if test "$pass" = conv; then
+ if test conv = "$pass"; then
deplibs="$deplib $deplibs"
continue
fi
- if test "$pass" = scan; then
+ if test scan = "$pass"; then
deplibs="$deplib $deplibs"
else
compile_deplibs="$deplib $compile_deplibs"
@@ -6290,13 +7738,13 @@
func_append newlib_search_path " $func_resolve_sysroot_result"
;;
*)
- func_warning "\`-L' is ignored for archives/objects"
+ func_warning "'-L' is ignored for archives/objects"
;;
esac # linkmode
continue
;; # -L
-R*)
- if test "$pass" = link; then
+ if test link = "$pass"; then
func_stripname '-R' '' "$deplib"
func_resolve_sysroot "$func_stripname_result"
dir=$func_resolve_sysroot_result
@@ -6314,7 +7762,7 @@
lib=$func_resolve_sysroot_result
;;
*.$libext)
- if test "$pass" = conv; then
+ if test conv = "$pass"; then
deplibs="$deplib $deplibs"
continue
fi
@@ -6325,21 +7773,26 @@
case " $dlpreconveniencelibs " in
*" $deplib "*) ;;
*)
- valid_a_lib=no
+ valid_a_lib=false
case $deplibs_check_method in
match_pattern*)
set dummy $deplibs_check_method; shift
match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
| $EGREP "$match_pattern_regex" > /dev/null; then
- valid_a_lib=yes
+ valid_a_lib=:
fi
;;
pass_all)
- valid_a_lib=yes
+ valid_a_lib=:
;;
esac
- if test "$valid_a_lib" != yes; then
+ if $valid_a_lib; then
+ echo
+ $ECHO "*** Warning: Linking the shared library $output against the"
+ $ECHO "*** static library $deplib is not portable!"
+ deplibs="$deplib $deplibs"
+ else
echo
$ECHO "*** Warning: Trying to link with static lib archive $deplib."
echo "*** I have the capability to make that library automatically link in when"
@@ -6347,18 +7800,13 @@
echo "*** shared version of the library, which you do not appear to have"
echo "*** because the file extensions .$libext of this argument makes me believe"
echo "*** that it is just a static archive that I should not use here."
- else
- echo
- $ECHO "*** Warning: Linking the shared library $output against the"
- $ECHO "*** static library $deplib is not portable!"
- deplibs="$deplib $deplibs"
fi
;;
esac
continue
;;
prog)
- if test "$pass" != link; then
+ if test link != "$pass"; then
deplibs="$deplib $deplibs"
else
compile_deplibs="$deplib $compile_deplibs"
@@ -6369,10 +7817,10 @@
esac # linkmode
;; # *.$libext
*.lo | *.$objext)
- if test "$pass" = conv; then
+ if test conv = "$pass"; then
deplibs="$deplib $deplibs"
- elif test "$linkmode" = prog; then
- if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+ elif test prog = "$linkmode"; then
+ if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then
# If there is no dlopen support or we're linking statically,
# we need to preload.
func_append newdlprefiles " $deplib"
@@ -6385,22 +7833,20 @@
continue
;;
%DEPLIBS%)
- alldeplibs=yes
+ alldeplibs=:
continue
;;
esac # case $deplib
- if test "$found" = yes || test -f "$lib"; then :
- else
- func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
- fi
+ $found || test -f "$lib" \
+ || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'"
# Check to see that this really is a libtool archive.
func_lalib_unsafe_p "$lib" \
- || func_fatal_error "\`$lib' is not a valid libtool archive"
+ || func_fatal_error "'$lib' is not a valid libtool archive"
func_dirname "$lib" "" "."
- ladir="$func_dirname_result"
+ ladir=$func_dirname_result
dlname=
dlopen=
@@ -6430,19 +7876,19 @@
done
fi
dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
- if test "$linkmode,$pass" = "lib,link" ||
- test "$linkmode,$pass" = "prog,scan" ||
- { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+ if test lib,link = "$linkmode,$pass" ||
+ test prog,scan = "$linkmode,$pass" ||
+ { test prog != "$linkmode" && test lib != "$linkmode"; }; then
test -n "$dlopen" && func_append dlfiles " $dlopen"
test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
fi
- if test "$pass" = conv; then
+ if test conv = "$pass"; then
# Only check for convenience libraries
deplibs="$lib $deplibs"
if test -z "$libdir"; then
if test -z "$old_library"; then
- func_fatal_error "cannot find name of link library for \`$lib'"
+ func_fatal_error "cannot find name of link library for '$lib'"
fi
# It is a libtool convenience library, so add in its objects.
func_append convenience " $ladir/$objdir/$old_library"
@@ -6450,15 +7896,15 @@
tmp_libs=
for deplib in $dependency_libs; do
deplibs="$deplib $deplibs"
- if $opt_preserve_dup_deps ; then
+ if $opt_preserve_dup_deps; then
case "$tmp_libs " in
*" $deplib "*) func_append specialdeplibs " $deplib" ;;
esac
fi
func_append tmp_libs " $deplib"
done
- elif test "$linkmode" != prog && test "$linkmode" != lib; then
- func_fatal_error "\`$lib' is not a convenience library"
+ elif test prog != "$linkmode" && test lib != "$linkmode"; then
+ func_fatal_error "'$lib' is not a convenience library"
fi
continue
fi # $pass = conv
@@ -6467,26 +7913,26 @@
# Get the name of the library we link against.
linklib=
if test -n "$old_library" &&
- { test "$prefer_static_libs" = yes ||
- test "$prefer_static_libs,$installed" = "built,no"; }; then
+ { test yes = "$prefer_static_libs" ||
+ test built,no = "$prefer_static_libs,$installed"; }; then
linklib=$old_library
else
for l in $old_library $library_names; do
- linklib="$l"
+ linklib=$l
done
fi
if test -z "$linklib"; then
- func_fatal_error "cannot find name of link library for \`$lib'"
+ func_fatal_error "cannot find name of link library for '$lib'"
fi
# This library was specified with -dlopen.
- if test "$pass" = dlopen; then
- if test -z "$libdir"; then
- func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
- fi
+ if test dlopen = "$pass"; then
+ test -z "$libdir" \
+ && func_fatal_error "cannot -dlopen a convenience library: '$lib'"
if test -z "$dlname" ||
- test "$dlopen_support" != yes ||
- test "$build_libtool_libs" = no; then
+ test yes != "$dlopen_support" ||
+ test no = "$build_libtool_libs"
+ then
# If there is no dlname, no dlopen support or we're linking
# statically, we need to preload. We also need to preload any
# dependent libraries so libltdl's deplib preloader doesn't
@@ -6500,40 +7946,40 @@
# We need an absolute path.
case $ladir in
- [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+ [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;;
*)
abs_ladir=`cd "$ladir" && pwd`
if test -z "$abs_ladir"; then
- func_warning "cannot determine absolute directory name of \`$ladir'"
+ func_warning "cannot determine absolute directory name of '$ladir'"
func_warning "passing it literally to the linker, although it might fail"
- abs_ladir="$ladir"
+ abs_ladir=$ladir
fi
;;
esac
func_basename "$lib"
- laname="$func_basename_result"
+ laname=$func_basename_result
# Find the relevant object directory and library name.
- if test "X$installed" = Xyes; then
+ if test yes = "$installed"; then
if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- func_warning "library \`$lib' was moved."
- dir="$ladir"
- absdir="$abs_ladir"
- libdir="$abs_ladir"
+ func_warning "library '$lib' was moved."
+ dir=$ladir
+ absdir=$abs_ladir
+ libdir=$abs_ladir
else
- dir="$lt_sysroot$libdir"
- absdir="$lt_sysroot$libdir"
+ dir=$lt_sysroot$libdir
+ absdir=$lt_sysroot$libdir
fi
- test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+ test yes = "$hardcode_automatic" && avoidtemprpath=yes
else
if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
- dir="$ladir"
- absdir="$abs_ladir"
+ dir=$ladir
+ absdir=$abs_ladir
# Remove this search path later
func_append notinst_path " $abs_ladir"
else
- dir="$ladir/$objdir"
- absdir="$abs_ladir/$objdir"
+ dir=$ladir/$objdir
+ absdir=$abs_ladir/$objdir
# Remove this search path later
func_append notinst_path " $abs_ladir"
fi
@@ -6542,11 +7988,11 @@
name=$func_stripname_result
# This library was specified with -dlpreopen.
- if test "$pass" = dlpreopen; then
- if test -z "$libdir" && test "$linkmode" = prog; then
- func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
+ if test dlpreopen = "$pass"; then
+ if test -z "$libdir" && test prog = "$linkmode"; then
+ func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'"
fi
- case "$host" in
+ case $host in
# special handling for platforms with PE-DLLs.
*cygwin* | *mingw* | *cegcc* )
# Linker will automatically link against shared library if both
@@ -6590,9 +8036,9 @@
if test -z "$libdir"; then
# Link the convenience library
- if test "$linkmode" = lib; then
+ if test lib = "$linkmode"; then
deplibs="$dir/$old_library $deplibs"
- elif test "$linkmode,$pass" = "prog,link"; then
+ elif test prog,link = "$linkmode,$pass"; then
compile_deplibs="$dir/$old_library $compile_deplibs"
finalize_deplibs="$dir/$old_library $finalize_deplibs"
else
@@ -6602,14 +8048,14 @@
fi
- if test "$linkmode" = prog && test "$pass" != link; then
+ if test prog = "$linkmode" && test link != "$pass"; then
func_append newlib_search_path " $ladir"
deplibs="$lib $deplibs"
- linkalldeplibs=no
- if test "$link_all_deplibs" != no || test -z "$library_names" ||
- test "$build_libtool_libs" = no; then
- linkalldeplibs=yes
+ linkalldeplibs=false
+ if test no != "$link_all_deplibs" || test -z "$library_names" ||
+ test no = "$build_libtool_libs"; then
+ linkalldeplibs=:
fi
tmp_libs=
@@ -6621,14 +8067,14 @@
;;
esac
# Need to link against all dependency_libs?
- if test "$linkalldeplibs" = yes; then
+ if $linkalldeplibs; then
deplibs="$deplib $deplibs"
else
# Need to hardcode shared library paths
# or/and link against static libraries
newdependency_libs="$deplib $newdependency_libs"
fi
- if $opt_preserve_dup_deps ; then
+ if $opt_preserve_dup_deps; then
case "$tmp_libs " in
*" $deplib "*) func_append specialdeplibs " $deplib" ;;
esac
@@ -6638,15 +8084,15 @@
continue
fi # $linkmode = prog...
- if test "$linkmode,$pass" = "prog,link"; then
+ if test prog,link = "$linkmode,$pass"; then
if test -n "$library_names" &&
- { { test "$prefer_static_libs" = no ||
- test "$prefer_static_libs,$installed" = "built,yes"; } ||
+ { { test no = "$prefer_static_libs" ||
+ test built,yes = "$prefer_static_libs,$installed"; } ||
test -z "$old_library"; }; then
# We need to hardcode the library path
- if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
+ if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then
# Make sure the rpath contains only unique directories.
- case "$temp_rpath:" in
+ case $temp_rpath: in
*"$absdir:"*) ;;
*) func_append temp_rpath "$absdir:" ;;
esac
@@ -6675,9 +8121,9 @@
esac
fi # $linkmode,$pass = prog,link...
- if test "$alldeplibs" = yes &&
- { test "$deplibs_check_method" = pass_all ||
- { test "$build_libtool_libs" = yes &&
+ if $alldeplibs &&
+ { test pass_all = "$deplibs_check_method" ||
+ { test yes = "$build_libtool_libs" &&
test -n "$library_names"; }; }; then
# We only need to search for static libraries
continue
@@ -6686,19 +8132,19 @@
link_static=no # Whether the deplib will be linked statically
use_static_libs=$prefer_static_libs
- if test "$use_static_libs" = built && test "$installed" = yes; then
+ if test built = "$use_static_libs" && test yes = "$installed"; then
use_static_libs=no
fi
if test -n "$library_names" &&
- { test "$use_static_libs" = no || test -z "$old_library"; }; then
+ { test no = "$use_static_libs" || test -z "$old_library"; }; then
case $host in
- *cygwin* | *mingw* | *cegcc*)
+ *cygwin* | *mingw* | *cegcc* | *os2*)
# No point in relinking DLLs because paths are not encoded
func_append notinst_deplibs " $lib"
need_relink=no
;;
*)
- if test "$installed" = no; then
+ if test no = "$installed"; then
func_append notinst_deplibs " $lib"
need_relink=yes
fi
@@ -6708,24 +8154,24 @@
# Warn about portability, can't link against -module's on some
# systems (darwin). Don't bleat about dlopened modules though!
- dlopenmodule=""
+ dlopenmodule=
for dlpremoduletest in $dlprefiles; do
if test "X$dlpremoduletest" = "X$lib"; then
- dlopenmodule="$dlpremoduletest"
+ dlopenmodule=$dlpremoduletest
break
fi
done
- if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
+ if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then
echo
- if test "$linkmode" = prog; then
+ if test prog = "$linkmode"; then
$ECHO "*** Warning: Linking the executable $output against the loadable module"
else
$ECHO "*** Warning: Linking the shared library $output against the loadable module"
fi
$ECHO "*** $linklib is not portable!"
fi
- if test "$linkmode" = lib &&
- test "$hardcode_into_libs" = yes; then
+ if test lib = "$linkmode" &&
+ test yes = "$hardcode_into_libs"; then
# Hardcode the library path.
# Skip directories that are in the system default run-time
# search path.
@@ -6753,43 +8199,43 @@
# figure out the soname
set dummy $library_names
shift
- realname="$1"
+ realname=$1
shift
libname=`eval "\\$ECHO \"$libname_spec\""`
# use dlname if we got it. it's perfectly good, no?
if test -n "$dlname"; then
- soname="$dlname"
+ soname=$dlname
elif test -n "$soname_spec"; then
# bleh windows
case $host in
- *cygwin* | mingw* | *cegcc*)
+ *cygwin* | mingw* | *cegcc* | *os2*)
func_arith $current - $age
major=$func_arith_result
- versuffix="-$major"
+ versuffix=-$major
;;
esac
eval soname=\"$soname_spec\"
else
- soname="$realname"
+ soname=$realname
fi
# Make a new name for the extract_expsyms_cmds to use
- soroot="$soname"
+ soroot=$soname
func_basename "$soroot"
- soname="$func_basename_result"
+ soname=$func_basename_result
func_stripname 'lib' '.dll' "$soname"
newlib=libimp-$func_stripname_result.a
# If the library has no export list, then create one now
if test -f "$output_objdir/$soname-def"; then :
else
- func_verbose "extracting exported symbol list from \`$soname'"
+ func_verbose "extracting exported symbol list from '$soname'"
func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
fi
# Create $newlib
if test -f "$output_objdir/$newlib"; then :; else
- func_verbose "generating import library for \`$soname'"
+ func_verbose "generating import library for '$soname'"
func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
fi
# make sure the library variables are pointing to the new library
@@ -6797,58 +8243,58 @@
linklib=$newlib
fi # test -n "$old_archive_from_expsyms_cmds"
- if test "$linkmode" = prog || test "$opt_mode" != relink; then
+ if test prog = "$linkmode" || test relink != "$opt_mode"; then
add_shlibpath=
add_dir=
add=
lib_linked=yes
case $hardcode_action in
immediate | unsupported)
- if test "$hardcode_direct" = no; then
- add="$dir/$linklib"
+ if test no = "$hardcode_direct"; then
+ add=$dir/$linklib
case $host in
- *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
- *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+ *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;;
+ *-*-sysv4*uw2*) add_dir=-L$dir ;;
*-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
- *-*-unixware7*) add_dir="-L$dir" ;;
+ *-*-unixware7*) add_dir=-L$dir ;;
*-*-darwin* )
- # if the lib is a (non-dlopened) module then we can not
+ # if the lib is a (non-dlopened) module then we cannot
# link against it, someone is ignoring the earlier warnings
if /usr/bin/file -L $add 2> /dev/null |
- $GREP ": [^:]* bundle" >/dev/null ; then
+ $GREP ": [^:]* bundle" >/dev/null; then
if test "X$dlopenmodule" != "X$lib"; then
$ECHO "*** Warning: lib $linklib is a module, not a shared library"
- if test -z "$old_library" ; then
+ if test -z "$old_library"; then
echo
echo "*** And there doesn't seem to be a static archive available"
echo "*** The link will probably fail, sorry"
else
- add="$dir/$old_library"
+ add=$dir/$old_library
fi
elif test -n "$old_library"; then
- add="$dir/$old_library"
+ add=$dir/$old_library
fi
fi
esac
- elif test "$hardcode_minus_L" = no; then
+ elif test no = "$hardcode_minus_L"; then
case $host in
- *-*-sunos*) add_shlibpath="$dir" ;;
+ *-*-sunos*) add_shlibpath=$dir ;;
esac
- add_dir="-L$dir"
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = no; then
- add_shlibpath="$dir"
- add="-l$name"
+ add_dir=-L$dir
+ add=-l$name
+ elif test no = "$hardcode_shlibpath_var"; then
+ add_shlibpath=$dir
+ add=-l$name
else
lib_linked=no
fi
;;
relink)
- if test "$hardcode_direct" = yes &&
- test "$hardcode_direct_absolute" = no; then
- add="$dir/$linklib"
- elif test "$hardcode_minus_L" = yes; then
- add_dir="-L$absdir"
+ if test yes = "$hardcode_direct" &&
+ test no = "$hardcode_direct_absolute"; then
+ add=$dir/$linklib
+ elif test yes = "$hardcode_minus_L"; then
+ add_dir=-L$absdir
# Try looking first in the location we're being installed to.
if test -n "$inst_prefix_dir"; then
case $libdir in
@@ -6857,10 +8303,10 @@
;;
esac
fi
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = yes; then
- add_shlibpath="$dir"
- add="-l$name"
+ add=-l$name
+ elif test yes = "$hardcode_shlibpath_var"; then
+ add_shlibpath=$dir
+ add=-l$name
else
lib_linked=no
fi
@@ -6868,7 +8314,7 @@
*) lib_linked=no ;;
esac
- if test "$lib_linked" != yes; then
+ if test yes != "$lib_linked"; then
func_fatal_configuration "unsupported hardcode properties"
fi
@@ -6878,15 +8324,15 @@
*) func_append compile_shlibpath "$add_shlibpath:" ;;
esac
fi
- if test "$linkmode" = prog; then
+ if test prog = "$linkmode"; then
test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
test -n "$add" && compile_deplibs="$add $compile_deplibs"
else
test -n "$add_dir" && deplibs="$add_dir $deplibs"
test -n "$add" && deplibs="$add $deplibs"
- if test "$hardcode_direct" != yes &&
- test "$hardcode_minus_L" != yes &&
- test "$hardcode_shlibpath_var" = yes; then
+ if test yes != "$hardcode_direct" &&
+ test yes != "$hardcode_minus_L" &&
+ test yes = "$hardcode_shlibpath_var"; then
case :$finalize_shlibpath: in
*":$libdir:"*) ;;
*) func_append finalize_shlibpath "$libdir:" ;;
@@ -6895,33 +8341,33 @@
fi
fi
- if test "$linkmode" = prog || test "$opt_mode" = relink; then
+ if test prog = "$linkmode" || test relink = "$opt_mode"; then
add_shlibpath=
add_dir=
add=
# Finalize command for both is simple: just hardcode it.
- if test "$hardcode_direct" = yes &&
- test "$hardcode_direct_absolute" = no; then
- add="$libdir/$linklib"
- elif test "$hardcode_minus_L" = yes; then
- add_dir="-L$libdir"
- add="-l$name"
- elif test "$hardcode_shlibpath_var" = yes; then
+ if test yes = "$hardcode_direct" &&
+ test no = "$hardcode_direct_absolute"; then
+ add=$libdir/$linklib
+ elif test yes = "$hardcode_minus_L"; then
+ add_dir=-L$libdir
+ add=-l$name
+ elif test yes = "$hardcode_shlibpath_var"; then
case :$finalize_shlibpath: in
*":$libdir:"*) ;;
*) func_append finalize_shlibpath "$libdir:" ;;
esac
- add="-l$name"
- elif test "$hardcode_automatic" = yes; then
+ add=-l$name
+ elif test yes = "$hardcode_automatic"; then
if test -n "$inst_prefix_dir" &&
- test -f "$inst_prefix_dir$libdir/$linklib" ; then
- add="$inst_prefix_dir$libdir/$linklib"
+ test -f "$inst_prefix_dir$libdir/$linklib"; then
+ add=$inst_prefix_dir$libdir/$linklib
else
- add="$libdir/$linklib"
+ add=$libdir/$linklib
fi
else
# We cannot seem to hardcode it, guess we'll fake it.
- add_dir="-L$libdir"
+ add_dir=-L$libdir
# Try looking first in the location we're being installed to.
if test -n "$inst_prefix_dir"; then
case $libdir in
@@ -6930,10 +8376,10 @@
;;
esac
fi
- add="-l$name"
+ add=-l$name
fi
- if test "$linkmode" = prog; then
+ if test prog = "$linkmode"; then
test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
else
@@ -6941,43 +8387,43 @@
test -n "$add" && deplibs="$add $deplibs"
fi
fi
- elif test "$linkmode" = prog; then
+ elif test prog = "$linkmode"; then
# Here we assume that one of hardcode_direct or hardcode_minus_L
# is not unsupported. This is valid on all known static and
# shared platforms.
- if test "$hardcode_direct" != unsupported; then
- test -n "$old_library" && linklib="$old_library"
+ if test unsupported != "$hardcode_direct"; then
+ test -n "$old_library" && linklib=$old_library
compile_deplibs="$dir/$linklib $compile_deplibs"
finalize_deplibs="$dir/$linklib $finalize_deplibs"
else
compile_deplibs="-l$name -L$dir $compile_deplibs"
finalize_deplibs="-l$name -L$dir $finalize_deplibs"
fi
- elif test "$build_libtool_libs" = yes; then
+ elif test yes = "$build_libtool_libs"; then
# Not a shared library
- if test "$deplibs_check_method" != pass_all; then
+ if test pass_all != "$deplibs_check_method"; then
# We're trying link a shared library against a static one
# but the system doesn't support it.
# Just print a warning and add the library to dependency_libs so
# that the program can be linked against the static library.
echo
- $ECHO "*** Warning: This system can not link to static lib archive $lib."
+ $ECHO "*** Warning: This system cannot link to static lib archive $lib."
echo "*** I have the capability to make that library automatically link in when"
echo "*** you link to this library. But I can only do this if you have a"
echo "*** shared version of the library, which you do not appear to have."
- if test "$module" = yes; then
+ if test yes = "$module"; then
echo "*** But as you try to build a module library, libtool will still create "
echo "*** a static module, that should work as long as the dlopening application"
echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
if test -z "$global_symbol_pipe"; then
echo
echo "*** However, this would only work if libtool was able to extract symbol"
- echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
echo "*** not find such a program. So, this module is probably useless."
- echo "*** \`nm' from GNU binutils and a full rebuild may help."
+ echo "*** 'nm' from GNU binutils and a full rebuild may help."
fi
- if test "$build_old_libs" = no; then
+ if test no = "$build_old_libs"; then
build_libtool_libs=module
build_old_libs=yes
else
@@ -6990,11 +8436,11 @@
fi
fi # link shared/static library?
- if test "$linkmode" = lib; then
+ if test lib = "$linkmode"; then
if test -n "$dependency_libs" &&
- { test "$hardcode_into_libs" != yes ||
- test "$build_old_libs" = yes ||
- test "$link_static" = yes; }; then
+ { test yes != "$hardcode_into_libs" ||
+ test yes = "$build_old_libs" ||
+ test yes = "$link_static"; }; then
# Extract -R from dependency_libs
temp_deplibs=
for libdir in $dependency_libs; do
@@ -7008,12 +8454,12 @@
*) func_append temp_deplibs " $libdir";;
esac
done
- dependency_libs="$temp_deplibs"
+ dependency_libs=$temp_deplibs
fi
func_append newlib_search_path " $absdir"
# Link against this library
- test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+ test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
# ... and its dependency_libs
tmp_libs=
for deplib in $dependency_libs; do
@@ -7023,7 +8469,7 @@
func_resolve_sysroot "$func_stripname_result";;
*) func_resolve_sysroot "$deplib" ;;
esac
- if $opt_preserve_dup_deps ; then
+ if $opt_preserve_dup_deps; then
case "$tmp_libs " in
*" $func_resolve_sysroot_result "*)
func_append specialdeplibs " $func_resolve_sysroot_result" ;;
@@ -7032,12 +8478,12 @@
func_append tmp_libs " $func_resolve_sysroot_result"
done
- if test "$link_all_deplibs" != no; then
+ if test no != "$link_all_deplibs"; then
# Add the search paths of all dependency libraries
for deplib in $dependency_libs; do
path=
case $deplib in
- -L*) path="$deplib" ;;
+ -L*) path=$deplib ;;
*.la)
func_resolve_sysroot "$deplib"
deplib=$func_resolve_sysroot_result
@@ -7045,12 +8491,12 @@
dir=$func_dirname_result
# We need an absolute path.
case $dir in
- [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+ [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;;
*)
absdir=`cd "$dir" && pwd`
if test -z "$absdir"; then
- func_warning "cannot determine absolute directory name of \`$dir'"
- absdir="$dir"
+ func_warning "cannot determine absolute directory name of '$dir'"
+ absdir=$dir
fi
;;
esac
@@ -7058,35 +8504,35 @@
case $host in
*-*-darwin*)
depdepl=
- eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
- if test -n "$deplibrary_names" ; then
- for tmp in $deplibrary_names ; do
+ eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+ if test -n "$deplibrary_names"; then
+ for tmp in $deplibrary_names; do
depdepl=$tmp
done
- if test -f "$absdir/$objdir/$depdepl" ; then
- depdepl="$absdir/$objdir/$depdepl"
- darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ if test -f "$absdir/$objdir/$depdepl"; then
+ depdepl=$absdir/$objdir/$depdepl
+ darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
if test -z "$darwin_install_name"; then
- darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
fi
- func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
- func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}"
+ func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl"
+ func_append linker_flags " -dylib_file $darwin_install_name:$depdepl"
path=
fi
fi
;;
*)
- path="-L$absdir/$objdir"
+ path=-L$absdir/$objdir
;;
esac
else
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
test -z "$libdir" && \
- func_fatal_error "\`$deplib' is not a valid libtool archive"
+ func_fatal_error "'$deplib' is not a valid libtool archive"
test "$absdir" != "$libdir" && \
- func_warning "\`$deplib' seems to be moved"
+ func_warning "'$deplib' seems to be moved"
- path="-L$absdir"
+ path=-L$absdir
fi
;;
esac
@@ -7098,23 +8544,23 @@
fi # link_all_deplibs != no
fi # linkmode = lib
done # for deplib in $libs
- if test "$pass" = link; then
- if test "$linkmode" = "prog"; then
+ if test link = "$pass"; then
+ if test prog = "$linkmode"; then
compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
else
compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
fi
fi
- dependency_libs="$newdependency_libs"
- if test "$pass" = dlpreopen; then
+ dependency_libs=$newdependency_libs
+ if test dlpreopen = "$pass"; then
# Link the dlpreopened libraries before other libraries
for deplib in $save_deplibs; do
deplibs="$deplib $deplibs"
done
fi
- if test "$pass" != dlopen; then
- if test "$pass" != conv; then
+ if test dlopen != "$pass"; then
+ test conv = "$pass" || {
# Make sure lib_search_path contains only unique directories.
lib_search_path=
for dir in $newlib_search_path; do
@@ -7124,12 +8570,12 @@
esac
done
newlib_search_path=
- fi
+ }
- if test "$linkmode,$pass" != "prog,link"; then
- vars="deplibs"
- else
+ if test prog,link = "$linkmode,$pass"; then
vars="compile_deplibs finalize_deplibs"
+ else
+ vars=deplibs
fi
for var in $vars dependency_libs; do
# Add libraries to $var in reverse order
@@ -7187,62 +8633,93 @@
eval $var=\"$tmp_libs\"
done # for var
fi
+
+ # Add Sun CC postdeps if required:
+ test CXX = "$tagname" && {
+ case $host_os in
+ linux*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C++ 5.9
+ func_suncc_cstd_abi
+
+ if test no != "$suncc_use_cstd_abi"; then
+ func_append postdeps ' -library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+
+ solaris*)
+ func_cc_basename "$CC"
+ case $func_cc_basename_result in
+ CC* | sunCC*)
+ func_suncc_cstd_abi
+
+ if test no != "$suncc_use_cstd_abi"; then
+ func_append postdeps ' -library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ }
+
# Last step: remove runtime libs from dependency_libs
# (they stay in deplibs)
tmp_libs=
- for i in $dependency_libs ; do
+ for i in $dependency_libs; do
case " $predeps $postdeps $compiler_lib_search_path " in
*" $i "*)
- i=""
+ i=
;;
esac
- if test -n "$i" ; then
+ if test -n "$i"; then
func_append tmp_libs " $i"
fi
done
dependency_libs=$tmp_libs
done # for pass
- if test "$linkmode" = prog; then
- dlfiles="$newdlfiles"
+ if test prog = "$linkmode"; then
+ dlfiles=$newdlfiles
fi
- if test "$linkmode" = prog || test "$linkmode" = lib; then
- dlprefiles="$newdlprefiles"
+ if test prog = "$linkmode" || test lib = "$linkmode"; then
+ dlprefiles=$newdlprefiles
fi
case $linkmode in
oldlib)
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- func_warning "\`-dlopen' is ignored for archives"
+ if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
+ func_warning "'-dlopen' is ignored for archives"
fi
case " $deplibs" in
*\ -l* | *\ -L*)
- func_warning "\`-l' and \`-L' are ignored for archives" ;;
+ func_warning "'-l' and '-L' are ignored for archives" ;;
esac
test -n "$rpath" && \
- func_warning "\`-rpath' is ignored for archives"
+ func_warning "'-rpath' is ignored for archives"
test -n "$xrpath" && \
- func_warning "\`-R' is ignored for archives"
+ func_warning "'-R' is ignored for archives"
test -n "$vinfo" && \
- func_warning "\`-version-info/-version-number' is ignored for archives"
+ func_warning "'-version-info/-version-number' is ignored for archives"
test -n "$release" && \
- func_warning "\`-release' is ignored for archives"
+ func_warning "'-release' is ignored for archives"
test -n "$export_symbols$export_symbols_regex" && \
- func_warning "\`-export-symbols' is ignored for archives"
+ func_warning "'-export-symbols' is ignored for archives"
# Now set the variables for building old libraries.
build_libtool_libs=no
- oldlibs="$output"
+ oldlibs=$output
func_append objs "$old_deplibs"
;;
lib)
- # Make sure we only generate libraries of the form `libNAME.la'.
+ # Make sure we only generate libraries of the form 'libNAME.la'.
case $outputname in
lib*)
func_stripname 'lib' '.la' "$outputname"
@@ -7251,10 +8728,10 @@
eval libname=\"$libname_spec\"
;;
*)
- test "$module" = no && \
- func_fatal_help "libtool library \`$output' must begin with \`lib'"
+ test no = "$module" \
+ && func_fatal_help "libtool library '$output' must begin with 'lib'"
- if test "$need_lib_prefix" != no; then
+ if test no != "$need_lib_prefix"; then
# Add the "lib" prefix for modules if required
func_stripname '' '.la' "$outputname"
name=$func_stripname_result
@@ -7268,8 +8745,8 @@
esac
if test -n "$objs"; then
- if test "$deplibs_check_method" != pass_all; then
- func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
+ if test pass_all != "$deplibs_check_method"; then
+ func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs"
else
echo
$ECHO "*** Warning: Linking the shared library $output against the non-libtool"
@@ -7278,21 +8755,21 @@
fi
fi
- test "$dlself" != no && \
- func_warning "\`-dlopen self' is ignored for libtool libraries"
+ test no = "$dlself" \
+ || func_warning "'-dlopen self' is ignored for libtool libraries"
set dummy $rpath
shift
- test "$#" -gt 1 && \
- func_warning "ignoring multiple \`-rpath's for a libtool library"
+ test 1 -lt "$#" \
+ && func_warning "ignoring multiple '-rpath's for a libtool library"
- install_libdir="$1"
+ install_libdir=$1
oldlibs=
if test -z "$rpath"; then
- if test "$build_libtool_libs" = yes; then
+ if test yes = "$build_libtool_libs"; then
# Building a libtool convenience library.
- # Some compilers have problems with a `.al' extension so
+ # Some compilers have problems with a '.al' extension so
# convenience libraries should have the same extension an
# archive normally would.
oldlibs="$output_objdir/$libname.$libext $oldlibs"
@@ -7301,20 +8778,20 @@
fi
test -n "$vinfo" && \
- func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
+ func_warning "'-version-info/-version-number' is ignored for convenience libraries"
test -n "$release" && \
- func_warning "\`-release' is ignored for convenience libraries"
+ func_warning "'-release' is ignored for convenience libraries"
else
# Parse the version information argument.
- save_ifs="$IFS"; IFS=':'
+ save_ifs=$IFS; IFS=:
set dummy $vinfo 0 0 0
shift
- IFS="$save_ifs"
+ IFS=$save_ifs
test -n "$7" && \
- func_fatal_help "too many parameters to \`-version-info'"
+ func_fatal_help "too many parameters to '-version-info'"
# convert absolute version numbers to libtool ages
# this retains compatibility with .la files and attempts
@@ -7322,45 +8799,45 @@
case $vinfo_number in
yes)
- number_major="$1"
- number_minor="$2"
- number_revision="$3"
+ number_major=$1
+ number_minor=$2
+ number_revision=$3
#
# There are really only two kinds -- those that
# use the current revision as the major version
# and those that subtract age and use age as
# a minor version. But, then there is irix
- # which has an extra 1 added just for fun
+ # that has an extra 1 added just for fun
#
case $version_type in
# correct linux to gnu/linux during the next big refactor
- darwin|linux|osf|windows|none)
+ darwin|freebsd-elf|linux|osf|windows|none)
func_arith $number_major + $number_minor
current=$func_arith_result
- age="$number_minor"
- revision="$number_revision"
+ age=$number_minor
+ revision=$number_revision
;;
- freebsd-aout|freebsd-elf|qnx|sunos)
- current="$number_major"
- revision="$number_minor"
- age="0"
+ freebsd-aout|qnx|sunos)
+ current=$number_major
+ revision=$number_minor
+ age=0
;;
irix|nonstopux)
func_arith $number_major + $number_minor
current=$func_arith_result
- age="$number_minor"
- revision="$number_minor"
+ age=$number_minor
+ revision=$number_minor
lt_irix_increment=no
;;
*)
- func_fatal_configuration "$modename: unknown library version type \`$version_type'"
+ func_fatal_configuration "$modename: unknown library version type '$version_type'"
;;
esac
;;
no)
- current="$1"
- revision="$2"
- age="$3"
+ current=$1
+ revision=$2
+ age=$3
;;
esac
@@ -7368,30 +8845,30 @@
case $current in
0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
*)
- func_error "CURRENT \`$current' must be a nonnegative integer"
- func_fatal_error "\`$vinfo' is not valid version information"
+ func_error "CURRENT '$current' must be a nonnegative integer"
+ func_fatal_error "'$vinfo' is not valid version information"
;;
esac
case $revision in
0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
*)
- func_error "REVISION \`$revision' must be a nonnegative integer"
- func_fatal_error "\`$vinfo' is not valid version information"
+ func_error "REVISION '$revision' must be a nonnegative integer"
+ func_fatal_error "'$vinfo' is not valid version information"
;;
esac
case $age in
0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
*)
- func_error "AGE \`$age' must be a nonnegative integer"
- func_fatal_error "\`$vinfo' is not valid version information"
+ func_error "AGE '$age' must be a nonnegative integer"
+ func_fatal_error "'$vinfo' is not valid version information"
;;
esac
if test "$age" -gt "$current"; then
- func_error "AGE \`$age' is greater than the current interface number \`$current'"
- func_fatal_error "\`$vinfo' is not valid version information"
+ func_error "AGE '$age' is greater than the current interface number '$current'"
+ func_fatal_error "'$vinfo' is not valid version information"
fi
# Calculate the version variables.
@@ -7406,26 +8883,36 @@
# verstring for coding it into the library header
func_arith $current - $age
major=.$func_arith_result
- versuffix="$major.$age.$revision"
+ versuffix=$major.$age.$revision
# Darwin ld doesn't like 0 for these options...
func_arith $current + 1
minor_current=$func_arith_result
- xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+ xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+ # On Darwin other compilers
+ case $CC in
+ nagfor*)
+ verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
+ ;;
+ *)
+ verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+ ;;
+ esac
;;
freebsd-aout)
- major=".$current"
- versuffix=".$current.$revision";
+ major=.$current
+ versuffix=.$current.$revision
;;
freebsd-elf)
- major=".$current"
- versuffix=".$current"
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix=$major.$age.$revision
;;
irix | nonstopux)
- if test "X$lt_irix_increment" = "Xno"; then
+ if test no = "$lt_irix_increment"; then
func_arith $current - $age
else
func_arith $current - $age + 1
@@ -7436,69 +8923,74 @@
nonstopux) verstring_prefix=nonstopux ;;
*) verstring_prefix=sgi ;;
esac
- verstring="$verstring_prefix$major.$revision"
+ verstring=$verstring_prefix$major.$revision
# Add in all the interfaces that we are compatible with.
loop=$revision
- while test "$loop" -ne 0; do
+ while test 0 -ne "$loop"; do
func_arith $revision - $loop
iface=$func_arith_result
func_arith $loop - 1
loop=$func_arith_result
- verstring="$verstring_prefix$major.$iface:$verstring"
+ verstring=$verstring_prefix$major.$iface:$verstring
done
- # Before this point, $major must not contain `.'.
+ # Before this point, $major must not contain '.'.
major=.$major
- versuffix="$major.$revision"
+ versuffix=$major.$revision
;;
linux) # correct to gnu/linux during the next big refactor
func_arith $current - $age
major=.$func_arith_result
- versuffix="$major.$age.$revision"
+ versuffix=$major.$age.$revision
;;
osf)
func_arith $current - $age
major=.$func_arith_result
- versuffix=".$current.$age.$revision"
- verstring="$current.$age.$revision"
+ versuffix=.$current.$age.$revision
+ verstring=$current.$age.$revision
# Add in all the interfaces that we are compatible with.
loop=$age
- while test "$loop" -ne 0; do
+ while test 0 -ne "$loop"; do
func_arith $current - $loop
iface=$func_arith_result
func_arith $loop - 1
loop=$func_arith_result
- verstring="$verstring:${iface}.0"
+ verstring=$verstring:$iface.0
done
# Make executables depend on our current version.
- func_append verstring ":${current}.0"
+ func_append verstring ":$current.0"
;;
qnx)
- major=".$current"
- versuffix=".$current"
+ major=.$current
+ versuffix=.$current
+ ;;
+
+ sco)
+ major=.$current
+ versuffix=.$current
;;
sunos)
- major=".$current"
- versuffix=".$current.$revision"
+ major=.$current
+ versuffix=.$current.$revision
;;
windows)
# Use '-' rather than '.', since we only want one
- # extension on DOS 8.3 filesystems.
+ # extension on DOS 8.3 file systems.
func_arith $current - $age
major=$func_arith_result
- versuffix="-$major"
+ versuffix=-$major
;;
*)
- func_fatal_configuration "unknown library version type \`$version_type'"
+ func_fatal_configuration "unknown library version type '$version_type'"
;;
esac
@@ -7512,42 +9004,45 @@
verstring=
;;
*)
- verstring="0.0"
+ verstring=0.0
;;
esac
- if test "$need_version" = no; then
+ if test no = "$need_version"; then
versuffix=
else
- versuffix=".0.0"
+ versuffix=.0.0
fi
fi
# Remove version info from name if versioning should be avoided
- if test "$avoid_version" = yes && test "$need_version" = no; then
+ if test yes,no = "$avoid_version,$need_version"; then
major=
versuffix=
- verstring=""
+ verstring=
fi
# Check to see if the archive will have undefined symbols.
- if test "$allow_undefined" = yes; then
- if test "$allow_undefined_flag" = unsupported; then
- func_warning "undefined symbols not allowed in $host shared libraries"
- build_libtool_libs=no
- build_old_libs=yes
+ if test yes = "$allow_undefined"; then
+ if test unsupported = "$allow_undefined_flag"; then
+ if test yes = "$build_old_libs"; then
+ func_warning "undefined symbols not allowed in $host shared libraries; building static only"
+ build_libtool_libs=no
+ else
+ func_fatal_error "can't build $host shared library unless -no-undefined is specified"
+ fi
fi
else
# Don't allow undefined symbols.
- allow_undefined_flag="$no_undefined_flag"
+ allow_undefined_flag=$no_undefined_flag
fi
fi
- func_generate_dlsyms "$libname" "$libname" "yes"
+ func_generate_dlsyms "$libname" "$libname" :
func_append libobjs " $symfileobj"
- test "X$libobjs" = "X " && libobjs=
+ test " " = "$libobjs" && libobjs=
- if test "$opt_mode" != relink; then
+ if test relink != "$opt_mode"; then
# Remove our outputs, but don't remove object files since they
# may have been created when compiling PIC objects.
removelist=
@@ -7556,8 +9051,8 @@
case $p in
*.$objext | *.gcno)
;;
- $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
- if test "X$precious_files_regex" != "X"; then
+ $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*)
+ if test -n "$precious_files_regex"; then
if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
then
continue
@@ -7573,11 +9068,11 @@
fi
# Now set the variables for building old libraries.
- if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+ if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then
func_append oldlibs " $output_objdir/$libname.$libext"
# Transform .lo files to .o files.
- oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
+ oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP`
fi
# Eliminate all temporary directories.
@@ -7598,13 +9093,13 @@
*) func_append finalize_rpath " $libdir" ;;
esac
done
- if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+ if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then
dependency_libs="$temp_xrpath $dependency_libs"
fi
fi
# Make sure dlfiles contains only unique files that won't be dlpreopened
- old_dlfiles="$dlfiles"
+ old_dlfiles=$dlfiles
dlfiles=
for lib in $old_dlfiles; do
case " $dlprefiles $dlfiles " in
@@ -7614,7 +9109,7 @@
done
# Make sure dlprefiles contains only unique files
- old_dlprefiles="$dlprefiles"
+ old_dlprefiles=$dlprefiles
dlprefiles=
for lib in $old_dlprefiles; do
case "$dlprefiles " in
@@ -7623,7 +9118,7 @@
esac
done
- if test "$build_libtool_libs" = yes; then
+ if test yes = "$build_libtool_libs"; then
if test -n "$rpath"; then
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
@@ -7647,7 +9142,7 @@
;;
*)
# Add libc to deplibs on all other systems if necessary.
- if test "$build_libtool_need_lc" = "yes"; then
+ if test yes = "$build_libtool_need_lc"; then
func_append deplibs " -lc"
fi
;;
@@ -7663,9 +9158,9 @@
# I'm not sure if I'm treating the release correctly. I think
# release should show up in the -l (ie -lgmp5) so we don't want to
# add it in twice. Is that correct?
- release=""
- versuffix=""
- major=""
+ release=
+ versuffix=
+ major=
newdeplibs=
droppeddeps=no
case $deplibs_check_method in
@@ -7694,20 +9189,20 @@
-l*)
func_stripname -l '' "$i"
name=$func_stripname_result
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
case " $predeps $postdeps " in
*" $i "*)
func_append newdeplibs " $i"
- i=""
+ i=
;;
esac
fi
- if test -n "$i" ; then
+ if test -n "$i"; then
libname=`eval "\\$ECHO \"$libname_spec\""`
deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
set dummy $deplib_matches; shift
deplib_match=$1
- if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
func_append newdeplibs " $i"
else
droppeddeps=yes
@@ -7737,20 +9232,20 @@
$opt_dry_run || $RM conftest
if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
ldd_output=`ldd conftest`
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
case " $predeps $postdeps " in
*" $i "*)
func_append newdeplibs " $i"
- i=""
+ i=
;;
esac
fi
- if test -n "$i" ; then
+ if test -n "$i"; then
libname=`eval "\\$ECHO \"$libname_spec\""`
deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
set dummy $deplib_matches; shift
deplib_match=$1
- if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
func_append newdeplibs " $i"
else
droppeddeps=yes
@@ -7787,24 +9282,24 @@
-l*)
func_stripname -l '' "$a_deplib"
name=$func_stripname_result
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
case " $predeps $postdeps " in
*" $a_deplib "*)
func_append newdeplibs " $a_deplib"
- a_deplib=""
+ a_deplib=
;;
esac
fi
- if test -n "$a_deplib" ; then
+ if test -n "$a_deplib"; then
libname=`eval "\\$ECHO \"$libname_spec\""`
if test -n "$file_magic_glob"; then
libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
else
libnameglob=$libname
fi
- test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob`
+ test yes = "$want_nocaseglob" && nocaseglob=`shopt -p nocaseglob`
for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
- if test "$want_nocaseglob" = yes; then
+ if test yes = "$want_nocaseglob"; then
shopt -s nocaseglob
potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
$nocaseglob
@@ -7822,25 +9317,25 @@
# We might still enter an endless loop, since a link
# loop can be closed while we follow links,
# but so what?
- potlib="$potent_lib"
+ potlib=$potent_lib
while test -h "$potlib" 2>/dev/null; do
- potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+ potliblink=`ls -ld $potlib | $SED 's/.* -> //'`
case $potliblink in
- [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
- *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;
+ [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;;
+ *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";;
esac
done
if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
$SED -e 10q |
$EGREP "$file_magic_regex" > /dev/null; then
func_append newdeplibs " $a_deplib"
- a_deplib=""
+ a_deplib=
break 2
fi
done
done
fi
- if test -n "$a_deplib" ; then
+ if test -n "$a_deplib"; then
droppeddeps=yes
echo
$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
@@ -7848,7 +9343,7 @@
echo "*** you link to this library. But I can only do this if you have a"
echo "*** shared version of the library, which you do not appear to have"
echo "*** because I did check the linker path looking for a file starting"
- if test -z "$potlib" ; then
+ if test -z "$potlib"; then
$ECHO "*** with $libname but no candidates were found. (...for file magic test)"
else
$ECHO "*** with $libname and none of the candidates passed a file format test"
@@ -7871,30 +9366,30 @@
-l*)
func_stripname -l '' "$a_deplib"
name=$func_stripname_result
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
case " $predeps $postdeps " in
*" $a_deplib "*)
func_append newdeplibs " $a_deplib"
- a_deplib=""
+ a_deplib=
;;
esac
fi
- if test -n "$a_deplib" ; then
+ if test -n "$a_deplib"; then
libname=`eval "\\$ECHO \"$libname_spec\""`
for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
for potent_lib in $potential_libs; do
- potlib="$potent_lib" # see symlink-check above in file_magic test
+ potlib=$potent_lib # see symlink-check above in file_magic test
if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
$EGREP "$match_pattern_regex" > /dev/null; then
func_append newdeplibs " $a_deplib"
- a_deplib=""
+ a_deplib=
break 2
fi
done
done
fi
- if test -n "$a_deplib" ; then
+ if test -n "$a_deplib"; then
droppeddeps=yes
echo
$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
@@ -7902,7 +9397,7 @@
echo "*** you link to this library. But I can only do this if you have a"
echo "*** shared version of the library, which you do not appear to have"
echo "*** because I did check the linker path looking for a file starting"
- if test -z "$potlib" ; then
+ if test -z "$potlib"; then
$ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
else
$ECHO "*** with $libname and none of the candidates passed a file format test"
@@ -7918,18 +9413,18 @@
done # Gone through all deplibs.
;;
none | unknown | *)
- newdeplibs=""
+ newdeplibs=
tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
- if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
- for i in $predeps $postdeps ; do
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+ for i in $predeps $postdeps; do
# can't use Xsed below, because $i might contain '/'
- tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
+ tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"`
done
fi
case $tmp_deplibs in
*[!\ \ ]*)
echo
- if test "X$deplibs_check_method" = "Xnone"; then
+ if test none = "$deplibs_check_method"; then
echo "*** Warning: inter-library dependencies are not supported in this platform."
else
echo "*** Warning: inter-library dependencies are not known to be supported."
@@ -7953,8 +9448,8 @@
;;
esac
- if test "$droppeddeps" = yes; then
- if test "$module" = yes; then
+ if test yes = "$droppeddeps"; then
+ if test yes = "$module"; then
echo
echo "*** Warning: libtool could not satisfy all declared inter-library"
$ECHO "*** dependencies of module $libname. Therefore, libtool will create"
@@ -7963,12 +9458,12 @@
if test -z "$global_symbol_pipe"; then
echo
echo "*** However, this would only work if libtool was able to extract symbol"
- echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
+ echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
echo "*** not find such a program. So, this module is probably useless."
- echo "*** \`nm' from GNU binutils and a full rebuild may help."
+ echo "*** 'nm' from GNU binutils and a full rebuild may help."
fi
- if test "$build_old_libs" = no; then
- oldlibs="$output_objdir/$libname.$libext"
+ if test no = "$build_old_libs"; then
+ oldlibs=$output_objdir/$libname.$libext
build_libtool_libs=module
build_old_libs=yes
else
@@ -7979,14 +9474,14 @@
echo "*** automatically added whenever a program is linked with this library"
echo "*** or is declared to -dlopen it."
- if test "$allow_undefined" = no; then
+ if test no = "$allow_undefined"; then
echo
echo "*** Since this library must not contain undefined symbols,"
echo "*** because either the platform does not support them or"
echo "*** it was explicitly requested with -no-undefined,"
echo "*** libtool will only create a static version of it."
- if test "$build_old_libs" = no; then
- oldlibs="$output_objdir/$libname.$libext"
+ if test no = "$build_old_libs"; then
+ oldlibs=$output_objdir/$libname.$libext
build_libtool_libs=module
build_old_libs=yes
else
@@ -8032,7 +9527,7 @@
*) func_append new_libs " $deplib" ;;
esac
done
- deplibs="$new_libs"
+ deplibs=$new_libs
# All the library-specific variables (install_libdir is set above).
library_names=
@@ -8040,25 +9535,25 @@
dlname=
# Test again, we may have decided not to build it any more
- if test "$build_libtool_libs" = yes; then
- # Remove ${wl} instances when linking with ld.
+ if test yes = "$build_libtool_libs"; then
+ # Remove $wl instances when linking with ld.
# FIXME: should test the right _cmds variable.
case $archive_cmds in
*\$LD\ *) wl= ;;
esac
- if test "$hardcode_into_libs" = yes; then
+ if test yes = "$hardcode_into_libs"; then
# Hardcode the library paths
hardcode_libdirs=
dep_rpath=
- rpath="$finalize_rpath"
- test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
+ rpath=$finalize_rpath
+ test relink = "$opt_mode" || rpath=$compile_rpath$rpath
for libdir in $rpath; do
if test -n "$hardcode_libdir_flag_spec"; then
if test -n "$hardcode_libdir_separator"; then
func_replace_sysroot "$libdir"
libdir=$func_replace_sysroot_result
if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
+ hardcode_libdirs=$libdir
else
# Just accumulate the unique libdirs.
case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
@@ -8083,7 +9578,7 @@
# Substitute the hardcoded libdirs into the rpath.
if test -n "$hardcode_libdir_separator" &&
test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
+ libdir=$hardcode_libdirs
eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
fi
if test -n "$runpath_var" && test -n "$perm_rpath"; then
@@ -8097,8 +9592,8 @@
test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
fi
- shlibpath="$finalize_shlibpath"
- test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+ shlibpath=$finalize_shlibpath
+ test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath
if test -n "$shlibpath"; then
eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
fi
@@ -8108,19 +9603,19 @@
eval library_names=\"$library_names_spec\"
set dummy $library_names
shift
- realname="$1"
+ realname=$1
shift
if test -n "$soname_spec"; then
eval soname=\"$soname_spec\"
else
- soname="$realname"
+ soname=$realname
fi
if test -z "$dlname"; then
dlname=$soname
fi
- lib="$output_objdir/$realname"
+ lib=$output_objdir/$realname
linknames=
for link
do
@@ -8134,7 +9629,7 @@
delfiles=
if test -n "$export_symbols" && test -n "$include_expsyms"; then
$opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
- export_symbols="$output_objdir/$libname.uexp"
+ export_symbols=$output_objdir/$libname.uexp
func_append delfiles " $export_symbols"
fi
@@ -8143,31 +9638,31 @@
cygwin* | mingw* | cegcc*)
if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
# exporting using user supplied symfile
- if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
+ func_dll_def_p "$export_symbols" || {
# and it's NOT already a .def file. Must figure out
# which of the given symbols are data symbols and tag
# them as such. So, trigger use of export_symbols_cmds.
# export_symbols gets reassigned inside the "prepare
# the list of exported symbols" if statement, so the
# include_expsyms logic still works.
- orig_export_symbols="$export_symbols"
+ orig_export_symbols=$export_symbols
export_symbols=
always_export_symbols=yes
- fi
+ }
fi
;;
esac
# Prepare the list of exported symbols
if test -z "$export_symbols"; then
- if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
- func_verbose "generating symbol list for \`$libname.la'"
- export_symbols="$output_objdir/$libname.exp"
+ if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then
+ func_verbose "generating symbol list for '$libname.la'"
+ export_symbols=$output_objdir/$libname.exp
$opt_dry_run || $RM $export_symbols
cmds=$export_symbols_cmds
- save_ifs="$IFS"; IFS='~'
+ save_ifs=$IFS; IFS='~'
for cmd1 in $cmds; do
- IFS="$save_ifs"
+ IFS=$save_ifs
# Take the normal branch if the nm_file_list_spec branch
# doesn't work or if tool conversion is not needed.
case $nm_file_list_spec~$to_tool_file_cmd in
@@ -8181,7 +9676,7 @@
try_normal_branch=no
;;
esac
- if test "$try_normal_branch" = yes \
+ if test yes = "$try_normal_branch" \
&& { test "$len" -lt "$max_cmd_len" \
|| test "$max_cmd_len" -le -1; }
then
@@ -8192,7 +9687,7 @@
output_la=$func_basename_result
save_libobjs=$libobjs
save_output=$output
- output=${output_objdir}/${output_la}.nm
+ output=$output_objdir/$output_la.nm
func_to_tool_file "$output"
libobjs=$nm_file_list_spec$func_to_tool_file_result
func_append delfiles " $output"
@@ -8215,8 +9710,8 @@
break
fi
done
- IFS="$save_ifs"
- if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
+ IFS=$save_ifs
+ if test -n "$export_symbols_regex" && test : != "$skipped_export"; then
func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
fi
@@ -8224,16 +9719,16 @@
fi
if test -n "$export_symbols" && test -n "$include_expsyms"; then
- tmp_export_symbols="$export_symbols"
- test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+ tmp_export_symbols=$export_symbols
+ test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
$opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
fi
- if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
+ if test : != "$skipped_export" && test -n "$orig_export_symbols"; then
# The given exports_symbols file has to be filtered, so filter it.
- func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+ func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
# FIXME: $output_objdir/$libname.filter potentially contains lots of
- # 's' commands which not all seds can handle. GNU sed should be fine
+ # 's' commands, which not all seds can handle. GNU sed should be fine
# though. Also, the filter scales superlinearly with the number of
# global variables. join(1) would be nice here, but unfortunately
# isn't a blessed tool.
@@ -8252,11 +9747,11 @@
;;
esac
done
- deplibs="$tmp_deplibs"
+ deplibs=$tmp_deplibs
if test -n "$convenience"; then
if test -n "$whole_archive_flag_spec" &&
- test "$compiler_needs_object" = yes &&
+ test yes = "$compiler_needs_object" &&
test -z "$libobjs"; then
# extract the archives, so we have objects to list.
# TODO: could optimize this to just extract one archive.
@@ -8267,7 +9762,7 @@
eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
test "X$libobjs" = "X " && libobjs=
else
- gentop="$output_objdir/${outputname}x"
+ gentop=$output_objdir/${outputname}x
func_append generated " $gentop"
func_extract_archives $gentop $convenience
@@ -8276,18 +9771,18 @@
fi
fi
- if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+ if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then
eval flag=\"$thread_safe_flag_spec\"
func_append linker_flags " $flag"
fi
# Make a backup of the uninstalled library when relinking
- if test "$opt_mode" = relink; then
+ if test relink = "$opt_mode"; then
$opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
fi
# Do each of the archive commands.
- if test "$module" = yes && test -n "$module_cmds" ; then
+ if test yes = "$module" && test -n "$module_cmds"; then
if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
eval test_cmds=\"$module_expsym_cmds\"
cmds=$module_expsym_cmds
@@ -8305,7 +9800,7 @@
fi
fi
- if test "X$skipped_export" != "X:" &&
+ if test : != "$skipped_export" &&
func_len " $test_cmds" &&
len=$func_len_result &&
test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
@@ -8338,8 +9833,8 @@
last_robj=
k=1
- if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
- output=${output_objdir}/${output_la}.lnkscript
+ if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then
+ output=$output_objdir/$output_la.lnkscript
func_verbose "creating GNU ld script: $output"
echo 'INPUT (' > $output
for obj in $save_libobjs
@@ -8351,14 +9846,14 @@
func_append delfiles " $output"
func_to_tool_file "$output"
output=$func_to_tool_file_result
- elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
- output=${output_objdir}/${output_la}.lnk
+ elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then
+ output=$output_objdir/$output_la.lnk
func_verbose "creating linker input file list: $output"
: > $output
set x $save_libobjs
shift
firstobj=
- if test "$compiler_needs_object" = yes; then
+ if test yes = "$compiler_needs_object"; then
firstobj="$1 "
shift
fi
@@ -8373,7 +9868,7 @@
else
if test -n "$save_libobjs"; then
func_verbose "creating reloadable object files..."
- output=$output_objdir/$output_la-${k}.$objext
+ output=$output_objdir/$output_la-$k.$objext
eval test_cmds=\"$reload_cmds\"
func_len " $test_cmds"
len0=$func_len_result
@@ -8385,13 +9880,13 @@
func_len " $obj"
func_arith $len + $func_len_result
len=$func_arith_result
- if test "X$objlist" = X ||
+ if test -z "$objlist" ||
test "$len" -lt "$max_cmd_len"; then
func_append objlist " $obj"
else
# The command $test_cmds is almost too long, add a
# command to the queue.
- if test "$k" -eq 1 ; then
+ if test 1 -eq "$k"; then
# The first file doesn't have a previous command to add.
reload_objs=$objlist
eval concat_cmds=\"$reload_cmds\"
@@ -8401,10 +9896,10 @@
reload_objs="$objlist $last_robj"
eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
fi
- last_robj=$output_objdir/$output_la-${k}.$objext
+ last_robj=$output_objdir/$output_la-$k.$objext
func_arith $k + 1
k=$func_arith_result
- output=$output_objdir/$output_la-${k}.$objext
+ output=$output_objdir/$output_la-$k.$objext
objlist=" $obj"
func_len " $last_robj"
func_arith $len0 + $func_len_result
@@ -8416,9 +9911,9 @@
# files will link in the last one created.
test -z "$concat_cmds" || concat_cmds=$concat_cmds~
reload_objs="$objlist $last_robj"
- eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
+ eval concat_cmds=\"\$concat_cmds$reload_cmds\"
if test -n "$last_robj"; then
- eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
+ eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
fi
func_append delfiles " $output"
@@ -8426,9 +9921,9 @@
output=
fi
- if ${skipped_export-false}; then
- func_verbose "generating symbol list for \`$libname.la'"
- export_symbols="$output_objdir/$libname.exp"
+ ${skipped_export-false} && {
+ func_verbose "generating symbol list for '$libname.la'"
+ export_symbols=$output_objdir/$libname.exp
$opt_dry_run || $RM $export_symbols
libobjs=$output
# Append the command to create the export file.
@@ -8437,16 +9932,16 @@
if test -n "$last_robj"; then
eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
fi
- fi
+ }
test -n "$save_libobjs" &&
func_verbose "creating a temporary reloadable object file: $output"
# Loop through the commands generated above and execute them.
- save_ifs="$IFS"; IFS='~'
+ save_ifs=$IFS; IFS='~'
for cmd in $concat_cmds; do
- IFS="$save_ifs"
- $opt_silent || {
+ IFS=$save_ifs
+ $opt_quiet || {
func_quote_for_expand "$cmd"
eval "func_echo $func_quote_for_expand_result"
}
@@ -8454,7 +9949,7 @@
lt_exit=$?
# Restore the uninstalled library and exit
- if test "$opt_mode" = relink; then
+ if test relink = "$opt_mode"; then
( cd "$output_objdir" && \
$RM "${realname}T" && \
$MV "${realname}U" "$realname" )
@@ -8463,7 +9958,7 @@
exit $lt_exit
}
done
- IFS="$save_ifs"
+ IFS=$save_ifs
if test -n "$export_symbols_regex" && ${skipped_export-false}; then
func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
@@ -8471,18 +9966,18 @@
fi
fi
- if ${skipped_export-false}; then
+ ${skipped_export-false} && {
if test -n "$export_symbols" && test -n "$include_expsyms"; then
- tmp_export_symbols="$export_symbols"
- test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+ tmp_export_symbols=$export_symbols
+ test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
$opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
fi
if test -n "$orig_export_symbols"; then
# The given exports_symbols file has to be filtered, so filter it.
- func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+ func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
# FIXME: $output_objdir/$libname.filter potentially contains lots of
- # 's' commands which not all seds can handle. GNU sed should be fine
+ # 's' commands, which not all seds can handle. GNU sed should be fine
# though. Also, the filter scales superlinearly with the number of
# global variables. join(1) would be nice here, but unfortunately
# isn't a blessed tool.
@@ -8491,7 +9986,7 @@
export_symbols=$output_objdir/$libname.def
$opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
fi
- fi
+ }
libobjs=$output
# Restore the value of output.
@@ -8505,7 +10000,7 @@
# value of $libobjs for piecewise linking.
# Do each of the archive commands.
- if test "$module" = yes && test -n "$module_cmds" ; then
+ if test yes = "$module" && test -n "$module_cmds"; then
if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
cmds=$module_expsym_cmds
else
@@ -8527,7 +10022,7 @@
# Add any objects from preloaded convenience libraries
if test -n "$dlprefiles"; then
- gentop="$output_objdir/${outputname}x"
+ gentop=$output_objdir/${outputname}x
func_append generated " $gentop"
func_extract_archives $gentop $dlprefiles
@@ -8535,11 +10030,12 @@
test "X$libobjs" = "X " && libobjs=
fi
- save_ifs="$IFS"; IFS='~'
+ save_ifs=$IFS; IFS='~'
for cmd in $cmds; do
- IFS="$save_ifs"
+ IFS=$sp$nl
eval cmd=\"$cmd\"
- $opt_silent || {
+ IFS=$save_ifs
+ $opt_quiet || {
func_quote_for_expand "$cmd"
eval "func_echo $func_quote_for_expand_result"
}
@@ -8547,7 +10043,7 @@
lt_exit=$?
# Restore the uninstalled library and exit
- if test "$opt_mode" = relink; then
+ if test relink = "$opt_mode"; then
( cd "$output_objdir" && \
$RM "${realname}T" && \
$MV "${realname}U" "$realname" )
@@ -8556,10 +10052,10 @@
exit $lt_exit
}
done
- IFS="$save_ifs"
+ IFS=$save_ifs
# Restore the uninstalled library and exit
- if test "$opt_mode" = relink; then
+ if test relink = "$opt_mode"; then
$opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
if test -n "$convenience"; then
@@ -8579,39 +10075,39 @@
done
# If -module or -export-dynamic was specified, set the dlname.
- if test "$module" = yes || test "$export_dynamic" = yes; then
+ if test yes = "$module" || test yes = "$export_dynamic"; then
# On all known operating systems, these are identical.
- dlname="$soname"
+ dlname=$soname
fi
fi
;;
obj)
- if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
- func_warning "\`-dlopen' is ignored for objects"
+ if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
+ func_warning "'-dlopen' is ignored for objects"
fi
case " $deplibs" in
*\ -l* | *\ -L*)
- func_warning "\`-l' and \`-L' are ignored for objects" ;;
+ func_warning "'-l' and '-L' are ignored for objects" ;;
esac
test -n "$rpath" && \
- func_warning "\`-rpath' is ignored for objects"
+ func_warning "'-rpath' is ignored for objects"
test -n "$xrpath" && \
- func_warning "\`-R' is ignored for objects"
+ func_warning "'-R' is ignored for objects"
test -n "$vinfo" && \
- func_warning "\`-version-info' is ignored for objects"
+ func_warning "'-version-info' is ignored for objects"
test -n "$release" && \
- func_warning "\`-release' is ignored for objects"
+ func_warning "'-release' is ignored for objects"
case $output in
*.lo)
test -n "$objs$old_deplibs" && \
- func_fatal_error "cannot build library object \`$output' from non-libtool objects"
+ func_fatal_error "cannot build library object '$output' from non-libtool objects"
libobj=$output
func_lo2o "$libobj"
@@ -8619,7 +10115,7 @@
;;
*)
libobj=
- obj="$output"
+ obj=$output
;;
esac
@@ -8632,17 +10128,19 @@
# the extraction.
reload_conv_objs=
gentop=
- # reload_cmds runs $LD directly, so let us get rid of
- # -Wl from whole_archive_flag_spec and hope we can get by with
- # turning comma into space..
- wl=
-
+ # if reload_cmds runs $LD directly, get rid of -Wl from
+ # whole_archive_flag_spec and hope we can get by with turning comma
+ # into space.
+ case $reload_cmds in
+ *\$LD[\ \$]*) wl= ;;
+ esac
if test -n "$convenience"; then
if test -n "$whole_archive_flag_spec"; then
eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
- reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
+ test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
+ reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags
else
- gentop="$output_objdir/${obj}x"
+ gentop=$output_objdir/${obj}x
func_append generated " $gentop"
func_extract_archives $gentop $convenience
@@ -8651,12 +10149,12 @@
fi
# If we're not building shared, we need to use non_pic_objs
- test "$build_libtool_libs" != yes && libobjs="$non_pic_objects"
+ test yes = "$build_libtool_libs" || libobjs=$non_pic_objects
# Create the old-style object.
- reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+ reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs
- output="$obj"
+ output=$obj
func_execute_cmds "$reload_cmds" 'exit $?'
# Exit if we aren't doing a library object file.
@@ -8668,7 +10166,7 @@
exit $EXIT_SUCCESS
fi
- if test "$build_libtool_libs" != yes; then
+ test yes = "$build_libtool_libs" || {
if test -n "$gentop"; then
func_show_eval '${RM}r "$gentop"'
fi
@@ -8678,12 +10176,12 @@
# $show "echo timestamp > $libobj"
# $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
exit $EXIT_SUCCESS
- fi
+ }
- if test -n "$pic_flag" || test "$pic_mode" != default; then
+ if test -n "$pic_flag" || test default != "$pic_mode"; then
# Only do commands if we really have different PIC objects.
reload_objs="$libobjs $reload_conv_objs"
- output="$libobj"
+ output=$libobj
func_execute_cmds "$reload_cmds" 'exit $?'
fi
@@ -8700,16 +10198,14 @@
output=$func_stripname_result.exe;;
esac
test -n "$vinfo" && \
- func_warning "\`-version-info' is ignored for programs"
+ func_warning "'-version-info' is ignored for programs"
test -n "$release" && \
- func_warning "\`-release' is ignored for programs"
+ func_warning "'-release' is ignored for programs"
- test "$preload" = yes \
- && test "$dlopen_support" = unknown \
- && test "$dlopen_self" = unknown \
- && test "$dlopen_self_static" = unknown && \
- func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
+ $preload \
+ && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \
+ && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support."
case $host in
*-*-rhapsody* | *-*-darwin1.[012])
@@ -8723,11 +10219,11 @@
*-*-darwin*)
# Don't allow lazy linking, it breaks C++ global constructors
# But is supposedly fixed on 10.4 or later (yay!).
- if test "$tagname" = CXX ; then
+ if test CXX = "$tagname"; then
case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
10.[0123])
- func_append compile_command " ${wl}-bind_at_load"
- func_append finalize_command " ${wl}-bind_at_load"
+ func_append compile_command " $wl-bind_at_load"
+ func_append finalize_command " $wl-bind_at_load"
;;
esac
fi
@@ -8763,7 +10259,7 @@
*) func_append new_libs " $deplib" ;;
esac
done
- compile_deplibs="$new_libs"
+ compile_deplibs=$new_libs
func_append compile_command " $compile_deplibs"
@@ -8787,7 +10283,7 @@
if test -n "$hardcode_libdir_flag_spec"; then
if test -n "$hardcode_libdir_separator"; then
if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
+ hardcode_libdirs=$libdir
else
# Just accumulate the unique libdirs.
case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
@@ -8810,7 +10306,7 @@
fi
case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
- testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
+ testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'`
case :$dllsearchpath: in
*":$libdir:"*) ;;
::) dllsearchpath=$libdir;;
@@ -8827,10 +10323,10 @@
# Substitute the hardcoded libdirs into the rpath.
if test -n "$hardcode_libdir_separator" &&
test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
+ libdir=$hardcode_libdirs
eval rpath=\" $hardcode_libdir_flag_spec\"
fi
- compile_rpath="$rpath"
+ compile_rpath=$rpath
rpath=
hardcode_libdirs=
@@ -8838,7 +10334,7 @@
if test -n "$hardcode_libdir_flag_spec"; then
if test -n "$hardcode_libdir_separator"; then
if test -z "$hardcode_libdirs"; then
- hardcode_libdirs="$libdir"
+ hardcode_libdirs=$libdir
else
# Just accumulate the unique libdirs.
case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
@@ -8863,45 +10359,43 @@
# Substitute the hardcoded libdirs into the rpath.
if test -n "$hardcode_libdir_separator" &&
test -n "$hardcode_libdirs"; then
- libdir="$hardcode_libdirs"
+ libdir=$hardcode_libdirs
eval rpath=\" $hardcode_libdir_flag_spec\"
fi
- finalize_rpath="$rpath"
+ finalize_rpath=$rpath
- if test -n "$libobjs" && test "$build_old_libs" = yes; then
+ if test -n "$libobjs" && test yes = "$build_old_libs"; then
# Transform all the library objects into standard objects.
compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
fi
- func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
+ func_generate_dlsyms "$outputname" "@PROGRAM@" false
# template prelinking step
if test -n "$prelink_cmds"; then
func_execute_cmds "$prelink_cmds" 'exit $?'
fi
- wrappers_required=yes
+ wrappers_required=:
case $host in
*cegcc* | *mingw32ce*)
# Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
- wrappers_required=no
+ wrappers_required=false
;;
*cygwin* | *mingw* )
- if test "$build_libtool_libs" != yes; then
- wrappers_required=no
- fi
+ test yes = "$build_libtool_libs" || wrappers_required=false
;;
*)
- if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
- wrappers_required=no
+ if test no = "$need_relink" || test yes != "$build_libtool_libs"; then
+ wrappers_required=false
fi
;;
esac
- if test "$wrappers_required" = no; then
+ $wrappers_required || {
# Replace the output file specification.
compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
- link_command="$compile_command$compile_rpath"
+ link_command=$compile_command$compile_rpath
# We have no uninstalled library dependencies, so finalize right now.
exit_status=0
@@ -8914,12 +10408,12 @@
fi
# Delete the generated files.
- if test -f "$output_objdir/${outputname}S.${objext}"; then
- func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
+ if test -f "$output_objdir/${outputname}S.$objext"; then
+ func_show_eval '$RM "$output_objdir/${outputname}S.$objext"'
fi
exit $exit_status
- fi
+ }
if test -n "$compile_shlibpath$finalize_shlibpath"; then
compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
@@ -8949,9 +10443,9 @@
fi
fi
- if test "$no_install" = yes; then
+ if test yes = "$no_install"; then
# We don't need to create a wrapper script.
- link_command="$compile_var$compile_command$compile_rpath"
+ link_command=$compile_var$compile_command$compile_rpath
# Replace the output file specification.
link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
# Delete the old output file.
@@ -8968,27 +10462,28 @@
exit $EXIT_SUCCESS
fi
- if test "$hardcode_action" = relink; then
- # Fast installation is not supported
- link_command="$compile_var$compile_command$compile_rpath"
- relink_command="$finalize_var$finalize_command$finalize_rpath"
+ case $hardcode_action,$fast_install in
+ relink,*)
+ # Fast installation is not supported
+ link_command=$compile_var$compile_command$compile_rpath
+ relink_command=$finalize_var$finalize_command$finalize_rpath
- func_warning "this platform does not like uninstalled shared libraries"
- func_warning "\`$output' will be relinked during installation"
- else
- if test "$fast_install" != no; then
- link_command="$finalize_var$compile_command$finalize_rpath"
- if test "$fast_install" = yes; then
- relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
- else
- # fast_install is set to needless
- relink_command=
- fi
- else
- link_command="$compile_var$compile_command$compile_rpath"
- relink_command="$finalize_var$finalize_command$finalize_rpath"
- fi
- fi
+ func_warning "this platform does not like uninstalled shared libraries"
+ func_warning "'$output' will be relinked during installation"
+ ;;
+ *,yes)
+ link_command=$finalize_var$compile_command$finalize_rpath
+ relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
+ ;;
+ *,no)
+ link_command=$compile_var$compile_command$compile_rpath
+ relink_command=$finalize_var$finalize_command$finalize_rpath
+ ;;
+ *,needless)
+ link_command=$finalize_var$compile_command$finalize_rpath
+ relink_command=
+ ;;
+ esac
# Replace the output file specification.
link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
@@ -9045,8 +10540,8 @@
func_dirname_and_basename "$output" "" "."
output_name=$func_basename_result
output_path=$func_dirname_result
- cwrappersource="$output_path/$objdir/lt-$output_name.c"
- cwrapper="$output_path/$output_name.exe"
+ cwrappersource=$output_path/$objdir/lt-$output_name.c
+ cwrapper=$output_path/$output_name.exe
$RM $cwrappersource $cwrapper
trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
@@ -9067,7 +10562,7 @@
trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
$opt_dry_run || {
# note: this script will not be executed, so do not chmod.
- if test "x$build" = "x$host" ; then
+ if test "x$build" = "x$host"; then
$cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
else
func_emit_wrapper no > $func_ltwrapper_scriptname_result
@@ -9090,25 +10585,27 @@
# See if we need to build an old-fashioned archive.
for oldlib in $oldlibs; do
- if test "$build_libtool_libs" = convenience; then
- oldobjs="$libobjs_save $symfileobj"
- addlibs="$convenience"
- build_libtool_libs=no
- else
- if test "$build_libtool_libs" = module; then
- oldobjs="$libobjs_save"
+ case $build_libtool_libs in
+ convenience)
+ oldobjs="$libobjs_save $symfileobj"
+ addlibs=$convenience
build_libtool_libs=no
- else
+ ;;
+ module)
+ oldobjs=$libobjs_save
+ addlibs=$old_convenience
+ build_libtool_libs=no
+ ;;
+ *)
oldobjs="$old_deplibs $non_pic_objects"
- if test "$preload" = yes && test -f "$symfileobj"; then
- func_append oldobjs " $symfileobj"
- fi
- fi
- addlibs="$old_convenience"
- fi
+ $preload && test -f "$symfileobj" \
+ && func_append oldobjs " $symfileobj"
+ addlibs=$old_convenience
+ ;;
+ esac
if test -n "$addlibs"; then
- gentop="$output_objdir/${outputname}x"
+ gentop=$output_objdir/${outputname}x
func_append generated " $gentop"
func_extract_archives $gentop $addlibs
@@ -9116,13 +10613,13 @@
fi
# Do each command in the archive commands.
- if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+ if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then
cmds=$old_archive_from_new_cmds
else
# Add any objects from preloaded convenience libraries
if test -n "$dlprefiles"; then
- gentop="$output_objdir/${outputname}x"
+ gentop=$output_objdir/${outputname}x
func_append generated " $gentop"
func_extract_archives $gentop $dlprefiles
@@ -9143,7 +10640,7 @@
:
else
echo "copying selected object files to avoid basename conflicts..."
- gentop="$output_objdir/${outputname}x"
+ gentop=$output_objdir/${outputname}x
func_append generated " $gentop"
func_mkdir_p "$gentop"
save_oldobjs=$oldobjs
@@ -9152,7 +10649,7 @@
for obj in $save_oldobjs
do
func_basename "$obj"
- objbase="$func_basename_result"
+ objbase=$func_basename_result
case " $oldobjs " in
" ") oldobjs=$obj ;;
*[\ /]"$objbase "*)
@@ -9221,18 +10718,18 @@
else
# the above command should be used before it gets too long
oldobjs=$objlist
- if test "$obj" = "$last_oldobj" ; then
+ if test "$obj" = "$last_oldobj"; then
RANLIB=$save_RANLIB
fi
test -z "$concat_cmds" || concat_cmds=$concat_cmds~
- eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
+ eval concat_cmds=\"\$concat_cmds$old_archive_cmds\"
objlist=
len=$len0
fi
done
RANLIB=$save_RANLIB
oldobjs=$objlist
- if test "X$oldobjs" = "X" ; then
+ if test -z "$oldobjs"; then
eval cmds=\"\$concat_cmds\"
else
eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
@@ -9249,7 +10746,7 @@
case $output in
*.la)
old_library=
- test "$build_old_libs" = yes && old_library="$libname.$libext"
+ test yes = "$build_old_libs" && old_library=$libname.$libext
func_verbose "creating $output"
# Preserve any variables that may affect compiler behavior
@@ -9264,31 +10761,31 @@
fi
done
# Quote the link command for shipping.
- relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+ relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
- if test "$hardcode_automatic" = yes ; then
+ if test yes = "$hardcode_automatic"; then
relink_command=
fi
# Only create the output if not a dry run.
$opt_dry_run || {
for installed in no yes; do
- if test "$installed" = yes; then
+ if test yes = "$installed"; then
if test -z "$install_libdir"; then
break
fi
- output="$output_objdir/$outputname"i
+ output=$output_objdir/${outputname}i
# Replace all uninstalled libtool libraries with the installed ones
newdependency_libs=
for deplib in $dependency_libs; do
case $deplib in
*.la)
func_basename "$deplib"
- name="$func_basename_result"
+ name=$func_basename_result
func_resolve_sysroot "$deplib"
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
+ eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
test -z "$libdir" && \
- func_fatal_error "\`$deplib' is not a valid libtool archive"
+ func_fatal_error "'$deplib' is not a valid libtool archive"
func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
;;
-L*)
@@ -9304,23 +10801,23 @@
*) func_append newdependency_libs " $deplib" ;;
esac
done
- dependency_libs="$newdependency_libs"
+ dependency_libs=$newdependency_libs
newdlfiles=
for lib in $dlfiles; do
case $lib in
*.la)
func_basename "$lib"
- name="$func_basename_result"
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ name=$func_basename_result
+ eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
test -z "$libdir" && \
- func_fatal_error "\`$lib' is not a valid libtool archive"
+ func_fatal_error "'$lib' is not a valid libtool archive"
func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
;;
*) func_append newdlfiles " $lib" ;;
esac
done
- dlfiles="$newdlfiles"
+ dlfiles=$newdlfiles
newdlprefiles=
for lib in $dlprefiles; do
case $lib in
@@ -9330,34 +10827,34 @@
# didn't already link the preopened objects directly into
# the library:
func_basename "$lib"
- name="$func_basename_result"
- eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ name=$func_basename_result
+ eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
test -z "$libdir" && \
- func_fatal_error "\`$lib' is not a valid libtool archive"
+ func_fatal_error "'$lib' is not a valid libtool archive"
func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
;;
esac
done
- dlprefiles="$newdlprefiles"
+ dlprefiles=$newdlprefiles
else
newdlfiles=
for lib in $dlfiles; do
case $lib in
- [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
*) abs=`pwd`"/$lib" ;;
esac
func_append newdlfiles " $abs"
done
- dlfiles="$newdlfiles"
+ dlfiles=$newdlfiles
newdlprefiles=
for lib in $dlprefiles; do
case $lib in
- [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+ [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
*) abs=`pwd`"/$lib" ;;
esac
func_append newdlprefiles " $abs"
done
- dlprefiles="$newdlprefiles"
+ dlprefiles=$newdlprefiles
fi
$RM $output
# place dlname in correct position for cygwin
@@ -9373,10 +10870,9 @@
case $host,$output,$installed,$module,$dlname in
*cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
# If a -bindir argument was supplied, place the dll there.
- if test "x$bindir" != x ;
- then
+ if test -n "$bindir"; then
func_relative_path "$install_libdir" "$bindir"
- tdlname=$func_relative_path_result$dlname
+ tdlname=$func_relative_path_result/$dlname
else
# Otherwise fall back on heuristic.
tdlname=../bin/$dlname
@@ -9385,7 +10881,7 @@
esac
$ECHO > $output "\
# $outputname - a libtool library file
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
@@ -9399,7 +10895,7 @@
# The name of the static archive.
old_library='$old_library'
-# Linker flags that can not go in dependency_libs.
+# Linker flags that cannot go in dependency_libs.
inherited_linker_flags='$new_inherited_linker_flags'
# Libraries that this one depends upon.
@@ -9425,7 +10921,7 @@
# Directory that this library needs to be installed in:
libdir='$install_libdir'"
- if test "$installed" = no && test "$need_relink" = yes; then
+ if test no,yes = "$installed,$need_relink"; then
$ECHO >> $output "\
relink_command=\"$relink_command\""
fi
@@ -9440,27 +10936,29 @@
exit $EXIT_SUCCESS
}
-{ test "$opt_mode" = link || test "$opt_mode" = relink; } &&
- func_mode_link ${1+"$@"}
+if test link = "$opt_mode" || test relink = "$opt_mode"; then
+ func_mode_link ${1+"$@"}
+fi
# func_mode_uninstall arg...
func_mode_uninstall ()
{
- $opt_debug
- RM="$nonopt"
+ $debug_cmd
+
+ RM=$nonopt
files=
- rmforce=
+ rmforce=false
exit_status=0
# This variable tells wrapper scripts just to set variables rather
# than running their programs.
- libtool_install_magic="$magic"
+ libtool_install_magic=$magic
for arg
do
case $arg in
- -f) func_append RM " $arg"; rmforce=yes ;;
+ -f) func_append RM " $arg"; rmforce=: ;;
-*) func_append RM " $arg" ;;
*) func_append files " $arg" ;;
esac
@@ -9473,18 +10971,18 @@
for file in $files; do
func_dirname "$file" "" "."
- dir="$func_dirname_result"
- if test "X$dir" = X.; then
- odir="$objdir"
+ dir=$func_dirname_result
+ if test . = "$dir"; then
+ odir=$objdir
else
- odir="$dir/$objdir"
+ odir=$dir/$objdir
fi
func_basename "$file"
- name="$func_basename_result"
- test "$opt_mode" = uninstall && odir="$dir"
+ name=$func_basename_result
+ test uninstall = "$opt_mode" && odir=$dir
# Remember odir for removal later, being careful to avoid duplicates
- if test "$opt_mode" = clean; then
+ if test clean = "$opt_mode"; then
case " $rmdirs " in
*" $odir "*) ;;
*) func_append rmdirs " $odir" ;;
@@ -9499,11 +10997,11 @@
elif test -d "$file"; then
exit_status=1
continue
- elif test "$rmforce" = yes; then
+ elif $rmforce; then
continue
fi
- rmfiles="$file"
+ rmfiles=$file
case $name in
*.la)
@@ -9517,7 +11015,7 @@
done
test -n "$old_library" && func_append rmfiles " $odir/$old_library"
- case "$opt_mode" in
+ case $opt_mode in
clean)
case " $library_names " in
*" $dlname "*) ;;
@@ -9528,12 +11026,12 @@
uninstall)
if test -n "$library_names"; then
# Do each command in the postuninstall commands.
- func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+ func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1'
fi
if test -n "$old_library"; then
# Do each command in the old_postuninstall commands.
- func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+ func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1'
fi
# FIXME: should reinstall the best remaining shared library.
;;
@@ -9549,21 +11047,19 @@
func_source $dir/$name
# Add PIC object to the list of files to remove.
- if test -n "$pic_object" &&
- test "$pic_object" != none; then
+ if test -n "$pic_object" && test none != "$pic_object"; then
func_append rmfiles " $dir/$pic_object"
fi
# Add non-PIC object to the list of files to remove.
- if test -n "$non_pic_object" &&
- test "$non_pic_object" != none; then
+ if test -n "$non_pic_object" && test none != "$non_pic_object"; then
func_append rmfiles " $dir/$non_pic_object"
fi
fi
;;
*)
- if test "$opt_mode" = clean ; then
+ if test clean = "$opt_mode"; then
noexename=$name
case $file in
*.exe)
@@ -9590,12 +11086,12 @@
# note $name still contains .exe if it was in $file originally
# as does the version of $file that was added into $rmfiles
- func_append rmfiles " $odir/$name $odir/${name}S.${objext}"
- if test "$fast_install" = yes && test -n "$relink_command"; then
+ func_append rmfiles " $odir/$name $odir/${name}S.$objext"
+ if test yes = "$fast_install" && test -n "$relink_command"; then
func_append rmfiles " $odir/lt-$name"
fi
- if test "X$noexename" != "X$name" ; then
- func_append rmfiles " $odir/lt-${noexename}.c"
+ if test "X$noexename" != "X$name"; then
+ func_append rmfiles " $odir/lt-$noexename.c"
fi
fi
fi
@@ -9604,7 +11100,7 @@
func_show_eval "$RM $rmfiles" 'exit_status=1'
done
- # Try to remove the ${objdir}s in the directories where we deleted files
+ # Try to remove the $objdir's in the directories where we deleted files
for dir in $rmdirs; do
if test -d "$dir"; then
func_show_eval "rmdir $dir >/dev/null 2>&1"
@@ -9614,16 +11110,17 @@
exit $exit_status
}
-{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } &&
- func_mode_uninstall ${1+"$@"}
+if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then
+ func_mode_uninstall ${1+"$@"}
+fi
test -z "$opt_mode" && {
- help="$generic_help"
+ help=$generic_help
func_fatal_help "you must specify a MODE"
}
test -z "$exec_cmd" && \
- func_fatal_help "invalid operation mode \`$opt_mode'"
+ func_fatal_help "invalid operation mode '$opt_mode'"
if test -n "$exec_cmd"; then
eval exec "$exec_cmd"
@@ -9634,7 +11131,7 @@
# The TAGs below are defined such that we never get into a situation
-# in which we disable both kinds of libraries. Given conflicting
+# where we disable both kinds of libraries. Given conflicting
# choices, we go for a static library, that is the most portable,
# since we can't tell whether shared libraries were disabled because
# the user asked for that or because the platform doesn't support
@@ -9657,5 +11154,3 @@
# mode:shell-script
# sh-indentation:2
# End:
-# vi:sw=2
-
diff --git a/m4/Makefile.am b/m4/Makefile.am
index d4e7893..95a6641 100644
--- a/m4/Makefile.am
+++ b/m4/Makefile.am
@@ -18,7 +18,6 @@
inttypes_h.m4 \
inttypes-pri.m4 \
lcmessage.m4 \
- libfame.m4 \
lib-ld.m4 \
lib-link.m4 \
libmikmod.m4 \
diff --git a/m4/Makefile.in b/m4/Makefile.in
index ba90575..43dfc53 100644
--- a/m4/Makefile.in
+++ b/m4/Makefile.in
@@ -114,16 +114,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -237,7 +236,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -259,7 +257,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -281,9 +278,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -445,6 +439,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -458,8 +453,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -546,8 +539,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -599,6 +590,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -619,6 +611,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -656,7 +650,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -716,7 +709,6 @@
inttypes_h.m4 \
inttypes-pri.m4 \
lcmessage.m4 \
- libfame.m4 \
lib-ld.m4 \
lib-link.m4 \
libmikmod.m4 \
diff --git a/m4/gsettings.m4 b/m4/gsettings.m4
deleted file mode 100644
index 429d04b..0000000
--- a/m4/gsettings.m4
+++ /dev/null
@@ -1,83 +0,0 @@
-dnl GLIB_GSETTINGS
-dnl Defines GSETTINGS_SCHEMAS_INSTALL which controls whether
-dnl the schema should be compiled
-dnl
-
-AC_DEFUN([GLIB_GSETTINGS],
-[
- m4_pattern_allow([AM_V_GEN])
- AC_ARG_ENABLE(schemas-compile,
- AC_HELP_STRING([--disable-schemas-compile],
- [Disable regeneration of gschemas.compiled on install]),
- [case ${enableval} in
- yes) GSETTINGS_DISABLE_SCHEMAS_COMPILE="" ;;
- no) GSETTINGS_DISABLE_SCHEMAS_COMPILE="1" ;;
- *) AC_MSG_ERROR([bad value ${enableval} for --enable-schemas-compile]) ;;
- esac])
- AC_SUBST([GSETTINGS_DISABLE_SCHEMAS_COMPILE])
- PKG_PROG_PKG_CONFIG([0.16])
- AC_SUBST(gsettingsschemadir, [${datadir}/glib-2.0/schemas])
- if test x$cross_compiling != xyes; then
- GLIB_COMPILE_SCHEMAS=`$PKG_CONFIG --variable glib_compile_schemas gio-2.0`
- else
- AC_PATH_PROG(GLIB_COMPILE_SCHEMAS, glib-compile-schemas)
- fi
- AC_SUBST(GLIB_COMPILE_SCHEMAS)
- if test "x$GLIB_COMPILE_SCHEMAS" = "x"; then
- ifelse([$2],,[AC_MSG_ERROR([glib-compile-schemas not found.])],[$2])
- else
- ifelse([$1],,[:],[$1])
- fi
-
- GSETTINGS_RULES='
-.PHONY : uninstall-gsettings-schemas install-gsettings-schemas clean-gsettings-schemas
-
-mostlyclean-am: clean-gsettings-schemas
-
-gsettings__enum_file = $(addsuffix .enums.xml,$(gsettings_ENUM_NAMESPACE))
-
-%.gschema.valid: %.gschema.xml $(gsettings__enum_file)
- $(AM_V_GEN) if test -f "$<"; then d=; else d="$(srcdir)/"; fi; $(GLIB_COMPILE_SCHEMAS) --strict --dry-run $(addprefix --schema-file=,$(gsettings__enum_file)) --schema-file=$${d}$< && touch [$]@
-
-all-am: $(gsettings_SCHEMAS:.xml=.valid)
-uninstall-am: uninstall-gsettings-schemas
-install-data-am: install-gsettings-schemas
-
-.SECONDARY: $(gsettings_SCHEMAS)
-
-install-gsettings-schemas: $(gsettings_SCHEMAS) $(gsettings__enum_file)
- @$(NORMAL_INSTALL)
- if test -n "$^"; then \
- test -z "$(gsettingsschemadir)" || $(MKDIR_P) "$(DESTDIR)$(gsettingsschemadir)"; \
- $(INSTALL_DATA) $^ "$(DESTDIR)$(gsettingsschemadir)"; \
- test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir); \
- fi
-
-uninstall-gsettings-schemas:
- @$(NORMAL_UNINSTALL)
- @list='\''$(gsettings_SCHEMAS) $(gsettings__enum_file)'\''; test -n "$(gsettingsschemadir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e '\''s|^.*/||'\''`; \
- test -n "$$files" || exit 0; \
- echo " ( cd '\''$(DESTDIR)$(gsettingsschemadir)'\'' && rm -f" $$files ")"; \
- cd "$(DESTDIR)$(gsettingsschemadir)" && rm -f $$files
- test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir)
-
-clean-gsettings-schemas:
- rm -f $(gsettings_SCHEMAS:.xml=.valid) $(gsettings__enum_file)
-
-ifdef gsettings_ENUM_NAMESPACE
-$(gsettings__enum_file): $(gsettings_ENUM_FILES)
- $(AM_V_GEN) glib-mkenums --comments '\''<!-- @comment@ -->'\'' --fhead "<schemalist>" --vhead " <@type@ id='\''$(gsettings_ENUM_NAMESPACE).@EnumName@'\''>" --vprod " <value nick='\''@valuenick@'\'' value='\''@valuenum@'\''/>" --vtail " </@type@>" --ftail "</schemalist>" [$]^ > [$]@.tmp && mv [$]@.tmp [$]@
-endif
-'
- _GSETTINGS_SUBST(GSETTINGS_RULES)
-])
-
-dnl _GSETTINGS_SUBST(VARIABLE)
-dnl Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST
-AC_DEFUN([_GSETTINGS_SUBST],
-[
-AC_SUBST([$1])
-m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])])
-]
-)
diff --git a/m4/libfame.m4 b/m4/libfame.m4
deleted file mode 100644
index b570584..0000000
--- a/m4/libfame.m4
+++ /dev/null
@@ -1,182 +0,0 @@
-dnl AM_PATH_LIBFAME([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
-dnl Test for libfame, and define LIBFAME_CFLAGS and LIBFAME_LIBS
-dnl Vivien Chappelier 12/11/00
-dnl stolen from ORBit autoconf
-dnl
-AC_DEFUN([AM_PATH_LIBFAME],
-[dnl
-dnl Get the cflags and libraries from the libfame-config script
-dnl
-AC_ARG_WITH(libfame-prefix,[ --with-libfame-prefix=PFX Prefix where libfame is installed (optional)],
- libfame_config_prefix="$withval", libfame_config_prefix="")
-AC_ARG_WITH(libfame-exec-prefix,[ --with-libfame-exec-prefix=PFX Exec prefix where libfame is installed (optional)],
- libfame_config_exec_prefix="$withval", libfame_config_exec_prefix="")
-AC_ARG_ENABLE(libfametest, [ --disable-libfametest Do not try to compile and run a test libfame program],
- , enable_libfametest=yes)
-
- if test x$libfame_config_exec_prefix != x ; then
- libfame_config_args="$libfame_config_args --exec-prefix=$libfame_config_exec_prefix"
- if test x${LIBFAME_CONFIG+set} != xset ; then
- LIBFAME_CONFIG=$libfame_config_exec_prefix/bin/libfame-config
- fi
- fi
- if test x$libfame_config_prefix != x ; then
- libfame_config_args="$libfame_config_args --prefix=$libfame_config_prefix"
- if test x${LIBFAME_CONFIG+set} != xset ; then
- LIBFAME_CONFIG=$libfame_config_prefix/bin/libfame-config
- fi
- fi
-
- AC_PATH_PROG(LIBFAME_CONFIG, libfame-config, no)
- min_libfame_version=ifelse([$1], , 0.9.0, $1)
- AC_MSG_CHECKING(for libfame - version >= $min_libfame_version)
- no_libfame=""
- if test "$LIBFAME_CONFIG" = "no" ; then
- no_libfame=yes
- else
- LIBFAME_CFLAGS=`$LIBFAME_CONFIG $libfame_config_args --cflags`
- LIBFAME_LIBS=`$LIBFAME_CONFIG $libfame_config_args --libs`
- libfame_config_major_version=`$LIBFAME_CONFIG $libfame_config_args --version | \
- sed -e 's,[[^0-9.]],,g' -e 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
- libfame_config_minor_version=`$LIBFAME_CONFIG $libfame_config_args --version | \
- sed -e 's,[[^0-9.]],,g' -e 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
- libfame_config_micro_version=`$LIBFAME_CONFIG $libfame_config_args --version | \
- sed -e 's,[[^0-9.]],,g' -e 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
- if test "x$enable_libfametest" = "xyes" ; then
- ac_save_CFLAGS="$CFLAGS"
- ac_save_LIBS="$LIBS"
- CFLAGS="$CFLAGS $LIBFAME_CFLAGS"
- LIBS="$LIBFAME_LIBS $LIBS"
-dnl
-dnl Now check if the installed LIBFAME is sufficiently new. (Also sanity
-dnl checks the results of libfame-config to some extent
-dnl
- rm -f conf.libfametest
- AC_TRY_RUN([
-#include <fame.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-int
-main ()
-{
- int major, minor, micro;
- char *tmp_version;
-
- system ("touch conf.libfametest");
-
- /* HP/UX 9 (%@#!) writes to sscanf strings */
- tmp_version = strdup("$min_libfame_version");
- if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
- printf("%s, bad version string\n", "$min_libfame_version");
- exit(1);
- }
-
- if ((libfame_major_version != $libfame_config_major_version) ||
- (libfame_minor_version != $libfame_config_minor_version) ||
- (libfame_micro_version != $libfame_config_micro_version))
- {
- printf("\n*** 'libfame-config --version' returned %d.%d.%d, but Libfame (%d.%d.%d)\n",
- $libfame_config_major_version, $libfame_config_minor_version, $libfame_config_micro_version,
- libfame_major_version, libfame_minor_version, libfame_micro_version);
- printf ("*** was found! If libfame-config was correct, then it is best\n");
- printf ("*** to remove the old version of libfame. You may also be able to fix the error\n");
- printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
- printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
- printf("*** required on your system.\n");
- printf("*** If libfame-config was wrong, set the environment variable LIBFAME_CONFIG\n");
- printf("*** to point to the correct copy of libfame-config, and remove the file config.cache\n");
- printf("*** before re-running configure\n");
- }
-#if defined (LIBFAME_MAJOR_VERSION) && defined (LIBFAME_MINOR_VERSION) && defined (LIBFAME_MICRO_VERSION)
- else if ((libfame_major_version != LIBFAME_MAJOR_VERSION) ||
- (libfame_minor_version != LIBFAME_MINOR_VERSION) ||
- (libfame_micro_version != LIBFAME_MICRO_VERSION))
- {
- printf("*** libfame header files (version %d.%d.%d) do not match\n",
- LIBFAME_MAJOR_VERSION, LIBFAME_MINOR_VERSION, LIBFAME_MICRO_VERSION);
- printf("*** library (version %d.%d.%d)\n",
- libfame_major_version, libfame_minor_version, libfame_micro_version);
- }
-#endif /* defined (LIBFAME_MAJOR_VERSION) ... */
- else
- {
- if ((libfame_major_version > major) ||
- ((libfame_major_version == major) && (libfame_minor_version > minor)) ||
- ((libfame_major_version == major) && (libfame_minor_version == minor) && (libfame_micro_version >= micro)))
- {
- return 0;
- }
- else
- {
- printf("\n*** An old version of libfame (%d.%d.%d) was found.\n",
- libfame_major_version, libfame_minor_version, libfame_micro_version);
- printf("*** You need a version of libfame newer than %d.%d.%d. The latest version of\n",
- major, minor, micro);
- printf("*** libfame is always available from http://www-eleves.enst-bretagne.fr/~chappeli/fame\n");
- printf("***\n");
- printf("*** If you have already installed a sufficiently new version, this error\n");
- printf("*** probably means that the wrong copy of the libfame-config shell script is\n");
- printf("*** being found. The easiest way to fix this is to remove the old version\n");
- printf("*** of libfame, but you can also set the LIBFAME_CONFIG environment to point to the\n");
- printf("*** correct copy of libfame-config. (In this case, you will have to\n");
- printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
- printf("*** so that the correct libraries are found at run-time))\n");
- }
- }
- return 1;
-}
-],, no_libfame=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
- fi
- fi
- if test "x$no_libfame" = x ; then
- AC_MSG_RESULT(yes)
- ifelse([$2], , :, [$2])
- else
- AC_MSG_RESULT(no)
- if test "$LIBFAME_CONFIG" = "no" ; then
- echo "*** The libfame-config script installed by libfame could not be found"
- echo "*** If libfame was installed in PREFIX, make sure PREFIX/bin is in"
- echo "*** your path, or set the LIBFAME_CONFIG environment variable to the"
- echo "*** full path to libfame-config."
- else
- if test -f conf.libfametest ; then
- :
- else
- echo "*** Could not run libfame test program, checking why..."
- CFLAGS="$CFLAGS $LIBFAME_CFLAGS"
- LIBS="$LIBS $LIBFAME_LIBS"
- AC_TRY_LINK([
-#include <fame.h>
-#include <stdio.h>
-], [ return ((libfame_major_version) || (libfame_minor_version) || (libfame_micro_version)); ],
- [ echo "*** The test program compiled, but did not run. This usually means"
- echo "*** that the run-time linker is not finding libfame or finding the wrong"
- echo "*** version of LIBFAME. If it is not finding libfame, you'll need to set your"
- echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
- echo "*** to the installed location Also, make sure you have run ldconfig if that"
- echo "*** is required on your system"
- echo "***"
- echo "*** If you have an old version installed, it is best to remove it, although"
- echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
- echo "***" ],
- [ echo "*** The test program failed to compile or link. See the file config.log for the"
- echo "*** exact error that occured. This usually means libfame was incorrectly installed"
- echo "*** or that you have moved libfame since it was installed. In the latter case, you"
- echo "*** may want to edit the libfame-config script: $LIBFAME_CONFIG" ])
- CFLAGS="$ac_save_CFLAGS"
- LIBS="$ac_save_LIBS"
- fi
- fi
- LIBFAME_CFLAGS=""
- LIBFAME_LIBS=""
- ifelse([$3], , :, [$3])
- fi
-
- AC_SUBST(LIBFAME_CFLAGS)
- AC_SUBST(LIBFAME_LIBS)
- rm -f conf.libfametest
-])
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index d7c043f..10ab284 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -1,8 +1,6 @@
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
+# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
# Written by Gordon Matzigkeit, 1996
#
# This file is free software; the Free Software Foundation gives
@@ -10,36 +8,30 @@
# modifications, as long as this notice is preserved.
m4_define([_LT_COPYING], [dnl
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2007, 2008, 2009, 2010, 2011 Free Software
-# Foundation, Inc.
-# Written by Gordon Matzigkeit, 1996
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of of the License, or
+# (at your option) any later version.
#
-# This file is part of GNU Libtool.
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program or library that is built
+# using GNU Libtool, you may include this file under the same
+# distribution terms that you use for the rest of that program.
#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# GNU Libtool 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING. If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
])
-# serial 57 LT_INIT
+# serial 58 LT_INIT
# LT_PREREQ(VERSION)
@@ -67,7 +59,7 @@
# LT_INIT([OPTIONS])
# ------------------
AC_DEFUN([LT_INIT],
-[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK
AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
AC_BEFORE([$0], [LT_LANG])dnl
AC_BEFORE([$0], [LT_OUTPUT])dnl
@@ -91,7 +83,7 @@
_LT_SET_OPTIONS([$0], [$1])
# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
+LIBTOOL_DEPS=$ltmain
# Always use our own libtool.
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
@@ -111,26 +103,43 @@
dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
+# _LT_PREPARE_CC_BASENAME
+# -----------------------
+m4_defun([_LT_PREPARE_CC_BASENAME], [
+# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+func_cc_basename ()
+{
+ for cc_temp in @S|@*""; do
+ case $cc_temp in
+ compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+ distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+ \-*) ;;
+ *) break;;
+ esac
+ done
+ func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+}
+])# _LT_PREPARE_CC_BASENAME
+
+
# _LT_CC_BASENAME(CC)
# -------------------
-# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
+# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
+# but that macro is also expanded into generated libtool script, which
+# arranges for $SED and $ECHO to be set by different means.
m4_defun([_LT_CC_BASENAME],
-[for cc_temp in $1""; do
- case $cc_temp in
- compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
- distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
- \-*) ;;
- *) break;;
- esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
+[m4_require([_LT_PREPARE_CC_BASENAME])dnl
+AC_REQUIRE([_LT_DECL_SED])dnl
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
+func_cc_basename $1
+cc_basename=$func_cc_basename_result
])
# _LT_FILEUTILS_DEFAULTS
# ----------------------
# It is okay to use these file commands and assume they have been set
-# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
+# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
m4_defun([_LT_FILEUTILS_DEFAULTS],
[: ${CP="cp -f"}
: ${MV="mv -f"}
@@ -177,15 +186,16 @@
m4_require([_LT_CMD_OLD_ARCHIVE])dnl
m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
m4_require([_LT_WITH_SYSROOT])dnl
+m4_require([_LT_CMD_TRUNCATE])dnl
_LT_CONFIG_LIBTOOL_INIT([
-# See if we are running on zsh, and set the options which allow our
+# See if we are running on zsh, and set the options that allow our
# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
+if test -n "\${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
])
-if test -n "${ZSH_VERSION+set}" ; then
+if test -n "${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
@@ -198,7 +208,7 @@
# AIX sometimes has problems with the GCC collect2 program. For some
# reason, if we set the COLLECT_NAMES environment variable, the problems
# vanish in a puff of smoke.
- if test "X${COLLECT_NAMES+set}" != Xset; then
+ if test set != "${COLLECT_NAMES+set}"; then
COLLECT_NAMES=
export COLLECT_NAMES
fi
@@ -209,14 +219,14 @@
ofile=libtool
can_build_shared=yes
-# All known linkers require a `.a' archive for static linking (except MSVC,
+# All known linkers require a '.a' archive for static linking (except MSVC,
# which needs '.lib').
libext=a
-with_gnu_ld="$lt_cv_prog_gnu_ld"
+with_gnu_ld=$lt_cv_prog_gnu_ld
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
+old_CC=$CC
+old_CFLAGS=$CFLAGS
# Set sane defaults for various variables
test -z "$CC" && CC=cc
@@ -269,14 +279,14 @@
# _LT_PROG_LTMAIN
# ---------------
-# Note that this code is called both from `configure', and `config.status'
+# Note that this code is called both from 'configure', and 'config.status'
# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
-# `config.status' has no value for ac_aux_dir unless we are using Automake,
+# 'config.status' has no value for ac_aux_dir unless we are using Automake,
# so we pass a copy along to make sure it has a sensible value anyway.
m4_defun([_LT_PROG_LTMAIN],
[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
-ltmain="$ac_aux_dir/ltmain.sh"
+ltmain=$ac_aux_dir/ltmain.sh
])# _LT_PROG_LTMAIN
@@ -286,7 +296,7 @@
# So that we can recreate a full libtool script including additional
# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
-# in macros and then make a single call at the end using the `libtool'
+# in macros and then make a single call at the end using the 'libtool'
# label.
@@ -421,8 +431,8 @@
# _LT_CONFIG_STATUS_DECLARE([VARNAME])
# ------------------------------------
-# Quote a variable value, and forward it to `config.status' so that its
-# declaration there will have the same value as in `configure'. VARNAME
+# Quote a variable value, and forward it to 'config.status' so that its
+# declaration there will have the same value as in 'configure'. VARNAME
# must have a single quote delimited value for this to work.
m4_define([_LT_CONFIG_STATUS_DECLARE],
[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
@@ -446,7 +456,7 @@
# Output comment and list of tags supported by the script
m4_defun([_LT_LIBTOOL_TAGS],
[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
-available_tags="_LT_TAGS"dnl
+available_tags='_LT_TAGS'dnl
])
@@ -474,7 +484,7 @@
# _LT_LIBTOOL_CONFIG_VARS
# -----------------------
# Produce commented declarations of non-tagged libtool config variables
-# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
+# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
# section) are produced by _LT_LIBTOOL_TAG_VARS.
m4_defun([_LT_LIBTOOL_CONFIG_VARS],
@@ -500,8 +510,8 @@
# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
# variables for single and double quote escaping we saved from calls
# to _LT_DECL, we can put quote escaped variables declarations
-# into `config.status', and then the shell code to quote escape them in
-# for loops in `config.status'. Finally, any additional code accumulated
+# into 'config.status', and then the shell code to quote escape them in
+# for loops in 'config.status'. Finally, any additional code accumulated
# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
m4_defun([_LT_CONFIG_COMMANDS],
[AC_PROVIDE_IFELSE([LT_OUTPUT],
@@ -547,7 +557,7 @@
]], lt_decl_quote_varnames); do
case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[[\\\\\\\`\\"\\\$]]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
;;
*)
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -560,7 +570,7 @@
]], lt_decl_dquote_varnames); do
case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
*[[\\\\\\\`\\"\\\$]]*)
- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+ eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
;;
*)
eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
@@ -576,7 +586,7 @@
# Generate a child script FILE with all initialization necessary to
# reuse the environment learned by the parent script, and make the
# file executable. If COMMENT is supplied, it is inserted after the
-# `#!' sequence but before initialization text begins. After this
+# '#!' sequence but before initialization text begins. After this
# macro, additional text can be appended to FILE to form the body of
# the child script. The macro ends with non-zero status if the
# file could not be fully written (such as if the disk is full).
@@ -598,7 +608,7 @@
_AS_PREPARE
exec AS_MESSAGE_FD>&1
_ASEOF
-test $lt_write_fail = 0 && chmod +x $1[]dnl
+test 0 = "$lt_write_fail" && chmod +x $1[]dnl
m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
# LT_OUTPUT
@@ -621,7 +631,7 @@
} >&AS_MESSAGE_LOG_FD
lt_cl_help="\
-\`$as_me' creates a local libtool stub from the current configuration,
+'$as_me' creates a local libtool stub from the current configuration,
for use in further configure time tests before the real libtool is
generated.
@@ -643,7 +653,7 @@
This config.lt script is free software; the Free Software Foundation
gives unlimited permision to copy, distribute and modify it."
-while test $[#] != 0
+while test 0 != $[#]
do
case $[1] in
--version | --v* | -V )
@@ -656,10 +666,10 @@
lt_cl_silent=: ;;
-*) AC_MSG_ERROR([unrecognized option: $[1]
-Try \`$[0] --help' for more information.]) ;;
+Try '$[0] --help' for more information.]) ;;
*) AC_MSG_ERROR([unrecognized argument: $[1]
-Try \`$[0] --help' for more information.]) ;;
+Try '$[0] --help' for more information.]) ;;
esac
shift
done
@@ -685,7 +695,7 @@
# open by configure. Here we exec the FD to /dev/null, effectively closing
# config.log, so it can be properly (re)opened and appended to by config.lt.
lt_cl_success=:
-test "$silent" = yes &&
+test yes = "$silent" &&
lt_config_lt_args="$lt_config_lt_args --quiet"
exec AS_MESSAGE_LOG_FD>/dev/null
$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
@@ -705,27 +715,31 @@
_LT_CONFIG_SAVE_COMMANDS([
m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
m4_if(_LT_TAG, [C], [
- # See if we are running on zsh, and set the options which allow our
+ # See if we are running on zsh, and set the options that allow our
# commands through without removal of \ escapes.
- if test -n "${ZSH_VERSION+set}" ; then
+ if test -n "${ZSH_VERSION+set}"; then
setopt NO_GLOB_SUBST
fi
- cfgfile="${ofile}T"
+ cfgfile=${ofile}T
trap "$RM \"$cfgfile\"; exit 1" 1 2 15
$RM "$cfgfile"
cat <<_LT_EOF >> "$cfgfile"
#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Generated automatically by $as_me ($PACKAGE) $VERSION
# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
+
+# Provide generalized library-building support services.
+# Written by Gordon Matzigkeit, 1996
+
_LT_COPYING
_LT_LIBTOOL_TAGS
+# Configured defaults for sys_lib_dlsearch_path munging.
+: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
+
# ### BEGIN LIBTOOL CONFIG
_LT_LIBTOOL_CONFIG_VARS
_LT_LIBTOOL_TAG_VARS
@@ -733,13 +747,24 @@
_LT_EOF
+ cat <<'_LT_EOF' >> "$cfgfile"
+
+# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_PREPARE_MUNGE_PATH_LIST
+_LT_PREPARE_CC_BASENAME
+
+# ### END FUNCTIONS SHARED WITH CONFIGURE
+
+_LT_EOF
+
case $host_os in
aix3*)
cat <<\_LT_EOF >> "$cfgfile"
# AIX sometimes has problems with the GCC collect2 program. For some
# reason, if we set the COLLECT_NAMES environment variable, the problems
# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
+if test set != "${COLLECT_NAMES+set}"; then
COLLECT_NAMES=
export COLLECT_NAMES
fi
@@ -756,8 +781,6 @@
sed '$q' "$ltmain" >> "$cfgfile" \
|| (rm -f "$cfgfile"; exit 1)
- _LT_PROG_REPLACE_SHELLFNS
-
mv -f "$cfgfile" "$ofile" ||
(rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
chmod +x "$ofile"
@@ -775,7 +798,6 @@
[m4_if([$1], [], [
PACKAGE='$PACKAGE'
VERSION='$VERSION'
- TIMESTAMP='$TIMESTAMP'
RM='$RM'
ofile='$ofile'], [])
])dnl /_LT_CONFIG_SAVE_COMMANDS
@@ -974,7 +996,7 @@
AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
[lt_cv_apple_cc_single_mod=no
- if test -z "${LT_MULTI_MODULE}"; then
+ if test -z "$LT_MULTI_MODULE"; then
# By default we will add the -single_module flag. You can override
# by either setting the environment variable LT_MULTI_MODULE
# non-empty at configure time, or by adding -multi_module to the
@@ -992,7 +1014,7 @@
cat conftest.err >&AS_MESSAGE_LOG_FD
# Otherwise, if the output was created with a 0 exit code from
# the compiler, it worked.
- elif test -f libconftest.dylib && test $_lt_result -eq 0; then
+ elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
lt_cv_apple_cc_single_mod=yes
else
cat conftest.err >&AS_MESSAGE_LOG_FD
@@ -1010,7 +1032,7 @@
AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
[lt_cv_ld_exported_symbols_list=yes],
[lt_cv_ld_exported_symbols_list=no])
- LDFLAGS="$save_LDFLAGS"
+ LDFLAGS=$save_LDFLAGS
])
AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
@@ -1032,7 +1054,7 @@
_lt_result=$?
if test -s conftest.err && $GREP force_load conftest.err; then
cat conftest.err >&AS_MESSAGE_LOG_FD
- elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
+ elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
lt_cv_ld_force_load=yes
else
cat conftest.err >&AS_MESSAGE_LOG_FD
@@ -1042,32 +1064,32 @@
])
case $host_os in
rhapsody* | darwin1.[[012]])
- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+ _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
darwin1.*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
darwin*) # darwin 5.x on
# if running on 10.5 or later, the deployment target defaults
# to the OS version, if on x86, and 10.4, the deployment
# target defaults to 10.4. Don't you love it?
case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
- 10.[[012]]*)
- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+ 10.[[012]][[,.]]*)
+ _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
10.*)
- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
esac
;;
esac
- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+ if test yes = "$lt_cv_apple_cc_single_mod"; then
_lt_dar_single_mod='$single_module'
fi
- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+ if test yes = "$lt_cv_ld_exported_symbols_list"; then
+ _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
else
- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+ _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib'
fi
- if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
+ if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then
_lt_dsymutil='~$DSYMUTIL $lib || :'
else
_lt_dsymutil=
@@ -1087,29 +1109,29 @@
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_automatic, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
- if test "$lt_cv_ld_force_load" = "yes"; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+ if test yes = "$lt_cv_ld_force_load"; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
[FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
else
_LT_TAGVAR(whole_archive_flag_spec, $1)=''
fi
_LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+ _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
case $cc_basename in
- ifort*) _lt_dar_can_shared=yes ;;
+ ifort*|nagfor*) _lt_dar_can_shared=yes ;;
*) _lt_dar_can_shared=$GCC ;;
esac
- if test "$_lt_dar_can_shared" = "yes"; then
+ if test yes = "$_lt_dar_can_shared"; then
output_verbose_link_cmd=func_echo_all
- _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
- _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
- _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
+ _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
+ _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
m4_if([$1], [CXX],
-[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
- _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+[ if test yes != "$lt_cv_apple_cc_single_mod"; then
+ _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
fi
],[])
else
@@ -1129,7 +1151,7 @@
# Allow to override them for all tags through lt_cv_aix_libpath.
m4_defun([_LT_SYS_MODULE_PATH_AIX],
[m4_require([_LT_DECL_SED])dnl
-if test "${lt_cv_aix_libpath+set}" = set; then
+if test set = "${lt_cv_aix_libpath+set}"; then
aix_libpath=$lt_cv_aix_libpath
else
AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
@@ -1147,7 +1169,7 @@
_LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
fi],[])
if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
- _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
+ _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
fi
])
aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
@@ -1167,8 +1189,8 @@
# -----------------------
# Find how we can fake an echo command that does not interpret backslash.
# In particular, with Autoconf 2.60 or later we add some code to the start
-# of the generated configure script which will find a shell with a builtin
-# printf (which we can use as an echo command).
+# of the generated configure script that will find a shell with a builtin
+# printf (that we can use as an echo command).
m4_defun([_LT_PROG_ECHO_BACKSLASH],
[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
@@ -1196,10 +1218,10 @@
# Invoke $ECHO with all args, space-separated.
func_echo_all ()
{
- $ECHO "$*"
+ $ECHO "$*"
}
-case "$ECHO" in
+case $ECHO in
printf*) AC_MSG_RESULT([printf]) ;;
print*) AC_MSG_RESULT([print -r]) ;;
*) AC_MSG_RESULT([cat]) ;;
@@ -1225,16 +1247,17 @@
AC_DEFUN([_LT_WITH_SYSROOT],
[AC_MSG_CHECKING([for sysroot])
AC_ARG_WITH([sysroot],
-[ --with-sysroot[=DIR] Search for dependent libraries within DIR
- (or the compiler's sysroot if not specified).],
+[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
+ [Search for dependent libraries within DIR (or the compiler's sysroot
+ if not specified).])],
[], [with_sysroot=no])
dnl lt_sysroot will always be passed unquoted. We quote it here
dnl in case the user passed a directory name.
lt_sysroot=
-case ${with_sysroot} in #(
+case $with_sysroot in #(
yes)
- if test "$GCC" = yes; then
+ if test yes = "$GCC"; then
lt_sysroot=`$CC --print-sysroot 2>/dev/null`
fi
;; #(
@@ -1244,14 +1267,14 @@
no|'')
;; #(
*)
- AC_MSG_RESULT([${with_sysroot}])
+ AC_MSG_RESULT([$with_sysroot])
AC_MSG_ERROR([The sysroot must be an absolute path.])
;;
esac
AC_MSG_RESULT([${lt_sysroot:-no}])
_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
-[dependent libraries, and in which our libraries should be installed.])])
+[dependent libraries, and where our libraries should be installed.])])
# _LT_ENABLE_LOCK
# ---------------
@@ -1259,31 +1282,33 @@
[AC_ARG_ENABLE([libtool-lock],
[AS_HELP_STRING([--disable-libtool-lock],
[avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+test no = "$enable_libtool_lock" || enable_libtool_lock=yes
# Some flags need to be propagated to the compiler or linker for good
# libtool support.
case $host in
ia64-*-hpux*)
- # Find out which ABI we are using.
+ # Find out what ABI is being produced by ac_compile, and set mode
+ # options accordingly.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
case `/usr/bin/file conftest.$ac_objext` in
*ELF-32*)
- HPUX_IA64_MODE="32"
+ HPUX_IA64_MODE=32
;;
*ELF-64*)
- HPUX_IA64_MODE="64"
+ HPUX_IA64_MODE=64
;;
esac
fi
rm -rf conftest*
;;
*-*-irix6*)
- # Find out which ABI we are using.
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
- if test "$lt_cv_prog_gnu_ld" = yes; then
+ if test yes = "$lt_cv_prog_gnu_ld"; then
case `/usr/bin/file conftest.$ac_objext` in
*32-bit*)
LD="${LD-ld} -melf32bsmip"
@@ -1312,9 +1337,46 @@
rm -rf conftest*
;;
+mips64*-*linux*)
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
+ echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ emul=elf
+ case `/usr/bin/file conftest.$ac_objext` in
+ *32-bit*)
+ emul="${emul}32"
+ ;;
+ *64-bit*)
+ emul="${emul}64"
+ ;;
+ esac
+ case `/usr/bin/file conftest.$ac_objext` in
+ *MSB*)
+ emul="${emul}btsmip"
+ ;;
+ *LSB*)
+ emul="${emul}ltsmip"
+ ;;
+ esac
+ case `/usr/bin/file conftest.$ac_objext` in
+ *N32*)
+ emul="${emul}n32"
+ ;;
+ esac
+ LD="${LD-ld} -m $emul"
+ fi
+ rm -rf conftest*
+ ;;
+
x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
- # Find out which ABI we are using.
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly. Note that the listed cases only cover the
+ # situations where additional linker options are needed (such as when
+ # doing 32-bit compilation for a host where ld defaults to 64-bit, or
+ # vice versa); the common cases where no linker options are needed do
+ # not appear in the list.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
case `/usr/bin/file conftest.o` in
@@ -1333,10 +1395,10 @@
;;
esac
;;
- powerpc64le-*)
+ powerpc64le-*linux*)
LD="${LD-ld} -m elf32lppclinux"
;;
- powerpc64-*)
+ powerpc64-*linux*)
LD="${LD-ld} -m elf32ppclinux"
;;
s390x-*linux*)
@@ -1355,10 +1417,10 @@
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
- powerpcle-*)
+ powerpcle-*linux*)
LD="${LD-ld} -m elf64lppc"
;;
- powerpc-*)
+ powerpc-*linux*)
LD="${LD-ld} -m elf64ppc"
;;
s390*-*linux*|s390*-*tpf*)
@@ -1376,19 +1438,20 @@
*-*-sco3.2v5*)
# On SCO OpenServer 5, we need -belf to get full-featured binaries.
- SAVE_CFLAGS="$CFLAGS"
+ SAVE_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -belf"
AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
[AC_LANG_PUSH(C)
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
AC_LANG_POP])
- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+ if test yes != "$lt_cv_cc_needs_belf"; then
# this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
- CFLAGS="$SAVE_CFLAGS"
+ CFLAGS=$SAVE_CFLAGS
fi
;;
*-*solaris*)
- # Find out which ABI we are using.
+ # Find out what ABI is being produced by ac_compile, and set linker
+ # options accordingly.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
case `/usr/bin/file conftest.o` in
@@ -1396,7 +1459,7 @@
case $lt_cv_prog_gnu_ld in
yes*)
case $host in
- i?86-*-solaris*)
+ i?86-*-solaris*|x86_64-*-solaris*)
LD="${LD-ld} -m elf_x86_64"
;;
sparc*-*-solaris*)
@@ -1405,7 +1468,7 @@
esac
# GNU ld 2.21 introduced _sol2 emulations. Use them if available.
if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
- LD="${LD-ld}_sol2"
+ LD=${LD-ld}_sol2
fi
;;
*)
@@ -1421,7 +1484,7 @@
;;
esac
-need_locks="$enable_libtool_lock"
+need_locks=$enable_libtool_lock
])# _LT_ENABLE_LOCK
@@ -1440,11 +1503,11 @@
[echo conftest.$ac_objext > conftest.lst
lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
AC_TRY_EVAL([lt_ar_try])
- if test "$ac_status" -eq 0; then
+ if test 0 -eq "$ac_status"; then
# Ensure the archiver fails upon bogus file names.
rm -f conftest.$ac_objext libconftest.a
AC_TRY_EVAL([lt_ar_try])
- if test "$ac_status" -ne 0; then
+ if test 0 -ne "$ac_status"; then
lt_cv_ar_at_file=@
fi
fi
@@ -1452,7 +1515,7 @@
])
])
-if test "x$lt_cv_ar_at_file" = xno; then
+if test no = "$lt_cv_ar_at_file"; then
archiver_list_spec=
else
archiver_list_spec=$lt_cv_ar_at_file
@@ -1483,7 +1546,7 @@
if test -n "$RANLIB"; then
case $host_os in
- openbsd*)
+ bitrig* | openbsd*)
old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
;;
*)
@@ -1519,7 +1582,7 @@
[$2=no
m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
echo "$lt_simple_compile_test_code" > conftest.$ac_ext
- lt_compiler_flag="$3"
+ lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment
# Insert the option either (1) after the last *FLAGS variable, or
# (2) before a word containing "conftest.", or (3) at the end.
# Note that $ac_compile itself does not contain backslashes and begins
@@ -1546,7 +1609,7 @@
$RM conftest*
])
-if test x"[$]$2" = xyes; then
+if test yes = "[$]$2"; then
m4_if([$5], , :, [$5])
else
m4_if([$6], , :, [$6])
@@ -1568,7 +1631,7 @@
m4_require([_LT_DECL_SED])dnl
AC_CACHE_CHECK([$1], [$2],
[$2=no
- save_LDFLAGS="$LDFLAGS"
+ save_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS $3"
echo "$lt_simple_link_test_code" > conftest.$ac_ext
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
@@ -1587,10 +1650,10 @@
fi
fi
$RM -r conftest*
- LDFLAGS="$save_LDFLAGS"
+ LDFLAGS=$save_LDFLAGS
])
-if test x"[$]$2" = xyes; then
+if test yes = "[$]$2"; then
m4_if([$4], , :, [$4])
else
m4_if([$5], , :, [$5])
@@ -1611,7 +1674,7 @@
AC_MSG_CHECKING([the maximum length of command line arguments])
AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
i=0
- teststring="ABCD"
+ teststring=ABCD
case $build_os in
msdosdjgpp*)
@@ -1651,7 +1714,7 @@
lt_cv_sys_max_cmd_len=8192;
;;
- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+ bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
# This has been around since 386BSD, at least. Likely further.
if test -x /sbin/sysctl; then
lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
@@ -1702,22 +1765,22 @@
*)
lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
if test -n "$lt_cv_sys_max_cmd_len" && \
- test undefined != "$lt_cv_sys_max_cmd_len"; then
+ test undefined != "$lt_cv_sys_max_cmd_len"; then
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
else
# Make teststring a little bigger before we do anything with it.
# a 1K string should be a reasonable start.
- for i in 1 2 3 4 5 6 7 8 ; do
+ for i in 1 2 3 4 5 6 7 8; do
teststring=$teststring$teststring
done
SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
# If test is not a shell built-in, we'll probably end up computing a
# maximum length that is only half of the actual maximum length, but
# we can't tell.
- while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
+ while { test X`env echo "$teststring$teststring" 2>/dev/null` \
= "X$teststring$teststring"; } >/dev/null 2>&1 &&
- test $i != 17 # 1/2 MB should be enough
+ test 17 != "$i" # 1/2 MB should be enough
do
i=`expr $i + 1`
teststring=$teststring$teststring
@@ -1733,7 +1796,7 @@
;;
esac
])
-if test -n $lt_cv_sys_max_cmd_len ; then
+if test -n "$lt_cv_sys_max_cmd_len"; then
AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
else
AC_MSG_RESULT(none)
@@ -1761,7 +1824,7 @@
# ----------------------------------------------------------------
m4_defun([_LT_TRY_DLOPEN_SELF],
[m4_require([_LT_HEADER_DLFCN])dnl
-if test "$cross_compiling" = yes; then :
+if test yes = "$cross_compiling"; then :
[$4]
else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
@@ -1808,9 +1871,9 @@
# endif
#endif
-/* When -fvisbility=hidden is used, assume the code has been annotated
+/* When -fvisibility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
+#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
int fnord () __attribute__((visibility("default")));
#endif
@@ -1836,7 +1899,7 @@
return status;
}]
_LT_EOF
- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+ if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
(./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
lt_status=$?
case x$lt_status in
@@ -1857,7 +1920,7 @@
# ------------------
AC_DEFUN([LT_SYS_DLOPEN_SELF],
[m4_require([_LT_HEADER_DLFCN])dnl
-if test "x$enable_dlopen" != xyes; then
+if test yes != "$enable_dlopen"; then
enable_dlopen=unknown
enable_dlopen_self=unknown
enable_dlopen_self_static=unknown
@@ -1867,44 +1930,52 @@
case $host_os in
beos*)
- lt_cv_dlopen="load_add_on"
+ lt_cv_dlopen=load_add_on
lt_cv_dlopen_libs=
lt_cv_dlopen_self=yes
;;
mingw* | pw32* | cegcc*)
- lt_cv_dlopen="LoadLibrary"
+ lt_cv_dlopen=LoadLibrary
lt_cv_dlopen_libs=
;;
cygwin*)
- lt_cv_dlopen="dlopen"
+ lt_cv_dlopen=dlopen
lt_cv_dlopen_libs=
;;
darwin*)
- # if libdl is installed we need to link against it
+ # if libdl is installed we need to link against it
AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
- lt_cv_dlopen="dyld"
+ [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
+ lt_cv_dlopen=dyld
lt_cv_dlopen_libs=
lt_cv_dlopen_self=yes
])
;;
+ tpf*)
+ # Don't try to run any link tests for TPF. We know it's impossible
+ # because TPF is a cross-compiler, and we know how we open DSOs.
+ lt_cv_dlopen=dlopen
+ lt_cv_dlopen_libs=
+ lt_cv_dlopen_self=no
+ ;;
+
*)
AC_CHECK_FUNC([shl_load],
- [lt_cv_dlopen="shl_load"],
+ [lt_cv_dlopen=shl_load],
[AC_CHECK_LIB([dld], [shl_load],
- [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
+ [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
[AC_CHECK_FUNC([dlopen],
- [lt_cv_dlopen="dlopen"],
+ [lt_cv_dlopen=dlopen],
[AC_CHECK_LIB([dl], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+ [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
[AC_CHECK_LIB([svld], [dlopen],
- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+ [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
[AC_CHECK_LIB([dld], [dld_link],
- [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
+ [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
])
])
])
@@ -1913,21 +1984,21 @@
;;
esac
- if test "x$lt_cv_dlopen" != xno; then
- enable_dlopen=yes
- else
+ if test no = "$lt_cv_dlopen"; then
enable_dlopen=no
+ else
+ enable_dlopen=yes
fi
case $lt_cv_dlopen in
dlopen)
- save_CPPFLAGS="$CPPFLAGS"
- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+ save_CPPFLAGS=$CPPFLAGS
+ test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
- save_LDFLAGS="$LDFLAGS"
+ save_LDFLAGS=$LDFLAGS
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
- save_LIBS="$LIBS"
+ save_LIBS=$LIBS
LIBS="$lt_cv_dlopen_libs $LIBS"
AC_CACHE_CHECK([whether a program can dlopen itself],
@@ -1937,7 +2008,7 @@
lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
])
- if test "x$lt_cv_dlopen_self" = xyes; then
+ if test yes = "$lt_cv_dlopen_self"; then
wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
lt_cv_dlopen_self_static, [dnl
@@ -1947,9 +2018,9 @@
])
fi
- CPPFLAGS="$save_CPPFLAGS"
- LDFLAGS="$save_LDFLAGS"
- LIBS="$save_LIBS"
+ CPPFLAGS=$save_CPPFLAGS
+ LDFLAGS=$save_LDFLAGS
+ LIBS=$save_LIBS
;;
esac
@@ -2041,8 +2112,8 @@
m4_require([_LT_FILEUTILS_DEFAULTS])dnl
_LT_COMPILER_C_O([$1])
-hard_links="nottested"
-if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+hard_links=nottested
+if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then
# do not overwrite the value of need_locks provided by the user
AC_MSG_CHECKING([if we can lock with hard links])
hard_links=yes
@@ -2052,8 +2123,8 @@
ln conftest.a conftest.b 2>&5 || hard_links=no
ln conftest.a conftest.b 2>/dev/null && hard_links=no
AC_MSG_RESULT([$hard_links])
- if test "$hard_links" = no; then
- AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+ if test no = "$hard_links"; then
+ AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
need_locks=warn
fi
else
@@ -2080,8 +2151,8 @@
_LT_DECL([], [objdir], [0],
[The name of the directory that contains temporary libtool files])dnl
m4_pattern_allow([LT_OBJDIR])dnl
-AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
- [Define to the sub-directory in which libtool stores uninstalled libraries.])
+AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
+ [Define to the sub-directory where libtool stores uninstalled libraries.])
])# _LT_CHECK_OBJDIR
@@ -2093,15 +2164,15 @@
_LT_TAGVAR(hardcode_action, $1)=
if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
test -n "$_LT_TAGVAR(runpath_var, $1)" ||
- test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+ test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
# We can hardcode non-existent directories.
- if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
+ if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
# If the only mechanism to avoid hardcoding is shlibpath_var, we
# have to relink, otherwise we might link with an installed library
# when we should be linking with a yet-to-be-installed one
- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
- test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
+ ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
+ test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
# Linking always hardcodes the temporary library directory.
_LT_TAGVAR(hardcode_action, $1)=relink
else
@@ -2115,12 +2186,12 @@
fi
AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
-if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
- test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
+if test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
+ test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
# Fast installation is not supported
enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
- test "$enable_shared" = no; then
+elif test yes = "$shlibpath_overrides_runpath" ||
+ test no = "$enable_shared"; then
# Fast installation is not necessary
enable_fast_install=needless
fi
@@ -2144,7 +2215,7 @@
# FIXME - insert some real tests, host_os isn't really good enough
case $host_os in
darwin*)
- if test -n "$STRIP" ; then
+ if test -n "$STRIP"; then
striplib="$STRIP -x"
old_striplib="$STRIP -S"
AC_MSG_RESULT([yes])
@@ -2162,6 +2233,47 @@
])# _LT_CMD_STRIPLIB
+# _LT_PREPARE_MUNGE_PATH_LIST
+# ---------------------------
+# Make sure func_munge_path_list() is defined correctly.
+m4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
+[[# func_munge_path_list VARIABLE PATH
+# -----------------------------------
+# VARIABLE is name of variable containing _space_ separated list of
+# directories to be munged by the contents of PATH, which is string
+# having a format:
+# "DIR[:DIR]:"
+# string "DIR[ DIR]" will be prepended to VARIABLE
+# ":DIR[:DIR]"
+# string "DIR[ DIR]" will be appended to VARIABLE
+# "DIRP[:DIRP]::[DIRA:]DIRA"
+# string "DIRP[ DIRP]" will be prepended to VARIABLE and string
+# "DIRA[ DIRA]" will be appended to VARIABLE
+# "DIR[:DIR]"
+# VARIABLE will be replaced by "DIR[ DIR]"
+func_munge_path_list ()
+{
+ case x@S|@2 in
+ x)
+ ;;
+ *:)
+ eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
+ ;;
+ x:*)
+ eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
+ ;;
+ *::*)
+ eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
+ eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
+ ;;
+ *)
+ eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
+ ;;
+ esac
+}
+]])# _LT_PREPARE_PATH_LIST
+
+
# _LT_SYS_DYNAMIC_LINKER([TAG])
# -----------------------------
# PORTME Fill in your ld.so characteristics
@@ -2172,17 +2284,18 @@
m4_require([_LT_DECL_OBJDUMP])dnl
m4_require([_LT_DECL_SED])dnl
m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
AC_MSG_CHECKING([dynamic linker characteristics])
m4_if([$1],
[], [
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
case $host_os in
- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
- *) lt_awk_arg="/^libraries:/" ;;
+ darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
+ *) lt_awk_arg='/^libraries:/' ;;
esac
case $host_os in
- mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
- *) lt_sed_strip_eq="s,=/,/,g" ;;
+ mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
+ *) lt_sed_strip_eq='s|=/|/|g' ;;
esac
lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
case $lt_search_path_spec in
@@ -2198,28 +2311,35 @@
;;
esac
# Ok, now we have the path, separated by spaces, we can step through it
- # and add multilib dir if necessary.
+ # and add multilib dir if necessary...
lt_tmp_lt_search_path_spec=
- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+ # ...but if some path component already ends with the multilib dir we assume
+ # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
+ case "$lt_multi_os_dir; $lt_search_path_spec " in
+ "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
+ lt_multi_os_dir=
+ ;;
+ esac
for lt_sys_path in $lt_search_path_spec; do
- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
- else
+ if test -d "$lt_sys_path$lt_multi_os_dir"; then
+ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir"
+ elif test -n "$lt_multi_os_dir"; then
test -d "$lt_sys_path" && \
lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
fi
done
lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
- lt_foo="";
- lt_count=0;
+BEGIN {RS = " "; FS = "/|\n";} {
+ lt_foo = "";
+ lt_count = 0;
for (lt_i = NF; lt_i > 0; lt_i--) {
if ($lt_i != "" && $lt_i != ".") {
if ($lt_i == "..") {
lt_count++;
} else {
if (lt_count == 0) {
- lt_foo="/" $lt_i lt_foo;
+ lt_foo = "/" $lt_i lt_foo;
} else {
lt_count--;
}
@@ -2233,7 +2353,7 @@
# for these hosts.
case $host_os in
mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
- $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
+ $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
esac
sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
else
@@ -2242,7 +2362,7 @@
library_names_spec=
libname_spec='lib$name'
soname_spec=
-shrext_cmds=".so"
+shrext_cmds=.so
postinstall_cmds=
postuninstall_cmds=
finish_cmds=
@@ -2259,14 +2379,17 @@
# flags to be left without arguments
need_version=unknown
+AC_ARG_VAR([LT_SYS_LIBRARY_PATH],
+[User-defined run-time library search path.])
+
case $host_os in
aix3*)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname.a'
shlibpath_var=LIBPATH
# AIX 3 has no versioning support, so we append a major version to the name.
- soname_spec='${libname}${release}${shared_ext}$major'
+ soname_spec='$libname$release$shared_ext$major'
;;
aix[[4-9]]*)
@@ -2274,41 +2397,91 @@
need_lib_prefix=no
need_version=no
hardcode_into_libs=yes
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 supports IA64
- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
else
# With GCC up to 2.95.x, collect2 would create an import file
# for dependence libraries. The import file would start with
- # the line `#! .'. This would cause the generated library to
- # depend on `.', always an invalid library. This was fixed in
+ # the line '#! .'. This would cause the generated library to
+ # depend on '.', always an invalid library. This was fixed in
# development snapshots of GCC prior to 3.0.
case $host_os in
aix4 | aix4.[[01]] | aix4.[[01]].*)
if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
echo ' yes '
- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+ echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then
:
else
can_build_shared=no
fi
;;
esac
- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+ # Using Import Files as archive members, it is possible to support
+ # filename-based versioning of shared library archives on AIX. While
+ # this would work for both with and without runtime linking, it will
+ # prevent static linking of such archives. So we do filename-based
+ # shared library versioning with .so extension only, which is used
+ # when both runtime linking and shared linking is enabled.
+ # Unfortunately, runtime linking may impact performance, so we do
+ # not want this to be the default eventually. Also, we use the
+ # versioned .so libs for executables only if there is the -brtl
+ # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+ # To allow for filename-based versioning support, we need to create
+ # libNAME.so.V as an archive file, containing:
+ # *) an Import File, referring to the versioned filename of the
+ # archive as well as the shared archive member, telling the
+ # bitwidth (32 or 64) of that shared object, and providing the
+ # list of exported symbols of that shared object, eventually
+ # decorated with the 'weak' keyword
+ # *) the shared object with the F_LOADONLY flag set, to really avoid
+ # it being seen by the linker.
+ # At run time we better use the real file rather than another symlink,
+ # but for link time we create the symlink libNAME.so -> libNAME.so.V
+
+ case $with_aix_soname,$aix_use_runtimelinking in
+ # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
# soname into executable. Probably we can add versioning support to
# collect2, so additional links can be useful in future.
- if test "$aix_use_runtimelinking" = yes; then
+ aix,yes) # traditional libtool
+ dynamic_linker='AIX unversionable lib.so'
# If using run time linking (on AIX 4.2 or later) use lib<name>.so
# instead of lib<name>.a to let people know that these are not
# typical AIX shared libraries.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- else
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ ;;
+ aix,no) # traditional AIX only
+ dynamic_linker='AIX lib.a[(]lib.so.V[)]'
# We preserve .a as extension for shared libraries through AIX4.2
# and later when we are not doing run time linking.
- library_names_spec='${libname}${release}.a $libname.a'
- soname_spec='${libname}${release}${shared_ext}$major'
- fi
+ library_names_spec='$libname$release.a $libname.a'
+ soname_spec='$libname$release$shared_ext$major'
+ ;;
+ svr4,*) # full svr4 only
+ dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
+ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+ # We do not specify a path in Import Files, so LIBPATH fires.
+ shlibpath_overrides_runpath=yes
+ ;;
+ *,yes) # both, prefer svr4
+ dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
+ library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
+ # unpreferred sharedlib libNAME.a needs extra handling
+ postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
+ postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
+ # We do not specify a path in Import Files, so LIBPATH fires.
+ shlibpath_overrides_runpath=yes
+ ;;
+ *,no) # both, prefer aix
+ dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
+ library_names_spec='$libname$release.a $libname.a'
+ soname_spec='$libname$release$shared_ext$major'
+ # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
+ postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
+ postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
+ ;;
+ esac
shlibpath_var=LIBPATH
fi
;;
@@ -2318,18 +2491,18 @@
powerpc)
# Since July 2007 AmigaOS4 officially supports .so libraries.
# When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
;;
m68k)
library_names_spec='$libname.ixlibrary $libname.a'
# Create ${libname}_ixlibrary.a entries in /sys/libs.
- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+ finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
;;
esac
;;
beos*)
- library_names_spec='${libname}${shared_ext}'
+ library_names_spec='$libname$shared_ext'
dynamic_linker="$host_os ld.so"
shlibpath_var=LIBRARY_PATH
;;
@@ -2337,8 +2510,8 @@
bsdi[[45]]*)
version_type=linux # correct to gnu/linux during the next big refactor
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
@@ -2350,7 +2523,7 @@
cygwin* | mingw* | pw32* | cegcc*)
version_type=windows
- shrext_cmds=".dll"
+ shrext_cmds=.dll
need_version=no
need_lib_prefix=no
@@ -2359,8 +2532,8 @@
# gcc
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname~
@@ -2376,17 +2549,17 @@
case $host_os in
cygwin*)
# Cygwin DLLs use 'cyg' prefix rather than 'lib'
- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
m4_if([$1], [],[
sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
;;
mingw* | cegcc*)
# MinGW DLLs use traditional 'lib' prefix
- soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
;;
pw32*)
# pw32 DLLs use 'pw' prefix rather than 'lib'
- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+ library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
;;
esac
dynamic_linker='Win32 ld.exe'
@@ -2395,8 +2568,8 @@
*,cl*)
# Native MSVC
libname_spec='$name'
- soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
- library_names_spec='${libname}.dll.lib'
+ soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
+ library_names_spec='$libname.dll.lib'
case $build_os in
mingw*)
@@ -2423,7 +2596,7 @@
sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
;;
*)
- sys_lib_search_path_spec="$LIB"
+ sys_lib_search_path_spec=$LIB
if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
# It is most probably a Windows format PATH.
sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
@@ -2436,8 +2609,8 @@
esac
# DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \${file}`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname'
@@ -2450,7 +2623,7 @@
*)
# Assume MSVC wrapper
- library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+ library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
dynamic_linker='Win32 ld.exe'
;;
esac
@@ -2463,8 +2636,8 @@
version_type=darwin
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
- soname_spec='${libname}${release}${major}$shared_ext'
+ library_names_spec='$libname$release$major$shared_ext $libname$shared_ext'
+ soname_spec='$libname$release$major$shared_ext'
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
@@ -2477,8 +2650,8 @@
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
;;
@@ -2496,12 +2669,13 @@
version_type=freebsd-$objformat
case $version_type in
freebsd-elf*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
need_version=no
need_lib_prefix=no
;;
freebsd-*)
- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
need_version=yes
;;
esac
@@ -2531,10 +2705,10 @@
need_lib_prefix=no
need_version=no
dynamic_linker="$host_os runtime_loader"
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LIBRARY_PATH
- shlibpath_overrides_runpath=yes
+ shlibpath_overrides_runpath=no
sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
hardcode_into_libs=yes
;;
@@ -2552,14 +2726,15 @@
dynamic_linker="$host_os dld.so"
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
- if test "X$HPUX_IA64_MODE" = X32; then
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ if test 32 = "$HPUX_IA64_MODE"; then
sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux32
else
sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+ sys_lib_dlsearch_path_spec=/usr/lib/hpux64
fi
- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
hppa*64*)
shrext_cmds='.sl'
@@ -2567,8 +2742,8 @@
dynamic_linker="$host_os dld.sl"
shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
@@ -2577,8 +2752,8 @@
dynamic_linker="$host_os dld.sl"
shlibpath_var=SHLIB_PATH
shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
;;
esac
# HP-UX runs *really* slowly unless shared libraries are mode 555, ...
@@ -2591,8 +2766,8 @@
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
@@ -2603,7 +2778,7 @@
case $host_os in
nonstopux*) version_type=nonstopux ;;
*)
- if test "$lt_cv_prog_gnu_ld" = yes; then
+ if test yes = "$lt_cv_prog_gnu_ld"; then
version_type=linux # correct to gnu/linux during the next big refactor
else
version_type=irix
@@ -2611,8 +2786,8 @@
esac
need_lib_prefix=no
need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+ soname_spec='$libname$release$shared_ext$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext'
case $host_os in
irix5* | nonstopux*)
libsuff= shlibsuff=
@@ -2631,8 +2806,8 @@
esac
shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
shlibpath_overrides_runpath=no
- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+ sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff"
+ sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff"
hardcode_into_libs=yes
;;
@@ -2641,13 +2816,33 @@
dynamic_linker=no
;;
+linux*android*)
+ version_type=none # Android doesn't support versioned libraries.
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext'
+ soname_spec='$libname$release$shared_ext'
+ finish_cmds=
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=yes
+
+ # This implies no fast_install, which is unacceptable.
+ # Some rework will be needed to allow for fast_install
+ # before this can be enabled.
+ hardcode_into_libs=yes
+
+ dynamic_linker='Android linker'
+ # Don't embed -rpath directories since the linker doesn't support them.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ ;;
+
# This must be glibc/ELF.
linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
@@ -2672,7 +2867,12 @@
# before this can be enabled.
hardcode_into_libs=yes
- # Append ld.so.conf contents to the search path
+ # Ideally, we could use ldconfig to report *all* directores which are
+ # searched for libraries, however this is still not possible. Aside from not
+ # being certain /sbin/ldconfig is available, command
+ # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
+ # even though it is searched at run-time. Try to do the best guess by
+ # appending ld.so.conf contents (and includes) to the search path.
if test -f /etc/ld.so.conf; then
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
@@ -2704,12 +2904,12 @@
need_lib_prefix=no
need_version=no
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
dynamic_linker='NetBSD (a.out) ld.so'
else
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
dynamic_linker='NetBSD ld.elf_so'
fi
shlibpath_var=LD_LIBRARY_PATH
@@ -2719,7 +2919,7 @@
newsos6)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
;;
@@ -2728,58 +2928,68 @@
version_type=qnx
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
dynamic_linker='ldqnx.so'
;;
-openbsd*)
+openbsd* | bitrig*)
version_type=sunos
- sys_lib_dlsearch_path_spec="/usr/lib"
+ sys_lib_dlsearch_path_spec=/usr/lib
need_lib_prefix=no
- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
- case $host_os in
- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
- *) need_version=no ;;
- esac
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
+ need_version=no
+ else
+ need_version=yes
+ fi
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- case $host_os in
- openbsd2.[[89]] | openbsd2.[[89]].*)
- shlibpath_overrides_runpath=no
- ;;
- *)
- shlibpath_overrides_runpath=yes
- ;;
- esac
- else
- shlibpath_overrides_runpath=yes
- fi
+ shlibpath_overrides_runpath=yes
;;
os2*)
libname_spec='$name'
- shrext_cmds=".dll"
+ version_type=windows
+ shrext_cmds=.dll
+ need_version=no
need_lib_prefix=no
- library_names_spec='$libname${shared_ext} $libname.a'
+ # OS/2 can only load a DLL with a base name of 8 characters or less.
+ soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
+ v=$($ECHO $release$versuffix | tr -d .-);
+ n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
+ $ECHO $n$v`$shared_ext'
+ library_names_spec='${libname}_dll.$libext'
dynamic_linker='OS/2 ld.exe'
- shlibpath_var=LIBPATH
+ shlibpath_var=BEGINLIBPATH
+ sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~
+ dlpath=$dir/\$dldll~
+ $RM \$dlpath'
;;
osf3* | osf4* | osf5*)
version_type=osf
need_lib_prefix=no
need_version=no
- soname_spec='${libname}${release}${shared_ext}$major'
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ soname_spec='$libname$release$shared_ext$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
;;
rdos*)
@@ -2790,8 +3000,8 @@
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
@@ -2801,11 +3011,11 @@
sunos4*)
version_type=sunos
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix'
finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
- if test "$with_gnu_ld" = yes; then
+ if test yes = "$with_gnu_ld"; then
need_lib_prefix=no
fi
need_version=yes
@@ -2813,8 +3023,8 @@
sysv4 | sysv4.3*)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
case $host_vendor in
sni)
@@ -2835,24 +3045,24 @@
;;
sysv4*MP*)
- if test -d /usr/nec ;then
+ if test -d /usr/nec; then
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
- soname_spec='$libname${shared_ext}.$major'
+ library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext'
+ soname_spec='$libname$shared_ext.$major'
shlibpath_var=LD_LIBRARY_PATH
fi
;;
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
- version_type=freebsd-elf
+ version_type=sco
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
hardcode_into_libs=yes
- if test "$with_gnu_ld" = yes; then
+ if test yes = "$with_gnu_ld"; then
sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
else
sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
@@ -2870,7 +3080,7 @@
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
@@ -2878,8 +3088,8 @@
uts4*)
version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
- soname_spec='${libname}${release}${shared_ext}$major'
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LD_LIBRARY_PATH
;;
@@ -2888,20 +3098,30 @@
;;
esac
AC_MSG_RESULT([$dynamic_linker])
-test "$dynamic_linker" = no && can_build_shared=no
+test no = "$dynamic_linker" && can_build_shared=no
variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
fi
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
+ sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
+if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
+ sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
fi
+# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
+configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
+
+# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
+func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
+
+# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
+configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
+
_LT_DECL([], [variables_saved_for_relink], [1],
[Variables whose values should be saved in libtool wrapper scripts and
restored at link time])
@@ -2934,39 +3154,41 @@
[Whether we should hardcode library paths into libraries])
_LT_DECL([], [sys_lib_search_path_spec], [2],
[Compile-time system search path for libraries])
-_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
- [Run-time system search path for libraries])
+_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
+ [Detected run-time system search path for libraries])
+_LT_DECL([], [configure_time_lt_sys_library_path], [2],
+ [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
])# _LT_SYS_DYNAMIC_LINKER
# _LT_PATH_TOOL_PREFIX(TOOL)
# --------------------------
-# find a file program which can recognize shared library
+# find a file program that can recognize shared library
AC_DEFUN([_LT_PATH_TOOL_PREFIX],
[m4_require([_LT_DECL_EGREP])dnl
AC_MSG_CHECKING([for $1])
AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
[case $MAGIC_CMD in
[[\\/*] | ?:[\\/]*])
- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+ lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path.
;;
*)
- lt_save_MAGIC_CMD="$MAGIC_CMD"
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ lt_save_MAGIC_CMD=$MAGIC_CMD
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
dnl $ac_dummy forces splitting on constant user-supplied paths.
dnl POSIX.2 word splitting is done only on the output of word expansions,
dnl not every word. This closes a longstanding sh security hole.
ac_dummy="m4_if([$2], , $PATH, [$2])"
for ac_dir in $ac_dummy; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$1; then
- lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+ if test -f "$ac_dir/$1"; then
+ lt_cv_path_MAGIC_CMD=$ac_dir/"$1"
if test -n "$file_magic_test_file"; then
case $deplibs_check_method in
"file_magic "*)
file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+ MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
$EGREP "$file_magic_regex" > /dev/null; then
:
@@ -2989,11 +3211,11 @@
break
fi
done
- IFS="$lt_save_ifs"
- MAGIC_CMD="$lt_save_MAGIC_CMD"
+ IFS=$lt_save_ifs
+ MAGIC_CMD=$lt_save_MAGIC_CMD
;;
esac])
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+MAGIC_CMD=$lt_cv_path_MAGIC_CMD
if test -n "$MAGIC_CMD"; then
AC_MSG_RESULT($MAGIC_CMD)
else
@@ -3011,7 +3233,7 @@
# _LT_PATH_MAGIC
# --------------
-# find a file program which can recognize a shared library
+# find a file program that can recognize a shared library
m4_defun([_LT_PATH_MAGIC],
[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
if test -z "$lt_cv_path_MAGIC_CMD"; then
@@ -3038,16 +3260,16 @@
AC_ARG_WITH([gnu-ld],
[AS_HELP_STRING([--with-gnu-ld],
[assume the C compiler uses GNU ld @<:@default=no@:>@])],
- [test "$withval" = no || with_gnu_ld=yes],
+ [test no = "$withval" || with_gnu_ld=yes],
[with_gnu_ld=no])dnl
ac_prog=ld
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
# Check if gcc -print-prog-name=ld gives a path.
AC_MSG_CHECKING([for ld used by $CC])
case $host in
*-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
+ # gcc leaves a trailing carriage return, which upsets mingw
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
*)
ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
@@ -3061,7 +3283,7 @@
while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
done
- test -z "$LD" && LD="$ac_prog"
+ test -z "$LD" && LD=$ac_prog
;;
"")
# If it fails, then pretend we aren't using GCC.
@@ -3072,37 +3294,37 @@
with_gnu_ld=unknown
;;
esac
-elif test "$with_gnu_ld" = yes; then
+elif test yes = "$with_gnu_ld"; then
AC_MSG_CHECKING([for GNU ld])
else
AC_MSG_CHECKING([for non-GNU ld])
fi
AC_CACHE_VAL(lt_cv_path_LD,
[if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
+ lt_cv_path_LD=$ac_dir/$ac_prog
# Check to see if the program is GNU ld. I'd rather use --version,
# but apparently some variants of GNU ld only accept -v.
# Break only if it was the GNU/non-GNU ld that we prefer.
case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
+ test no != "$with_gnu_ld" && break
;;
*)
- test "$with_gnu_ld" != yes && break
+ test yes != "$with_gnu_ld" && break
;;
esac
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
+ lt_cv_path_LD=$LD # Let the user override the test with a path.
fi])
-LD="$lt_cv_path_LD"
+LD=$lt_cv_path_LD
if test -n "$LD"; then
AC_MSG_RESULT($LD)
else
@@ -3156,13 +3378,13 @@
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
- if test "$GCC" != yes; then
+ if test yes != "$GCC"; then
reload_cmds=false
fi
;;
darwin*)
- if test "$GCC" = yes; then
- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+ if test yes = "$GCC"; then
+ reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
else
reload_cmds='$LD$reload_flag -o $output$reload_objs'
fi
@@ -3173,6 +3395,43 @@
])# _LT_CMD_RELOAD
+# _LT_PATH_DD
+# -----------
+# find a working dd
+m4_defun([_LT_PATH_DD],
+[AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD],
+[printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+: ${lt_DD:=$DD}
+AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
+[if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+ cmp -s conftest.i conftest.out \
+ && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
+fi])
+rm -f conftest.i conftest2.i conftest.out])
+])# _LT_PATH_DD
+
+
+# _LT_CMD_TRUNCATE
+# ----------------
+# find command to truncate a binary pipe
+m4_defun([_LT_CMD_TRUNCATE],
+[m4_require([_LT_PATH_DD])
+AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
+[printf 0123456789abcdef0123456789abcdef >conftest.i
+cat conftest.i conftest.i >conftest2.i
+lt_cv_truncate_bin=
+if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
+ cmp -s conftest.i conftest.out \
+ && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
+fi
+rm -f conftest.i conftest2.i conftest.out
+test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
+_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
+ [Command to truncate a binary pipe])
+])# _LT_CMD_TRUNCATE
+
+
# _LT_CHECK_MAGIC_METHOD
# ----------------------
# how to check for library dependencies
@@ -3188,13 +3447,13 @@
# Need to set the preceding variable on all platforms that support
# interlibrary dependencies.
# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
+# 'unknown' -- same as none, but documents that we really don't know.
# 'pass_all' -- all dependencies passed with no checks.
# 'test_compile' -- check by making test program.
# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
+# that responds to the $file_magic_cmd with a given extended regex.
+# If you have 'file' or equivalent on your system and you're not sure
+# whether 'pass_all' will *always* work, you probably want this one.
case $host_os in
aix[[4-9]]*)
@@ -3221,8 +3480,7 @@
# Base MSYS/MinGW do not provide the 'file' command needed by
# func_win32_libid shell function, so use a weaker test based on 'objdump',
# unless we find 'file', for example because we are cross-compiling.
- # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
- if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
+ if ( file / ) >/dev/null 2>&1; then
lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
lt_cv_file_magic_cmd='func_win32_libid'
else
@@ -3318,8 +3576,8 @@
lt_cv_deplibs_check_method=pass_all
;;
-openbsd*)
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+openbsd* | bitrig*)
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
else
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
@@ -3372,6 +3630,9 @@
tpf*)
lt_cv_deplibs_check_method=pass_all
;;
+os2*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
esac
])
@@ -3412,33 +3673,38 @@
AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
[if test -n "$NM"; then
# Let the user override the test.
- lt_cv_path_NM="$NM"
+ lt_cv_path_NM=$NM
else
- lt_nm_to_check="${ac_tool_prefix}nm"
+ lt_nm_to_check=${ac_tool_prefix}nm
if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
lt_nm_to_check="$lt_nm_to_check nm"
fi
for lt_tmp_nm in $lt_nm_to_check; do
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+ lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR
for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
test -z "$ac_dir" && ac_dir=.
- tmp_nm="$ac_dir/$lt_tmp_nm"
- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+ tmp_nm=$ac_dir/$lt_tmp_nm
+ if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then
# Check to see if the nm accepts a BSD-compat flag.
- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+ # Adding the 'sed 1q' prevents false positives on HP-UX, which says:
# nm: unknown option "B" ignored
# Tru64's nm complains that /dev/null is an invalid object file
- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
- */dev/null* | *'Invalid file or object type'*)
+ # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
+ case $build_os in
+ mingw*) lt_bad_file=conftest.nm/nofile ;;
+ *) lt_bad_file=/dev/null ;;
+ esac
+ case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
+ *$lt_bad_file* | *'Invalid file or object type'*)
lt_cv_path_NM="$tmp_nm -B"
- break
+ break 2
;;
*)
case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
*/dev/null*)
lt_cv_path_NM="$tmp_nm -p"
- break
+ break 2
;;
*)
lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
@@ -3449,21 +3715,21 @@
esac
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
done
: ${lt_cv_path_NM=no}
fi])
-if test "$lt_cv_path_NM" != "no"; then
- NM="$lt_cv_path_NM"
+if test no != "$lt_cv_path_NM"; then
+ NM=$lt_cv_path_NM
else
# Didn't find any BSD compatible name lister, look for dumpbin.
if test -n "$DUMPBIN"; then :
# Let the user override the test.
else
AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
- case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
+ case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
*COFF*)
- DUMPBIN="$DUMPBIN -symbols"
+ DUMPBIN="$DUMPBIN -symbols -headers"
;;
*)
DUMPBIN=:
@@ -3471,8 +3737,8 @@
esac
fi
AC_SUBST([DUMPBIN])
- if test "$DUMPBIN" != ":"; then
- NM="$DUMPBIN"
+ if test : != "$DUMPBIN"; then
+ NM=$DUMPBIN
fi
fi
test -z "$NM" && NM=nm
@@ -3518,8 +3784,8 @@
case $host_os in
cygwin* | mingw* | pw32* | cegcc*)
- # two different shell functions defined in ltmain.sh
- # decide which to use based on capabilities of $DLLTOOL
+ # two different shell functions defined in ltmain.sh;
+ # decide which one to use based on capabilities of $DLLTOOL
case `$DLLTOOL --help 2>&1` in
*--identify-strict*)
lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
@@ -3531,7 +3797,7 @@
;;
*)
# fallback: assume linklib IS sharedlib
- lt_cv_sharedlib_from_linklib_cmd="$ECHO"
+ lt_cv_sharedlib_from_linklib_cmd=$ECHO
;;
esac
])
@@ -3558,13 +3824,28 @@
lt_cv_path_mainfest_tool=yes
fi
rm -f conftest*])
-if test "x$lt_cv_path_mainfest_tool" != xyes; then
+if test yes != "$lt_cv_path_mainfest_tool"; then
MANIFEST_TOOL=:
fi
_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
])# _LT_PATH_MANIFEST_TOOL
+# _LT_DLL_DEF_P([FILE])
+# ---------------------
+# True iff FILE is a Windows DLL '.def' file.
+# Keep in sync with func_dll_def_p in the libtool script
+AC_DEFUN([_LT_DLL_DEF_P],
+[dnl
+ test DEF = "`$SED -n dnl
+ -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace
+ -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments
+ -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl
+ -e q dnl Only consider the first "real" line
+ $1`" dnl
+])# _LT_DLL_DEF_P
+
+
# LT_LIB_M
# --------
# check for math library
@@ -3576,11 +3857,11 @@
# These system don't have libm, or don't need it
;;
*-ncr-sysv4.3*)
- AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+ AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw)
AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
;;
*)
- AC_CHECK_LIB(m, cos, LIBM="-lm")
+ AC_CHECK_LIB(m, cos, LIBM=-lm)
;;
esac
AC_SUBST([LIBM])
@@ -3599,7 +3880,7 @@
_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-if test "$GCC" = yes; then
+if test yes = "$GCC"; then
case $cc_basename in
nvcc*)
_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
@@ -3651,7 +3932,7 @@
symcode='[[ABCDGISTW]]'
;;
hpux*)
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
symcode='[[ABCDEGRST]]'
fi
;;
@@ -3684,14 +3965,44 @@
symcode='[[ABCDGIRSTW]]' ;;
esac
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+ # Gets list of data symbols to import.
+ lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
+ # Adjust the below global symbol transforms to fixup imported variables.
+ lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
+ lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
+ lt_c_name_lib_hook="\
+ -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\
+ -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'"
+else
+ # Disable hooks by default.
+ lt_cv_sys_global_symbol_to_import=
+ lt_cdecl_hook=
+ lt_c_name_hook=
+ lt_c_name_lib_hook=
+fi
+
# Transform an extracted symbol line into a proper C declaration.
# Some systems (esp. on ia64) link data and code symbols differently,
# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+lt_cv_sys_global_symbol_to_cdecl="sed -n"\
+$lt_cdecl_hook\
+" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
+$lt_c_name_hook\
+" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
+
+# Transform an extracted symbol line into symbol name with lib prefix and
+# symbol address.
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
+$lt_c_name_lib_hook\
+" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
+" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
+" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'"
# Handle CRLF in mingw tool chain
opt_cr=
@@ -3709,21 +4020,24 @@
# Write the raw and C identifiers.
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
- # Fake it for dumpbin and say T for any non-static function
- # and D for any global variable.
+ # Fake it for dumpbin and say T for any non-static function,
+ # D for any global variable and I for any imported variable.
# Also find C++ and __fastcall symbols from MSVC++,
# which start with @ or ?.
lt_cv_sys_global_symbol_pipe="$AWK ['"\
" {last_section=section; section=\$ 3};"\
" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
+" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
+" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
" \$ 0!~/External *\|/{next};"\
" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
" {if(hide[section]) next};"\
-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-" s[1]~/^[@?]/{print s[1], s[1]; next};"\
-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
+" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
+" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
+" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
" ' prfx=^$ac_symprfx]"
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
@@ -3763,11 +4077,11 @@
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
-/* DATA imports from DLLs on WIN32 con't be const, because runtime
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
relocations are performed -- see ld's documentation on pseudo-relocs. */
# define LT@&t@_DLSYM_CONST
-#elif defined(__osf__)
+#elif defined __osf__
/* This system does not cope well with relocations in const data. */
# define LT@&t@_DLSYM_CONST
#else
@@ -3793,7 +4107,7 @@
{
{ "@PROGRAM@", (void *) 0 },
_LT_EOF
- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+ $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
cat <<\_LT_EOF >> conftest.$ac_ext
{0, (void *) 0}
};
@@ -3813,9 +4127,9 @@
mv conftest.$ac_objext conftstm.$ac_objext
lt_globsym_save_LIBS=$LIBS
lt_globsym_save_CFLAGS=$CFLAGS
- LIBS="conftstm.$ac_objext"
+ LIBS=conftstm.$ac_objext
CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+ if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
pipe_works=yes
fi
LIBS=$lt_globsym_save_LIBS
@@ -3836,7 +4150,7 @@
rm -rf conftest* conftst*
# Do not use the global_symbol_pipe unless it works.
- if test "$pipe_works" = yes; then
+ if test yes = "$pipe_works"; then
break
else
lt_cv_sys_global_symbol_pipe=
@@ -3863,12 +4177,16 @@
[Take the output of nm and produce a listing of raw symbols and C names])
_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
[Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
+ [Transform the output of nm into a list of symbols to manually relocate])
_LT_DECL([global_symbol_to_c_name_address],
[lt_cv_sys_global_symbol_to_c_name_address], [1],
[Transform the output of nm in a C name address pair])
_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
[lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
[Transform the output of nm in a C name address pair when lib prefix is needed])
+_LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
+ [The name lister interface])
_LT_DECL([], [nm_file_list_spec], [1],
[Specify filename containing input files for $NM])
]) # _LT_CMD_GLOBAL_SYMBOLS
@@ -3884,17 +4202,18 @@
m4_if([$1], [CXX], [
# C++ specific cases for pic, static, wl, etc.
- if test "$GXX" = yes; then
+ if test yes = "$GXX"; then
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
case $host_os in
aix*)
# All AIX code is PIC.
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
fi
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
amigaos*)
@@ -3905,8 +4224,8 @@
;;
m68k)
# FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
+ # adding the '-m68020' flag to GCC prevents building anything better,
+ # like '-m68040'.
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
;;
esac
@@ -3922,6 +4241,11 @@
# (--disable-auto-import) libraries
m4_if([$1], [GCJ], [],
[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ case $host_os in
+ os2*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+ ;;
+ esac
;;
darwin* | rhapsody*)
# PIC is the default on this platform
@@ -3971,7 +4295,7 @@
case $host_os in
aix[[4-9]]*)
# All AIX code is PIC.
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
else
@@ -4012,14 +4336,14 @@
case $cc_basename in
CC*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
- if test "$host_cpu" != ia64; then
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
+ if test ia64 != "$host_cpu"; then
_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
fi
;;
aCC*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
case $host_cpu in
hppa*64*|ia64*)
# +Z the default
@@ -4056,7 +4380,7 @@
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
ecpc* )
- # old Intel C++ for x86_64 which still supported -KPIC.
+ # old Intel C++ for x86_64, which still supported -KPIC.
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
@@ -4201,17 +4525,18 @@
fi
],
[
- if test "$GCC" = yes; then
+ if test yes = "$GCC"; then
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
case $host_os in
aix*)
# All AIX code is PIC.
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
fi
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
;;
amigaos*)
@@ -4222,8 +4547,8 @@
;;
m68k)
# FIXME: we need at least 68020 code to build shared libraries, but
- # adding the `-m68020' flag to GCC prevents building anything better,
- # like `-m68040'.
+ # adding the '-m68020' flag to GCC prevents building anything better,
+ # like '-m68040'.
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
;;
esac
@@ -4240,6 +4565,11 @@
# (--disable-auto-import) libraries
m4_if([$1], [GCJ], [],
[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ case $host_os in
+ os2*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+ ;;
+ esac
;;
darwin* | rhapsody*)
@@ -4310,7 +4640,7 @@
case $host_os in
aix*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# AIX 5 now supports IA64 processor
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
else
@@ -4318,11 +4648,30 @@
fi
;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+ case $cc_basename in
+ nagfor*)
+ # NAG Fortran compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+ esac
+ ;;
+
mingw* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
m4_if([$1], [GCJ], [],
[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+ case $host_os in
+ os2*)
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
+ ;;
+ esac
;;
hpux9* | hpux10* | hpux11*)
@@ -4338,7 +4687,7 @@
;;
esac
# Is there a better lt_prog_compiler_static that works with the bundled CC?
- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
;;
irix5* | irix6* | nonstopux*)
@@ -4349,7 +4698,7 @@
linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
case $cc_basename in
- # old Intel for x86_64 which still supported -KPIC.
+ # old Intel for x86_64, which still supported -KPIC.
ecc*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
@@ -4374,6 +4723,12 @@
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
+ tcc*)
+ # Fabrice Bellard et al's Tiny C Compiler
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
@@ -4471,7 +4826,7 @@
;;
sysv4*MP*)
- if test -d /usr/nec ;then
+ if test -d /usr/nec; then
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
fi
@@ -4500,7 +4855,7 @@
fi
])
case $host_os in
- # For platforms which do not support PIC, -DPIC is meaningless:
+ # For platforms that do not support PIC, -DPIC is meaningless:
*djgpp*)
_LT_TAGVAR(lt_prog_compiler_pic, $1)=
;;
@@ -4566,17 +4921,21 @@
case $host_os in
aix[[4-9]]*)
# If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global defined
- # symbols, whereas GNU nm marks them as "W".
+ # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+ # Without the "-l" option, or with the "-B" option, AIX nm treats
+ # weak defined symbols like other global defined symbols, whereas
+ # GNU nm marks them as "W".
+ # While the 'weak' keyword is ignored in the Export File, we need
+ # it in the Import File for the 'aix-soname' feature, so we have
+ # to replace the "-B" option with "-P" for AIX nm.
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
else
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
fi
;;
pw32*)
- _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+ _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
;;
cygwin* | mingw* | cegcc*)
case $cc_basename in
@@ -4625,9 +4984,9 @@
# included in the symbol list
_LT_TAGVAR(include_expsyms, $1)=
# exclude_expsyms can be an extended regexp of symbols to exclude
- # it will be wrapped by ` (' and `)$', so one must not match beginning or
- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
- # as well as any symbol that contains `d'.
+ # it will be wrapped by ' (' and ')$', so one must not match beginning or
+ # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc',
+ # as well as any symbol that contains 'd'.
_LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
# Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
# platforms (ab)use it in PIC code, but their linkers get confused if
@@ -4643,7 +5002,7 @@
# FIXME: the MSVC++ port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++.
- if test "$GCC" != yes; then
+ if test yes != "$GCC"; then
with_gnu_ld=no
fi
;;
@@ -4651,7 +5010,7 @@
# we just hope/assume this is gcc and not c89 (= MSVC++)
with_gnu_ld=yes
;;
- openbsd*)
+ openbsd* | bitrig*)
with_gnu_ld=no
;;
linux* | k*bsd*-gnu | gnu*)
@@ -4664,7 +5023,7 @@
# On some targets, GNU ld is compatible enough with the native linker
# that we're better off using the native interface for both.
lt_use_gnu_ld_interface=no
- if test "$with_gnu_ld" = yes; then
+ if test yes = "$with_gnu_ld"; then
case $host_os in
aix*)
# The AIX port of GNU ld has always aspired to compatibility
@@ -4686,24 +5045,24 @@
esac
fi
- if test "$lt_use_gnu_ld_interface" = yes; then
+ if test yes = "$lt_use_gnu_ld_interface"; then
# If archive_cmds runs LD, not CC, wlarc should be empty
- wlarc='${wl}'
+ wlarc='$wl'
# Set some defaults for GNU ld with shared library support. These
# are reset later if shared libraries are not supported. Putting them
# here allows them to be overridden if necessary.
runpath_var=LD_RUN_PATH
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
# ancient GNU ld didn't support --whole-archive et. al.
if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
else
_LT_TAGVAR(whole_archive_flag_spec, $1)=
fi
supports_anon_versioning=no
- case `$LD -v 2>&1` in
+ case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
*GNU\ gold*) supports_anon_versioning=yes ;;
*\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
@@ -4716,7 +5075,7 @@
case $host_os in
aix[[3-9]]*)
# On AIX/PPC, the GNU linker is very broken
- if test "$host_cpu" != ia64; then
+ if test ia64 != "$host_cpu"; then
_LT_TAGVAR(ld_shlibs, $1)=no
cat <<_LT_EOF 1>&2
@@ -4735,7 +5094,7 @@
case $host_cpu in
powerpc)
# see comment about AmigaOS4 .so support
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)=''
;;
m68k)
@@ -4751,7 +5110,7 @@
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
# support --undefined. This deserves some investigation. FIXME
- _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
@@ -4761,7 +5120,7 @@
# _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
# as there is no search path for DLLs.
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
_LT_TAGVAR(always_export_symbols, $1)=no
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
@@ -4769,61 +5128,89 @@
_LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file, use it as
+ # is; otherwise, prepend EXPORTS...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
;;
haiku*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(link_all_deplibs, $1)=yes
;;
+ os2*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ shrext_cmds=.dll
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+
interix[[3-9]]*)
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
# Instead, shared libraries are loaded at an image base (0x10000000 by
# default) and relocated if they conflict, which is a slow very memory
# consuming and fragmenting process. To avoid this, we pick a random,
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
tmp_diet=no
- if test "$host_os" = linux-dietlibc; then
+ if test linux-dietlibc = "$host_os"; then
case $cc_basename in
diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
esac
fi
if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
- && test "$tmp_diet" = no
+ && test no = "$tmp_diet"
then
tmp_addflag=' $pic_flag'
tmp_sharedflag='-shared'
case $cc_basename,$host_cpu in
pgcc*) # Portland Group C compiler
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
tmp_addflag=' $pic_flag'
;;
pgf77* | pgf90* | pgf95* | pgfortran*)
# Portland Group f77 and f90 compilers
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
tmp_addflag=' $pic_flag -Mnomain' ;;
ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
tmp_addflag=' -i_dynamic' ;;
@@ -4834,42 +5221,47 @@
lf95*) # Lahey Fortran 8.1
_LT_TAGVAR(whole_archive_flag_spec, $1)=
tmp_sharedflag='--shared' ;;
+ nagfor*) # NAGFOR 5.3
+ tmp_sharedflag='-Wl,-shared' ;;
xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
tmp_sharedflag='-qmkshrobj'
tmp_addflag= ;;
nvcc*) # Cuda Compiler Driver 2.2
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
_LT_TAGVAR(compiler_needs_object, $1)=yes
;;
esac
case `$CC -V 2>&1 | sed 5q` in
*Sun\ C*) # Sun C 5.9
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
_LT_TAGVAR(compiler_needs_object, $1)=yes
tmp_sharedflag='-G' ;;
*Sun\ F*) # Sun Fortran 8.3
tmp_sharedflag='-G' ;;
esac
- _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
+ if test yes = "$supports_anon_versioning"; then
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
fi
case $cc_basename in
+ tcc*)
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
+ ;;
xlf* | bgf* | bgxlf* | mpixlf*)
# IBM XL Fortran 10.1 on PPC cannot create shared libs itself
_LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
+ if test yes = "$supports_anon_versioning"; then
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
fi
;;
esac
@@ -4883,8 +5275,8 @@
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
fi
;;
@@ -4902,8 +5294,8 @@
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
@@ -4915,7 +5307,7 @@
_LT_TAGVAR(ld_shlibs, $1)=no
cat <<_LT_EOF 1>&2
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
*** reliably create shared libraries on SCO systems. Therefore, libtool
*** is disabling shared libraries support. We urge you to upgrade GNU
*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
@@ -4930,9 +5322,9 @@
# DT_RUNPATH tag from executables and libraries. But doing so
# requires that you compile everything twice, which is a pain.
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
@@ -4949,15 +5341,15 @@
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
;;
esac
- if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
+ if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
runpath_var=
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
_LT_TAGVAR(export_dynamic_flag_spec, $1)=
@@ -4973,7 +5365,7 @@
# Note: this linker hardcodes the directories in LIBPATH if there
# are no directories specified by -L.
_LT_TAGVAR(hardcode_minus_L, $1)=yes
- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+ if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
# Neither direct hardcoding nor static linking is supported with a
# broken collect2.
_LT_TAGVAR(hardcode_direct, $1)=unsupported
@@ -4981,34 +5373,57 @@
;;
aix[[4-9]]*)
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
aix_use_runtimelinking=no
exp_sym_flag='-Bexport'
- no_entry_flag=""
+ no_entry_flag=
else
# If we're using GNU nm, then we don't want the "-C" option.
- # -C means demangle to AIX nm, but means don't demangle with GNU nm
- # Also, AIX nm treats weak defined symbols like other global
- # defined symbols, whereas GNU nm marks them as "W".
+ # -C means demangle to GNU nm, but means don't demangle to AIX nm.
+ # Without the "-l" option, or with the "-B" option, AIX nm treats
+ # weak defined symbols like other global defined symbols, whereas
+ # GNU nm marks them as "W".
+ # While the 'weak' keyword is ignored in the Export File, we need
+ # it in the Import File for the 'aix-soname' feature, so we have
+ # to replace the "-B" option with "-P" for AIX nm.
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
else
- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+ _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
fi
aix_use_runtimelinking=no
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
+ # have runtime linking enabled, and use it for executables.
+ # For shared libraries, we enable/disable runtime linking
+ # depending on the kind of the shared library created -
+ # when "with_aix_soname,aix_use_runtimelinking" is:
+ # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
+ # "aix,yes" lib.so shared, rtl:yes, for executables
+ # lib.a static archive
+ # "both,no" lib.so.V(shr.o) shared, rtl:yes
+ # lib.a(lib.so.V) shared, rtl:no, for executables
+ # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a(lib.so.V) shared, rtl:no
+ # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a static archive
case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
for ld_flag in $LDFLAGS; do
- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+ if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
aix_use_runtimelinking=yes
break
fi
done
+ if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+ # With aix-soname=svr4, we create the lib.so.V shared archives only,
+ # so we don't have lib.a shared libs to link our executables.
+ # We have to force runtime linking in this case.
+ aix_use_runtimelinking=yes
+ LDFLAGS="$LDFLAGS -Wl,-brtl"
+ fi
;;
esac
@@ -5027,13 +5442,21 @@
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
_LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+ _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
+ case $with_aix_soname,$aix_use_runtimelinking in
+ aix,*) ;; # traditional, no import file
+ svr4,* | *,yes) # use import file
+ # The Import File defines what to hardcode.
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+ ;;
+ esac
- if test "$GCC" = yes; then
+ if test yes = "$GCC"; then
case $host_os in aix4.[[012]]|aix4.[[012]].*)
# We only want to do this on AIX 4.2 and lower, the check
# below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
+ collect2name=`$CC -print-prog-name=collect2`
if test -f "$collect2name" &&
strings "$collect2name" | $GREP resolve_lib_name >/dev/null
then
@@ -5052,62 +5475,80 @@
;;
esac
shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag="$shared_flag "'$wl-G'
fi
- _LT_TAGVAR(link_all_deplibs, $1)=no
+ # Need to ensure runtime linking is disabled for the traditional
+ # shared library, or the linker may eventually find shared libraries
+ # /with/ Import File - we do not want to mix them.
+ shared_flag_aix='-shared'
+ shared_flag_svr4='-shared $wl-G'
else
# not using gcc
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
# chokes on -Wl,-G. The following line is correct:
shared_flag='-G'
else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag='$wl-G'
else
- shared_flag='${wl}-bM:SRE'
+ shared_flag='$wl-bM:SRE'
fi
+ shared_flag_aix='$wl-bM:SRE'
+ shared_flag_svr4='$wl-G'
fi
fi
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
# It seems that -bexpall does not export symbols beginning with
# underscore (_), so it is better to generate a list of symbols to export.
_LT_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
+ if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
# Warning - without using the other runtime loading flags (-brtl),
# -berok will link without error, but may produce a broken library.
_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
# Determine the default libpath from the value encoded in an
# empty executable.
_LT_SYS_MODULE_PATH_AIX([$1])
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
else
- if test "$host_cpu" = ia64; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ if test ia64 = "$host_cpu"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
_LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
else
# Determine the default libpath from the value encoded in an
# empty executable.
_LT_SYS_MODULE_PATH_AIX([$1])
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
# -berok will link without error, but may produce a broken library.
- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
+ _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
+ if test yes = "$with_gnu_ld"; then
# We only use this code for GNU lds that support --whole-archive.
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
else
# Exported symbols can be pulled into shared objects from archives
_LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
fi
_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds its shared libraries.
- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+ # -brtl affects multiple linker settings, -berok does not and is overridden later
+ compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
+ if test svr4 != "$with_aix_soname"; then
+ # This is similar to how AIX traditionally builds its shared libraries.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+ fi
+ if test aix != "$with_aix_soname"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+ else
+ # used by -dlpreopen to get the symbols
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
+ fi
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
fi
fi
;;
@@ -5116,7 +5557,7 @@
case $host_cpu in
powerpc)
# see comment about AmigaOS4 .so support
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)=''
;;
m68k)
@@ -5146,16 +5587,17 @@
# Tell ltmain to make .lib files, not .a files.
libext=lib
# Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
+ shrext_cmds=.dll
# FIXME: Setting linknames here is a bad hack.
- _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+ cp "$export_symbols" "$output_objdir/$soname.def";
+ echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+ else
+ $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
# The linker will not automatically build a static lib if we build a DLL.
# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
@@ -5164,18 +5606,18 @@
# Don't use ranlib
_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
_LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile=$lt_outputfile.exe
+ lt_tool_outputfile=$lt_tool_outputfile.exe
+ ;;
+ esac~
+ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
;;
*)
# Assume MSVC wrapper
@@ -5184,7 +5626,7 @@
# Tell ltmain to make .lib files, not .a files.
libext=lib
# Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
+ shrext_cmds=.dll
# FIXME: Setting linknames here is a bad hack.
_LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
# The linker will automatically build a .lib file if we build a DLL.
@@ -5234,33 +5676,33 @@
;;
hpux9*)
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
else
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
fi
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
_LT_TAGVAR(hardcode_direct, $1)=yes
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
_LT_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
;;
hpux10*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ if test yes,no = "$GCC,$with_gnu_ld"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
else
_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
- if test "$with_gnu_ld" = no; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ if test no = "$with_gnu_ld"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
_LT_TAGVAR(hardcode_minus_L, $1)=yes
@@ -5268,25 +5710,25 @@
;;
hpux11*)
- if test "$GCC" = yes && test "$with_gnu_ld" = no; then
+ if test yes,no = "$GCC,$with_gnu_ld"; then
case $host_cpu in
hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
else
case $host_cpu in
hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
m4_if($1, [], [
@@ -5294,14 +5736,14 @@
# (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
_LT_LINKER_OPTION([if $CC understands -b],
_LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
- [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
[_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
- [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
+ [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
;;
esac
fi
- if test "$with_gnu_ld" = no; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ if test no = "$with_gnu_ld"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
case $host_cpu in
@@ -5312,7 +5754,7 @@
*)
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
# hardcode_minus_L: Not really in the search PATH,
# but as the default location of the library.
@@ -5323,16 +5765,16 @@
;;
irix5* | irix6* | nonstopux*)
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
# Try to use the -exported_symbol ld option, if it does not
# work, assume that -exports_file does not work either and
# implicitly export all symbols.
# This should be the same for all languages, so no per-tag cache variable.
AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
[lt_cv_irix_exported_symbol],
- [save_LDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+ [save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
AC_LINK_IFELSE(
[AC_LANG_SOURCE(
[AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
@@ -5345,21 +5787,32 @@
end]])])],
[lt_cv_irix_exported_symbol=yes],
[lt_cv_irix_exported_symbol=no])
- LDFLAGS="$save_LDFLAGS"])
- if test "$lt_cv_irix_exported_symbol" = yes; then
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+ LDFLAGS=$save_LDFLAGS])
+ if test yes = "$lt_cv_irix_exported_symbol"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
fi
+ _LT_TAGVAR(link_all_deplibs, $1)=no
else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
fi
_LT_TAGVAR(archive_cmds_need_lc, $1)='no'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
_LT_TAGVAR(inherit_rpath, $1)=yes
_LT_TAGVAR(link_all_deplibs, $1)=yes
;;
+ linux*)
+ case $cc_basename in
+ tcc*)
+ # Fabrice Bellard et al's Tiny C Compiler
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ ;;
+ esac
+ ;;
+
netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
@@ -5374,7 +5827,7 @@
newsos6)
_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
_LT_TAGVAR(hardcode_direct, $1)=yes
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
@@ -5382,27 +5835,19 @@
*nto* | *qnx*)
;;
- openbsd*)
+ openbsd* | bitrig*)
if test -f /usr/libexec/ld.so; then
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
else
- case $host_os in
- openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- ;;
- *)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- ;;
- esac
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
fi
else
_LT_TAGVAR(ld_shlibs, $1)=no
@@ -5413,33 +5858,53 @@
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
_LT_TAGVAR(hardcode_minus_L, $1)=yes
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
- _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
- _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+ shrext_cmds=.dll
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
;;
osf3*)
- if test "$GCC" = yes; then
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
else
_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
fi
_LT_TAGVAR(archive_cmds_need_lc, $1)='no'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
;;
osf4* | osf5*) # as osf3* with the addition of -msym flag
- if test "$GCC" = yes; then
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
else
_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+ $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
# Both c and cxx compiler support -rpath directly
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
@@ -5450,24 +5915,24 @@
solaris*)
_LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
- if test "$GCC" = yes; then
- wlarc='${wl}'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ if test yes = "$GCC"; then
+ wlarc='$wl'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
wlarc=''
- _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+ $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
;;
*)
- wlarc='${wl}'
- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ wlarc='$wl'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
;;
esac
fi
@@ -5477,11 +5942,11 @@
solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
*)
# The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'. GCC discards it without `$wl',
+ # but understands '-z linker_flag'. GCC discards it without '$wl',
# but is careful enough not to reorder.
# Supported since Solaris 2.6 (maybe 2.5.1?)
- if test "$GCC" = yes; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
else
_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
fi
@@ -5491,10 +5956,10 @@
;;
sunos4*)
- if test "x$host_vendor" = xsequent; then
+ if test sequent = "$host_vendor"; then
# Use $CC to link under sequent, because it throws in some extra .o
# files that make .init and .fini sections work.
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
else
_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
fi
@@ -5543,43 +6008,43 @@
;;
sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
runpath_var='LD_RUN_PATH'
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
else
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
fi
;;
sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
+ # Note: We CANNOT use -z defs as we might desire, because we do not
# link with -lc, and that would cause any symbols used from libc to
# always be unresolved, which means just about no library would
# ever link correctly. If we're not using GNU ld we use -z text
# though, which does catch some bad symbols but isn't as heavy-handed
# as -z defs.
- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
_LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
runpath_var='LD_RUN_PATH'
- if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ if test yes = "$GCC"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
else
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
fi
;;
@@ -5594,17 +6059,17 @@
;;
esac
- if test x$host_vendor = xsni; then
+ if test sni = "$host_vendor"; then
case $host in
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
;;
esac
fi
fi
])
AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
-test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
@@ -5621,7 +6086,7 @@
# Assume -lc should be added
_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
- if test "$enable_shared" = yes && test "$GCC" = yes; then
+ if test yes,yes = "$GCC,$enable_shared"; then
case $_LT_TAGVAR(archive_cmds, $1) in
*'~'*)
# FIXME: we may have to deal with multi-command sequences.
@@ -5701,12 +6166,12 @@
_LT_TAGDECL([], [hardcode_libdir_separator], [1],
[Whether we need a single "-rpath" flag with a separated argument])
_LT_TAGDECL([], [hardcode_direct], [0],
- [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+ [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
DIR into the resulting binary])
_LT_TAGDECL([], [hardcode_direct_absolute], [0],
- [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+ [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
DIR into the resulting binary and the resulting library dependency is
- "absolute", i.e impossible to change by setting ${shlibpath_var} if the
+ "absolute", i.e impossible to change by setting $shlibpath_var if the
library is relocated])
_LT_TAGDECL([], [hardcode_minus_L], [0],
[Set to "yes" if using the -LDIR flag during linking hardcodes DIR
@@ -5747,10 +6212,10 @@
# ------------------------
# Ensure that the configuration variables for a C compiler are suitably
# defined. These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
+# the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_C_CONFIG],
[m4_require([_LT_DECL_EGREP])dnl
-lt_save_CC="$CC"
+lt_save_CC=$CC
AC_LANG_PUSH(C)
# Source file extension for C test sources.
@@ -5790,18 +6255,18 @@
LT_SYS_DLOPEN_SELF
_LT_CMD_STRIPLIB
- # Report which library types will actually be built
+ # Report what library types will actually be built
AC_MSG_CHECKING([if libtool supports shared libraries])
AC_MSG_RESULT([$can_build_shared])
AC_MSG_CHECKING([whether to build shared libraries])
- test "$can_build_shared" = "no" && enable_shared=no
+ test no = "$can_build_shared" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
# are all built from PIC.
case $host_os in
aix3*)
- test "$enable_shared" = yes && enable_static=no
+ test yes = "$enable_shared" && enable_static=no
if test -n "$RANLIB"; then
archive_cmds="$archive_cmds~\$RANLIB \$lib"
postinstall_cmds='$RANLIB $lib'
@@ -5809,8 +6274,12 @@
;;
aix[[4-9]]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
+ if test ia64 != "$host_cpu"; then
+ case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+ yes,aix,yes) ;; # shared object as lib.so file only
+ yes,svr4,*) ;; # shared object as lib.so archive member only
+ yes,*) enable_static=no ;; # shared object in lib.a archive as well
+ esac
fi
;;
esac
@@ -5818,13 +6287,13 @@
AC_MSG_CHECKING([whether to build static libraries])
# Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
+ test yes = "$enable_shared" || enable_static=yes
AC_MSG_RESULT([$enable_static])
_LT_CONFIG($1)
fi
AC_LANG_POP
-CC="$lt_save_CC"
+CC=$lt_save_CC
])# _LT_LANG_C_CONFIG
@@ -5832,14 +6301,14 @@
# --------------------------
# Ensure that the configuration variables for a C++ compiler are suitably
# defined. These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
+# the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_CXX_CONFIG],
[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_DECL_EGREP])dnl
m4_require([_LT_PATH_MANIFEST_TOOL])dnl
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
- (test "X$CXX" != "Xg++"))) ; then
+if test -n "$CXX" && ( test no != "$CXX" &&
+ ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
+ (test g++ != "$CXX"))); then
AC_PROG_CXXCPP
else
_lt_caught_CXX_error=yes
@@ -5881,7 +6350,7 @@
# the CXX compiler isn't working. Some variables (like enable_shared)
# are currently assumed to apply to all compilers on this platform,
# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_caught_CXX_error" != yes; then
+if test yes != "$_lt_caught_CXX_error"; then
# Code to be used in simple compile tests
lt_simple_compile_test_code="int some_variable = 0;"
@@ -5923,35 +6392,35 @@
if test -n "$compiler"; then
# We don't want -fno-exception when compiling C++ code, so set the
# no_builtin_flag separately
- if test "$GXX" = yes; then
+ if test yes = "$GXX"; then
_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
else
_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
fi
- if test "$GXX" = yes; then
+ if test yes = "$GXX"; then
# Set up default GNU C++ configuration
LT_PATH_LD
# Check if GNU C++ uses GNU ld as the underlying linker, since the
# archiving commands below assume that GNU ld is being used.
- if test "$with_gnu_ld" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ if test yes = "$with_gnu_ld"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
# If archive_cmds runs LD, not CC, wlarc should be empty
# XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
# investigate it a little bit more. (MM)
- wlarc='${wl}'
+ wlarc='$wl'
# ancient GNU ld didn't support --whole-archive et. al.
if eval "`$CC -print-prog-name=ld` --help 2>&1" |
$GREP 'no-whole-archive' > /dev/null; then
- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
else
_LT_TAGVAR(whole_archive_flag_spec, $1)=
fi
@@ -5987,18 +6456,30 @@
_LT_TAGVAR(ld_shlibs, $1)=no
;;
aix[[4-9]]*)
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# On IA64, the linker does run time linking by default, so we don't
# have to do anything special.
aix_use_runtimelinking=no
exp_sym_flag='-Bexport'
- no_entry_flag=""
+ no_entry_flag=
else
aix_use_runtimelinking=no
# Test if we are trying to use run time linking or normal
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
- # need to do runtime linking.
+ # have runtime linking enabled, and use it for executables.
+ # For shared libraries, we enable/disable runtime linking
+ # depending on the kind of the shared library created -
+ # when "with_aix_soname,aix_use_runtimelinking" is:
+ # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables
+ # "aix,yes" lib.so shared, rtl:yes, for executables
+ # lib.a static archive
+ # "both,no" lib.so.V(shr.o) shared, rtl:yes
+ # lib.a(lib.so.V) shared, rtl:no, for executables
+ # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a(lib.so.V) shared, rtl:no
+ # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables
+ # lib.a static archive
case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
for ld_flag in $LDFLAGS; do
case $ld_flag in
@@ -6008,6 +6489,13 @@
;;
esac
done
+ if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
+ # With aix-soname=svr4, we create the lib.so.V shared archives only,
+ # so we don't have lib.a shared libs to link our executables.
+ # We have to force runtime linking in this case.
+ aix_use_runtimelinking=yes
+ LDFLAGS="$LDFLAGS -Wl,-brtl"
+ fi
;;
esac
@@ -6026,13 +6514,21 @@
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
_LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+ _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
+ case $with_aix_soname,$aix_use_runtimelinking in
+ aix,*) ;; # no import file
+ svr4,* | *,yes) # use import file
+ # The Import File defines what to hardcode.
+ _LT_TAGVAR(hardcode_direct, $1)=no
+ _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+ ;;
+ esac
- if test "$GXX" = yes; then
+ if test yes = "$GXX"; then
case $host_os in aix4.[[012]]|aix4.[[012]].*)
# We only want to do this on AIX 4.2 and lower, the check
# below for broken collect2 doesn't work under 4.3+
- collect2name=`${CC} -print-prog-name=collect2`
+ collect2name=`$CC -print-prog-name=collect2`
if test -f "$collect2name" &&
strings "$collect2name" | $GREP resolve_lib_name >/dev/null
then
@@ -6050,64 +6546,84 @@
fi
esac
shared_flag='-shared'
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag="$shared_flag "'${wl}-G'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag=$shared_flag' $wl-G'
fi
+ # Need to ensure runtime linking is disabled for the traditional
+ # shared library, or the linker may eventually find shared libraries
+ # /with/ Import File - we do not want to mix them.
+ shared_flag_aix='-shared'
+ shared_flag_svr4='-shared $wl-G'
else
# not using gcc
- if test "$host_cpu" = ia64; then
+ if test ia64 = "$host_cpu"; then
# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
# chokes on -Wl,-G. The following line is correct:
shared_flag='-G'
else
- if test "$aix_use_runtimelinking" = yes; then
- shared_flag='${wl}-G'
+ if test yes = "$aix_use_runtimelinking"; then
+ shared_flag='$wl-G'
else
- shared_flag='${wl}-bM:SRE'
+ shared_flag='$wl-bM:SRE'
fi
+ shared_flag_aix='$wl-bM:SRE'
+ shared_flag_svr4='$wl-G'
fi
fi
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall'
# It seems that -bexpall does not export symbols beginning with
# underscore (_), so it is better to generate a list of symbols to
# export.
_LT_TAGVAR(always_export_symbols, $1)=yes
- if test "$aix_use_runtimelinking" = yes; then
+ if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
# Warning - without using the other runtime loading flags (-brtl),
# -berok will link without error, but may produce a broken library.
- _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+ # The "-G" linker flag allows undefined symbols.
+ _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
# Determine the default libpath from the value encoded in an empty
# executable.
_LT_SYS_MODULE_PATH_AIX([$1])
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
else
- if test "$host_cpu" = ia64; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+ if test ia64 = "$host_cpu"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
_LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+ _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols"
else
# Determine the default libpath from the value encoded in an
# empty executable.
_LT_SYS_MODULE_PATH_AIX([$1])
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
# Warning - without using the other run time loading flags,
# -berok will link without error, but may produce a broken library.
- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
- if test "$with_gnu_ld" = yes; then
+ _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
+ if test yes = "$with_gnu_ld"; then
# We only use this code for GNU lds that support --whole-archive.
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
else
# Exported symbols can be pulled into shared objects from archives
_LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
fi
_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
- # This is similar to how AIX traditionally builds its shared
- # libraries.
- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
+ # -brtl affects multiple linker settings, -berok does not and is overridden later
+ compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
+ if test svr4 != "$with_aix_soname"; then
+ # This is similar to how AIX traditionally builds its shared
+ # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
+ fi
+ if test aix != "$with_aix_soname"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp'
+ else
+ # used by -dlpreopen to get the symbols
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir'
+ fi
+ _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
fi
fi
;;
@@ -6117,7 +6633,7 @@
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
# support --undefined. This deserves some investigation. FIXME
- _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
@@ -6145,57 +6661,58 @@
# Tell ltmain to make .lib files, not .a files.
libext=lib
# Tell ltmain to make .dll files, not .so files.
- shrext_cmds=".dll"
+ shrext_cmds=.dll
# FIXME: Setting linknames here is a bad hack.
- _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
- else
- $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
- fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
- linknames='
+ _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+ cp "$export_symbols" "$output_objdir/$soname.def";
+ echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
+ else
+ $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
+ fi~
+ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ linknames='
# The linker will not automatically build a static lib if we build a DLL.
# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
# Don't use ranlib
_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
_LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
- lt_tool_outputfile="@TOOL_OUTPUT@"~
- case $lt_outputfile in
- *.exe|*.EXE) ;;
- *)
- lt_outputfile="$lt_outputfile.exe"
- lt_tool_outputfile="$lt_tool_outputfile.exe"
- ;;
- esac~
- func_to_tool_file "$lt_outputfile"~
- if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
- $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
- $RM "$lt_outputfile.manifest";
- fi'
+ lt_tool_outputfile="@TOOL_OUTPUT@"~
+ case $lt_outputfile in
+ *.exe|*.EXE) ;;
+ *)
+ lt_outputfile=$lt_outputfile.exe
+ lt_tool_outputfile=$lt_tool_outputfile.exe
+ ;;
+ esac~
+ func_to_tool_file "$lt_outputfile"~
+ if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
+ $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+ $RM "$lt_outputfile.manifest";
+ fi'
;;
*)
# g++
# _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
# as there is no search path for DLLs.
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
_LT_TAGVAR(always_export_symbols, $1)=no
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
- # If the export-symbols file already is a .def file (1st line
- # is EXPORTS), use it as is; otherwise, prepend...
- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
- cp $export_symbols $output_objdir/$soname.def;
- else
- echo EXPORTS > $output_objdir/$soname.def;
- cat $export_symbols >> $output_objdir/$soname.def;
- fi~
- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+ # If the export-symbols file already is a .def file, use it as
+ # is; otherwise, prepend EXPORTS...
+ _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
+ cp $export_symbols $output_objdir/$soname.def;
+ else
+ echo EXPORTS > $output_objdir/$soname.def;
+ cat $export_symbols >> $output_objdir/$soname.def;
+ fi~
+ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
@@ -6206,6 +6723,34 @@
_LT_DARWIN_LINKER_FEATURES($1)
;;
+ os2*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+ shrext_cmds=.dll
+ _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
+ $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
+ $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
+ $ECHO EXPORTS >> $output_objdir/$libname.def~
+ prefix_cmds="$SED"~
+ if test EXPORTS = "`$SED 1q $export_symbols`"; then
+ prefix_cmds="$prefix_cmds -e 1d";
+ fi~
+ prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
+ cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
+ $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
+ emximp -o $lib $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ ;;
+
dgux*)
case $cc_basename in
ec++*)
@@ -6241,14 +6786,14 @@
;;
haiku*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(link_all_deplibs, $1)=yes
;;
hpux9*)
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
# but as the default
@@ -6260,7 +6805,7 @@
_LT_TAGVAR(ld_shlibs, $1)=no
;;
aCC*)
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
@@ -6269,11 +6814,11 @@
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
- if test "$GXX" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ if test yes = "$GXX"; then
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
else
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
@@ -6283,15 +6828,15 @@
;;
hpux10*|hpux11*)
- if test $with_gnu_ld = no; then
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ if test no = "$with_gnu_ld"; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
case $host_cpu in
hppa*64*|ia64*)
;;
*)
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
;;
esac
fi
@@ -6317,13 +6862,13 @@
aCC*)
case $host_cpu in
hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
esac
# Commands to make compiler produce verbose output that lists
@@ -6334,20 +6879,20 @@
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
- if test "$GXX" = yes; then
- if test $with_gnu_ld = no; then
+ if test yes = "$GXX"; then
+ if test no = "$with_gnu_ld"; then
case $host_cpu in
hppa*64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
esac
fi
@@ -6362,22 +6907,22 @@
interix[[3-9]]*)
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
# Instead, shared libraries are loaded at an image base (0x10000000 by
# default) and relocated if they conflict, which is a slow very memory
# consuming and fragmenting process. To avoid this, we pick a random,
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
;;
irix5* | irix6*)
case $cc_basename in
CC*)
# SGI C++
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
# Archives containing C++ object files must be created using
# "CC -ar", where "CC" is the IRIX C++ compiler. This is
@@ -6386,17 +6931,17 @@
_LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
;;
*)
- if test "$GXX" = yes; then
- if test "$with_gnu_ld" = no; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ if test yes = "$GXX"; then
+ if test no = "$with_gnu_ld"; then
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
fi
fi
_LT_TAGVAR(link_all_deplibs, $1)=yes
;;
esac
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
_LT_TAGVAR(inherit_rpath, $1)=yes
;;
@@ -6409,8 +6954,8 @@
# KCC will only create a shared library if the output file
# ends with ".so" (or ".sl" for HP-UX), so rename the library
# to its proper name (with version) after linking.
- _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
@@ -6419,10 +6964,10 @@
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
# Archives containing C++ object files must be created using
# "CC -Bstatic", where "CC" is the KAI C++ compiler.
@@ -6436,59 +6981,59 @@
# earlier do not add the objects themselves.
case `$CC -V 2>&1` in
*"Version 7."*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
;;
*) # Version 8.0 or newer
tmp_idyn=
case $host_cpu in
ia64*) tmp_idyn=' -i_dynamic';;
esac
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
;;
esac
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
;;
pgCC* | pgcpp*)
# Portland Group C++ compiler
case `$CC -V` in
*pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
_LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
- compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
_LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
- $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
- $RANLIB $oldlib'
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
+ $RANLIB $oldlib'
_LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
- rm -rf $tpldir~
- $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ rm -rf $tpldir~
+ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
;;
*) # Version 6 and above use weak symbols
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
;;
esac
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
;;
cxx*)
# Compaq C++
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols'
runpath_var=LD_RUN_PATH
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
@@ -6502,18 +7047,18 @@
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
;;
xl* | mpixl* | bgxl*)
# IBM XL 8.0 on PPC, with GNU ld
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
- _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- if test "x$supports_anon_versioning" = xyes; then
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ if test yes = "$supports_anon_versioning"; then
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
- echo "local: *; };" >> $output_objdir/$libname.ver~
- $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+ echo "local: *; };" >> $output_objdir/$libname.ver~
+ $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
fi
;;
*)
@@ -6521,10 +7066,10 @@
*Sun\ C*)
# Sun C++ 5.9
_LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
_LT_TAGVAR(compiler_needs_object, $1)=yes
# Not sure whether something based on
@@ -6582,22 +7127,17 @@
_LT_TAGVAR(ld_shlibs, $1)=yes
;;
- openbsd2*)
- # C++ shared libraries are fairly broken
- _LT_TAGVAR(ld_shlibs, $1)=no
- ;;
-
- openbsd*)
+ openbsd* | bitrig*)
if test -f /usr/libexec/ld.so; then
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
fi
output_verbose_link_cmd=func_echo_all
else
@@ -6613,9 +7153,9 @@
# KCC will only create a shared library if the output file
# ends with ".so" (or ".sl" for HP-UX), so rename the library
# to its proper name (with version) after linking.
- _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+ _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
# Archives containing C++ object files must be created using
@@ -6633,17 +7173,17 @@
cxx*)
case $host in
osf3*)
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
;;
*)
_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
- echo "-hidden">> $lib.exp~
- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
- $RM $lib.exp'
+ echo "-hidden">> $lib.exp~
+ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~
+ $RM $lib.exp'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
;;
esac
@@ -6658,21 +7198,21 @@
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+ if test yes,no = "$GXX,$with_gnu_ld"; then
+ _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
case $host in
osf3*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
;;
*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
;;
esac
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
# Commands to make compiler produce verbose output that lists
@@ -6718,9 +7258,9 @@
# Sun C++ 4.2, 5.x and Centerline C++
_LT_TAGVAR(archive_cmds_need_lc,$1)=yes
_LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+ $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -6728,7 +7268,7 @@
solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
*)
# The compiler driver will combine and reorder linker options,
- # but understands `-z linker_flag'.
+ # but understands '-z linker_flag'.
# Supported since Solaris 2.6 (maybe 2.5.1?)
_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
;;
@@ -6745,30 +7285,30 @@
;;
gcx*)
# Green Hills C++ Compiler
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
# The C++ compiler must be used to create the archive.
_LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
;;
*)
# GNU C++ compiler with Solaris linker
- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+ if test yes,no = "$GXX,$with_gnu_ld"; then
+ _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
if $CC --version | $GREP -v '^2\.7' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+ $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
else
- # g++ 2.7 appears to require `-G' NOT `-shared' on this
+ # g++ 2.7 appears to require '-G' NOT '-shared' on this
# platform.
- _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+ $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
@@ -6776,11 +7316,11 @@
output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
fi
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
case $host_os in
solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
*)
- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+ _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
;;
esac
fi
@@ -6789,52 +7329,52 @@
;;
sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+ _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
runpath_var='LD_RUN_PATH'
case $cc_basename in
CC*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
;;
sysv5* | sco3.2v5* | sco5v6*)
- # Note: We can NOT use -z defs as we might desire, because we do not
+ # Note: We CANNOT use -z defs as we might desire, because we do not
# link with -lc, and that would cause any symbols used from libc to
# always be unresolved, which means just about no library would
# ever link correctly. If we're not using GNU ld we use -z text
# though, which does catch some bad symbols but isn't as heavy-handed
# as -z defs.
- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
- _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+ _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
+ _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
_LT_TAGVAR(link_all_deplibs, $1)=yes
- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+ _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
runpath_var='LD_RUN_PATH'
case $cc_basename in
CC*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
- '"$_LT_TAGVAR(old_archive_cmds, $1)"
+ '"$_LT_TAGVAR(old_archive_cmds, $1)"
_LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
- '"$_LT_TAGVAR(reload_cmds, $1)"
+ '"$_LT_TAGVAR(reload_cmds, $1)"
;;
*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
;;
@@ -6865,10 +7405,10 @@
esac
AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
- test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+ test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
- _LT_TAGVAR(GCC, $1)="$GXX"
- _LT_TAGVAR(LD, $1)="$LD"
+ _LT_TAGVAR(GCC, $1)=$GXX
+ _LT_TAGVAR(LD, $1)=$LD
## CAVEAT EMPTOR:
## There is no encapsulation within the following macros, do not change
@@ -6895,7 +7435,7 @@
lt_cv_path_LD=$lt_save_path_LD
lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-fi # test "$_lt_caught_CXX_error" != yes
+fi # test yes != "$_lt_caught_CXX_error"
AC_LANG_POP
])# _LT_LANG_CXX_CONFIG
@@ -6917,13 +7457,14 @@
AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
func_stripname_cnf ()
{
- case ${2} in
- .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
- *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+ case @S|@2 in
+ .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
+ *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
esac
} # func_stripname_cnf
])# _LT_FUNC_STRIPNAME_CNF
+
# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
# ---------------------------------
# Figure out "hidden" library dependencies from verbose
@@ -7007,13 +7548,13 @@
pre_test_object_deps_done=no
for p in `eval "$output_verbose_link_cmd"`; do
- case ${prev}${p} in
+ case $prev$p in
-L* | -R* | -l*)
# Some compilers place space between "-{L,R}" and the path.
# Remove the space.
- if test $p = "-L" ||
- test $p = "-R"; then
+ if test x-L = "$p" ||
+ test x-R = "$p"; then
prev=$p
continue
fi
@@ -7029,16 +7570,16 @@
case $p in
=*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
esac
- if test "$pre_test_object_deps_done" = no; then
- case ${prev} in
+ if test no = "$pre_test_object_deps_done"; then
+ case $prev in
-L | -R)
# Internal compiler library paths should come after those
# provided the user. The postdeps already come after the
# user supplied libs so there is no need to process them.
if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
- _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+ _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
else
- _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+ _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p"
fi
;;
# The "-l" case would never come before the object being
@@ -7046,9 +7587,9 @@
esac
else
if test -z "$_LT_TAGVAR(postdeps, $1)"; then
- _LT_TAGVAR(postdeps, $1)="${prev}${p}"
+ _LT_TAGVAR(postdeps, $1)=$prev$p
else
- _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
+ _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
fi
fi
prev=
@@ -7063,15 +7604,15 @@
continue
fi
- if test "$pre_test_object_deps_done" = no; then
+ if test no = "$pre_test_object_deps_done"; then
if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
- _LT_TAGVAR(predep_objects, $1)="$p"
+ _LT_TAGVAR(predep_objects, $1)=$p
else
_LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
fi
else
if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
- _LT_TAGVAR(postdep_objects, $1)="$p"
+ _LT_TAGVAR(postdep_objects, $1)=$p
else
_LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
fi
@@ -7102,51 +7643,6 @@
_LT_TAGVAR(postdep_objects,$1)=
_LT_TAGVAR(postdeps,$1)=
;;
-
-linux*)
- case `$CC -V 2>&1 | sed 5q` in
- *Sun\ C*)
- # Sun C++ 5.9
-
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
-
- if test "$solaris_use_stlport4" != yes; then
- _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
-
-solaris*)
- case $cc_basename in
- CC* | sunCC*)
- # The more standards-conforming stlport4 library is
- # incompatible with the Cstd library. Avoid specifying
- # it if it's in CXXFLAGS. Ignore libCrun as
- # -library=stlport4 depends on it.
- case " $CXX $CXXFLAGS " in
- *" -library=stlport4 "*)
- solaris_use_stlport4=yes
- ;;
- esac
-
- # Adding this requires a known-good setup of shared libraries for
- # Sun compiler versions before 5.6, else PIC objects from an old
- # archive will be linked into the output, leading to subtle bugs.
- if test "$solaris_use_stlport4" != yes; then
- _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
- fi
- ;;
- esac
- ;;
esac
])
@@ -7155,7 +7651,7 @@
esac
_LT_TAGVAR(compiler_lib_search_dirs, $1)=
if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
- _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'`
fi
_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
[The directories searched by this compiler when creating a shared library])
@@ -7175,10 +7671,10 @@
# --------------------------
# Ensure that the configuration variables for a Fortran 77 compiler are
# suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
+# to write the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_F77_CONFIG],
[AC_LANG_PUSH(Fortran 77)
-if test -z "$F77" || test "X$F77" = "Xno"; then
+if test -z "$F77" || test no = "$F77"; then
_lt_disable_F77=yes
fi
@@ -7215,7 +7711,7 @@
# the F77 compiler isn't working. Some variables (like enable_shared)
# are currently assumed to apply to all compilers on this platform,
# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_disable_F77" != yes; then
+if test yes != "$_lt_disable_F77"; then
# Code to be used in simple compile tests
lt_simple_compile_test_code="\
subroutine t
@@ -7237,7 +7733,7 @@
_LT_LINKER_BOILERPLATE
# Allow CC to be a program name with arguments.
- lt_save_CC="$CC"
+ lt_save_CC=$CC
lt_save_GCC=$GCC
lt_save_CFLAGS=$CFLAGS
CC=${F77-"f77"}
@@ -7251,21 +7747,25 @@
AC_MSG_RESULT([$can_build_shared])
AC_MSG_CHECKING([whether to build shared libraries])
- test "$can_build_shared" = "no" && enable_shared=no
+ test no = "$can_build_shared" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
# are all built from PIC.
case $host_os in
aix3*)
- test "$enable_shared" = yes && enable_static=no
+ test yes = "$enable_shared" && enable_static=no
if test -n "$RANLIB"; then
archive_cmds="$archive_cmds~\$RANLIB \$lib"
postinstall_cmds='$RANLIB $lib'
fi
;;
aix[[4-9]]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
+ if test ia64 != "$host_cpu"; then
+ case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+ yes,aix,yes) ;; # shared object as lib.so file only
+ yes,svr4,*) ;; # shared object as lib.so archive member only
+ yes,*) enable_static=no ;; # shared object in lib.a archive as well
+ esac
fi
;;
esac
@@ -7273,11 +7773,11 @@
AC_MSG_CHECKING([whether to build static libraries])
# Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
+ test yes = "$enable_shared" || enable_static=yes
AC_MSG_RESULT([$enable_static])
- _LT_TAGVAR(GCC, $1)="$G77"
- _LT_TAGVAR(LD, $1)="$LD"
+ _LT_TAGVAR(GCC, $1)=$G77
+ _LT_TAGVAR(LD, $1)=$LD
## CAVEAT EMPTOR:
## There is no encapsulation within the following macros, do not change
@@ -7294,9 +7794,9 @@
fi # test -n "$compiler"
GCC=$lt_save_GCC
- CC="$lt_save_CC"
- CFLAGS="$lt_save_CFLAGS"
-fi # test "$_lt_disable_F77" != yes
+ CC=$lt_save_CC
+ CFLAGS=$lt_save_CFLAGS
+fi # test yes != "$_lt_disable_F77"
AC_LANG_POP
])# _LT_LANG_F77_CONFIG
@@ -7306,11 +7806,11 @@
# -------------------------
# Ensure that the configuration variables for a Fortran compiler are
# suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
+# to write the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_FC_CONFIG],
[AC_LANG_PUSH(Fortran)
-if test -z "$FC" || test "X$FC" = "Xno"; then
+if test -z "$FC" || test no = "$FC"; then
_lt_disable_FC=yes
fi
@@ -7347,7 +7847,7 @@
# the FC compiler isn't working. Some variables (like enable_shared)
# are currently assumed to apply to all compilers on this platform,
# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_disable_FC" != yes; then
+if test yes != "$_lt_disable_FC"; then
# Code to be used in simple compile tests
lt_simple_compile_test_code="\
subroutine t
@@ -7369,7 +7869,7 @@
_LT_LINKER_BOILERPLATE
# Allow CC to be a program name with arguments.
- lt_save_CC="$CC"
+ lt_save_CC=$CC
lt_save_GCC=$GCC
lt_save_CFLAGS=$CFLAGS
CC=${FC-"f95"}
@@ -7385,21 +7885,25 @@
AC_MSG_RESULT([$can_build_shared])
AC_MSG_CHECKING([whether to build shared libraries])
- test "$can_build_shared" = "no" && enable_shared=no
+ test no = "$can_build_shared" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
# are all built from PIC.
case $host_os in
aix3*)
- test "$enable_shared" = yes && enable_static=no
+ test yes = "$enable_shared" && enable_static=no
if test -n "$RANLIB"; then
archive_cmds="$archive_cmds~\$RANLIB \$lib"
postinstall_cmds='$RANLIB $lib'
fi
;;
aix[[4-9]]*)
- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
- test "$enable_shared" = yes && enable_static=no
+ if test ia64 != "$host_cpu"; then
+ case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
+ yes,aix,yes) ;; # shared object as lib.so file only
+ yes,svr4,*) ;; # shared object as lib.so archive member only
+ yes,*) enable_static=no ;; # shared object in lib.a archive as well
+ esac
fi
;;
esac
@@ -7407,11 +7911,11 @@
AC_MSG_CHECKING([whether to build static libraries])
# Make sure either enable_shared or enable_static is yes.
- test "$enable_shared" = yes || enable_static=yes
+ test yes = "$enable_shared" || enable_static=yes
AC_MSG_RESULT([$enable_static])
- _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
- _LT_TAGVAR(LD, $1)="$LD"
+ _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
+ _LT_TAGVAR(LD, $1)=$LD
## CAVEAT EMPTOR:
## There is no encapsulation within the following macros, do not change
@@ -7431,7 +7935,7 @@
GCC=$lt_save_GCC
CC=$lt_save_CC
CFLAGS=$lt_save_CFLAGS
-fi # test "$_lt_disable_FC" != yes
+fi # test yes != "$_lt_disable_FC"
AC_LANG_POP
])# _LT_LANG_FC_CONFIG
@@ -7441,7 +7945,7 @@
# --------------------------
# Ensure that the configuration variables for the GNU Java Compiler compiler
# are suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
+# to write the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_GCJ_CONFIG],
[AC_REQUIRE([LT_PROG_GCJ])dnl
AC_LANG_SAVE
@@ -7475,7 +7979,7 @@
CFLAGS=$GCJFLAGS
compiler=$CC
_LT_TAGVAR(compiler, $1)=$CC
-_LT_TAGVAR(LD, $1)="$LD"
+_LT_TAGVAR(LD, $1)=$LD
_LT_CC_BASENAME([$compiler])
# GCJ did not exist at the time GCC didn't implicitly link libc in.
@@ -7512,7 +8016,7 @@
# --------------------------
# Ensure that the configuration variables for the GNU Go compiler
# are suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
+# to write the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_GO_CONFIG],
[AC_REQUIRE([LT_PROG_GO])dnl
AC_LANG_SAVE
@@ -7546,7 +8050,7 @@
CFLAGS=$GOFLAGS
compiler=$CC
_LT_TAGVAR(compiler, $1)=$CC
-_LT_TAGVAR(LD, $1)="$LD"
+_LT_TAGVAR(LD, $1)=$LD
_LT_CC_BASENAME([$compiler])
# Go did not exist at the time GCC didn't implicitly link libc in.
@@ -7583,7 +8087,7 @@
# -------------------------
# Ensure that the configuration variables for the Windows resource compiler
# are suitably defined. These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
+# to write the compiler configuration to 'libtool'.
m4_defun([_LT_LANG_RC_CONFIG],
[AC_REQUIRE([LT_PROG_RC])dnl
AC_LANG_SAVE
@@ -7599,7 +8103,7 @@
lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
+lt_simple_link_test_code=$lt_simple_compile_test_code
# ltmain only uses $CC for tagged configurations so make sure $CC is set.
_LT_TAG_COMPILER
@@ -7609,7 +8113,7 @@
_LT_LINKER_BOILERPLATE
# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
+lt_save_CC=$CC
lt_save_CFLAGS=$CFLAGS
lt_save_GCC=$GCC
GCC=
@@ -7638,7 +8142,7 @@
[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
[m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
[AC_CHECK_TOOL(GCJ, gcj,)
- test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+ test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
AC_SUBST(GCJFLAGS)])])[]dnl
])
@@ -7749,7 +8253,7 @@
# Add /usr/xpg4/bin/sed as it is typically found on Solaris
# along with /bin/sed that truncates output.
for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
- test ! -f $lt_ac_sed && continue
+ test ! -f "$lt_ac_sed" && continue
cat /dev/null > conftest.in
lt_ac_count=0
echo $ECHO_N "0123456789$ECHO_C" >conftest.in
@@ -7766,9 +8270,9 @@
$lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
cmp -s conftest.out conftest.nl || break
# 10000 chars as input seems more than enough
- test $lt_ac_count -gt 10 && break
+ test 10 -lt "$lt_ac_count" && break
lt_ac_count=`expr $lt_ac_count + 1`
- if test $lt_ac_count -gt $lt_ac_max; then
+ if test "$lt_ac_count" -gt "$lt_ac_max"; then
lt_ac_max=$lt_ac_count
lt_cv_path_SED=$lt_ac_sed
fi
@@ -7792,27 +8296,7 @@
# Find out whether the shell is Bourne or XSI compatible,
# or has some other useful features.
m4_defun([_LT_CHECK_SHELL_FEATURES],
-[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
- test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
- = c,a/b,b/c, \
- && eval 'test $(( 1 + 1 )) -eq 2 \
- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
- && xsi_shell=yes
-AC_MSG_RESULT([$xsi_shell])
-_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
-
-AC_MSG_CHECKING([whether the shell understands "+="])
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
- >/dev/null 2>&1 \
- && lt_shell_append=yes
-AC_MSG_RESULT([$lt_shell_append])
-_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
lt_unset=unset
else
lt_unset=false
@@ -7836,102 +8320,9 @@
])# _LT_CHECK_SHELL_FEATURES
-# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
-# ------------------------------------------------------
-# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
-# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
-m4_defun([_LT_PROG_FUNCTION_REPLACE],
-[dnl {
-sed -e '/^$1 ()$/,/^} # $1 /c\
-$1 ()\
-{\
-m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1])
-} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
-test 0 -eq $? || _lt_function_replace_fail=:
-])
-
-
-# _LT_PROG_REPLACE_SHELLFNS
-# -------------------------
-# Replace existing portable implementations of several shell functions with
-# equivalent extended shell implementations where those features are available..
-m4_defun([_LT_PROG_REPLACE_SHELLFNS],
-[if test x"$xsi_shell" = xyes; then
- _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
- case ${1} in
- */*) func_dirname_result="${1%/*}${2}" ;;
- * ) func_dirname_result="${3}" ;;
- esac])
-
- _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
- func_basename_result="${1##*/}"])
-
- _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
- case ${1} in
- */*) func_dirname_result="${1%/*}${2}" ;;
- * ) func_dirname_result="${3}" ;;
- esac
- func_basename_result="${1##*/}"])
-
- _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
- # positional parameters, so assign one to ordinary parameter first.
- func_stripname_result=${3}
- func_stripname_result=${func_stripname_result#"${1}"}
- func_stripname_result=${func_stripname_result%"${2}"}])
-
- _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
- func_split_long_opt_name=${1%%=*}
- func_split_long_opt_arg=${1#*=}])
-
- _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
- func_split_short_opt_arg=${1#??}
- func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
-
- _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
- case ${1} in
- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
- *) func_lo2o_result=${1} ;;
- esac])
-
- _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo])
-
- _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))])
-
- _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}])
-fi
-
-if test x"$lt_shell_append" = xyes; then
- _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"])
-
- _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
- func_quote_for_eval "${2}"
-dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
- eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
-
- # Save a `func_append' function call where possible by direct use of '+='
- sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-else
- # Save a `func_append' function call even when '+=' is not available
- sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
- && mv -f "$cfgfile.tmp" "$cfgfile" \
- || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
- test 0 -eq $? || _lt_function_replace_fail=:
-fi
-
-if test x"$_lt_function_replace_fail" = x":"; then
- AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
-fi
-])
-
# _LT_PATH_CONVERSION_FUNCTIONS
# -----------------------------
-# Determine which file name conversion functions should be used by
+# Determine what file name conversion functions should be used by
# func_to_host_file (and, implicitly, by func_to_host_path). These are needed
# for certain cross-compile configurations and native mingw.
m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4
index 5d9acd8..94b0829 100644
--- a/m4/ltoptions.m4
+++ b/m4/ltoptions.m4
@@ -1,14 +1,14 @@
# Helper functions for option handling. -*- Autoconf -*-
#
-# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
+# Foundation, Inc.
# Written by Gary V. Vaughan, 2004
#
# This file is free software; the Free Software Foundation gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
-# serial 7 ltoptions.m4
+# serial 8 ltoptions.m4
# This is to help aclocal find these macros, as it can't see m4_define.
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
@@ -29,7 +29,7 @@
[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
_LT_MANGLE_DEFUN([$1], [$2]),
- [m4_warning([Unknown $1 option `$2'])])[]dnl
+ [m4_warning([Unknown $1 option '$2'])])[]dnl
])
@@ -75,13 +75,15 @@
dnl
dnl If no reference was made to various pairs of opposing options, then
dnl we run the default mode handler for the pair. For example, if neither
- dnl `shared' nor `disable-shared' was passed, we enable building of shared
+ dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
dnl archives by default:
_LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
_LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
_LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
_LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
- [_LT_ENABLE_FAST_INSTALL])
+ [_LT_ENABLE_FAST_INSTALL])
+ _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
+ [_LT_WITH_AIX_SONAME([aix])])
])
])# _LT_SET_OPTIONS
@@ -112,7 +114,7 @@
[_LT_SET_OPTION([LT_INIT], [dlopen])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `dlopen' option into LT_INIT's first parameter.])
+put the 'dlopen' option into LT_INIT's first parameter.])
])
dnl aclocal-1.4 backwards compatibility:
@@ -148,7 +150,7 @@
_LT_SET_OPTION([LT_INIT], [win32-dll])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `win32-dll' option into LT_INIT's first parameter.])
+put the 'win32-dll' option into LT_INIT's first parameter.])
])
dnl aclocal-1.4 backwards compatibility:
@@ -157,9 +159,9 @@
# _LT_ENABLE_SHARED([DEFAULT])
# ----------------------------
-# implement the --enable-shared flag, and supports the `shared' and
-# `disable-shared' LT_INIT options.
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+# implement the --enable-shared flag, and supports the 'shared' and
+# 'disable-shared' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
m4_define([_LT_ENABLE_SHARED],
[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
AC_ARG_ENABLE([shared],
@@ -172,14 +174,14 @@
*)
enable_shared=no
# Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_shared=yes
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
;;
esac],
[enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
@@ -211,9 +213,9 @@
# _LT_ENABLE_STATIC([DEFAULT])
# ----------------------------
-# implement the --enable-static flag, and support the `static' and
-# `disable-static' LT_INIT options.
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+# implement the --enable-static flag, and support the 'static' and
+# 'disable-static' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
m4_define([_LT_ENABLE_STATIC],
[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
AC_ARG_ENABLE([static],
@@ -226,14 +228,14 @@
*)
enable_static=no
# Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_static=yes
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
;;
esac],
[enable_static=]_LT_ENABLE_STATIC_DEFAULT)
@@ -265,9 +267,9 @@
# _LT_ENABLE_FAST_INSTALL([DEFAULT])
# ----------------------------------
-# implement the --enable-fast-install flag, and support the `fast-install'
-# and `disable-fast-install' LT_INIT options.
-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
+# implement the --enable-fast-install flag, and support the 'fast-install'
+# and 'disable-fast-install' LT_INIT options.
+# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
m4_define([_LT_ENABLE_FAST_INSTALL],
[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
AC_ARG_ENABLE([fast-install],
@@ -280,14 +282,14 @@
*)
enable_fast_install=no
# Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for pkg in $enableval; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
if test "X$pkg" = "X$p"; then
enable_fast_install=yes
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
;;
esac],
[enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
@@ -304,14 +306,14 @@
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `fast-install' option into LT_INIT's first parameter.])
+the 'fast-install' option into LT_INIT's first parameter.])
])
AU_DEFUN([AC_DISABLE_FAST_INSTALL],
[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `disable-fast-install' option into LT_INIT's first parameter.])
+the 'disable-fast-install' option into LT_INIT's first parameter.])
])
dnl aclocal-1.4 backwards compatibility:
@@ -319,11 +321,64 @@
dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
+# _LT_WITH_AIX_SONAME([DEFAULT])
+# ----------------------------------
+# implement the --with-aix-soname flag, and support the `aix-soname=aix'
+# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
+# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'.
+m4_define([_LT_WITH_AIX_SONAME],
+[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
+shared_archive_member_spec=
+case $host,$enable_shared in
+power*-*-aix[[5-9]]*,yes)
+ AC_MSG_CHECKING([which variant of shared library versioning to provide])
+ AC_ARG_WITH([aix-soname],
+ [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
+ [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
+ [case $withval in
+ aix|svr4|both)
+ ;;
+ *)
+ AC_MSG_ERROR([Unknown argument to --with-aix-soname])
+ ;;
+ esac
+ lt_cv_with_aix_soname=$with_aix_soname],
+ [AC_CACHE_VAL([lt_cv_with_aix_soname],
+ [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
+ with_aix_soname=$lt_cv_with_aix_soname])
+ AC_MSG_RESULT([$with_aix_soname])
+ if test aix != "$with_aix_soname"; then
+ # For the AIX way of multilib, we name the shared archive member
+ # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
+ # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
+ # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
+ # the AIX toolchain works better with OBJECT_MODE set (default 32).
+ if test 64 = "${OBJECT_MODE-32}"; then
+ shared_archive_member_spec=shr_64
+ else
+ shared_archive_member_spec=shr
+ fi
+ fi
+ ;;
+*)
+ with_aix_soname=aix
+ ;;
+esac
+
+_LT_DECL([], [shared_archive_member_spec], [0],
+ [Shared archive member basename, for filename based shared library versioning on AIX])dnl
+])# _LT_WITH_AIX_SONAME
+
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
+LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
+
+
# _LT_WITH_PIC([MODE])
# --------------------
-# implement the --with-pic flag, and support the `pic-only' and `no-pic'
+# implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
# LT_INIT options.
-# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
+# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'.
m4_define([_LT_WITH_PIC],
[AC_ARG_WITH([pic],
[AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
@@ -334,19 +389,17 @@
*)
pic_mode=default
# Look at the argument we got. We use all the common list separators.
- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
for lt_pkg in $withval; do
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
if test "X$lt_pkg" = "X$lt_p"; then
pic_mode=yes
fi
done
- IFS="$lt_save_ifs"
+ IFS=$lt_save_ifs
;;
esac],
- [pic_mode=default])
-
-test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
+ [pic_mode=m4_default([$1], [default])])
_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
])# _LT_WITH_PIC
@@ -359,7 +412,7 @@
[_LT_SET_OPTION([LT_INIT], [pic-only])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `pic-only' option into LT_INIT's first parameter.])
+put the 'pic-only' option into LT_INIT's first parameter.])
])
dnl aclocal-1.4 backwards compatibility:
diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4
index 9000a05..48bc934 100644
--- a/m4/ltsugar.m4
+++ b/m4/ltsugar.m4
@@ -1,6 +1,7 @@
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
#
-# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
+# Foundation, Inc.
# Written by Gary V. Vaughan, 2004
#
# This file is free software; the Free Software Foundation gives
@@ -33,7 +34,7 @@
# ------------
# Manipulate m4 lists.
# These macros are necessary as long as will still need to support
-# Autoconf-2.59 which quotes differently.
+# Autoconf-2.59, which quotes differently.
m4_define([lt_car], [[$1]])
m4_define([lt_cdr],
[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
@@ -44,7 +45,7 @@
# lt_append(MACRO-NAME, STRING, [SEPARATOR])
# ------------------------------------------
-# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
+# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
# Note that neither SEPARATOR nor STRING are expanded; they are appended
# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
# No SEPARATOR is output if MACRO-NAME was previously undefined (different
diff --git a/m4/ltversion.m4 b/m4/ltversion.m4
index 07a8602..fa04b52 100644
--- a/m4/ltversion.m4
+++ b/m4/ltversion.m4
@@ -1,6 +1,6 @@
# ltversion.m4 -- version numbers -*- Autoconf -*-
#
-# Copyright (C) 2004 Free Software Foundation, Inc.
+# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
# Written by Scott James Remnant, 2004
#
# This file is free software; the Free Software Foundation gives
@@ -9,15 +9,15 @@
# @configure_input@
-# serial 3337 ltversion.m4
+# serial 4179 ltversion.m4
# This file is part of GNU Libtool
-m4_define([LT_PACKAGE_VERSION], [2.4.2])
-m4_define([LT_PACKAGE_REVISION], [1.3337])
+m4_define([LT_PACKAGE_VERSION], [2.4.6])
+m4_define([LT_PACKAGE_REVISION], [2.4.6])
AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.4.2'
-macro_revision='1.3337'
+[macro_version='2.4.6'
+macro_revision='2.4.6'
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
_LT_DECL(, macro_revision, 0)
])
diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4
index c573da9..c6b26f8 100644
--- a/m4/lt~obsolete.m4
+++ b/m4/lt~obsolete.m4
@@ -1,6 +1,7 @@
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
#
-# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
+# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
+# Foundation, Inc.
# Written by Scott James Remnant, 2004.
#
# This file is free software; the Free Software Foundation gives
@@ -11,7 +12,7 @@
# These exist entirely to fool aclocal when bootstrapping libtool.
#
-# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN),
# which have later been changed to m4_define as they aren't part of the
# exported API, or moved to Autoconf or Automake where they belong.
#
@@ -25,7 +26,7 @@
# included after everything else. This provides aclocal with the
# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
# because those macros already exist, or will be overwritten later.
-# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
#
# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
# Yes, that means every name once taken will need to remain here until
diff --git a/pkgconfig/Makefile.am b/pkgconfig/Makefile.am
index c75ec36..88c7e52 100644
--- a/pkgconfig/Makefile.am
+++ b/pkgconfig/Makefile.am
@@ -5,14 +5,20 @@
gstreamer-codecparsers-@GST_API_VERSION@.pc \
gstreamer-insertbin-@GST_API_VERSION@.pc \
gstreamer-mpegts-@GST_API_VERSION@.pc \
- gstreamer-player-@GST_API_VERSION@.pc
+ gstreamer-player-@GST_API_VERSION@.pc \
+ gstreamer-bad-base-@GST_API_VERSION@.pc \
+ gstreamer-bad-audio-@GST_API_VERSION@.pc \
+ gstreamer-bad-video-@GST_API_VERSION@.pc
pcverfiles_uninstalled = \
gstreamer-plugins-bad-@GST_API_VERSION@-uninstalled.pc \
gstreamer-codecparsers-@GST_API_VERSION@-uninstalled.pc \
gstreamer-insertbin-@GST_API_VERSION@-uninstalled.pc \
gstreamer-mpegts-@GST_API_VERSION@-uninstalled.pc \
- gstreamer-player-@GST_API_VERSION@-uninstalled.pc
+ gstreamer-player-@GST_API_VERSION@-uninstalled.pc \
+ gstreamer-bad-base-@GST_API_VERSION@-uninstalled.pc \
+ gstreamer-bad-audio-@GST_API_VERSION@-uninstalled.pc \
+ gstreamer-bad-video-@GST_API_VERSION@-uninstalled.pc
if HAVE_GST_GL
pcverfiles += gstreamer-gl-@GST_API_VERSION@.pc
@@ -41,7 +47,10 @@
gstreamer-gl.pc.in gstreamer-gl-uninstalled.pc.in \
gstreamer-insertbin.pc.in gstreamer-insertbin-uninstalled.pc.in \
gstreamer-mpegts.pc.in gstreamer-mpegts-uninstalled.pc.in \
- gstreamer-player.pc.in gstreamer-player-uninstalled.pc.in
+ gstreamer-player.pc.in gstreamer-player-uninstalled.pc.in \
+ gstreamer-bad-audio.pc.in gstreamer-bad-audio-uninstalled.pc.in \
+ gstreamer-bad-video.pc.in gstreamer-bad-video-uninstalled.pc.in \
+ gstreamer-bad-base.pc.in gstreamer-bad-base-uninstalled.pc.in
DISTCLEANFILES = $(pcinfiles:.in=)
EXTRA_DIST = $(pcinfiles)
diff --git a/pkgconfig/Makefile.in b/pkgconfig/Makefile.in
index d495ae9..571e119 100644
--- a/pkgconfig/Makefile.in
+++ b/pkgconfig/Makefile.in
@@ -117,16 +117,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -141,7 +140,8 @@
gstreamer-player-uninstalled.pc gstreamer-wayland.pc \
gstreamer-wayland-uninstalled.pc gstreamer-bad-base.pc \
gstreamer-bad-base-uninstalled.pc gstreamer-bad-video.pc \
- gstreamer-bad-video-uninstalled.pc
+ gstreamer-bad-video-uninstalled.pc gstreamer-bad-audio.pc \
+ gstreamer-bad-audio-uninstalled.pc
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
@@ -193,6 +193,8 @@
DATA = $(pkgconfig_DATA)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
am__DIST_COMMON = $(srcdir)/Makefile.in \
+ $(srcdir)/gstreamer-bad-audio-uninstalled.pc.in \
+ $(srcdir)/gstreamer-bad-audio.pc.in \
$(srcdir)/gstreamer-bad-base-uninstalled.pc.in \
$(srcdir)/gstreamer-bad-base.pc.in \
$(srcdir)/gstreamer-bad-video-uninstalled.pc.in \
@@ -296,7 +298,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -318,7 +319,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -340,9 +340,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -504,6 +501,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -517,8 +515,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -605,8 +601,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -658,6 +652,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -678,6 +673,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -715,7 +712,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -761,13 +757,19 @@
gstreamer-codecparsers-@GST_API_VERSION@.pc \
gstreamer-insertbin-@GST_API_VERSION@.pc \
gstreamer-mpegts-@GST_API_VERSION@.pc \
- gstreamer-player-@GST_API_VERSION@.pc $(am__append_1)
+ gstreamer-player-@GST_API_VERSION@.pc \
+ gstreamer-bad-base-@GST_API_VERSION@.pc \
+ gstreamer-bad-audio-@GST_API_VERSION@.pc \
+ gstreamer-bad-video-@GST_API_VERSION@.pc $(am__append_1)
pcverfiles_uninstalled = \
gstreamer-plugins-bad-@GST_API_VERSION@-uninstalled.pc \
gstreamer-codecparsers-@GST_API_VERSION@-uninstalled.pc \
gstreamer-insertbin-@GST_API_VERSION@-uninstalled.pc \
gstreamer-mpegts-@GST_API_VERSION@-uninstalled.pc \
gstreamer-player-@GST_API_VERSION@-uninstalled.pc \
+ gstreamer-bad-base-@GST_API_VERSION@-uninstalled.pc \
+ gstreamer-bad-audio-@GST_API_VERSION@-uninstalled.pc \
+ gstreamer-bad-video-@GST_API_VERSION@-uninstalled.pc \
$(am__append_2)
cp_verbose = $(cp_verbose_$(V))
cp_verbose_ = $(cp_verbose_$(AM_DEFAULT_VERBOSITY))
@@ -781,7 +783,10 @@
gstreamer-gl.pc.in gstreamer-gl-uninstalled.pc.in \
gstreamer-insertbin.pc.in gstreamer-insertbin-uninstalled.pc.in \
gstreamer-mpegts.pc.in gstreamer-mpegts-uninstalled.pc.in \
- gstreamer-player.pc.in gstreamer-player-uninstalled.pc.in
+ gstreamer-player.pc.in gstreamer-player-uninstalled.pc.in \
+ gstreamer-bad-audio.pc.in gstreamer-bad-audio-uninstalled.pc.in \
+ gstreamer-bad-video.pc.in gstreamer-bad-video-uninstalled.pc.in \
+ gstreamer-bad-base.pc.in gstreamer-bad-base-uninstalled.pc.in
DISTCLEANFILES = $(pcinfiles:.in=)
EXTRA_DIST = $(pcinfiles)
@@ -853,6 +858,10 @@
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
gstreamer-bad-video-uninstalled.pc: $(top_builddir)/config.status $(srcdir)/gstreamer-bad-video-uninstalled.pc.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+gstreamer-bad-audio.pc: $(top_builddir)/config.status $(srcdir)/gstreamer-bad-audio.pc.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+gstreamer-bad-audio-uninstalled.pc: $(top_builddir)/config.status $(srcdir)/gstreamer-bad-audio-uninstalled.pc.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
mostlyclean-libtool:
-rm -f *.lo
diff --git a/pkgconfig/gstreamer-bad-audio-uninstalled.pc.in b/pkgconfig/gstreamer-bad-audio-uninstalled.pc.in
new file mode 100644
index 0000000..6b95364
--- /dev/null
+++ b/pkgconfig/gstreamer-bad-audio-uninstalled.pc.in
@@ -0,0 +1,12 @@
+prefix=
+exec_prefix=
+libdir=@abs_top_builddir@/gst-libs/gst/audio/.libs
+includedir=@abs_top_srcdir@/gst-libs
+
+Name: GStreamer bad audio library, uninstalled
+Description: Bad audio library for GStreamer, Not Installed
+Version: @VERSION@
+Requires: gstreamer-@GST_API_VERSION@ gstreamer-bad-base-@GST_API_VERSION@
+
+Libs: -L${libdir} -lgstbadaudio-@GST_API_VERSION@
+Cflags: -I@abs_top_srcdir@/gst-libs -I@abs_top_builddir@/gst-libs
diff --git a/pkgconfig/gstreamer-bad-audio.pc.in b/pkgconfig/gstreamer-bad-audio.pc.in
new file mode 100644
index 0000000..be90d67
--- /dev/null
+++ b/pkgconfig/gstreamer-bad-audio.pc.in
@@ -0,0 +1,13 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@/gstreamer-@GST_API_VERSION@
+pluginsdir=@libdir@/gstreamer-@GST_API_VERSION@
+
+Name: GStreamer bad audio library, uninstalled
+Description: Bad audio library for GStreamer elements, Not Installed
+Version: @VERSION@
+Requires: gstreamer-@GST_API_VERSION@ gstreamer-bad-base-@GST_API_VERSION@
+
+Libs: -L${libdir} ${libdir}/libgstbadaudio-@GST_API_VERSION@.la
+Cflags: -I${includedir}
diff --git a/pkgconfig/gstreamer-bad-base-uninstalled.pc.in b/pkgconfig/gstreamer-bad-base-uninstalled.pc.in
index 560eb13..e11a01b 100644
--- a/pkgconfig/gstreamer-bad-base-uninstalled.pc.in
+++ b/pkgconfig/gstreamer-bad-base-uninstalled.pc.in
@@ -1,15 +1,14 @@
prefix=
exec_prefix=
-libdir=${pcfiledir}/../gst-libs/gst/base
-includedir=${pcfiledir}/../gst-libs
-pluginsdir=${pcfiledir}/..
+libdir=@abs_top_builddir@/gst-libs/gst/base/.libs
+includedir=@abs_top_builddir@/gst-libs
+girdir=@abs_top_builddir@/gst-libs/gst/base
+typelibdir=@abs_top_builddir@/gst-libs/gst/base
Name: GStreamer bad base classes, uninstalled
Description: Bad base classes for GStreamer elements, Not Installed
Version: @VERSION@
Requires: gstreamer-@GST_API_VERSION@
-Libs: -L${libdir} ${libdir}/libgstbadbase-@GST_API_VERSION@.la @BADBASE_LIBS@
-Cflags: -I${includedir} -I@srcdir@/.. @BADBASE_CFLAGS@
-
-libraries=badbase
+Libs: -L${libdir} -lgstbadbase-@GST_API_VERSION@
+Cflags: -I@abs_top_srcdir@/gst-libs -I@abs_top_builddir@/gst-libs
diff --git a/pkgconfig/gstreamer-bad-base.pc.in b/pkgconfig/gstreamer-bad-base.pc.in
index a03013b..10afe0e 100644
--- a/pkgconfig/gstreamer-bad-base.pc.in
+++ b/pkgconfig/gstreamer-bad-base.pc.in
@@ -2,14 +2,15 @@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@/gstreamer-@GST_API_VERSION@
-pluginsdir=@libdir@/gstreamer-@GST_API_VERSION@
+datarootdir=${prefix}/share
+datadir=${datarootdir}
+girdir=${datadir}/gir-1.0
+typelibdir=${libdir}/girepository-1.0
-Name: GStreamer bad base classes, uninstalled
-Description: Bad base classes for GStreamer elements, Not Installed
+Name: GStreamer bad base classes
+Description: Bad base classes for GStreamer elements
Version: @VERSION@
Requires: gstreamer-@GST_API_VERSION@
-Libs: -L${libdir} ${libdir}/libgstbadbase-@GST_API_VERSION@.la @BADBASE_LIBS@
-Cflags: -I${includedir} -I@srcdir@/.. @BADBASE_CFLAGS@
-
-libraries=badbase
+Libs: -L${libdir} ${libdir}/libgstbadbase-@GST_API_VERSION@.la
+Cflags: -I${includedir}
diff --git a/pkgconfig/gstreamer-bad-video-uninstalled.pc.in b/pkgconfig/gstreamer-bad-video-uninstalled.pc.in
index 6a2a206..f9ae7bf 100644
--- a/pkgconfig/gstreamer-bad-video-uninstalled.pc.in
+++ b/pkgconfig/gstreamer-bad-video-uninstalled.pc.in
@@ -1,15 +1,14 @@
prefix=
exec_prefix=
-libdir=${pcfiledir}/../gst-libs/gst/video
-includedir=${pcfiledir}/../gst-libs
-pluginsdir=${pcfiledir}/..
+libdir=@abs_top_builddir@/gst-libs/gst/video/.libs
+includedir=@abs_top_builddir@/gst-libs
+girdir=@abs_top_builddir@/gst-libs/gst/video
+typelibdir=@abs_top_builddir@/gst-libs/gst/video
Name: GStreamer bad video library, uninstalled
-Description: Bad video library for GStreamer, Not Installed
+Description: Bad video library for GStreamer elements, Not Installed
Version: @VERSION@
-Requires: gstreamer-@GST_API_VERSION@
+Requires: gstreamer-@GST_API_VERSION@ gstreamer-bad-base-@GST_API_VERSION@
-Libs: -L${libdir} ${libdir}/libgstbadvideo-@GST_API_VERSION@.la @BADBASE_LIBS@
-Cflags: -I${includedir} -I@srcdir@/.. @BADBASE_CFLAGS@
-
-libraries=badvideo
+Libs: -L${libdir} -lgstbadvideo-@GST_API_VERSION@
+Cflags: -I@abs_top_srcdir@/gst-libs -I@abs_top_builddir@/gst-libs
diff --git a/pkgconfig/gstreamer-bad-video.pc.in b/pkgconfig/gstreamer-bad-video.pc.in
index 4fdf889..40127be 100644
--- a/pkgconfig/gstreamer-bad-video.pc.in
+++ b/pkgconfig/gstreamer-bad-video.pc.in
@@ -2,14 +2,15 @@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@/gstreamer-@GST_API_VERSION@
-pluginsdir=@libdir@/gstreamer-@GST_API_VERSION@
+datarootdir=${prefix}/share
+datadir=${datarootdir}
+girdir=${datadir}/gir-1.0
+typelibdir=${libdir}/girepository-1.0
-Name: GStreamer bad video library, uninstalled
-Description: Bad video library for GStreamer elements, Not Installed
+Name: GStreamer bad video library
+Description: Bad video library for GStreamer elements
Version: @VERSION@
-Requires: gstreamer-@GST_API_VERSION@
+Requires: gstreamer-@GST_API_VERSION@ gstreamer-bad-base-@GST_API_VERSION@
-Libs: -L${libdir} ${libdir}/libgstbadvideo-@GST_API_VERSION@.la @BADBASE_LIBS@
-Cflags: -I${includedir} -I@srcdir@/.. @BADBASE_CFLAGS@
-
-libraries=badvideo
+Libs: -L${libdir} ${libdir}/libgstbadvideo-@GST_API_VERSION@.la
+Cflags: -I${includedir}
diff --git a/pkgconfig/gstreamer-codecparsers-uninstalled.pc.in b/pkgconfig/gstreamer-codecparsers-uninstalled.pc.in
index d1bb9b0..71ed771 100644
--- a/pkgconfig/gstreamer-codecparsers-uninstalled.pc.in
+++ b/pkgconfig/gstreamer-codecparsers-uninstalled.pc.in
@@ -1,12 +1,12 @@
prefix=
exec_prefix=
-libdir=${pcfiledir}/../gst-libs/gst/codecparsers
+libdir=${pcfiledir}/../gst-libs/gst/codecparsers/.libs
includedir=${pcfiledir}/../gst-libs
Name: GStreamer codec parsers, Uninstalled
Description: Bitstream parsers for GStreamer elements, uninstalled
Requires: gstreamer-@GST_API_VERSION@ gstreamer-base-@GST_API_VERSION@
Version: @VERSION@
-Libs: -L${libdir} ${libdir}/libgstcodecparsers-@GST_API_VERSION@.la
+Libs: -L${libdir} -lgstcodecparsers-@GST_API_VERSION@
Cflags: -I${includedir}
diff --git a/pkgconfig/gstreamer-gl-uninstalled.pc.in b/pkgconfig/gstreamer-gl-uninstalled.pc.in
index 76eefb9..dac4cda 100644
--- a/pkgconfig/gstreamer-gl-uninstalled.pc.in
+++ b/pkgconfig/gstreamer-gl-uninstalled.pc.in
@@ -1,15 +1,15 @@
prefix=
exec_prefix=
-libdir=${pcfiledir}/../gst-libs/gst/gl
-includedir=${pcfiledir}/../gst-libs
-pluginsdir=${pcfiledir}/..
+libdir=@abs_top_builddir@/gst-libs/gst/gl/.libs
+includedir=@abs_top_builddir@/gst-libs
+girdir=@abs_top_builddir@/gst-libs/gst/base
+typelibdir=@abs_top_builddir@/gst-libs/gst/base
Name: GStreamer OpenGL Plugins Libraries, Uninstalled
Description: Streaming media framework, OpenGL plugins libraries, uninstalled
Version: @VERSION@
-Requires: gstreamer-@GST_API_VERSION@
+Requires: gstreamer-base-@GST_API_VERSION@ gstreamer-@GST_API_VERSION@
-Libs: -L${libdir} ${libdir}/libgstgl-@GST_API_VERSION@.la @GL_LIBS@
-Cflags: -I${includedir} -I@srcdir@/.. @GL_CFLAGS@
+Libs: -L${libdir} -lgstgl-@GST_API_VERSION@ @GL_LIBS@
+Cflags: -I@abs_top_srcdir@/gst-libs -I@abs_top_builddir@/gst-libs
-libraries=gl
diff --git a/pkgconfig/gstreamer-gl.pc.in b/pkgconfig/gstreamer-gl.pc.in
index 1b98762..5589e2a 100644
--- a/pkgconfig/gstreamer-gl.pc.in
+++ b/pkgconfig/gstreamer-gl.pc.in
@@ -6,8 +6,8 @@
Name: GStreamer OpenGL Plugins Libraries
Description: Streaming media framework, OpenGL plugins libraries
-Requires: gstreamer-@GST_API_VERSION@ gstreamer-base-@GST_API_VERSION@
Version: @VERSION@
-Libs: -L${libdir} -lgstgl-@GST_API_VERSION@ @GL_LIBS@
-Cflags: -I${includedir} -I${libdir}/gstreamer-@GST_API_VERSION@/include @GL_CFLAGS@
+Requires: gstreamer-base-@GST_API_VERSION@ gstreamer-@GST_API_VERSION@
+Libs: -L${libdir} -lgstgl-@GST_API_VERSION@ @GL_LIBS@
+Cflags: -I${includedir} @GL_CFLAGS@
diff --git a/pkgconfig/gstreamer-insertbin-uninstalled.pc.in b/pkgconfig/gstreamer-insertbin-uninstalled.pc.in
index 0a01e79..1a535aa 100644
--- a/pkgconfig/gstreamer-insertbin-uninstalled.pc.in
+++ b/pkgconfig/gstreamer-insertbin-uninstalled.pc.in
@@ -1,12 +1,12 @@
prefix=
exec_prefix=
-libdir=${pcfiledir}/../gst-libs/gst/insertbin
+libdir=${pcfiledir}/../gst-libs/gst/insertbin/.libs
includedir=${pcfiledir}/../gst-libs
Name: GStreamer Insert Bin, Uninstalled
Description: Bin to automatically and insertally link elements, uninstalled
Requires: gstreamer-@GST_API_VERSION@
Version: @VERSION@
-Libs: -L${libdir} ${libdir}/libgstinsertbin-@GST_API_VERSION@.la
+Libs: -L${libdir} -lgstinsertbin-@GST_API_VERSION@
Cflags: -I${includedir}
diff --git a/pkgconfig/gstreamer-mpegts-uninstalled.pc.in b/pkgconfig/gstreamer-mpegts-uninstalled.pc.in
index e9aa261..179996c 100644
--- a/pkgconfig/gstreamer-mpegts-uninstalled.pc.in
+++ b/pkgconfig/gstreamer-mpegts-uninstalled.pc.in
@@ -1,12 +1,12 @@
prefix=
exec_prefix=
-libdir=${pcfiledir}/../gst-libs/gst/mpegts
+libdir=${pcfiledir}/../gst-libs/gst/mpegts/.libs
includedir=${pcfiledir}/../gst-libs
Name: GStreamer MPEG-TS, Uninstalled
Description: GStreamer MPEG-TS support, uninstalled
Requires: gstreamer-@GST_API_VERSION@ gstreamer-base-@GST_API_VERSION@
Version: @VERSION@
-Libs: -L${libdir} ${libdir}/libgstmpegts-@GST_API_VERSION@.la
+Libs: -L${libdir} -lgstmpegts-@GST_API_VERSION@
Cflags: -I${includedir}
diff --git a/pkgconfig/gstreamer-player-uninstalled.pc.in b/pkgconfig/gstreamer-player-uninstalled.pc.in
index 82e6ee6..5a495f4 100644
--- a/pkgconfig/gstreamer-player-uninstalled.pc.in
+++ b/pkgconfig/gstreamer-player-uninstalled.pc.in
@@ -1,12 +1,12 @@
prefix=
exec_prefix=
-libdir=${pcfiledir}/../gst-libs/gst/player
+libdir=${pcfiledir}/../gst-libs/gst/player/.libs
includedir=${pcfiledir}/../gst-libs
Name: GStreamer Player, Uninstalled
Description: GStreamer Player convenience library, uninstalled
Requires: gstreamer-@GST_API_VERSION@
Version: @VERSION@
-Libs: -L${libdir} ${libdir}/libgstplayer-@GST_API_VERSION@.la
+Libs: -L${libdir} -lgstplayer-@GST_API_VERSION@
Cflags: -I${includedir}
diff --git a/pkgconfig/gstreamer-plugins-bad-uninstalled.pc.in b/pkgconfig/gstreamer-plugins-bad-uninstalled.pc.in
index 6fcf773..df9a9c5 100644
--- a/pkgconfig/gstreamer-plugins-bad-uninstalled.pc.in
+++ b/pkgconfig/gstreamer-plugins-bad-uninstalled.pc.in
@@ -10,5 +10,5 @@
Description: Streaming media framework, bad plugins libraries, uninstalled
Version: @VERSION@
Requires: gstreamer-@GST_API_VERSION@
-Libs: -L@abs_top_builddir@/gst-libs/gst/basecamerabinsrc -L@abs_top_builddir@/gst-libs/gst/codecparsers -L@abs_top_builddir@/gst-libs/gst/egl -L@abs_top_builddir@/gst-libs/gst/insertbin -L@abs_top_builddir@/gst-libs/gst/interfaces -L@abs_top_builddir@/gst-libs/gst/mpegts -L@abs_top_builddir@/gst-libs/gst/signalprocessor -L@abs_top_builddir@/gst-libs/gst/video
+Libs: -L@abs_top_builddir@/gst-libs/gst/audio/.libs -L@abs_top_builddir@/gst-libs/gst/basecamerabinsrc/.libs -L@abs_top_builddir@/gst-libs/gst/codecparsers/.libs -L@abs_top_builddir@/gst-libs/gst/gl/.libs -L@abs_top_builddir@/gst-libs/gst/insertbin/.libs -L@abs_top_builddir@/gst-libs/gst/interfaces/.libs -L@abs_top_builddir@/gst-libs/gst/mpegts/.libs -L@abs_top_builddir@/gst-libs/gst/player/.libs -L@abs_top_builddir@/gst-libs/gst/signalprocessor/.libs -L@abs_top_builddir@/gst-libs/gst/video/.libs -L@abs_top_builddir@/gst-libs/gst/wayland/.libs
Cflags: -I@abs_top_srcdir@/gst-libs -I@abs_top_builddir@/gst-libs
diff --git a/pkgconfig/gstreamer-wayland-uninstalled.pc.in b/pkgconfig/gstreamer-wayland-uninstalled.pc.in
index fe01de6..80d6e1b 100644
--- a/pkgconfig/gstreamer-wayland-uninstalled.pc.in
+++ b/pkgconfig/gstreamer-wayland-uninstalled.pc.in
@@ -1,12 +1,12 @@
prefix=
exec_prefix=
-libdir=${pcfiledir}/../gst-libs/gst/wayland
+libdir=${pcfiledir}/../gst-libs/gst/wayland/.libs
includedir=${pcfiledir}/../gst-libs
Name: GStreamer Wayland, Uninstalled
Description: GStreamer Wayland support, uninstalled
Requires: gstreamer-@GST_API_VERSION@ gstreamer-video-@GST_API_VERSION@
Version: @VERSION@
-Libs: -L${libdir} ${libdir}/libgstwayland-@GST_API_VERSION@.la
+Libs: -L${libdir} -lgstwayland-@GST_API_VERSION@
Cflags: -I${includedir}
diff --git a/po/POTFILES.in b/po/POTFILES.in
index ddfa7d0..03d603f 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,6 +1,5 @@
ext/dash/gstdashdemux.c
ext/gl/gstgltestsrc.c
-ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in
ext/opencv/gsttemplatematch.cpp
ext/resindvd/resindvdsrc.c
ext/smoothstreaming/gstmssdemux.c
diff --git a/po/af.gmo b/po/af.gmo
index 87fe849..b99fec0 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index d331c90..cae9a7b 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -19,95 +19,6 @@
msgid "format wasn't negotiated before get function"
msgstr ""
-msgid "default GStreamer sound events audiosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-
-msgid "Describes the selected audiosink element."
-msgstr ""
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "default GStreamer videosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosink"
-msgstr ""
-
-msgid "Describes the selected videosink element."
-msgstr ""
-
-msgid "default GStreamer audiosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer audiosrc"
-msgstr ""
-
-msgid "Describes the selected audiosrc element."
-msgstr ""
-
-msgid "default GStreamer videosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosrc"
-msgstr ""
-
-msgid "Describes the selected videosrc element."
-msgstr ""
-
-msgid "default GStreamer visualization"
-msgstr ""
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-
-msgid "description for default GStreamer visualization"
-msgstr ""
-
-msgid "Describes the selected visualization element."
-msgstr ""
-
msgid "OpenCV failed to load template image"
msgstr ""
diff --git a/po/az.gmo b/po/az.gmo
index 195e8df..43a8bbd 100644
--- a/po/az.gmo
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
index 5df1b5e..5ef1a69 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -20,95 +20,6 @@
msgid "format wasn't negotiated before get function"
msgstr ""
-msgid "default GStreamer sound events audiosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-
-msgid "Describes the selected audiosink element."
-msgstr ""
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "default GStreamer videosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosink"
-msgstr ""
-
-msgid "Describes the selected videosink element."
-msgstr ""
-
-msgid "default GStreamer audiosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer audiosrc"
-msgstr ""
-
-msgid "Describes the selected audiosrc element."
-msgstr ""
-
-msgid "default GStreamer videosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosrc"
-msgstr ""
-
-msgid "Describes the selected videosrc element."
-msgstr ""
-
-msgid "default GStreamer visualization"
-msgstr ""
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-
-msgid "description for default GStreamer visualization"
-msgstr ""
-
-msgid "Describes the selected visualization element."
-msgstr ""
-
msgid "OpenCV failed to load template image"
msgstr ""
diff --git a/po/bg.gmo b/po/bg.gmo
index fed9ab7..6a42045 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index 15a8265..bcd454e 100644
--- a/po/bg.po
+++ b/po/bg.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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\n"
"PO-Revision-Date: 2011-04-26 22:30+0300\n"
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
@@ -21,95 +21,6 @@
msgid "format wasn't negotiated before get function"
msgstr ""
-msgid "default GStreamer sound events audiosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-
-msgid "Describes the selected audiosink element."
-msgstr ""
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "default GStreamer videosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosink"
-msgstr ""
-
-msgid "Describes the selected videosink element."
-msgstr ""
-
-msgid "default GStreamer audiosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer audiosrc"
-msgstr ""
-
-msgid "Describes the selected audiosrc element."
-msgstr ""
-
-msgid "default GStreamer videosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosrc"
-msgstr ""
-
-msgid "Describes the selected videosrc element."
-msgstr ""
-
-msgid "default GStreamer visualization"
-msgstr ""
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-
-msgid "description for default GStreamer visualization"
-msgstr ""
-
-msgid "Describes the selected visualization element."
-msgstr ""
-
msgid "OpenCV failed to load template image"
msgstr ""
diff --git a/po/ca.gmo b/po/ca.gmo
index a1233e0..22c39f9 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index fde5beb..108ebf4 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -22,95 +22,6 @@
msgid "format wasn't negotiated before get function"
msgstr ""
-msgid "default GStreamer sound events audiosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-
-msgid "Describes the selected audiosink element."
-msgstr ""
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "default GStreamer videosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosink"
-msgstr ""
-
-msgid "Describes the selected videosink element."
-msgstr ""
-
-msgid "default GStreamer audiosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer audiosrc"
-msgstr ""
-
-msgid "Describes the selected audiosrc element."
-msgstr ""
-
-msgid "default GStreamer videosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosrc"
-msgstr ""
-
-msgid "Describes the selected videosrc element."
-msgstr ""
-
-msgid "default GStreamer visualization"
-msgstr ""
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-
-msgid "description for default GStreamer visualization"
-msgstr ""
-
-msgid "Describes the selected visualization element."
-msgstr ""
-
msgid "OpenCV failed to load template image"
msgstr ""
diff --git a/po/cs.gmo b/po/cs.gmo
index ed35eed..ec219a0 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index 4f8e12d..0501f5e 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -25,113 +25,6 @@
msgid "format wasn't negotiated before get function"
msgstr "formát nebyl vyjednán před získáním funkce"
-msgid "default GStreamer sound events audiosink"
-msgstr "výchozí zvukový cíl GStreamer pro zvukové události"
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"GStreamer umí přehrávat zvuk pomocí mnoha výstupních prvků. Možné volby jsou "
-"osssink, pulsesink a alsasink. Zvukovým cílem může být namísto jednoho "
-"elementu i částečná roura."
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr "popis výchozího zvukového cíle pro zvukové události GStreamer"
-
-msgid "Describes the selected audiosink element."
-msgstr "Popisuje vybraný element sloužící jako cíl pro zvuk."
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr "výchozí zvukový cíl GStreamer pro hlasové konference a videokonference"
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-"popis výchozího zvukového cíle GStreamer pro hlasové konference a "
-"videokonference"
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr "výchozí zvukový cíl GStreamer pro hudbu a filmy"
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr "popis výchozího zvukového cíle GStreamer pro hudbu a filmy"
-
-msgid "default GStreamer videosink"
-msgstr "výchozí cíl videa GStreamer"
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-"GStreamer umí přehrávat video pomocí mnoha výstupních prvků. Možné volby "
-"jsou xvimagesink, ximagesink, sdlvideosink a aasink. Cílem videa může být "
-"namísto právě jednoho elementu i částečná roura."
-
-msgid "description for default GStreamer videosink"
-msgstr "popis výchozího cíle videa GStreamer"
-
-msgid "Describes the selected videosink element."
-msgstr "Popisuje vybraný element sloužící jako cíl pro video."
-
-msgid "default GStreamer audiosrc"
-msgstr "výchozí zdroj zvuku GStreamer"
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"GStreamer umí nahrávat zvuk pomocí mnoha vstupních prvků. Možné volby jsou "
-"osssrc, pulsesrc a alsasrc. Zvukovým zdrojem může být namísto právě jednoho "
-"elementu i částečná roura."
-
-msgid "description for default GStreamer audiosrc"
-msgstr "popis pro výchozí zdroj zvuku GStreamer"
-
-msgid "Describes the selected audiosrc element."
-msgstr "Popisuje vybraný element sloužící jako zdroj zvuku."
-
-msgid "default GStreamer videosrc"
-msgstr "výchozí zdroj videa GStreamer"
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-"GStreamer umí nahrávat video pomocí mnoha vstupních prvků. Možné volby jsou "
-"v4lsrc, v4l2src a videotestsrc. Zdrojem videa může být namísto právě jednoho "
-"elementu i částečná roura."
-
-msgid "description for default GStreamer videosrc"
-msgstr "popis pro výchozí zdroj videa GStreamer"
-
-msgid "Describes the selected videosrc element."
-msgstr "Popisuje vybraný element sloužící jako zdroj videa."
-
-msgid "default GStreamer visualization"
-msgstr "výchozí vizualizace GStreamer"
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-"GStreamer umí do roury vložit vizualizační zásuvný modul, aby prováděl změny "
-"zvukových proudů ve snímcích videa. Možné volby jsou goom, goom2k1 a "
-"synaesthesia. Vizualizačním zásuvným modulem může být namísto právě jednoho "
-"elementu i částečná roura."
-
-msgid "description for default GStreamer visualization"
-msgstr "popis pro výchozí vizualizaci GStreamer"
-
-msgid "Describes the selected visualization element."
-msgstr "Popisuje vybraný vizualizační element."
-
msgid "OpenCV failed to load template image"
msgstr "OpenCV selhalo při načítání obrazu šablony"
@@ -251,3 +144,111 @@
#, c-format
msgid "Couldn't find details for DVB channel %s"
msgstr "Nelze najít podrobnosti ke kanálu DVB %s"
+
+#~ msgid "default GStreamer sound events audiosink"
+#~ msgstr "výchozí zvukový cíl GStreamer pro zvukové události"
+
+#~ msgid ""
+#~ "GStreamer can play audio using any number of output elements. Some "
+#~ "possible choices are osssink, pulsesink and alsasink. The audiosink can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer umí přehrávat zvuk pomocí mnoha výstupních prvků. Možné volby "
+#~ "jsou osssink, pulsesink a alsasink. Zvukovým cílem může být namísto "
+#~ "jednoho elementu i částečná roura."
+
+#~ msgid "description for default GStreamer sound events audiosink"
+#~ msgstr "popis výchozího zvukového cíle pro zvukové události GStreamer"
+
+#~ msgid "Describes the selected audiosink element."
+#~ msgstr "Popisuje vybraný element sloužící jako cíl pro zvuk."
+
+#~ msgid "default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr ""
+#~ "výchozí zvukový cíl GStreamer pro hlasové konference a videokonference"
+
+#~ msgid ""
+#~ "description for default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr ""
+#~ "popis výchozího zvukového cíle GStreamer pro hlasové konference a "
+#~ "videokonference"
+
+#~ msgid "default GStreamer audiosink for Music and Movies"
+#~ msgstr "výchozí zvukový cíl GStreamer pro hudbu a filmy"
+
+#~ msgid "description for default GStreamer audiosink for Music and Movies"
+#~ msgstr "popis výchozího zvukového cíle GStreamer pro hudbu a filmy"
+
+#~ msgid "default GStreamer videosink"
+#~ msgstr "výchozí cíl videa GStreamer"
+
+#~ msgid ""
+#~ "GStreamer can play video using any number of output elements. Some "
+#~ "possible choices are xvimagesink, ximagesink, sdlvideosink and aasink. "
+#~ "The videosink can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer umí přehrávat video pomocí mnoha výstupních prvků. Možné volby "
+#~ "jsou xvimagesink, ximagesink, sdlvideosink a aasink. Cílem videa může být "
+#~ "namísto právě jednoho elementu i částečná roura."
+
+#~ msgid "description for default GStreamer videosink"
+#~ msgstr "popis výchozího cíle videa GStreamer"
+
+#~ msgid "Describes the selected videosink element."
+#~ msgstr "Popisuje vybraný element sloužící jako cíl pro video."
+
+#~ msgid "default GStreamer audiosrc"
+#~ msgstr "výchozí zdroj zvuku GStreamer"
+
+#~ msgid ""
+#~ "GStreamer can record audio using any number of input elements. Some "
+#~ "possible choices are osssrc, pulsesrc and alsasrc. The audio source can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer umí nahrávat zvuk pomocí mnoha vstupních prvků. Možné volby "
+#~ "jsou osssrc, pulsesrc a alsasrc. Zvukovým zdrojem může být namísto právě "
+#~ "jednoho elementu i částečná roura."
+
+#~ msgid "description for default GStreamer audiosrc"
+#~ msgstr "popis pro výchozí zdroj zvuku GStreamer"
+
+#~ msgid "Describes the selected audiosrc element."
+#~ msgstr "Popisuje vybraný element sloužící jako zdroj zvuku."
+
+#~ msgid "default GStreamer videosrc"
+#~ msgstr "výchozí zdroj videa GStreamer"
+
+#~ msgid ""
+#~ "GStreamer can record video from any number of input elements. Some "
+#~ "possible choices are v4lsrc, v4l2src and videotestsrc. The video source "
+#~ "can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer umí nahrávat video pomocí mnoha vstupních prvků. Možné volby "
+#~ "jsou v4lsrc, v4l2src a videotestsrc. Zdrojem videa může být namísto právě "
+#~ "jednoho elementu i částečná roura."
+
+#~ msgid "description for default GStreamer videosrc"
+#~ msgstr "popis pro výchozí zdroj videa GStreamer"
+
+#~ msgid "Describes the selected videosrc element."
+#~ msgstr "Popisuje vybraný element sloužící jako zdroj videa."
+
+#~ msgid "default GStreamer visualization"
+#~ msgstr "výchozí vizualizace GStreamer"
+
+#~ msgid ""
+#~ "GStreamer can put visualization plugins in a pipeline to transform audio "
+#~ "streams in video frames. Some possible choices are goom, goom2k1 and "
+#~ "synaesthesia. The visualization plugin can be a partial pipeline instead "
+#~ "of just one element."
+#~ msgstr ""
+#~ "GStreamer umí do roury vložit vizualizační zásuvný modul, aby prováděl "
+#~ "změny zvukových proudů ve snímcích videa. Možné volby jsou goom, goom2k1 "
+#~ "a synaesthesia. Vizualizačním zásuvným modulem může být namísto právě "
+#~ "jednoho elementu i částečná roura."
+
+#~ msgid "description for default GStreamer visualization"
+#~ msgstr "popis pro výchozí vizualizaci GStreamer"
+
+#~ msgid "Describes the selected visualization element."
+#~ msgstr "Popisuje vybraný vizualizační element."
diff --git a/po/da.gmo b/po/da.gmo
index 662c13f..bfd0636 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index 5016f54..c865922 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -20,111 +20,6 @@
msgid "format wasn't negotiated before get function"
msgstr "format blev ikke forhandlet før hent funktion"
-msgid "default GStreamer sound events audiosink"
-msgstr "standardlydkanal for GStreamers lydhændelser"
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"GStreamer kan afspille lyd via et antal udgangselementer. Nogle mulige valg "
-"er osssink, pulsesink og alsasink. Lydudgangen kan være en delvis datakanal "
-"i stedet for bare et element."
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr "beskrivelse af standardlydkanal for GStreamers lydhændelser"
-
-msgid "Describes the selected audiosink element."
-msgstr "Beskriver det valge lydkanalelement."
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr "standardlydkanal til GStreamers lyd/video-konference"
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr "beskrivelse for standardlydkanal til GStreamers lyd/video-konference"
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr "standardlydkanal til GStreamers musik og film"
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr "beskrivelse for standardlydkanal til GStreamers musik og film"
-
-msgid "default GStreamer videosink"
-msgstr "standardlydkanal for GStreamer"
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-"GStreamer kan afspille video via et antal udgangselementer. Nogle mulige "
-"valg er xvimagesink, ximagesink, sdlvideosink og aasink. Videoudgangen kan "
-"være en delvis datakanal i stedet for bare et element."
-
-msgid "description for default GStreamer videosink"
-msgstr "beskrivelse for standardvideokanal for GStreamer"
-
-msgid "Describes the selected videosink element."
-msgstr "Beskriver den valgte videokanalselement."
-
-msgid "default GStreamer audiosrc"
-msgstr "standardlydoptagelse for GStreamer"
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"GStreamer kan optage lyd via et antal indgangselementer. Nogle mulige valg "
-"er osssrc, pulsesrc og alsasrc. Lydkilden kan være en delvis datakanal i "
-"stedet for bare et element."
-
-msgid "description for default GStreamer audiosrc"
-msgstr "beskrivelse for standardlydoptagelsen til GStreamer"
-
-msgid "Describes the selected audiosrc element."
-msgstr "Beskriver det valgte lydoptagelseselement."
-
-msgid "default GStreamer videosrc"
-msgstr "standardvideooptager for GStreamer"
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-"GStreamer kan optage video via et antal indgangselementer. Nogle mulige valg "
-"er v4lsrc, v4l2src og videotestsrc. Videokilden kan være en delvis datakanal "
-"i stedet for bare et element."
-
-msgid "description for default GStreamer videosrc"
-msgstr "beskrivelse for standardvideooptageren til GStreamer"
-
-msgid "Describes the selected videosrc element."
-msgstr "Beskriver det valgte videooptagerelement."
-
-msgid "default GStreamer visualization"
-msgstr "Standardvisualisering for GStreamer"
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-"GStreamer kan placere visualiseringsudvidelsesmoduler i en datakanal for at "
-"transformere lydstrømme i videobilleder. Nogle mulige valg er goom, goom2k1 "
-"og synaesthesia. Visualiseringsudvidelsesmodulerne kan være en delvis "
-"datakanal i stedet for bare et element."
-
-msgid "description for default GStreamer visualization"
-msgstr "beskrivelse for standardvisualisering til GStreamer"
-
-msgid "Describes the selected visualization element."
-msgstr "Beskriver det valgte visualiseringselement."
-
msgid "OpenCV failed to load template image"
msgstr "OpenCV mislykkedes i at indlæse skabelonaftryk"
@@ -242,6 +137,112 @@
msgid "Couldn't find details for DVB channel %s"
msgstr "Kunne ikke finde detaljer for DVB-kanalen %s"
+#~ msgid "default GStreamer sound events audiosink"
+#~ msgstr "standardlydkanal for GStreamers lydhændelser"
+
+#~ msgid ""
+#~ "GStreamer can play audio using any number of output elements. Some "
+#~ "possible choices are osssink, pulsesink and alsasink. The audiosink can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer kan afspille lyd via et antal udgangselementer. Nogle mulige "
+#~ "valg er osssink, pulsesink og alsasink. Lydudgangen kan være en delvis "
+#~ "datakanal i stedet for bare et element."
+
+#~ msgid "description for default GStreamer sound events audiosink"
+#~ msgstr "beskrivelse af standardlydkanal for GStreamers lydhændelser"
+
+#~ msgid "Describes the selected audiosink element."
+#~ msgstr "Beskriver det valge lydkanalelement."
+
+#~ msgid "default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr "standardlydkanal til GStreamers lyd/video-konference"
+
+#~ msgid ""
+#~ "description for default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr ""
+#~ "beskrivelse for standardlydkanal til GStreamers lyd/video-konference"
+
+#~ msgid "default GStreamer audiosink for Music and Movies"
+#~ msgstr "standardlydkanal til GStreamers musik og film"
+
+#~ msgid "description for default GStreamer audiosink for Music and Movies"
+#~ msgstr "beskrivelse for standardlydkanal til GStreamers musik og film"
+
+#~ msgid "default GStreamer videosink"
+#~ msgstr "standardlydkanal for GStreamer"
+
+#~ msgid ""
+#~ "GStreamer can play video using any number of output elements. Some "
+#~ "possible choices are xvimagesink, ximagesink, sdlvideosink and aasink. "
+#~ "The videosink can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer kan afspille video via et antal udgangselementer. Nogle mulige "
+#~ "valg er xvimagesink, ximagesink, sdlvideosink og aasink. Videoudgangen "
+#~ "kan være en delvis datakanal i stedet for bare et element."
+
+#~ msgid "description for default GStreamer videosink"
+#~ msgstr "beskrivelse for standardvideokanal for GStreamer"
+
+#~ msgid "Describes the selected videosink element."
+#~ msgstr "Beskriver den valgte videokanalselement."
+
+#~ msgid "default GStreamer audiosrc"
+#~ msgstr "standardlydoptagelse for GStreamer"
+
+#~ msgid ""
+#~ "GStreamer can record audio using any number of input elements. Some "
+#~ "possible choices are osssrc, pulsesrc and alsasrc. The audio source can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer kan optage lyd via et antal indgangselementer. Nogle mulige "
+#~ "valg er osssrc, pulsesrc og alsasrc. Lydkilden kan være en delvis "
+#~ "datakanal i stedet for bare et element."
+
+#~ msgid "description for default GStreamer audiosrc"
+#~ msgstr "beskrivelse for standardlydoptagelsen til GStreamer"
+
+#~ msgid "Describes the selected audiosrc element."
+#~ msgstr "Beskriver det valgte lydoptagelseselement."
+
+#~ msgid "default GStreamer videosrc"
+#~ msgstr "standardvideooptager for GStreamer"
+
+#~ msgid ""
+#~ "GStreamer can record video from any number of input elements. Some "
+#~ "possible choices are v4lsrc, v4l2src and videotestsrc. The video source "
+#~ "can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer kan optage video via et antal indgangselementer. Nogle mulige "
+#~ "valg er v4lsrc, v4l2src og videotestsrc. Videokilden kan være en delvis "
+#~ "datakanal i stedet for bare et element."
+
+#~ msgid "description for default GStreamer videosrc"
+#~ msgstr "beskrivelse for standardvideooptageren til GStreamer"
+
+#~ msgid "Describes the selected videosrc element."
+#~ msgstr "Beskriver det valgte videooptagerelement."
+
+#~ msgid "default GStreamer visualization"
+#~ msgstr "Standardvisualisering for GStreamer"
+
+#~ msgid ""
+#~ "GStreamer can put visualization plugins in a pipeline to transform audio "
+#~ "streams in video frames. Some possible choices are goom, goom2k1 and "
+#~ "synaesthesia. The visualization plugin can be a partial pipeline instead "
+#~ "of just one element."
+#~ msgstr ""
+#~ "GStreamer kan placere visualiseringsudvidelsesmoduler i en datakanal for "
+#~ "at transformere lydstrømme i videobilleder. Nogle mulige valg er goom, "
+#~ "goom2k1 og synaesthesia. Visualiseringsudvidelsesmodulerne kan være en "
+#~ "delvis datakanal i stedet for bare et element."
+
+#~ msgid "description for default GStreamer visualization"
+#~ msgstr "beskrivelse for standardvisualisering til GStreamer"
+
+#~ msgid "Describes the selected visualization element."
+#~ msgstr "Beskriver det valgte visualiseringselement."
+
#~ msgid "Couldn't get the Manifest's URI"
#~ msgstr "Kunne ikke indhente Manifestens adresse"
diff --git a/po/de.gmo b/po/de.gmo
index 379f68f..50fe833 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index 7be2b92..7c95651 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -22,118 +22,6 @@
msgid "format wasn't negotiated before get function"
msgstr "das Format wurde vor der get-Funktion nicht ausgehandelt"
-msgid "default GStreamer sound events audiosink"
-msgstr "Voreingestellte GStreamer Tonereignis-Audioziel"
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"GStreamer kann Ton mit einer beliebigen Anzahl an Ausgabeelementen "
-"wiedergeben. Einige Wahlmöglichkeiten sind »osssink«, »pulsesink« und "
-"»alsasink«. Das Audioziel kann eine teilweise Weiterleitung anstelle nur "
-"eines einzigen Elements sein."
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr "Beschreibung des voreingestellten GStreamer Tonereignis-Audioziel"
-
-msgid "Describes the selected audiosink element."
-msgstr "Beschreibt das gewählte Audioziel-Element."
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr "Voreingestelltes GStreamer-Audioziel für Ton- und Videokonferenzen"
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-"Beschreibung des voreingestellten GStreamer-Audioziel für Ton- und "
-"Videokonferenzen"
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr "Voreingestelltes GStreamer-Audioziel für Musik und Filme"
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-"Beschreibung des voreingestellten GStreamer-Audioziel für Musik und Filme"
-
-msgid "default GStreamer videosink"
-msgstr "Voreingestelltes GStreamer-Videoziel"
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-"GStreamer kann Video mit einer beliebigen Anzahl an Ausgabeelementen "
-"wiedergeben. Einige Wahlmöglichkeiten sind »xvimagesink«, »ximagesink«, "
-"»sdlvideosink« und »aasink«. Das Videoziel kann eine anteilige Weiterleitung "
-"anstelle eines einzigen Elements sein."
-
-msgid "description for default GStreamer videosink"
-msgstr "Beschreibung des voreingestellten GStreamer-Videoziel"
-
-msgid "Describes the selected videosink element."
-msgstr "Beschreibt das gewählte Videoziel-Element."
-
-msgid "default GStreamer audiosrc"
-msgstr "Voreingestelltes GStreamer-audiosrc"
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"GStreamer kann Ton mit einer beliebigen Anzahl an Eingabeelementen "
-"aufzeichnen. Einige Wahlmöglichkeiten sind »osssrc«, »pulsesrc« und "
-"»alsasrc«. Die Audioquelle kann eine anteilige Weiterleitung anstelle eines "
-"einzigen Elements sein."
-
-msgid "description for default GStreamer audiosrc"
-msgstr "Beschreibung des voreingestellten GStreamer-audiosrc"
-
-msgid "Describes the selected audiosrc element."
-msgstr "Beschreibt das gewählte audiosrc-Element."
-
-msgid "default GStreamer videosrc"
-msgstr "Voreingestelltes GStreamer-videosrc"
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-"GStreamer kann Video mit einer beliebigen Anzahl an Eingabeelementen "
-"aufzeichnen. Einige Wahlmöglichkeiten sind »v4lsrc«, »v4l2src« und "
-"»videotestsrc«. Die Videoquelle kann eine anteilige Weiterleitung anstelle "
-"eines einzigen Elements sein."
-
-msgid "description for default GStreamer videosrc"
-msgstr "Beschreibung des voreingestellten GStreamer-videosrc"
-
-msgid "Describes the selected videosrc element."
-msgstr "Beschreibt das gewählte videosrc-Element."
-
-msgid "default GStreamer visualization"
-msgstr "Voreingestellte GStreamer-Visualisierung"
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-"GStreamer kann Visualisierungs-Plugins in eine Weiterleitung integrieren, um "
-"Audioströme in Videobilder umzuwandeln. Einige Wahlmöglichkeiten sind "
-"»goom«, »goom2k1« und »synaesthesia«. Das Visualisierungs-Plugin kann eine "
-"anteilige Weiterleitung anstelle eines einzigen Elements sein."
-
-msgid "description for default GStreamer visualization"
-msgstr "Beschreibung der voreingestellten GStreamer-Visualisierung"
-
-msgid "Describes the selected visualization element."
-msgstr "Beschreibt das gewählte Visualisierungselement."
-
# OpenCV ist eine freie Programmbibliothek mit Algorithmen für die Bildverarbeitung und maschinelles Sehen.
msgid "OpenCV failed to load template image"
msgstr "OpenCV konnte nicht die Bildvorlage laden"
@@ -259,6 +147,118 @@
msgid "Couldn't find details for DVB channel %s"
msgstr "Details zu DVB-Kanal %s konnten nicht gefunden werden"
+#~ msgid "default GStreamer sound events audiosink"
+#~ msgstr "Voreingestellte GStreamer Tonereignis-Audioziel"
+
+#~ msgid ""
+#~ "GStreamer can play audio using any number of output elements. Some "
+#~ "possible choices are osssink, pulsesink and alsasink. The audiosink can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer kann Ton mit einer beliebigen Anzahl an Ausgabeelementen "
+#~ "wiedergeben. Einige Wahlmöglichkeiten sind »osssink«, »pulsesink« und "
+#~ "»alsasink«. Das Audioziel kann eine teilweise Weiterleitung anstelle nur "
+#~ "eines einzigen Elements sein."
+
+#~ msgid "description for default GStreamer sound events audiosink"
+#~ msgstr "Beschreibung des voreingestellten GStreamer Tonereignis-Audioziel"
+
+#~ msgid "Describes the selected audiosink element."
+#~ msgstr "Beschreibt das gewählte Audioziel-Element."
+
+#~ msgid "default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr "Voreingestelltes GStreamer-Audioziel für Ton- und Videokonferenzen"
+
+#~ msgid ""
+#~ "description for default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr ""
+#~ "Beschreibung des voreingestellten GStreamer-Audioziel für Ton- und "
+#~ "Videokonferenzen"
+
+#~ msgid "default GStreamer audiosink for Music and Movies"
+#~ msgstr "Voreingestelltes GStreamer-Audioziel für Musik und Filme"
+
+#~ msgid "description for default GStreamer audiosink for Music and Movies"
+#~ msgstr ""
+#~ "Beschreibung des voreingestellten GStreamer-Audioziel für Musik und Filme"
+
+#~ msgid "default GStreamer videosink"
+#~ msgstr "Voreingestelltes GStreamer-Videoziel"
+
+#~ msgid ""
+#~ "GStreamer can play video using any number of output elements. Some "
+#~ "possible choices are xvimagesink, ximagesink, sdlvideosink and aasink. "
+#~ "The videosink can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer kann Video mit einer beliebigen Anzahl an Ausgabeelementen "
+#~ "wiedergeben. Einige Wahlmöglichkeiten sind »xvimagesink«, »ximagesink«, "
+#~ "»sdlvideosink« und »aasink«. Das Videoziel kann eine anteilige "
+#~ "Weiterleitung anstelle eines einzigen Elements sein."
+
+#~ msgid "description for default GStreamer videosink"
+#~ msgstr "Beschreibung des voreingestellten GStreamer-Videoziel"
+
+#~ msgid "Describes the selected videosink element."
+#~ msgstr "Beschreibt das gewählte Videoziel-Element."
+
+#~ msgid "default GStreamer audiosrc"
+#~ msgstr "Voreingestelltes GStreamer-audiosrc"
+
+#~ msgid ""
+#~ "GStreamer can record audio using any number of input elements. Some "
+#~ "possible choices are osssrc, pulsesrc and alsasrc. The audio source can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer kann Ton mit einer beliebigen Anzahl an Eingabeelementen "
+#~ "aufzeichnen. Einige Wahlmöglichkeiten sind »osssrc«, »pulsesrc« und "
+#~ "»alsasrc«. Die Audioquelle kann eine anteilige Weiterleitung anstelle "
+#~ "eines einzigen Elements sein."
+
+#~ msgid "description for default GStreamer audiosrc"
+#~ msgstr "Beschreibung des voreingestellten GStreamer-audiosrc"
+
+#~ msgid "Describes the selected audiosrc element."
+#~ msgstr "Beschreibt das gewählte audiosrc-Element."
+
+#~ msgid "default GStreamer videosrc"
+#~ msgstr "Voreingestelltes GStreamer-videosrc"
+
+#~ msgid ""
+#~ "GStreamer can record video from any number of input elements. Some "
+#~ "possible choices are v4lsrc, v4l2src and videotestsrc. The video source "
+#~ "can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer kann Video mit einer beliebigen Anzahl an Eingabeelementen "
+#~ "aufzeichnen. Einige Wahlmöglichkeiten sind »v4lsrc«, »v4l2src« und "
+#~ "»videotestsrc«. Die Videoquelle kann eine anteilige Weiterleitung "
+#~ "anstelle eines einzigen Elements sein."
+
+#~ msgid "description for default GStreamer videosrc"
+#~ msgstr "Beschreibung des voreingestellten GStreamer-videosrc"
+
+#~ msgid "Describes the selected videosrc element."
+#~ msgstr "Beschreibt das gewählte videosrc-Element."
+
+#~ msgid "default GStreamer visualization"
+#~ msgstr "Voreingestellte GStreamer-Visualisierung"
+
+#~ msgid ""
+#~ "GStreamer can put visualization plugins in a pipeline to transform audio "
+#~ "streams in video frames. Some possible choices are goom, goom2k1 and "
+#~ "synaesthesia. The visualization plugin can be a partial pipeline instead "
+#~ "of just one element."
+#~ msgstr ""
+#~ "GStreamer kann Visualisierungs-Plugins in eine Weiterleitung integrieren, "
+#~ "um Audioströme in Videobilder umzuwandeln. Einige Wahlmöglichkeiten sind "
+#~ "»goom«, »goom2k1« und »synaesthesia«. Das Visualisierungs-Plugin kann "
+#~ "eine anteilige Weiterleitung anstelle eines einzigen Elements sein."
+
+#~ msgid "description for default GStreamer visualization"
+#~ msgstr "Beschreibung der voreingestellten GStreamer-Visualisierung"
+
+#~ msgid "Describes the selected visualization element."
+#~ msgstr "Beschreibt das gewählte Visualisierungselement."
+
#~ msgid "Couldn't get the Manifest's URI"
#~ msgstr "Adresse der Frachtliste konnte nicht ermittelt werden"
diff --git a/po/el.gmo b/po/el.gmo
index 59a59b0..6b2564b 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index 9998a20..8b914d2 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -22,95 +22,6 @@
msgid "format wasn't negotiated before get function"
msgstr ""
-msgid "default GStreamer sound events audiosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-
-msgid "Describes the selected audiosink element."
-msgstr ""
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "default GStreamer videosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosink"
-msgstr ""
-
-msgid "Describes the selected videosink element."
-msgstr ""
-
-msgid "default GStreamer audiosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer audiosrc"
-msgstr ""
-
-msgid "Describes the selected audiosrc element."
-msgstr ""
-
-msgid "default GStreamer videosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosrc"
-msgstr ""
-
-msgid "Describes the selected videosrc element."
-msgstr ""
-
-msgid "default GStreamer visualization"
-msgstr ""
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-
-msgid "description for default GStreamer visualization"
-msgstr ""
-
-msgid "Describes the selected visualization element."
-msgstr ""
-
msgid "OpenCV failed to load template image"
msgstr ""
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index 85983e2..367daf5 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 98f9629..d67f39f 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -18,95 +18,6 @@
msgid "format wasn't negotiated before get function"
msgstr ""
-msgid "default GStreamer sound events audiosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-
-msgid "Describes the selected audiosink element."
-msgstr ""
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "default GStreamer videosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosink"
-msgstr ""
-
-msgid "Describes the selected videosink element."
-msgstr ""
-
-msgid "default GStreamer audiosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer audiosrc"
-msgstr ""
-
-msgid "Describes the selected audiosrc element."
-msgstr ""
-
-msgid "default GStreamer videosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosrc"
-msgstr ""
-
-msgid "Describes the selected videosrc element."
-msgstr ""
-
-msgid "default GStreamer visualization"
-msgstr ""
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-
-msgid "description for default GStreamer visualization"
-msgstr ""
-
-msgid "Describes the selected visualization element."
-msgstr ""
-
msgid "OpenCV failed to load template image"
msgstr ""
diff --git a/po/eo.gmo b/po/eo.gmo
index 8de5054..0750b67 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index 35cecb6..a77747e 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -20,95 +20,6 @@
msgid "format wasn't negotiated before get function"
msgstr ""
-msgid "default GStreamer sound events audiosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-
-msgid "Describes the selected audiosink element."
-msgstr ""
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "default GStreamer videosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosink"
-msgstr ""
-
-msgid "Describes the selected videosink element."
-msgstr ""
-
-msgid "default GStreamer audiosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer audiosrc"
-msgstr ""
-
-msgid "Describes the selected audiosrc element."
-msgstr ""
-
-msgid "default GStreamer videosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosrc"
-msgstr ""
-
-msgid "Describes the selected videosrc element."
-msgstr ""
-
-msgid "default GStreamer visualization"
-msgstr ""
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-
-msgid "description for default GStreamer visualization"
-msgstr ""
-
-msgid "Describes the selected visualization element."
-msgstr ""
-
msgid "OpenCV failed to load template image"
msgstr ""
diff --git a/po/es.gmo b/po/es.gmo
index 9c35661..345902b 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index a158c10..6b47627 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -20,95 +20,6 @@
msgid "format wasn't negotiated before get function"
msgstr ""
-msgid "default GStreamer sound events audiosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-
-msgid "Describes the selected audiosink element."
-msgstr ""
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "default GStreamer videosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosink"
-msgstr ""
-
-msgid "Describes the selected videosink element."
-msgstr ""
-
-msgid "default GStreamer audiosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer audiosrc"
-msgstr ""
-
-msgid "Describes the selected audiosrc element."
-msgstr ""
-
-msgid "default GStreamer videosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosrc"
-msgstr ""
-
-msgid "Describes the selected videosrc element."
-msgstr ""
-
-msgid "default GStreamer visualization"
-msgstr ""
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-
-msgid "description for default GStreamer visualization"
-msgstr ""
-
-msgid "Describes the selected visualization element."
-msgstr ""
-
msgid "OpenCV failed to load template image"
msgstr ""
diff --git a/po/eu.gmo b/po/eu.gmo
index 0a57839..d305b96 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index 40efb54..d32bfcf 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -22,95 +22,6 @@
msgid "format wasn't negotiated before get function"
msgstr ""
-msgid "default GStreamer sound events audiosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-
-msgid "Describes the selected audiosink element."
-msgstr ""
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "default GStreamer videosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosink"
-msgstr ""
-
-msgid "Describes the selected videosink element."
-msgstr ""
-
-msgid "default GStreamer audiosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer audiosrc"
-msgstr ""
-
-msgid "Describes the selected audiosrc element."
-msgstr ""
-
-msgid "default GStreamer videosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosrc"
-msgstr ""
-
-msgid "Describes the selected videosrc element."
-msgstr ""
-
-msgid "default GStreamer visualization"
-msgstr ""
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-
-msgid "description for default GStreamer visualization"
-msgstr ""
-
-msgid "Describes the selected visualization element."
-msgstr ""
-
msgid "OpenCV failed to load template image"
msgstr ""
diff --git a/po/fi.gmo b/po/fi.gmo
index d2b19ae..48218a8 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index eb2ff58..6a536ff 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -25,95 +25,6 @@
msgid "format wasn't negotiated before get function"
msgstr ""
-msgid "default GStreamer sound events audiosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-
-msgid "Describes the selected audiosink element."
-msgstr ""
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "default GStreamer videosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosink"
-msgstr ""
-
-msgid "Describes the selected videosink element."
-msgstr ""
-
-msgid "default GStreamer audiosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer audiosrc"
-msgstr ""
-
-msgid "Describes the selected audiosrc element."
-msgstr ""
-
-msgid "default GStreamer videosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosrc"
-msgstr ""
-
-msgid "Describes the selected videosrc element."
-msgstr ""
-
-msgid "default GStreamer visualization"
-msgstr ""
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-
-msgid "description for default GStreamer visualization"
-msgstr ""
-
-msgid "Describes the selected visualization element."
-msgstr ""
-
msgid "OpenCV failed to load template image"
msgstr ""
diff --git a/po/fr.gmo b/po/fr.gmo
index dbd6ad1..bd5f011 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index d041434..da97e73 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,10 +7,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: gst-plugins-bad 1.4.1\n"
+"Project-Id-Version: gst-plugins-bad 1.7.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-12-24 13:55+0100\n"
-"PO-Revision-Date: 2015-04-26 19:24+0200\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\n"
+"PO-Revision-Date: 2015-12-27 01:51+0100\n"
"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
@@ -21,104 +21,15 @@
msgid "format wasn't negotiated before get function"
msgstr "Format non négocié avant l'appel de la fonction get"
-msgid "default GStreamer sound events audiosink"
-msgstr "sons par défaut audiosink des événements GStreamer"
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr "description des sons par défaut audiosink des événements GStreamer"
-
-msgid "Describes the selected audiosink element."
-msgstr ""
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "default GStreamer videosink"
-msgstr "videosink GStreamer par défaut"
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosink"
-msgstr ""
-
-msgid "Describes the selected videosink element."
-msgstr ""
-
-msgid "default GStreamer audiosrc"
-msgstr "audiosrc GStreamer par défaut"
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer audiosrc"
-msgstr ""
-
-msgid "Describes the selected audiosrc element."
-msgstr ""
-
-msgid "default GStreamer videosrc"
-msgstr "videosrc GStreamer par défaut"
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosrc"
-msgstr ""
-
-msgid "Describes the selected videosrc element."
-msgstr ""
-
-msgid "default GStreamer visualization"
-msgstr "aperçu GStreamer par défaut"
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-
-msgid "description for default GStreamer visualization"
-msgstr "description de l’aperçu GStreamer par défaut"
-
-msgid "Describes the selected visualization element."
-msgstr ""
-
msgid "OpenCV failed to load template image"
-msgstr ""
+msgstr "OpenCV n’a pas pu charger l’image modèle"
msgid "Could not read title information for DVD."
msgstr "Impossible de lire les informations de titre du DVD."
#, c-format
msgid "Failed to open DVD device '%s'."
-msgstr "Impossible d'ouvrir le périphérique du DVD « %s »."
+msgstr "Impossible d’ouvrir le périphérique du DVD « %s »."
msgid "Failed to set PGC based seeking."
msgstr "Impossible de définir la recherche basée sur PGC."
@@ -127,23 +38,23 @@
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""
-"Impossible de lire le DVD. Il se peut que le DVD soit chiffré et qu'aucune "
-"bibliothèque de déchiffrement DVD ne soit disponible."
+"Impossible de lire le DVD. Il se peut qu’il soit chiffré et qu’aucune "
+"bibliothèque de déchiffrement DVD ne soit installée."
msgid "Could not read DVD."
msgstr "Impossible de lire le DVD."
msgid "This file contains no playable streams."
-msgstr ""
+msgstr "Ce fichier ne contient aucun flux exploitable."
msgid "Could not open sndfile stream for reading."
-msgstr "Impossible d'ouvrir le fichier snd en lecture."
+msgstr "Impossible d’ouvrir le fichier snd en lecture."
msgid "Could not establish connection to sndio"
msgstr "Impossible de se connecter à sndio"
msgid "Failed to query sndio capabilities"
-msgstr "Impossible d’interroger les capacités sndio"
+msgstr "Impossible d’interroger les capacités de sndio"
msgid "Could not configure sndio"
msgstr "Impossible de configurer sndio"
@@ -152,26 +63,29 @@
msgstr "Impossible de démarrer sndio"
msgid "Internal data flow error."
-msgstr "Erreur interne de flux de données."
+msgstr "Erreur du flux de données interne."
msgid "Generated file has a larger preroll time than its streams duration"
msgstr ""
+"Le fichier généré a un temps de lancement plus long que la durée du flux"
#, c-format
msgid "Missing element '%s' - check your GStreamer installation."
-msgstr ""
+msgstr "Élément « %s » manquant — Vérifiez votre installation de GStreamer."
msgid "File location is set to NULL, please set it to a valid filename"
msgstr ""
+"L’emplacement du fichier est inconnu (NULL), veuillez choisir un nom de "
+"fichier valide"
msgid "Digitalzoom element couldn't be created"
-msgstr ""
+msgstr "L’élément Digitalzoom n’a pu être créé"
msgid "Subpicture format was not configured before data flow"
-msgstr ""
+msgstr "Le format de sous-image n’était pas configuré avant le flux de données"
msgid "Failed to get fragment URL."
-msgstr ""
+msgstr "Échec de la récupération de l’URL de fragment."
msgid "Internal data stream error."
msgstr "Erreur interne de flux de données."
@@ -180,49 +94,164 @@
msgstr "Impossible de télécharger les fragments"
msgid "No file name specified for writing."
-msgstr "Aucun nom de fichier indiqué pour l'écriture."
+msgstr "Aucun nom de fichier indiqué en écriture."
#, c-format
msgid "Given file name \"%s\" can't be converted to local file name encoding."
msgstr ""
+"Le nom de fichier indiqué « %s » ne peut pas être converti dans l’encodage "
+"local au système de fichier."
#, c-format
msgid "Could not open file \"%s\" for writing."
-msgstr "Impossible d'ouvrir le fichier « %s » pour l'écriture."
+msgstr "Impossible d’ouvrir le fichier « %s » en écriture."
#, c-format
msgid "Device \"%s\" does not exist."
-msgstr "Le périphérique « %s » n'existe pas."
+msgstr "Le périphérique « %s » n’existe pas."
#, c-format
msgid "Could not open frontend device \"%s\"."
-msgstr "Impossible d'ouvrir le périphérique frontal « %s »."
+msgstr "Impossible d’ouvrir le périphérique frontal « %s »."
#, c-format
msgid "Could not get settings from frontend device \"%s\"."
-msgstr "Impossible d'obtenir les paramètres du périphérique frontal « %s »."
+msgstr "Impossible d’obtenir les paramètres du périphérique frontal « %s »."
-#, fuzzy, c-format
+#, c-format
msgid "Cannot enumerate delivery systems from frontend device \"%s\"."
-msgstr "Impossible d'obtenir les paramètres du périphérique frontal « %s »."
+msgstr ""
+"Impossible d'énumérer les systèmes d’émission du périphérique frontal « %s »."
#, c-format
msgid "Could not open file \"%s\" for reading."
-msgstr "Impossible d'ouvrir le fichier « %s » en lecture."
+msgstr "Impossible d’ouvrir le fichier « %s » en lecture."
msgid "Couldn't find DVB channel configuration file"
-msgstr ""
+msgstr "Impossible de trouver le fichier de configuration de canal DVB"
#, c-format
msgid "Couldn't load DVB channel configuration file: %s"
-msgstr ""
+msgstr "Impossible de charger le fichier de configuration de canal DVB : %s"
msgid "DVB channel configuration file doesn't contain any channels"
-msgstr ""
+msgstr "Le fichier de configuration de canal DVB ne contient aucun canal"
#, c-format
msgid "Couldn't find details for DVB channel %s"
-msgstr ""
+msgstr "Impossible de trouver des informations sur le canal DVB %s"
-#~ msgid "Could not write to file \"%s\"."
-#~ msgstr "Impossible d'écrire dans le fichier « %s »."
+#~ msgid "default GStreamer sound events audiosink"
+#~ msgstr "récepteur audio GStreamer par défaut pour les événements sonores"
+
+#~ msgid ""
+#~ "GStreamer can play audio using any number of output elements. Some "
+#~ "possible choices are osssink, pulsesink and alsasink. The audiosink can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer peut lire des sons depuis un nombre quelconque d’éléments en "
+#~ "entrée. Les choix possibles sont osssink, pulsesink et alsasink. Le "
+#~ "source audio peut être un pipeline partiel au lieu d’un élément unique."
+
+#~ msgid "description for default GStreamer sound events audiosink"
+#~ msgstr ""
+#~ "description du récepteur audio GStreamer par défaut pour les événements "
+#~ "sonores"
+
+#~ msgid "Describes the selected audiosink element."
+#~ msgstr "Décrit le récepteur audio sélectionné."
+
+#~ msgid "default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr ""
+#~ "récepteur audio GStreamer par défaut pour les confèrences audiovisuelles"
+
+#~ msgid ""
+#~ "description for default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr ""
+#~ "description du récepteur audio GStreamer par défaut pour les confèrences "
+#~ "audiovisuelles"
+
+#~ msgid "default GStreamer audiosink for Music and Movies"
+#~ msgstr "récepteur audio GStreamer par défaut pour la musique et les films"
+
+#~ msgid "description for default GStreamer audiosink for Music and Movies"
+#~ msgstr ""
+#~ "description du récepteur audio GStreamer par défaut pour la musique et "
+#~ "les films"
+
+#~ msgid "default GStreamer videosink"
+#~ msgstr "récepteur vidéo GStreamer par défaut"
+
+#~ msgid ""
+#~ "GStreamer can play video using any number of output elements. Some "
+#~ "possible choices are xvimagesink, ximagesink, sdlvideosink and aasink. "
+#~ "The videosink can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer peut lire une vidéo depuis un nombre quelconque d’éléments en "
+#~ "entrée. Les choix possibles sont xvimagesink, ximagesink, sdlvideosink et "
+#~ "aasink. Le source vidéo peut être un pipeline partiel au lieu d’un "
+#~ "élément unique."
+
+#~ msgid "description for default GStreamer videosink"
+#~ msgstr "description du récepteur vidéo GStreamer par défaut"
+
+#~ msgid "Describes the selected videosink element."
+#~ msgstr "Décrit le récepteur vidéo sélectionné."
+
+#~ msgid "default GStreamer audiosrc"
+#~ msgstr "source audio GStreamer par défaut"
+
+#~ msgid ""
+#~ "GStreamer can record audio using any number of input elements. Some "
+#~ "possible choices are osssrc, pulsesrc and alsasrc. The audio source can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer peut enregistrer des sons depuis un nombre quelconque "
+#~ "d’éléments en entrée. Les choix possibles sont osssrc, pulsesrc et "
+#~ "alsasrc. Le source audio peut être un pipeline partiel au lieu d’un "
+#~ "élément unique."
+
+#~ msgid "description for default GStreamer audiosrc"
+#~ msgstr "description de la source audio GStreamer par défaut"
+
+#~ msgid "Describes the selected audiosrc element."
+#~ msgstr "Décrit la source audio sélectionnée."
+
+#~ msgid "default GStreamer videosrc"
+#~ msgstr "source vidéo GStreamer par défaut"
+
+#~ msgid ""
+#~ "GStreamer can record video from any number of input elements. Some "
+#~ "possible choices are v4lsrc, v4l2src and videotestsrc. The video source "
+#~ "can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer peut enregistrer une vidéo depuis un nombre quelconque "
+#~ "d’éléments en entrée. Les choix possibles sont v4lsrc, v4l2src et "
+#~ "videotestsrc. Le source vidéo peut être un pipeline partiel au lieu d’un "
+#~ "élément unique."
+
+#~ msgid "description for default GStreamer videosrc"
+#~ msgstr "description de la source vidéo GStreamer par défaut"
+
+#~ msgid "Describes the selected videosrc element."
+#~ msgstr "Décrit la source vidéo sélectionnée."
+
+#~ msgid "default GStreamer visualization"
+#~ msgstr "aperçu GStreamer par défaut"
+
+#~ msgid ""
+#~ "GStreamer can put visualization plugins in a pipeline to transform audio "
+#~ "streams in video frames. Some possible choices are goom, goom2k1 and "
+#~ "synaesthesia. The visualization plugin can be a partial pipeline instead "
+#~ "of just one element."
+#~ msgstr ""
+#~ "GStreamer peut mettre les extensions d’aperçu dans un pipeline pour "
+#~ "transformer les flux audios en frames vidéo. Les choix possibles sont "
+#~ "goom, goom2k1 et synaesthesia. L’extension d’aperçu peut être un pipeline "
+#~ "partiel au lieu d’un élément unique."
+
+#~ msgid "description for default GStreamer visualization"
+#~ msgstr "description de l’aperçu GStreamer par défaut"
+
+#~ msgid "Describes the selected visualization element."
+#~ msgstr "Décrit l’élément d’aperçu sélectionné."
diff --git a/po/gl.gmo b/po/gl.gmo
index 76fc086..be28107 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index b6e1cf6..6783468 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -22,95 +22,6 @@
msgid "format wasn't negotiated before get function"
msgstr ""
-msgid "default GStreamer sound events audiosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-
-msgid "Describes the selected audiosink element."
-msgstr ""
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "default GStreamer videosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosink"
-msgstr ""
-
-msgid "Describes the selected videosink element."
-msgstr ""
-
-msgid "default GStreamer audiosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer audiosrc"
-msgstr ""
-
-msgid "Describes the selected audiosrc element."
-msgstr ""
-
-msgid "default GStreamer videosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosrc"
-msgstr ""
-
-msgid "Describes the selected videosrc element."
-msgstr ""
-
-msgid "default GStreamer visualization"
-msgstr ""
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-
-msgid "description for default GStreamer visualization"
-msgstr ""
-
-msgid "Describes the selected visualization element."
-msgstr ""
-
msgid "OpenCV failed to load template image"
msgstr ""
diff --git a/po/gst-plugins-bad-1.0.pot b/po/gst-plugins-bad-1.0.pot
index 48b7ad4..ebb7c84 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.7.1\n"
+"Project-Id-Version: gst-plugins-bad 1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -20,123 +20,6 @@
msgid "format wasn't negotiated before get function"
msgstr ""
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:5
-msgid "default GStreamer sound events audiosink"
-msgstr ""
-
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:6
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:19
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:32
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:13
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:14
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:27
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:40
-msgid "Describes the selected audiosink element."
-msgstr ""
-
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:18
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:26
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:31
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:39
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:44
-msgid "default GStreamer videosink"
-msgstr ""
-
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:45
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:52
-msgid "description for default GStreamer videosink"
-msgstr ""
-
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:53
-msgid "Describes the selected videosink element."
-msgstr ""
-
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:57
-msgid "default GStreamer audiosrc"
-msgstr ""
-
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:58
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:65
-msgid "description for default GStreamer audiosrc"
-msgstr ""
-
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:66
-msgid "Describes the selected audiosrc element."
-msgstr ""
-
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:70
-msgid "default GStreamer videosrc"
-msgstr ""
-
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:71
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:77
-msgid "description for default GStreamer videosrc"
-msgstr ""
-
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:78
-msgid "Describes the selected videosrc element."
-msgstr ""
-
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:82
-msgid "default GStreamer visualization"
-msgstr ""
-
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:83
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:90
-msgid "description for default GStreamer visualization"
-msgstr ""
-
-#: ext/gsettings/org.freedesktop.gstreamer.default-elements.gschema.xml.in:91
-msgid "Describes the selected visualization element."
-msgstr ""
-
#: ext/opencv/gsttemplatematch.cpp:188
msgid "OpenCV failed to load template image"
msgstr ""
@@ -164,8 +47,8 @@
msgid "Could not read DVD."
msgstr ""
-#: ext/smoothstreaming/gstmssdemux.c:403
-#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:619
+#: ext/smoothstreaming/gstmssdemux.c:405
+#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:633
msgid "This file contains no playable streams."
msgstr ""
@@ -215,18 +98,18 @@
msgid "Subpicture format was not configured before data flow"
msgstr ""
-#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:2531
+#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:2646
msgid "Failed to get fragment URL."
msgstr ""
-#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:2761
-#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:2955
+#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:2881
+#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:3075
#: gst/mpegtsdemux/mpegtsbase.c:1371 gst/mpegtsdemux/mpegtsbase.c:1375
#: gst/nuvdemux/gstnuvdemux.c:736
msgid "Internal data stream error."
msgstr ""
-#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:2873
+#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:2993
msgid "Couldn't download fragments"
msgstr ""
@@ -244,27 +127,27 @@
msgid "Could not open file \"%s\" for writing."
msgstr ""
-#: sys/dvb/gstdvbsrc.c:1565 sys/dvb/gstdvbsrc.c:1754
+#: sys/dvb/gstdvbsrc.c:1564 sys/dvb/gstdvbsrc.c:1753
#, c-format
msgid "Device \"%s\" does not exist."
msgstr ""
-#: sys/dvb/gstdvbsrc.c:1569
+#: sys/dvb/gstdvbsrc.c:1568
#, c-format
msgid "Could not open frontend device \"%s\"."
msgstr ""
-#: sys/dvb/gstdvbsrc.c:1583
+#: sys/dvb/gstdvbsrc.c:1582
#, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr ""
-#: sys/dvb/gstdvbsrc.c:1600
+#: sys/dvb/gstdvbsrc.c:1599
#, c-format
msgid "Cannot enumerate delivery systems from frontend device \"%s\"."
msgstr ""
-#: sys/dvb/gstdvbsrc.c:1758
+#: sys/dvb/gstdvbsrc.c:1757
#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr ""
diff --git a/po/hr.gmo b/po/hr.gmo
index 9f4cf77..585c17c 100644
--- a/po/hr.gmo
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
index 6526564..ae7ada7 100644
--- a/po/hr.po
+++ b/po/hr.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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\n"
"PO-Revision-Date: 2012-04-16 02:06+0200\n"
"Last-Translator: Tomislav Krznar <tomislav.krznar@gmail.com>\n"
"Language-Team: Croatian <lokalizacija@linux.hr>\n"
@@ -20,95 +20,6 @@
msgid "format wasn't negotiated before get function"
msgstr ""
-msgid "default GStreamer sound events audiosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-
-msgid "Describes the selected audiosink element."
-msgstr ""
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "default GStreamer videosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosink"
-msgstr ""
-
-msgid "Describes the selected videosink element."
-msgstr ""
-
-msgid "default GStreamer audiosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer audiosrc"
-msgstr ""
-
-msgid "Describes the selected audiosrc element."
-msgstr ""
-
-msgid "default GStreamer videosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosrc"
-msgstr ""
-
-msgid "Describes the selected videosrc element."
-msgstr ""
-
-msgid "default GStreamer visualization"
-msgstr ""
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-
-msgid "description for default GStreamer visualization"
-msgstr ""
-
-msgid "Describes the selected visualization element."
-msgstr ""
-
msgid "OpenCV failed to load template image"
msgstr ""
diff --git a/po/hu.gmo b/po/hu.gmo
index e8c1730..eafabd6 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index bea72b9..9de15df 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -22,117 +22,6 @@
msgid "format wasn't negotiated before get function"
msgstr "a formátum nem lett egyeztetve a függvény lekérése előtt"
-msgid "default GStreamer sound events audiosink"
-msgstr "alapértelmezett GStreamer hangesemények audiosink"
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"A GStreamer képes hangot lejátszani bármilyen számú kimeneti elem "
-"használatával. Néhány lehetséges választás a következő lehet: osssink, "
-"pulsesink és alsasink. Az audiosink lehet egy részleges adatcsatorna is "
-"egyetlen elem helyett."
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr "az alapértelmezett GStreamer hangesemények audiosink leírása"
-
-msgid "Describes the selected audiosink element."
-msgstr "Leírja a kiválasztott audiosink elemet."
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr "alapértelmezett GStreamer audiosink a hang/videó konferenciához"
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-"az alapértelmezett GStreamer audiosink leírása a hang/videó konferenciához"
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr "alapértelmezett GStreamer audiosink zenékhez és filmekhez"
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr "az alapértelmezett GStreamer audiosink leírása zenékhez és filmekhez"
-
-msgid "default GStreamer videosink"
-msgstr "alapértelmezett GStreamer videosink"
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-"A GStreamer képes videót lejátszani bármilyen számú kimeneti elem "
-"használatával. Néhány lehetséges választás a következő lehet: xvimagesink, "
-"ximagesink, sdlvideosink és aasink. Az videosink lehet egy részleges "
-"adatcsatorna is egyetlen elem helyett."
-
-msgid "description for default GStreamer videosink"
-msgstr "az alapértelmezett GStreamer videosink leírása"
-
-msgid "Describes the selected videosink element."
-msgstr "Leírja a kiválasztott videosink elemet."
-
-msgid "default GStreamer audiosrc"
-msgstr "alapértelmezett GStreamer audiosrc"
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"A GStreamer képes hangot felvenni bármilyen számú bemeneti elem "
-"használatával. Néhány lehetséges választás a következő lehet: osssrc, "
-"pulsesrc és alsasrc. A hangforrás lehet egy részleges adatcsatorna is "
-"egyetlen elem helyett."
-
-msgid "description for default GStreamer audiosrc"
-msgstr "az alapértelmezett GStreamer audiosrc leírása"
-
-msgid "Describes the selected audiosrc element."
-msgstr "Leírja a kiválasztott audiosrc elemet."
-
-msgid "default GStreamer videosrc"
-msgstr "alapértelmezett GStreamer videosrc"
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-"A GStreamer képes videót felvenni bármilyen számú bemeneti elem "
-"használatával. Néhány lehetséges választás a következő lehet: v4lsrc, "
-"v4l2src és videotestsrc. A videoforrás lehet egy részleges adatcsatorna is "
-"egyetlen elem helyett."
-
-msgid "description for default GStreamer videosrc"
-msgstr "az alapértelmezett GStreamer videosrc leírása"
-
-msgid "Describes the selected videosrc element."
-msgstr "Leírja a kiválasztott videosrc elemet."
-
-msgid "default GStreamer visualization"
-msgstr "alapértelmezett GStreamer képi megjelenítés"
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-"A GStreamer képes képi megjelenítő bővítményeket elhelyezni egy "
-"adatcsatornába a videoképkockákban lévő hangfolyamok átalakításához. Néhány "
-"lehetséges választás a következő lehet: goom, goom2k1 és synaesthesia. A "
-"képi megjelenítő bővítmény lehet egy részleges adatcsatorna is egyetlen elem "
-"helyett."
-
-msgid "description for default GStreamer visualization"
-msgstr "az alapértelmezett GStreamer képi megjelenítés leírása"
-
-msgid "Describes the selected visualization element."
-msgstr "Leírja a kiválasztott képi megjelenítés elemet."
-
msgid "OpenCV failed to load template image"
msgstr "Az OpenCV-nek nem sikerült betöltenie a sablonképet"
@@ -253,6 +142,118 @@
msgid "Couldn't find details for DVB channel %s"
msgstr "Nem találhatók a(z) %s DVB-csatorna részletei"
+#~ msgid "default GStreamer sound events audiosink"
+#~ msgstr "alapértelmezett GStreamer hangesemények audiosink"
+
+#~ msgid ""
+#~ "GStreamer can play audio using any number of output elements. Some "
+#~ "possible choices are osssink, pulsesink and alsasink. The audiosink can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "A GStreamer képes hangot lejátszani bármilyen számú kimeneti elem "
+#~ "használatával. Néhány lehetséges választás a következő lehet: osssink, "
+#~ "pulsesink és alsasink. Az audiosink lehet egy részleges adatcsatorna is "
+#~ "egyetlen elem helyett."
+
+#~ msgid "description for default GStreamer sound events audiosink"
+#~ msgstr "az alapértelmezett GStreamer hangesemények audiosink leírása"
+
+#~ msgid "Describes the selected audiosink element."
+#~ msgstr "Leírja a kiválasztott audiosink elemet."
+
+#~ msgid "default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr "alapértelmezett GStreamer audiosink a hang/videó konferenciához"
+
+#~ msgid ""
+#~ "description for default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr ""
+#~ "az alapértelmezett GStreamer audiosink leírása a hang/videó konferenciához"
+
+#~ msgid "default GStreamer audiosink for Music and Movies"
+#~ msgstr "alapértelmezett GStreamer audiosink zenékhez és filmekhez"
+
+#~ msgid "description for default GStreamer audiosink for Music and Movies"
+#~ msgstr ""
+#~ "az alapértelmezett GStreamer audiosink leírása zenékhez és filmekhez"
+
+#~ msgid "default GStreamer videosink"
+#~ msgstr "alapértelmezett GStreamer videosink"
+
+#~ msgid ""
+#~ "GStreamer can play video using any number of output elements. Some "
+#~ "possible choices are xvimagesink, ximagesink, sdlvideosink and aasink. "
+#~ "The videosink can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "A GStreamer képes videót lejátszani bármilyen számú kimeneti elem "
+#~ "használatával. Néhány lehetséges választás a következő lehet: "
+#~ "xvimagesink, ximagesink, sdlvideosink és aasink. Az videosink lehet egy "
+#~ "részleges adatcsatorna is egyetlen elem helyett."
+
+#~ msgid "description for default GStreamer videosink"
+#~ msgstr "az alapértelmezett GStreamer videosink leírása"
+
+#~ msgid "Describes the selected videosink element."
+#~ msgstr "Leírja a kiválasztott videosink elemet."
+
+#~ msgid "default GStreamer audiosrc"
+#~ msgstr "alapértelmezett GStreamer audiosrc"
+
+#~ msgid ""
+#~ "GStreamer can record audio using any number of input elements. Some "
+#~ "possible choices are osssrc, pulsesrc and alsasrc. The audio source can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "A GStreamer képes hangot felvenni bármilyen számú bemeneti elem "
+#~ "használatával. Néhány lehetséges választás a következő lehet: osssrc, "
+#~ "pulsesrc és alsasrc. A hangforrás lehet egy részleges adatcsatorna is "
+#~ "egyetlen elem helyett."
+
+#~ msgid "description for default GStreamer audiosrc"
+#~ msgstr "az alapértelmezett GStreamer audiosrc leírása"
+
+#~ msgid "Describes the selected audiosrc element."
+#~ msgstr "Leírja a kiválasztott audiosrc elemet."
+
+#~ msgid "default GStreamer videosrc"
+#~ msgstr "alapértelmezett GStreamer videosrc"
+
+#~ msgid ""
+#~ "GStreamer can record video from any number of input elements. Some "
+#~ "possible choices are v4lsrc, v4l2src and videotestsrc. The video source "
+#~ "can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "A GStreamer képes videót felvenni bármilyen számú bemeneti elem "
+#~ "használatával. Néhány lehetséges választás a következő lehet: v4lsrc, "
+#~ "v4l2src és videotestsrc. A videoforrás lehet egy részleges adatcsatorna "
+#~ "is egyetlen elem helyett."
+
+#~ msgid "description for default GStreamer videosrc"
+#~ msgstr "az alapértelmezett GStreamer videosrc leírása"
+
+#~ msgid "Describes the selected videosrc element."
+#~ msgstr "Leírja a kiválasztott videosrc elemet."
+
+#~ msgid "default GStreamer visualization"
+#~ msgstr "alapértelmezett GStreamer képi megjelenítés"
+
+#~ msgid ""
+#~ "GStreamer can put visualization plugins in a pipeline to transform audio "
+#~ "streams in video frames. Some possible choices are goom, goom2k1 and "
+#~ "synaesthesia. The visualization plugin can be a partial pipeline instead "
+#~ "of just one element."
+#~ msgstr ""
+#~ "A GStreamer képes képi megjelenítő bővítményeket elhelyezni egy "
+#~ "adatcsatornába a videoképkockákban lévő hangfolyamok átalakításához. "
+#~ "Néhány lehetséges választás a következő lehet: goom, goom2k1 és "
+#~ "synaesthesia. A képi megjelenítő bővítmény lehet egy részleges "
+#~ "adatcsatorna is egyetlen elem helyett."
+
+#~ msgid "description for default GStreamer visualization"
+#~ msgstr "az alapértelmezett GStreamer képi megjelenítés leírása"
+
+#~ msgid "Describes the selected visualization element."
+#~ msgstr "Leírja a kiválasztott képi megjelenítés elemet."
+
#~ msgid "Couldn't get the Manifest's URI"
#~ msgstr "Nem kérhető le a Manifest URL-e"
diff --git a/po/id.gmo b/po/id.gmo
index bb3fbc1..7ec8ad1 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index 6c99ddb..572663e 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -20,95 +20,6 @@
msgid "format wasn't negotiated before get function"
msgstr ""
-msgid "default GStreamer sound events audiosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-
-msgid "Describes the selected audiosink element."
-msgstr ""
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "default GStreamer videosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosink"
-msgstr ""
-
-msgid "Describes the selected videosink element."
-msgstr ""
-
-msgid "default GStreamer audiosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer audiosrc"
-msgstr ""
-
-msgid "Describes the selected audiosrc element."
-msgstr ""
-
-msgid "default GStreamer videosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosrc"
-msgstr ""
-
-msgid "Describes the selected videosrc element."
-msgstr ""
-
-msgid "default GStreamer visualization"
-msgstr ""
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-
-msgid "description for default GStreamer visualization"
-msgstr ""
-
-msgid "Describes the selected visualization element."
-msgstr ""
-
msgid "OpenCV failed to load template image"
msgstr ""
diff --git a/po/it.gmo b/po/it.gmo
index 9530649..5ce94da 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index 8e0efd2..b94c6ab 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -19,95 +19,6 @@
msgid "format wasn't negotiated before get function"
msgstr ""
-msgid "default GStreamer sound events audiosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-
-msgid "Describes the selected audiosink element."
-msgstr ""
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "default GStreamer videosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosink"
-msgstr ""
-
-msgid "Describes the selected videosink element."
-msgstr ""
-
-msgid "default GStreamer audiosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer audiosrc"
-msgstr ""
-
-msgid "Describes the selected audiosrc element."
-msgstr ""
-
-msgid "default GStreamer videosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosrc"
-msgstr ""
-
-msgid "Describes the selected videosrc element."
-msgstr ""
-
-msgid "default GStreamer visualization"
-msgstr ""
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-
-msgid "description for default GStreamer visualization"
-msgstr ""
-
-msgid "Describes the selected visualization element."
-msgstr ""
-
msgid "OpenCV failed to load template image"
msgstr ""
diff --git a/po/ja.gmo b/po/ja.gmo
index 7bec83b..57b83e3 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index 8eb9643..96b4de5 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -20,95 +20,6 @@
msgid "format wasn't negotiated before get function"
msgstr ""
-msgid "default GStreamer sound events audiosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-
-msgid "Describes the selected audiosink element."
-msgstr ""
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "default GStreamer videosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosink"
-msgstr ""
-
-msgid "Describes the selected videosink element."
-msgstr ""
-
-msgid "default GStreamer audiosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer audiosrc"
-msgstr ""
-
-msgid "Describes the selected audiosrc element."
-msgstr ""
-
-msgid "default GStreamer videosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosrc"
-msgstr ""
-
-msgid "Describes the selected videosrc element."
-msgstr ""
-
-msgid "default GStreamer visualization"
-msgstr ""
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-
-msgid "description for default GStreamer visualization"
-msgstr ""
-
-msgid "Describes the selected visualization element."
-msgstr ""
-
msgid "OpenCV failed to load template image"
msgstr ""
diff --git a/po/ky.gmo b/po/ky.gmo
index 26103e3..a658378 100644
--- a/po/ky.gmo
+++ b/po/ky.gmo
Binary files differ
diff --git a/po/ky.po b/po/ky.po
index 980cec0..c415a6e 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -20,95 +20,6 @@
msgid "format wasn't negotiated before get function"
msgstr ""
-msgid "default GStreamer sound events audiosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-
-msgid "Describes the selected audiosink element."
-msgstr ""
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "default GStreamer videosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosink"
-msgstr ""
-
-msgid "Describes the selected videosink element."
-msgstr ""
-
-msgid "default GStreamer audiosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer audiosrc"
-msgstr ""
-
-msgid "Describes the selected audiosrc element."
-msgstr ""
-
-msgid "default GStreamer videosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosrc"
-msgstr ""
-
-msgid "Describes the selected videosrc element."
-msgstr ""
-
-msgid "default GStreamer visualization"
-msgstr ""
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-
-msgid "description for default GStreamer visualization"
-msgstr ""
-
-msgid "Describes the selected visualization element."
-msgstr ""
-
msgid "OpenCV failed to load template image"
msgstr ""
diff --git a/po/lt.gmo b/po/lt.gmo
index ac49d8d..3fc5ba1 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index c745c81..6d02a85 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -21,95 +21,6 @@
msgid "format wasn't negotiated before get function"
msgstr ""
-msgid "default GStreamer sound events audiosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-
-msgid "Describes the selected audiosink element."
-msgstr ""
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "default GStreamer videosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosink"
-msgstr ""
-
-msgid "Describes the selected videosink element."
-msgstr ""
-
-msgid "default GStreamer audiosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer audiosrc"
-msgstr ""
-
-msgid "Describes the selected audiosrc element."
-msgstr ""
-
-msgid "default GStreamer videosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosrc"
-msgstr ""
-
-msgid "Describes the selected videosrc element."
-msgstr ""
-
-msgid "default GStreamer visualization"
-msgstr ""
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-
-msgid "description for default GStreamer visualization"
-msgstr ""
-
-msgid "Describes the selected visualization element."
-msgstr ""
-
msgid "OpenCV failed to load template image"
msgstr ""
diff --git a/po/lv.gmo b/po/lv.gmo
index a1c82eb..3220b06 100644
--- a/po/lv.gmo
+++ b/po/lv.gmo
Binary files differ
diff --git a/po/lv.po b/po/lv.po
index d84f5df..7b7795a 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -25,95 +25,6 @@
msgid "format wasn't negotiated before get function"
msgstr ""
-msgid "default GStreamer sound events audiosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-
-msgid "Describes the selected audiosink element."
-msgstr ""
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "default GStreamer videosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosink"
-msgstr ""
-
-msgid "Describes the selected videosink element."
-msgstr ""
-
-msgid "default GStreamer audiosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer audiosrc"
-msgstr ""
-
-msgid "Describes the selected audiosrc element."
-msgstr ""
-
-msgid "default GStreamer videosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosrc"
-msgstr ""
-
-msgid "Describes the selected videosrc element."
-msgstr ""
-
-msgid "default GStreamer visualization"
-msgstr ""
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-
-msgid "description for default GStreamer visualization"
-msgstr ""
-
-msgid "Describes the selected visualization element."
-msgstr ""
-
msgid "OpenCV failed to load template image"
msgstr ""
diff --git a/po/mt.gmo b/po/mt.gmo
index 9b1b4b1..431942e 100644
--- a/po/mt.gmo
+++ b/po/mt.gmo
Binary files differ
diff --git a/po/mt.po b/po/mt.po
index 963e919..1a00f39 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -21,95 +21,6 @@
msgid "format wasn't negotiated before get function"
msgstr ""
-msgid "default GStreamer sound events audiosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-
-msgid "Describes the selected audiosink element."
-msgstr ""
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "default GStreamer videosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosink"
-msgstr ""
-
-msgid "Describes the selected videosink element."
-msgstr ""
-
-msgid "default GStreamer audiosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer audiosrc"
-msgstr ""
-
-msgid "Describes the selected audiosrc element."
-msgstr ""
-
-msgid "default GStreamer videosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosrc"
-msgstr ""
-
-msgid "Describes the selected videosrc element."
-msgstr ""
-
-msgid "default GStreamer visualization"
-msgstr ""
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-
-msgid "description for default GStreamer visualization"
-msgstr ""
-
-msgid "Describes the selected visualization element."
-msgstr ""
-
msgid "OpenCV failed to load template image"
msgstr ""
diff --git a/po/nb.gmo b/po/nb.gmo
index 8fe2d8d..57476b7 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index 34fcae3..60d87ed 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -21,111 +21,6 @@
msgid "format wasn't negotiated before get function"
msgstr "formatet ble ikke forhandlet før get-funksjon"
-msgid "default GStreamer sound events audiosink"
-msgstr "standard GStreamer lydhendelser-audiosink"
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"GStreamer kan spille av lyd ved hjelp av en rekke utgangselementer. Noen "
-"mulige valg er osssink, pulsesink og alsasink. Audiosinken kan være en "
-"delvis kommandokø i stedet for bare ett element."
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr "beskrivelse for standard GStreamer lydhendelser-audiosink"
-
-msgid "Describes the selected audiosink element."
-msgstr "beskriver standard audiosinkelement."
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr "Standard GStreamer-audiosink for Lyd/Video-konferanser"
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr "beskrivelse for standard GStreamer-audiosink for musikk og filmer"
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr "standard GStreamer-audiosink for musikk og filmer"
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr "beskrivelse for standard GStreamer-audiosink for musikk og filmer"
-
-msgid "default GStreamer videosink"
-msgstr "standard GStreamer-videosink"
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-"GStreamer kan spille video ved hjelp av en rekke utgangselementer. Noen "
-"mulige valg er xvimagesink, ximagesink, sdlvideosink og aasink. Videosinken "
-"kan være en delvis kommandokø i stedet for bare ett element."
-
-msgid "description for default GStreamer videosink"
-msgstr "beskrivelse for standard GStreamer-videosink"
-
-msgid "Describes the selected videosink element."
-msgstr "Beskriver det valgte videosink-element."
-
-msgid "default GStreamer audiosrc"
-msgstr "standard GStreamer-audiosrc"
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"GStreamer kan ta opp lyd ved hjelp av en rekke dataobjekter. Noen mulige "
-"valg er osssrc, pulsesrc og alsasrc. Lydkilden kan være en delvis kommandokø "
-"i stedet for bare ett element."
-
-msgid "description for default GStreamer audiosrc"
-msgstr "beskrivelse for standard GStreamer-audiosrc"
-
-msgid "Describes the selected audiosrc element."
-msgstr "Beskriver det valgte audiosrc-elementet"
-
-msgid "default GStreamer videosrc"
-msgstr "standard GStreamer-videosrc"
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-"GStreamer kan ta opp video fra en rekke dataobjekter. Noen mulige valg er "
-"v4lsrc, v4l2src og videotestsrc. Videokilden kan være en delvis kommandokø i "
-"stedet for bare ett element."
-
-msgid "description for default GStreamer videosrc"
-msgstr "beskrivelse for standard GStreamer-videosrc"
-
-msgid "Describes the selected videosrc element."
-msgstr "Beskriver det valgte videosrc-elementet"
-
-msgid "default GStreamer visualization"
-msgstr "standard GStreamer-visualisering"
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-"GStreamer kan sette visualiseringsplugins i en rørledning til å forvandle "
-"lydstrømmer i videobilder. Noen mulige valg er goom, goom2k1 og "
-"synaesthesia. Visualiseringsplugin kan være en delvis kommandokø i stedet "
-"for bare ett element."
-
-msgid "description for default GStreamer visualization"
-msgstr "beskrivelse for standard GStreamer-visualisering"
-
-msgid "Describes the selected visualization element."
-msgstr "Beskriver valgt visualiseringselement."
-
msgid "OpenCV failed to load template image"
msgstr "OpenCV kunne ikke laste mal-bilde"
@@ -241,6 +136,111 @@
msgid "Couldn't find details for DVB channel %s"
msgstr "Kunne ikke finne detaljer for DVB-kanal %s"
+#~ msgid "default GStreamer sound events audiosink"
+#~ msgstr "standard GStreamer lydhendelser-audiosink"
+
+#~ msgid ""
+#~ "GStreamer can play audio using any number of output elements. Some "
+#~ "possible choices are osssink, pulsesink and alsasink. The audiosink can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer kan spille av lyd ved hjelp av en rekke utgangselementer. Noen "
+#~ "mulige valg er osssink, pulsesink og alsasink. Audiosinken kan være en "
+#~ "delvis kommandokø i stedet for bare ett element."
+
+#~ msgid "description for default GStreamer sound events audiosink"
+#~ msgstr "beskrivelse for standard GStreamer lydhendelser-audiosink"
+
+#~ msgid "Describes the selected audiosink element."
+#~ msgstr "beskriver standard audiosinkelement."
+
+#~ msgid "default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr "Standard GStreamer-audiosink for Lyd/Video-konferanser"
+
+#~ msgid ""
+#~ "description for default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr "beskrivelse for standard GStreamer-audiosink for musikk og filmer"
+
+#~ msgid "default GStreamer audiosink for Music and Movies"
+#~ msgstr "standard GStreamer-audiosink for musikk og filmer"
+
+#~ msgid "description for default GStreamer audiosink for Music and Movies"
+#~ msgstr "beskrivelse for standard GStreamer-audiosink for musikk og filmer"
+
+#~ msgid "default GStreamer videosink"
+#~ msgstr "standard GStreamer-videosink"
+
+#~ msgid ""
+#~ "GStreamer can play video using any number of output elements. Some "
+#~ "possible choices are xvimagesink, ximagesink, sdlvideosink and aasink. "
+#~ "The videosink can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer kan spille video ved hjelp av en rekke utgangselementer. Noen "
+#~ "mulige valg er xvimagesink, ximagesink, sdlvideosink og aasink. "
+#~ "Videosinken kan være en delvis kommandokø i stedet for bare ett element."
+
+#~ msgid "description for default GStreamer videosink"
+#~ msgstr "beskrivelse for standard GStreamer-videosink"
+
+#~ msgid "Describes the selected videosink element."
+#~ msgstr "Beskriver det valgte videosink-element."
+
+#~ msgid "default GStreamer audiosrc"
+#~ msgstr "standard GStreamer-audiosrc"
+
+#~ msgid ""
+#~ "GStreamer can record audio using any number of input elements. Some "
+#~ "possible choices are osssrc, pulsesrc and alsasrc. The audio source can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer kan ta opp lyd ved hjelp av en rekke dataobjekter. Noen mulige "
+#~ "valg er osssrc, pulsesrc og alsasrc. Lydkilden kan være en delvis "
+#~ "kommandokø i stedet for bare ett element."
+
+#~ msgid "description for default GStreamer audiosrc"
+#~ msgstr "beskrivelse for standard GStreamer-audiosrc"
+
+#~ msgid "Describes the selected audiosrc element."
+#~ msgstr "Beskriver det valgte audiosrc-elementet"
+
+#~ msgid "default GStreamer videosrc"
+#~ msgstr "standard GStreamer-videosrc"
+
+#~ msgid ""
+#~ "GStreamer can record video from any number of input elements. Some "
+#~ "possible choices are v4lsrc, v4l2src and videotestsrc. The video source "
+#~ "can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer kan ta opp video fra en rekke dataobjekter. Noen mulige valg er "
+#~ "v4lsrc, v4l2src og videotestsrc. Videokilden kan være en delvis "
+#~ "kommandokø i stedet for bare ett element."
+
+#~ msgid "description for default GStreamer videosrc"
+#~ msgstr "beskrivelse for standard GStreamer-videosrc"
+
+#~ msgid "Describes the selected videosrc element."
+#~ msgstr "Beskriver det valgte videosrc-elementet"
+
+#~ msgid "default GStreamer visualization"
+#~ msgstr "standard GStreamer-visualisering"
+
+#~ msgid ""
+#~ "GStreamer can put visualization plugins in a pipeline to transform audio "
+#~ "streams in video frames. Some possible choices are goom, goom2k1 and "
+#~ "synaesthesia. The visualization plugin can be a partial pipeline instead "
+#~ "of just one element."
+#~ msgstr ""
+#~ "GStreamer kan sette visualiseringsplugins i en rørledning til å forvandle "
+#~ "lydstrømmer i videobilder. Noen mulige valg er goom, goom2k1 og "
+#~ "synaesthesia. Visualiseringsplugin kan være en delvis kommandokø i stedet "
+#~ "for bare ett element."
+
+#~ msgid "description for default GStreamer visualization"
+#~ msgstr "beskrivelse for standard GStreamer-visualisering"
+
+#~ msgid "Describes the selected visualization element."
+#~ msgstr "Beskriver valgt visualiseringselement."
+
#~ msgid "Couldn't get the Manifest's URI"
#~ msgstr "Kunne ikke hente Manifest-nettadressen."
diff --git a/po/nl.gmo b/po/nl.gmo
index 1819eb4..0791235 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 3542833..0e6d120 100644
--- a/po/nl.po
+++ b/po/nl.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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\n"
"PO-Revision-Date: 2015-10-17 12:35+0200\n"
"Last-Translator: Freek de Kruijf <f.de.kruijf@gmail.com>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
@@ -21,113 +21,6 @@
msgid "format wasn't negotiated before get function"
msgstr "formaat is niet onderhandeld vóór get-functie"
-msgid "default GStreamer sound events audiosink"
-msgstr "standaard GStreamer audiosink voor geluidsgebeurtenissen"
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"GStreamer kan geluid afspelen met elk aantal uitvoerelementen. Enige "
-"mogelijke keuzes zijn osssink, pulsesink en alsasink. De audiosink kan een "
-"gedeeltelijke pipeline zijn in plaats van gewoon één element."
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-"beschrijving van standaard GStreamer audiosink voor geluidsgebeurtenissen"
-
-msgid "Describes the selected audiosink element."
-msgstr "Beschrijft het geselecteerde audiosink-element."
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr "standaard GStreamer audiosink voor audio/videoconferenties"
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-"beschrijving van standaard GStreamer audiosink voor audio/videoconferenties"
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr "standaard GStreamer audiosink voor muziek en film"
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr "beschrijving van standaard GStreamer audiosink voor muziek en film"
-
-msgid "default GStreamer videosink"
-msgstr "standaard GStreamer videosink"
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-"GStreamer kan video afspelen met elk aantal uitvoerelementen Enige mogelijke "
-"keuzes zijn xvimagesink, ximagesink, sdlvideosink en aasink. De videosink "
-"kan een gedeeltelijke pipeline zijn in plaats van gewoon één element."
-
-msgid "description for default GStreamer videosink"
-msgstr "beschrijving van standaard GStreamer videosink"
-
-msgid "Describes the selected videosink element."
-msgstr "Beschrijft het geselecteerde videosink-element."
-
-msgid "default GStreamer audiosrc"
-msgstr "standaard GStreamer audiobron"
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"GStreamer kan geluid opnemen met elk aantal invoerelementen. Enige mogelijke "
-"keuzes zijn osssrc, pulsesrc en alsasrc. De audiobron kan een gedeeltelijke "
-"pipeline zijn in plaats van gewoon één element."
-
-msgid "description for default GStreamer audiosrc"
-msgstr "beschrijving van standaard GStreamer audiobron"
-
-msgid "Describes the selected audiosrc element."
-msgstr "Beschrijft het geselecteerde audiobron-element."
-
-msgid "default GStreamer videosrc"
-msgstr "standaard GStreamer videobron"
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-"GStreamer kan video opnemen met elk aantal invoerelementen. Enige mogelijke "
-"keuzes zijn v4lsrc, v4l2src en videotestsrc. De videobron kan een "
-"gedeeltelijke pipeline zijn in plaats van gewoon één element."
-
-msgid "description for default GStreamer videosrc"
-msgstr "beschrijving van standaard GStreamer videobron"
-
-msgid "Describes the selected videosrc element."
-msgstr "Beschrijft het geselecteerde videobron-element."
-
-msgid "default GStreamer visualization"
-msgstr "standaard GStreamer visualisatie"
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-"GStreamer kan visualisatieplug-ins in een pipeline stoppen om audiostreams "
-"te transformeren in videoframes. Enige mogelijke keuzes zijn goom, goom2k1 "
-"en synaesthesia. De visualisatieplug-in kan een gedeeltelijke pipeline zijn "
-"in plaats van gewoon één element."
-
-msgid "description for default GStreamer visualization"
-msgstr "beschrijving van standaard GStreamer visualisatie"
-
-msgid "Describes the selected visualization element."
-msgstr "Beschrijft het geselecteerde visualisatie-element."
-
msgid "OpenCV failed to load template image"
msgstr "OpenCV kon sjabloonafbeelding niet laden"
@@ -248,6 +141,115 @@
msgid "Couldn't find details for DVB channel %s"
msgstr "Kon de details voor het DVB-kanaal %s niet vinden"
+#~ msgid "default GStreamer sound events audiosink"
+#~ msgstr "standaard GStreamer audiosink voor geluidsgebeurtenissen"
+
+#~ msgid ""
+#~ "GStreamer can play audio using any number of output elements. Some "
+#~ "possible choices are osssink, pulsesink and alsasink. The audiosink can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer kan geluid afspelen met elk aantal uitvoerelementen. Enige "
+#~ "mogelijke keuzes zijn osssink, pulsesink en alsasink. De audiosink kan "
+#~ "een gedeeltelijke pipeline zijn in plaats van gewoon één element."
+
+#~ msgid "description for default GStreamer sound events audiosink"
+#~ msgstr ""
+#~ "beschrijving van standaard GStreamer audiosink voor geluidsgebeurtenissen"
+
+#~ msgid "Describes the selected audiosink element."
+#~ msgstr "Beschrijft het geselecteerde audiosink-element."
+
+#~ msgid "default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr "standaard GStreamer audiosink voor audio/videoconferenties"
+
+#~ msgid ""
+#~ "description for default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr ""
+#~ "beschrijving van standaard GStreamer audiosink voor audio/"
+#~ "videoconferenties"
+
+#~ msgid "default GStreamer audiosink for Music and Movies"
+#~ msgstr "standaard GStreamer audiosink voor muziek en film"
+
+#~ msgid "description for default GStreamer audiosink for Music and Movies"
+#~ msgstr "beschrijving van standaard GStreamer audiosink voor muziek en film"
+
+#~ msgid "default GStreamer videosink"
+#~ msgstr "standaard GStreamer videosink"
+
+#~ msgid ""
+#~ "GStreamer can play video using any number of output elements. Some "
+#~ "possible choices are xvimagesink, ximagesink, sdlvideosink and aasink. "
+#~ "The videosink can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer kan video afspelen met elk aantal uitvoerelementen Enige "
+#~ "mogelijke keuzes zijn xvimagesink, ximagesink, sdlvideosink en aasink. De "
+#~ "videosink kan een gedeeltelijke pipeline zijn in plaats van gewoon één "
+#~ "element."
+
+#~ msgid "description for default GStreamer videosink"
+#~ msgstr "beschrijving van standaard GStreamer videosink"
+
+#~ msgid "Describes the selected videosink element."
+#~ msgstr "Beschrijft het geselecteerde videosink-element."
+
+#~ msgid "default GStreamer audiosrc"
+#~ msgstr "standaard GStreamer audiobron"
+
+#~ msgid ""
+#~ "GStreamer can record audio using any number of input elements. Some "
+#~ "possible choices are osssrc, pulsesrc and alsasrc. The audio source can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer kan geluid opnemen met elk aantal invoerelementen. Enige "
+#~ "mogelijke keuzes zijn osssrc, pulsesrc en alsasrc. De audiobron kan een "
+#~ "gedeeltelijke pipeline zijn in plaats van gewoon één element."
+
+#~ msgid "description for default GStreamer audiosrc"
+#~ msgstr "beschrijving van standaard GStreamer audiobron"
+
+#~ msgid "Describes the selected audiosrc element."
+#~ msgstr "Beschrijft het geselecteerde audiobron-element."
+
+#~ msgid "default GStreamer videosrc"
+#~ msgstr "standaard GStreamer videobron"
+
+#~ msgid ""
+#~ "GStreamer can record video from any number of input elements. Some "
+#~ "possible choices are v4lsrc, v4l2src and videotestsrc. The video source "
+#~ "can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer kan video opnemen met elk aantal invoerelementen. Enige "
+#~ "mogelijke keuzes zijn v4lsrc, v4l2src en videotestsrc. De videobron kan "
+#~ "een gedeeltelijke pipeline zijn in plaats van gewoon één element."
+
+#~ msgid "description for default GStreamer videosrc"
+#~ msgstr "beschrijving van standaard GStreamer videobron"
+
+#~ msgid "Describes the selected videosrc element."
+#~ msgstr "Beschrijft het geselecteerde videobron-element."
+
+#~ msgid "default GStreamer visualization"
+#~ msgstr "standaard GStreamer visualisatie"
+
+#~ msgid ""
+#~ "GStreamer can put visualization plugins in a pipeline to transform audio "
+#~ "streams in video frames. Some possible choices are goom, goom2k1 and "
+#~ "synaesthesia. The visualization plugin can be a partial pipeline instead "
+#~ "of just one element."
+#~ msgstr ""
+#~ "GStreamer kan visualisatieplug-ins in een pipeline stoppen om "
+#~ "audiostreams te transformeren in videoframes. Enige mogelijke keuzes zijn "
+#~ "goom, goom2k1 en synaesthesia. De visualisatieplug-in kan een "
+#~ "gedeeltelijke pipeline zijn in plaats van gewoon één element."
+
+#~ msgid "description for default GStreamer visualization"
+#~ msgstr "beschrijving van standaard GStreamer visualisatie"
+
+#~ msgid "Describes the selected visualization element."
+#~ msgstr "Beschrijft het geselecteerde visualisatie-element."
+
#~ msgid "Couldn't get the Manifest's URI"
#~ msgstr "De URI van het manifest verkrijgen lukt niet"
diff --git a/po/or.gmo b/po/or.gmo
index 462c25a..faa4725 100644
--- a/po/or.gmo
+++ b/po/or.gmo
Binary files differ
diff --git a/po/or.po b/po/or.po
index 57025b6..91c6f6d 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -20,95 +20,6 @@
msgid "format wasn't negotiated before get function"
msgstr ""
-msgid "default GStreamer sound events audiosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-
-msgid "Describes the selected audiosink element."
-msgstr ""
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "default GStreamer videosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosink"
-msgstr ""
-
-msgid "Describes the selected videosink element."
-msgstr ""
-
-msgid "default GStreamer audiosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer audiosrc"
-msgstr ""
-
-msgid "Describes the selected audiosrc element."
-msgstr ""
-
-msgid "default GStreamer videosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosrc"
-msgstr ""
-
-msgid "Describes the selected videosrc element."
-msgstr ""
-
-msgid "default GStreamer visualization"
-msgstr ""
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-
-msgid "description for default GStreamer visualization"
-msgstr ""
-
-msgid "Describes the selected visualization element."
-msgstr ""
-
msgid "OpenCV failed to load template image"
msgstr ""
diff --git a/po/pl.gmo b/po/pl.gmo
index 97f6848..4c6312c 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index 87f3a71..d46fdb3 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -18,117 +18,6 @@
msgid "format wasn't negotiated before get function"
msgstr "format nie został wynegocjowany przed funkcją pobrania"
-msgid "default GStreamer sound events audiosink"
-msgstr "domyślny element GStreamera pochłaniający zdarzenia dźwiękowe"
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"GStreamer może odtwarzać dźwięk przy użyciu dowolnej liczby elementów "
-"wyjściowych. Niektóre z możliwości to osssink, pulsesink oraz alsasink. "
-"Wyjście dźwięku może być częściowym potokiem zamiast pojedynczego elementu."
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-"opis domyślnego elementu GStreamera pochłaniającego zdarzenia dźwiękowe"
-
-msgid "Describes the selected audiosink element."
-msgstr "Opisuje wybrany element wyjściowy dźwięku."
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-"domyślny element GStreamera pochłaniający dźwięk dla konferencji audio/video"
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-"opis domyślnego elementu wyjściowego dźwięku GStreamera dla konferencji "
-"audio/video"
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr "domyślny element wyjściowy dźwięku GStreamera dla muzyki i filmów"
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-"opis domyślnego elementu wyjściowego dźwięku GStreamera dla muzyki i filmów"
-
-msgid "default GStreamer videosink"
-msgstr "domyślny element GStreamera pochłaniający obraz"
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-"GStreamer może odtwarzać obraz przy użyciu dowolnej liczby elementów "
-"wyjściowych. Niektóre z możliwości to xvimagesink, ximagesink, sdlvideosink "
-"oraz aasink. Wyjście obrazu może być częściowym potokiem zamiast "
-"pojedynczego elementu."
-
-msgid "description for default GStreamer videosink"
-msgstr "opis domyślnego elementu GStreamera pochłaniającego obraz"
-
-msgid "Describes the selected videosink element."
-msgstr "Opisuje wybrany element wyjściowy obrazu."
-
-msgid "default GStreamer audiosrc"
-msgstr "domyślne źródło dźwięku GStreamera"
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"GStreamer może nagrywać dźwięk z dowolnej liczby elementów wejściowych. "
-"Niektóre możliwości to osssrc, pulsesrc oraz alsasrc. Źródło dźwięku może "
-"być częściowym potokiem zamiast pojedynczego elementu."
-
-msgid "description for default GStreamer audiosrc"
-msgstr "opis domyślnego źródła dźwięku GStreamera"
-
-msgid "Describes the selected audiosrc element."
-msgstr "Opisuje wybrany element źródłowy dźwięku."
-
-msgid "default GStreamer videosrc"
-msgstr "domyślne źródło obrazu GStreamera"
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-"GStreamer może nagrywać obraz z dowolnej liczby elementów wejściowych. "
-"Niektóre możliwości to v4lsrc, v4l2src oraz videotestsrc. Źródło obrazu może "
-"być częściowym potokiem zamiast pojedynczego elementu."
-
-msgid "description for default GStreamer videosrc"
-msgstr "opis domyślnego źródła obrazu GStreamera"
-
-msgid "Describes the selected videosrc element."
-msgstr "Opisuje wybrany element źródłowy obrazu."
-
-msgid "default GStreamer visualization"
-msgstr "domyślna wizualizacja GStreamera"
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-"GStreamer może umieszczać wtyczki wizualizujące w potoku w celu "
-"przekształcania strumieni dźwiękowych na klatki obrazu. Niektóre możliwości "
-"to goom, goom2k1 oraz synaesthesia. Wtyczka wizualizująca może być "
-"częściowym potokiem zamiast pojedynczego elementu."
-
-msgid "description for default GStreamer visualization"
-msgstr "opis domyślego elementu wizualizującego GStreamera"
-
-msgid "Describes the selected visualization element."
-msgstr "Opisuje wybrany element wizualizujący."
-
msgid "OpenCV failed to load template image"
msgstr "Odczyt obrazu wzorca przez OpenCV nie powiódł się"
@@ -247,3 +136,117 @@
#, c-format
msgid "Couldn't find details for DVB channel %s"
msgstr "Nie udało się odnaleźć szczegółów dla kanału DVB %s"
+
+#~ msgid "default GStreamer sound events audiosink"
+#~ msgstr "domyślny element GStreamera pochłaniający zdarzenia dźwiękowe"
+
+#~ msgid ""
+#~ "GStreamer can play audio using any number of output elements. Some "
+#~ "possible choices are osssink, pulsesink and alsasink. The audiosink can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer może odtwarzać dźwięk przy użyciu dowolnej liczby elementów "
+#~ "wyjściowych. Niektóre z możliwości to osssink, pulsesink oraz alsasink. "
+#~ "Wyjście dźwięku może być częściowym potokiem zamiast pojedynczego "
+#~ "elementu."
+
+#~ msgid "description for default GStreamer sound events audiosink"
+#~ msgstr ""
+#~ "opis domyślnego elementu GStreamera pochłaniającego zdarzenia dźwiękowe"
+
+#~ msgid "Describes the selected audiosink element."
+#~ msgstr "Opisuje wybrany element wyjściowy dźwięku."
+
+#~ msgid "default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr ""
+#~ "domyślny element GStreamera pochłaniający dźwięk dla konferencji audio/"
+#~ "video"
+
+#~ msgid ""
+#~ "description for default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr ""
+#~ "opis domyślnego elementu wyjściowego dźwięku GStreamera dla konferencji "
+#~ "audio/video"
+
+#~ msgid "default GStreamer audiosink for Music and Movies"
+#~ msgstr "domyślny element wyjściowy dźwięku GStreamera dla muzyki i filmów"
+
+#~ msgid "description for default GStreamer audiosink for Music and Movies"
+#~ msgstr ""
+#~ "opis domyślnego elementu wyjściowego dźwięku GStreamera dla muzyki i "
+#~ "filmów"
+
+#~ msgid "default GStreamer videosink"
+#~ msgstr "domyślny element GStreamera pochłaniający obraz"
+
+#~ msgid ""
+#~ "GStreamer can play video using any number of output elements. Some "
+#~ "possible choices are xvimagesink, ximagesink, sdlvideosink and aasink. "
+#~ "The videosink can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer może odtwarzać obraz przy użyciu dowolnej liczby elementów "
+#~ "wyjściowych. Niektóre z możliwości to xvimagesink, ximagesink, "
+#~ "sdlvideosink oraz aasink. Wyjście obrazu może być częściowym potokiem "
+#~ "zamiast pojedynczego elementu."
+
+#~ msgid "description for default GStreamer videosink"
+#~ msgstr "opis domyślnego elementu GStreamera pochłaniającego obraz"
+
+#~ msgid "Describes the selected videosink element."
+#~ msgstr "Opisuje wybrany element wyjściowy obrazu."
+
+#~ msgid "default GStreamer audiosrc"
+#~ msgstr "domyślne źródło dźwięku GStreamera"
+
+#~ msgid ""
+#~ "GStreamer can record audio using any number of input elements. Some "
+#~ "possible choices are osssrc, pulsesrc and alsasrc. The audio source can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer może nagrywać dźwięk z dowolnej liczby elementów wejściowych. "
+#~ "Niektóre możliwości to osssrc, pulsesrc oraz alsasrc. Źródło dźwięku może "
+#~ "być częściowym potokiem zamiast pojedynczego elementu."
+
+#~ msgid "description for default GStreamer audiosrc"
+#~ msgstr "opis domyślnego źródła dźwięku GStreamera"
+
+#~ msgid "Describes the selected audiosrc element."
+#~ msgstr "Opisuje wybrany element źródłowy dźwięku."
+
+#~ msgid "default GStreamer videosrc"
+#~ msgstr "domyślne źródło obrazu GStreamera"
+
+#~ msgid ""
+#~ "GStreamer can record video from any number of input elements. Some "
+#~ "possible choices are v4lsrc, v4l2src and videotestsrc. The video source "
+#~ "can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer może nagrywać obraz z dowolnej liczby elementów wejściowych. "
+#~ "Niektóre możliwości to v4lsrc, v4l2src oraz videotestsrc. Źródło obrazu "
+#~ "może być częściowym potokiem zamiast pojedynczego elementu."
+
+#~ msgid "description for default GStreamer videosrc"
+#~ msgstr "opis domyślnego źródła obrazu GStreamera"
+
+#~ msgid "Describes the selected videosrc element."
+#~ msgstr "Opisuje wybrany element źródłowy obrazu."
+
+#~ msgid "default GStreamer visualization"
+#~ msgstr "domyślna wizualizacja GStreamera"
+
+#~ msgid ""
+#~ "GStreamer can put visualization plugins in a pipeline to transform audio "
+#~ "streams in video frames. Some possible choices are goom, goom2k1 and "
+#~ "synaesthesia. The visualization plugin can be a partial pipeline instead "
+#~ "of just one element."
+#~ msgstr ""
+#~ "GStreamer może umieszczać wtyczki wizualizujące w potoku w celu "
+#~ "przekształcania strumieni dźwiękowych na klatki obrazu. Niektóre "
+#~ "możliwości to goom, goom2k1 oraz synaesthesia. Wtyczka wizualizująca może "
+#~ "być częściowym potokiem zamiast pojedynczego elementu."
+
+#~ msgid "description for default GStreamer visualization"
+#~ msgstr "opis domyślego elementu wizualizującego GStreamera"
+
+#~ msgid "Describes the selected visualization element."
+#~ msgstr "Opisuje wybrany element wizualizujący."
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index 301e4c3..2b04a4f 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 a3d9a46..9e5671a 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -6,10 +6,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: gst-plugins-bad-1.4.1\n"
+"Project-Id-Version: gst-plugins-bad-1.7.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2015-12-24 13:55+0100\n"
-"PO-Revision-Date: 2015-02-01 18:24-0200\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\n"
+"PO-Revision-Date: 2015-12-28 17:03-0200\n"
"Last-Translator: Fabrício Godoy <skarllot@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
"net>\n"
@@ -22,122 +22,8 @@
msgid "format wasn't negotiated before get function"
msgstr "O formato não foi negociado antes da chamada da função"
-msgid "default GStreamer sound events audiosink"
-msgstr "audiosink do GStreamer pré-definido para eventos de som"
-
-#, fuzzy
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"O GStreamer pode reproduzir áudio utilizando qualquer quantidade de "
-"elementos de saída. Algumas das opções possíveis são osssink, pulsesink e "
-"alsasink. O audiosink pode ser uma fila de processamento parcial em vez de "
-"apenas um elemento."
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-"descrição para o audiosink do GStreamer pré-definido para eventos de som"
-
-msgid "Describes the selected audiosink element."
-msgstr "Descreve o elemento audiosink selecionado."
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr "audiosink do GStreamer pré-definido para Conferência de Áudio e Vídeo"
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-"descrição do audiosink do GStreamer pré-definido para Conferência de Áudio e "
-"Vídeo"
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr "audiosink do GStreamer pré-definido para Músicas e Filmes"
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-"descrição para o audiosink do GStreamer pré-definido para Músicas e Filmes"
-
-msgid "default GStreamer videosink"
-msgstr "videosink do GStreamer pré-definido"
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-"O GStreamer pode reproduzir vídeo utilizando qualquer quantidade de "
-"elementos de saída. Algumas das opções possíveis são xvimagesink, "
-"ximagesink, sdlvideosink e aasink. O videosink pode ser uma fila de "
-"processamento parcial em vez de apenas um elemento."
-
-msgid "description for default GStreamer videosink"
-msgstr "descrição para o videosink do GStreamer pré-definido"
-
-msgid "Describes the selected videosink element."
-msgstr "Descreve o elemento videosink selecionado."
-
-msgid "default GStreamer audiosrc"
-msgstr "audiosrc do GStreamer pré-definido"
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"O GStreamer pode gravar áudio utilizando qualquer quantidade de elementos de "
-"entrada. Algumas das opções possíveis são osssrc, pulsesrc e alsasrc. A "
-"fonte de áudio pode ser uma fila de processamento parcial em vez de apenas "
-"um elemento."
-
-msgid "description for default GStreamer audiosrc"
-msgstr "descrição para o audiosrc do GStreamer pré-definido"
-
-msgid "Describes the selected audiosrc element."
-msgstr "Descreve o elemento audiosrc selecionado."
-
-msgid "default GStreamer videosrc"
-msgstr "videosrc do GStreamer pré-definido"
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-"O GStreamer pode gravar vídeo de qualquer quantidade de elementos de "
-"entrada. Algumas das opções possíveis são v4lsrc, v4l2src e videotestsrc. A "
-"fonte de vídeo pode ser uma fila de processamento parcial em vez de apenas "
-"um elemento."
-
-msgid "description for default GStreamer videosrc"
-msgstr "descrição para o videosrc do GStreamer pré-definido"
-
-msgid "Describes the selected videosrc element."
-msgstr "Descreve o elemento videosrc selecionado."
-
-msgid "default GStreamer visualization"
-msgstr "visualização do GStreamer pré-definida"
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-"O GStreamer pode colocar plugins de visualização numa fila de processamento "
-"para transformar fluxos de áudio em quadros de vídeo. Algumas das opções "
-"possíveis são goom, goom2k1 e synaesthesia. O plugin de visualização pode "
-"ser uma fila de processamento parcial em vez de apenas um elemento."
-
-msgid "description for default GStreamer visualization"
-msgstr "descrição da visualização do GStreamer pré-definida"
-
-msgid "Describes the selected visualization element."
-msgstr "Descreve o elemento de visualização selecionado."
-
msgid "OpenCV failed to load template image"
-msgstr ""
+msgstr "O OpenCV falhou ao carregar a imagem modelo"
msgid "Could not read title information for DVD."
msgstr "Não foi possível ler as informações de título do DVD."
@@ -194,7 +80,7 @@
"A localização do arquivo está NULA, favor definir um nome de arquivo válido"
msgid "Digitalzoom element couldn't be created"
-msgstr ""
+msgstr "O elemento Digitalzoom não pôde ser criado"
msgid "Subpicture format was not configured before data flow"
msgstr "O formato de subimagem não foi configurado antes do fluxo de dados"
@@ -258,6 +144,121 @@
msgid "Couldn't find details for DVB channel %s"
msgstr "Não foi possível encontrar detalhes para o canal DVB %s"
+#~ msgid "default GStreamer sound events audiosink"
+#~ msgstr "audiosink do GStreamer pré-definido para eventos de som"
+
+#~ msgid ""
+#~ "GStreamer can play audio using any number of output elements. Some "
+#~ "possible choices are osssink, pulsesink and alsasink. The audiosink can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "O GStreamer pode reproduzir áudio utilizando qualquer quantidade de "
+#~ "elementos de saída. Algumas das opções possíveis são osssink, pulsesink e "
+#~ "alsasink. O audiosink pode ser uma fila de processamento parcial em vez "
+#~ "de apenas um elemento."
+
+#~ msgid "description for default GStreamer sound events audiosink"
+#~ msgstr ""
+#~ "descrição para o audiosink do GStreamer pré-definido para eventos de som"
+
+#~ msgid "Describes the selected audiosink element."
+#~ msgstr "Descreve o elemento audiosink selecionado."
+
+#~ msgid "default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr ""
+#~ "audiosink do GStreamer pré-definido para Conferência de Áudio e Vídeo"
+
+#~ msgid ""
+#~ "description for default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr ""
+#~ "descrição do audiosink do GStreamer pré-definido para Conferência de "
+#~ "Áudio e Vídeo"
+
+#~ msgid "default GStreamer audiosink for Music and Movies"
+#~ msgstr "audiosink do GStreamer pré-definido para Músicas e Filmes"
+
+#~ msgid "description for default GStreamer audiosink for Music and Movies"
+#~ msgstr ""
+#~ "descrição para o audiosink do GStreamer pré-definido para Músicas e Filmes"
+
+#~ msgid "default GStreamer videosink"
+#~ msgstr "videosink do GStreamer pré-definido"
+
+#~ msgid ""
+#~ "GStreamer can play video using any number of output elements. Some "
+#~ "possible choices are xvimagesink, ximagesink, sdlvideosink and aasink. "
+#~ "The videosink can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "O GStreamer pode reproduzir vídeo utilizando qualquer quantidade de "
+#~ "elementos de saída. Algumas das opções possíveis são xvimagesink, "
+#~ "ximagesink, sdlvideosink e aasink. O videosink pode ser uma fila de "
+#~ "processamento parcial em vez de apenas um elemento."
+
+#~ msgid "description for default GStreamer videosink"
+#~ msgstr "descrição para o videosink do GStreamer pré-definido"
+
+#~ msgid "Describes the selected videosink element."
+#~ msgstr "Descreve o elemento videosink selecionado."
+
+#~ msgid "default GStreamer audiosrc"
+#~ msgstr "audiosrc do GStreamer pré-definido"
+
+#~ msgid ""
+#~ "GStreamer can record audio using any number of input elements. Some "
+#~ "possible choices are osssrc, pulsesrc and alsasrc. The audio source can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "O GStreamer pode gravar áudio utilizando qualquer quantidade de elementos "
+#~ "de entrada. Algumas das opções possíveis são osssrc, pulsesrc e alsasrc. "
+#~ "A fonte de áudio pode ser uma fila de processamento parcial em vez de "
+#~ "apenas um elemento."
+
+#~ msgid "description for default GStreamer audiosrc"
+#~ msgstr "descrição para o audiosrc do GStreamer pré-definido"
+
+#~ msgid "Describes the selected audiosrc element."
+#~ msgstr "Descreve o elemento audiosrc selecionado."
+
+#~ msgid "default GStreamer videosrc"
+#~ msgstr "videosrc do GStreamer pré-definido"
+
+#~ msgid ""
+#~ "GStreamer can record video from any number of input elements. Some "
+#~ "possible choices are v4lsrc, v4l2src and videotestsrc. The video source "
+#~ "can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "O GStreamer pode gravar vídeo de qualquer quantidade de elementos de "
+#~ "entrada. Algumas das opções possíveis são v4lsrc, v4l2src e videotestsrc. "
+#~ "A fonte de vídeo pode ser uma fila de processamento parcial em vez de "
+#~ "apenas um elemento."
+
+#~ msgid "description for default GStreamer videosrc"
+#~ msgstr "descrição para o videosrc do GStreamer pré-definido"
+
+#~ msgid "Describes the selected videosrc element."
+#~ msgstr "Descreve o elemento videosrc selecionado."
+
+#~ msgid "default GStreamer visualization"
+#~ msgstr "visualização do GStreamer pré-definida"
+
+#~ msgid ""
+#~ "GStreamer can put visualization plugins in a pipeline to transform audio "
+#~ "streams in video frames. Some possible choices are goom, goom2k1 and "
+#~ "synaesthesia. The visualization plugin can be a partial pipeline instead "
+#~ "of just one element."
+#~ msgstr ""
+#~ "O GStreamer pode colocar plugins de visualização numa fila de "
+#~ "processamento para transformar fluxos de áudio em quadros de vídeo. "
+#~ "Algumas das opções possíveis são goom, goom2k1 e synaesthesia. O plugin "
+#~ "de visualização pode ser uma fila de processamento parcial em vez de "
+#~ "apenas um elemento."
+
+#~ msgid "description for default GStreamer visualization"
+#~ msgstr "descrição da visualização do GStreamer pré-definida"
+
+#~ msgid "Describes the selected visualization element."
+#~ msgstr "Descreve o elemento de visualização selecionado."
+
#~ msgid "Couldn't get the Manifest's URI"
#~ msgstr "Não foi possível obter a URI do manifesto"
diff --git a/po/ro.gmo b/po/ro.gmo
index 6e65672..5d8a0b7 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index d415301..7195b80 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -20,95 +20,6 @@
msgid "format wasn't negotiated before get function"
msgstr ""
-msgid "default GStreamer sound events audiosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-
-msgid "Describes the selected audiosink element."
-msgstr ""
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "default GStreamer videosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosink"
-msgstr ""
-
-msgid "Describes the selected videosink element."
-msgstr ""
-
-msgid "default GStreamer audiosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer audiosrc"
-msgstr ""
-
-msgid "Describes the selected audiosrc element."
-msgstr ""
-
-msgid "default GStreamer videosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosrc"
-msgstr ""
-
-msgid "Describes the selected videosrc element."
-msgstr ""
-
-msgid "default GStreamer visualization"
-msgstr ""
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-
-msgid "description for default GStreamer visualization"
-msgstr ""
-
-msgid "Describes the selected visualization element."
-msgstr ""
-
msgid "OpenCV failed to load template image"
msgstr ""
diff --git a/po/ru.gmo b/po/ru.gmo
index 0e19c79..3bc83b7 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index d77accc..ce3683a 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -23,110 +23,6 @@
msgid "format wasn't negotiated before get function"
msgstr "перед функцией получения не был согласован формат"
-msgid "default GStreamer sound events audiosink"
-msgstr "GStreamer audiosink по умолчанию для звуковых событий"
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"GStreamer может воспроизводить аудио через любое количество выходных "
-"элементов. Некоторые варианты: osssink, pulsesink и alsasink. Audiosink "
-"может быть конвейером, а не одиночным элементом."
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr "описание GStreamer audiosink по умолчанию для звуковых событий"
-
-msgid "Describes the selected audiosink element."
-msgstr "Описывает выбранный элемент audiosink."
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr "GStreamer audiosink по умолчанию для аудио-видео конференций"
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr "описание GStreamer audiosink по умолчанию для аудио-видео конференций"
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr "GStreamer audiosink по умолчанию для музыки и фильмов"
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr "описание GStreamer audiosink по умолчанию для музыки и фильмов"
-
-msgid "default GStreamer videosink"
-msgstr "GStreamer videosink по умолчанию"
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-"GStreamer может воспроизводить видео через любой выходной элемент. Некоторые "
-"варианты: xvimagesink, ximagesink, sdlvideosink и aasink. Videosink может "
-"быть конвейером, а не одиночным элементом."
-
-msgid "description for default GStreamer videosink"
-msgstr "описание GStreamer videosink по умолчанию"
-
-msgid "Describes the selected videosink element."
-msgstr "Описывает выбранный элемент videosink."
-
-msgid "default GStreamer audiosrc"
-msgstr "GStreamer audiosrc по умолчанию"
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"GStreamer может записывать аудио с любого входного элемента. Некоторые "
-"варианты: osssrc, pulsesrc и alsasrc. Источником аудио может быть конвейер, "
-"а не одиночный элемент."
-
-msgid "description for default GStreamer audiosrc"
-msgstr "описание GStreamer audiosrc по умолчанию"
-
-msgid "Describes the selected audiosrc element."
-msgstr "Описывает выбранный элемент audiosrc."
-
-msgid "default GStreamer videosrc"
-msgstr "GStreamer videosrc по умолчанию"
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-"GStreamer может записывать видео с любого входного элемента. Некоторые "
-"варианты: v4lsrc, v4l2src и videotestsrc. Источником видео может быть "
-"конвейер, а не одиночный элемент."
-
-msgid "description for default GStreamer videosrc"
-msgstr "описание GStreamer videosrc по умолчанию"
-
-msgid "Describes the selected videosrc element."
-msgstr "Описывает выбранный элемент videosrc."
-
-msgid "default GStreamer visualization"
-msgstr "GStreamer visualization по умолчанию"
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-"GStreamer может помещать модули визуализации для преобразования аудио "
-"потоков видео фрагментов. Некоторые варианты: goom, goom2k1 и synaesthesia. "
-"Модуль визуализации может быть конвейером, а не одиночным элементом."
-
-msgid "description for default GStreamer visualization"
-msgstr "описание GStreamer visualization по умолчанию"
-
-msgid "Describes the selected visualization element."
-msgstr "Описывает выбранный элемент visualization."
-
msgid "OpenCV failed to load template image"
msgstr "Ошибка OpenCV при загрузке шаблона изображения"
@@ -245,6 +141,112 @@
msgid "Couldn't find details for DVB channel %s"
msgstr "Не удалось найти настройки DVB-канала %s"
+#~ msgid "default GStreamer sound events audiosink"
+#~ msgstr "GStreamer audiosink по умолчанию для звуковых событий"
+
+#~ msgid ""
+#~ "GStreamer can play audio using any number of output elements. Some "
+#~ "possible choices are osssink, pulsesink and alsasink. The audiosink can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer может воспроизводить аудио через любое количество выходных "
+#~ "элементов. Некоторые варианты: osssink, pulsesink и alsasink. Audiosink "
+#~ "может быть конвейером, а не одиночным элементом."
+
+#~ msgid "description for default GStreamer sound events audiosink"
+#~ msgstr "описание GStreamer audiosink по умолчанию для звуковых событий"
+
+#~ msgid "Describes the selected audiosink element."
+#~ msgstr "Описывает выбранный элемент audiosink."
+
+#~ msgid "default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr "GStreamer audiosink по умолчанию для аудио-видео конференций"
+
+#~ msgid ""
+#~ "description for default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr ""
+#~ "описание GStreamer audiosink по умолчанию для аудио-видео конференций"
+
+#~ msgid "default GStreamer audiosink for Music and Movies"
+#~ msgstr "GStreamer audiosink по умолчанию для музыки и фильмов"
+
+#~ msgid "description for default GStreamer audiosink for Music and Movies"
+#~ msgstr "описание GStreamer audiosink по умолчанию для музыки и фильмов"
+
+#~ msgid "default GStreamer videosink"
+#~ msgstr "GStreamer videosink по умолчанию"
+
+#~ msgid ""
+#~ "GStreamer can play video using any number of output elements. Some "
+#~ "possible choices are xvimagesink, ximagesink, sdlvideosink and aasink. "
+#~ "The videosink can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer может воспроизводить видео через любой выходной элемент. "
+#~ "Некоторые варианты: xvimagesink, ximagesink, sdlvideosink и aasink. "
+#~ "Videosink может быть конвейером, а не одиночным элементом."
+
+#~ msgid "description for default GStreamer videosink"
+#~ msgstr "описание GStreamer videosink по умолчанию"
+
+#~ msgid "Describes the selected videosink element."
+#~ msgstr "Описывает выбранный элемент videosink."
+
+#~ msgid "default GStreamer audiosrc"
+#~ msgstr "GStreamer audiosrc по умолчанию"
+
+#~ msgid ""
+#~ "GStreamer can record audio using any number of input elements. Some "
+#~ "possible choices are osssrc, pulsesrc and alsasrc. The audio source can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer может записывать аудио с любого входного элемента. Некоторые "
+#~ "варианты: osssrc, pulsesrc и alsasrc. Источником аудио может быть "
+#~ "конвейер, а не одиночный элемент."
+
+#~ msgid "description for default GStreamer audiosrc"
+#~ msgstr "описание GStreamer audiosrc по умолчанию"
+
+#~ msgid "Describes the selected audiosrc element."
+#~ msgstr "Описывает выбранный элемент audiosrc."
+
+#~ msgid "default GStreamer videosrc"
+#~ msgstr "GStreamer videosrc по умолчанию"
+
+#~ msgid ""
+#~ "GStreamer can record video from any number of input elements. Some "
+#~ "possible choices are v4lsrc, v4l2src and videotestsrc. The video source "
+#~ "can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer может записывать видео с любого входного элемента. Некоторые "
+#~ "варианты: v4lsrc, v4l2src и videotestsrc. Источником видео может быть "
+#~ "конвейер, а не одиночный элемент."
+
+#~ msgid "description for default GStreamer videosrc"
+#~ msgstr "описание GStreamer videosrc по умолчанию"
+
+#~ msgid "Describes the selected videosrc element."
+#~ msgstr "Описывает выбранный элемент videosrc."
+
+#~ msgid "default GStreamer visualization"
+#~ msgstr "GStreamer visualization по умолчанию"
+
+#~ msgid ""
+#~ "GStreamer can put visualization plugins in a pipeline to transform audio "
+#~ "streams in video frames. Some possible choices are goom, goom2k1 and "
+#~ "synaesthesia. The visualization plugin can be a partial pipeline instead "
+#~ "of just one element."
+#~ msgstr ""
+#~ "GStreamer может помещать модули визуализации для преобразования аудио "
+#~ "потоков видео фрагментов. Некоторые варианты: goom, goom2k1 и "
+#~ "synaesthesia. Модуль визуализации может быть конвейером, а не одиночным "
+#~ "элементом."
+
+#~ msgid "description for default GStreamer visualization"
+#~ msgstr "описание GStreamer visualization по умолчанию"
+
+#~ msgid "Describes the selected visualization element."
+#~ msgstr "Описывает выбранный элемент visualization."
+
#~ msgid "Couldn't get the Manifest's URI"
#~ msgstr "Не удалось получить URI манифеста"
diff --git a/po/sk.gmo b/po/sk.gmo
index a0bc36d..c1db8dd 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index 301fc17..afba085 100644
--- a/po/sk.po
+++ b/po/sk.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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\n"
"PO-Revision-Date: 2014-01-30 10:44+0100\n"
"Last-Translator: Peter Tuharsky <tuharsky@misbb.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -24,95 +24,6 @@
msgid "format wasn't negotiated before get function"
msgstr ""
-msgid "default GStreamer sound events audiosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-
-msgid "Describes the selected audiosink element."
-msgstr ""
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "default GStreamer videosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosink"
-msgstr ""
-
-msgid "Describes the selected videosink element."
-msgstr ""
-
-msgid "default GStreamer audiosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer audiosrc"
-msgstr ""
-
-msgid "Describes the selected audiosrc element."
-msgstr ""
-
-msgid "default GStreamer videosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosrc"
-msgstr ""
-
-msgid "Describes the selected videosrc element."
-msgstr ""
-
-msgid "default GStreamer visualization"
-msgstr ""
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-
-msgid "description for default GStreamer visualization"
-msgstr ""
-
-msgid "Describes the selected visualization element."
-msgstr ""
-
msgid "OpenCV failed to load template image"
msgstr ""
diff --git a/po/sl.gmo b/po/sl.gmo
index 3e47b59..45d2180 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index 6a28bca..3023e88 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -25,95 +25,6 @@
msgid "format wasn't negotiated before get function"
msgstr ""
-msgid "default GStreamer sound events audiosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-
-msgid "Describes the selected audiosink element."
-msgstr ""
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "default GStreamer videosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosink"
-msgstr ""
-
-msgid "Describes the selected videosink element."
-msgstr ""
-
-msgid "default GStreamer audiosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer audiosrc"
-msgstr ""
-
-msgid "Describes the selected audiosrc element."
-msgstr ""
-
-msgid "default GStreamer videosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosrc"
-msgstr ""
-
-msgid "Describes the selected videosrc element."
-msgstr ""
-
-msgid "default GStreamer visualization"
-msgstr ""
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-
-msgid "description for default GStreamer visualization"
-msgstr ""
-
-msgid "Describes the selected visualization element."
-msgstr ""
-
msgid "OpenCV failed to load template image"
msgstr ""
diff --git a/po/sq.gmo b/po/sq.gmo
index 3827420..b7391f4 100644
--- a/po/sq.gmo
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
index fc72a64..3039868 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -18,95 +18,6 @@
msgid "format wasn't negotiated before get function"
msgstr ""
-msgid "default GStreamer sound events audiosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-
-msgid "Describes the selected audiosink element."
-msgstr ""
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "default GStreamer videosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosink"
-msgstr ""
-
-msgid "Describes the selected videosink element."
-msgstr ""
-
-msgid "default GStreamer audiosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer audiosrc"
-msgstr ""
-
-msgid "Describes the selected audiosrc element."
-msgstr ""
-
-msgid "default GStreamer videosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosrc"
-msgstr ""
-
-msgid "Describes the selected videosrc element."
-msgstr ""
-
-msgid "default GStreamer visualization"
-msgstr ""
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-
-msgid "description for default GStreamer visualization"
-msgstr ""
-
-msgid "Describes the selected visualization element."
-msgstr ""
-
msgid "OpenCV failed to load template image"
msgstr ""
diff --git a/po/sr.gmo b/po/sr.gmo
index 857bae4..f13f6c7 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index c27706d..64efb0b 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\n"
"PO-Revision-Date: 2015-12-24 11:34+0200\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
@@ -21,112 +21,6 @@
msgid "format wasn't negotiated before get function"
msgstr "запис није договорен пре функције добављања (get)"
-msgid "default GStreamer sound events audiosink"
-msgstr "основни аудио усклађивач звучних догађаја Гстримера"
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"Гстример може да пушта аудио користећи било који број излазних елемената. "
-"Неки могући избори су „osssink“, „pulsesink“ и „alsasink“. Аудио усклађивач "
-"може бити делимична спојка уместо само једног елемента."
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr "опис основног аудио усклађивача звучних догађаја Гстримера"
-
-msgid "Describes the selected audiosink element."
-msgstr "Описује изабрани елемент аудио усклађивача."
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr "основни аудио усклађивач Гстримера за аудио/видео састанчење"
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr "опис основног аудио усклађивач Гстримера за аудио/видео састанчење"
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr "основни аудио усклађивач Гстримера за музику и филмове"
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr "опис основног аудио усклађивача Гстримера за музику и филмове"
-
-msgid "default GStreamer videosink"
-msgstr "основни видео усклађивач Гстримера"
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-"Гстример може да пушта видео користећи било који број излазних елемената. "
-"Неки могући избори су „xvimagesink“, „ximagesink“, „sdlvideosink“ и "
-"„aasink“. Видео усклађивач може бити делимична спојка уместо само једног "
-"елемента."
-
-msgid "description for default GStreamer videosink"
-msgstr "опис основног видео усклађивача Гстримера"
-
-msgid "Describes the selected videosink element."
-msgstr "Описује изабрани елемент видео усклађивача."
-
-msgid "default GStreamer audiosrc"
-msgstr "основни аудио извор Гстримера"
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"Гстример може да снима аудио користећи било који број излазних елемената. "
-"Неки могући избори су „osssrc“, „pulsesrc“ и „alsasrc“. Извор звука може "
-"бити делимична спојка уместо само једног елемента."
-
-msgid "description for default GStreamer audiosrc"
-msgstr "опис основног аудио извора Гстримера"
-
-msgid "Describes the selected audiosrc element."
-msgstr "Описује изабрани елемент аудио извора."
-
-msgid "default GStreamer videosrc"
-msgstr "основни видео извор Гстримера"
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-"Гстример може да снима видео користећи било који број излазних елемената. "
-"Неки могући избори су „v4lsrc“, „v4l2src“ и “videotestsrc“. Извор видеа може "
-"бити делимична спојка уместо само једног елемента."
-
-msgid "description for default GStreamer videosrc"
-msgstr "опис основног видео извора Гстримера"
-
-msgid "Describes the selected videosrc element."
-msgstr "Описује изабрани елемент видео извора."
-
-msgid "default GStreamer visualization"
-msgstr "основно приказивање Гстримера"
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-"Гстример може да стави прикључке приказивања у спојку да претвори аудио "
-"токове у видео кадрове. Неки могући избори су „goom“, „goom2k1“ и "
-"„synaesthesia“. Прикључак приказивања може бити делимична спојка уместо само "
-"једног елемента."
-
-msgid "description for default GStreamer visualization"
-msgstr "опис основног приказивања Гстримера"
-
-msgid "Describes the selected visualization element."
-msgstr "Описује изабрани елемент приказивања."
-
msgid "OpenCV failed to load template image"
msgstr "ОтворениЦВ није успео да учита слику шаблона"
@@ -244,6 +138,112 @@
msgid "Couldn't find details for DVB channel %s"
msgstr "Не могу да пронађем податке за ДВБ канал „%s“"
+#~ msgid "default GStreamer sound events audiosink"
+#~ msgstr "основни аудио усклађивач звучних догађаја Гстримера"
+
+#~ msgid ""
+#~ "GStreamer can play audio using any number of output elements. Some "
+#~ "possible choices are osssink, pulsesink and alsasink. The audiosink can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "Гстример може да пушта аудио користећи било који број излазних елемената. "
+#~ "Неки могући избори су „osssink“, „pulsesink“ и „alsasink“. Аудио "
+#~ "усклађивач може бити делимична спојка уместо само једног елемента."
+
+#~ msgid "description for default GStreamer sound events audiosink"
+#~ msgstr "опис основног аудио усклађивача звучних догађаја Гстримера"
+
+#~ msgid "Describes the selected audiosink element."
+#~ msgstr "Описује изабрани елемент аудио усклађивача."
+
+#~ msgid "default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr "основни аудио усклађивач Гстримера за аудио/видео састанчење"
+
+#~ msgid ""
+#~ "description for default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr "опис основног аудио усклађивач Гстримера за аудио/видео састанчење"
+
+#~ msgid "default GStreamer audiosink for Music and Movies"
+#~ msgstr "основни аудио усклађивач Гстримера за музику и филмове"
+
+#~ msgid "description for default GStreamer audiosink for Music and Movies"
+#~ msgstr "опис основног аудио усклађивача Гстримера за музику и филмове"
+
+#~ msgid "default GStreamer videosink"
+#~ msgstr "основни видео усклађивач Гстримера"
+
+#~ msgid ""
+#~ "GStreamer can play video using any number of output elements. Some "
+#~ "possible choices are xvimagesink, ximagesink, sdlvideosink and aasink. "
+#~ "The videosink can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "Гстример може да пушта видео користећи било који број излазних елемената. "
+#~ "Неки могући избори су „xvimagesink“, „ximagesink“, „sdlvideosink“ и "
+#~ "„aasink“. Видео усклађивач може бити делимична спојка уместо само једног "
+#~ "елемента."
+
+#~ msgid "description for default GStreamer videosink"
+#~ msgstr "опис основног видео усклађивача Гстримера"
+
+#~ msgid "Describes the selected videosink element."
+#~ msgstr "Описује изабрани елемент видео усклађивача."
+
+#~ msgid "default GStreamer audiosrc"
+#~ msgstr "основни аудио извор Гстримера"
+
+#~ msgid ""
+#~ "GStreamer can record audio using any number of input elements. Some "
+#~ "possible choices are osssrc, pulsesrc and alsasrc. The audio source can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "Гстример може да снима аудио користећи било који број излазних елемената. "
+#~ "Неки могући избори су „osssrc“, „pulsesrc“ и „alsasrc“. Извор звука може "
+#~ "бити делимична спојка уместо само једног елемента."
+
+#~ msgid "description for default GStreamer audiosrc"
+#~ msgstr "опис основног аудио извора Гстримера"
+
+#~ msgid "Describes the selected audiosrc element."
+#~ msgstr "Описује изабрани елемент аудио извора."
+
+#~ msgid "default GStreamer videosrc"
+#~ msgstr "основни видео извор Гстримера"
+
+#~ msgid ""
+#~ "GStreamer can record video from any number of input elements. Some "
+#~ "possible choices are v4lsrc, v4l2src and videotestsrc. The video source "
+#~ "can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "Гстример може да снима видео користећи било који број излазних елемената. "
+#~ "Неки могући избори су „v4lsrc“, „v4l2src“ и “videotestsrc“. Извор видеа "
+#~ "може бити делимична спојка уместо само једног елемента."
+
+#~ msgid "description for default GStreamer videosrc"
+#~ msgstr "опис основног видео извора Гстримера"
+
+#~ msgid "Describes the selected videosrc element."
+#~ msgstr "Описује изабрани елемент видео извора."
+
+#~ msgid "default GStreamer visualization"
+#~ msgstr "основно приказивање Гстримера"
+
+#~ msgid ""
+#~ "GStreamer can put visualization plugins in a pipeline to transform audio "
+#~ "streams in video frames. Some possible choices are goom, goom2k1 and "
+#~ "synaesthesia. The visualization plugin can be a partial pipeline instead "
+#~ "of just one element."
+#~ msgstr ""
+#~ "Гстример може да стави прикључке приказивања у спојку да претвори аудио "
+#~ "токове у видео кадрове. Неки могући избори су „goom“, „goom2k1“ и "
+#~ "„synaesthesia“. Прикључак приказивања може бити делимична спојка уместо "
+#~ "само једног елемента."
+
+#~ msgid "description for default GStreamer visualization"
+#~ msgstr "опис основног приказивања Гстримера"
+
+#~ msgid "Describes the selected visualization element."
+#~ msgstr "Описује изабрани елемент приказивања."
+
#~ msgid "Couldn't get the Manifest's URI"
#~ msgstr "Не могу да добавим путању Манифеста"
diff --git a/po/sv.gmo b/po/sv.gmo
index e898dff..e6fe364 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index 50eb41b..29fb29e 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -21,112 +21,6 @@
msgid "format wasn't negotiated before get function"
msgstr "formatet förhandlades inte fram innan hämtfunktionen"
-msgid "default GStreamer sound events audiosink"
-msgstr "standard GStreamer-ljudutgång för ljudhändelser"
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"GStreamer kan spela upp ljud via ett antal utgångselement. Några möjliga val "
-"är osssink, pulsesink och alsasink. Ljudutgången kan vara en delrörledning "
-"istället för bara ett element."
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr "beskrivning för standard GStreamer-ljudutgång för ljudhändelser"
-
-msgid "Describes the selected audiosink element."
-msgstr "Beskriver det valda ljudutgångselementet."
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr "standard GStreamer-ljudutgång för ljud/video-konferenser"
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-"beskrivning för standard GStreamer-ljudutgång för ljud/video-konferenser"
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr "standard GStreamer-ljudutgång för musik och filmer"
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr "beskrivning för standard GStreamer-ljudutgång för musik och filmer"
-
-msgid "default GStreamer videosink"
-msgstr "standard GStreamer-videoutgång"
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-"GStreamer kan spela upp video via ett antal utgångselement. Några möjliga "
-"val är xvimagesink, ximagesink, sdlvideosink och aasink. Videoutgången kan "
-"vara en delrörledning istället för bara ett element."
-
-msgid "description for default GStreamer videosink"
-msgstr "beskrivning för standard GStreamer-videoutgång"
-
-msgid "Describes the selected videosink element."
-msgstr "Beskriver det valda videoutgångselementet."
-
-msgid "default GStreamer audiosrc"
-msgstr "standard GStreamer-ljudkälla"
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"GStreamer kan spela in ljud från ett antal ingångselement. Några möjliga val "
-"är osssrc, pulsesrc och alsasrc. Ljudkällan kan vara en delrörledning "
-"istället för bara ett element."
-
-msgid "description for default GStreamer audiosrc"
-msgstr "beskrivning för standard GStreamer-ljudkälla"
-
-msgid "Describes the selected audiosrc element."
-msgstr "Beskriver det valda ljudkällselementet."
-
-msgid "default GStreamer videosrc"
-msgstr "standard GStreamer-videokälla"
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-"GStreamer kan spela in video från ett antal ingångselement. Några möjliga "
-"val är v4lsrc, v4l2src och videotestsrc. Videokällan kan vara en "
-"delrörledning istället för bara ett element."
-
-msgid "description for default GStreamer videosrc"
-msgstr "beskrivning för standard GStreamer-videokälla"
-
-msgid "Describes the selected videosrc element."
-msgstr "Beskriver det valda videokällselementet."
-
-msgid "default GStreamer visualization"
-msgstr "standard GStreamer-visualisering"
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-"GStreamer kan lägga in insticksmoduler för visualisering i en pipeline för "
-"att transformera ljudströmmar till videobilder. Några möjliga val är goom, "
-"goom2k1 och synaesthesia. Visualiseringsinsticksmodulen kan vara en "
-"delrörledning istället för bara ett element."
-
-msgid "description for default GStreamer visualization"
-msgstr "beskrivning för standard GStreamer-visualisering"
-
-msgid "Describes the selected visualization element."
-msgstr "Beskriver det valda visualiseringselementet."
-
msgid "OpenCV failed to load template image"
msgstr "OpenCV misslyckades med att läsa in mallbild"
@@ -242,6 +136,112 @@
msgid "Couldn't find details for DVB channel %s"
msgstr "Kunde ej hitta detaljer för DVB-kanal %s"
+#~ msgid "default GStreamer sound events audiosink"
+#~ msgstr "standard GStreamer-ljudutgång för ljudhändelser"
+
+#~ msgid ""
+#~ "GStreamer can play audio using any number of output elements. Some "
+#~ "possible choices are osssink, pulsesink and alsasink. The audiosink can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer kan spela upp ljud via ett antal utgångselement. Några möjliga "
+#~ "val är osssink, pulsesink och alsasink. Ljudutgången kan vara en "
+#~ "delrörledning istället för bara ett element."
+
+#~ msgid "description for default GStreamer sound events audiosink"
+#~ msgstr "beskrivning för standard GStreamer-ljudutgång för ljudhändelser"
+
+#~ msgid "Describes the selected audiosink element."
+#~ msgstr "Beskriver det valda ljudutgångselementet."
+
+#~ msgid "default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr "standard GStreamer-ljudutgång för ljud/video-konferenser"
+
+#~ msgid ""
+#~ "description for default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr ""
+#~ "beskrivning för standard GStreamer-ljudutgång för ljud/video-konferenser"
+
+#~ msgid "default GStreamer audiosink for Music and Movies"
+#~ msgstr "standard GStreamer-ljudutgång för musik och filmer"
+
+#~ msgid "description for default GStreamer audiosink for Music and Movies"
+#~ msgstr "beskrivning för standard GStreamer-ljudutgång för musik och filmer"
+
+#~ msgid "default GStreamer videosink"
+#~ msgstr "standard GStreamer-videoutgång"
+
+#~ msgid ""
+#~ "GStreamer can play video using any number of output elements. Some "
+#~ "possible choices are xvimagesink, ximagesink, sdlvideosink and aasink. "
+#~ "The videosink can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer kan spela upp video via ett antal utgångselement. Några möjliga "
+#~ "val är xvimagesink, ximagesink, sdlvideosink och aasink. Videoutgången "
+#~ "kan vara en delrörledning istället för bara ett element."
+
+#~ msgid "description for default GStreamer videosink"
+#~ msgstr "beskrivning för standard GStreamer-videoutgång"
+
+#~ msgid "Describes the selected videosink element."
+#~ msgstr "Beskriver det valda videoutgångselementet."
+
+#~ msgid "default GStreamer audiosrc"
+#~ msgstr "standard GStreamer-ljudkälla"
+
+#~ msgid ""
+#~ "GStreamer can record audio using any number of input elements. Some "
+#~ "possible choices are osssrc, pulsesrc and alsasrc. The audio source can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer kan spela in ljud från ett antal ingångselement. Några möjliga "
+#~ "val är osssrc, pulsesrc och alsasrc. Ljudkällan kan vara en delrörledning "
+#~ "istället för bara ett element."
+
+#~ msgid "description for default GStreamer audiosrc"
+#~ msgstr "beskrivning för standard GStreamer-ljudkälla"
+
+#~ msgid "Describes the selected audiosrc element."
+#~ msgstr "Beskriver det valda ljudkällselementet."
+
+#~ msgid "default GStreamer videosrc"
+#~ msgstr "standard GStreamer-videokälla"
+
+#~ msgid ""
+#~ "GStreamer can record video from any number of input elements. Some "
+#~ "possible choices are v4lsrc, v4l2src and videotestsrc. The video source "
+#~ "can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer kan spela in video från ett antal ingångselement. Några möjliga "
+#~ "val är v4lsrc, v4l2src och videotestsrc. Videokällan kan vara en "
+#~ "delrörledning istället för bara ett element."
+
+#~ msgid "description for default GStreamer videosrc"
+#~ msgstr "beskrivning för standard GStreamer-videokälla"
+
+#~ msgid "Describes the selected videosrc element."
+#~ msgstr "Beskriver det valda videokällselementet."
+
+#~ msgid "default GStreamer visualization"
+#~ msgstr "standard GStreamer-visualisering"
+
+#~ msgid ""
+#~ "GStreamer can put visualization plugins in a pipeline to transform audio "
+#~ "streams in video frames. Some possible choices are goom, goom2k1 and "
+#~ "synaesthesia. The visualization plugin can be a partial pipeline instead "
+#~ "of just one element."
+#~ msgstr ""
+#~ "GStreamer kan lägga in insticksmoduler för visualisering i en pipeline "
+#~ "för att transformera ljudströmmar till videobilder. Några möjliga val är "
+#~ "goom, goom2k1 och synaesthesia. Visualiseringsinsticksmodulen kan vara en "
+#~ "delrörledning istället för bara ett element."
+
+#~ msgid "description for default GStreamer visualization"
+#~ msgstr "beskrivning för standard GStreamer-visualisering"
+
+#~ msgid "Describes the selected visualization element."
+#~ msgstr "Beskriver det valda visualiseringselementet."
+
#~ msgid "Couldn't get the Manifest's URI"
#~ msgstr "Kunde ej hämta manifestets URI"
diff --git a/po/tr.gmo b/po/tr.gmo
index ef7dec7..c4a5d18 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index 2a9582d..4a3a29d 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -21,95 +21,6 @@
msgid "format wasn't negotiated before get function"
msgstr "get fonksiyonundan önce biçim görüşülemedi"
-msgid "default GStreamer sound events audiosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr ""
-
-msgid "Describes the selected audiosink element."
-msgstr ""
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr ""
-
-msgid "default GStreamer videosink"
-msgstr ""
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosink"
-msgstr ""
-
-msgid "Describes the selected videosink element."
-msgstr ""
-
-msgid "default GStreamer audiosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer audiosrc"
-msgstr ""
-
-msgid "Describes the selected audiosrc element."
-msgstr ""
-
-msgid "default GStreamer videosrc"
-msgstr ""
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-
-msgid "description for default GStreamer videosrc"
-msgstr ""
-
-msgid "Describes the selected videosrc element."
-msgstr ""
-
-msgid "default GStreamer visualization"
-msgstr ""
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-
-msgid "description for default GStreamer visualization"
-msgstr ""
-
-msgid "Describes the selected visualization element."
-msgstr ""
-
msgid "OpenCV failed to load template image"
msgstr ""
diff --git a/po/uk.gmo b/po/uk.gmo
index 80a0132..114b0a2 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index bf12352..c17449e 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -23,116 +23,6 @@
msgid "format wasn't negotiated before get function"
msgstr "формат не було узгоджено до виклику функції get"
-msgid "default GStreamer sound events audiosink"
-msgstr "типовий приймач звукових подій GStreamer"
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"У GStreamer передбачено можливість відтворення звукових даних за допомогою "
-"довільної кількості елементів виведення. Серед можливих варіантів osssink, "
-"pulsesink та alsasink. Звуковий приймач може бути окремим каналом, а не "
-"одним елементом."
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr "опис типового приймача звукових подій GStreamer"
-
-msgid "Describes the selected audiosink element."
-msgstr "Описує вибраний елемент audiosink."
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr "типовий звуковий приймач GStreamer для звукових та відеоконференцій"
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr ""
-"опис типового звукового приймача GStreamer для звукових та відеоконференцій"
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr "типовий звуковий приймач GStreamer для музики і фільмів"
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr "опис типового звукового приймача GStreamer для музики і фільмів"
-
-msgid "default GStreamer videosink"
-msgstr "типовий відеоприймач GStreamer"
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-"У GStreamer передбачено відтворення відео за допомогою довільної кількості "
-"елементів виведення. Серед можливих варіантів xvimagesink, ximagesink, "
-"sdlvideosink та aasink. Приймач відеоданих може бути окремим каналом з "
-"декількох обробників, а не просто одним елементом."
-
-msgid "description for default GStreamer videosink"
-msgstr "опис типового відеоприймача GStreamer"
-
-msgid "Describes the selected videosink element."
-msgstr "Описує вибраний елемент videosink."
-
-msgid "default GStreamer audiosrc"
-msgstr "типове джерело звуку GStreamer"
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"У GStreamer передбачено можливість запису звукових даних за допомогою "
-"довільної кількості елементів вхідних даних. Серед можливих варіантів "
-"osssrc, pulsesrc та alsasrc. Джерелом звукових даних може бути окремий канал "
-"з декількох елементів, а не просто один елемент."
-
-msgid "description for default GStreamer audiosrc"
-msgstr "опис типового джерела звуку GStreamer"
-
-msgid "Describes the selected audiosrc element."
-msgstr "Описує вибраний елемент audiosrc."
-
-msgid "default GStreamer videosrc"
-msgstr "типове джерело відео GStreamer"
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-"У GStreamer передбачено можливість запису відеоданих за допомогою довільної "
-"кількості елементів вхідних даних. Серед можливих варіантів v4lsrc, v4l2src "
-"та videotestsrc. Джерелом відеоданих може бути окремий канал з декількох "
-"елементів, а не просто один елемент."
-
-msgid "description for default GStreamer videosrc"
-msgstr "опис типового джерела відео GStreamer"
-
-msgid "Describes the selected videosrc element."
-msgstr "Описує вибраний елемент videosrc."
-
-msgid "default GStreamer visualization"
-msgstr "типова візуалізація GStreamer"
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-"У GStreamer передбачено додавання до каналу обробки додатків візуалізації "
-"для обробки потоків звукових даних у кадрах відео. Серед можливих варіантів "
-"goom, goom2k1 та synaesthesia. Додаток візуалізації може бути окремим "
-"каналом, а не просто одним елементом."
-
-msgid "description for default GStreamer visualization"
-msgstr "опис типової візуалізації GStreamer"
-
-msgid "Describes the selected visualization element."
-msgstr "Описує вибраний елемент візуалізації."
-
msgid "OpenCV failed to load template image"
msgstr "OpenCV не вдалося завантажити зображення шаблону"
@@ -256,6 +146,117 @@
msgid "Couldn't find details for DVB channel %s"
msgstr "Не вдалося знайти параметрів каналу DVB %s"
+#~ msgid "default GStreamer sound events audiosink"
+#~ msgstr "типовий приймач звукових подій GStreamer"
+
+#~ msgid ""
+#~ "GStreamer can play audio using any number of output elements. Some "
+#~ "possible choices are osssink, pulsesink and alsasink. The audiosink can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "У GStreamer передбачено можливість відтворення звукових даних за "
+#~ "допомогою довільної кількості елементів виведення. Серед можливих "
+#~ "варіантів osssink, pulsesink та alsasink. Звуковий приймач може бути "
+#~ "окремим каналом, а не одним елементом."
+
+#~ msgid "description for default GStreamer sound events audiosink"
+#~ msgstr "опис типового приймача звукових подій GStreamer"
+
+#~ msgid "Describes the selected audiosink element."
+#~ msgstr "Описує вибраний елемент audiosink."
+
+#~ msgid "default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr "типовий звуковий приймач GStreamer для звукових та відеоконференцій"
+
+#~ msgid ""
+#~ "description for default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr ""
+#~ "опис типового звукового приймача GStreamer для звукових та "
+#~ "відеоконференцій"
+
+#~ msgid "default GStreamer audiosink for Music and Movies"
+#~ msgstr "типовий звуковий приймач GStreamer для музики і фільмів"
+
+#~ msgid "description for default GStreamer audiosink for Music and Movies"
+#~ msgstr "опис типового звукового приймача GStreamer для музики і фільмів"
+
+#~ msgid "default GStreamer videosink"
+#~ msgstr "типовий відеоприймач GStreamer"
+
+#~ msgid ""
+#~ "GStreamer can play video using any number of output elements. Some "
+#~ "possible choices are xvimagesink, ximagesink, sdlvideosink and aasink. "
+#~ "The videosink can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "У GStreamer передбачено відтворення відео за допомогою довільної "
+#~ "кількості елементів виведення. Серед можливих варіантів xvimagesink, "
+#~ "ximagesink, sdlvideosink та aasink. Приймач відеоданих може бути окремим "
+#~ "каналом з декількох обробників, а не просто одним елементом."
+
+#~ msgid "description for default GStreamer videosink"
+#~ msgstr "опис типового відеоприймача GStreamer"
+
+#~ msgid "Describes the selected videosink element."
+#~ msgstr "Описує вибраний елемент videosink."
+
+#~ msgid "default GStreamer audiosrc"
+#~ msgstr "типове джерело звуку GStreamer"
+
+#~ msgid ""
+#~ "GStreamer can record audio using any number of input elements. Some "
+#~ "possible choices are osssrc, pulsesrc and alsasrc. The audio source can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "У GStreamer передбачено можливість запису звукових даних за допомогою "
+#~ "довільної кількості елементів вхідних даних. Серед можливих варіантів "
+#~ "osssrc, pulsesrc та alsasrc. Джерелом звукових даних може бути окремий "
+#~ "канал з декількох елементів, а не просто один елемент."
+
+#~ msgid "description for default GStreamer audiosrc"
+#~ msgstr "опис типового джерела звуку GStreamer"
+
+#~ msgid "Describes the selected audiosrc element."
+#~ msgstr "Описує вибраний елемент audiosrc."
+
+#~ msgid "default GStreamer videosrc"
+#~ msgstr "типове джерело відео GStreamer"
+
+#~ msgid ""
+#~ "GStreamer can record video from any number of input elements. Some "
+#~ "possible choices are v4lsrc, v4l2src and videotestsrc. The video source "
+#~ "can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "У GStreamer передбачено можливість запису відеоданих за допомогою "
+#~ "довільної кількості елементів вхідних даних. Серед можливих варіантів "
+#~ "v4lsrc, v4l2src та videotestsrc. Джерелом відеоданих може бути окремий "
+#~ "канал з декількох елементів, а не просто один елемент."
+
+#~ msgid "description for default GStreamer videosrc"
+#~ msgstr "опис типового джерела відео GStreamer"
+
+#~ msgid "Describes the selected videosrc element."
+#~ msgstr "Описує вибраний елемент videosrc."
+
+#~ msgid "default GStreamer visualization"
+#~ msgstr "типова візуалізація GStreamer"
+
+#~ msgid ""
+#~ "GStreamer can put visualization plugins in a pipeline to transform audio "
+#~ "streams in video frames. Some possible choices are goom, goom2k1 and "
+#~ "synaesthesia. The visualization plugin can be a partial pipeline instead "
+#~ "of just one element."
+#~ msgstr ""
+#~ "У GStreamer передбачено додавання до каналу обробки додатків візуалізації "
+#~ "для обробки потоків звукових даних у кадрах відео. Серед можливих "
+#~ "варіантів goom, goom2k1 та synaesthesia. Додаток візуалізації може бути "
+#~ "окремим каналом, а не просто одним елементом."
+
+#~ msgid "description for default GStreamer visualization"
+#~ msgstr "опис типової візуалізації GStreamer"
+
+#~ msgid "Describes the selected visualization element."
+#~ msgstr "Описує вибраний елемент візуалізації."
+
#~ msgid "Couldn't get the Manifest's URI"
#~ msgstr "Не вдалося отримати адреси Manifest"
diff --git a/po/vi.gmo b/po/vi.gmo
index 8ee969e..ec5c7a4 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index 259fc0a..6bc4f49 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -23,111 +23,6 @@
msgid "format wasn't negotiated before get function"
msgstr "định dạng không được dàn xếp trước hàm"
-msgid "default GStreamer sound events audiosink"
-msgstr "các sự kiện âm thanh GStreamer mặc định cho “audiosink”"
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"GStreamer có thể phát nhạc với bất kỳ số lượng phần tử đầu ra nào. Một số có "
-"thể chọn lựa là osssink, pulsesink và alsasink. “audiosink” có thể là đường "
-"ống đặc biệt thay vì chỉ một phần tử."
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr "mô tả cho các sự kiện âm thanh GStreamer mặc định dành cho “audiosink”"
-
-msgid "Describes the selected audiosink element."
-msgstr "Mô tả về phần tử “audiosink” đã chọn."
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr "“GStreamer audiosink” mặc định dành cho Hội nghị Nhạc/Phim"
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr "mô tả cho GStreamer audiosink mặc định dành cho Hội nghị Nhạc/Phim"
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr "GStreamer audiosink mặc định dành cho Âm nhạc và Phim"
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr "mô tả cho GStreamer audiosink mặc định dành cho Âm nhạc và Phim"
-
-msgid "default GStreamer videosink"
-msgstr "GStreamer videosink mặc định"
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-"GStreamer có thể chạy phim với bất kỳ số lượng phần tử đầu ra nào. Một số có "
-"thể chọn lựa là xvimagesink, ximagesink, sdlvideosink và aasink. “videosink” "
-"có thể là đường ống đặc biệt thay vì chỉ một phần tử."
-
-msgid "description for default GStreamer videosink"
-msgstr "mô tả phần tử nguồn hình ảnh GStreamer mặc định"
-
-msgid "Describes the selected videosink element."
-msgstr "Mô tả phần tử videosink đã chọn."
-
-msgid "default GStreamer audiosrc"
-msgstr "nguồn âm thanh GStreamer mặc định"
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"GStreamer có thể ghi âm thanh dùng bao nhiêu phần tử đầu vào cũng được. Một "
-"số lựa chọn là osssrc, plusesrc và alsasrc. Nguồn âm thanh có thể là các "
-"đường ống cục bộ nào đó thay vì chỉ một phần tử nguồn."
-
-msgid "description for default GStreamer audiosrc"
-msgstr "mô tả phần tử nguồn âm thanh GStreamer mặc định"
-
-msgid "Describes the selected audiosrc element."
-msgstr "Mô tả phần tử nguồn âm thanh đã chọn."
-
-msgid "default GStreamer videosrc"
-msgstr "nguồn hình ảnh GStreamer mặc định"
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-"GStreamer có thể chạy phim với bất kỳ số lượng phần tử đầu vào nào. Một số "
-"có thể chọn lựa là v4lsrc, v4l2src và videotestsrc. Nguồn hình có thể là "
-"đường ống đặc biệt thay vì chỉ một phần tử."
-
-msgid "description for default GStreamer videosrc"
-msgstr "mô tả cho nguồn hình GStreamer mặc định"
-
-msgid "Describes the selected videosrc element."
-msgstr "Mô tả phần tử nguồn hình ảnh đã chọn."
-
-msgid "default GStreamer visualization"
-msgstr "hiện hình GStreamer mặc định"
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-"GStreamer có thể đặt phần bổ xung hiện hình trong một đường ống để mà chuyển "
-"dạng luồng dữ liệu âm thanh trong khung hình phim. Một số có thể chọn lựa là "
-"goom, goom2k1 và synaesthesia. Phần bổ xung hiện hình có thể là đường ống "
-"đặc biệt thay vì chỉ một phần tử."
-
-msgid "description for default GStreamer visualization"
-msgstr "mô tả về hiện hình GStreamer mặc định"
-
-msgid "Describes the selected visualization element."
-msgstr "Mô tả về phần tử hiện hình đã chọn."
-
msgid "OpenCV failed to load template image"
msgstr "OpenCV gặp lỗi khi tải ảnh tạm thời"
@@ -247,6 +142,112 @@
msgid "Couldn't find details for DVB channel %s"
msgstr "Không thể tìm thấy chi tiết cho kênh DVB %s"
+#~ msgid "default GStreamer sound events audiosink"
+#~ msgstr "các sự kiện âm thanh GStreamer mặc định cho “audiosink”"
+
+#~ msgid ""
+#~ "GStreamer can play audio using any number of output elements. Some "
+#~ "possible choices are osssink, pulsesink and alsasink. The audiosink can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer có thể phát nhạc với bất kỳ số lượng phần tử đầu ra nào. Một số "
+#~ "có thể chọn lựa là osssink, pulsesink và alsasink. “audiosink” có thể là "
+#~ "đường ống đặc biệt thay vì chỉ một phần tử."
+
+#~ msgid "description for default GStreamer sound events audiosink"
+#~ msgstr ""
+#~ "mô tả cho các sự kiện âm thanh GStreamer mặc định dành cho “audiosink”"
+
+#~ msgid "Describes the selected audiosink element."
+#~ msgstr "Mô tả về phần tử “audiosink” đã chọn."
+
+#~ msgid "default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr "“GStreamer audiosink” mặc định dành cho Hội nghị Nhạc/Phim"
+
+#~ msgid ""
+#~ "description for default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr "mô tả cho GStreamer audiosink mặc định dành cho Hội nghị Nhạc/Phim"
+
+#~ msgid "default GStreamer audiosink for Music and Movies"
+#~ msgstr "GStreamer audiosink mặc định dành cho Âm nhạc và Phim"
+
+#~ msgid "description for default GStreamer audiosink for Music and Movies"
+#~ msgstr "mô tả cho GStreamer audiosink mặc định dành cho Âm nhạc và Phim"
+
+#~ msgid "default GStreamer videosink"
+#~ msgstr "GStreamer videosink mặc định"
+
+#~ msgid ""
+#~ "GStreamer can play video using any number of output elements. Some "
+#~ "possible choices are xvimagesink, ximagesink, sdlvideosink and aasink. "
+#~ "The videosink can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer có thể chạy phim với bất kỳ số lượng phần tử đầu ra nào. Một số "
+#~ "có thể chọn lựa là xvimagesink, ximagesink, sdlvideosink và aasink. "
+#~ "“videosink” có thể là đường ống đặc biệt thay vì chỉ một phần tử."
+
+#~ msgid "description for default GStreamer videosink"
+#~ msgstr "mô tả phần tử nguồn hình ảnh GStreamer mặc định"
+
+#~ msgid "Describes the selected videosink element."
+#~ msgstr "Mô tả phần tử videosink đã chọn."
+
+#~ msgid "default GStreamer audiosrc"
+#~ msgstr "nguồn âm thanh GStreamer mặc định"
+
+#~ msgid ""
+#~ "GStreamer can record audio using any number of input elements. Some "
+#~ "possible choices are osssrc, pulsesrc and alsasrc. The audio source can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer có thể ghi âm thanh dùng bao nhiêu phần tử đầu vào cũng được. "
+#~ "Một số lựa chọn là osssrc, plusesrc và alsasrc. Nguồn âm thanh có thể là "
+#~ "các đường ống cục bộ nào đó thay vì chỉ một phần tử nguồn."
+
+#~ msgid "description for default GStreamer audiosrc"
+#~ msgstr "mô tả phần tử nguồn âm thanh GStreamer mặc định"
+
+#~ msgid "Describes the selected audiosrc element."
+#~ msgstr "Mô tả phần tử nguồn âm thanh đã chọn."
+
+#~ msgid "default GStreamer videosrc"
+#~ msgstr "nguồn hình ảnh GStreamer mặc định"
+
+#~ msgid ""
+#~ "GStreamer can record video from any number of input elements. Some "
+#~ "possible choices are v4lsrc, v4l2src and videotestsrc. The video source "
+#~ "can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer có thể chạy phim với bất kỳ số lượng phần tử đầu vào nào. Một "
+#~ "số có thể chọn lựa là v4lsrc, v4l2src và videotestsrc. Nguồn hình có thể "
+#~ "là đường ống đặc biệt thay vì chỉ một phần tử."
+
+#~ msgid "description for default GStreamer videosrc"
+#~ msgstr "mô tả cho nguồn hình GStreamer mặc định"
+
+#~ msgid "Describes the selected videosrc element."
+#~ msgstr "Mô tả phần tử nguồn hình ảnh đã chọn."
+
+#~ msgid "default GStreamer visualization"
+#~ msgstr "hiện hình GStreamer mặc định"
+
+#~ msgid ""
+#~ "GStreamer can put visualization plugins in a pipeline to transform audio "
+#~ "streams in video frames. Some possible choices are goom, goom2k1 and "
+#~ "synaesthesia. The visualization plugin can be a partial pipeline instead "
+#~ "of just one element."
+#~ msgstr ""
+#~ "GStreamer có thể đặt phần bổ xung hiện hình trong một đường ống để mà "
+#~ "chuyển dạng luồng dữ liệu âm thanh trong khung hình phim. Một số có thể "
+#~ "chọn lựa là goom, goom2k1 và synaesthesia. Phần bổ xung hiện hình có thể "
+#~ "là đường ống đặc biệt thay vì chỉ một phần tử."
+
+#~ msgid "description for default GStreamer visualization"
+#~ msgstr "mô tả về hiện hình GStreamer mặc định"
+
+#~ msgid "Describes the selected visualization element."
+#~ msgstr "Mô tả về phần tử hiện hình đã chọn."
+
#~ msgid "Couldn't get the Manifest's URI"
#~ msgstr "Không thể lấy URI của Manifest"
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index 89c6a1d..9a02b52 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 73a0da0..37bf78f 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: 2015-12-24 13:55+0100\n"
+"POT-Creation-Date: 2016-02-19 10:32+0200\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"
@@ -22,107 +22,6 @@
msgid "format wasn't negotiated before get function"
msgstr "在调用get函数之前未确定合适的格式"
-msgid "default GStreamer sound events audiosink"
-msgstr "默认GStreamer声音事件的音频汇"
-
-msgid ""
-"GStreamer can play audio using any number of output elements. Some possible "
-"choices are osssink, pulsesink and alsasink. The audiosink can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"GStreamer可以使用任意数量的输出组件播放音频。可能的选择有osssink、pulsesink和"
-"alsasink。音频汇可以是管道的一部分,而不仅仅为一个组件。"
-
-msgid "description for default GStreamer sound events audiosink"
-msgstr "有关默认GStreamer声音事件的音频汇的说明"
-
-msgid "Describes the selected audiosink element."
-msgstr "描述选定的音频汇组件"
-
-msgid "default GStreamer audiosink for Audio/Video Conferencing"
-msgstr "用于音/视频会议的默认Gstreamer音频汇"
-
-msgid ""
-"description for default GStreamer audiosink for Audio/Video Conferencing"
-msgstr "有关用于音/视频会议的默认Gstreamer音频汇的描述"
-
-msgid "default GStreamer audiosink for Music and Movies"
-msgstr "用于音乐和电影的默认Gstreamer音频汇"
-
-msgid "description for default GStreamer audiosink for Music and Movies"
-msgstr "有关音乐和电影的默认Gstreamer音频汇的描述"
-
-msgid "default GStreamer videosink"
-msgstr "默认GStreamer的视频汇"
-
-msgid ""
-"GStreamer can play video using any number of output elements. Some possible "
-"choices are xvimagesink, ximagesink, sdlvideosink and aasink. The videosink "
-"can be a partial pipeline instead of just one element."
-msgstr ""
-"GStreamer可以使用任意数量的输出组件播放视频。可能的选择有xvimagesink、"
-"ximagesink、sdlvideosink和aasink。视频汇可以是管道的一部分,而不仅仅为一个组"
-"件。"
-
-msgid "description for default GStreamer videosink"
-msgstr "有关默认GStreamer视频汇的描述"
-
-msgid "Describes the selected videosink element."
-msgstr "描述选定的视频汇组件"
-
-msgid "default GStreamer audiosrc"
-msgstr "默认GStreamer音频源"
-
-msgid ""
-"GStreamer can record audio using any number of input elements. Some possible "
-"choices are osssrc, pulsesrc and alsasrc. The audio source can be a partial "
-"pipeline instead of just one element."
-msgstr ""
-"GStreamer可以使用任意数量的输入组件来记录音频。可能的选择有osssrc、pulsesrc和"
-"alsasrc。音频源可以是管道的一部分,而不仅仅为一个组件。"
-
-msgid "description for default GStreamer audiosrc"
-msgstr "有关默认GStreamer音频源的描述"
-
-msgid "Describes the selected audiosrc element."
-msgstr "描述选定的音频源组件"
-
-msgid "default GStreamer videosrc"
-msgstr "默认GStreamer视频源"
-
-msgid ""
-"GStreamer can record video from any number of input elements. Some possible "
-"choices are v4lsrc, v4l2src and videotestsrc. The video source can be a "
-"partial pipeline instead of just one element."
-msgstr ""
-"GStreamer可以使用任意数量的输出组件播放视频。可能的选择有v4lsrc、v4l2src和"
-"videotestsrc。视频源可以是管道的一部分,而不仅仅为一个组件。"
-
-msgid "description for default GStreamer videosrc"
-msgstr "有关默认GStreamer视频源的描述"
-
-msgid "Describes the selected videosrc element."
-msgstr "描述选定的视频源组件"
-
-msgid "default GStreamer visualization"
-msgstr "默认Gstreamer可视化组件"
-
-msgid ""
-"GStreamer can put visualization plugins in a pipeline to transform audio "
-"streams in video frames. Some possible choices are goom, goom2k1 and "
-"synaesthesia. The visualization plugin can be a partial pipeline instead of "
-"just one element."
-msgstr ""
-"GStreamer可以将可视化插件加载于管道中,并在视频帧中传递音频流。可能的选择有"
-"goom、goom2k1和synaesthesia。可视化插件可以是管道的一部分,而不仅仅为一个组"
-"件。"
-
-msgid "description for default GStreamer visualization"
-msgstr "有关默认Gstreamer可视化组件的描述"
-
-msgid "Describes the selected visualization element."
-msgstr "描述选定的可视化组件"
-
msgid "OpenCV failed to load template image"
msgstr "OpenCV加载模版图片失败"
@@ -235,6 +134,107 @@
msgid "Couldn't find details for DVB channel %s"
msgstr "无法获取DVB通道 %s 的详细信息"
+#~ msgid "default GStreamer sound events audiosink"
+#~ msgstr "默认GStreamer声音事件的音频汇"
+
+#~ msgid ""
+#~ "GStreamer can play audio using any number of output elements. Some "
+#~ "possible choices are osssink, pulsesink and alsasink. The audiosink can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer可以使用任意数量的输出组件播放音频。可能的选择有osssink、"
+#~ "pulsesink和alsasink。音频汇可以是管道的一部分,而不仅仅为一个组件。"
+
+#~ msgid "description for default GStreamer sound events audiosink"
+#~ msgstr "有关默认GStreamer声音事件的音频汇的说明"
+
+#~ msgid "Describes the selected audiosink element."
+#~ msgstr "描述选定的音频汇组件"
+
+#~ msgid "default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr "用于音/视频会议的默认Gstreamer音频汇"
+
+#~ msgid ""
+#~ "description for default GStreamer audiosink for Audio/Video Conferencing"
+#~ msgstr "有关用于音/视频会议的默认Gstreamer音频汇的描述"
+
+#~ msgid "default GStreamer audiosink for Music and Movies"
+#~ msgstr "用于音乐和电影的默认Gstreamer音频汇"
+
+#~ msgid "description for default GStreamer audiosink for Music and Movies"
+#~ msgstr "有关音乐和电影的默认Gstreamer音频汇的描述"
+
+#~ msgid "default GStreamer videosink"
+#~ msgstr "默认GStreamer的视频汇"
+
+#~ msgid ""
+#~ "GStreamer can play video using any number of output elements. Some "
+#~ "possible choices are xvimagesink, ximagesink, sdlvideosink and aasink. "
+#~ "The videosink can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer可以使用任意数量的输出组件播放视频。可能的选择有xvimagesink、"
+#~ "ximagesink、sdlvideosink和aasink。视频汇可以是管道的一部分,而不仅仅为一个"
+#~ "组件。"
+
+#~ msgid "description for default GStreamer videosink"
+#~ msgstr "有关默认GStreamer视频汇的描述"
+
+#~ msgid "Describes the selected videosink element."
+#~ msgstr "描述选定的视频汇组件"
+
+#~ msgid "default GStreamer audiosrc"
+#~ msgstr "默认GStreamer音频源"
+
+#~ msgid ""
+#~ "GStreamer can record audio using any number of input elements. Some "
+#~ "possible choices are osssrc, pulsesrc and alsasrc. The audio source can "
+#~ "be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer可以使用任意数量的输入组件来记录音频。可能的选择有osssrc、"
+#~ "pulsesrc和alsasrc。音频源可以是管道的一部分,而不仅仅为一个组件。"
+
+#~ msgid "description for default GStreamer audiosrc"
+#~ msgstr "有关默认GStreamer音频源的描述"
+
+#~ msgid "Describes the selected audiosrc element."
+#~ msgstr "描述选定的音频源组件"
+
+#~ msgid "default GStreamer videosrc"
+#~ msgstr "默认GStreamer视频源"
+
+#~ msgid ""
+#~ "GStreamer can record video from any number of input elements. Some "
+#~ "possible choices are v4lsrc, v4l2src and videotestsrc. The video source "
+#~ "can be a partial pipeline instead of just one element."
+#~ msgstr ""
+#~ "GStreamer可以使用任意数量的输出组件播放视频。可能的选择有v4lsrc、v4l2src和"
+#~ "videotestsrc。视频源可以是管道的一部分,而不仅仅为一个组件。"
+
+#~ msgid "description for default GStreamer videosrc"
+#~ msgstr "有关默认GStreamer视频源的描述"
+
+#~ msgid "Describes the selected videosrc element."
+#~ msgstr "描述选定的视频源组件"
+
+#~ msgid "default GStreamer visualization"
+#~ msgstr "默认Gstreamer可视化组件"
+
+#~ msgid ""
+#~ "GStreamer can put visualization plugins in a pipeline to transform audio "
+#~ "streams in video frames. Some possible choices are goom, goom2k1 and "
+#~ "synaesthesia. The visualization plugin can be a partial pipeline instead "
+#~ "of just one element."
+#~ msgstr ""
+#~ "GStreamer可以将可视化插件加载于管道中,并在视频帧中传递音频流。可能的选择"
+#~ "有goom、goom2k1和synaesthesia。可视化插件可以是管道的一部分,而不仅仅为一"
+#~ "个组件。"
+
+#~ msgid "description for default GStreamer visualization"
+#~ msgstr "有关默认Gstreamer可视化组件的描述"
+
+#~ msgid "Describes the selected visualization element."
+#~ msgstr "描述选定的可视化组件"
+
#~ msgid "Internal clock error."
#~ msgstr "内部时钟错误。"
diff --git a/sys/Makefile.am b/sys/Makefile.am
index a0d7ca6..32f79fb 100644
--- a/sys/Makefile.am
+++ b/sys/Makefile.am
@@ -28,12 +28,6 @@
BLUEZ_DIR=
endif
-# if USE_CDROM
-# CDROM_DIR=cdrom
-# else
-# CDROM_DIR=
-# endif
-
if USE_WASAPI
WASAPI_DIR=wasapi
else
@@ -148,10 +142,16 @@
NVENC_DIR=
endif
-SUBDIRS = $(ACM_DIR) $(ANDROID_MEDIA_DIR) $(APPLE_MEDIA_DIR) $(AVC_DIR) $(BLUEZ_DIR) $(D3DVIDEOSINK_DIR) $(DECKLINK_DIR) $(DIRECTSOUND_DIR) $(WINKS_DIR) $(DVB_DIR) $(FBDEV_DIR) $(LINSYS_DIR) $(OPENSLES_DIR) $(PVR_DIR) $(SHM_DIR) $(UVCH264_DIR) $(VCD_DIR) $(VDPAU_DIR) $(WININET_DIR) $(WINSCREENCAP_DIR) $(WASAPI_DIR) $(NVENC_DIR)
+if USE_TINYALSA
+TINYALSA_DIR=tinyalsa
+else
+TINYALSA_DIR=
+endif
+
+SUBDIRS = $(ACM_DIR) $(ANDROID_MEDIA_DIR) $(APPLE_MEDIA_DIR) $(AVC_DIR) $(BLUEZ_DIR) $(D3DVIDEOSINK_DIR) $(DECKLINK_DIR) $(DIRECTSOUND_DIR) $(WINKS_DIR) $(DVB_DIR) $(FBDEV_DIR) $(LINSYS_DIR) $(OPENSLES_DIR) $(PVR_DIR) $(SHM_DIR) $(UVCH264_DIR) $(VCD_DIR) $(VDPAU_DIR) $(WININET_DIR) $(WINSCREENCAP_DIR) $(WASAPI_DIR) $(NVENC_DIR) $(TINYALSA_DIR)
DIST_SUBDIRS = acmenc acmmp3dec androidmedia applemedia applemedia-nonpublic avc bluez d3dvideosink decklink directsound dvb linsys fbdev dshowdecwrapper dshowsrcwrapper dshowvideosink \
opensles pvr2d shm uvch264 vcd vdpau wasapi wininet winks winscreencap \
- nvenc
+ nvenc tinyalsa
include $(top_srcdir)/common/parallel-subdirs.mak
diff --git a/sys/Makefile.in b/sys/Makefile.in
index a6e83b8..ad69ce7 100644
--- a/sys/Makefile.in
+++ b/sys/Makefile.in
@@ -119,16 +119,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -302,7 +301,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -324,7 +322,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -346,9 +343,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -510,6 +504,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -523,8 +518,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -611,8 +604,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -664,6 +655,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -684,6 +676,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -721,7 +715,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -772,12 +765,6 @@
@USE_BLUEZ_FALSE@BLUEZ_DIR =
@USE_BLUEZ_TRUE@BLUEZ_DIR = bluez
@USE_WASAPI_FALSE@WASAPI_DIR =
-
-# if USE_CDROM
-# CDROM_DIR=cdrom
-# else
-# CDROM_DIR=
-# endif
@USE_WASAPI_TRUE@WASAPI_DIR = wasapi
@USE_DIRECT3D_FALSE@D3DVIDEOSINK_DIR =
@USE_DIRECT3D_TRUE@D3DVIDEOSINK_DIR = d3dvideosink
@@ -823,10 +810,12 @@
@USE_UVCH264_TRUE@UVCH264_DIR = uvch264
@USE_NVENC_FALSE@NVENC_DIR =
@USE_NVENC_TRUE@NVENC_DIR = nvenc
-SUBDIRS = $(ACM_DIR) $(ANDROID_MEDIA_DIR) $(APPLE_MEDIA_DIR) $(AVC_DIR) $(BLUEZ_DIR) $(D3DVIDEOSINK_DIR) $(DECKLINK_DIR) $(DIRECTSOUND_DIR) $(WINKS_DIR) $(DVB_DIR) $(FBDEV_DIR) $(LINSYS_DIR) $(OPENSLES_DIR) $(PVR_DIR) $(SHM_DIR) $(UVCH264_DIR) $(VCD_DIR) $(VDPAU_DIR) $(WININET_DIR) $(WINSCREENCAP_DIR) $(WASAPI_DIR) $(NVENC_DIR)
+@USE_TINYALSA_FALSE@TINYALSA_DIR =
+@USE_TINYALSA_TRUE@TINYALSA_DIR = tinyalsa
+SUBDIRS = $(ACM_DIR) $(ANDROID_MEDIA_DIR) $(APPLE_MEDIA_DIR) $(AVC_DIR) $(BLUEZ_DIR) $(D3DVIDEOSINK_DIR) $(DECKLINK_DIR) $(DIRECTSOUND_DIR) $(WINKS_DIR) $(DVB_DIR) $(FBDEV_DIR) $(LINSYS_DIR) $(OPENSLES_DIR) $(PVR_DIR) $(SHM_DIR) $(UVCH264_DIR) $(VCD_DIR) $(VDPAU_DIR) $(WININET_DIR) $(WINSCREENCAP_DIR) $(WASAPI_DIR) $(NVENC_DIR) $(TINYALSA_DIR)
DIST_SUBDIRS = acmenc acmmp3dec androidmedia applemedia applemedia-nonpublic avc bluez d3dvideosink decklink directsound dvb linsys fbdev dshowdecwrapper dshowsrcwrapper dshowvideosink \
opensles pvr2d shm uvch264 vcd vdpau wasapi wininet winks winscreencap \
- nvenc
+ nvenc tinyalsa
all: all-recursive
diff --git a/sys/acmenc/Makefile.in b/sys/acmenc/Makefile.in
index bb753fe..069cdbe 100644
--- a/sys/acmenc/Makefile.in
+++ b/sys/acmenc/Makefile.in
@@ -115,16 +115,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -320,7 +319,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -342,7 +340,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -364,9 +361,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -528,6 +522,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -541,8 +536,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -629,8 +622,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -682,6 +673,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -702,6 +694,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -739,7 +733,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/sys/acmenc/acmenc.c b/sys/acmenc/acmenc.c
index 601c937..7a1c1ff 100644
--- a/sys/acmenc/acmenc.c
+++ b/sys/acmenc/acmenc.c
@@ -407,7 +407,6 @@
GstCaps *caps;
gst_event_parse_caps (event, &caps);
return acmenc_sink_setcaps (pad, caps);
- break;
}
case GST_EVENT_EOS:
acmenc_finish_stream (enc);
diff --git a/sys/acmmp3dec/Makefile.in b/sys/acmmp3dec/Makefile.in
index 125375f..aea6639 100644
--- a/sys/acmmp3dec/Makefile.in
+++ b/sys/acmmp3dec/Makefile.in
@@ -115,16 +115,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -320,7 +319,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -342,7 +340,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -364,9 +361,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -528,6 +522,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -541,8 +536,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -629,8 +622,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -682,6 +673,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -702,6 +694,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -739,7 +733,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/sys/acmmp3dec/acmmp3dec.c b/sys/acmmp3dec/acmmp3dec.c
index a0b9c36..7537691 100644
--- a/sys/acmmp3dec/acmmp3dec.c
+++ b/sys/acmmp3dec/acmmp3dec.c
@@ -365,7 +365,6 @@
GstCaps *caps;
gst_event_parse_caps (event, &caps);
return acmmp3dec_sink_setcaps (pad, caps);
- break;
}
case GST_EVENT_EOS:
acmmp3dec_finish_stream (dec);
diff --git a/sys/androidmedia/Makefile.am b/sys/androidmedia/Makefile.am
index a04b0ad..7ad9b6e 100644
--- a/sys/androidmedia/Makefile.am
+++ b/sys/androidmedia/Makefile.am
@@ -1,22 +1,30 @@
plugin_LTLIBRARIES = libgstandroidmedia.la
libgstandroidmedia_la_SOURCES = \
- gstamc.c \
+ gstahcsrc.c \
gstamcaudiodec.c \
- gstamcvideodec.c \
- gstamcvideoenc.c \
+ gstamc.c \
gstamcsurface.c \
gstamcsurfacetexture.c \
+ gstamcvideodec.c \
+ gstamcvideoenc.c \
+ gst-android-graphics-imageformat.c \
+ gst-android-graphics-surfacetexture.c \
+ gst-android-hardware-camera.c \
gstjniutils.c
noinst_HEADERS = \
- gstamc.h \
- gstamc-constants.h \
+ gstahcsrc.h \
gstamcaudiodec.h \
- gstamcvideodec.h \
- gstamcvideoenc.h \
+ gstamc-constants.h \
+ gstamc.h \
gstamcsurface.h \
gstamcsurfacetexture.h \
+ gstamcvideodec.h \
+ gstamcvideoenc.h \
+ gst-android-graphics-imageformat.h \
+ gst-android-graphics-surfacetexture.h \
+ gst-android-hardware-camera.h \
gstjniutils.h
libgstandroidmedia_la_CFLAGS = \
@@ -25,8 +33,11 @@
$(GST_PLUGINS_BASE_CFLAGS) \
$(GST_BASE_CFLAGS) \
$(GST_CFLAGS) \
- $(ORC_CFLAGS)
+ $(ORC_CFLAGS) \
+ -DGST_USE_UNSTABLE_API
+
libgstandroidmedia_la_LIBADD = \
+ $(top_builddir)/gst-libs/gst/interfaces/libgstphotography-$(GST_API_VERSION).la \
$(top_builddir)/gst-libs/gst/gl/libgstgl-$(GST_API_VERSION).la \
$(GST_PLUGINS_BASE_LIBS) \
-lgstaudio-@GST_API_VERSION@ \
@@ -39,4 +50,6 @@
libgstandroidmedia_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
androidmedia_java_classesdir = $(datadir)/gst-android/ndk-build/androidmedia/
-androidmedia_java_classes_DATA = org/freedesktop/gstreamer/androidmedia/GstAmcOnFrameAvailableListener.java
+androidmedia_java_classes_DATA = \
+ org/freedesktop/gstreamer/androidmedia/GstAhcCallback.java \
+ org/freedesktop/gstreamer/androidmedia/GstAmcOnFrameAvailableListener.java
diff --git a/sys/androidmedia/Makefile.in b/sys/androidmedia/Makefile.in
index 898b742..946a2b6 100644
--- a/sys/androidmedia/Makefile.in
+++ b/sys/androidmedia/Makefile.in
@@ -117,16 +117,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -166,15 +165,20 @@
"$(DESTDIR)$(androidmedia_java_classesdir)"
LTLIBRARIES = $(plugin_LTLIBRARIES)
am__DEPENDENCIES_1 =
-libgstandroidmedia_la_DEPENDENCIES = $(top_builddir)/gst-libs/gst/gl/libgstgl-$(GST_API_VERSION).la \
+libgstandroidmedia_la_DEPENDENCIES = $(top_builddir)/gst-libs/gst/interfaces/libgstphotography-$(GST_API_VERSION).la \
+ $(top_builddir)/gst-libs/gst/gl/libgstgl-$(GST_API_VERSION).la \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
-am_libgstandroidmedia_la_OBJECTS = libgstandroidmedia_la-gstamc.lo \
+am_libgstandroidmedia_la_OBJECTS = libgstandroidmedia_la-gstahcsrc.lo \
libgstandroidmedia_la-gstamcaudiodec.lo \
- libgstandroidmedia_la-gstamcvideodec.lo \
- libgstandroidmedia_la-gstamcvideoenc.lo \
+ libgstandroidmedia_la-gstamc.lo \
libgstandroidmedia_la-gstamcsurface.lo \
libgstandroidmedia_la-gstamcsurfacetexture.lo \
+ libgstandroidmedia_la-gstamcvideodec.lo \
+ libgstandroidmedia_la-gstamcvideoenc.lo \
+ libgstandroidmedia_la-gst-android-graphics-imageformat.lo \
+ libgstandroidmedia_la-gst-android-graphics-surfacetexture.lo \
+ libgstandroidmedia_la-gst-android-hardware-camera.lo \
libgstandroidmedia_la-gstjniutils.lo
libgstandroidmedia_la_OBJECTS = $(am_libgstandroidmedia_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
@@ -333,7 +337,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -355,7 +358,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -377,9 +379,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -541,6 +540,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -554,8 +554,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -642,8 +640,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -695,6 +691,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -715,6 +712,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -752,7 +751,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -794,22 +792,30 @@
wayland_scanner = @wayland_scanner@
plugin_LTLIBRARIES = libgstandroidmedia.la
libgstandroidmedia_la_SOURCES = \
- gstamc.c \
+ gstahcsrc.c \
gstamcaudiodec.c \
- gstamcvideodec.c \
- gstamcvideoenc.c \
+ gstamc.c \
gstamcsurface.c \
gstamcsurfacetexture.c \
+ gstamcvideodec.c \
+ gstamcvideoenc.c \
+ gst-android-graphics-imageformat.c \
+ gst-android-graphics-surfacetexture.c \
+ gst-android-hardware-camera.c \
gstjniutils.c
noinst_HEADERS = \
- gstamc.h \
- gstamc-constants.h \
+ gstahcsrc.h \
gstamcaudiodec.h \
- gstamcvideodec.h \
- gstamcvideoenc.h \
+ gstamc-constants.h \
+ gstamc.h \
gstamcsurface.h \
gstamcsurfacetexture.h \
+ gstamcvideodec.h \
+ gstamcvideoenc.h \
+ gst-android-graphics-imageformat.h \
+ gst-android-graphics-surfacetexture.h \
+ gst-android-hardware-camera.h \
gstjniutils.h
libgstandroidmedia_la_CFLAGS = \
@@ -818,9 +824,11 @@
$(GST_PLUGINS_BASE_CFLAGS) \
$(GST_BASE_CFLAGS) \
$(GST_CFLAGS) \
- $(ORC_CFLAGS)
+ $(ORC_CFLAGS) \
+ -DGST_USE_UNSTABLE_API
libgstandroidmedia_la_LIBADD = \
+ $(top_builddir)/gst-libs/gst/interfaces/libgstphotography-$(GST_API_VERSION).la \
$(top_builddir)/gst-libs/gst/gl/libgstgl-$(GST_API_VERSION).la \
$(GST_PLUGINS_BASE_LIBS) \
-lgstaudio-@GST_API_VERSION@ \
@@ -833,7 +841,10 @@
libgstandroidmedia_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstandroidmedia_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
androidmedia_java_classesdir = $(datadir)/gst-android/ndk-build/androidmedia/
-androidmedia_java_classes_DATA = org/freedesktop/gstreamer/androidmedia/GstAmcOnFrameAvailableListener.java
+androidmedia_java_classes_DATA = \
+ org/freedesktop/gstreamer/androidmedia/GstAhcCallback.java \
+ org/freedesktop/gstreamer/androidmedia/GstAmcOnFrameAvailableListener.java
+
all: all-am
.SUFFIXES:
@@ -912,6 +923,10 @@
distclean-compile:
-rm -f *.tab.c
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstandroidmedia_la-gst-android-graphics-imageformat.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstandroidmedia_la-gst-android-graphics-surfacetexture.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstandroidmedia_la-gst-android-hardware-camera.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstandroidmedia_la-gstahcsrc.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstandroidmedia_la-gstamc.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstandroidmedia_la-gstamcaudiodec.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstandroidmedia_la-gstamcsurface.Plo@am__quote@
@@ -944,12 +959,12 @@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-libgstandroidmedia_la-gstamc.lo: gstamc.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -MT libgstandroidmedia_la-gstamc.lo -MD -MP -MF $(DEPDIR)/libgstandroidmedia_la-gstamc.Tpo -c -o libgstandroidmedia_la-gstamc.lo `test -f 'gstamc.c' || echo '$(srcdir)/'`gstamc.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstandroidmedia_la-gstamc.Tpo $(DEPDIR)/libgstandroidmedia_la-gstamc.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstamc.c' object='libgstandroidmedia_la-gstamc.lo' libtool=yes @AMDEPBACKSLASH@
+libgstandroidmedia_la-gstahcsrc.lo: gstahcsrc.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -MT libgstandroidmedia_la-gstahcsrc.lo -MD -MP -MF $(DEPDIR)/libgstandroidmedia_la-gstahcsrc.Tpo -c -o libgstandroidmedia_la-gstahcsrc.lo `test -f 'gstahcsrc.c' || echo '$(srcdir)/'`gstahcsrc.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstandroidmedia_la-gstahcsrc.Tpo $(DEPDIR)/libgstandroidmedia_la-gstahcsrc.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstahcsrc.c' object='libgstandroidmedia_la-gstahcsrc.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 $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -c -o libgstandroidmedia_la-gstamc.lo `test -f 'gstamc.c' || echo '$(srcdir)/'`gstamc.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -c -o libgstandroidmedia_la-gstahcsrc.lo `test -f 'gstahcsrc.c' || echo '$(srcdir)/'`gstahcsrc.c
libgstandroidmedia_la-gstamcaudiodec.lo: gstamcaudiodec.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -MT libgstandroidmedia_la-gstamcaudiodec.lo -MD -MP -MF $(DEPDIR)/libgstandroidmedia_la-gstamcaudiodec.Tpo -c -o libgstandroidmedia_la-gstamcaudiodec.lo `test -f 'gstamcaudiodec.c' || echo '$(srcdir)/'`gstamcaudiodec.c
@@ -958,6 +973,27 @@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -c -o libgstandroidmedia_la-gstamcaudiodec.lo `test -f 'gstamcaudiodec.c' || echo '$(srcdir)/'`gstamcaudiodec.c
+libgstandroidmedia_la-gstamc.lo: gstamc.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -MT libgstandroidmedia_la-gstamc.lo -MD -MP -MF $(DEPDIR)/libgstandroidmedia_la-gstamc.Tpo -c -o libgstandroidmedia_la-gstamc.lo `test -f 'gstamc.c' || echo '$(srcdir)/'`gstamc.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstandroidmedia_la-gstamc.Tpo $(DEPDIR)/libgstandroidmedia_la-gstamc.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstamc.c' object='libgstandroidmedia_la-gstamc.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 $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -c -o libgstandroidmedia_la-gstamc.lo `test -f 'gstamc.c' || echo '$(srcdir)/'`gstamc.c
+
+libgstandroidmedia_la-gstamcsurface.lo: gstamcsurface.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -MT libgstandroidmedia_la-gstamcsurface.lo -MD -MP -MF $(DEPDIR)/libgstandroidmedia_la-gstamcsurface.Tpo -c -o libgstandroidmedia_la-gstamcsurface.lo `test -f 'gstamcsurface.c' || echo '$(srcdir)/'`gstamcsurface.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstandroidmedia_la-gstamcsurface.Tpo $(DEPDIR)/libgstandroidmedia_la-gstamcsurface.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstamcsurface.c' object='libgstandroidmedia_la-gstamcsurface.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 $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -c -o libgstandroidmedia_la-gstamcsurface.lo `test -f 'gstamcsurface.c' || echo '$(srcdir)/'`gstamcsurface.c
+
+libgstandroidmedia_la-gstamcsurfacetexture.lo: gstamcsurfacetexture.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -MT libgstandroidmedia_la-gstamcsurfacetexture.lo -MD -MP -MF $(DEPDIR)/libgstandroidmedia_la-gstamcsurfacetexture.Tpo -c -o libgstandroidmedia_la-gstamcsurfacetexture.lo `test -f 'gstamcsurfacetexture.c' || echo '$(srcdir)/'`gstamcsurfacetexture.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstandroidmedia_la-gstamcsurfacetexture.Tpo $(DEPDIR)/libgstandroidmedia_la-gstamcsurfacetexture.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstamcsurfacetexture.c' object='libgstandroidmedia_la-gstamcsurfacetexture.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 $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -c -o libgstandroidmedia_la-gstamcsurfacetexture.lo `test -f 'gstamcsurfacetexture.c' || echo '$(srcdir)/'`gstamcsurfacetexture.c
+
libgstandroidmedia_la-gstamcvideodec.lo: gstamcvideodec.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -MT libgstandroidmedia_la-gstamcvideodec.lo -MD -MP -MF $(DEPDIR)/libgstandroidmedia_la-gstamcvideodec.Tpo -c -o libgstandroidmedia_la-gstamcvideodec.lo `test -f 'gstamcvideodec.c' || echo '$(srcdir)/'`gstamcvideodec.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstandroidmedia_la-gstamcvideodec.Tpo $(DEPDIR)/libgstandroidmedia_la-gstamcvideodec.Plo
@@ -972,19 +1008,26 @@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -c -o libgstandroidmedia_la-gstamcvideoenc.lo `test -f 'gstamcvideoenc.c' || echo '$(srcdir)/'`gstamcvideoenc.c
-libgstandroidmedia_la-gstamcsurface.lo: gstamcsurface.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -MT libgstandroidmedia_la-gstamcsurface.lo -MD -MP -MF $(DEPDIR)/libgstandroidmedia_la-gstamcsurface.Tpo -c -o libgstandroidmedia_la-gstamcsurface.lo `test -f 'gstamcsurface.c' || echo '$(srcdir)/'`gstamcsurface.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstandroidmedia_la-gstamcsurface.Tpo $(DEPDIR)/libgstandroidmedia_la-gstamcsurface.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstamcsurface.c' object='libgstandroidmedia_la-gstamcsurface.lo' libtool=yes @AMDEPBACKSLASH@
+libgstandroidmedia_la-gst-android-graphics-imageformat.lo: gst-android-graphics-imageformat.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -MT libgstandroidmedia_la-gst-android-graphics-imageformat.lo -MD -MP -MF $(DEPDIR)/libgstandroidmedia_la-gst-android-graphics-imageformat.Tpo -c -o libgstandroidmedia_la-gst-android-graphics-imageformat.lo `test -f 'gst-android-graphics-imageformat.c' || echo '$(srcdir)/'`gst-android-graphics-imageformat.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstandroidmedia_la-gst-android-graphics-imageformat.Tpo $(DEPDIR)/libgstandroidmedia_la-gst-android-graphics-imageformat.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gst-android-graphics-imageformat.c' object='libgstandroidmedia_la-gst-android-graphics-imageformat.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 $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -c -o libgstandroidmedia_la-gstamcsurface.lo `test -f 'gstamcsurface.c' || echo '$(srcdir)/'`gstamcsurface.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -c -o libgstandroidmedia_la-gst-android-graphics-imageformat.lo `test -f 'gst-android-graphics-imageformat.c' || echo '$(srcdir)/'`gst-android-graphics-imageformat.c
-libgstandroidmedia_la-gstamcsurfacetexture.lo: gstamcsurfacetexture.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -MT libgstandroidmedia_la-gstamcsurfacetexture.lo -MD -MP -MF $(DEPDIR)/libgstandroidmedia_la-gstamcsurfacetexture.Tpo -c -o libgstandroidmedia_la-gstamcsurfacetexture.lo `test -f 'gstamcsurfacetexture.c' || echo '$(srcdir)/'`gstamcsurfacetexture.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstandroidmedia_la-gstamcsurfacetexture.Tpo $(DEPDIR)/libgstandroidmedia_la-gstamcsurfacetexture.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstamcsurfacetexture.c' object='libgstandroidmedia_la-gstamcsurfacetexture.lo' libtool=yes @AMDEPBACKSLASH@
+libgstandroidmedia_la-gst-android-graphics-surfacetexture.lo: gst-android-graphics-surfacetexture.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -MT libgstandroidmedia_la-gst-android-graphics-surfacetexture.lo -MD -MP -MF $(DEPDIR)/libgstandroidmedia_la-gst-android-graphics-surfacetexture.Tpo -c -o libgstandroidmedia_la-gst-android-graphics-surfacetexture.lo `test -f 'gst-android-graphics-surfacetexture.c' || echo '$(srcdir)/'`gst-android-graphics-surfacetexture.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstandroidmedia_la-gst-android-graphics-surfacetexture.Tpo $(DEPDIR)/libgstandroidmedia_la-gst-android-graphics-surfacetexture.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gst-android-graphics-surfacetexture.c' object='libgstandroidmedia_la-gst-android-graphics-surfacetexture.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 $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -c -o libgstandroidmedia_la-gstamcsurfacetexture.lo `test -f 'gstamcsurfacetexture.c' || echo '$(srcdir)/'`gstamcsurfacetexture.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -c -o libgstandroidmedia_la-gst-android-graphics-surfacetexture.lo `test -f 'gst-android-graphics-surfacetexture.c' || echo '$(srcdir)/'`gst-android-graphics-surfacetexture.c
+
+libgstandroidmedia_la-gst-android-hardware-camera.lo: gst-android-hardware-camera.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -MT libgstandroidmedia_la-gst-android-hardware-camera.lo -MD -MP -MF $(DEPDIR)/libgstandroidmedia_la-gst-android-hardware-camera.Tpo -c -o libgstandroidmedia_la-gst-android-hardware-camera.lo `test -f 'gst-android-hardware-camera.c' || echo '$(srcdir)/'`gst-android-hardware-camera.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstandroidmedia_la-gst-android-hardware-camera.Tpo $(DEPDIR)/libgstandroidmedia_la-gst-android-hardware-camera.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gst-android-hardware-camera.c' object='libgstandroidmedia_la-gst-android-hardware-camera.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 $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -c -o libgstandroidmedia_la-gst-android-hardware-camera.lo `test -f 'gst-android-hardware-camera.c' || echo '$(srcdir)/'`gst-android-hardware-camera.c
libgstandroidmedia_la-gstjniutils.lo: gstjniutils.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -MT libgstandroidmedia_la-gstjniutils.lo -MD -MP -MF $(DEPDIR)/libgstandroidmedia_la-gstjniutils.Tpo -c -o libgstandroidmedia_la-gstjniutils.lo `test -f 'gstjniutils.c' || echo '$(srcdir)/'`gstjniutils.c
diff --git a/sys/androidmedia/gst-android-graphics-imageformat.c b/sys/androidmedia/gst-android-graphics-imageformat.c
new file mode 100644
index 0000000..5b76fcd
--- /dev/null
+++ b/sys/androidmedia/gst-android-graphics-imageformat.c
@@ -0,0 +1,193 @@
+/*
+ * Copyright (C) 2012, Collabora Ltd.
+ * Copyright (C) 2012, Cisco Systems, Inc.
+ * Author: Youness Alaoui <youness.alaoui@collabora.co.uk>
+ *
+ * Copyright (C) 2015, Collabora Ltd.
+ * Author: Justin Kim <justin.kim@collabora.com>
+ *
+ * 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
+ * version 2.1 of the License.
+ *
+ * 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 Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "gstjniutils.h"
+
+#include "gst-android-graphics-imageformat.h"
+
+
+static struct
+{
+ jclass klass;
+ jmethodID get_bits_per_pixel;
+ jint JPEG;
+ jint NV16;
+ jint NV21;
+ jint RGB_565;
+ jint UNKNOWN;
+ jint YUY2;
+ jint YV12;
+} android_graphics_imageformat = {
+0};
+
+gint ImageFormat_JPEG;
+gint ImageFormat_NV16;
+gint ImageFormat_NV21;
+gint ImageFormat_RGB_565;
+gint ImageFormat_UNKNOWN;
+gint ImageFormat_YUY2;
+gint ImageFormat_YV12;
+
+static gboolean
+_init_classes (void)
+{
+ JNIEnv *env;
+
+ jfieldID fieldID;
+ jclass klass;
+
+ GError *err = NULL;
+
+ env = gst_amc_jni_get_env ();
+
+ /* android.graphics.ImageFormat */
+ klass = android_graphics_imageformat.klass =
+ gst_amc_jni_get_class (env, &err, "android/graphics/ImageFormat");
+
+ if (err)
+ goto failed;
+
+ android_graphics_imageformat.get_bits_per_pixel =
+ gst_amc_jni_get_static_method_id (env, &err, klass,
+ "getBitsPerPixel", "(I)I");
+
+ if (err)
+ goto failed;
+
+ fieldID = gst_amc_jni_get_static_field_id (env, &err, klass, "JPEG", "I");
+ if (err)
+ goto failed;
+ if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID,
+ &android_graphics_imageformat.JPEG))
+ goto failed;
+ ImageFormat_JPEG = android_graphics_imageformat.JPEG;
+
+ fieldID = gst_amc_jni_get_static_field_id (env, &err, klass, "NV16", "I");
+ if (err)
+ goto failed;
+ if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID,
+ &android_graphics_imageformat.NV16))
+ goto failed;
+ ImageFormat_NV16 = android_graphics_imageformat.NV16;
+
+ fieldID = gst_amc_jni_get_static_field_id (env, &err, klass, "NV21", "I");
+ if (err)
+ goto failed;
+ if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID,
+ &android_graphics_imageformat.NV21))
+ goto failed;
+ ImageFormat_NV21 = android_graphics_imageformat.NV21;
+
+ fieldID = gst_amc_jni_get_static_field_id (env, &err, klass, "RGB_565", "I");
+ if (err)
+ goto failed;
+ if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID,
+ &android_graphics_imageformat.RGB_565))
+ goto failed;
+ ImageFormat_RGB_565 = android_graphics_imageformat.RGB_565;
+
+ fieldID = gst_amc_jni_get_static_field_id (env, &err, klass, "UNKNOWN", "I");
+ if (err)
+ goto failed;
+ if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID,
+ &android_graphics_imageformat.UNKNOWN))
+ goto failed;
+ ImageFormat_UNKNOWN = android_graphics_imageformat.UNKNOWN;
+
+ fieldID = gst_amc_jni_get_static_field_id (env, &err, klass, "YUY2", "I");
+ if (err)
+ goto failed;
+ if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID,
+ &android_graphics_imageformat.YUY2))
+ goto failed;
+ ImageFormat_YUY2 = android_graphics_imageformat.YUY2;
+
+ fieldID = gst_amc_jni_get_static_field_id (env, &err, klass, "YV12", "I");
+ if (err)
+ goto failed;
+ if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID,
+ &android_graphics_imageformat.YV12))
+ goto failed;
+ ImageFormat_YV12 = android_graphics_imageformat.YV12;
+
+ return TRUE;
+
+failed:
+ if (err) {
+ GST_ERROR ("Failed to get android.graphics.ImageFormat class: %s",
+ err->message);
+ g_clear_error (&err);
+ }
+
+ return FALSE;
+}
+
+gboolean
+gst_android_graphics_imageformat_init (void)
+{
+ if (!_init_classes ()) {
+ gst_android_graphics_imageformat_deinit ();
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+void
+gst_android_graphics_imageformat_deinit (void)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+
+ if (android_graphics_imageformat.klass)
+ (*env)->DeleteGlobalRef (env, android_graphics_imageformat.klass);
+ android_graphics_imageformat.klass = NULL;
+}
+
+/* android.graphics.ImageFormat */
+gint
+gst_ag_imageformat_get_bits_per_pixel (gint format)
+{
+ JNIEnv *env;
+ GError *err = NULL;
+
+ jclass klass = android_graphics_imageformat.klass;
+
+ jint bpp = 0;
+
+ env = gst_amc_jni_get_env ();
+
+ if (!gst_amc_jni_call_static_int_method (env, &err,
+ klass, android_graphics_imageformat.get_bits_per_pixel, &bpp,
+ format)) {
+ GST_ERROR ("Failed to get android.graphics.ImageFormat class: %s",
+ err->message);
+ g_clear_error (&err);
+ }
+
+ return bpp;
+}
diff --git a/sys/androidmedia/gst-android-graphics-imageformat.h b/sys/androidmedia/gst-android-graphics-imageformat.h
new file mode 100644
index 0000000..aff218b
--- /dev/null
+++ b/sys/androidmedia/gst-android-graphics-imageformat.h
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2012, Collabora Ltd.
+ * Copyright (C) 2012, Cisco Systems, Inc.
+ * Author: Youness Alaoui <youness.alaoui@collabora.co.uk>
+ *
+ * Copyright (C) 2015, Collabora Ltd.
+ * Author: Justin Kim <justin.kim@collabora.com>
+ *
+ * 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
+ * version 2.1 of the License.
+ *
+ * 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 Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+
+#ifndef __GST_ANDROID_GRAPHICS_IMAGEFORMAT_H__
+#define __GST_ANDROID_GRAPHICS_IMAGEFORMAT_H__
+
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+
+/* android.graphics.ImageFormat */
+extern gint ImageFormat_JPEG;
+extern gint ImageFormat_NV16;
+extern gint ImageFormat_NV21;
+extern gint ImageFormat_RGB_565;
+extern gint ImageFormat_UNKNOWN;
+extern gint ImageFormat_YUY2;
+extern gint ImageFormat_YV12;
+
+gboolean gst_android_graphics_imageformat_init (void);
+void gst_android_graphics_imageformat_deinit (void);
+
+gint gst_ag_imageformat_get_bits_per_pixel (gint format);
+
+G_END_DECLS
+
+#endif /* __GST_ANDROID_GRAPHICS_IMAGEFORMAT_H__ */
+
diff --git a/sys/androidmedia/gst-android-graphics-surfacetexture.c b/sys/androidmedia/gst-android-graphics-surfacetexture.c
new file mode 100644
index 0000000..84993a8
--- /dev/null
+++ b/sys/androidmedia/gst-android-graphics-surfacetexture.c
@@ -0,0 +1,144 @@
+/*
+ * Copyright (C) 2012, Collabora Ltd.
+ * Copyright (C) 2012, Cisco Systems, Inc.
+ * Author: Youness Alaoui <youness.alaoui@collabora.co.uk>
+ *
+ * Copyright (C) 2015, Collabora Ltd.
+ * Author: Justin Kim <justin.kim@collabora.com>
+ *
+ * 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
+ * version 2.1 of the License.
+ *
+ * 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 Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "gstjniutils.h"
+
+#include "gst-android-graphics-surfacetexture.h"
+
+static struct
+{
+ jclass klass;
+ jmethodID constructor;
+ jmethodID release;
+} android_graphics_surfacetexture = {
+0};
+
+static gboolean
+_init_classes (void)
+{
+ JNIEnv *env;
+ GError *err = NULL;
+
+ env = gst_amc_jni_get_env ();
+
+ /* android.graphics.SurfaceTexture */
+ android_graphics_surfacetexture.klass =
+ gst_amc_jni_get_class (env, &err, "android/graphics/SurfaceTexture");
+
+ if (!android_graphics_surfacetexture.klass) {
+ GST_ERROR ("Failed to get android.graphics.SurfaceTexture class: %s",
+ err->message);
+ g_clear_error (&err);
+ return FALSE;
+ }
+
+ android_graphics_surfacetexture.constructor =
+ gst_amc_jni_get_method_id (env, &err,
+ android_graphics_surfacetexture.klass, "<init>", "(I)V");
+ android_graphics_surfacetexture.release =
+ gst_amc_jni_get_method_id (env, &err,
+ android_graphics_surfacetexture.klass, "release", "()V");
+
+ return TRUE;
+}
+
+gboolean
+gst_android_graphics_surfacetexture_init (void)
+{
+ if (!_init_classes ()) {
+ gst_android_graphics_surfacetexture_deinit ();
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+void
+gst_android_graphics_surfacetexture_deinit (void)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+
+ if (android_graphics_surfacetexture.klass)
+ (*env)->DeleteGlobalRef (env, android_graphics_surfacetexture.klass);
+ android_graphics_surfacetexture.klass = NULL;
+}
+
+/* android.graphics.SurfaceTexture */
+GstAGSurfaceTexture *
+gst_ag_surfacetexture_new (gint texture_id)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ jobject object = NULL;
+ GstAGSurfaceTexture *tex = NULL;
+
+ object = (*env)->NewObject (env,
+ android_graphics_surfacetexture.klass,
+ android_graphics_surfacetexture.constructor, texture_id);
+ if ((*env)->ExceptionCheck (env) || !object) {
+ GST_ERROR ("Failed to call Java method");
+ (*env)->ExceptionClear (env);
+ return NULL;
+ }
+
+ tex = g_slice_new0 (GstAGSurfaceTexture);
+ tex->object = (*env)->NewGlobalRef (env, object);
+ if (!tex->object) {
+ GST_ERROR ("Failed to create global reference");
+ (*env)->ExceptionClear (env);
+ g_slice_free (GstAGSurfaceTexture, tex);
+ tex = NULL;
+ }
+ (*env)->DeleteLocalRef (env, object);
+
+ return tex;
+}
+
+void
+gst_ag_surfacetexture_release (GstAGSurfaceTexture * self)
+{
+ JNIEnv *env;
+ GError *err = NULL;
+
+ env = gst_amc_jni_get_env ();
+
+ if (!gst_amc_jni_call_void_method (env, &err, self->object,
+ android_graphics_surfacetexture.release)) {
+ GST_ERROR ("Failed to call release: %s", err->message);
+ g_clear_error (&err);
+ }
+
+}
+
+void
+gst_ag_surfacetexture_free (GstAGSurfaceTexture * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+
+ (*env)->DeleteGlobalRef (env, self->object);
+ g_slice_free (GstAGSurfaceTexture, self);
+}
diff --git a/sys/androidmedia/gst-android-graphics-surfacetexture.h b/sys/androidmedia/gst-android-graphics-surfacetexture.h
new file mode 100644
index 0000000..3bb80ca
--- /dev/null
+++ b/sys/androidmedia/gst-android-graphics-surfacetexture.h
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2012, Collabora Ltd.
+ * Copyright (C) 2012, Cisco Systems, Inc.
+ * Author: Youness Alaoui <youness.alaoui@collabora.co.uk>
+ *
+ * Copyright (C) 2015, Collabora Ltd.
+ * Author: Justin Kim <justin.kim@collabora.com>
+ *
+ * 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
+ * version 2.1 of the License.
+ *
+ * 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 Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+
+#ifndef __GST_ANDROID_GRAPHICS_SURFACETEXTURE_H__
+#define __GST_ANDROID_GRAPHICS_SURFACETEXTURE_H__
+
+#include <gst/gst.h>
+#include <jni.h>
+
+
+G_BEGIN_DECLS
+
+typedef struct _GstAGSurfaceTexture GstAGSurfaceTexture;
+
+/* android.graphics.SurfaceTexture */
+struct _GstAGSurfaceTexture {
+ /* < private > */
+ jobject object; /* global reference */
+};
+
+
+gboolean gst_android_graphics_surfacetexture_init (void);
+void gst_android_graphics_surfacetexture_deinit (void);
+
+/* android.graphics.SurfaceTexture */
+GstAGSurfaceTexture *gst_ag_surfacetexture_new (gint texture_id);
+void gst_ag_surfacetexture_release (GstAGSurfaceTexture *self);
+void gst_ag_surfacetexture_free (GstAGSurfaceTexture *self);
+
+G_END_DECLS
+
+#endif /* __GST_ANDROID_GRAPHICS_SURFACETEXTURE_H__ */
+
diff --git a/sys/androidmedia/gst-android-hardware-camera.c b/sys/androidmedia/gst-android-hardware-camera.c
new file mode 100644
index 0000000..3a78470
--- /dev/null
+++ b/sys/androidmedia/gst-android-hardware-camera.c
@@ -0,0 +1,3884 @@
+/*
+ * Copyright (C) 2012, Collabora Ltd.
+ * Copyright (C) 2012, Cisco Systems, Inc.
+ * Author: Youness Alaoui <youness.alaoui@collabora.co.uk>
+ *
+ * Copyright (C) 2015, Collabora Ltd.
+ * Author: Justin Kim <justin.kim@collabora.com>
+ *
+ * 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
+ * version 2.1 of the License.
+ *
+ * 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 Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "gstjniutils.h"
+
+#include "gst-android-hardware-camera.h"
+#include "stdio.h"
+
+GST_DEBUG_CATEGORY_STATIC (ahc_debug);
+#define GST_CAT_DEFAULT ahc_debug
+
+#define GST_DVM_STATIC_CALL(error_statement, type, k, method, ...) \
+ (*env)->CallStatic##type##Method (env, k.klass, k.method, ## __VA_ARGS__); \
+ if ((*env)->ExceptionCheck (env)) { \
+ GST_ERROR ("Failed to call Java method"); \
+ (*env)->ExceptionDescribe (env); \
+ (*env)->ExceptionClear (env); \
+ error_statement; \
+ }
+
+#define GST_DVM_CALL(error_statement, obj, type, k, method, ...) \
+ (*env)->Call##type##Method (env, obj, k.method, ## __VA_ARGS__); \
+ if ((*env)->ExceptionCheck (env)) { \
+ GST_ERROR ("Failed to call Java method"); \
+ (*env)->ExceptionDescribe (env); \
+ (*env)->ExceptionClear (env); \
+ error_statement; \
+ }
+
+
+
+static struct
+{
+ jclass klass;
+ jmethodID addCallbackBuffer;
+ jmethodID autoFocus;
+ jmethodID cancelAutoFocus;
+ jmethodID getCameraInfo;
+ jmethodID getNumberOfCameras;
+ jmethodID getParameters;
+ jmethodID lock;
+ jmethodID open;
+ jmethodID reconnect;
+ jmethodID release;
+ jmethodID setErrorCallback;
+ jmethodID setParameters;
+ jmethodID setPreviewCallbackWithBuffer;
+ jmethodID setPreviewTexture;
+ jmethodID startPreview;
+ jmethodID startSmoothZoom;
+ jmethodID stopPreview;
+ jmethodID stopSmoothZoom;
+ jmethodID unlock;
+} android_hardware_camera = {
+0};
+
+static struct
+{
+ jclass klass;
+ jmethodID constructor;
+ jfieldID facing;
+ jfieldID orientation;
+ jint CAMERA_FACING_BACK;
+ jint CAMERA_FACING_FRONT;
+} android_hardware_camera_camerainfo = {
+0};
+
+gint CameraInfo_CAMERA_FACING_BACK;
+gint CameraInfo_CAMERA_FACING_FRONT;
+
+static struct
+{
+ jclass klass;
+ jfieldID width;
+ jfieldID height;
+} android_hardware_camera_size = {
+0};
+
+static struct
+{
+ jclass klass;
+ jmethodID flatten;
+ jmethodID getAntibanding;
+ jmethodID getColorEffect;
+ jmethodID getExposureCompensation;
+ jmethodID getExposureCompensationStep;
+ jmethodID getFlashMode;
+ jmethodID getFocalLength;
+ jmethodID getFocusMode;
+ jmethodID getHorizontalViewAngle;
+ jmethodID getMaxExposureCompensation;
+ jmethodID getMaxZoom;
+ jmethodID getMinExposureCompensation;
+ jmethodID getPreviewFormat;
+ jmethodID getPreviewFpsRange;
+ jmethodID getPreviewSize;
+ jmethodID getSceneMode;
+ jmethodID getSupportedAntibanding;
+ jmethodID getSupportedColorEffects;
+ jmethodID getSupportedFlashModes;
+ jmethodID getSupportedFocusModes;
+ jmethodID getSupportedPreviewFormats;
+ jmethodID getSupportedPreviewFpsRange;
+ jmethodID getSupportedPreviewSizes;
+ jmethodID getSupportedSceneModes;
+ jmethodID getSupportedWhiteBalance;
+ jmethodID getVerticalViewAngle;
+ jmethodID getVideoStabilization;
+ jmethodID getWhiteBalance;
+ jmethodID getZoom;
+ jmethodID getZoomRatios;
+ jmethodID isSmoothZoomSupported;
+ jmethodID isVideoStabilizationSupported;
+ jmethodID isZoomSupported;
+ jmethodID setAntibanding;
+ jmethodID setColorEffect;
+ jmethodID setExposureCompensation;
+ jmethodID setFlashMode;
+ jmethodID setFocusMode;
+ jmethodID setPreviewFormat;
+ jmethodID setPreviewFpsRange;
+ jmethodID setPreviewSize;
+ jmethodID setSceneMode;
+ jmethodID setVideoStabilization;
+ jmethodID setWhiteBalance;
+ jmethodID setZoom;
+ jmethodID unflatten;
+ jstring WHITE_BALANCE_AUTO;
+ jstring WHITE_BALANCE_INCANDESCENT;
+ jstring WHITE_BALANCE_FLUORESCENT;
+ jstring WHITE_BALANCE_WARM_FLUORESCENT;
+ jstring WHITE_BALANCE_DAYLIGHT;
+ jstring WHITE_BALANCE_CLOUDY_DAYLIGHT;
+ jstring WHITE_BALANCE_TWILIGHT;
+ jstring WHITE_BALANCE_SHADE;
+ jstring EFFECT_NONE;
+ jstring EFFECT_MONO;
+ jstring EFFECT_NEGATIVE;
+ jstring EFFECT_SOLARIZE;
+ jstring EFFECT_SEPIA;
+ jstring EFFECT_POSTERIZE;
+ jstring EFFECT_WHITEBOARD;
+ jstring EFFECT_BLACKBOARD;
+ jstring EFFECT_AQUA;
+ jstring ANTIBANDING_AUTO;
+ jstring ANTIBANDING_50HZ;
+ jstring ANTIBANDING_60HZ;
+ jstring ANTIBANDING_OFF;
+ jstring FLASH_MODE_OFF;
+ jstring FLASH_MODE_AUTO;
+ jstring FLASH_MODE_ON;
+ jstring FLASH_MODE_RED_EYE;
+ jstring FLASH_MODE_TORCH;
+ jstring SCENE_MODE_AUTO;
+ jstring SCENE_MODE_ACTION;
+ jstring SCENE_MODE_PORTRAIT;
+ jstring SCENE_MODE_LANDSCAPE;
+ jstring SCENE_MODE_NIGHT;
+ jstring SCENE_MODE_NIGHT_PORTRAIT;
+ jstring SCENE_MODE_THEATRE;
+ jstring SCENE_MODE_BEACH;
+ jstring SCENE_MODE_SNOW;
+ jstring SCENE_MODE_SUNSET;
+ jstring SCENE_MODE_STEADYPHOTO;
+ jstring SCENE_MODE_FIREWORKS;
+ jstring SCENE_MODE_SPORTS;
+ jstring SCENE_MODE_PARTY;
+ jstring SCENE_MODE_CANDLELIGHT;
+ jstring SCENE_MODE_BARCODE;
+ jstring FOCUS_MODE_AUTO;
+ jstring FOCUS_MODE_INFINITY;
+ jstring FOCUS_MODE_MACRO;
+ jstring FOCUS_MODE_FIXED;
+ jstring FOCUS_MODE_EDOF;
+ jstring FOCUS_MODE_CONTINUOUS_VIDEO;
+ jstring FOCUS_MODE_CONTINUOUS_PICTURE;
+} android_hardware_camera_parameters = {
+0};
+
+const gchar *Parameters_WHITE_BALANCE_AUTO;
+const gchar *Parameters_WHITE_BALANCE_INCANDESCENT;
+const gchar *Parameters_WHITE_BALANCE_FLUORESCENT;
+const gchar *Parameters_WHITE_BALANCE_WARM_FLUORESCENT;
+const gchar *Parameters_WHITE_BALANCE_DAYLIGHT;
+const gchar *Parameters_WHITE_BALANCE_CLOUDY_DAYLIGHT;
+const gchar *Parameters_WHITE_BALANCE_TWILIGHT;
+const gchar *Parameters_WHITE_BALANCE_SHADE;
+const gchar *Parameters_EFFECT_NONE;
+const gchar *Parameters_EFFECT_MONO;
+const gchar *Parameters_EFFECT_NEGATIVE;
+const gchar *Parameters_EFFECT_SOLARIZE;
+const gchar *Parameters_EFFECT_SEPIA;
+const gchar *Parameters_EFFECT_POSTERIZE;
+const gchar *Parameters_EFFECT_WHITEBOARD;
+const gchar *Parameters_EFFECT_BLACKBOARD;
+const gchar *Parameters_EFFECT_AQUA;
+const gchar *Parameters_ANTIBANDING_AUTO;
+const gchar *Parameters_ANTIBANDING_50HZ;
+const gchar *Parameters_ANTIBANDING_60HZ;
+const gchar *Parameters_ANTIBANDING_OFF;
+const gchar *Parameters_FLASH_MODE_OFF;
+const gchar *Parameters_FLASH_MODE_AUTO;
+const gchar *Parameters_FLASH_MODE_ON;
+const gchar *Parameters_FLASH_MODE_RED_EYE;
+const gchar *Parameters_FLASH_MODE_TORCH;
+const gchar *Parameters_SCENE_MODE_AUTO;
+const gchar *Parameters_SCENE_MODE_ACTION;
+const gchar *Parameters_SCENE_MODE_PORTRAIT;
+const gchar *Parameters_SCENE_MODE_LANDSCAPE;
+const gchar *Parameters_SCENE_MODE_NIGHT;
+const gchar *Parameters_SCENE_MODE_NIGHT_PORTRAIT;
+const gchar *Parameters_SCENE_MODE_THEATRE;
+const gchar *Parameters_SCENE_MODE_BEACH;
+const gchar *Parameters_SCENE_MODE_SNOW;
+const gchar *Parameters_SCENE_MODE_SUNSET;
+const gchar *Parameters_SCENE_MODE_STEADYPHOTO;
+const gchar *Parameters_SCENE_MODE_FIREWORKS;
+const gchar *Parameters_SCENE_MODE_SPORTS;
+const gchar *Parameters_SCENE_MODE_PARTY;
+const gchar *Parameters_SCENE_MODE_CANDLELIGHT;
+const gchar *Parameters_SCENE_MODE_BARCODE;
+const gchar *Parameters_FOCUS_MODE_AUTO;
+const gchar *Parameters_FOCUS_MODE_INFINITY;
+const gchar *Parameters_FOCUS_MODE_MACRO;
+const gchar *Parameters_FOCUS_MODE_FIXED;
+const gchar *Parameters_FOCUS_MODE_EDOF;
+const gchar *Parameters_FOCUS_MODE_CONTINUOUS_VIDEO;
+const gchar *Parameters_FOCUS_MODE_CONTINUOUS_PICTURE;
+
+static struct
+{
+ jclass klass;
+ jmethodID iterator;
+} java_util_list = {
+0};
+
+static struct
+{
+ jclass klass;
+ jmethodID hasNext;
+ jmethodID next;
+} java_util_iterator = {
+0};
+
+static struct
+{
+ jclass klass;
+ jmethodID intValue;
+} java_lang_integer = {
+0};
+
+static struct
+{
+ jclass klass;
+ jmethodID equals;
+} java_lang_string = {
+0};
+
+static struct
+{
+ jclass klass;
+ jmethodID constructor;
+} org_freedesktop_gstreamer_androidmedia_gstahccallback = {
+0};
+
+static void
+gst_ah_camera_on_preview_frame (JNIEnv * env, jclass klass, jbyteArray data,
+ jobject camera, jlong callback, jlong user_data)
+{
+ GstAHCPreviewCallback cb = (GstAHCPreviewCallback) (gsize) callback;
+
+ if (cb)
+ cb (data, (gpointer) (gsize) user_data);
+}
+
+static void
+gst_ah_camera_on_error (JNIEnv * env, jclass klass, jint error,
+ jobject camera, jlong callback, jlong user_data)
+{
+ GstAHCErrorCallback cb = (GstAHCErrorCallback) (gsize) callback;
+
+ if (cb)
+ cb (error, (gpointer) (gsize) user_data);
+}
+
+static void
+gst_ah_camera_on_auto_focus (JNIEnv * env, jclass klass, jboolean success,
+ jobject camera, jlong callback, jlong user_data)
+{
+ GstAHCAutoFocusCallback cb = (GstAHCAutoFocusCallback) (gsize) callback;
+
+ if (cb)
+ cb (success, (gpointer) (gsize) user_data);
+}
+
+static JNINativeMethod native_methods[] = {
+ {(gchar *) "gst_ah_camera_on_preview_frame",
+ (gchar *) "([BLandroid/hardware/Camera;JJ)V",
+ (void *) gst_ah_camera_on_preview_frame},
+ {(gchar *) "gst_ah_camera_on_error",
+ (gchar *) "(ILandroid/hardware/Camera;JJ)V",
+ (void *) gst_ah_camera_on_error},
+// {(gchar *) "gst_ah_camera_on_auto_focus",
+// (gchar *) "(ZLandroid/hardware/Camera;JJ)V",
+// (void *) gst_ah_camera_on_auto_focus}
+};
+
+static gboolean
+_init_classes (void)
+{
+ JNIEnv *env;
+ GError *err = NULL;
+
+ jclass klass;
+ jfieldID fieldID;
+
+ env = gst_amc_jni_get_env ();
+
+ /* android.hardware.Camera */
+ klass = android_hardware_camera.klass =
+ gst_amc_jni_get_class (env, &err, "android/hardware/Camera");
+ if (!klass)
+ goto failed;
+
+ android_hardware_camera.addCallbackBuffer =
+ gst_amc_jni_get_method_id (env, &err, klass,
+ "addCallbackBuffer", "([B)V");
+
+ android_hardware_camera.autoFocus =
+ gst_amc_jni_get_method_id (env, &err, klass,
+ "autoFocus", "(Landroid/hardware/Camera$AutoFocusCallback;)V");
+
+ android_hardware_camera.cancelAutoFocus =
+ gst_amc_jni_get_method_id (env, &err, klass, "cancelAutoFocus", "()V");
+
+ android_hardware_camera.getCameraInfo =
+ gst_amc_jni_get_static_method_id (env, &err, klass,
+ "getCameraInfo", "(ILandroid/hardware/Camera$CameraInfo;)V");
+
+ android_hardware_camera.getNumberOfCameras =
+ gst_amc_jni_get_static_method_id (env, &err, klass,
+ "getNumberOfCameras", "()I");
+
+ android_hardware_camera.getParameters =
+ gst_amc_jni_get_method_id (env, &err, klass,
+ "getParameters", "()Landroid/hardware/Camera$Parameters;");
+
+ android_hardware_camera.lock =
+ gst_amc_jni_get_method_id (env, &err, klass, "lock", "()V");
+
+ android_hardware_camera.open =
+ gst_amc_jni_get_static_method_id (env, &err, klass,
+ "open", "(I)Landroid/hardware/Camera;");
+
+ android_hardware_camera.reconnect =
+ gst_amc_jni_get_method_id (env, &err, klass, "reconnect", "()V");
+
+ android_hardware_camera.release =
+ gst_amc_jni_get_method_id (env, &err, klass, "release", "()V");
+
+ android_hardware_camera.setErrorCallback =
+ gst_amc_jni_get_method_id (env, &err, klass, "setErrorCallback",
+ "(Landroid/hardware/Camera$ErrorCallback;)V");
+
+ android_hardware_camera.setParameters =
+ gst_amc_jni_get_method_id (env, &err, klass, "setParameters",
+ "(Landroid/hardware/Camera$Parameters;)V");
+
+ android_hardware_camera.setPreviewCallbackWithBuffer =
+ gst_amc_jni_get_method_id (env, &err, klass,
+ "setPreviewCallbackWithBuffer",
+ "(Landroid/hardware/Camera$PreviewCallback;)V");
+
+ android_hardware_camera.setPreviewTexture =
+ gst_amc_jni_get_method_id (env, &err, klass,
+ "setPreviewTexture", "(Landroid/graphics/SurfaceTexture;)V");
+
+ android_hardware_camera.startPreview =
+ gst_amc_jni_get_method_id (env, &err, klass, "startPreview", "()V");
+
+ android_hardware_camera.startSmoothZoom =
+ gst_amc_jni_get_method_id (env, &err, klass, "startSmoothZoom", "(I)V");
+
+ android_hardware_camera.stopPreview =
+ gst_amc_jni_get_method_id (env, &err, klass, "stopPreview", "()V");
+
+ android_hardware_camera.stopPreview =
+ gst_amc_jni_get_method_id (env, &err, klass, "stopPreview", "()V");
+
+ android_hardware_camera.unlock =
+ gst_amc_jni_get_method_id (env, &err, klass, "unlock", "()V");
+
+ /* android.hardware.Camera.CameraInfo */
+ klass = android_hardware_camera_camerainfo.klass =
+ gst_amc_jni_get_class (env, &err, "android/hardware/Camera$CameraInfo");
+ if (!klass)
+ goto failed;
+
+ android_hardware_camera_camerainfo.constructor =
+ gst_amc_jni_get_method_id (env, &err, klass, "<init>", "()V");
+
+ android_hardware_camera_camerainfo.facing =
+ gst_amc_jni_get_field_id (env, &err, klass, "facing", "I");
+
+ android_hardware_camera_camerainfo.orientation =
+ gst_amc_jni_get_field_id (env, &err, klass, "orientation", "I");
+
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "CAMERA_FACING_BACK",
+ "I");
+ if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID,
+ &android_hardware_camera_camerainfo.CAMERA_FACING_BACK))
+ goto failed;
+ CameraInfo_CAMERA_FACING_BACK =
+ android_hardware_camera_camerainfo.CAMERA_FACING_BACK;
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "CAMERA_FACING_FRONT",
+ "I");
+ if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID,
+ &android_hardware_camera_camerainfo.CAMERA_FACING_FRONT))
+ goto failed;
+ CameraInfo_CAMERA_FACING_FRONT =
+ android_hardware_camera_camerainfo.CAMERA_FACING_FRONT;
+
+ /* android.hardware.Camera.Size */
+ klass = android_hardware_camera_size.klass =
+ gst_amc_jni_get_class (env, &err, "android/hardware/Camera$Size");
+ if (!klass)
+ goto failed;
+
+ android_hardware_camera_size.width =
+ gst_amc_jni_get_field_id (env, &err, klass, "width", "I");
+ android_hardware_camera_size.height =
+ gst_amc_jni_get_field_id (env, &err, klass, "height", "I");
+
+ /* android.hardware.Camera.Parameters */
+ klass = android_hardware_camera_parameters.klass =
+ gst_amc_jni_get_class (env, &err, "android/hardware/Camera$Parameters");
+ if (!klass)
+ goto failed;
+
+ android_hardware_camera_parameters.flatten =
+ gst_amc_jni_get_method_id (env, &err, klass, "flatten",
+ "()Ljava/lang/String;");
+
+ android_hardware_camera_parameters.getAntibanding =
+ gst_amc_jni_get_method_id (env, &err, klass, "getAntibanding",
+ "()Ljava/lang/String;");
+
+ android_hardware_camera_parameters.getColorEffect =
+ gst_amc_jni_get_method_id (env, &err, klass, "getColorEffect",
+ "()Ljava/lang/String;");
+
+ android_hardware_camera_parameters.getExposureCompensation =
+ gst_amc_jni_get_method_id (env, &err, klass, "getExposureCompensation",
+ "()I");
+
+ android_hardware_camera_parameters.getExposureCompensationStep =
+ gst_amc_jni_get_method_id (env, &err, klass,
+ "getExposureCompensationStep", "()F");
+
+ android_hardware_camera_parameters.getFlashMode =
+ gst_amc_jni_get_method_id (env, &err, klass, "getFlashMode",
+ "()Ljava/lang/String;");
+
+ android_hardware_camera_parameters.getFocalLength =
+ gst_amc_jni_get_method_id (env, &err, klass, "getFocalLength", "()F");
+
+ android_hardware_camera_parameters.getFocusMode =
+ gst_amc_jni_get_method_id (env, &err, klass, "getFocusMode",
+ "()Ljava/lang/String;");
+
+ android_hardware_camera_parameters.getHorizontalViewAngle =
+ gst_amc_jni_get_method_id (env, &err, klass, "getHorizontalViewAngle",
+ "()F");
+
+ android_hardware_camera_parameters.getMaxExposureCompensation =
+ gst_amc_jni_get_method_id (env, &err, klass, "getMaxExposureCompensation",
+ "()I");
+
+ android_hardware_camera_parameters.getMaxZoom =
+ gst_amc_jni_get_method_id (env, &err, klass, "getMaxZoom", "()I");
+
+ android_hardware_camera_parameters.getMinExposureCompensation =
+ gst_amc_jni_get_method_id (env, &err, klass, "getMinExposureCompensation",
+ "()I");
+
+ android_hardware_camera_parameters.getPreviewFormat =
+ gst_amc_jni_get_method_id (env, &err, klass, "getPreviewFormat", "()I");
+
+ android_hardware_camera_parameters.getPreviewFpsRange =
+ gst_amc_jni_get_method_id (env, &err, klass, "getPreviewFpsRange",
+ "([I)V");
+
+ android_hardware_camera_parameters.getPreviewSize =
+ gst_amc_jni_get_method_id (env, &err, klass, "getPreviewSize",
+ "()Landroid/hardware/Camera$Size;");
+
+ android_hardware_camera_parameters.getSceneMode =
+ gst_amc_jni_get_method_id (env, &err, klass, "getSceneMode",
+ "()Ljava/lang/String;");
+
+ android_hardware_camera_parameters.getSupportedAntibanding =
+ gst_amc_jni_get_method_id (env, &err, klass, "getSupportedAntibanding",
+ "()Ljava/util/List;");
+
+ android_hardware_camera_parameters.getSupportedColorEffects =
+ gst_amc_jni_get_method_id (env, &err, klass, "getSupportedColorEffects",
+ "()Ljava/util/List;");
+
+ android_hardware_camera_parameters.getSupportedFlashModes =
+ gst_amc_jni_get_method_id (env, &err, klass, "getSupportedFlashModes",
+ "()Ljava/util/List;");
+
+ android_hardware_camera_parameters.getSupportedFocusModes =
+ gst_amc_jni_get_method_id (env, &err, klass, "getSupportedFocusModes",
+ "()Ljava/util/List;");
+
+ android_hardware_camera_parameters.getSupportedPreviewFormats =
+ gst_amc_jni_get_method_id (env, &err, klass, "getSupportedPreviewFormats",
+ "()Ljava/util/List;");
+
+ android_hardware_camera_parameters.getSupportedPreviewFpsRange =
+ gst_amc_jni_get_method_id (env, &err, klass,
+ "getSupportedPreviewFpsRange", "()Ljava/util/List;");
+
+ android_hardware_camera_parameters.getSupportedPreviewSizes =
+ gst_amc_jni_get_method_id (env, &err, klass, "getSupportedPreviewSizes",
+ "()Ljava/util/List;");
+
+ android_hardware_camera_parameters.getSupportedSceneModes =
+ gst_amc_jni_get_method_id (env, &err, klass, "getSupportedSceneModes",
+ "()Ljava/util/List;");
+
+ android_hardware_camera_parameters.getSupportedWhiteBalance =
+ gst_amc_jni_get_method_id (env, &err, klass, "getSupportedWhiteBalance",
+ "()Ljava/util/List;");
+
+ android_hardware_camera_parameters.getVerticalViewAngle =
+ gst_amc_jni_get_method_id (env, &err, klass, "getVerticalViewAngle",
+ "()F");
+
+ android_hardware_camera_parameters.getVideoStabilization =
+ gst_amc_jni_get_method_id (env, &err, klass, "getVideoStabilization",
+ "()Z");
+
+ android_hardware_camera_parameters.getWhiteBalance =
+ gst_amc_jni_get_method_id (env, &err, klass, "getWhiteBalance",
+ "()Ljava/lang/String;");
+
+ android_hardware_camera_parameters.getZoom =
+ gst_amc_jni_get_method_id (env, &err, klass, "getZoom", "()I");
+
+ android_hardware_camera_parameters.getZoomRatios =
+ gst_amc_jni_get_method_id (env, &err, klass, "getZoomRatios",
+ "()Ljava/util/List;");
+
+ android_hardware_camera_parameters.isSmoothZoomSupported =
+ gst_amc_jni_get_method_id (env, &err, klass, "isSmoothZoomSupported",
+ "()Z");
+
+ android_hardware_camera_parameters.isVideoStabilizationSupported =
+ gst_amc_jni_get_method_id (env, &err, klass,
+ "isVideoStabilizationSupported", "()Z");
+
+ android_hardware_camera_parameters.isZoomSupported =
+ gst_amc_jni_get_method_id (env, &err, klass, "isZoomSupported", "()Z");
+
+ android_hardware_camera_parameters.setAntibanding =
+ gst_amc_jni_get_method_id (env, &err, klass, "setAntibanding",
+ "(Ljava/lang/String;)V");
+
+ android_hardware_camera_parameters.setColorEffect =
+ gst_amc_jni_get_method_id (env, &err, klass, "setColorEffect",
+ "(Ljava/lang/String;)V");
+
+ android_hardware_camera_parameters.setExposureCompensation =
+ gst_amc_jni_get_method_id (env, &err, klass, "setExposureCompensation",
+ "(I)V");
+
+ android_hardware_camera_parameters.setFlashMode =
+ gst_amc_jni_get_method_id (env, &err, klass, "setFlashMode",
+ "(Ljava/lang/String;)V");
+
+ android_hardware_camera_parameters.setFocusMode =
+ gst_amc_jni_get_method_id (env, &err, klass, "setFocusMode",
+ "(Ljava/lang/String;)V");
+
+ android_hardware_camera_parameters.setPreviewFormat =
+ gst_amc_jni_get_method_id (env, &err, klass, "setPreviewFormat", "(I)V");
+
+ android_hardware_camera_parameters.setPreviewFpsRange =
+ gst_amc_jni_get_method_id (env, &err, klass, "setPreviewFpsRange",
+ "(II)V");
+
+ android_hardware_camera_parameters.setPreviewSize =
+ gst_amc_jni_get_method_id (env, &err, klass, "setPreviewSize", "(II)V");
+
+ android_hardware_camera_parameters.setSceneMode =
+ gst_amc_jni_get_method_id (env, &err, klass, "setSceneMode",
+ "(Ljava/lang/String;)V");
+
+ android_hardware_camera_parameters.setWhiteBalance =
+ gst_amc_jni_get_method_id (env, &err, klass, "setWhiteBalance",
+ "(Ljava/lang/String;)V");
+
+ android_hardware_camera_parameters.setVideoStabilization =
+ gst_amc_jni_get_method_id (env, &err, klass, "setVideoStabilization",
+ "(Z)V");
+
+ android_hardware_camera_parameters.setZoom =
+ gst_amc_jni_get_method_id (env, &err, klass, "setZoom", "(I)V");
+
+ android_hardware_camera_parameters.unflatten =
+ gst_amc_jni_get_method_id (env, &err, klass, "unflatten",
+ "(Ljava/lang/String;)V");
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "WHITE_BALANCE_AUTO",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.WHITE_BALANCE_AUTO))
+ goto failed;
+
+ Parameters_WHITE_BALANCE_AUTO =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.WHITE_BALANCE_AUTO, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.WHITE_BALANCE_AUTO;
+
+ android_hardware_camera_parameters.WHITE_BALANCE_AUTO =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass,
+ "WHITE_BALANCE_INCANDESCENT", "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.WHITE_BALANCE_INCANDESCENT))
+ goto failed;
+
+ Parameters_WHITE_BALANCE_INCANDESCENT =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.WHITE_BALANCE_INCANDESCENT, NULL);
+ {
+ jobject local =
+ android_hardware_camera_parameters.WHITE_BALANCE_INCANDESCENT;
+
+ android_hardware_camera_parameters.WHITE_BALANCE_INCANDESCENT =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass,
+ "WHITE_BALANCE_FLUORESCENT", "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.WHITE_BALANCE_FLUORESCENT))
+ goto failed;
+
+ Parameters_WHITE_BALANCE_FLUORESCENT =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.WHITE_BALANCE_FLUORESCENT, NULL);
+ {
+ jobject local =
+ android_hardware_camera_parameters.WHITE_BALANCE_FLUORESCENT;
+
+ android_hardware_camera_parameters.WHITE_BALANCE_FLUORESCENT =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass,
+ "WHITE_BALANCE_WARM_FLUORESCENT", "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.WHITE_BALANCE_WARM_FLUORESCENT))
+ goto failed;
+
+ Parameters_WHITE_BALANCE_WARM_FLUORESCENT =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.WHITE_BALANCE_WARM_FLUORESCENT, NULL);
+ {
+ jobject local =
+ android_hardware_camera_parameters.WHITE_BALANCE_WARM_FLUORESCENT;
+
+ android_hardware_camera_parameters.WHITE_BALANCE_WARM_FLUORESCENT =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass,
+ "WHITE_BALANCE_DAYLIGHT", "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.WHITE_BALANCE_DAYLIGHT))
+ goto failed;
+
+ Parameters_WHITE_BALANCE_DAYLIGHT =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.WHITE_BALANCE_DAYLIGHT, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.WHITE_BALANCE_DAYLIGHT;
+
+ android_hardware_camera_parameters.WHITE_BALANCE_DAYLIGHT =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass,
+ "WHITE_BALANCE_CLOUDY_DAYLIGHT", "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.WHITE_BALANCE_CLOUDY_DAYLIGHT))
+ goto failed;
+ Parameters_WHITE_BALANCE_CLOUDY_DAYLIGHT =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.WHITE_BALANCE_CLOUDY_DAYLIGHT, NULL);
+ {
+ jobject local =
+ android_hardware_camera_parameters.WHITE_BALANCE_CLOUDY_DAYLIGHT;
+
+ android_hardware_camera_parameters.WHITE_BALANCE_CLOUDY_DAYLIGHT =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass,
+ "WHITE_BALANCE_TWILIGHT", "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.WHITE_BALANCE_TWILIGHT))
+ goto failed;
+ Parameters_WHITE_BALANCE_TWILIGHT =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.WHITE_BALANCE_TWILIGHT, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.WHITE_BALANCE_TWILIGHT;
+
+ android_hardware_camera_parameters.WHITE_BALANCE_TWILIGHT =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "WHITE_BALANCE_SHADE",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.WHITE_BALANCE_SHADE))
+ goto failed;
+
+ Parameters_WHITE_BALANCE_SHADE =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.WHITE_BALANCE_SHADE, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.WHITE_BALANCE_SHADE;
+
+ android_hardware_camera_parameters.WHITE_BALANCE_SHADE =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "EFFECT_NONE",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.EFFECT_NONE))
+ goto failed;
+
+ Parameters_EFFECT_NONE =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.EFFECT_NONE, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.EFFECT_NONE;
+
+ android_hardware_camera_parameters.EFFECT_NONE =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "EFFECT_MONO",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.EFFECT_MONO))
+ goto failed;
+
+ Parameters_EFFECT_MONO =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.EFFECT_MONO, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.EFFECT_MONO;
+
+ android_hardware_camera_parameters.EFFECT_MONO =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "EFFECT_NEGATIVE",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.EFFECT_NEGATIVE))
+ goto failed;
+
+ Parameters_EFFECT_NEGATIVE =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.EFFECT_NEGATIVE, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.EFFECT_NEGATIVE;
+
+ android_hardware_camera_parameters.EFFECT_NEGATIVE =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "EFFECT_SOLARIZE",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.EFFECT_SOLARIZE))
+ goto failed;
+
+ Parameters_EFFECT_SOLARIZE =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.EFFECT_SOLARIZE, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.EFFECT_SOLARIZE;
+
+ android_hardware_camera_parameters.EFFECT_SOLARIZE =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "EFFECT_SEPIA",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.EFFECT_SEPIA))
+ goto failed;
+
+ Parameters_EFFECT_SEPIA =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.EFFECT_SEPIA, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.EFFECT_SEPIA;
+
+ android_hardware_camera_parameters.EFFECT_SEPIA =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "EFFECT_POSTERIZE",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.EFFECT_POSTERIZE))
+ goto failed;
+
+ Parameters_EFFECT_POSTERIZE =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.EFFECT_POSTERIZE, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.EFFECT_POSTERIZE;
+
+ android_hardware_camera_parameters.EFFECT_POSTERIZE =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "EFFECT_WHITEBOARD",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.EFFECT_WHITEBOARD))
+ goto failed;
+
+ Parameters_EFFECT_WHITEBOARD =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.EFFECT_WHITEBOARD, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.EFFECT_WHITEBOARD;
+
+ android_hardware_camera_parameters.EFFECT_WHITEBOARD =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "EFFECT_BLACKBOARD",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.EFFECT_BLACKBOARD))
+ goto failed;
+
+ Parameters_EFFECT_BLACKBOARD =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.EFFECT_BLACKBOARD, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.EFFECT_BLACKBOARD;
+
+ android_hardware_camera_parameters.EFFECT_BLACKBOARD =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "EFFECT_AQUA",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.EFFECT_AQUA))
+ goto failed;
+
+ Parameters_EFFECT_AQUA =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.EFFECT_AQUA, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.EFFECT_AQUA;
+
+ android_hardware_camera_parameters.EFFECT_AQUA =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "ANTIBANDING_AUTO",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.ANTIBANDING_AUTO))
+ goto failed;
+
+ Parameters_ANTIBANDING_AUTO =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.ANTIBANDING_AUTO, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.ANTIBANDING_AUTO;
+
+ android_hardware_camera_parameters.ANTIBANDING_AUTO =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "ANTIBANDING_50HZ",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.ANTIBANDING_50HZ))
+ goto failed;
+
+ Parameters_ANTIBANDING_50HZ =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.ANTIBANDING_50HZ, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.ANTIBANDING_50HZ;
+
+ android_hardware_camera_parameters.ANTIBANDING_50HZ =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "ANTIBANDING_60HZ",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.ANTIBANDING_60HZ))
+ goto failed;
+
+ Parameters_ANTIBANDING_60HZ =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.ANTIBANDING_60HZ, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.ANTIBANDING_60HZ;
+
+ android_hardware_camera_parameters.ANTIBANDING_60HZ =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "ANTIBANDING_OFF",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.ANTIBANDING_OFF))
+ goto failed;
+
+ Parameters_ANTIBANDING_OFF =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.ANTIBANDING_OFF, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.ANTIBANDING_OFF;
+
+ android_hardware_camera_parameters.ANTIBANDING_OFF =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "FLASH_MODE_OFF",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.FLASH_MODE_OFF))
+ goto failed;
+
+ Parameters_FLASH_MODE_OFF =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.FLASH_MODE_OFF, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.FLASH_MODE_OFF;
+
+ android_hardware_camera_parameters.FLASH_MODE_OFF =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "FLASH_MODE_AUTO",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.FLASH_MODE_AUTO))
+ goto failed;
+
+ Parameters_FLASH_MODE_AUTO =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.FLASH_MODE_AUTO, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.FLASH_MODE_AUTO;
+
+ android_hardware_camera_parameters.FLASH_MODE_AUTO =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "FLASH_MODE_ON",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.FLASH_MODE_ON))
+ goto failed;
+
+ Parameters_FLASH_MODE_ON =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.FLASH_MODE_ON, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.FLASH_MODE_ON;
+
+ android_hardware_camera_parameters.FLASH_MODE_ON =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "FLASH_MODE_RED_EYE",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.FLASH_MODE_RED_EYE))
+ goto failed;
+
+ Parameters_FLASH_MODE_RED_EYE =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.FLASH_MODE_RED_EYE, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.FLASH_MODE_RED_EYE;
+
+ android_hardware_camera_parameters.FLASH_MODE_RED_EYE =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "FLASH_MODE_TORCH",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.FLASH_MODE_TORCH))
+ goto failed;
+
+ Parameters_FLASH_MODE_TORCH =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.FLASH_MODE_TORCH, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.FLASH_MODE_TORCH;
+
+ android_hardware_camera_parameters.FLASH_MODE_TORCH =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "SCENE_MODE_AUTO",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.SCENE_MODE_AUTO))
+ goto failed;
+
+ Parameters_SCENE_MODE_AUTO =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_AUTO, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.SCENE_MODE_AUTO;
+
+ android_hardware_camera_parameters.SCENE_MODE_AUTO =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "SCENE_MODE_ACTION",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.SCENE_MODE_ACTION))
+ goto failed;
+
+ Parameters_SCENE_MODE_ACTION =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_ACTION, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.SCENE_MODE_ACTION;
+
+ android_hardware_camera_parameters.SCENE_MODE_ACTION =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "SCENE_MODE_PORTRAIT",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.SCENE_MODE_PORTRAIT))
+ goto failed;
+
+ Parameters_SCENE_MODE_PORTRAIT =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_PORTRAIT, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.SCENE_MODE_PORTRAIT;
+
+ android_hardware_camera_parameters.SCENE_MODE_PORTRAIT =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "SCENE_MODE_LANDSCAPE",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.SCENE_MODE_LANDSCAPE))
+ goto failed;
+ Parameters_SCENE_MODE_LANDSCAPE =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_LANDSCAPE, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.SCENE_MODE_LANDSCAPE;
+
+ android_hardware_camera_parameters.SCENE_MODE_LANDSCAPE =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "SCENE_MODE_NIGHT",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.SCENE_MODE_NIGHT))
+ goto failed;
+
+ Parameters_SCENE_MODE_NIGHT =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_NIGHT, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.SCENE_MODE_NIGHT;
+
+ android_hardware_camera_parameters.SCENE_MODE_NIGHT =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass,
+ "SCENE_MODE_NIGHT_PORTRAIT", "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.SCENE_MODE_NIGHT_PORTRAIT))
+ goto failed;
+ Parameters_SCENE_MODE_NIGHT_PORTRAIT =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_NIGHT_PORTRAIT, NULL);
+ {
+ jobject local =
+ android_hardware_camera_parameters.SCENE_MODE_NIGHT_PORTRAIT;
+
+ android_hardware_camera_parameters.SCENE_MODE_NIGHT_PORTRAIT =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "SCENE_MODE_THEATRE",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.SCENE_MODE_THEATRE))
+ goto failed;
+
+ Parameters_SCENE_MODE_THEATRE =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_THEATRE, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.SCENE_MODE_THEATRE;
+
+ android_hardware_camera_parameters.SCENE_MODE_THEATRE =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "SCENE_MODE_BEACH",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.SCENE_MODE_BEACH))
+ goto failed;
+
+ Parameters_SCENE_MODE_BEACH =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_BEACH, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.SCENE_MODE_BEACH;
+
+ android_hardware_camera_parameters.SCENE_MODE_BEACH =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "SCENE_MODE_SNOW",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.SCENE_MODE_SNOW))
+ goto failed;
+
+ Parameters_SCENE_MODE_SNOW =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_SNOW, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.SCENE_MODE_SNOW;
+
+ android_hardware_camera_parameters.SCENE_MODE_SNOW =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "SCENE_MODE_SUNSET",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.SCENE_MODE_SUNSET))
+ goto failed;
+
+
+ Parameters_SCENE_MODE_SUNSET =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_SUNSET, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.SCENE_MODE_SUNSET;
+
+ android_hardware_camera_parameters.SCENE_MODE_SUNSET =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass,
+ "SCENE_MODE_STEADYPHOTO", "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.SCENE_MODE_STEADYPHOTO))
+ goto failed;
+
+
+ Parameters_SCENE_MODE_STEADYPHOTO =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_STEADYPHOTO, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.SCENE_MODE_STEADYPHOTO;
+
+ android_hardware_camera_parameters.SCENE_MODE_STEADYPHOTO =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "SCENE_MODE_FIREWORKS",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.SCENE_MODE_FIREWORKS))
+ goto failed;
+
+ Parameters_SCENE_MODE_FIREWORKS =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_FIREWORKS, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.SCENE_MODE_FIREWORKS;
+
+ android_hardware_camera_parameters.SCENE_MODE_FIREWORKS =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "SCENE_MODE_SPORTS",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.SCENE_MODE_SPORTS))
+ goto failed;
+
+
+ Parameters_SCENE_MODE_SPORTS =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_SPORTS, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.SCENE_MODE_SPORTS;
+
+ android_hardware_camera_parameters.SCENE_MODE_SPORTS =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "SCENE_MODE_PARTY",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.SCENE_MODE_PARTY))
+ goto failed;
+
+ Parameters_SCENE_MODE_PARTY =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_PARTY, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.SCENE_MODE_PARTY;
+
+ android_hardware_camera_parameters.SCENE_MODE_PARTY =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass,
+ "SCENE_MODE_CANDLELIGHT", "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.SCENE_MODE_CANDLELIGHT))
+ goto failed;
+
+ Parameters_SCENE_MODE_CANDLELIGHT =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_CANDLELIGHT, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.SCENE_MODE_CANDLELIGHT;
+
+ android_hardware_camera_parameters.SCENE_MODE_CANDLELIGHT =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "SCENE_MODE_BARCODE",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.SCENE_MODE_BARCODE))
+ goto failed;
+
+ Parameters_SCENE_MODE_BARCODE =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_BARCODE, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.SCENE_MODE_BARCODE;
+
+ android_hardware_camera_parameters.SCENE_MODE_BARCODE =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "FOCUS_MODE_AUTO",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.FOCUS_MODE_AUTO))
+ goto failed;
+
+ Parameters_FOCUS_MODE_AUTO =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.FOCUS_MODE_AUTO, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.FOCUS_MODE_AUTO;
+
+ android_hardware_camera_parameters.FOCUS_MODE_AUTO =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "FOCUS_MODE_INFINITY",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.FOCUS_MODE_INFINITY))
+ goto failed;
+
+ Parameters_FOCUS_MODE_INFINITY =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.FOCUS_MODE_INFINITY, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.FOCUS_MODE_INFINITY;
+
+ android_hardware_camera_parameters.FOCUS_MODE_INFINITY =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "FOCUS_MODE_MACRO",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.FOCUS_MODE_MACRO))
+ goto failed;
+
+ Parameters_FOCUS_MODE_MACRO =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.FOCUS_MODE_MACRO, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.FOCUS_MODE_MACRO;
+
+ android_hardware_camera_parameters.FOCUS_MODE_MACRO =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "FOCUS_MODE_FIXED",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.FOCUS_MODE_FIXED))
+ goto failed;
+
+ Parameters_FOCUS_MODE_FIXED =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.FOCUS_MODE_FIXED, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.FOCUS_MODE_FIXED;
+
+ android_hardware_camera_parameters.FOCUS_MODE_FIXED =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass, "FOCUS_MODE_EDOF",
+ "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.FOCUS_MODE_EDOF))
+ goto failed;
+
+ Parameters_FOCUS_MODE_EDOF =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.FOCUS_MODE_EDOF, NULL);
+ {
+ jobject local = android_hardware_camera_parameters.FOCUS_MODE_EDOF;
+
+ android_hardware_camera_parameters.FOCUS_MODE_EDOF =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass,
+ "FOCUS_MODE_CONTINUOUS_VIDEO", "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_VIDEO))
+ goto failed;
+
+ Parameters_FOCUS_MODE_CONTINUOUS_VIDEO =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_VIDEO, NULL);
+ {
+ jobject local =
+ android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_VIDEO;
+
+ android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_VIDEO =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ fieldID =
+ gst_amc_jni_get_static_field_id (env, &err, klass,
+ "FOCUS_MODE_CONTINUOUS_PICTURE", "Ljava/lang/String;");
+ if (!fieldID)
+ goto failed;
+ if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+ &android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_PICTURE))
+ goto failed;
+
+
+ Parameters_FOCUS_MODE_CONTINUOUS_PICTURE =
+ (*env)->GetStringUTFChars (env,
+ android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_PICTURE, NULL);
+ {
+ jobject local =
+ android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_PICTURE;
+
+ android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_PICTURE =
+ (*env)->NewGlobalRef (env, local);
+ (*env)->DeleteLocalRef (env, local);
+ }
+
+ /* java.lang.String */
+ klass = java_lang_string.klass =
+ gst_amc_jni_get_class (env, &err, "java/lang/String");
+ java_lang_string.equals =
+ gst_amc_jni_get_method_id (env, &err, klass, "equals",
+ "(Ljava/lang/Object;)Z");
+
+ /* java.util.List */
+ klass = java_util_list.klass =
+ gst_amc_jni_get_class (env, &err, "java/util/List");
+ java_util_list.iterator =
+ gst_amc_jni_get_method_id (env, &err, klass, "iterator",
+ "()Ljava/util/Iterator;");
+
+ /* java.util.Iterator */
+ klass = java_util_iterator.klass =
+ gst_amc_jni_get_class (env, &err, "java/util/Iterator");
+ java_util_iterator.hasNext =
+ gst_amc_jni_get_method_id (env, &err, klass, "hasNext", "()Z");
+ java_util_iterator.next =
+ gst_amc_jni_get_method_id (env, &err, klass, "next",
+ "()Ljava/lang/Object;");
+
+ /* java.lang.Integer */
+ klass = java_lang_integer.klass =
+ gst_amc_jni_get_class (env, &err, "java/lang/Integer");
+ java_lang_integer.intValue =
+ gst_amc_jni_get_method_id (env, &err, klass, "intValue", "()I");
+
+ if (!org_freedesktop_gstreamer_androidmedia_gstahccallback.klass) {
+ org_freedesktop_gstreamer_androidmedia_gstahccallback.klass =
+ gst_amc_jni_get_class (env, &err,
+ "org/freedesktop/gstreamer/androidmedia/GstAhcCallback");
+ }
+ if (!org_freedesktop_gstreamer_androidmedia_gstahccallback.klass)
+ goto failed;
+
+ org_freedesktop_gstreamer_androidmedia_gstahccallback.constructor =
+ gst_amc_jni_get_method_id (env, &err,
+ org_freedesktop_gstreamer_androidmedia_gstahccallback.klass, "<init>",
+ "(JJ)V");
+
+ if ((*env)->RegisterNatives (env,
+ org_freedesktop_gstreamer_androidmedia_gstahccallback.klass,
+ native_methods, G_N_ELEMENTS (native_methods))) {
+ GST_ERROR ("Failed to register native methods for GstAhcCallback");
+ return FALSE;
+ }
+
+ return TRUE;
+
+failed:
+ if (err) {
+ GST_ERROR ("Failed to get android.hardware.Camera class: %s", err->message);
+ g_clear_error (&err);
+ }
+
+ return FALSE;
+
+}
+
+
+gboolean
+gst_android_hardware_camera_init (void)
+{
+ GST_DEBUG_CATEGORY_INIT (ahc_debug, "ahc", 0,
+ "Android Gstreamer Hardware Camera");
+ if (!_init_classes ()) {
+ gst_android_hardware_camera_deinit ();
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+void
+gst_android_hardware_camera_deinit (void)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+
+ if (android_hardware_camera.klass)
+ (*env)->DeleteGlobalRef (env, android_hardware_camera.klass);
+ android_hardware_camera.klass = NULL;
+
+ if (android_hardware_camera_camerainfo.klass)
+ (*env)->DeleteGlobalRef (env, android_hardware_camera_camerainfo.klass);
+ android_hardware_camera_camerainfo.klass = NULL;
+
+ if (android_hardware_camera_size.klass)
+ (*env)->DeleteGlobalRef (env, android_hardware_camera_size.klass);
+ android_hardware_camera_size.klass = NULL;
+
+ if (android_hardware_camera_parameters.klass)
+ (*env)->DeleteGlobalRef (env, android_hardware_camera_parameters.klass);
+ android_hardware_camera_parameters.klass = NULL;
+ if (Parameters_WHITE_BALANCE_AUTO)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.WHITE_BALANCE_AUTO,
+ Parameters_WHITE_BALANCE_AUTO);
+ Parameters_WHITE_BALANCE_AUTO = NULL;
+ if (android_hardware_camera_parameters.WHITE_BALANCE_AUTO)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.WHITE_BALANCE_AUTO);
+ android_hardware_camera_parameters.WHITE_BALANCE_AUTO = NULL;
+ if (Parameters_WHITE_BALANCE_INCANDESCENT)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.WHITE_BALANCE_INCANDESCENT,
+ Parameters_WHITE_BALANCE_INCANDESCENT);
+ Parameters_WHITE_BALANCE_INCANDESCENT = NULL;
+ if (android_hardware_camera_parameters.WHITE_BALANCE_INCANDESCENT)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.WHITE_BALANCE_INCANDESCENT);
+ android_hardware_camera_parameters.WHITE_BALANCE_INCANDESCENT = NULL;
+ if (Parameters_WHITE_BALANCE_FLUORESCENT)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.WHITE_BALANCE_FLUORESCENT,
+ Parameters_WHITE_BALANCE_FLUORESCENT);
+ Parameters_WHITE_BALANCE_FLUORESCENT = NULL;
+ if (android_hardware_camera_parameters.WHITE_BALANCE_FLUORESCENT)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.WHITE_BALANCE_FLUORESCENT);
+ android_hardware_camera_parameters.WHITE_BALANCE_FLUORESCENT = NULL;
+ if (Parameters_WHITE_BALANCE_WARM_FLUORESCENT)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.WHITE_BALANCE_WARM_FLUORESCENT,
+ Parameters_WHITE_BALANCE_WARM_FLUORESCENT);
+ Parameters_WHITE_BALANCE_WARM_FLUORESCENT = NULL;
+ if (android_hardware_camera_parameters.WHITE_BALANCE_WARM_FLUORESCENT)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.WHITE_BALANCE_WARM_FLUORESCENT);
+ android_hardware_camera_parameters.WHITE_BALANCE_WARM_FLUORESCENT = NULL;
+ if (Parameters_WHITE_BALANCE_DAYLIGHT)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.WHITE_BALANCE_DAYLIGHT,
+ Parameters_WHITE_BALANCE_DAYLIGHT);
+ Parameters_WHITE_BALANCE_DAYLIGHT = NULL;
+ if (android_hardware_camera_parameters.WHITE_BALANCE_DAYLIGHT)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.WHITE_BALANCE_DAYLIGHT);
+ android_hardware_camera_parameters.WHITE_BALANCE_DAYLIGHT = NULL;
+ if (Parameters_WHITE_BALANCE_CLOUDY_DAYLIGHT)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.WHITE_BALANCE_CLOUDY_DAYLIGHT,
+ Parameters_WHITE_BALANCE_CLOUDY_DAYLIGHT);
+ Parameters_WHITE_BALANCE_CLOUDY_DAYLIGHT = NULL;
+ if (android_hardware_camera_parameters.WHITE_BALANCE_CLOUDY_DAYLIGHT)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.WHITE_BALANCE_CLOUDY_DAYLIGHT);
+ android_hardware_camera_parameters.WHITE_BALANCE_CLOUDY_DAYLIGHT = NULL;
+ if (Parameters_WHITE_BALANCE_TWILIGHT)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.WHITE_BALANCE_TWILIGHT,
+ Parameters_WHITE_BALANCE_TWILIGHT);
+ Parameters_WHITE_BALANCE_TWILIGHT = NULL;
+ if (android_hardware_camera_parameters.WHITE_BALANCE_TWILIGHT)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.WHITE_BALANCE_TWILIGHT);
+ android_hardware_camera_parameters.WHITE_BALANCE_TWILIGHT = NULL;
+ if (Parameters_WHITE_BALANCE_SHADE)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.WHITE_BALANCE_SHADE,
+ Parameters_WHITE_BALANCE_SHADE);
+ Parameters_WHITE_BALANCE_SHADE = NULL;
+ if (android_hardware_camera_parameters.WHITE_BALANCE_SHADE)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.WHITE_BALANCE_SHADE);
+ android_hardware_camera_parameters.WHITE_BALANCE_SHADE = NULL;
+ if (Parameters_EFFECT_NONE)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.EFFECT_NONE, Parameters_EFFECT_NONE);
+ Parameters_EFFECT_NONE = NULL;
+ if (android_hardware_camera_parameters.EFFECT_NONE)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.EFFECT_NONE);
+ android_hardware_camera_parameters.EFFECT_NONE = NULL;
+ if (Parameters_EFFECT_MONO)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.EFFECT_MONO, Parameters_EFFECT_MONO);
+ Parameters_EFFECT_MONO = NULL;
+ if (android_hardware_camera_parameters.EFFECT_MONO)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.EFFECT_MONO);
+ android_hardware_camera_parameters.EFFECT_MONO = NULL;
+ if (Parameters_EFFECT_NEGATIVE)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.EFFECT_NEGATIVE,
+ Parameters_EFFECT_NEGATIVE);
+ Parameters_EFFECT_NEGATIVE = NULL;
+ if (android_hardware_camera_parameters.EFFECT_NEGATIVE)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.EFFECT_NEGATIVE);
+ android_hardware_camera_parameters.EFFECT_NEGATIVE = NULL;
+ if (Parameters_EFFECT_SOLARIZE)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.EFFECT_SOLARIZE,
+ Parameters_EFFECT_SOLARIZE);
+ Parameters_EFFECT_SOLARIZE = NULL;
+ if (android_hardware_camera_parameters.EFFECT_SOLARIZE)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.EFFECT_SOLARIZE);
+ android_hardware_camera_parameters.EFFECT_SOLARIZE = NULL;
+ if (Parameters_EFFECT_SEPIA)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.EFFECT_SEPIA,
+ Parameters_EFFECT_SEPIA);
+ Parameters_EFFECT_SEPIA = NULL;
+ if (android_hardware_camera_parameters.EFFECT_SEPIA)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.EFFECT_SEPIA);
+ android_hardware_camera_parameters.EFFECT_SEPIA = NULL;
+ if (Parameters_EFFECT_POSTERIZE)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.EFFECT_POSTERIZE,
+ Parameters_EFFECT_POSTERIZE);
+ Parameters_EFFECT_POSTERIZE = NULL;
+ if (android_hardware_camera_parameters.EFFECT_POSTERIZE)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.EFFECT_POSTERIZE);
+ android_hardware_camera_parameters.EFFECT_POSTERIZE = NULL;
+ if (Parameters_EFFECT_WHITEBOARD)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.EFFECT_WHITEBOARD,
+ Parameters_EFFECT_WHITEBOARD);
+ Parameters_EFFECT_WHITEBOARD = NULL;
+ if (android_hardware_camera_parameters.EFFECT_WHITEBOARD)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.EFFECT_WHITEBOARD);
+ android_hardware_camera_parameters.EFFECT_WHITEBOARD = NULL;
+ if (Parameters_EFFECT_BLACKBOARD)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.EFFECT_BLACKBOARD,
+ Parameters_EFFECT_BLACKBOARD);
+ Parameters_EFFECT_BLACKBOARD = NULL;
+ if (android_hardware_camera_parameters.EFFECT_BLACKBOARD)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.EFFECT_BLACKBOARD);
+ android_hardware_camera_parameters.EFFECT_BLACKBOARD = NULL;
+ if (Parameters_EFFECT_AQUA)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.EFFECT_AQUA, Parameters_EFFECT_AQUA);
+ Parameters_EFFECT_AQUA = NULL;
+ if (android_hardware_camera_parameters.EFFECT_AQUA)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.EFFECT_AQUA);
+ android_hardware_camera_parameters.EFFECT_AQUA = NULL;
+ if (Parameters_ANTIBANDING_AUTO)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.ANTIBANDING_AUTO,
+ Parameters_ANTIBANDING_AUTO);
+ Parameters_ANTIBANDING_AUTO = NULL;
+ if (android_hardware_camera_parameters.ANTIBANDING_AUTO)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.ANTIBANDING_AUTO);
+ android_hardware_camera_parameters.ANTIBANDING_AUTO = NULL;
+ if (Parameters_ANTIBANDING_50HZ)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.ANTIBANDING_50HZ,
+ Parameters_ANTIBANDING_50HZ);
+ Parameters_ANTIBANDING_50HZ = NULL;
+ if (android_hardware_camera_parameters.ANTIBANDING_50HZ)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.ANTIBANDING_50HZ);
+ android_hardware_camera_parameters.ANTIBANDING_50HZ = NULL;
+ if (Parameters_ANTIBANDING_60HZ)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.ANTIBANDING_60HZ,
+ Parameters_ANTIBANDING_60HZ);
+ Parameters_ANTIBANDING_60HZ = NULL;
+ if (android_hardware_camera_parameters.ANTIBANDING_60HZ)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.ANTIBANDING_60HZ);
+ android_hardware_camera_parameters.ANTIBANDING_60HZ = NULL;
+ if (Parameters_ANTIBANDING_OFF)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.ANTIBANDING_OFF,
+ Parameters_ANTIBANDING_OFF);
+ Parameters_ANTIBANDING_OFF = NULL;
+ if (android_hardware_camera_parameters.ANTIBANDING_OFF)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.ANTIBANDING_OFF);
+ android_hardware_camera_parameters.ANTIBANDING_OFF = NULL;
+ if (Parameters_FLASH_MODE_OFF)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.FLASH_MODE_OFF,
+ Parameters_FLASH_MODE_OFF);
+ Parameters_FLASH_MODE_OFF = NULL;
+ if (android_hardware_camera_parameters.FLASH_MODE_OFF)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.FLASH_MODE_OFF);
+ android_hardware_camera_parameters.FLASH_MODE_OFF = NULL;
+ if (Parameters_FLASH_MODE_AUTO)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.FLASH_MODE_AUTO,
+ Parameters_FLASH_MODE_AUTO);
+ Parameters_FLASH_MODE_AUTO = NULL;
+ if (android_hardware_camera_parameters.FLASH_MODE_AUTO)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.FLASH_MODE_AUTO);
+ android_hardware_camera_parameters.FLASH_MODE_AUTO = NULL;
+ if (Parameters_FLASH_MODE_ON)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.FLASH_MODE_ON,
+ Parameters_FLASH_MODE_ON);
+ Parameters_FLASH_MODE_ON = NULL;
+ if (android_hardware_camera_parameters.FLASH_MODE_ON)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.FLASH_MODE_ON);
+ android_hardware_camera_parameters.FLASH_MODE_ON = NULL;
+ if (Parameters_FLASH_MODE_RED_EYE)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.FLASH_MODE_RED_EYE,
+ Parameters_FLASH_MODE_RED_EYE);
+ Parameters_FLASH_MODE_RED_EYE = NULL;
+ if (android_hardware_camera_parameters.FLASH_MODE_RED_EYE)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.FLASH_MODE_RED_EYE);
+ android_hardware_camera_parameters.FLASH_MODE_RED_EYE = NULL;
+ if (Parameters_FLASH_MODE_TORCH)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.FLASH_MODE_TORCH,
+ Parameters_FLASH_MODE_TORCH);
+ Parameters_FLASH_MODE_TORCH = NULL;
+ if (android_hardware_camera_parameters.FLASH_MODE_TORCH)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.FLASH_MODE_TORCH);
+ android_hardware_camera_parameters.FLASH_MODE_TORCH = NULL;
+ if (Parameters_SCENE_MODE_AUTO)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_AUTO,
+ Parameters_SCENE_MODE_AUTO);
+ Parameters_SCENE_MODE_AUTO = NULL;
+ if (android_hardware_camera_parameters.SCENE_MODE_AUTO)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.SCENE_MODE_AUTO);
+ android_hardware_camera_parameters.SCENE_MODE_AUTO = NULL;
+ if (Parameters_SCENE_MODE_ACTION)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_ACTION,
+ Parameters_SCENE_MODE_ACTION);
+ Parameters_SCENE_MODE_ACTION = NULL;
+ if (android_hardware_camera_parameters.SCENE_MODE_ACTION)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.SCENE_MODE_ACTION);
+ android_hardware_camera_parameters.SCENE_MODE_ACTION = NULL;
+ if (Parameters_SCENE_MODE_PORTRAIT)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_PORTRAIT,
+ Parameters_SCENE_MODE_PORTRAIT);
+ Parameters_SCENE_MODE_PORTRAIT = NULL;
+ if (android_hardware_camera_parameters.SCENE_MODE_PORTRAIT)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.SCENE_MODE_PORTRAIT);
+ android_hardware_camera_parameters.SCENE_MODE_PORTRAIT = NULL;
+ if (Parameters_SCENE_MODE_LANDSCAPE)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_LANDSCAPE,
+ Parameters_SCENE_MODE_LANDSCAPE);
+ Parameters_SCENE_MODE_LANDSCAPE = NULL;
+ if (android_hardware_camera_parameters.SCENE_MODE_LANDSCAPE)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.SCENE_MODE_LANDSCAPE);
+ android_hardware_camera_parameters.SCENE_MODE_LANDSCAPE = NULL;
+ if (Parameters_SCENE_MODE_NIGHT)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_NIGHT,
+ Parameters_SCENE_MODE_NIGHT);
+ Parameters_SCENE_MODE_NIGHT = NULL;
+ if (android_hardware_camera_parameters.SCENE_MODE_NIGHT)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.SCENE_MODE_NIGHT);
+ android_hardware_camera_parameters.SCENE_MODE_NIGHT = NULL;
+ if (Parameters_SCENE_MODE_NIGHT_PORTRAIT)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_NIGHT_PORTRAIT,
+ Parameters_SCENE_MODE_NIGHT_PORTRAIT);
+ Parameters_SCENE_MODE_NIGHT_PORTRAIT = NULL;
+ if (android_hardware_camera_parameters.SCENE_MODE_NIGHT_PORTRAIT)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.SCENE_MODE_NIGHT_PORTRAIT);
+ android_hardware_camera_parameters.SCENE_MODE_NIGHT_PORTRAIT = NULL;
+ if (Parameters_SCENE_MODE_THEATRE)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_THEATRE,
+ Parameters_SCENE_MODE_THEATRE);
+ Parameters_SCENE_MODE_THEATRE = NULL;
+ if (android_hardware_camera_parameters.SCENE_MODE_THEATRE)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.SCENE_MODE_THEATRE);
+ android_hardware_camera_parameters.SCENE_MODE_THEATRE = NULL;
+ if (Parameters_SCENE_MODE_BEACH)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_BEACH,
+ Parameters_SCENE_MODE_BEACH);
+ Parameters_SCENE_MODE_BEACH = NULL;
+ if (android_hardware_camera_parameters.SCENE_MODE_BEACH)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.SCENE_MODE_BEACH);
+ android_hardware_camera_parameters.SCENE_MODE_BEACH = NULL;
+ if (Parameters_SCENE_MODE_SNOW)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_SNOW,
+ Parameters_SCENE_MODE_SNOW);
+ Parameters_SCENE_MODE_SNOW = NULL;
+ if (android_hardware_camera_parameters.SCENE_MODE_SNOW)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.SCENE_MODE_SNOW);
+ android_hardware_camera_parameters.SCENE_MODE_SNOW = NULL;
+ if (Parameters_SCENE_MODE_SUNSET)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_SUNSET,
+ Parameters_SCENE_MODE_SUNSET);
+ Parameters_SCENE_MODE_SUNSET = NULL;
+ if (android_hardware_camera_parameters.SCENE_MODE_SUNSET)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.SCENE_MODE_SUNSET);
+ android_hardware_camera_parameters.SCENE_MODE_SUNSET = NULL;
+ if (Parameters_SCENE_MODE_STEADYPHOTO)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_STEADYPHOTO,
+ Parameters_SCENE_MODE_STEADYPHOTO);
+ Parameters_SCENE_MODE_STEADYPHOTO = NULL;
+ if (android_hardware_camera_parameters.SCENE_MODE_STEADYPHOTO)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.SCENE_MODE_STEADYPHOTO);
+ android_hardware_camera_parameters.SCENE_MODE_STEADYPHOTO = NULL;
+ if (Parameters_SCENE_MODE_FIREWORKS)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_FIREWORKS,
+ Parameters_SCENE_MODE_FIREWORKS);
+ Parameters_SCENE_MODE_FIREWORKS = NULL;
+ if (android_hardware_camera_parameters.SCENE_MODE_FIREWORKS)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.SCENE_MODE_FIREWORKS);
+ android_hardware_camera_parameters.SCENE_MODE_FIREWORKS = NULL;
+ if (Parameters_SCENE_MODE_SPORTS)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_SPORTS,
+ Parameters_SCENE_MODE_SPORTS);
+ Parameters_SCENE_MODE_SPORTS = NULL;
+ if (android_hardware_camera_parameters.SCENE_MODE_SPORTS)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.SCENE_MODE_SPORTS);
+ android_hardware_camera_parameters.SCENE_MODE_SPORTS = NULL;
+ if (Parameters_SCENE_MODE_PARTY)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_PARTY,
+ Parameters_SCENE_MODE_PARTY);
+ Parameters_SCENE_MODE_PARTY = NULL;
+ if (android_hardware_camera_parameters.SCENE_MODE_PARTY)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.SCENE_MODE_PARTY);
+ android_hardware_camera_parameters.SCENE_MODE_PARTY = NULL;
+ if (Parameters_SCENE_MODE_CANDLELIGHT)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_CANDLELIGHT,
+ Parameters_SCENE_MODE_CANDLELIGHT);
+ Parameters_SCENE_MODE_CANDLELIGHT = NULL;
+ if (android_hardware_camera_parameters.SCENE_MODE_CANDLELIGHT)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.SCENE_MODE_CANDLELIGHT);
+ android_hardware_camera_parameters.SCENE_MODE_CANDLELIGHT = NULL;
+ if (Parameters_SCENE_MODE_BARCODE)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.SCENE_MODE_BARCODE,
+ Parameters_SCENE_MODE_BARCODE);
+ Parameters_SCENE_MODE_BARCODE = NULL;
+ if (android_hardware_camera_parameters.SCENE_MODE_BARCODE)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.SCENE_MODE_BARCODE);
+ android_hardware_camera_parameters.SCENE_MODE_BARCODE = NULL;
+ if (Parameters_FOCUS_MODE_AUTO)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.FOCUS_MODE_AUTO,
+ Parameters_FOCUS_MODE_AUTO);
+ Parameters_FOCUS_MODE_AUTO = NULL;
+ if (android_hardware_camera_parameters.FOCUS_MODE_AUTO)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.FOCUS_MODE_AUTO);
+ android_hardware_camera_parameters.FOCUS_MODE_AUTO = NULL;
+ if (Parameters_FOCUS_MODE_INFINITY)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.FOCUS_MODE_INFINITY,
+ Parameters_FOCUS_MODE_INFINITY);
+ Parameters_FOCUS_MODE_INFINITY = NULL;
+ if (android_hardware_camera_parameters.FOCUS_MODE_INFINITY)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.FOCUS_MODE_INFINITY);
+ android_hardware_camera_parameters.FOCUS_MODE_INFINITY = NULL;
+ if (Parameters_FOCUS_MODE_MACRO)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.FOCUS_MODE_MACRO,
+ Parameters_FOCUS_MODE_MACRO);
+ Parameters_FOCUS_MODE_MACRO = NULL;
+ if (android_hardware_camera_parameters.FOCUS_MODE_MACRO)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.FOCUS_MODE_MACRO);
+ android_hardware_camera_parameters.FOCUS_MODE_MACRO = NULL;
+ if (Parameters_FOCUS_MODE_FIXED)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.FOCUS_MODE_FIXED,
+ Parameters_FOCUS_MODE_FIXED);
+ Parameters_FOCUS_MODE_FIXED = NULL;
+ if (android_hardware_camera_parameters.FOCUS_MODE_FIXED)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.FOCUS_MODE_FIXED);
+ android_hardware_camera_parameters.FOCUS_MODE_FIXED = NULL;
+ if (Parameters_FOCUS_MODE_EDOF)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.FOCUS_MODE_EDOF,
+ Parameters_FOCUS_MODE_EDOF);
+ Parameters_FOCUS_MODE_EDOF = NULL;
+ if (android_hardware_camera_parameters.FOCUS_MODE_EDOF)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.FOCUS_MODE_EDOF);
+ android_hardware_camera_parameters.FOCUS_MODE_EDOF = NULL;
+ if (Parameters_FOCUS_MODE_CONTINUOUS_VIDEO)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_VIDEO,
+ Parameters_FOCUS_MODE_CONTINUOUS_VIDEO);
+ Parameters_FOCUS_MODE_CONTINUOUS_VIDEO = NULL;
+ if (android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_VIDEO)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
+ android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_VIDEO = NULL;
+ if (Parameters_FOCUS_MODE_CONTINUOUS_PICTURE)
+ (*env)->ReleaseStringUTFChars (env,
+ android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_PICTURE,
+ Parameters_FOCUS_MODE_CONTINUOUS_PICTURE);
+ Parameters_FOCUS_MODE_CONTINUOUS_PICTURE = NULL;
+ if (android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_PICTURE)
+ (*env)->DeleteGlobalRef (env,
+ android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
+ android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_PICTURE = NULL;
+
+ if (java_lang_string.klass)
+ (*env)->DeleteGlobalRef (env, java_lang_string.klass);
+ java_lang_string.klass = NULL;
+
+ if (java_util_list.klass)
+ (*env)->DeleteGlobalRef (env, java_util_list.klass);
+ java_util_list.klass = NULL;
+
+ if (java_util_iterator.klass)
+ (*env)->DeleteGlobalRef (env, java_util_iterator.klass);
+ java_util_iterator.klass = NULL;
+
+ if (java_lang_integer.klass)
+ (*env)->DeleteGlobalRef (env, java_lang_integer.klass);
+ java_lang_integer.klass = NULL;
+
+ if (org_freedesktop_gstreamer_androidmedia_gstahccallback.klass) {
+ (*env)->UnregisterNatives (env,
+ org_freedesktop_gstreamer_androidmedia_gstahccallback.klass);
+ (*env)->DeleteGlobalRef (env,
+ org_freedesktop_gstreamer_androidmedia_gstahccallback.klass);
+ }
+ org_freedesktop_gstreamer_androidmedia_gstahccallback.klass = NULL;
+}
+
+/* android.hardware.Camera */
+#define AHC_CALL(error_statement, type, method, ...) \
+ GST_DVM_CALL (error_statement, self->object, type, android_hardware_camera, \
+ method, ## __VA_ARGS__);
+#define AHC_STATIC_CALL(error_statement, type, method, ...) \
+ GST_DVM_STATIC_CALL (error_statement, type, android_hardware_camera, \
+ method, ## __VA_ARGS__);
+
+void
+gst_ah_camera_add_callback_buffer (GstAHCamera * self, jbyteArray buffer)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+
+ GST_DEBUG ("add callback_buffer %p", buffer);
+
+ AHC_CALL (, Void, addCallbackBuffer, buffer);
+}
+
+gboolean
+gst_ah_camera_auto_focus (GstAHCamera * self,
+ GstAHCAutoFocusCallback cb, gpointer user_data)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ jobject object = NULL;
+ gboolean ret = FALSE;
+
+ if (cb) {
+ object = (*env)->NewObject (env,
+ org_freedesktop_gstreamer_androidmedia_gstahccallback.klass,
+ org_freedesktop_gstreamer_androidmedia_gstahccallback.constructor,
+ *((jlong *) & cb), *((jlong *) & user_data));
+ if (!object) {
+ GST_ERROR ("Failed to create callback object");
+ (*env)->ExceptionClear (env);
+ goto done;
+ }
+ }
+
+ AHC_CALL (goto done, Void, autoFocus, object);
+
+ ret = TRUE;
+done:
+ if (object)
+ (*env)->DeleteLocalRef (env, object);
+
+ return ret;
+}
+
+gboolean
+gst_ah_camera_cancel_auto_focus (GstAHCamera * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+
+ AHC_CALL (return FALSE, Void, cancelAutoFocus);
+
+ return TRUE;
+}
+
+gboolean
+gst_ah_camera_get_camera_info (gint camera_id, GstAHCCameraInfo * camera_info)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ jobject jcamera_info = NULL;
+ gboolean ret = FALSE;
+
+ jcamera_info = (*env)->NewObject (env,
+ android_hardware_camera_camerainfo.klass,
+ android_hardware_camera_camerainfo.constructor);
+ if (!jcamera_info) {
+ GST_ERROR ("Failed to call Java method");
+ (*env)->ExceptionClear (env);
+ goto done;
+ }
+
+ AHC_STATIC_CALL (goto done, Void, getCameraInfo, camera_id, jcamera_info);
+
+ camera_info->facing = (*env)->GetIntField (env, jcamera_info,
+ android_hardware_camera_camerainfo.facing);
+ if ((*env)->ExceptionCheck (env)) {
+ GST_ERROR ("Failed to get CameraInfo.facing field");
+ (*env)->ExceptionClear (env);
+ goto done;
+ }
+
+ camera_info->orientation = (*env)->GetIntField (env, jcamera_info,
+ android_hardware_camera_camerainfo.orientation);
+ if ((*env)->ExceptionCheck (env)) {
+ GST_ERROR ("Failed to get CameraInfo.orientation field");
+ (*env)->ExceptionClear (env);
+ goto done;
+ }
+
+ ret = TRUE;
+done:
+ if (jcamera_info)
+ (*env)->DeleteLocalRef (env, jcamera_info);
+
+ return ret;
+}
+
+gint
+gst_ah_camera_get_number_of_cameras (void)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ gint num_cameras;
+
+ num_cameras = AHC_STATIC_CALL (return -1, Int, getNumberOfCameras);
+
+ return num_cameras;
+}
+
+GstAHCParameters *
+gst_ah_camera_get_parameters (GstAHCamera * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ jobject object = NULL;
+ GstAHCParameters *params = NULL;
+
+ object = AHC_CALL (return NULL, Object, getParameters);
+ if (object) {
+ params = g_slice_new0 (GstAHCParameters);
+ params->object = (*env)->NewGlobalRef (env, object);
+ (*env)->DeleteLocalRef (env, object);
+ if (!params->object) {
+ GST_ERROR ("Failed to create global reference");
+ (*env)->ExceptionClear (env);
+ g_slice_free (GstAHCParameters, params);
+ return NULL;
+ }
+ }
+
+ GST_DEBUG ("return parameters %p", params->object);
+
+ return params;
+}
+
+gboolean
+gst_ah_camera_lock (GstAHCamera * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+
+ AHC_CALL (return FALSE, Void, lock);
+
+ return TRUE;
+}
+
+GstAHCamera *
+gst_ah_camera_open (gint camera_id)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ jobject object = NULL;
+ GstAHCamera *camera = NULL;
+
+ object = AHC_STATIC_CALL (goto done, Object, open, camera_id);
+ if (object) {
+ camera = g_slice_new0 (GstAHCamera);
+ camera->object = (*env)->NewGlobalRef (env, object);
+ (*env)->DeleteLocalRef (env, object);
+ if (!camera->object) {
+ GST_ERROR ("Failed to create global reference");
+ (*env)->ExceptionClear (env);
+ g_slice_free (GstAHCamera, camera);
+ camera = NULL;
+ }
+ }
+
+done:
+ return camera;
+}
+
+gboolean
+gst_ah_camera_reconnect (GstAHCamera * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+
+ AHC_CALL (return FALSE, Void, reconnect);
+
+ return TRUE;
+}
+
+void
+gst_ah_camera_release (GstAHCamera * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+
+ AHC_CALL (, Void, release);
+}
+
+void
+gst_ah_camera_free (GstAHCamera * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+
+ (*env)->DeleteGlobalRef (env, self->object);
+ g_slice_free (GstAHCamera, self);
+}
+
+
+gboolean
+gst_ah_camera_set_parameters (GstAHCamera * self, GstAHCParameters * params)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+
+ AHC_CALL (return FALSE, Void, setParameters, params->object);
+
+ return TRUE;
+}
+
+gboolean
+gst_ah_camera_set_error_callback (GstAHCamera * self, GstAHCErrorCallback cb,
+ gpointer user_data)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ jobject object = NULL;
+ gboolean ret = FALSE;
+
+ if (cb) {
+ object = (*env)->NewObject (env,
+ org_freedesktop_gstreamer_androidmedia_gstahccallback.klass,
+ org_freedesktop_gstreamer_androidmedia_gstahccallback.constructor,
+ *((jlong *) & cb), *((jlong *) & user_data));
+ if (!object) {
+ GST_ERROR ("Failed to create callback object");
+ (*env)->ExceptionClear (env);
+ goto done;
+ }
+ }
+
+ AHC_CALL (goto done, Void, setErrorCallback, object);
+
+ ret = TRUE;
+done:
+ if (object)
+ (*env)->DeleteLocalRef (env, object);
+
+ return ret;
+}
+
+gboolean
+gst_ah_camera_set_preview_callback_with_buffer (GstAHCamera * self,
+ GstAHCPreviewCallback cb, gpointer user_data)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ jobject object = NULL;
+ gboolean ret = FALSE;
+
+ if (cb) {
+ object = (*env)->NewObject (env,
+ org_freedesktop_gstreamer_androidmedia_gstahccallback.klass,
+ org_freedesktop_gstreamer_androidmedia_gstahccallback.constructor,
+ *((jlong *) & cb), *((jlong *) & user_data));
+ if (!object) {
+ GST_ERROR ("Failed to create callback object");
+ (*env)->ExceptionClear (env);
+ goto done;
+ }
+ }
+
+ AHC_CALL (goto done, Void, setPreviewCallbackWithBuffer, object);
+
+ ret = TRUE;
+done:
+ if (object)
+ (*env)->DeleteLocalRef (env, object);
+
+ return ret;
+}
+
+void
+gst_ah_camera_set_preview_texture (GstAHCamera * self,
+ GstAGSurfaceTexture * surfaceTexture)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+
+ AHC_CALL (, Void, setPreviewTexture, surfaceTexture->object);
+}
+
+gboolean
+gst_ah_camera_start_preview (GstAHCamera * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+
+ AHC_CALL (return FALSE, Void, startPreview);
+
+ return TRUE;
+}
+
+gboolean
+gst_ah_camera_start_smooth_zoom (GstAHCamera * self, gint value)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+
+ AHC_CALL (return FALSE, Void, startSmoothZoom, value);
+
+ return TRUE;
+}
+
+gboolean
+gst_ah_camera_stop_preview (GstAHCamera * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+
+ AHC_CALL (return FALSE, Void, stopPreview);
+
+ return TRUE;
+}
+
+gboolean
+gst_ah_camera_stop_smooth_zoom (GstAHCamera * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+
+ AHC_CALL (return FALSE, Void, stopSmoothZoom);
+
+ return TRUE;
+}
+
+gboolean
+gst_ah_camera_unlock (GstAHCamera * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+
+ AHC_CALL (return FALSE, Void, unlock);
+
+ return TRUE;
+}
+
+#undef AHC_CALL
+#undef AHC_STATIC_CALL
+
+/* android.hardware.Camera.Size */
+GstAHCSize *
+gst_ahc_size_new (gint width, gint height)
+{
+ GstAHCSize *self = g_slice_new0 (GstAHCSize);
+
+ self->width = width;
+ self->height = height;
+
+ return self;
+}
+
+void
+gst_ahc_size_free (GstAHCSize * self)
+{
+ g_slice_free (GstAHCSize, self);
+}
+
+/* java.lang.String */
+static jboolean
+java_lang_string_equals (JNIEnv * env, jstring str, jstring obj)
+{
+ return (*env)->CallBooleanMethod (env, str, java_lang_string.equals, obj);
+}
+
+/* java.util.List */
+static jobject
+java_util_list_iterator (JNIEnv * env, jobject obj)
+{
+ return (*env)->CallObjectMethod (env, obj, java_util_list.iterator);
+}
+
+/* java.util.Iterator */
+static jobject
+java_util_iterator_next (JNIEnv * env, jobject obj)
+{
+ return (*env)->CallObjectMethod (env, obj, java_util_iterator.next);
+}
+
+static jboolean
+java_util_iterator_has_next (JNIEnv * env, jobject obj)
+{
+ return (*env)->CallBooleanMethod (env, obj, java_util_iterator.hasNext);
+}
+
+/* java.lang.Integer */
+static jint
+java_lang_integer_int_value (JNIEnv * env, jobject obj)
+{
+ return (*env)->CallIntMethod (env, obj, java_lang_integer.intValue);
+}
+
+
+/* android.hardware.Camera.Parameters */
+#define AHCP_CALL(error_statement, type, method, ...) \
+ GST_DVM_CALL (error_statement, self->object, type, \
+ android_hardware_camera_parameters, method, ## __VA_ARGS__);
+
+#define AHCP_STATIC_CALL(error_statement, type, method, ...) \
+ GST_DVM_STATIC_CALL (error_statement, type, \
+ android_hardware_camera_parameters, method, ## __VA_ARGS__);
+
+static const gchar *
+_white_balance_to_gchar (JNIEnv * env, jstring white_balance)
+{
+ if (!white_balance)
+ return NULL;
+
+ if (java_lang_string_equals (env, white_balance,
+ android_hardware_camera_parameters.WHITE_BALANCE_AUTO))
+ return Parameters_WHITE_BALANCE_AUTO;
+ else if (java_lang_string_equals (env, white_balance,
+ android_hardware_camera_parameters.WHITE_BALANCE_INCANDESCENT))
+ return Parameters_WHITE_BALANCE_INCANDESCENT;
+ else if (java_lang_string_equals (env, white_balance,
+ android_hardware_camera_parameters.WHITE_BALANCE_FLUORESCENT))
+ return Parameters_WHITE_BALANCE_FLUORESCENT;
+ else if (java_lang_string_equals (env, white_balance,
+ android_hardware_camera_parameters.WHITE_BALANCE_WARM_FLUORESCENT))
+ return Parameters_WHITE_BALANCE_WARM_FLUORESCENT;
+ else if (java_lang_string_equals (env, white_balance,
+ android_hardware_camera_parameters.WHITE_BALANCE_DAYLIGHT))
+ return Parameters_WHITE_BALANCE_DAYLIGHT;
+ else if (java_lang_string_equals (env, white_balance,
+ android_hardware_camera_parameters.WHITE_BALANCE_CLOUDY_DAYLIGHT))
+ return Parameters_WHITE_BALANCE_CLOUDY_DAYLIGHT;
+ else if (java_lang_string_equals (env, white_balance,
+ android_hardware_camera_parameters.WHITE_BALANCE_TWILIGHT))
+ return Parameters_WHITE_BALANCE_TWILIGHT;
+ else if (java_lang_string_equals (env, white_balance,
+ android_hardware_camera_parameters.WHITE_BALANCE_SHADE))
+ return Parameters_WHITE_BALANCE_SHADE;
+
+ return NULL;
+}
+
+static jstring
+_white_balance_to_jstring (const gchar * white_balance)
+{
+ if (!white_balance)
+ return NULL;
+
+ if (!g_strcmp0 (white_balance, Parameters_WHITE_BALANCE_AUTO))
+ return android_hardware_camera_parameters.WHITE_BALANCE_AUTO;
+ else if (!g_strcmp0 (white_balance, Parameters_WHITE_BALANCE_INCANDESCENT))
+ return android_hardware_camera_parameters.WHITE_BALANCE_INCANDESCENT;
+ else if (!g_strcmp0 (white_balance, Parameters_WHITE_BALANCE_FLUORESCENT))
+ return android_hardware_camera_parameters.WHITE_BALANCE_FLUORESCENT;
+ else if (!g_strcmp0 (white_balance,
+ Parameters_WHITE_BALANCE_WARM_FLUORESCENT))
+ return android_hardware_camera_parameters.WHITE_BALANCE_WARM_FLUORESCENT;
+ else if (!g_strcmp0 (white_balance, Parameters_WHITE_BALANCE_DAYLIGHT))
+ return android_hardware_camera_parameters.WHITE_BALANCE_DAYLIGHT;
+ else if (!g_strcmp0 (white_balance, Parameters_WHITE_BALANCE_CLOUDY_DAYLIGHT))
+ return android_hardware_camera_parameters.WHITE_BALANCE_CLOUDY_DAYLIGHT;
+ else if (!g_strcmp0 (white_balance, Parameters_WHITE_BALANCE_TWILIGHT))
+ return android_hardware_camera_parameters.WHITE_BALANCE_TWILIGHT;
+ else if (!g_strcmp0 (white_balance, Parameters_WHITE_BALANCE_SHADE))
+ return android_hardware_camera_parameters.WHITE_BALANCE_SHADE;
+
+ return NULL;
+}
+
+static const gchar *
+_color_effect_to_gchar (JNIEnv * env, jstring color_effect)
+{
+ if (!color_effect)
+ return NULL;
+
+ if (java_lang_string_equals (env, color_effect,
+ android_hardware_camera_parameters.EFFECT_NONE))
+ return Parameters_EFFECT_NONE;
+ else if (java_lang_string_equals (env, color_effect,
+ android_hardware_camera_parameters.EFFECT_MONO))
+ return Parameters_EFFECT_MONO;
+ else if (java_lang_string_equals (env, color_effect,
+ android_hardware_camera_parameters.EFFECT_NEGATIVE))
+ return Parameters_EFFECT_NEGATIVE;
+ else if (java_lang_string_equals (env, color_effect,
+ android_hardware_camera_parameters.EFFECT_SOLARIZE))
+ return Parameters_EFFECT_SOLARIZE;
+ else if (java_lang_string_equals (env, color_effect,
+ android_hardware_camera_parameters.EFFECT_SEPIA))
+ return Parameters_EFFECT_SEPIA;
+ else if (java_lang_string_equals (env, color_effect,
+ android_hardware_camera_parameters.EFFECT_POSTERIZE))
+ return Parameters_EFFECT_POSTERIZE;
+ else if (java_lang_string_equals (env, color_effect,
+ android_hardware_camera_parameters.EFFECT_WHITEBOARD))
+ return Parameters_EFFECT_WHITEBOARD;
+ else if (java_lang_string_equals (env, color_effect,
+ android_hardware_camera_parameters.EFFECT_BLACKBOARD))
+ return Parameters_EFFECT_BLACKBOARD;
+ else if (java_lang_string_equals (env, color_effect,
+ android_hardware_camera_parameters.EFFECT_AQUA))
+ return Parameters_EFFECT_AQUA;
+
+ return NULL;
+}
+
+static jstring
+_color_effect_to_jstring (const gchar * color_effect)
+{
+ if (!color_effect)
+ return NULL;
+
+ if (!g_strcmp0 (color_effect, Parameters_EFFECT_NONE))
+ return android_hardware_camera_parameters.EFFECT_NONE;
+ else if (!g_strcmp0 (color_effect, Parameters_EFFECT_MONO))
+ return android_hardware_camera_parameters.EFFECT_MONO;
+ else if (!g_strcmp0 (color_effect, Parameters_EFFECT_NEGATIVE))
+ return android_hardware_camera_parameters.EFFECT_NEGATIVE;
+ else if (!g_strcmp0 (color_effect, Parameters_EFFECT_SOLARIZE))
+ return android_hardware_camera_parameters.EFFECT_SOLARIZE;
+ else if (!g_strcmp0 (color_effect, Parameters_EFFECT_SEPIA))
+ return android_hardware_camera_parameters.EFFECT_SEPIA;
+ else if (!g_strcmp0 (color_effect, Parameters_EFFECT_POSTERIZE))
+ return android_hardware_camera_parameters.EFFECT_POSTERIZE;
+ else if (!g_strcmp0 (color_effect, Parameters_EFFECT_WHITEBOARD))
+ return android_hardware_camera_parameters.EFFECT_WHITEBOARD;
+ else if (!g_strcmp0 (color_effect, Parameters_EFFECT_BLACKBOARD))
+ return android_hardware_camera_parameters.EFFECT_BLACKBOARD;
+ else if (!g_strcmp0 (color_effect, Parameters_EFFECT_AQUA))
+ return android_hardware_camera_parameters.EFFECT_AQUA;
+
+ return NULL;
+}
+
+static const gchar *
+_antibanding_to_gchar (JNIEnv * env, jstring antibanding)
+{
+ if (!antibanding)
+ return NULL;
+
+ if (java_lang_string_equals (env, antibanding,
+ android_hardware_camera_parameters.ANTIBANDING_AUTO))
+ return Parameters_ANTIBANDING_AUTO;
+ else if (java_lang_string_equals (env, antibanding,
+ android_hardware_camera_parameters.ANTIBANDING_50HZ))
+ return Parameters_ANTIBANDING_50HZ;
+ else if (java_lang_string_equals (env, antibanding,
+ android_hardware_camera_parameters.ANTIBANDING_60HZ))
+ return Parameters_ANTIBANDING_60HZ;
+ else if (java_lang_string_equals (env, antibanding,
+ android_hardware_camera_parameters.ANTIBANDING_OFF))
+ return Parameters_ANTIBANDING_OFF;
+
+ return NULL;
+}
+
+static jstring
+_antibanding_to_jstring (const gchar * antibanding)
+{
+ if (!antibanding)
+ return NULL;
+
+ if (!g_strcmp0 (antibanding, Parameters_ANTIBANDING_AUTO))
+ return android_hardware_camera_parameters.ANTIBANDING_AUTO;
+ else if (!g_strcmp0 (antibanding, Parameters_ANTIBANDING_50HZ))
+ return android_hardware_camera_parameters.ANTIBANDING_50HZ;
+ else if (!g_strcmp0 (antibanding, Parameters_ANTIBANDING_60HZ))
+ return android_hardware_camera_parameters.ANTIBANDING_60HZ;
+ else if (!g_strcmp0 (antibanding, Parameters_ANTIBANDING_OFF))
+ return android_hardware_camera_parameters.ANTIBANDING_OFF;
+
+ return NULL;
+}
+
+static const gchar *
+_flash_mode_to_gchar (JNIEnv * env, jstring flash_mode)
+{
+ if (!flash_mode)
+ return NULL;
+
+ if (java_lang_string_equals (env, flash_mode,
+ android_hardware_camera_parameters.FLASH_MODE_OFF))
+ return Parameters_FLASH_MODE_OFF;
+ else if (java_lang_string_equals (env, flash_mode,
+ android_hardware_camera_parameters.FLASH_MODE_AUTO))
+ return Parameters_FLASH_MODE_AUTO;
+ else if (java_lang_string_equals (env, flash_mode,
+ android_hardware_camera_parameters.FLASH_MODE_ON))
+ return Parameters_FLASH_MODE_ON;
+ else if (java_lang_string_equals (env, flash_mode,
+ android_hardware_camera_parameters.FLASH_MODE_RED_EYE))
+ return Parameters_FLASH_MODE_RED_EYE;
+ else if (java_lang_string_equals (env, flash_mode,
+ android_hardware_camera_parameters.FLASH_MODE_TORCH))
+ return Parameters_FLASH_MODE_TORCH;
+
+ return NULL;
+}
+
+static jstring
+_flash_mode_to_jstring (const gchar * flash_mode)
+{
+ if (!flash_mode)
+ return NULL;
+
+ if (!g_strcmp0 (flash_mode, Parameters_FLASH_MODE_OFF))
+ return android_hardware_camera_parameters.FLASH_MODE_OFF;
+ else if (!g_strcmp0 (flash_mode, Parameters_FLASH_MODE_AUTO))
+ return android_hardware_camera_parameters.FLASH_MODE_AUTO;
+ else if (!g_strcmp0 (flash_mode, Parameters_FLASH_MODE_ON))
+ return android_hardware_camera_parameters.FLASH_MODE_ON;
+ else if (!g_strcmp0 (flash_mode, Parameters_FLASH_MODE_RED_EYE))
+ return android_hardware_camera_parameters.FLASH_MODE_RED_EYE;
+ else if (!g_strcmp0 (flash_mode, Parameters_FLASH_MODE_TORCH))
+ return android_hardware_camera_parameters.FLASH_MODE_TORCH;
+
+ return NULL;
+}
+
+static const gchar *
+_scene_mode_to_gchar (JNIEnv * env, jstring scene_mode)
+{
+ if (!scene_mode)
+ return NULL;
+
+ if (java_lang_string_equals (env, scene_mode,
+ android_hardware_camera_parameters.SCENE_MODE_AUTO))
+ return Parameters_SCENE_MODE_AUTO;
+ else if (java_lang_string_equals (env, scene_mode,
+ android_hardware_camera_parameters.SCENE_MODE_ACTION))
+ return Parameters_SCENE_MODE_ACTION;
+ else if (java_lang_string_equals (env, scene_mode,
+ android_hardware_camera_parameters.SCENE_MODE_PORTRAIT))
+ return Parameters_SCENE_MODE_PORTRAIT;
+ else if (java_lang_string_equals (env, scene_mode,
+ android_hardware_camera_parameters.SCENE_MODE_LANDSCAPE))
+ return Parameters_SCENE_MODE_LANDSCAPE;
+ else if (java_lang_string_equals (env, scene_mode,
+ android_hardware_camera_parameters.SCENE_MODE_NIGHT))
+ return Parameters_SCENE_MODE_NIGHT;
+ else if (java_lang_string_equals (env, scene_mode,
+ android_hardware_camera_parameters.SCENE_MODE_NIGHT_PORTRAIT))
+ return Parameters_SCENE_MODE_NIGHT_PORTRAIT;
+ else if (java_lang_string_equals (env, scene_mode,
+ android_hardware_camera_parameters.SCENE_MODE_THEATRE))
+ return Parameters_SCENE_MODE_THEATRE;
+ else if (java_lang_string_equals (env, scene_mode,
+ android_hardware_camera_parameters.SCENE_MODE_BEACH))
+ return Parameters_SCENE_MODE_BEACH;
+ else if (java_lang_string_equals (env, scene_mode,
+ android_hardware_camera_parameters.SCENE_MODE_SNOW))
+ return Parameters_SCENE_MODE_SNOW;
+ else if (java_lang_string_equals (env, scene_mode,
+ android_hardware_camera_parameters.SCENE_MODE_SUNSET))
+ return Parameters_SCENE_MODE_SUNSET;
+ else if (java_lang_string_equals (env, scene_mode,
+ android_hardware_camera_parameters.SCENE_MODE_STEADYPHOTO))
+ return Parameters_SCENE_MODE_STEADYPHOTO;
+ else if (java_lang_string_equals (env, scene_mode,
+ android_hardware_camera_parameters.SCENE_MODE_FIREWORKS))
+ return Parameters_SCENE_MODE_FIREWORKS;
+ else if (java_lang_string_equals (env, scene_mode,
+ android_hardware_camera_parameters.SCENE_MODE_SPORTS))
+ return Parameters_SCENE_MODE_SPORTS;
+ else if (java_lang_string_equals (env, scene_mode,
+ android_hardware_camera_parameters.SCENE_MODE_PARTY))
+ return Parameters_SCENE_MODE_PARTY;
+ else if (java_lang_string_equals (env, scene_mode,
+ android_hardware_camera_parameters.SCENE_MODE_CANDLELIGHT))
+ return Parameters_SCENE_MODE_CANDLELIGHT;
+ else if (java_lang_string_equals (env, scene_mode,
+ android_hardware_camera_parameters.SCENE_MODE_BARCODE))
+ return Parameters_SCENE_MODE_BARCODE;
+
+ return NULL;
+}
+
+static const jstring
+_scene_mode_to_jstring (const gchar * scene_mode)
+{
+ if (!scene_mode)
+ return NULL;
+
+ if (!g_strcmp0 (scene_mode, Parameters_SCENE_MODE_AUTO))
+ return android_hardware_camera_parameters.SCENE_MODE_AUTO;
+ else if (!g_strcmp0 (scene_mode, Parameters_SCENE_MODE_ACTION))
+ return android_hardware_camera_parameters.SCENE_MODE_ACTION;
+ else if (!g_strcmp0 (scene_mode, Parameters_SCENE_MODE_PORTRAIT))
+ return android_hardware_camera_parameters.SCENE_MODE_PORTRAIT;
+ else if (!g_strcmp0 (scene_mode, Parameters_SCENE_MODE_LANDSCAPE))
+ return android_hardware_camera_parameters.SCENE_MODE_LANDSCAPE;
+ else if (!g_strcmp0 (scene_mode, Parameters_SCENE_MODE_NIGHT))
+ return android_hardware_camera_parameters.SCENE_MODE_NIGHT;
+ else if (!g_strcmp0 (scene_mode, Parameters_SCENE_MODE_NIGHT_PORTRAIT))
+ return android_hardware_camera_parameters.SCENE_MODE_NIGHT_PORTRAIT;
+ else if (!g_strcmp0 (scene_mode, Parameters_SCENE_MODE_THEATRE))
+ return android_hardware_camera_parameters.SCENE_MODE_THEATRE;
+ else if (!g_strcmp0 (scene_mode, Parameters_SCENE_MODE_BEACH))
+ return android_hardware_camera_parameters.SCENE_MODE_BEACH;
+ else if (!g_strcmp0 (scene_mode, Parameters_SCENE_MODE_SNOW))
+ return android_hardware_camera_parameters.SCENE_MODE_SNOW;
+ else if (!g_strcmp0 (scene_mode, Parameters_SCENE_MODE_SUNSET))
+ return android_hardware_camera_parameters.SCENE_MODE_SUNSET;
+ else if (!g_strcmp0 (scene_mode, Parameters_SCENE_MODE_STEADYPHOTO))
+ return android_hardware_camera_parameters.SCENE_MODE_STEADYPHOTO;
+ else if (!g_strcmp0 (scene_mode, Parameters_SCENE_MODE_FIREWORKS))
+ return android_hardware_camera_parameters.SCENE_MODE_FIREWORKS;
+ else if (!g_strcmp0 (scene_mode, Parameters_SCENE_MODE_SPORTS))
+ return android_hardware_camera_parameters.SCENE_MODE_SPORTS;
+ else if (!g_strcmp0 (scene_mode, Parameters_SCENE_MODE_PARTY))
+ return android_hardware_camera_parameters.SCENE_MODE_PARTY;
+ else if (!g_strcmp0 (scene_mode, Parameters_SCENE_MODE_CANDLELIGHT))
+ return android_hardware_camera_parameters.SCENE_MODE_CANDLELIGHT;
+ else if (!g_strcmp0 (scene_mode, Parameters_SCENE_MODE_BARCODE))
+ return android_hardware_camera_parameters.SCENE_MODE_BARCODE;
+
+ return NULL;
+}
+
+static const gchar *
+_focus_mode_to_gchar (JNIEnv * env, jstring focus_mode)
+{
+ if (!focus_mode)
+ return NULL;
+
+ if (java_lang_string_equals (env, focus_mode,
+ android_hardware_camera_parameters.FOCUS_MODE_AUTO))
+ return Parameters_FOCUS_MODE_AUTO;
+ else if (java_lang_string_equals (env, focus_mode,
+ android_hardware_camera_parameters.FOCUS_MODE_INFINITY))
+ return Parameters_FOCUS_MODE_INFINITY;
+ else if (java_lang_string_equals (env, focus_mode,
+ android_hardware_camera_parameters.FOCUS_MODE_MACRO))
+ return Parameters_FOCUS_MODE_MACRO;
+ else if (java_lang_string_equals (env, focus_mode,
+ android_hardware_camera_parameters.FOCUS_MODE_FIXED))
+ return Parameters_FOCUS_MODE_FIXED;
+ else if (java_lang_string_equals (env, focus_mode,
+ android_hardware_camera_parameters.FOCUS_MODE_EDOF))
+ return Parameters_FOCUS_MODE_EDOF;
+ else if (java_lang_string_equals (env, focus_mode,
+ android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_VIDEO))
+ return Parameters_FOCUS_MODE_CONTINUOUS_VIDEO;
+ else if (java_lang_string_equals (env, focus_mode,
+ android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_PICTURE))
+ return Parameters_FOCUS_MODE_CONTINUOUS_PICTURE;
+
+ return NULL;
+}
+
+static jstring
+_focus_mode_to_jstring (const gchar * focus_mode)
+{
+ if (!focus_mode)
+ return NULL;
+
+ if (!g_strcmp0 (focus_mode, Parameters_FOCUS_MODE_AUTO))
+ return android_hardware_camera_parameters.FOCUS_MODE_AUTO;
+ else if (!g_strcmp0 (focus_mode, Parameters_FOCUS_MODE_INFINITY))
+ return android_hardware_camera_parameters.FOCUS_MODE_INFINITY;
+ else if (!g_strcmp0 (focus_mode, Parameters_FOCUS_MODE_MACRO))
+ return android_hardware_camera_parameters.FOCUS_MODE_MACRO;
+ else if (!g_strcmp0 (focus_mode, Parameters_FOCUS_MODE_FIXED))
+ return android_hardware_camera_parameters.FOCUS_MODE_FIXED;
+ else if (!g_strcmp0 (focus_mode, Parameters_FOCUS_MODE_EDOF))
+ return android_hardware_camera_parameters.FOCUS_MODE_EDOF;
+ else if (!g_strcmp0 (focus_mode, Parameters_FOCUS_MODE_CONTINUOUS_VIDEO))
+ return android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_VIDEO;
+ else if (!g_strcmp0 (focus_mode, Parameters_FOCUS_MODE_CONTINUOUS_PICTURE))
+ return android_hardware_camera_parameters.FOCUS_MODE_CONTINUOUS_PICTURE;
+
+ return NULL;
+}
+
+gchar *
+gst_ahc_parameters_flatten (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ jstring v_str = NULL;
+ const gchar *v = NULL;
+ gchar *ret = NULL;
+
+ v_str = AHCP_CALL (goto done, Object, flatten);
+ v = (*env)->GetStringUTFChars (env, v_str, NULL);
+ if (!v) {
+ GST_ERROR ("Failed to convert string to UTF8");
+ (*env)->ExceptionClear (env);
+ goto done;
+ }
+
+ ret = g_strdup (v);
+done:
+ if (v)
+ (*env)->ReleaseStringUTFChars (env, v_str, v);
+ if (v_str)
+ (*env)->DeleteLocalRef (env, v_str);
+
+ return ret;
+}
+
+const gchar *
+gst_ahc_parameters_get_antibanding (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ const gchar *ret = NULL;
+ jstring antibanding;
+
+ antibanding = AHCP_CALL (return NULL, Object, getAntibanding);
+
+ ret = _antibanding_to_gchar (env, antibanding);
+
+ if (antibanding)
+ (*env)->DeleteLocalRef (env, antibanding);
+
+ return ret;
+}
+
+const gchar *
+gst_ahc_parameters_get_color_effect (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ const gchar *ret = NULL;
+ jstring color_effect;
+
+ color_effect = AHCP_CALL (return NULL, Object, getColorEffect);
+
+ ret = _color_effect_to_gchar (env, color_effect);
+
+ if (color_effect)
+ (*env)->DeleteLocalRef (env, color_effect);
+
+ return ret;
+}
+
+gint
+gst_ahc_parameters_get_exposure_compensation (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ gint ev;
+
+ ev = AHCP_CALL (return -1, Int, getExposureCompensation);
+
+ return ev;
+}
+
+gfloat
+gst_ahc_parameters_get_exposure_compensation_step (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ gfloat step;
+
+ step = AHCP_CALL (return 0.0, Float, getExposureCompensationStep);
+
+ return step;
+}
+
+const gchar *
+gst_ahc_parameters_get_flash_mode (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ const gchar *ret = NULL;
+ jstring flash_mode;
+
+ flash_mode = AHCP_CALL (return NULL, Object, getFlashMode);
+
+ ret = _flash_mode_to_gchar (env, flash_mode);
+
+ if (flash_mode)
+ (*env)->DeleteLocalRef (env, flash_mode);
+
+ return ret;
+}
+
+gfloat
+gst_ahc_parameters_get_focal_length (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ gfloat length;
+
+ length = AHCP_CALL (return 0.0, Float, getFocalLength);
+
+ return length;
+}
+
+const gchar *
+gst_ahc_parameters_get_focus_mode (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ const gchar *ret = NULL;
+ jstring focus_mode;
+
+ focus_mode = AHCP_CALL (return NULL, Object, getFocusMode);
+
+ ret = _focus_mode_to_gchar (env, focus_mode);
+
+ if (focus_mode)
+ (*env)->DeleteLocalRef (env, focus_mode);
+
+ return ret;
+}
+
+gfloat
+gst_ahc_parameters_get_horizontal_view_angle (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ gfloat angle;
+
+ angle = AHCP_CALL (return 0.0, Float, getHorizontalViewAngle);
+
+ return angle;
+}
+
+gint
+gst_ahc_parameters_get_max_exposure_compensation (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ gint max;
+
+ max = AHCP_CALL (return 0, Int, getMaxExposureCompensation);
+
+ return max;
+}
+
+gint
+gst_ahc_parameters_get_max_zoom (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ gint max;
+
+ max = AHCP_CALL (return -1, Int, getMaxZoom);
+
+ return max;
+}
+
+gint
+gst_ahc_parameters_get_min_exposure_compensation (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ gint min;
+
+ min = AHCP_CALL (return 0, Int, getMinExposureCompensation);
+
+ return min;
+}
+
+gint
+gst_ahc_parameters_get_preview_format (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ gint format;
+
+ format = AHCP_CALL (return 0, Int, getPreviewFormat);
+
+ return format;
+}
+
+gboolean
+gst_ahc_parameters_get_preview_fps_range (GstAHCParameters * self,
+ gint * min, gint * max)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ gboolean ret = FALSE;
+ jintArray range = NULL;
+ jint *fps = NULL;
+
+ range = (*env)->NewIntArray (env, 2);
+ if (!fps) {
+ (*env)->ExceptionClear (env);
+ GST_ERROR ("Failed to create array");
+ goto done;
+ }
+
+ AHCP_CALL (goto done, Void, getPreviewFpsRange, range);
+
+ fps = (*env)->GetIntArrayElements (env, range, NULL);
+ if ((*env)->ExceptionCheck (env) || !fps) {
+ (*env)->ExceptionClear (env);
+ GST_ERROR ("Failed to get array elements");
+ goto done;
+ }
+ if (min)
+ *min = fps[0];
+ if (max)
+ *max = fps[1];
+
+ ret = TRUE;
+done:
+ if (fps)
+ (*env)->ReleaseIntArrayElements (env, range, fps, JNI_ABORT);
+ if (range)
+ (*env)->DeleteLocalRef (env, range);
+
+ return ret;
+}
+
+GstAHCSize *
+gst_ahc_parameters_get_preview_size (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ jobject jsize = NULL;
+ GstAHCSize *size = NULL;
+
+ jsize = AHCP_CALL (goto done, Object, getPreviewSize);
+
+ size = g_slice_new0 (GstAHCSize);
+
+ size->width = (*env)->GetIntField (env, jsize,
+ android_hardware_camera_size.width);
+ if ((*env)->ExceptionCheck (env)) {
+ GST_ERROR ("Failed to get Camera.Size.width field");
+ (*env)->ExceptionClear (env);
+ g_slice_free (GstAHCSize, size);
+ size = NULL;
+ goto done;
+ }
+
+ size->height = (*env)->GetIntField (env, jsize,
+ android_hardware_camera_size.height);
+ if ((*env)->ExceptionCheck (env)) {
+ GST_ERROR ("Failed to get Camera.Size.height field");
+ (*env)->ExceptionClear (env);
+ g_slice_free (GstAHCSize, size);
+ size = NULL;
+ goto done;
+ }
+
+done:
+ if (jsize)
+ (*env)->DeleteLocalRef (env, jsize);
+
+ return size;
+}
+
+const gchar *
+gst_ahc_parameters_get_scene_mode (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ const gchar *ret = NULL;
+ jstring scene_mode;
+
+ scene_mode = AHCP_CALL (return NULL, Object, getSceneMode);
+
+ ret = _scene_mode_to_gchar (env, scene_mode);
+
+ if (scene_mode)
+ (*env)->DeleteLocalRef (env, scene_mode);
+
+ return ret;
+}
+
+GList *
+gst_ahc_parameters_get_supported_antibanding (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ jobject list = NULL;
+ GList *ret = NULL;
+
+ list = AHCP_CALL (return NULL, Object, getSupportedAntibanding);
+
+ if (list) {
+ jobject iterator = NULL;
+
+ iterator = java_util_list_iterator (env, list);
+ if (iterator) {
+ while (java_util_iterator_has_next (env, iterator)) {
+ jobject str = java_util_iterator_next (env, iterator);
+
+ if (str) {
+ const gchar *value = _antibanding_to_gchar (env, str);
+
+ ret = g_list_append (ret, (gchar *) value);
+ (*env)->DeleteLocalRef (env, str);
+ }
+ }
+ (*env)->DeleteLocalRef (env, iterator);
+ }
+ (*env)->DeleteLocalRef (env, list);
+ }
+
+ return ret;
+}
+
+void
+gst_ahc_parameters_supported_antibanding_free (GList * list)
+{
+ g_list_free (list);
+}
+
+GList *
+gst_ahc_parameters_get_supported_color_effects (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ jobject list = NULL;
+ GList *ret = NULL;
+
+ list = AHCP_CALL (return NULL, Object, getSupportedColorEffects);
+
+ if (list) {
+ jobject iterator = NULL;
+
+ iterator = java_util_list_iterator (env, list);
+ if (iterator) {
+ while (java_util_iterator_has_next (env, iterator)) {
+ jobject str = java_util_iterator_next (env, iterator);
+
+ if (str) {
+ const gchar *value = _color_effect_to_gchar (env, str);
+
+ ret = g_list_append (ret, (gchar *) value);
+ (*env)->DeleteLocalRef (env, str);
+ }
+ }
+ (*env)->DeleteLocalRef (env, iterator);
+ }
+ (*env)->DeleteLocalRef (env, list);
+ }
+
+ return ret;
+}
+
+void
+gst_ahc_parameters_supported_color_effects_free (GList * list)
+{
+ g_list_free (list);
+}
+
+GList *
+gst_ahc_parameters_get_supported_flash_modes (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ jobject list = NULL;
+ GList *ret = NULL;
+
+ list = AHCP_CALL (return NULL, Object, getSupportedFlashModes);
+
+ if (list) {
+ jobject iterator = NULL;
+
+ iterator = java_util_list_iterator (env, list);
+ if (iterator) {
+ while (java_util_iterator_has_next (env, iterator)) {
+ jobject str = java_util_iterator_next (env, iterator);
+
+ if (str) {
+ const gchar *value = _flash_mode_to_gchar (env, str);
+
+ ret = g_list_append (ret, (gchar *) value);
+ (*env)->DeleteLocalRef (env, str);
+ }
+ }
+ (*env)->DeleteLocalRef (env, iterator);
+ }
+ (*env)->DeleteLocalRef (env, list);
+ }
+
+ return ret;
+}
+
+void
+gst_ahc_parameters_supported_flash_modes_free (GList * list)
+{
+ g_list_free (list);
+}
+
+GList *
+gst_ahc_parameters_get_supported_focus_modes (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ jobject list = NULL;
+ GList *ret = NULL;
+
+ list = AHCP_CALL (return NULL, Object, getSupportedFocusModes);
+
+ if (list) {
+ jobject iterator = NULL;
+
+ iterator = java_util_list_iterator (env, list);
+ if (iterator) {
+ while (java_util_iterator_has_next (env, iterator)) {
+ jobject str = java_util_iterator_next (env, iterator);
+
+ if (str) {
+ const gchar *value = _focus_mode_to_gchar (env, str);
+
+ ret = g_list_append (ret, (gchar *) value);
+ (*env)->DeleteLocalRef (env, str);
+ }
+ }
+ (*env)->DeleteLocalRef (env, iterator);
+ }
+ (*env)->DeleteLocalRef (env, list);
+ }
+
+ return ret;
+}
+
+void
+gst_ahc_parameters_supported_focus_modes_free (GList * list)
+{
+ g_list_free (list);
+}
+
+GList *
+gst_ahc_parameters_get_supported_preview_formats (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ jobject list = NULL;
+ GList *ret = NULL;
+
+ list = AHCP_CALL (return NULL, Object, getSupportedPreviewFormats);
+
+ if (list) {
+ jobject iterator = NULL;
+
+ iterator = java_util_list_iterator (env, list);
+ if (iterator) {
+ while (java_util_iterator_has_next (env, iterator)) {
+ jobject integer = java_util_iterator_next (env, iterator);
+
+ if (integer) {
+ jint value = java_lang_integer_int_value (env, integer);
+
+ ret = g_list_append (ret, GINT_TO_POINTER (value));
+ (*env)->DeleteLocalRef (env, integer);
+ }
+ }
+ (*env)->DeleteLocalRef (env, iterator);
+ }
+ (*env)->DeleteLocalRef (env, list);
+ }
+
+ return ret;
+}
+
+void
+gst_ahc_parameters_supported_preview_formats_free (GList * list)
+{
+ g_list_free (list);
+}
+
+GList *
+gst_ahc_parameters_get_supported_preview_fps_range (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ jobject list = NULL;
+ GList *ret = NULL;
+
+ list = AHCP_CALL (return NULL, Object, getSupportedPreviewFpsRange);
+
+ if (list) {
+ jobject iterator = NULL;
+
+ iterator = java_util_list_iterator (env, list);
+ if (iterator) {
+ while (java_util_iterator_has_next (env, iterator)) {
+ jintArray range = java_util_iterator_next (env, iterator);
+
+ if (range) {
+ jint *fps = g_new (jint, 2);
+
+ (*env)->GetIntArrayRegion (env, range, 0, 2, fps);
+ ret = g_list_append (ret, fps);
+ (*env)->DeleteLocalRef (env, range);
+ }
+ }
+ (*env)->DeleteLocalRef (env, iterator);
+ }
+ (*env)->DeleteLocalRef (env, list);
+ }
+
+ return ret;
+}
+
+void
+gst_ahc_parameters_supported_preview_fps_range_free (GList * list)
+{
+ g_list_foreach (list, (GFunc) g_free, NULL);
+ g_list_free (list);
+}
+
+GList *
+gst_ahc_parameters_get_supported_preview_sizes (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ jobject list = NULL;
+ GList *ret = NULL;
+
+ list = AHCP_CALL (return NULL, Object, getSupportedPreviewSizes);
+
+ if (list) {
+ jobject iterator = NULL;
+
+ iterator = java_util_list_iterator (env, list);
+ if (iterator) {
+ while (java_util_iterator_has_next (env, iterator)) {
+ jobject jsize = java_util_iterator_next (env, iterator);
+
+ if (jsize) {
+ jint width, height;
+
+ width = (*env)->GetIntField (env, jsize,
+ android_hardware_camera_size.width);
+ height = (*env)->GetIntField (env, jsize,
+ android_hardware_camera_size.height);
+
+ ret = g_list_append (ret, gst_ahc_size_new (width, height));
+ (*env)->DeleteLocalRef (env, jsize);
+ }
+ }
+ (*env)->DeleteLocalRef (env, iterator);
+ }
+ (*env)->DeleteLocalRef (env, list);
+ }
+
+ return ret;
+}
+
+void
+gst_ahc_parameters_supported_preview_sizes_free (GList * list)
+{
+ g_list_foreach (list, (GFunc) gst_ahc_size_free, NULL);
+ g_list_free (list);
+}
+
+GList *
+gst_ahc_parameters_get_supported_scene_modes (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ jobject list = NULL;
+ GList *ret = NULL;
+
+ list = AHCP_CALL (return NULL, Object, getSupportedSceneModes);
+
+ if (list) {
+ jobject iterator = NULL;
+
+ iterator = java_util_list_iterator (env, list);
+ if (iterator) {
+ while (java_util_iterator_has_next (env, iterator)) {
+ jobject str = java_util_iterator_next (env, iterator);
+
+ if (str) {
+ const gchar *value = _scene_mode_to_gchar (env, str);
+
+ ret = g_list_append (ret, (gchar *) value);
+ (*env)->DeleteLocalRef (env, str);
+ }
+ }
+ (*env)->DeleteLocalRef (env, iterator);
+ }
+ (*env)->DeleteLocalRef (env, list);
+ }
+
+ return ret;
+}
+
+void
+gst_ahc_parameters_supported_scene_modes_free (GList * list)
+{
+ g_list_free (list);
+}
+
+GList *
+gst_ahc_parameters_get_supported_white_balance (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ jobject list = NULL;
+ GList *ret = NULL;
+
+ list = AHCP_CALL (return NULL, Object, getSupportedWhiteBalance);
+
+ if (list) {
+ jobject iterator = NULL;
+
+ iterator = java_util_list_iterator (env, list);
+ if (iterator) {
+ while (java_util_iterator_has_next (env, iterator)) {
+ jobject str = java_util_iterator_next (env, iterator);
+
+ if (str) {
+ const gchar *value = _white_balance_to_gchar (env, str);
+
+ ret = g_list_append (ret, (gchar *) value);
+ (*env)->DeleteLocalRef (env, str);
+ }
+ }
+ (*env)->DeleteLocalRef (env, iterator);
+ }
+ (*env)->DeleteLocalRef (env, list);
+ }
+
+ return ret;
+}
+
+void
+gst_ahc_parameters_supported_white_balance_free (GList * list)
+{
+ g_list_free (list);
+}
+
+gfloat
+gst_ahc_parameters_get_vertical_view_angle (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ gfloat angle;
+
+ angle = AHCP_CALL (return 0.0, Float, getVerticalViewAngle);
+
+ return angle;
+}
+
+gboolean
+gst_ahc_parameters_get_video_stabilization (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ gboolean ret;
+
+ ret = AHCP_CALL (return FALSE, Boolean, getVideoStabilization);
+
+ return ret;
+}
+
+const gchar *
+gst_ahc_parameters_get_white_balance (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ const gchar *ret = NULL;
+ jstring white_balance;
+
+ white_balance = AHCP_CALL (return NULL, Object, getWhiteBalance);
+
+ ret = _white_balance_to_gchar (env, white_balance);
+
+ if (white_balance)
+ (*env)->DeleteLocalRef (env, white_balance);
+
+ return ret;
+}
+
+gint
+gst_ahc_parameters_get_zoom (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ gint zoom;
+
+ zoom = AHCP_CALL (return -1, Int, getZoom);
+
+ return zoom;
+}
+
+GList *
+gst_ahc_parameters_get_zoom_ratios (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ jobject list = NULL;
+ GList *ret = NULL;
+
+ list = AHCP_CALL (return NULL, Object, getZoomRatios);
+
+ if (list) {
+ jobject iterator = NULL;
+
+ iterator = java_util_list_iterator (env, list);
+ if (iterator) {
+ while (java_util_iterator_has_next (env, iterator)) {
+ jobject integer = java_util_iterator_next (env, iterator);
+
+ if (integer) {
+ jint value = java_lang_integer_int_value (env, integer);
+
+ ret = g_list_append (ret, GINT_TO_POINTER (value));
+ (*env)->DeleteLocalRef (env, integer);
+ }
+ }
+ (*env)->DeleteLocalRef (env, iterator);
+ }
+ (*env)->DeleteLocalRef (env, list);
+ }
+
+ return ret;
+}
+
+void
+gst_ahc_parameters_zoom_ratios_free (GList * list)
+{
+ g_list_free (list);
+}
+
+gboolean
+gst_ahc_parameters_is_smooth_zoom_supported (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ gboolean supported;
+
+ supported = AHCP_CALL (return FALSE, Boolean, isSmoothZoomSupported);
+
+ return supported;
+}
+
+gboolean
+gst_ahc_parameters_is_video_stabilization_supported (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ gboolean supported;
+
+ supported = AHCP_CALL (return FALSE, Boolean, isVideoStabilizationSupported);
+
+ return supported;
+}
+
+gboolean
+gst_ahc_parameters_is_zoom_supported (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ gboolean supported;
+
+ supported = AHCP_CALL (return FALSE, Boolean, isZoomSupported);
+
+ return supported;
+}
+
+gboolean
+gst_ahc_parameters_set_antibanding (GstAHCParameters * self,
+ const gchar * value)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ jstring antibanding;
+
+ antibanding = _antibanding_to_jstring (value);
+ if (!antibanding)
+ return FALSE;
+
+ AHCP_CALL (return FALSE, Void, setAntibanding, antibanding);
+
+ return TRUE;
+}
+
+gboolean
+gst_ahc_parameters_set_color_effect (GstAHCParameters * self,
+ const gchar * value)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ jstring color_effect;
+
+ color_effect = _color_effect_to_jstring (value);
+ if (!color_effect)
+ return FALSE;
+
+ AHCP_CALL (return FALSE, Void, setColorEffect, color_effect);
+
+ return TRUE;
+}
+
+gboolean
+gst_ahc_parameters_set_exposure_compensation (GstAHCParameters * self,
+ gint value)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+
+ AHCP_CALL (return FALSE, Void, setExposureCompensation, value);
+
+ return TRUE;
+}
+
+gboolean
+gst_ahc_parameters_set_flash_mode (GstAHCParameters * self, const gchar * value)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ jstring flash_mode;
+
+ flash_mode = _flash_mode_to_jstring (value);
+ if (!flash_mode)
+ return FALSE;
+
+ AHCP_CALL (return FALSE, Void, setFlashMode, flash_mode);
+
+ return TRUE;
+}
+
+gboolean
+gst_ahc_parameters_set_focus_mode (GstAHCParameters * self, const gchar * value)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ jstring focus_mode;
+
+ focus_mode = _focus_mode_to_jstring (value);
+ if (!focus_mode)
+ return FALSE;
+
+ AHCP_CALL (return FALSE, Void, setFocusMode, focus_mode);
+
+ return TRUE;
+}
+
+gboolean
+gst_ahc_parameters_set_preview_format (GstAHCParameters * self, gint format)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+
+ AHCP_CALL (return FALSE, Void, setPreviewFormat, format);
+
+ return TRUE;
+}
+
+gboolean
+gst_ahc_parameters_set_preview_fps_range (GstAHCParameters * self,
+ gint min, gint max)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+
+ AHCP_CALL (return FALSE, Void, setPreviewFpsRange, min, max);
+
+ return TRUE;
+}
+
+gboolean
+gst_ahc_parameters_set_preview_size (GstAHCParameters * self,
+ gint width, gint height)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+
+ AHCP_CALL (return FALSE, Void, setPreviewSize, width, height);
+
+ return TRUE;
+}
+
+gboolean
+gst_ahc_parameters_set_scene_mode (GstAHCParameters * self, const gchar * value)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ jstring scene_mode;
+
+ scene_mode = _scene_mode_to_jstring (value);
+ if (!scene_mode)
+ return FALSE;
+
+ AHCP_CALL (return FALSE, Void, setSceneMode, scene_mode);
+
+ return TRUE;
+}
+
+
+gboolean
+gst_ahc_parameters_set_video_stabilization (GstAHCParameters * self,
+ gboolean toggle)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+
+ AHCP_CALL (return FALSE, Void, setVideoStabilization, toggle);
+
+ return TRUE;
+}
+
+gboolean
+gst_ahc_parameters_set_white_balance (GstAHCParameters * self,
+ const gchar * value)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ jstring white_balance;
+
+ white_balance = _white_balance_to_jstring (value);
+ if (!white_balance)
+ return FALSE;
+
+ AHCP_CALL (return FALSE, Void, setWhiteBalance, white_balance);
+
+ return TRUE;
+}
+
+gboolean
+gst_ahc_parameters_set_zoom (GstAHCParameters * self, gint value)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+
+ AHCP_CALL (return FALSE, Void, setZoom, value);
+
+ return TRUE;
+}
+
+gboolean
+gst_ahc_parameters_unflatten (GstAHCParameters * self, const gchar * flattened)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+ jstring v_str = NULL;
+ gboolean ret = TRUE;
+
+ v_str = (*env)->NewStringUTF (env, flattened);
+ if (v_str == NULL)
+ return FALSE;
+
+ AHCP_CALL (ret = FALSE, Void, unflatten, v_str);
+
+ (*env)->DeleteLocalRef (env, v_str);
+
+ return ret;
+}
+
+void
+gst_ahc_parameters_free (GstAHCParameters * self)
+{
+ JNIEnv *env = gst_amc_jni_get_env ();
+
+ g_return_if_fail (self != NULL);
+ g_return_if_fail (self->object != NULL);
+
+ GST_DEBUG ("freeing parameters %p", self->object);
+
+ (*env)->DeleteGlobalRef (env, self->object);
+ g_slice_free (GstAHCParameters, self);
+}
diff --git a/sys/androidmedia/gst-android-hardware-camera.h b/sys/androidmedia/gst-android-hardware-camera.h
new file mode 100644
index 0000000..44e7842
--- /dev/null
+++ b/sys/androidmedia/gst-android-hardware-camera.h
@@ -0,0 +1,252 @@
+/*
+ * Copyright (C) 2012, Collabora Ltd.
+ * Copyright (C) 2012, Cisco Systems, Inc.
+ * Author: Youness Alaoui <youness.alaoui@collabora.co.uk>
+ *
+ * Copyright (C) 2015, Collabora Ltd.
+ * Author: Justin Kim <justin.kim@collabora.com>
+ *
+ * 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
+ * version 2.1 of the License.
+ *
+ * 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 Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+
+#ifndef __GST_ANDROID_HARDWARE_CAMERA_H__
+#define __GST_ANDROID_HARDWARE_CAMERA_H__
+
+#include <gst/gst.h>
+#include <jni.h>
+
+#include "gst-android-graphics-surfacetexture.h"
+#include "gst-android-graphics-imageformat.h"
+
+G_BEGIN_DECLS
+
+typedef struct _GstAHCamera GstAHCamera;
+typedef struct _GstAHCCameraInfo GstAHCCameraInfo;
+typedef struct _GstAHCSize GstAHCSize;
+typedef struct _GstAHCParameters GstAHCParameters;
+
+/* android.hardware.Camera */
+struct _GstAHCamera
+{
+ /* < private > */
+ jobject object; /* global reference */
+};
+
+/* android.hardware.Camera.CameraInfo */
+struct _GstAHCCameraInfo
+{
+ gint facing;
+ gint orientation;
+};
+extern gint CameraInfo_CAMERA_FACING_BACK;
+extern gint CameraInfo_CAMERA_FACING_FRONT;
+
+/* android.hardware.Camera.Size */
+struct _GstAHCSize
+{
+ gint width;
+ gint height;
+};
+
+/* android.hardware.Camera.Parameters */
+struct _GstAHCParameters
+{
+ /* < private > */
+ jobject object; /* global reference */
+};
+extern const gchar *Parameters_WHITE_BALANCE_AUTO;
+extern const gchar *Parameters_WHITE_BALANCE_INCANDESCENT;
+extern const gchar *Parameters_WHITE_BALANCE_FLUORESCENT;
+extern const gchar *Parameters_WHITE_BALANCE_WARM_FLUORESCENT;
+extern const gchar *Parameters_WHITE_BALANCE_DAYLIGHT;
+extern const gchar *Parameters_WHITE_BALANCE_CLOUDY_DAYLIGHT;
+extern const gchar *Parameters_WHITE_BALANCE_TWILIGHT;
+extern const gchar *Parameters_WHITE_BALANCE_SHADE;
+extern const gchar *Parameters_EFFECT_NONE;
+extern const gchar *Parameters_EFFECT_MONO;
+extern const gchar *Parameters_EFFECT_NEGATIVE;
+extern const gchar *Parameters_EFFECT_SOLARIZE;
+extern const gchar *Parameters_EFFECT_SEPIA;
+extern const gchar *Parameters_EFFECT_POSTERIZE;
+extern const gchar *Parameters_EFFECT_WHITEBOARD;
+extern const gchar *Parameters_EFFECT_BLACKBOARD;
+extern const gchar *Parameters_EFFECT_AQUA;
+extern const gchar *Parameters_ANTIBANDING_AUTO;
+extern const gchar *Parameters_ANTIBANDING_50HZ;
+extern const gchar *Parameters_ANTIBANDING_60HZ;
+extern const gchar *Parameters_ANTIBANDING_OFF;
+extern const gchar *Parameters_FLASH_MODE_OFF;
+extern const gchar *Parameters_FLASH_MODE_AUTO;
+extern const gchar *Parameters_FLASH_MODE_ON;
+extern const gchar *Parameters_FLASH_MODE_RED_EYE;
+extern const gchar *Parameters_FLASH_MODE_TORCH;
+extern const gchar *Parameters_SCENE_MODE_AUTO;
+extern const gchar *Parameters_SCENE_MODE_ACTION;
+extern const gchar *Parameters_SCENE_MODE_PORTRAIT;
+extern const gchar *Parameters_SCENE_MODE_LANDSCAPE;
+extern const gchar *Parameters_SCENE_MODE_NIGHT;
+extern const gchar *Parameters_SCENE_MODE_NIGHT_PORTRAIT;
+extern const gchar *Parameters_SCENE_MODE_THEATRE;
+extern const gchar *Parameters_SCENE_MODE_BEACH;
+extern const gchar *Parameters_SCENE_MODE_SNOW;
+extern const gchar *Parameters_SCENE_MODE_SUNSET;
+extern const gchar *Parameters_SCENE_MODE_STEADYPHOTO;
+extern const gchar *Parameters_SCENE_MODE_FIREWORKS;
+extern const gchar *Parameters_SCENE_MODE_SPORTS;
+extern const gchar *Parameters_SCENE_MODE_PARTY;
+extern const gchar *Parameters_SCENE_MODE_CANDLELIGHT;
+extern const gchar *Parameters_SCENE_MODE_BARCODE;
+extern const gchar *Parameters_FOCUS_MODE_AUTO;
+extern const gchar *Parameters_FOCUS_MODE_INFINITY;
+extern const gchar *Parameters_FOCUS_MODE_MACRO;
+extern const gchar *Parameters_FOCUS_MODE_FIXED;
+extern const gchar *Parameters_FOCUS_MODE_EDOF;
+extern const gchar *Parameters_FOCUS_MODE_CONTINUOUS_VIDEO;
+extern const gchar *Parameters_FOCUS_MODE_CONTINUOUS_PICTURE;
+
+/* android.hardware.Camera.ErrorCallback */
+typedef void (*GstAHCErrorCallback) (gint error, gpointer user_data);
+
+/* android.hardware.Camera.PreviewCallback */
+typedef void (*GstAHCPreviewCallback) (jbyteArray data, gpointer user_data);
+
+/* android.hardware.Camera.AutoFocusCallback */
+typedef void (*GstAHCAutoFocusCallback) (gboolean success, gpointer user_data);
+
+gboolean gst_android_hardware_camera_init (void);
+void gst_android_hardware_camera_deinit (void);
+
+/* android.hardware.Camera */
+void gst_ah_camera_add_callback_buffer (GstAHCamera * self, jbyteArray buffer);
+gboolean gst_ah_camera_auto_focus (GstAHCamera * self,
+ GstAHCAutoFocusCallback cb, gpointer user_data);
+gboolean gst_ah_camera_cancel_auto_focus (GstAHCamera * self);
+gboolean gst_ah_camera_get_camera_info (gint camera_id,
+ GstAHCCameraInfo * camera_info);
+gint gst_ah_camera_get_number_of_cameras (void);
+GstAHCParameters *gst_ah_camera_get_parameters (GstAHCamera * self);
+gboolean gst_ah_camera_lock (GstAHCamera * self);
+GstAHCamera *gst_ah_camera_open (gint camera_id);
+gboolean gst_ah_camera_reconnect (GstAHCamera * self);
+void gst_ah_camera_release (GstAHCamera * self);
+void gst_ah_camera_free (GstAHCamera * self);
+gboolean gst_ah_camera_set_parameters (GstAHCamera * self,
+ GstAHCParameters * params);
+gboolean gst_ah_camera_set_error_callback (GstAHCamera * self,
+ GstAHCErrorCallback cb, gpointer user_data);
+gboolean gst_ah_camera_set_preview_callback_with_buffer (GstAHCamera * self,
+ GstAHCPreviewCallback cb, gpointer user_data);
+void gst_ah_camera_set_preview_texture (GstAHCamera * self,
+ GstAGSurfaceTexture * surfaceTexture);
+gboolean gst_ah_camera_start_preview (GstAHCamera * self);
+gboolean gst_ah_camera_start_smooth_zoom (GstAHCamera * self, gint value);
+gboolean gst_ah_camera_stop_preview (GstAHCamera * self);
+gboolean gst_ah_camera_stop_smooth_zoom (GstAHCamera * self);
+gboolean gst_ah_camera_unlock (GstAHCamera * self);
+
+/* android.hardware.Camera.Size */
+GstAHCSize *gst_ahc_size_new (gint width, gint height);
+void gst_ahc_size_free (GstAHCSize * self);
+
+/* android.hardware.Camera.Parameters */
+gchar *gst_ahc_parameters_flatten (GstAHCParameters * self);
+const gchar *gst_ahc_parameters_get_antibanding (GstAHCParameters * self);
+const gchar *gst_ahc_parameters_get_color_effect (GstAHCParameters * self);
+gint gst_ahc_parameters_get_exposure_compensation (GstAHCParameters * self);
+gfloat gst_ahc_parameters_get_exposure_compensation_step (GstAHCParameters
+ * self);
+const gchar *gst_ahc_parameters_get_flash_mode (GstAHCParameters * self);
+gfloat gst_ahc_parameters_get_focal_length (GstAHCParameters * self);
+const gchar *gst_ahc_parameters_get_focus_mode (GstAHCParameters * self);
+gfloat gst_ahc_parameters_get_horizontal_view_angle (GstAHCParameters * self);
+gint gst_ahc_parameters_get_max_exposure_compensation (GstAHCParameters * self);
+gint gst_ahc_parameters_get_max_zoom (GstAHCParameters * self);
+gint gst_ahc_parameters_get_min_exposure_compensation (GstAHCParameters * self);
+gint gst_ahc_parameters_get_preview_format (GstAHCParameters * self);
+gboolean gst_ahc_parameters_get_preview_fps_range (GstAHCParameters * self,
+ gint * min, gint * max);
+GstAHCSize *gst_ahc_parameters_get_preview_size (GstAHCParameters * self);
+const gchar *gst_ahc_parameters_get_scene_mode (GstAHCParameters * self);
+/* GList <const gchar *> */
+GList *gst_ahc_parameters_get_supported_antibanding (GstAHCParameters * self);
+void gst_ahc_parameters_supported_antibanding_free (GList * list);
+/* GList <const gchar *> */
+GList *gst_ahc_parameters_get_supported_color_effects (GstAHCParameters * self);
+void gst_ahc_parameters_supported_color_effects_free (GList * list);
+/* GList <const gchar *> */
+GList *gst_ahc_parameters_get_supported_flash_modes (GstAHCParameters * self);
+void gst_ahc_parameters_supported_flash_modes_free (GList * list);
+/* GList <const gchar *> */
+GList *gst_ahc_parameters_get_supported_focus_modes (GstAHCParameters * self);
+void gst_ahc_parameters_supported_focus_modes_free (GList * list);
+/* GList <int> */
+GList *gst_ahc_parameters_get_supported_preview_formats (GstAHCParameters
+ * self);
+void gst_ahc_parameters_supported_preview_formats_free (GList * list);
+/* GList <int [2]> */
+GList *gst_ahc_parameters_get_supported_preview_fps_range (GstAHCParameters
+ * self);
+void gst_ahc_parameters_supported_preview_fps_range_free (GList * list);
+/* GList <GstAHCSize *> */
+GList *gst_ahc_parameters_get_supported_preview_sizes (GstAHCParameters * self);
+void gst_ahc_parameters_supported_preview_sizes_free (GList * list);
+/* GList <const gchar *> */
+GList *gst_ahc_parameters_get_supported_scene_modes (GstAHCParameters * self);
+void gst_ahc_parameters_supported_scene_modes_free (GList * list);
+/* GList <const gchar *> */
+GList *gst_ahc_parameters_get_supported_white_balance (GstAHCParameters * self);
+void gst_ahc_parameters_supported_white_balance_free (GList * list);
+gfloat gst_ahc_parameters_get_vertical_view_angle (GstAHCParameters * self);
+gboolean gst_ahc_parameters_get_video_stabilization (GstAHCParameters * self);
+const gchar *gst_ahc_parameters_get_white_balance (GstAHCParameters * self);
+gint gst_ahc_parameters_get_zoom (GstAHCParameters * self);
+/* GList <int> */
+GList *gst_ahc_parameters_get_zoom_ratios (GstAHCParameters * self);
+void gst_ahc_parameters_zoom_ratios_free (GList * list);
+gboolean gst_ahc_parameters_is_smooth_zoom_supported (GstAHCParameters * self);
+gboolean gst_ahc_parameters_is_video_stabilization_supported (
+ GstAHCParameters * self);
+gboolean gst_ahc_parameters_is_zoom_supported (GstAHCParameters * self);
+gboolean gst_ahc_parameters_set_antibanding (GstAHCParameters * self,
+ const gchar * antibanding);
+gboolean gst_ahc_parameters_set_color_effect (GstAHCParameters * self,
+ const gchar * value);
+gboolean gst_ahc_parameters_set_exposure_compensation (GstAHCParameters * self,
+ gint value);
+gboolean gst_ahc_parameters_set_flash_mode (GstAHCParameters * self,
+ const gchar * value);
+gboolean gst_ahc_parameters_set_focus_mode (GstAHCParameters * self,
+ const gchar * value);
+gboolean gst_ahc_parameters_set_preview_format (GstAHCParameters * self,
+ gint format);
+gboolean gst_ahc_parameters_set_preview_fps_range (GstAHCParameters * self,
+ gint min, gint max);
+gboolean gst_ahc_parameters_set_preview_size (GstAHCParameters * self,
+ gint width, gint height);
+gboolean gst_ahc_parameters_set_scene_mode (GstAHCParameters * self,
+ const gchar * value);
+gboolean gst_ahc_parameters_set_white_balance (GstAHCParameters * self,
+ const gchar * value);
+gboolean gst_ahc_parameters_set_video_stabilization (GstAHCParameters * self,
+ gboolean toggle);
+gboolean gst_ahc_parameters_set_zoom (GstAHCParameters * self, gint value);
+gboolean gst_ahc_parameters_unflatten (GstAHCParameters * self,
+ const gchar * flattened);
+void gst_ahc_parameters_free (GstAHCParameters * self);
+
+G_END_DECLS
+
+#endif /* __GST_ANDROID_HARDWARE_CAMERA_H__ */
diff --git a/sys/androidmedia/gstahcsrc.c b/sys/androidmedia/gstahcsrc.c
new file mode 100644
index 0000000..bb87289
--- /dev/null
+++ b/sys/androidmedia/gstahcsrc.c
@@ -0,0 +1,2513 @@
+/* GStreamer android.hardware.Camera Source
+ *
+ * Copyright (C) 2012, Cisco Systems, Inc.
+ * Author: Youness Alaoui <youness.alaoui@collabora.co.uk>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+/**
+ * SECTION:element-ahcsrc
+ *
+ * ahcsrc can be used to capture video from android devices. It uses the
+ * android.hardware.Camera Java API to capture from the system's cameras.
+ *
+ * In order for the plugin to get registered, it must be able to find its
+ * Java callbacks class. That class is embedded as a jar file inside the source
+ * element (if properly compiled) and will be written to a temporary directory
+ * so it can be loaded into the virtual machine.
+ * In order for it to work, an environment variable must be set to a writable
+ * directory.
+ * The source will look for the environment variable “TMP” which must contain
+ * the absolute path to a writable directory.
+ * It can be retreived using the following Java code :
+ * |[
+ * context.getCacheDir().getAbsolutePath();
+ * ]|
+ * Where the @context variable is an object of type android.content.Context
+ * (including its subclasses android.app.Activity or android.app.Application).
+ * Another optional environment variable can be set for pointing to the
+ * optimized dex classes directory. If the environment variable “DEX” is
+ * available, it will be used, otherwise, the directory in the “TMP” environment
+ * variable will be used for the optimized dex directory.
+ * The system dex directory can be obtained using the following Java code :
+ * |[
+ * context.getDir(“dex”, 0).getAbsolutePath();
+ * ]|
+ *
+ * <note>
+ * Those environment variable must be set before gst_init is called from
+ * the native code.
+ * </note>
+ *
+ * <note>
+ * If the “TMP” environment variable is not available or the directory is not
+ * writable or any other issue happens while trying to load the embedded jar
+ * file, then the source will fallback on trying to load the class directly
+ * from the running application.
+ * The file com/gstreamer/GstAhcCallback.java in the source's directory can be
+ * copied into the Android application so it can be loaded at runtime
+ * as a fallback mechanism.
+ * </note>
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <gst/video/video.h>
+#include <gst/interfaces/photography.h>
+
+#include "gstjniutils.h"
+
+#include "gstahcsrc.h"
+
+/* GObject */
+static void gst_ahc_src_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * pspec);
+static void gst_ahc_src_get_property (GObject * object, guint prop_id,
+ GValue * value, GParamSpec * pspec);
+static void gst_ahc_src_dispose (GObject * object);
+
+/* GstElement */
+static GstStateChangeReturn gst_ahc_src_change_state (GstElement * element,
+ GstStateChange transition);
+
+/* GstBaseSrc */
+static GstCaps *gst_ahc_src_getcaps (GstBaseSrc * src, GstCaps * filter);
+static gboolean gst_ahc_src_setcaps (GstBaseSrc * src, GstCaps * caps);
+static GstCaps *gst_ahc_src_fixate (GstBaseSrc * basesrc, GstCaps * caps);
+static gboolean gst_ahc_src_start (GstBaseSrc * bsrc);
+static gboolean gst_ahc_src_stop (GstBaseSrc * bsrc);
+static gboolean gst_ahc_src_unlock (GstBaseSrc * bsrc);
+static gboolean gst_ahc_src_unlock_stop (GstBaseSrc * bsrc);
+static GstFlowReturn gst_ahc_src_create (GstPushSrc * src, GstBuffer ** buffer);
+static gboolean gst_ahc_src_query (GstBaseSrc * bsrc, GstQuery * query);
+
+/* GstPhotography */
+static void gst_ahc_src_photography_init (gpointer g_iface,
+ gpointer iface_data);
+static gboolean gst_ahc_src_get_ev_compensation (GstPhotography * photo,
+ gfloat * ev_comp);
+static gboolean _white_balance_to_enum (const gchar * white_balance,
+ GstPhotographyWhiteBalanceMode * mode);
+static gboolean gst_ahc_src_get_white_balance_mode (GstPhotography * photo,
+ GstPhotographyWhiteBalanceMode * wb_mode);
+static gboolean _color_effects_to_enum (const gchar * color_effect,
+ GstPhotographyColorToneMode * mode);
+static gboolean gst_ahc_src_get_colour_tone_mode (GstPhotography * photo,
+ GstPhotographyColorToneMode * tone_mode);
+static gboolean _scene_modes_to_enum (const gchar * scene,
+ GstPhotographySceneMode * mode);
+static gboolean gst_ahc_src_get_scene_mode (GstPhotography * photo,
+ GstPhotographySceneMode * scene_mode);
+static gboolean _flash_modes_to_enum (const gchar * flash,
+ GstPhotographyFlashMode * mode);
+static gboolean gst_ahc_src_get_flash_mode (GstPhotography * photo,
+ GstPhotographyFlashMode * flash_mode);
+static gboolean gst_ahc_src_get_zoom (GstPhotography * photo, gfloat * zoom);
+static gboolean _antibanding_to_enum (const gchar * antibanding,
+ GstPhotographyFlickerReductionMode * mode);
+static gboolean gst_ahc_src_get_flicker_mode (GstPhotography * photo,
+ GstPhotographyFlickerReductionMode * flicker_mode);
+static gboolean _focus_modes_to_enum (const gchar * focus,
+ GstPhotographyFocusMode * mode);
+static gboolean gst_ahc_src_get_focus_mode (GstPhotography * photo,
+ GstPhotographyFocusMode * focus_mode);
+
+static gboolean gst_ahc_src_set_ev_compensation (GstPhotography * photo,
+ gfloat ev_comp);
+static gboolean gst_ahc_src_set_white_balance_mode (GstPhotography * photo,
+ GstPhotographyWhiteBalanceMode wb_mode);
+static gboolean gst_ahc_src_set_colour_tone_mode (GstPhotography * photo,
+ GstPhotographyColorToneMode tone_mode);
+static gboolean gst_ahc_src_set_scene_mode (GstPhotography * photo,
+ GstPhotographySceneMode scene_mode);
+static gboolean gst_ahc_src_set_flash_mode (GstPhotography * photo,
+ GstPhotographyFlashMode flash_mode);
+static gboolean gst_ahc_src_set_zoom (GstPhotography * photo, gfloat zoom);
+static gboolean gst_ahc_src_set_flicker_mode (GstPhotography * photo,
+ GstPhotographyFlickerReductionMode flicker_mode);
+static gboolean gst_ahc_src_set_focus_mode (GstPhotography * photo,
+ GstPhotographyFocusMode focus_mode);
+
+static GstPhotographyCaps gst_ahc_src_get_capabilities (GstPhotography * photo);
+static void gst_ahc_src_set_autofocus (GstPhotography * photo, gboolean on);
+
+/* GstAHCSrc */
+static void gst_ahc_src_close (GstAHCSrc * self);
+static void gst_ahc_src_on_preview_frame (jbyteArray data, gpointer user_data);
+static void gst_ahc_src_on_error (gint error, gpointer user_data);
+static void gst_ahc_src_on_auto_focus (gboolean success, gpointer user_data);
+
+#define NUM_CALLBACK_BUFFERS 5
+
+#define GST_AHC_SRC_CAPS_STR \
+ GST_VIDEO_CAPS_MAKE_WITH_FEATURES("ANY", " { YV12, YUY2, NV21, NV16, RGB16 }")
+
+static GstStaticPadTemplate gst_ahc_src_pad_template =
+GST_STATIC_PAD_TEMPLATE ("src",
+ GST_PAD_SRC,
+ GST_PAD_ALWAYS,
+ GST_STATIC_CAPS (GST_AHC_SRC_CAPS_STR));
+
+GST_DEBUG_CATEGORY_STATIC (gst_ahc_src_debug);
+#define GST_CAT_DEFAULT gst_ahc_src_debug
+
+#define parent_class gst_ahc_src_parent_class
+
+enum
+{
+ PROP_0,
+ PROP_DEVICE,
+ PROP_DEVICE_NAME,
+ PROP_DEVICE_FACING,
+ PROP_DEVICE_ORIENTATION,
+ PROP_FOCAL_LENGTH,
+ PROP_HORIZONTAL_VIEW_ANGLE,
+ PROP_VERTICAL_VIEW_ANGLE,
+ PROP_VIDEO_STABILIZATION,
+ PROP_WB_MODE,
+ PROP_COLOUR_TONE,
+ PROP_SCENE_MODE,
+ PROP_FLASH_MODE,
+ PROP_NOISE_REDUCTION,
+ PROP_CAPABILITIES,
+ PROP_EV_COMP,
+ PROP_ISO_SPEED,
+ PROP_APERTURE,
+ PROP_EXPOSURE_MODE,
+ PROP_IMAGE_CAPTURE_SUPPORTED_CAPS,
+ PROP_IMAGE_PREVIEW_SUPPORTED_CAPS,
+ PROP_FLICKER_MODE,
+ PROP_FOCUS_MODE,
+ PROP_ZOOM,
+ PROP_SMOOTH_ZOOM,
+ PROP_WHITE_POINT,
+ PROP_MIN_EXPOSURE_TIME,
+ PROP_MAX_EXPOSURE_TIME,
+ PROP_LENS_FOCUS,
+ PROP_EXPOSURE_TIME,
+ PROP_COLOR_TEMPERATURE,
+ PROP_ANALOG_GAIN,
+ PROP_LAST
+};
+
+static GParamSpec *properties[PROP_LAST];
+
+#define DEFAULT_DEVICE "0"
+
+G_DEFINE_TYPE_WITH_CODE (GstAHCSrc, gst_ahc_src, GST_TYPE_PUSH_SRC,
+ G_IMPLEMENT_INTERFACE (GST_TYPE_PHOTOGRAPHY, gst_ahc_src_photography_init));
+
+#define CAMERA_FACING_BACK 0
+#define CAMERA_FACING_FRONT 1
+
+static GType
+gst_ahc_src_facing_get_type (void)
+{
+ static GType type = 0;
+ static const GEnumValue types[] = {
+ {CAMERA_FACING_BACK, "Back", "back"},
+ {CAMERA_FACING_FRONT, "Front", "front"},
+ {0, NULL, NULL}
+ };
+
+ if (!type) {
+ type = g_enum_register_static ("GstAHCSrcFacing", types);
+ }
+ return type;
+}
+
+#define GST_AHC_SRC_FACING_TYPE (gst_ahc_src_facing_get_type())
+
+static void
+gst_ahc_src_photography_init (gpointer g_iface, gpointer iface_data)
+{
+ GstPhotographyInterface *iface = g_iface;
+
+ iface->get_ev_compensation = gst_ahc_src_get_ev_compensation;
+ iface->get_white_balance_mode = gst_ahc_src_get_white_balance_mode;
+ iface->get_color_tone_mode = gst_ahc_src_get_colour_tone_mode;
+ iface->get_scene_mode = gst_ahc_src_get_scene_mode;
+ iface->get_flash_mode = gst_ahc_src_get_flash_mode;
+ iface->get_zoom = gst_ahc_src_get_zoom;
+ iface->get_flicker_mode = gst_ahc_src_get_flicker_mode;
+ iface->get_focus_mode = gst_ahc_src_get_focus_mode;
+
+ iface->set_ev_compensation = gst_ahc_src_set_ev_compensation;
+ iface->set_white_balance_mode = gst_ahc_src_set_white_balance_mode;
+ iface->set_color_tone_mode = gst_ahc_src_set_colour_tone_mode;
+ iface->set_scene_mode = gst_ahc_src_set_scene_mode;
+ iface->set_flash_mode = gst_ahc_src_set_flash_mode;
+ iface->set_zoom = gst_ahc_src_set_zoom;
+ iface->set_flicker_mode = gst_ahc_src_set_flicker_mode;
+ iface->set_focus_mode = gst_ahc_src_set_focus_mode;
+
+ iface->get_capabilities = gst_ahc_src_get_capabilities;
+ iface->set_autofocus = gst_ahc_src_set_autofocus;
+}
+
+static void
+gst_ahc_src_class_init (GstAHCSrcClass * klass)
+{
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
+ GstPushSrcClass *gstpushsrc_class = GST_PUSH_SRC_CLASS (klass);
+ GstBaseSrcClass *gstbasesrc_class = GST_BASE_SRC_CLASS (klass);
+
+ gobject_class->set_property = gst_ahc_src_set_property;
+ gobject_class->get_property = gst_ahc_src_get_property;
+ gobject_class->dispose = gst_ahc_src_dispose;
+
+ element_class->change_state = gst_ahc_src_change_state;
+
+ gstbasesrc_class->get_caps = gst_ahc_src_getcaps;
+ gstbasesrc_class->set_caps = gst_ahc_src_setcaps;
+ gstbasesrc_class->fixate = gst_ahc_src_fixate;
+ gstbasesrc_class->start = gst_ahc_src_start;
+ gstbasesrc_class->stop = gst_ahc_src_stop;
+ gstbasesrc_class->unlock = gst_ahc_src_unlock;
+ gstbasesrc_class->unlock_stop = gst_ahc_src_unlock_stop;
+ gstbasesrc_class->query = gst_ahc_src_query;
+
+ gstpushsrc_class->create = gst_ahc_src_create;
+
+ gst_element_class_add_pad_template (element_class,
+ gst_static_pad_template_get (&gst_ahc_src_pad_template));
+
+ /**
+ * GstAHCSrc:device:
+ *
+ * The Device ID of the camera to capture from
+ */
+ properties[PROP_DEVICE] = g_param_spec_string ("device",
+ "Device", "Device ID", DEFAULT_DEVICE,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS);
+ g_object_class_install_property (gobject_class, PROP_DEVICE,
+ properties[PROP_DEVICE]);
+
+ /**
+ * GstAHCSrc:device-name:
+ *
+ * A user-friendly name for the camera device
+ */
+ properties[PROP_DEVICE_NAME] = g_param_spec_string ("device-name",
+ "Device name", "Device name", NULL,
+ G_PARAM_READABLE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS);
+ g_object_class_install_property (gobject_class, PROP_DEVICE_NAME,
+ properties[PROP_DEVICE_NAME]);
+
+ /**
+ * GstAHCSrc:device-orientation:
+ *
+ * The orientation of the currently set camera @device.
+ * The value is the angle that the camera image needs to be rotated clockwise
+ * so it shows correctly on the display in its natural orientation.
+ * It should be 0, 90, 180, or 270.
+ */
+ properties[PROP_DEVICE_ORIENTATION] = g_param_spec_int ("device-orientation",
+ "Device orientation", "The orientation of the camera image",
+ 0, 360, 0, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+ g_object_class_install_property (gobject_class, PROP_DEVICE_ORIENTATION,
+ properties[PROP_DEVICE_ORIENTATION]);
+
+ /**
+ * GstAHCSrc:device-facing:
+ *
+ * The direction that the currently select camera @device faces.
+ *
+ * A value of 0 means the camera is facing the opposite direction as the
+ * screen while a value of 1 means the camera is facing the same direction
+ * as the screen.
+ */
+ properties[PROP_DEVICE_FACING] = g_param_spec_enum ("device-facing",
+ "Device facing", "The direction that the camera faces",
+ GST_AHC_SRC_FACING_TYPE, CAMERA_FACING_BACK,
+ G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+ g_object_class_install_property (gobject_class, PROP_DEVICE_FACING,
+ properties[PROP_DEVICE_FACING]);
+
+ /**
+ * GstAHCSrc:focal-length:
+ *
+ * Gets the focal length (in millimeter) of the camera.
+ */
+ properties[PROP_FOCAL_LENGTH] = g_param_spec_float ("focal-length",
+ "Focal length", "Gets the focal length (in millimeter) of the camera",
+ -G_MAXFLOAT, G_MAXFLOAT, 0, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+ g_object_class_install_property (gobject_class, PROP_FOCAL_LENGTH,
+ properties[PROP_FOCAL_LENGTH]);
+
+ /**
+ * GstAHCSrc:horizontal-view-angle:
+ *
+ * Gets the horizontal angle of view in degrees.
+ */
+ properties[PROP_HORIZONTAL_VIEW_ANGLE] =
+ g_param_spec_float ("horizontal-view-angle", "Horizontal view angle",
+ "Gets the horizontal angle of view in degrees",
+ -G_MAXFLOAT, G_MAXFLOAT, 0, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+ g_object_class_install_property (gobject_class, PROP_HORIZONTAL_VIEW_ANGLE,
+ properties[PROP_HORIZONTAL_VIEW_ANGLE]);
+
+ /**
+ * GstAHCSrc:vertical-view-angle:
+ *
+ * Gets the vertical angle of view in degrees.
+ */
+ properties[PROP_VERTICAL_VIEW_ANGLE] =
+ g_param_spec_float ("vertical-view-angle", "Vertical view angle",
+ "Gets the vertical angle of view in degrees",
+ -G_MAXFLOAT, G_MAXFLOAT, 0, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+ g_object_class_install_property (gobject_class, PROP_VERTICAL_VIEW_ANGLE,
+ properties[PROP_VERTICAL_VIEW_ANGLE]);
+
+ /**
+ * GstAHCSrc:video-stabilizatio:
+ *
+ * Video stabilization reduces the shaking due to the motion of the camera.
+ */
+ properties[PROP_VIDEO_STABILIZATION] =
+ g_param_spec_boolean ("video-stabilization", "Video stabilization",
+ "Video stabilization reduces the shaking due to the motion of the camera",
+ FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+ g_object_class_install_property (gobject_class, PROP_VIDEO_STABILIZATION,
+ properties[PROP_VIDEO_STABILIZATION]);
+
+ /**
+ * GstAHCSrc:smooth-zoom:
+ *
+ * If enabled, then smooth zooming will be used when the @zoom property is
+ * changed. In that case, the @zoom property can be queried to know the
+ * current zoom level while the smooth zoom is in progress.
+ */
+ properties[PROP_SMOOTH_ZOOM] = g_param_spec_boolean ("smooth-zoom",
+ "Smooth Zoom", "Use smooth zoom when available",
+ FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+ g_object_class_install_property (gobject_class, PROP_SMOOTH_ZOOM,
+ properties[PROP_SMOOTH_ZOOM]);
+
+ /* Override GstPhotography properties */
+ g_object_class_override_property (gobject_class, PROP_WB_MODE,
+ GST_PHOTOGRAPHY_PROP_WB_MODE);
+ properties[PROP_WB_MODE] = g_object_class_find_property (gobject_class,
+ GST_PHOTOGRAPHY_PROP_WB_MODE);
+
+ g_object_class_override_property (gobject_class, PROP_COLOUR_TONE,
+ GST_PHOTOGRAPHY_PROP_COLOR_TONE);
+ properties[PROP_COLOUR_TONE] = g_object_class_find_property (gobject_class,
+ GST_PHOTOGRAPHY_PROP_COLOR_TONE);
+
+ g_object_class_override_property (gobject_class, PROP_SCENE_MODE,
+ GST_PHOTOGRAPHY_PROP_SCENE_MODE);
+ properties[PROP_SCENE_MODE] = g_object_class_find_property (gobject_class,
+ GST_PHOTOGRAPHY_PROP_SCENE_MODE);
+
+ g_object_class_override_property (gobject_class, PROP_FLASH_MODE,
+ GST_PHOTOGRAPHY_PROP_FLASH_MODE);
+ properties[PROP_FLASH_MODE] = g_object_class_find_property (gobject_class,
+ GST_PHOTOGRAPHY_PROP_FLASH_MODE);
+
+ g_object_class_override_property (gobject_class, PROP_NOISE_REDUCTION,
+ GST_PHOTOGRAPHY_PROP_NOISE_REDUCTION);
+ properties[PROP_NOISE_REDUCTION] =
+ g_object_class_find_property (gobject_class,
+ GST_PHOTOGRAPHY_PROP_NOISE_REDUCTION);
+
+ g_object_class_override_property (gobject_class, PROP_CAPABILITIES,
+ GST_PHOTOGRAPHY_PROP_CAPABILITIES);
+ properties[PROP_CAPABILITIES] = g_object_class_find_property (gobject_class,
+ GST_PHOTOGRAPHY_PROP_CAPABILITIES);
+
+ g_object_class_override_property (gobject_class, PROP_EV_COMP,
+ GST_PHOTOGRAPHY_PROP_EV_COMP);
+ properties[PROP_EV_COMP] = g_object_class_find_property (gobject_class,
+ GST_PHOTOGRAPHY_PROP_EV_COMP);
+
+ g_object_class_override_property (gobject_class, PROP_ISO_SPEED,
+ GST_PHOTOGRAPHY_PROP_ISO_SPEED);
+ properties[PROP_ISO_SPEED] = g_object_class_find_property (gobject_class,
+ GST_PHOTOGRAPHY_PROP_ISO_SPEED);
+
+ g_object_class_override_property (gobject_class, PROP_APERTURE,
+ GST_PHOTOGRAPHY_PROP_APERTURE);
+ properties[PROP_APERTURE] = g_object_class_find_property (gobject_class,
+ GST_PHOTOGRAPHY_PROP_APERTURE);
+
+#if 0
+ g_object_class_override_property (gobject_class, PROP_EXPOSURE_MODE,
+ GST_PHOTOGRAPHY_PROP_EXPOSURE_MODE);
+ properties[PROP_EXPOSURE] = g_object_class_find_property (gobject_class,
+ GST_PHOTOGRAPHY_PROP_EXPOSURE_MODE);
+#endif
+
+ g_object_class_override_property (gobject_class,
+ PROP_IMAGE_CAPTURE_SUPPORTED_CAPS,
+ GST_PHOTOGRAPHY_PROP_IMAGE_CAPTURE_SUPPORTED_CAPS);
+ properties[PROP_IMAGE_CAPTURE_SUPPORTED_CAPS] =
+ g_object_class_find_property (gobject_class,
+ GST_PHOTOGRAPHY_PROP_IMAGE_CAPTURE_SUPPORTED_CAPS);
+
+ g_object_class_override_property (gobject_class,
+ PROP_IMAGE_PREVIEW_SUPPORTED_CAPS,
+ GST_PHOTOGRAPHY_PROP_IMAGE_PREVIEW_SUPPORTED_CAPS);
+ properties[PROP_IMAGE_PREVIEW_SUPPORTED_CAPS] =
+ g_object_class_find_property (gobject_class,
+ GST_PHOTOGRAPHY_PROP_IMAGE_PREVIEW_SUPPORTED_CAPS);
+
+ g_object_class_override_property (gobject_class, PROP_FLICKER_MODE,
+ GST_PHOTOGRAPHY_PROP_FLICKER_MODE);
+ properties[PROP_FLICKER_MODE] = g_object_class_find_property (gobject_class,
+ GST_PHOTOGRAPHY_PROP_FLICKER_MODE);
+
+ g_object_class_override_property (gobject_class, PROP_FOCUS_MODE,
+ GST_PHOTOGRAPHY_PROP_FOCUS_MODE);
+ properties[PROP_FOCUS_MODE] = g_object_class_find_property (gobject_class,
+ GST_PHOTOGRAPHY_PROP_FOCUS_MODE);
+
+ g_object_class_override_property (gobject_class, PROP_ZOOM,
+ GST_PHOTOGRAPHY_PROP_ZOOM);
+ properties[PROP_ZOOM] = g_object_class_find_property (gobject_class,
+ GST_PHOTOGRAPHY_PROP_ZOOM);
+
+ g_object_class_override_property (gobject_class, PROP_WHITE_POINT,
+ GST_PHOTOGRAPHY_PROP_WHITE_POINT);
+ properties[PROP_WHITE_POINT] = g_object_class_find_property (gobject_class,
+ GST_PHOTOGRAPHY_PROP_WHITE_POINT);
+
+ g_object_class_override_property (gobject_class, PROP_MIN_EXPOSURE_TIME,
+ GST_PHOTOGRAPHY_PROP_MIN_EXPOSURE_TIME);
+ properties[PROP_MIN_EXPOSURE_TIME] =
+ g_object_class_find_property (gobject_class,
+ GST_PHOTOGRAPHY_PROP_MIN_EXPOSURE_TIME);
+
+ g_object_class_override_property (gobject_class, PROP_MAX_EXPOSURE_TIME,
+ GST_PHOTOGRAPHY_PROP_MAX_EXPOSURE_TIME);
+ properties[PROP_MAX_EXPOSURE_TIME] =
+ g_object_class_find_property (gobject_class,
+ GST_PHOTOGRAPHY_PROP_MAX_EXPOSURE_TIME);
+
+ g_object_class_override_property (gobject_class, PROP_LENS_FOCUS,
+ GST_PHOTOGRAPHY_PROP_LENS_FOCUS);
+ properties[PROP_LENS_FOCUS] = g_object_class_find_property (gobject_class,
+ GST_PHOTOGRAPHY_PROP_LENS_FOCUS);
+
+ g_object_class_override_property (gobject_class, PROP_EXPOSURE_TIME,
+ GST_PHOTOGRAPHY_PROP_EXPOSURE_TIME);
+ properties[PROP_EXPOSURE_TIME] = g_object_class_find_property (gobject_class,
+ GST_PHOTOGRAPHY_PROP_EXPOSURE_TIME);
+
+ g_object_class_override_property (gobject_class, PROP_COLOR_TEMPERATURE,
+ GST_PHOTOGRAPHY_PROP_COLOR_TEMPERATURE);
+ properties[PROP_COLOR_TEMPERATURE] =
+ g_object_class_find_property (gobject_class,
+ GST_PHOTOGRAPHY_PROP_COLOR_TEMPERATURE);
+
+ g_object_class_override_property (gobject_class, PROP_ANALOG_GAIN,
+ GST_PHOTOGRAPHY_PROP_ANALOG_GAIN);
+ properties[PROP_ANALOG_GAIN] = g_object_class_find_property (gobject_class,
+ GST_PHOTOGRAPHY_PROP_ANALOG_GAIN);
+
+
+
+ klass->probe_properties = NULL;
+
+ gst_element_class_set_static_metadata (element_class,
+ "Android Camera Source",
+ "Source/Video",
+ "Reads frames from android.hardware.Camera class into buffers",
+ "Youness Alaoui <youness.alaoui@collabora.co.uk>");
+
+ GST_DEBUG_CATEGORY_INIT (gst_ahc_src_debug, "ahcsrc", 0,
+ "android.hardware.Camera source element");
+}
+
+static gboolean
+_data_queue_check_full (GstDataQueue * queue, guint visible,
+ guint bytes, guint64 time, gpointer checkdata)
+{
+ return FALSE;
+}
+
+static void
+gst_ahc_src_init (GstAHCSrc * self)
+{
+ gst_base_src_set_live (GST_BASE_SRC (self), TRUE);
+ gst_base_src_set_format (GST_BASE_SRC (self), GST_FORMAT_TIME);
+ gst_base_src_set_do_timestamp (GST_BASE_SRC (self), FALSE);
+
+ self->camera = NULL;
+ self->texture = NULL;
+ self->data = NULL;
+ self->queue = gst_data_queue_new (_data_queue_check_full, NULL, NULL, NULL);
+ self->start = FALSE;
+ self->previous_ts = GST_CLOCK_TIME_NONE;
+
+ g_mutex_init (&self->mutex);
+}
+
+static void
+gst_ahc_src_dispose (GObject * object)
+{
+ GstAHCSrc *self = GST_AHC_SRC (object);
+
+ if (self->queue)
+ g_object_unref (self->queue);
+ self->queue = NULL;
+
+ g_mutex_clear (&self->mutex);
+
+ G_OBJECT_CLASS (parent_class)->dispose (object);
+}
+
+static void
+gst_ahc_src_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * pspec)
+{
+ GstAHCSrc *self = GST_AHC_SRC (object);
+
+ GST_DEBUG_OBJECT (self, "set props %d", prop_id);
+
+ switch (prop_id) {
+ case PROP_DEVICE:{
+ const gchar *dev = g_value_get_string (value);
+ gchar *endptr = NULL;
+ guint64 device;
+
+ device = g_ascii_strtoll (dev, &endptr, 10);
+ if (endptr != dev && endptr[0] == 0 && device < G_MAXINT)
+ self->device = (gint) device;
+ }
+ break;
+ case PROP_VIDEO_STABILIZATION:
+ if (self->camera) {
+ GstAHCParameters *params;
+
+ params = gst_ah_camera_get_parameters (self->camera);
+ if (params) {
+ gst_ahc_parameters_set_video_stabilization (params,
+ g_value_get_boolean (value));
+ gst_ah_camera_set_parameters (self->camera, params);
+ gst_ahc_parameters_free (params);
+ }
+ }
+ break;
+ case PROP_SMOOTH_ZOOM:
+ self->smooth_zoom = g_value_get_boolean (value);
+ break;
+ case PROP_WB_MODE:{
+ GstPhotographyWhiteBalanceMode wb = g_value_get_enum (value);
+
+ gst_ahc_src_set_white_balance_mode (GST_PHOTOGRAPHY (self), wb);
+ }
+ break;
+ case PROP_COLOUR_TONE:{
+ GstPhotographyColorToneMode tone = g_value_get_enum (value);
+
+ gst_ahc_src_set_colour_tone_mode (GST_PHOTOGRAPHY (self), tone);
+ }
+ break;
+ case PROP_SCENE_MODE:{
+ GstPhotographySceneMode scene = g_value_get_enum (value);
+
+ gst_ahc_src_set_scene_mode (GST_PHOTOGRAPHY (self), scene);
+ }
+ break;
+ case PROP_FLASH_MODE:{
+ GstPhotographyFlashMode flash = g_value_get_enum (value);
+
+ gst_ahc_src_set_flash_mode (GST_PHOTOGRAPHY (self), flash);
+ }
+ break;
+ case PROP_EV_COMP:{
+ gfloat ev = g_value_get_float (value);
+
+ gst_ahc_src_set_ev_compensation (GST_PHOTOGRAPHY (self), ev);
+ }
+ break;
+ case PROP_FLICKER_MODE:{
+ GstPhotographyFlickerReductionMode flicker = g_value_get_enum (value);
+
+ gst_ahc_src_set_flicker_mode (GST_PHOTOGRAPHY (self), flicker);
+ }
+ break;
+ case PROP_FOCUS_MODE:{
+ GstPhotographyFocusMode focus = g_value_get_enum (value);
+
+ gst_ahc_src_set_focus_mode (GST_PHOTOGRAPHY (self), focus);
+ }
+ break;
+ case PROP_ZOOM:{
+ gfloat zoom = g_value_get_float (value);
+
+ gst_ahc_src_set_zoom (GST_PHOTOGRAPHY (self), zoom);
+ }
+ break;
+ case PROP_NOISE_REDUCTION:
+ case PROP_ISO_SPEED:
+ case PROP_APERTURE:
+ case PROP_EXPOSURE_MODE:
+ case PROP_IMAGE_CAPTURE_SUPPORTED_CAPS:
+ case PROP_IMAGE_PREVIEW_SUPPORTED_CAPS:
+ case PROP_WHITE_POINT:
+ case PROP_MIN_EXPOSURE_TIME:
+ case PROP_MAX_EXPOSURE_TIME:
+ case PROP_LENS_FOCUS:
+ case PROP_EXPOSURE_TIME:
+ case PROP_COLOR_TEMPERATURE:
+ case PROP_ANALOG_GAIN:
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gst_ahc_src_get_property (GObject * object, guint prop_id,
+ GValue * value, GParamSpec * pspec)
+{
+ GstAHCSrc *self = GST_AHC_SRC (object);
+ (void) self;
+
+ switch (prop_id) {
+ case PROP_DEVICE:{
+ gchar *dev = g_strdup_printf ("%d", self->device);
+
+ g_value_take_string (value, dev);
+ }
+ break;
+ case PROP_DEVICE_NAME:{
+ GstAHCCameraInfo info;
+ gchar *dev;
+
+ if (gst_ah_camera_get_camera_info (self->device, &info))
+ dev = g_strdup_printf ("#%d %s", self->device,
+ info.facing == CameraInfo_CAMERA_FACING_BACK ? "Back" : "Front");
+ else
+ dev = g_strdup_printf ("#%d", self->device);
+
+ g_value_take_string (value, dev);
+ }
+ break;
+ case PROP_DEVICE_FACING:{
+ GstAHCCameraInfo info;
+
+ if (gst_ah_camera_get_camera_info (self->device, &info))
+ g_value_set_enum (value, info.facing == CameraInfo_CAMERA_FACING_BACK ?
+ CAMERA_FACING_BACK : CAMERA_FACING_FRONT);
+ else
+ g_value_set_enum (value, CAMERA_FACING_BACK);
+ }
+ break;
+ case PROP_DEVICE_ORIENTATION:{
+ GstAHCCameraInfo info;
+
+ if (gst_ah_camera_get_camera_info (self->device, &info))
+ g_value_set_int (value, info.orientation);
+ else
+ g_value_set_int (value, 0);
+ }
+ break;
+ case PROP_FOCAL_LENGTH:
+ if (self->camera) {
+ GstAHCParameters *params;
+
+ params = gst_ah_camera_get_parameters (self->camera);
+ if (params) {
+ g_value_set_float (value,
+ gst_ahc_parameters_get_focal_length (params));
+ gst_ahc_parameters_free (params);
+ }
+ }
+ break;
+ case PROP_HORIZONTAL_VIEW_ANGLE:
+ if (self->camera) {
+ GstAHCParameters *params;
+
+ params = gst_ah_camera_get_parameters (self->camera);
+ if (params) {
+ g_value_set_float (value,
+ gst_ahc_parameters_get_horizontal_view_angle (params));
+ gst_ahc_parameters_free (params);
+ }
+ }
+ break;
+ case PROP_VERTICAL_VIEW_ANGLE:
+ if (self->camera) {
+ GstAHCParameters *params;
+
+ params = gst_ah_camera_get_parameters (self->camera);
+ if (params) {
+ g_value_set_float (value,
+ gst_ahc_parameters_get_vertical_view_angle (params));
+ gst_ahc_parameters_free (params);
+ }
+ }
+ break;
+ case PROP_VIDEO_STABILIZATION:
+ if (self->camera) {
+ GstAHCParameters *params;
+
+ params = gst_ah_camera_get_parameters (self->camera);
+ if (params) {
+ g_value_set_boolean (value,
+ gst_ahc_parameters_get_video_stabilization (params));
+ gst_ahc_parameters_free (params);
+ }
+ }
+ break;
+ case PROP_SMOOTH_ZOOM:
+ g_value_set_boolean (value, self->smooth_zoom);
+ break;
+ case PROP_WB_MODE:{
+ GstPhotographyWhiteBalanceMode wb;
+
+ if (gst_ahc_src_get_white_balance_mode (GST_PHOTOGRAPHY (self), &wb))
+ g_value_set_enum (value, wb);
+ }
+ break;
+ case PROP_COLOUR_TONE:{
+ GstPhotographyColorToneMode tone;
+
+ if (gst_ahc_src_get_colour_tone_mode (GST_PHOTOGRAPHY (self), &tone))
+ g_value_set_enum (value, tone);
+ }
+ break;
+ case PROP_SCENE_MODE:{
+ GstPhotographySceneMode scene;
+
+ if (gst_ahc_src_get_scene_mode (GST_PHOTOGRAPHY (self), &scene))
+ g_value_set_enum (value, scene);
+ }
+ break;
+ case PROP_FLASH_MODE:{
+ GstPhotographyFlashMode flash;
+
+ if (gst_ahc_src_get_flash_mode (GST_PHOTOGRAPHY (self), &flash))
+ g_value_set_enum (value, flash);
+ }
+ break;
+ case PROP_CAPABILITIES:{
+ GstPhotographyCaps caps;
+
+ caps = gst_ahc_src_get_capabilities (GST_PHOTOGRAPHY (self));
+ g_value_set_ulong (value, caps);
+ }
+ break;
+ case PROP_EV_COMP:{
+ gfloat ev;
+
+ if (gst_ahc_src_get_ev_compensation (GST_PHOTOGRAPHY (self), &ev))
+ g_value_set_float (value, ev);
+ }
+ break;
+ case PROP_FLICKER_MODE:{
+ GstPhotographyFlickerReductionMode flicker;
+
+ if (gst_ahc_src_get_flicker_mode (GST_PHOTOGRAPHY (self), &flicker))
+ g_value_set_enum (value, flicker);
+ }
+ break;
+ case PROP_FOCUS_MODE:{
+ GstPhotographyFocusMode focus;
+
+ if (gst_ahc_src_get_focus_mode (GST_PHOTOGRAPHY (self), &focus))
+ g_value_set_enum (value, focus);
+ }
+ break;
+ case PROP_ZOOM:{
+ gfloat zoom;
+
+ if (gst_ahc_src_get_zoom (GST_PHOTOGRAPHY (self), &zoom))
+ g_value_set_float (value, zoom);
+ }
+ break;
+ case PROP_IMAGE_CAPTURE_SUPPORTED_CAPS:
+ case PROP_IMAGE_PREVIEW_SUPPORTED_CAPS:
+ case PROP_NOISE_REDUCTION:
+ case PROP_ISO_SPEED:
+ case PROP_APERTURE:
+ case PROP_EXPOSURE_MODE:
+ case PROP_WHITE_POINT:
+ case PROP_MIN_EXPOSURE_TIME:
+ case PROP_MAX_EXPOSURE_TIME:
+ case PROP_LENS_FOCUS:
+ case PROP_EXPOSURE_TIME:
+ case PROP_COLOR_TEMPERATURE:
+ case PROP_ANALOG_GAIN:
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+#if 0
+static const GList *
+gst_ahc_src_probe_get_properties (GstPropertyProbe * probe)
+{
+ GstAHCSrcClass *ahc_class = GST_AHC_SRC_CLASS (probe);
+ GList **list = &ahc_class->probe_properties;
+
+ if (!*list) {
+ *list = g_list_append (*list, properties[PROP_DEVICE]);
+ *list = g_list_append (*list, properties[PROP_EV_COMP]);
+ *list = g_list_append (*list, properties[PROP_ZOOM]);
+ *list = g_list_append (*list, properties[PROP_WB_MODE]);
+ *list = g_list_append (*list, properties[PROP_COLOUR_TONE]);
+ *list = g_list_append (*list, properties[PROP_FLASH_MODE]);
+ *list = g_list_append (*list, properties[PROP_FOCUS_MODE]);
+ *list = g_list_append (*list, properties[PROP_SCENE_MODE]);
+ *list = g_list_append (*list, properties[PROP_FLICKER_MODE]);
+ }
+
+ return *list;
+}
+
+#define PROBE_GET_ENUM_VALUES(name, type, struct_name) \
+ if (self->camera) { \
+ GstAHCParameters *params; \
+ \
+ params = gst_ah_camera_get_parameters (self->camera); \
+ if (params) { \
+ GList *list = gst_ahc_parameters_get_supported_##name (params); \
+ \
+ if (list) { \
+ GValue value = { 0 }; \
+ GList *i; \
+ \
+ array = g_value_array_new (g_list_length (list)); \
+ g_value_init (&value, type); \
+ for (i = list; i; i = i->next) { \
+ struct_name mode; \
+ const gchar *name = i->data; \
+ \
+ if (_##name##_to_enum (name, &mode)) { \
+ g_value_set_enum (&value, mode); \
+ g_value_array_append (array, &value); \
+ } \
+ } \
+ g_value_unset (&value); \
+ } \
+ \
+ gst_ahc_parameters_supported_##name##_free (list); \
+ gst_ahc_parameters_free (params); \
+ } \
+ }
+
+
+static GValueArray *
+gst_ahc_src_probe_get_values (GstPropertyProbe * probe,
+ guint prop_id, const GParamSpec * pspec)
+{
+ GstAHCSrc *self = GST_AHC_SRC (probe);
+ GValueArray *array = NULL;
+
+ /* g_object_class_find_property returns overriden property with
+ * param_id == 0, so we can't switch/case the prop_id and
+ * we need to check the pspec instead */
+ if (pspec == properties[PROP_DEVICE]) {
+ GValue value = { 0 };
+ gint num_cams = gst_ah_camera_get_number_of_cameras ();
+ gint i;
+
+ array = g_value_array_new (num_cams);
+ g_value_init (&value, G_TYPE_STRING);
+ for (i = 0; i < num_cams; i++) {
+ g_value_take_string (&value, g_strdup_printf ("%d", i));
+ g_value_array_append (array, &value);
+ }
+ g_value_unset (&value);
+ } else if (pspec == properties[PROP_EV_COMP]) {
+ if (self->camera) {
+ GstAHCParameters *params;
+
+ params = gst_ah_camera_get_parameters (self->camera);
+ if (params) {
+ gint min, max;
+ gfloat step;
+
+ min = gst_ahc_parameters_get_min_exposure_compensation (params);
+ max = gst_ahc_parameters_get_max_exposure_compensation (params);
+ step = gst_ahc_parameters_get_exposure_compensation_step (params);
+
+ if (step != 0.0 && min != max) {
+ GValue value = { 0 };
+ gint i;
+
+ /* Min and Max are inclusive */
+ array = g_value_array_new (max - min + 1);
+ g_value_init (&value, G_TYPE_FLOAT);
+ for (i = min; i <= max; i++) {
+ g_value_set_float (&value, step * i);
+ g_value_array_append (array, &value);
+ }
+ g_value_unset (&value);
+ }
+
+ gst_ahc_parameters_free (params);
+ }
+ }
+ } else if (pspec == properties[PROP_ZOOM]) {
+ if (self->camera) {
+ GstAHCParameters *params;
+
+ params = gst_ah_camera_get_parameters (self->camera);
+ if (params) {
+ GList *zoom_ratios = gst_ahc_parameters_get_zoom_ratios (params);
+ gint max_zoom = gst_ahc_parameters_get_max_zoom (params);
+
+ if (zoom_ratios && g_list_length (zoom_ratios) == (max_zoom + 1)) {
+ GValue value = { 0 };
+ GList *i;
+
+ array = g_value_array_new (max_zoom + 1);
+ g_value_init (&value, G_TYPE_FLOAT);
+ for (i = zoom_ratios; i; i = i->next) {
+ gint zoom_value = GPOINTER_TO_INT (i->data);
+ gfloat zoom = (gfloat) zoom_value / 100.0;
+
+ g_value_set_float (&value, zoom);
+ g_value_array_append (array, &value);
+ }
+ g_value_unset (&value);
+ }
+
+ gst_ahc_parameters_zoom_ratios_free (zoom_ratios);
+ gst_ahc_parameters_free (params);
+ }
+ }
+ } else if (pspec == properties[PROP_WB_MODE]) {
+ PROBE_GET_ENUM_VALUES (white_balance, GST_TYPE_WHITE_BALANCE_MODE,
+ GstPhotographyWhiteBalanceMode);
+ } else if (pspec == properties[PROP_COLOUR_TONE]) {
+ PROBE_GET_ENUM_VALUES (color_effects, GST_TYPE_COLOUR_TONE_MODE,
+ GstPhotographyColorToneMode);
+ } else if (pspec == properties[PROP_FLASH_MODE]) {
+ PROBE_GET_ENUM_VALUES (flash_modes, GST_TYPE_FLASH_MODE,
+ GstPhotographyFlashMode);
+ } else if (pspec == properties[PROP_FOCUS_MODE]) {
+ PROBE_GET_ENUM_VALUES (focus_modes, GST_TYPE_FOCUS_MODE,
+ GstPhotographyFocusMode);
+ } else if (pspec == properties[PROP_SCENE_MODE]) {
+ PROBE_GET_ENUM_VALUES (scene_modes, GST_TYPE_SCENE_MODE,
+ GstPhotographySceneMode);
+ } else if (pspec == properties[PROP_FLICKER_MODE]) {
+ PROBE_GET_ENUM_VALUES (antibanding, GST_TYPE_FLICKER_REDUCTION_MODE,
+ GstPhotographyFlickerReductionMode);
+ } else {
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (probe, prop_id, pspec);
+ }
+
+ return array;
+}
+#endif
+
+static gboolean
+_antibanding_to_enum (const gchar * antibanding,
+ GstPhotographyFlickerReductionMode * mode)
+{
+ if (antibanding == Parameters_ANTIBANDING_AUTO)
+ *mode = GST_PHOTOGRAPHY_FLICKER_REDUCTION_AUTO;
+ else if (antibanding == Parameters_ANTIBANDING_50HZ)
+ *mode = GST_PHOTOGRAPHY_FLICKER_REDUCTION_50HZ;
+ else if (antibanding == Parameters_ANTIBANDING_60HZ)
+ *mode = GST_PHOTOGRAPHY_FLICKER_REDUCTION_60HZ;
+ else if (antibanding == Parameters_ANTIBANDING_OFF)
+ *mode = GST_PHOTOGRAPHY_FLICKER_REDUCTION_OFF;
+ else
+ return FALSE;
+
+ return TRUE;
+}
+
+static gboolean
+_white_balance_to_enum (const gchar * white_balance,
+ GstPhotographyWhiteBalanceMode * mode)
+{
+ if (white_balance == Parameters_WHITE_BALANCE_AUTO)
+ *mode = GST_PHOTOGRAPHY_WB_MODE_AUTO;
+ else if (white_balance == Parameters_WHITE_BALANCE_INCANDESCENT)
+ *mode = GST_PHOTOGRAPHY_WB_MODE_TUNGSTEN;
+ else if (white_balance == Parameters_WHITE_BALANCE_FLUORESCENT)
+ *mode = GST_PHOTOGRAPHY_WB_MODE_FLUORESCENT;
+ else if (white_balance == Parameters_WHITE_BALANCE_WARM_FLUORESCENT)
+ *mode = GST_PHOTOGRAPHY_WB_MODE_WARM_FLUORESCENT;
+ else if (white_balance == Parameters_WHITE_BALANCE_DAYLIGHT)
+ *mode = GST_PHOTOGRAPHY_WB_MODE_DAYLIGHT;
+ else if (white_balance == Parameters_WHITE_BALANCE_CLOUDY_DAYLIGHT)
+ *mode = GST_PHOTOGRAPHY_WB_MODE_CLOUDY;
+ else if (white_balance == Parameters_WHITE_BALANCE_TWILIGHT)
+ *mode = GST_PHOTOGRAPHY_WB_MODE_SUNSET;
+ else if (white_balance == Parameters_WHITE_BALANCE_SHADE)
+ *mode = GST_PHOTOGRAPHY_WB_MODE_SHADE;
+ else
+ return FALSE;
+
+ return TRUE;
+}
+
+static gboolean
+_color_effects_to_enum (const gchar * color_effect,
+ GstPhotographyColorToneMode * mode)
+{
+ if (color_effect == Parameters_EFFECT_NONE)
+ *mode = GST_PHOTOGRAPHY_COLOR_TONE_MODE_NORMAL;
+ else if (color_effect == Parameters_EFFECT_MONO)
+ *mode = GST_PHOTOGRAPHY_COLOR_TONE_MODE_GRAYSCALE;
+ else if (color_effect == Parameters_EFFECT_NEGATIVE)
+ *mode = GST_PHOTOGRAPHY_COLOR_TONE_MODE_NEGATIVE;
+ else if (color_effect == Parameters_EFFECT_SOLARIZE)
+ *mode = GST_PHOTOGRAPHY_COLOR_TONE_MODE_SOLARIZE;
+ else if (color_effect == Parameters_EFFECT_SEPIA)
+ *mode = GST_PHOTOGRAPHY_COLOR_TONE_MODE_SEPIA;
+ else if (color_effect == Parameters_EFFECT_POSTERIZE)
+ *mode = GST_PHOTOGRAPHY_COLOR_TONE_MODE_POSTERIZE;
+ else if (color_effect == Parameters_EFFECT_WHITEBOARD)
+ *mode = GST_PHOTOGRAPHY_COLOR_TONE_MODE_WHITEBOARD;
+ else if (color_effect == Parameters_EFFECT_BLACKBOARD)
+ *mode = GST_PHOTOGRAPHY_COLOR_TONE_MODE_BLACKBOARD;
+ else if (color_effect == Parameters_EFFECT_AQUA)
+ *mode = GST_PHOTOGRAPHY_COLOR_TONE_MODE_AQUA;
+ else
+ return FALSE;
+
+ return TRUE;
+}
+
+static gboolean
+_scene_modes_to_enum (const gchar * scene, GstPhotographySceneMode * mode)
+{
+ if (scene == Parameters_SCENE_MODE_AUTO)
+ *mode = GST_PHOTOGRAPHY_SCENE_MODE_AUTO;
+ else if (scene == Parameters_SCENE_MODE_ACTION)
+ *mode = GST_PHOTOGRAPHY_SCENE_MODE_ACTION;
+ else if (scene == Parameters_SCENE_MODE_PORTRAIT)
+ *mode = GST_PHOTOGRAPHY_SCENE_MODE_PORTRAIT;
+ else if (scene == Parameters_SCENE_MODE_LANDSCAPE)
+ *mode = GST_PHOTOGRAPHY_SCENE_MODE_LANDSCAPE;
+ else if (scene == Parameters_SCENE_MODE_NIGHT)
+ *mode = GST_PHOTOGRAPHY_SCENE_MODE_NIGHT;
+ else if (scene == Parameters_SCENE_MODE_NIGHT_PORTRAIT)
+ *mode = GST_PHOTOGRAPHY_SCENE_MODE_NIGHT_PORTRAIT;
+ else if (scene == Parameters_SCENE_MODE_THEATRE)
+ *mode = GST_PHOTOGRAPHY_SCENE_MODE_THEATRE;
+ else if (scene == Parameters_SCENE_MODE_BEACH)
+ *mode = GST_PHOTOGRAPHY_SCENE_MODE_BEACH;
+ else if (scene == Parameters_SCENE_MODE_SNOW)
+ *mode = GST_PHOTOGRAPHY_SCENE_MODE_SNOW;
+ else if (scene == Parameters_SCENE_MODE_SUNSET)
+ *mode = GST_PHOTOGRAPHY_SCENE_MODE_SUNSET;
+ else if (scene == Parameters_SCENE_MODE_STEADYPHOTO)
+ *mode = GST_PHOTOGRAPHY_SCENE_MODE_STEADY_PHOTO;
+ else if (scene == Parameters_SCENE_MODE_FIREWORKS)
+ *mode = GST_PHOTOGRAPHY_SCENE_MODE_FIREWORKS;
+ else if (scene == Parameters_SCENE_MODE_SPORTS)
+ *mode = GST_PHOTOGRAPHY_SCENE_MODE_SPORT;
+ else if (scene == Parameters_SCENE_MODE_PARTY)
+ *mode = GST_PHOTOGRAPHY_SCENE_MODE_PARTY;
+ else if (scene == Parameters_SCENE_MODE_CANDLELIGHT)
+ *mode = GST_PHOTOGRAPHY_SCENE_MODE_CANDLELIGHT;
+ else if (scene == Parameters_SCENE_MODE_BARCODE)
+ *mode = GST_PHOTOGRAPHY_SCENE_MODE_BARCODE;
+ else
+ return FALSE;
+
+ return TRUE;
+}
+
+static gboolean
+_flash_modes_to_enum (const gchar * flash, GstPhotographyFlashMode * mode)
+{
+ if (flash == Parameters_FLASH_MODE_OFF)
+ *mode = GST_PHOTOGRAPHY_FLASH_MODE_OFF;
+ else if (flash == Parameters_FLASH_MODE_AUTO)
+ *mode = GST_PHOTOGRAPHY_FLASH_MODE_AUTO;
+ else if (flash == Parameters_FLASH_MODE_ON)
+ *mode = GST_PHOTOGRAPHY_FLASH_MODE_ON;
+ else if (flash == Parameters_FLASH_MODE_RED_EYE)
+ *mode = GST_PHOTOGRAPHY_FLASH_MODE_RED_EYE;
+ else if (flash == Parameters_FLASH_MODE_TORCH)
+ *mode = GST_PHOTOGRAPHY_FLASH_MODE_FILL_IN;
+ else
+ return FALSE;
+
+ return TRUE;
+}
+
+static gboolean
+_focus_modes_to_enum (const gchar * focus, GstPhotographyFocusMode * mode)
+{
+ if (focus == Parameters_FOCUS_MODE_AUTO)
+ *mode = GST_PHOTOGRAPHY_FOCUS_MODE_AUTO;
+ else if (focus == Parameters_FOCUS_MODE_INFINITY)
+ *mode = GST_PHOTOGRAPHY_FOCUS_MODE_INFINITY;
+ else if (focus == Parameters_FOCUS_MODE_MACRO)
+ *mode = GST_PHOTOGRAPHY_FOCUS_MODE_MACRO;
+ else if (focus == Parameters_FOCUS_MODE_FIXED)
+ *mode = GST_PHOTOGRAPHY_FOCUS_MODE_HYPERFOCAL;
+ else if (focus == Parameters_FOCUS_MODE_EDOF)
+ *mode = GST_PHOTOGRAPHY_FOCUS_MODE_EXTENDED;
+ else if (focus == Parameters_FOCUS_MODE_CONTINUOUS_VIDEO)
+ *mode = GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_EXTENDED;
+ else if (focus == Parameters_FOCUS_MODE_CONTINUOUS_PICTURE)
+ *mode = GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_NORMAL;
+ else
+ return FALSE;
+
+ return TRUE;
+}
+
+static gboolean
+gst_ahc_src_get_ev_compensation (GstPhotography * photo, gfloat * ev_comp)
+{
+ GstAHCSrc *self = GST_AHC_SRC (photo);
+ gboolean ret = FALSE;
+
+ if (self->camera) {
+ GstAHCParameters *params;
+
+ params = gst_ah_camera_get_parameters (self->camera);
+ if (params) {
+ gint ev, min, max;
+ gfloat step;
+
+ ev = gst_ahc_parameters_get_exposure_compensation (params);
+ min = gst_ahc_parameters_get_min_exposure_compensation (params);
+ max = gst_ahc_parameters_get_max_exposure_compensation (params);
+ step = gst_ahc_parameters_get_exposure_compensation_step (params);
+
+ if (step != 0.0 && min != max && min <= ev && ev <= max) {
+ if (ev_comp)
+ *ev_comp = ev * step;
+ ret = TRUE;
+ }
+ gst_ahc_parameters_free (params);
+ }
+ }
+
+ return ret;
+}
+
+static gboolean
+gst_ahc_src_get_white_balance_mode (GstPhotography * photo,
+ GstPhotographyWhiteBalanceMode * wb_mode)
+{
+ GstAHCSrc *self = GST_AHC_SRC (photo);
+ gboolean ret = FALSE;
+
+ if (self->camera) {
+ GstAHCParameters *params;
+
+ params = gst_ah_camera_get_parameters (self->camera);
+ if (params) {
+ const gchar *wb = gst_ahc_parameters_get_white_balance (params);
+ GstPhotographyWhiteBalanceMode mode = GST_PHOTOGRAPHY_WB_MODE_AUTO;
+
+ if (_white_balance_to_enum (wb, &mode)) {
+ ret = TRUE;
+
+ if (wb_mode)
+ *wb_mode = mode;
+ }
+
+ gst_ahc_parameters_free (params);
+ }
+ }
+
+ return ret;
+}
+
+static gboolean
+gst_ahc_src_get_colour_tone_mode (GstPhotography * photo,
+ GstPhotographyColorToneMode * tone_mode)
+{
+ GstAHCSrc *self = GST_AHC_SRC (photo);
+ gboolean ret = FALSE;
+
+ if (self->camera) {
+ GstAHCParameters *params;
+
+ params = gst_ah_camera_get_parameters (self->camera);
+ if (params) {
+ const gchar *effect = gst_ahc_parameters_get_color_effect (params);
+ GstPhotographyColorToneMode mode = GST_PHOTOGRAPHY_COLOR_TONE_MODE_NORMAL;
+
+ if (_color_effects_to_enum (effect, &mode)) {
+ ret = TRUE;
+
+ if (tone_mode)
+ *tone_mode = mode;
+ }
+
+ gst_ahc_parameters_free (params);
+ }
+ }
+
+ return ret;
+}
+
+static gboolean
+gst_ahc_src_get_scene_mode (GstPhotography * photo,
+ GstPhotographySceneMode * scene_mode)
+{
+ GstAHCSrc *self = GST_AHC_SRC (photo);
+ gboolean ret = FALSE;
+
+ if (scene_mode && self->camera) {
+ GstAHCParameters *params;
+
+ params = gst_ah_camera_get_parameters (self->camera);
+ if (params) {
+ const gchar *scene = gst_ahc_parameters_get_scene_mode (params);
+ GstPhotographySceneMode mode = GST_PHOTOGRAPHY_SCENE_MODE_AUTO;
+
+ if (_scene_modes_to_enum (scene, &mode)) {
+ ret = TRUE;
+
+ if (scene_mode)
+ *scene_mode = mode;
+ }
+
+ gst_ahc_parameters_free (params);
+ }
+ }
+
+ return ret;
+}
+
+static gboolean
+gst_ahc_src_get_flash_mode (GstPhotography * photo,
+ GstPhotographyFlashMode * flash_mode)
+{
+ GstAHCSrc *self = GST_AHC_SRC (photo);
+ gboolean ret = FALSE;
+
+ if (self->camera) {
+ GstAHCParameters *params;
+
+ params = gst_ah_camera_get_parameters (self->camera);
+ if (params) {
+ const gchar *flash = gst_ahc_parameters_get_flash_mode (params);
+ GstPhotographyFlashMode mode = GST_PHOTOGRAPHY_FLASH_MODE_OFF;
+
+ if (_flash_modes_to_enum (flash, &mode)) {
+ ret = TRUE;
+
+ if (flash_mode)
+ *flash_mode = mode;
+ }
+
+ gst_ahc_parameters_free (params);
+ }
+ }
+
+ return ret;
+}
+
+static gboolean
+gst_ahc_src_get_zoom (GstPhotography * photo, gfloat * zoom)
+{
+ GstAHCSrc *self = GST_AHC_SRC (photo);
+ gboolean ret = FALSE;
+
+ if (self->camera) {
+ GstAHCParameters *params;
+
+ params = gst_ah_camera_get_parameters (self->camera);
+ if (params) {
+ GList *zoom_ratios = gst_ahc_parameters_get_zoom_ratios (params);
+ gint zoom_idx = gst_ahc_parameters_get_zoom (params);
+ gint max_zoom = gst_ahc_parameters_get_max_zoom (params);
+
+ if (zoom_ratios && g_list_length (zoom_ratios) == (max_zoom + 1) &&
+ zoom_idx >= 0 && zoom_idx < max_zoom) {
+ gint zoom_value;
+
+ zoom_value = GPOINTER_TO_INT (g_list_nth_data (zoom_ratios, zoom_idx));
+ if (zoom)
+ *zoom = (gfloat) zoom_value / 100.0;
+
+ ret = TRUE;
+ }
+
+ gst_ahc_parameters_zoom_ratios_free (zoom_ratios);
+ gst_ahc_parameters_free (params);
+ }
+ }
+
+ return ret;
+}
+
+static gboolean
+gst_ahc_src_get_flicker_mode (GstPhotography * photo,
+ GstPhotographyFlickerReductionMode * flicker_mode)
+{
+ GstAHCSrc *self = GST_AHC_SRC (photo);
+ gboolean ret = FALSE;
+
+ if (self->camera) {
+ GstAHCParameters *params;
+
+ params = gst_ah_camera_get_parameters (self->camera);
+ if (params) {
+ const gchar *antibanding = gst_ahc_parameters_get_antibanding (params);
+ GstPhotographyFlickerReductionMode mode =
+ GST_PHOTOGRAPHY_FLICKER_REDUCTION_AUTO;
+
+ if (_antibanding_to_enum (antibanding, &mode)) {
+ ret = TRUE;
+
+ if (flicker_mode)
+ *flicker_mode = mode;
+ }
+
+ gst_ahc_parameters_free (params);
+ }
+ }
+
+ return ret;
+}
+
+static gboolean
+gst_ahc_src_get_focus_mode (GstPhotography * photo,
+ GstPhotographyFocusMode * focus_mode)
+{
+ GstAHCSrc *self = GST_AHC_SRC (photo);
+ gboolean ret = FALSE;
+
+ if (self->camera) {
+ GstAHCParameters *params;
+
+ params = gst_ah_camera_get_parameters (self->camera);
+ if (params) {
+ const gchar *focus = gst_ahc_parameters_get_focus_mode (params);
+ GstPhotographyFocusMode mode = GST_PHOTOGRAPHY_FOCUS_MODE_AUTO;
+
+ if (_focus_modes_to_enum (focus, &mode)) {
+ ret = TRUE;
+
+ if (focus_mode)
+ *focus_mode = mode;
+ }
+
+ gst_ahc_parameters_free (params);
+ }
+ }
+
+ return ret;
+}
+
+
+static gboolean
+gst_ahc_src_set_ev_compensation (GstPhotography * photo, gfloat ev_comp)
+{
+ GstAHCSrc *self = GST_AHC_SRC (photo);
+ gboolean ret = FALSE;
+
+ if (self->camera) {
+ GstAHCParameters *params;
+
+ params = gst_ah_camera_get_parameters (self->camera);
+ if (params) {
+ gint ev, min, max;
+ gfloat step;
+
+ ev = gst_ahc_parameters_get_exposure_compensation (params);
+ min = gst_ahc_parameters_get_min_exposure_compensation (params);
+ max = gst_ahc_parameters_get_max_exposure_compensation (params);
+ step = gst_ahc_parameters_get_exposure_compensation_step (params);
+ if (step != 0.0 && min != max &&
+ (min * step) <= ev_comp && ev_comp <= (max * step)) {
+ ev = ev_comp / step;
+ if ((ev * step) == ev_comp) {
+ gst_ahc_parameters_set_exposure_compensation (params, ev);
+ ret = gst_ah_camera_set_parameters (self->camera, params);
+ }
+ }
+ }
+ gst_ahc_parameters_free (params);
+ }
+
+ return ret;
+}
+
+static gboolean
+gst_ahc_src_set_white_balance_mode (GstPhotography * photo,
+ GstPhotographyWhiteBalanceMode wb_mode)
+{
+ GstAHCSrc *self = GST_AHC_SRC (photo);
+ gboolean ret = FALSE;
+
+ if (self->camera) {
+ GstAHCParameters *params;
+
+ params = gst_ah_camera_get_parameters (self->camera);
+ if (params) {
+ const gchar *white_balance = NULL;
+
+ switch (wb_mode) {
+ case GST_PHOTOGRAPHY_WB_MODE_AUTO:
+ white_balance = Parameters_WHITE_BALANCE_AUTO;
+ break;
+ case GST_PHOTOGRAPHY_WB_MODE_DAYLIGHT:
+ white_balance = Parameters_WHITE_BALANCE_DAYLIGHT;
+ break;
+ case GST_PHOTOGRAPHY_WB_MODE_CLOUDY:
+ white_balance = Parameters_WHITE_BALANCE_CLOUDY_DAYLIGHT;
+ break;
+ case GST_PHOTOGRAPHY_WB_MODE_SUNSET:
+ white_balance = Parameters_WHITE_BALANCE_TWILIGHT;
+ break;
+ case GST_PHOTOGRAPHY_WB_MODE_TUNGSTEN:
+ white_balance = Parameters_WHITE_BALANCE_INCANDESCENT;
+ break;
+ case GST_PHOTOGRAPHY_WB_MODE_FLUORESCENT:
+ white_balance = Parameters_WHITE_BALANCE_FLUORESCENT;
+ break;
+ case GST_PHOTOGRAPHY_WB_MODE_WARM_FLUORESCENT:
+ white_balance = Parameters_WHITE_BALANCE_WARM_FLUORESCENT;
+ break;
+ case GST_PHOTOGRAPHY_WB_MODE_SHADE:
+ white_balance = Parameters_WHITE_BALANCE_SHADE;
+ break;
+ default:
+ white_balance = NULL;
+ break;
+ }
+
+ if (white_balance) {
+ gst_ahc_parameters_set_white_balance (params, white_balance);
+ ret = gst_ah_camera_set_parameters (self->camera, params);
+ }
+ gst_ahc_parameters_free (params);
+ }
+ }
+
+ return ret;
+}
+
+static gboolean
+gst_ahc_src_set_colour_tone_mode (GstPhotography * photo,
+ GstPhotographyColorToneMode tone_mode)
+{
+ GstAHCSrc *self = GST_AHC_SRC (photo);
+ gboolean ret = FALSE;
+
+ if (self->camera) {
+ GstAHCParameters *params;
+
+ params = gst_ah_camera_get_parameters (self->camera);
+ if (params) {
+ const gchar *color_effect = NULL;
+
+ switch (tone_mode) {
+ case GST_PHOTOGRAPHY_COLOR_TONE_MODE_NORMAL:
+ color_effect = Parameters_EFFECT_NONE;
+ break;
+ case GST_PHOTOGRAPHY_COLOR_TONE_MODE_SEPIA:
+ color_effect = Parameters_EFFECT_SEPIA;
+ break;
+ case GST_PHOTOGRAPHY_COLOR_TONE_MODE_NEGATIVE:
+ color_effect = Parameters_EFFECT_NEGATIVE;
+ break;
+ case GST_PHOTOGRAPHY_COLOR_TONE_MODE_GRAYSCALE:
+ color_effect = Parameters_EFFECT_MONO;
+ break;
+ case GST_PHOTOGRAPHY_COLOR_TONE_MODE_SOLARIZE:
+ color_effect = Parameters_EFFECT_SOLARIZE;
+ break;
+ case GST_PHOTOGRAPHY_COLOR_TONE_MODE_POSTERIZE:
+ color_effect = Parameters_EFFECT_POSTERIZE;
+ break;
+ case GST_PHOTOGRAPHY_COLOR_TONE_MODE_WHITEBOARD:
+ color_effect = Parameters_EFFECT_WHITEBOARD;
+ break;
+ case GST_PHOTOGRAPHY_COLOR_TONE_MODE_BLACKBOARD:
+ color_effect = Parameters_EFFECT_BLACKBOARD;
+ break;
+ case GST_PHOTOGRAPHY_COLOR_TONE_MODE_AQUA:
+ color_effect = Parameters_EFFECT_AQUA;
+ break;
+ case GST_PHOTOGRAPHY_COLOR_TONE_MODE_NATURAL:
+ case GST_PHOTOGRAPHY_COLOR_TONE_MODE_VIVID:
+ case GST_PHOTOGRAPHY_COLOR_TONE_MODE_COLORSWAP:
+ case GST_PHOTOGRAPHY_COLOR_TONE_MODE_OUT_OF_FOCUS:
+ case GST_PHOTOGRAPHY_COLOR_TONE_MODE_SKY_BLUE:
+ case GST_PHOTOGRAPHY_COLOR_TONE_MODE_GRASS_GREEN:
+ case GST_PHOTOGRAPHY_COLOR_TONE_MODE_SKIN_WHITEN:
+ default:
+ color_effect = NULL;
+ break;
+ }
+
+ if (color_effect) {
+ gst_ahc_parameters_set_color_effect (params, color_effect);
+ ret = gst_ah_camera_set_parameters (self->camera, params);
+ }
+ gst_ahc_parameters_free (params);
+ }
+ }
+
+ return ret;
+}
+
+static gboolean
+gst_ahc_src_set_scene_mode (GstPhotography * photo,
+ GstPhotographySceneMode scene_mode)
+{
+ GstAHCSrc *self = GST_AHC_SRC (photo);
+ gboolean ret = FALSE;
+
+ if (self->camera) {
+ GstAHCParameters *params;
+
+ params = gst_ah_camera_get_parameters (self->camera);
+ if (params) {
+ const gchar *scene = NULL;
+
+ switch (scene_mode) {
+ case GST_PHOTOGRAPHY_SCENE_MODE_PORTRAIT:
+ scene = Parameters_SCENE_MODE_PORTRAIT;
+ break;
+ case GST_PHOTOGRAPHY_SCENE_MODE_LANDSCAPE:
+ scene = Parameters_SCENE_MODE_LANDSCAPE;
+ break;
+ case GST_PHOTOGRAPHY_SCENE_MODE_SPORT:
+ scene = Parameters_SCENE_MODE_SPORTS;
+ break;
+ case GST_PHOTOGRAPHY_SCENE_MODE_NIGHT:
+ scene = Parameters_SCENE_MODE_NIGHT;
+ break;
+ case GST_PHOTOGRAPHY_SCENE_MODE_AUTO:
+ scene = Parameters_SCENE_MODE_AUTO;
+ break;
+ case GST_PHOTOGRAPHY_SCENE_MODE_ACTION:
+ scene = Parameters_SCENE_MODE_ACTION;
+ break;
+ case GST_PHOTOGRAPHY_SCENE_MODE_NIGHT_PORTRAIT:
+ scene = Parameters_SCENE_MODE_NIGHT_PORTRAIT;
+ break;
+ case GST_PHOTOGRAPHY_SCENE_MODE_THEATRE:
+ scene = Parameters_SCENE_MODE_THEATRE;
+ break;
+ case GST_PHOTOGRAPHY_SCENE_MODE_BEACH:
+ scene = Parameters_SCENE_MODE_BEACH;
+ break;
+ case GST_PHOTOGRAPHY_SCENE_MODE_SNOW:
+ scene = Parameters_SCENE_MODE_SNOW;
+ break;
+ case GST_PHOTOGRAPHY_SCENE_MODE_SUNSET:
+ scene = Parameters_SCENE_MODE_SUNSET;
+ break;
+ case GST_PHOTOGRAPHY_SCENE_MODE_STEADY_PHOTO:
+ scene = Parameters_SCENE_MODE_STEADYPHOTO;
+ break;
+ case GST_PHOTOGRAPHY_SCENE_MODE_FIREWORKS:
+ scene = Parameters_SCENE_MODE_FIREWORKS;
+ break;
+ case GST_PHOTOGRAPHY_SCENE_MODE_PARTY:
+ scene = Parameters_SCENE_MODE_PARTY;
+ break;
+ case GST_PHOTOGRAPHY_SCENE_MODE_CANDLELIGHT:
+ scene = Parameters_SCENE_MODE_CANDLELIGHT;
+ break;
+ case GST_PHOTOGRAPHY_SCENE_MODE_BARCODE:
+ scene = Parameters_SCENE_MODE_BARCODE;
+ break;
+ case GST_PHOTOGRAPHY_SCENE_MODE_MANUAL:
+ case GST_PHOTOGRAPHY_SCENE_MODE_CLOSEUP:
+ default:
+ scene = NULL;
+ break;
+ }
+
+ if (scene) {
+ gst_ahc_parameters_set_scene_mode (params, scene);
+ ret = gst_ah_camera_set_parameters (self->camera, params);
+ }
+ gst_ahc_parameters_free (params);
+ }
+ }
+
+ return ret;
+}
+
+static gboolean
+gst_ahc_src_set_flash_mode (GstPhotography * photo,
+ GstPhotographyFlashMode flash_mode)
+{
+ GstAHCSrc *self = GST_AHC_SRC (photo);
+ gboolean ret = FALSE;
+
+ if (self->camera) {
+ GstAHCParameters *params;
+
+ params = gst_ah_camera_get_parameters (self->camera);
+ if (params) {
+ const gchar *flash = NULL;
+
+ switch (flash_mode) {
+ case GST_PHOTOGRAPHY_FLASH_MODE_AUTO:
+ flash = Parameters_FLASH_MODE_AUTO;
+ break;
+ case GST_PHOTOGRAPHY_FLASH_MODE_OFF:
+ flash = Parameters_FLASH_MODE_OFF;
+ break;
+ case GST_PHOTOGRAPHY_FLASH_MODE_ON:
+ flash = Parameters_FLASH_MODE_ON;
+ break;
+ case GST_PHOTOGRAPHY_FLASH_MODE_FILL_IN:
+ flash = Parameters_FLASH_MODE_TORCH;
+ break;
+ case GST_PHOTOGRAPHY_FLASH_MODE_RED_EYE:
+ flash = Parameters_FLASH_MODE_RED_EYE;
+ break;
+ default:
+ flash = NULL;
+ break;
+ }
+
+ if (flash) {
+ gst_ahc_parameters_set_flash_mode (params, flash);
+ ret = gst_ah_camera_set_parameters (self->camera, params);
+ }
+ gst_ahc_parameters_free (params);
+ }
+ }
+
+ return ret;
+}
+
+static gboolean
+gst_ahc_src_set_zoom (GstPhotography * photo, gfloat zoom)
+{
+ GstAHCSrc *self = GST_AHC_SRC (photo);
+ gboolean ret = FALSE;
+
+ if (self->camera) {
+ GstAHCParameters *params;
+
+ params = gst_ah_camera_get_parameters (self->camera);
+ if (params) {
+ GList *zoom_ratios = gst_ahc_parameters_get_zoom_ratios (params);
+ gint max_zoom = gst_ahc_parameters_get_max_zoom (params);
+ gint zoom_idx = -1;
+
+ if (zoom_ratios && g_list_length (zoom_ratios) == (max_zoom + 1)) {
+ gint i;
+ gint value = zoom * 100;
+
+ for (i = 0; i < max_zoom + 1; i++) {
+ gint zoom_value = GPOINTER_TO_INT (g_list_nth_data (zoom_ratios, i));
+
+ if (value == zoom_value)
+ zoom_idx = i;
+ }
+ }
+
+ if (zoom_idx != -1) {
+ if (self->smooth_zoom &&
+ gst_ahc_parameters_is_smooth_zoom_supported (params)) {
+ // First, we need to cancel any previous smooth zoom operation
+ gst_ah_camera_stop_smooth_zoom (self->camera);
+ ret = gst_ah_camera_start_smooth_zoom (self->camera, zoom_idx);
+ } else {
+ gst_ahc_parameters_set_zoom (params, zoom_idx);
+ ret = gst_ah_camera_set_parameters (self->camera, params);
+ }
+ }
+
+ gst_ahc_parameters_zoom_ratios_free (zoom_ratios);
+ gst_ahc_parameters_free (params);
+ }
+ }
+
+ return ret;
+}
+
+static gboolean
+gst_ahc_src_set_flicker_mode (GstPhotography * photo,
+ GstPhotographyFlickerReductionMode flicker_mode)
+{
+ GstAHCSrc *self = GST_AHC_SRC (photo);
+ gboolean ret = FALSE;
+
+ if (self->camera) {
+ GstAHCParameters *params;
+
+ params = gst_ah_camera_get_parameters (self->camera);
+ if (params) {
+ const gchar *antibanding = NULL;
+
+ switch (flicker_mode) {
+ case GST_PHOTOGRAPHY_FLICKER_REDUCTION_OFF:
+ antibanding = Parameters_ANTIBANDING_OFF;
+ break;
+ case GST_PHOTOGRAPHY_FLICKER_REDUCTION_50HZ:
+ antibanding = Parameters_ANTIBANDING_50HZ;
+ break;
+ case GST_PHOTOGRAPHY_FLICKER_REDUCTION_60HZ:
+ antibanding = Parameters_ANTIBANDING_60HZ;
+ break;
+ case GST_PHOTOGRAPHY_FLICKER_REDUCTION_AUTO:
+ antibanding = Parameters_ANTIBANDING_AUTO;
+ break;
+ default:
+ antibanding = NULL;
+ break;
+ }
+
+ if (antibanding) {
+ gst_ahc_parameters_set_antibanding (params, antibanding);
+ ret = gst_ah_camera_set_parameters (self->camera, params);
+ }
+ gst_ahc_parameters_free (params);
+ }
+ }
+
+ return ret;
+}
+
+static gboolean
+gst_ahc_src_set_focus_mode (GstPhotography * photo,
+ GstPhotographyFocusMode focus_mode)
+{
+ GstAHCSrc *self = GST_AHC_SRC (photo);
+ gboolean ret = FALSE;
+
+ if (self->camera) {
+ GstAHCParameters *params;
+
+ params = gst_ah_camera_get_parameters (self->camera);
+ if (params) {
+ const gchar *focus = NULL;
+
+ switch (focus_mode) {
+ case GST_PHOTOGRAPHY_FOCUS_MODE_AUTO:
+ focus = Parameters_FOCUS_MODE_AUTO;
+ break;
+ case GST_PHOTOGRAPHY_FOCUS_MODE_MACRO:
+ focus = Parameters_FOCUS_MODE_MACRO;
+ break;
+ case GST_PHOTOGRAPHY_FOCUS_MODE_INFINITY:
+ focus = Parameters_FOCUS_MODE_INFINITY;
+ break;
+ case GST_PHOTOGRAPHY_FOCUS_MODE_HYPERFOCAL:
+ focus = Parameters_FOCUS_MODE_FIXED;
+ break;
+ case GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_NORMAL:
+ focus = Parameters_FOCUS_MODE_CONTINUOUS_PICTURE;
+ break;
+ case GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_EXTENDED:
+ focus = Parameters_FOCUS_MODE_CONTINUOUS_VIDEO;
+ break;
+ case GST_PHOTOGRAPHY_FOCUS_MODE_EXTENDED:
+ focus = Parameters_FOCUS_MODE_EDOF;
+ break;
+ case GST_PHOTOGRAPHY_FOCUS_MODE_PORTRAIT:
+ default:
+ focus = NULL;
+ break;
+ }
+
+ if (focus) {
+ gst_ahc_parameters_set_focus_mode (params, focus);
+ ret = gst_ah_camera_set_parameters (self->camera, params);
+ }
+ gst_ahc_parameters_free (params);
+ }
+ }
+
+ return ret;
+}
+
+static GstPhotographyCaps
+gst_ahc_src_get_capabilities (GstPhotography * photo)
+{
+ GstAHCSrc *self = GST_AHC_SRC (photo);
+
+ GstPhotographyCaps caps = GST_PHOTOGRAPHY_CAPS_EV_COMP |
+ GST_PHOTOGRAPHY_CAPS_WB_MODE | GST_PHOTOGRAPHY_CAPS_TONE |
+ GST_PHOTOGRAPHY_CAPS_SCENE | GST_PHOTOGRAPHY_CAPS_FLASH |
+ GST_PHOTOGRAPHY_CAPS_FOCUS | GST_PHOTOGRAPHY_CAPS_ZOOM;
+
+ if (self->camera) {
+ GstAHCParameters *params;
+
+ params = gst_ah_camera_get_parameters (self->camera);
+ if (!gst_ahc_parameters_is_zoom_supported (params))
+ caps &= ~GST_PHOTOGRAPHY_CAPS_ZOOM;
+
+ gst_ahc_parameters_free (params);
+ }
+
+ return caps;
+}
+
+static void
+gst_ahc_src_on_auto_focus (gboolean success, gpointer user_data)
+{
+ GstAHCSrc *self = GST_AHC_SRC (user_data);
+
+ GST_WARNING_OBJECT (self, "Auto focus completed : %d", success);
+ gst_element_post_message (GST_ELEMENT (self),
+ gst_message_new_custom (GST_MESSAGE_ELEMENT, GST_OBJECT (self),
+ gst_structure_new_empty (GST_PHOTOGRAPHY_AUTOFOCUS_DONE)));
+}
+
+static void
+gst_ahc_src_set_autofocus (GstPhotography * photo, gboolean on)
+{
+ GstAHCSrc *self = GST_AHC_SRC (photo);
+
+ if (self->camera) {
+ if (on)
+ gst_ah_camera_auto_focus (self->camera, gst_ahc_src_on_auto_focus, self);
+ else
+ gst_ah_camera_cancel_auto_focus (self->camera);
+ }
+
+}
+
+static gint
+_compare_formats (int f1, int f2)
+{
+ if (f1 == f2)
+ return 0;
+ /* YV12 has priority */
+ if (f1 == ImageFormat_YV12)
+ return -1;
+ if (f2 == ImageFormat_YV12)
+ return 1;
+ /* Then NV21 */
+ if (f1 == ImageFormat_NV21)
+ return -1;
+ if (f2 == ImageFormat_NV21)
+ return 1;
+ /* Then we don't care */
+ return f2 - f1;
+}
+
+static gint
+_compare_sizes (GstAHCSize * s1, GstAHCSize * s2)
+{
+ return ((s2->width * s2->height) - (s1->width * s1->height));
+}
+
+
+static gint
+_compare_ranges (int *r1, int *r2)
+{
+ if (r1[1] == r2[1])
+ /* Smallest range */
+ return (r1[1] - r1[0]) - (r2[1] - r2[0]);
+ else
+ /* Highest fps */
+ return r2[1] - r1[1];
+}
+
+static GstCaps *
+gst_ahc_src_getcaps (GstBaseSrc * src, GstCaps * filter)
+{
+ GstAHCSrc *self = GST_AHC_SRC (src);
+
+ if (self->camera) {
+ GstCaps *ret = gst_caps_new_empty ();
+ GstAHCParameters *params;
+
+ params = gst_ah_camera_get_parameters (self->camera);
+ if (params) {
+ GList *formats, *sizes, *ranges;
+ GList *i, *j, *k;
+ int previous_format = ImageFormat_UNKNOWN;
+
+ formats = gst_ahc_parameters_get_supported_preview_formats (params);
+ formats = g_list_sort (formats, (GCompareFunc) _compare_formats);
+ sizes = gst_ahc_parameters_get_supported_preview_sizes (params);
+ sizes = g_list_sort (sizes, (GCompareFunc) _compare_sizes);
+ ranges = gst_ahc_parameters_get_supported_preview_fps_range (params);
+ ranges = g_list_sort (ranges, (GCompareFunc) _compare_ranges);
+ GST_DEBUG_OBJECT (self, "Supported preview formats:");
+
+ for (i = formats; i; i = i->next) {
+ int f = GPOINTER_TO_INT (i->data);
+ gchar *format_string = NULL;
+ GstStructure *format = NULL;
+
+ /* Ignore duplicates */
+ if (f == previous_format)
+ continue;
+
+ /* Can't use switch/case because the values are not constants */
+ if (f == ImageFormat_NV16) {
+ GST_DEBUG_OBJECT (self, " NV16 (%d)", f);
+ format_string = g_strdup ("NV16");
+ } else if (f == ImageFormat_NV21) {
+ GST_DEBUG_OBJECT (self, " NV21 (%d)", f);
+ format_string = g_strdup ("NV21");
+ } else if (f == ImageFormat_RGB_565) {
+ GstVideoFormat vformat;
+ vformat = gst_video_format_from_masks (16, 16, G_LITTLE_ENDIAN,
+ 0xf800, 0x07e0, 0x001f, 0x0);
+ GST_DEBUG_OBJECT (self, " RGB565 (%d)", f);
+ format_string = g_strdup (gst_video_format_to_string (vformat));
+ } else if (f == ImageFormat_YUY2) {
+ GST_DEBUG_OBJECT (self, " YUY2 (%d)", f);
+ format_string = g_strdup ("YUY2");
+ } else if (f == ImageFormat_YV12) {
+ GST_DEBUG_OBJECT (self, " YV12 (%d)", f);
+ format_string = g_strdup ("YV12");
+ }
+ previous_format = f;
+
+ if (format_string) {
+ format = gst_structure_new ("video/x-raw",
+ "format", G_TYPE_STRING, format_string, NULL);
+ g_free (format_string);
+ }
+
+ if (format) {
+ for (j = sizes; j; j = j->next) {
+ GstAHCSize *s = j->data;
+ GstStructure *size;
+
+ size = gst_structure_copy (format);
+ gst_structure_set (size, "width", G_TYPE_INT, s->width,
+ "height", G_TYPE_INT, s->height,
+ "interlaced", G_TYPE_BOOLEAN, FALSE,
+ "pixel-aspect-ratio", GST_TYPE_FRACTION, 1, 1, NULL);
+
+ for (k = ranges; k; k = k->next) {
+ int *range = k->data;
+ GstStructure *s;
+
+ s = gst_structure_copy (size);
+ if (range[0] == range[1]) {
+ gst_structure_set (s, "framerate", GST_TYPE_FRACTION,
+ range[0], 1000, NULL);
+ } else {
+ gst_structure_set (s, "framerate", GST_TYPE_FRACTION_RANGE,
+ range[0], 1000, range[1], 1000, NULL);
+ }
+ gst_caps_append_structure (ret, s);
+ }
+ gst_structure_free (size);
+ }
+ gst_structure_free (format);
+ }
+ }
+ GST_DEBUG_OBJECT (self, "Supported preview sizes:");
+ for (i = sizes; i; i = i->next) {
+ GstAHCSize *s = i->data;
+
+ GST_DEBUG_OBJECT (self, " %dx%d", s->width, s->height);
+ }
+ GST_DEBUG_OBJECT (self, "Supported preview fps range:");
+ for (i = ranges; i; i = i->next) {
+ int *range = i->data;
+
+ GST_DEBUG_OBJECT (self, " [%d, %d]", range[0], range[1]);
+ }
+
+ gst_ahc_parameters_supported_preview_formats_free (formats);
+ gst_ahc_parameters_supported_preview_sizes_free (sizes);
+ gst_ahc_parameters_supported_preview_fps_range_free (ranges);
+ gst_ahc_parameters_free (params);
+ }
+
+ return ret;
+ } else {
+ return NULL;
+ }
+}
+
+static GstCaps *
+gst_ahc_src_fixate (GstBaseSrc * src, GstCaps * caps)
+{
+ GstAHCSrc *self = GST_AHC_SRC (src);
+ GstStructure *s = gst_caps_get_structure (caps, 0);
+
+ GST_DEBUG_OBJECT (self, "Fixating : %" GST_PTR_FORMAT, caps);
+
+ caps = gst_caps_make_writable (caps);
+
+ /* Width/height will be fixed already here, format will
+ * be left for fixation by the default handler.
+ * We only have to fixate framerate here, to the
+ * highest possible framerate.
+ */
+ gst_structure_fixate_field_nearest_fraction (s, "framerate", G_MAXINT, 1);
+
+ caps = GST_BASE_SRC_CLASS (parent_class)->fixate (src, caps);
+
+ return caps;
+}
+
+static gboolean
+gst_ahc_src_setcaps (GstBaseSrc * src, GstCaps * caps)
+{
+ GstAHCSrc *self = GST_AHC_SRC (src);
+ gboolean ret = FALSE;
+ GstAHCParameters *params = NULL;
+
+ if (!self->camera) {
+ GST_WARNING_OBJECT (self, "setcaps called without a camera available");
+ goto end;
+ }
+
+ params = gst_ah_camera_get_parameters (self->camera);
+ if (params) {
+ GstStructure *s;
+ const gchar *format_str = NULL;
+ GstVideoFormat format;
+ gint fmt;
+ gint width, height, fps_n, fps_d, buffer_size;
+ GList *ranges, *l;
+ gint range_size = G_MAXINT;
+
+ s = gst_caps_get_structure (caps, 0);
+
+ format_str = gst_structure_get_string (s, "format");
+ format = gst_video_format_from_string (format_str);
+
+ gst_structure_get_int (s, "width", &width);
+ gst_structure_get_int (s, "height", &height);
+ gst_structure_get_fraction (s, "framerate", &fps_n, &fps_d);
+
+ fps_n *= 1000 / fps_d;
+
+ /* Select the best range that contains our framerate.
+ * We *must* set a range of those returned by the camera
+ * according to the API docs and can't use a subset of any
+ * of those ranges.
+ * We chose the smallest range that contains the target
+ * framerate.
+ */
+ self->fps_max = self->fps_min = 0;
+ ranges = gst_ahc_parameters_get_supported_preview_fps_range (params);
+ ranges = g_list_sort (ranges, (GCompareFunc) _compare_ranges);
+ for (l = ranges; l; l = l->next) {
+ int *range = l->data;
+
+ if (fps_n >= range[0] && fps_n <= range[1] &&
+ range_size > (range[1] - range[0])) {
+ self->fps_min = range[0];
+ self->fps_max = range[1];
+ range_size = range[1] - range[0];
+ }
+ }
+ gst_ahc_parameters_supported_preview_fps_range_free (ranges);
+ if (self->fps_max == 0) {
+ GST_ERROR_OBJECT (self, "Couldn't find an applicable FPS range");
+ goto end;
+ }
+
+ switch (format) {
+ case GST_VIDEO_FORMAT_YV12:
+ fmt = ImageFormat_YV12;
+ break;
+ case GST_VIDEO_FORMAT_NV21:
+ fmt = ImageFormat_NV21;
+ break;
+ case GST_VIDEO_FORMAT_YUY2:
+ fmt = ImageFormat_YUY2;
+ break;
+ case GST_VIDEO_FORMAT_RGB16:
+ fmt = ImageFormat_RGB_565;
+ break;
+ /* GST_VIDEO_FORMAT_NV16 doesn't exist */
+ //case GST_VIDEO_FORMAT_NV16:
+ //fmt = ImageFormat_NV16;
+ //break;
+ default:
+ fmt = ImageFormat_UNKNOWN;
+ break;
+ }
+
+ if (fmt == ImageFormat_UNKNOWN) {
+ GST_WARNING_OBJECT (self, "unsupported video format (%s)", format_str);
+ goto end;
+ }
+
+ gst_ahc_parameters_set_preview_size (params, width, height);
+ gst_ahc_parameters_set_preview_format (params, fmt);
+ gst_ahc_parameters_set_preview_fps_range (params, self->fps_min,
+ self->fps_max);
+
+ GST_DEBUG_OBJECT (self, "Setting camera parameters : %d %dx%d @ [%f, %f]",
+ fmt, width, height, self->fps_min / 1000.0, self->fps_max / 1000.0);
+
+ if (!gst_ah_camera_set_parameters (self->camera, params)) {
+ GST_WARNING_OBJECT (self, "Unable to set video parameters");
+ goto end;
+ }
+
+ self->width = width;
+ self->height = height;
+ self->format = fmt;
+ buffer_size = width * height *
+ ((double) gst_ag_imageformat_get_bits_per_pixel (fmt) / 8);
+
+ if (buffer_size > self->buffer_size) {
+ JNIEnv *env = gst_amc_jni_get_env ();
+ gint i;
+
+ for (i = 0; i < NUM_CALLBACK_BUFFERS; i++) {
+ jbyteArray array = (*env)->NewByteArray (env, buffer_size);
+
+ if (array) {
+ gst_ah_camera_add_callback_buffer (self->camera, array);
+ (*env)->DeleteLocalRef (env, array);
+ }
+ }
+ }
+ self->buffer_size = buffer_size;
+
+ GST_DEBUG_OBJECT (self, "setting buffer w:%d h:%d buffer_size: %d",
+ self->width, self->height, self->buffer_size);
+
+ ret = TRUE;
+ }
+
+end:
+ if (params)
+ gst_ahc_parameters_free (params);
+
+ if (ret && self->start) {
+ GST_DEBUG_OBJECT (self, "Starting preview");
+ ret = gst_ah_camera_start_preview (self->camera);
+ if (ret) {
+ /* Need to reset callbacks after every startPreview */
+ gst_ah_camera_set_preview_callback_with_buffer (self->camera,
+ gst_ahc_src_on_preview_frame, self);
+ gst_ah_camera_set_error_callback (self->camera, gst_ahc_src_on_error,
+ self);
+ self->start = FALSE;
+ }
+ }
+ return ret;
+}
+
+typedef struct
+{
+ GstAHCSrc *self;
+ jbyteArray array;
+ jbyte *data;
+} FreeFuncBuffer;
+
+static void
+gst_ahc_src_buffer_free_func (gpointer priv)
+{
+ FreeFuncBuffer *data = (FreeFuncBuffer *) priv;
+ GstAHCSrc *self = data->self;
+ JNIEnv *env = gst_amc_jni_get_env ();
+
+ g_mutex_lock (&self->mutex);
+
+ GST_DEBUG_OBJECT (self, "release %p->%p", data, data->array);
+
+ (*env)->ReleaseByteArrayElements (env, data->array, data->data, JNI_ABORT);
+ if (self->camera)
+ gst_ah_camera_add_callback_buffer (self->camera, data->array);
+
+ (*env)->DeleteGlobalRef (env, data->array);
+
+ g_slice_free (FreeFuncBuffer, data);
+
+ g_mutex_unlock (&self->mutex);
+ gst_object_unref (self);
+}
+
+static void
+_data_queue_item_free (GstDataQueueItem * item)
+{
+ GST_DEBUG ("release %p", item->object);
+
+ gst_buffer_unref (GST_BUFFER (item->object));
+ g_slice_free (GstDataQueueItem, item);
+}
+
+static void
+gst_ahc_src_on_preview_frame (jbyteArray array, gpointer user_data)
+{
+ GstAHCSrc *self = GST_AHC_SRC (user_data);
+ JNIEnv *env = gst_amc_jni_get_env ();
+ GstBuffer *buffer;
+ GstDataQueueItem *item = NULL;
+ FreeFuncBuffer *malloc_data = NULL;
+ GstClockTime timestamp = GST_CLOCK_TIME_NONE;
+ GstClockTime duration = 0;
+ GstClock *clock;
+ gboolean queued = FALSE;
+
+ g_mutex_lock (&self->mutex);
+
+ if (array == NULL) {
+ GST_DEBUG_OBJECT (self, "Size of array in queue is too small, dropping it");
+ goto done;
+ }
+
+ if ((clock = GST_ELEMENT_CLOCK (self))) {
+ GstClockTime base_time = GST_ELEMENT_CAST (self)->base_time;
+ GstClockTime current_ts;
+
+ gst_object_ref (clock);
+ current_ts = gst_clock_get_time (clock) - base_time;
+ gst_object_unref (clock);
+ if (GST_CLOCK_TIME_IS_VALID (self->previous_ts)) {
+ timestamp = self->previous_ts;
+ duration = current_ts - self->previous_ts;
+ self->previous_ts = current_ts;
+ } else {
+ /* Drop the first buffer */
+ self->previous_ts = current_ts;
+ gst_ah_camera_add_callback_buffer (self->camera, array);
+ GST_DEBUG_OBJECT (self, "dropping the first buffer");
+ goto done;
+ }
+ } else {
+ GST_DEBUG_OBJECT (self, "element clock hasn't created yet.");
+ gst_ah_camera_add_callback_buffer (self->camera, array);
+ goto done;
+ }
+
+ GST_DEBUG_OBJECT (self, "Received data buffer %p", array);
+
+ malloc_data = g_slice_new0 (FreeFuncBuffer);
+ malloc_data->self = gst_object_ref (self);
+ malloc_data->array = (*env)->NewGlobalRef (env, array);
+ malloc_data->data = (*env)->GetByteArrayElements (env, array, NULL);
+
+ buffer =
+ gst_buffer_new_wrapped_full (GST_MEMORY_FLAG_READONLY, malloc_data->data,
+ self->buffer_size, 0, self->buffer_size, malloc_data,
+ gst_ahc_src_buffer_free_func);
+ GST_BUFFER_DURATION (buffer) = duration;
+ GST_BUFFER_PTS (buffer) = timestamp;
+
+ GST_DEBUG_OBJECT (self, "creating wrapped buffer (size: %d)",
+ self->buffer_size);
+
+ item = g_slice_new0 (GstDataQueueItem);
+ item->object = GST_MINI_OBJECT (buffer);
+ item->size = gst_buffer_get_size (buffer);
+ item->duration = GST_BUFFER_DURATION (buffer);
+ item->visible = TRUE;
+ item->destroy = (GDestroyNotify) _data_queue_item_free;
+
+ GST_DEBUG_OBJECT (self, "wrapping jni array %p->%p %p->%p", item,
+ item->object, malloc_data, malloc_data->array);
+
+ queued = gst_data_queue_push (self->queue, item);
+
+done:
+ g_mutex_unlock (&self->mutex);
+
+ if (item && !queued) {
+ GST_INFO_OBJECT (self, "could not add buffer to queue");
+ /* Can't add buffer to queue. Must be flushing. */
+ _data_queue_item_free (item);
+ }
+}
+
+static void
+gst_ahc_src_on_error (gint error, gpointer user_data)
+{
+ GstAHCSrc *self = GST_AHC_SRC (user_data);
+
+ GST_WARNING_OBJECT (self, "Received error code : %d", error);
+}
+
+static gboolean
+gst_ahc_src_open (GstAHCSrc * self)
+{
+ GST_DEBUG_OBJECT (self, "Openning camera");
+
+ self->camera = gst_ah_camera_open (self->device);
+
+ if (self->camera) {
+ GST_DEBUG_OBJECT (self, "Opened camera");
+
+ self->texture = gst_ag_surfacetexture_new (0);
+ gst_ah_camera_set_preview_texture (self->camera, self->texture);
+ self->buffer_size = 0;
+ } else {
+ gint num_cams = gst_ah_camera_get_number_of_cameras ();
+ if (num_cams > 0 && self->device < num_cams) {
+ GST_ELEMENT_ERROR (self, RESOURCE, NOT_FOUND,
+ ("Unable to open device '%d'.", self->device), GST_ERROR_SYSTEM);
+ } else if (num_cams > 0) {
+ GST_ELEMENT_ERROR (self, RESOURCE, NOT_FOUND,
+ ("Device '%d' does not exist.", self->device), GST_ERROR_SYSTEM);
+ } else {
+ GST_ELEMENT_ERROR (self, RESOURCE, NOT_FOUND,
+ ("There are no cameras available on this device."), GST_ERROR_SYSTEM);
+ }
+ }
+
+ return (self->camera != NULL);
+}
+
+static void
+gst_ahc_src_close (GstAHCSrc * self)
+{
+ if (self->camera) {
+ gst_ah_camera_set_error_callback (self->camera, NULL, NULL);
+ gst_ah_camera_set_preview_callback_with_buffer (self->camera, NULL, NULL);
+ gst_ah_camera_release (self->camera);
+ gst_ah_camera_free (self->camera);
+ }
+ self->camera = NULL;
+
+ if (self->texture) {
+ gst_ag_surfacetexture_release (self->texture);
+ gst_ag_surfacetexture_free (self->texture);
+ }
+ self->texture = NULL;
+}
+
+static GstStateChangeReturn
+gst_ahc_src_change_state (GstElement * element, GstStateChange transition)
+{
+ GstStateChangeReturn ret = GST_STATE_CHANGE_SUCCESS;
+ GstAHCSrc *self = GST_AHC_SRC (element);
+
+ switch (transition) {
+ case GST_STATE_CHANGE_NULL_TO_READY:
+ if (!gst_ahc_src_open (self))
+ return GST_STATE_CHANGE_FAILURE;
+ break;
+ default:
+ break;
+ }
+
+ ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
+
+ switch (transition) {
+ case GST_STATE_CHANGE_READY_TO_NULL:
+ gst_ahc_src_close (self);
+ break;
+ default:
+ break;
+ }
+
+ return ret;
+}
+
+static gboolean
+gst_ahc_src_start (GstBaseSrc * bsrc)
+{
+ GstAHCSrc *self = GST_AHC_SRC (bsrc);
+
+ GST_DEBUG_OBJECT (self, "Starting preview");
+ if (self->camera) {
+ self->previous_ts = GST_CLOCK_TIME_NONE;
+ self->fps_min = self->fps_max = self->width = self->height = 0;
+ self->format = ImageFormat_UNKNOWN;
+ self->start = TRUE;
+
+ return TRUE;
+ } else {
+ return FALSE;
+ }
+}
+
+static gboolean
+gst_ahc_src_stop (GstBaseSrc * bsrc)
+{
+ GstAHCSrc *self = GST_AHC_SRC (bsrc);
+
+ GST_DEBUG_OBJECT (self, "Stopping preview");
+ if (self->camera) {
+ gst_data_queue_flush (self->queue);
+ self->start = FALSE;
+ gst_ah_camera_set_error_callback (self->camera, NULL, NULL);
+ return gst_ah_camera_stop_preview (self->camera);
+ }
+ return TRUE;
+}
+
+static gboolean
+gst_ahc_src_unlock (GstBaseSrc * bsrc)
+{
+ GstAHCSrc *self = GST_AHC_SRC (bsrc);
+
+ GST_DEBUG_OBJECT (self, "Unlocking create");
+ gst_data_queue_set_flushing (self->queue, TRUE);
+
+ return TRUE;
+}
+
+static gboolean
+gst_ahc_src_unlock_stop (GstBaseSrc * bsrc)
+{
+ GstAHCSrc *self = GST_AHC_SRC (bsrc);
+
+ GST_DEBUG_OBJECT (self, "Stopping unlock");
+ gst_data_queue_set_flushing (self->queue, FALSE);
+
+ return TRUE;
+}
+
+static GstFlowReturn
+gst_ahc_src_create (GstPushSrc * src, GstBuffer ** buffer)
+{
+ GstAHCSrc *self = GST_AHC_SRC (src);
+ GstDataQueueItem *item;
+
+ if (!gst_data_queue_pop (self->queue, &item)) {
+ GST_INFO_OBJECT (self, "empty queue");
+ return GST_FLOW_FLUSHING;
+ }
+
+ GST_DEBUG_OBJECT (self, "creating buffer %p->%p", item, item->object);
+
+ *buffer = GST_BUFFER (item->object);
+ g_slice_free (GstDataQueueItem, item);
+
+ return GST_FLOW_OK;
+}
+
+static gboolean
+gst_ahc_src_query (GstBaseSrc * bsrc, GstQuery * query)
+{
+ GstAHCSrc *self = GST_AHC_SRC (bsrc);
+
+ switch (GST_QUERY_TYPE (query)) {
+ case GST_QUERY_LATENCY:{
+ GstClockTime min;
+
+ /* Allow of 1 frame latency base on the longer frame duration */
+ gst_query_parse_latency (query, NULL, &min, NULL);
+ min = gst_util_uint64_scale (GST_SECOND, 1000, self->fps_min);
+ GST_DEBUG_OBJECT (self,
+ "Reporting latency min: %" GST_TIME_FORMAT, GST_TIME_ARGS (min));
+ gst_query_set_latency (query, TRUE, min, min);
+
+ return TRUE;
+ break;
+ }
+ default:
+ return GST_BASE_SRC_CLASS (parent_class)->query (bsrc, query);
+ break;
+ }
+
+ g_assert_not_reached ();
+}
diff --git a/sys/androidmedia/gstahcsrc.h b/sys/androidmedia/gstahcsrc.h
new file mode 100644
index 0000000..fc24989
--- /dev/null
+++ b/sys/androidmedia/gstahcsrc.h
@@ -0,0 +1,89 @@
+/* GStreamer android.hardware.Camera Source
+ *
+ * Copyright (C) 2012, Cisco Systems, Inc.
+ * Author: Youness Alaoui <youness.alaoui@collabora.co.uk>
+ *
+ * Copyright (C) 2015, Collabora Ltd.
+ * Author: Justin Kim <justin.kim@collabora.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GST_AHC_SRC_H__
+#define __GST_AHC_SRC_H__
+
+#include <gst/gst.h>
+#include <gst/base/gstpushsrc.h>
+#include <gst/base/gstdataqueue.h>
+
+#include "gst-android-hardware-camera.h"
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_AHC_SRC \
+ (gst_ahc_src_get_type())
+#define GST_AHC_SRC(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_AHC_SRC, GstAHCSrc))
+#define GST_AHC_SRC_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_AHC_SRC, GstAHCSrcClass))
+#define GST_IS_AHC_SRC(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_AHC_SRC))
+#define GST_IS_AHC_SRC_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_AHC_SRC))
+
+
+typedef struct _GstAHCSrc GstAHCSrc;
+typedef struct _GstAHCSrcClass GstAHCSrcClass;
+
+/**
+ * GstAHCSrc:
+ *
+ * Opaque data structure.
+ */
+struct _GstAHCSrc
+{
+ /*< private >*/
+ GstPushSrc parent;
+
+ GstAHCamera *camera;
+ GstAGSurfaceTexture *texture;
+ GList *data;
+ GstDataQueue *queue;
+ gint buffer_size;
+ GstClockTime previous_ts;
+ gint format;
+ gint width;
+ gint height;
+ gint fps_min;
+ gint fps_max;
+ gboolean start;
+ gboolean smooth_zoom;
+ GMutex mutex;
+
+ /* Properties */
+ gint device;
+};
+
+struct _GstAHCSrcClass
+{
+ GstPushSrcClass parent_class;
+ GList *probe_properties;
+};
+
+GType gst_ahc_src_get_type (void);
+
+G_END_DECLS
+#endif /* __GST_AHC_SRC_H__ */
diff --git a/sys/androidmedia/gstamc.c b/sys/androidmedia/gstamc.c
index f333820..5b4e936 100644
--- a/sys/androidmedia/gstamc.c
+++ b/sys/androidmedia/gstamc.c
@@ -29,6 +29,8 @@
#define orc_memcpy memcpy
#endif
+#include "gstahcsrc.h"
+
#include "gstamc.h"
#include "gstamc-constants.h"
@@ -367,21 +369,23 @@
media_codec.get_output_buffer, &buffer, index))
goto done;
- ret = g_new0 (GstAmcBuffer, 1);
- ret->object = gst_amc_jni_object_make_global (env, buffer);
- if (!ret->object) {
- gst_amc_jni_set_error (env, err, GST_LIBRARY_ERROR,
- GST_LIBRARY_ERROR_FAILED, "Failed to create global buffer reference");
- goto error;
- }
+ if (buffer != NULL) {
+ ret = g_new0 (GstAmcBuffer, 1);
+ ret->object = gst_amc_jni_object_make_global (env, buffer);
+ if (!ret->object) {
+ gst_amc_jni_set_error (env, err, GST_LIBRARY_ERROR,
+ GST_LIBRARY_ERROR_FAILED, "Failed to create global buffer reference");
+ goto error;
+ }
- ret->data = (*env)->GetDirectBufferAddress (env, ret->object);
- if (!ret->data) {
- gst_amc_jni_set_error (env, err, GST_LIBRARY_ERROR,
- GST_LIBRARY_ERROR_FAILED, "Failed to get buffer address");
- goto error;
+ ret->data = (*env)->GetDirectBufferAddress (env, ret->object);
+ if (!ret->data) {
+ gst_amc_jni_set_error (env, err, GST_LIBRARY_ERROR,
+ GST_LIBRARY_ERROR_FAILED, "Failed to get buffer address");
+ goto error;
+ }
+ ret->size = (*env)->GetDirectBufferCapacity (env, ret->object);
}
- ret->size = (*env)->GetDirectBufferCapacity (env, ret->object);
done:
@@ -3316,6 +3320,28 @@
if (!register_codecs (plugin))
return FALSE;
+ if (!gst_android_graphics_surfacetexture_init ()) {
+ GST_ERROR ("Failed to init android surface texture");
+ return FALSE;
+ }
+
+ if (!gst_android_graphics_imageformat_init ()) {
+ GST_ERROR ("Failed to init android image format");
+ gst_android_graphics_surfacetexture_deinit ();
+ return FALSE;
+ }
+
+ if (!gst_android_hardware_camera_init ()) {
+ gst_android_graphics_surfacetexture_deinit ();
+ gst_android_graphics_imageformat_deinit ();
+ return FALSE;
+ }
+
+ if (!gst_element_register (plugin, "ahcsrc", GST_RANK_NONE, GST_TYPE_AHC_SRC)) {
+ GST_ERROR ("Failed to register android camera source");
+ return FALSE;
+ }
+
return TRUE;
}
diff --git a/sys/androidmedia/gstamc.h b/sys/androidmedia/gstamc.h
index a640616..383eb42 100644
--- a/sys/androidmedia/gstamc.h
+++ b/sys/androidmedia/gstamc.h
@@ -167,8 +167,10 @@
guint32 gst_amc_audio_channel_mask_from_positions (GstAudioChannelPosition *positions, gint channels);
void gst_amc_codec_info_to_caps (const GstAmcCodecInfo * codec_info, GstCaps **sink_caps, GstCaps **src_caps);
-#define GST_ELEMENT_ERROR_FROM_ERROR(el, err) G_STMT_START { \
- gchar *__dbg = g_strdup (err->message); \
+#define GST_ELEMENT_ERROR_FROM_ERROR(el, err) G_STMT_START { \
+ gchar *__dbg; \
+ g_assert (err != NULL); \
+ __dbg = g_strdup (err->message); \
GST_WARNING_OBJECT (el, "error: %s", __dbg); \
gst_element_message_full (GST_ELEMENT(el), GST_MESSAGE_ERROR, \
err->domain, err->code, \
@@ -176,8 +178,10 @@
g_clear_error (&err); \
} G_STMT_END
-#define GST_ELEMENT_WARNING_FROM_ERROR(el, err) G_STMT_START { \
- gchar *__dbg = g_strdup (err->message); \
+#define GST_ELEMENT_WARNING_FROM_ERROR(el, err) G_STMT_START { \
+ gchar *__dbg; \
+ g_assert (err != NULL); \
+ __dbg = g_strdup (err->message); \
GST_WARNING_OBJECT (el, "error: %s", __dbg); \
gst_element_message_full (GST_ELEMENT(el), GST_MESSAGE_WARNING, \
err->domain, err->code, \
diff --git a/sys/androidmedia/gstamcaudiodec.c b/sys/androidmedia/gstamcaudiodec.c
index ce86a96..fbd6d09 100644
--- a/sys/androidmedia/gstamcaudiodec.c
+++ b/sys/androidmedia/gstamcaudiodec.c
@@ -493,8 +493,10 @@
is_eos = ! !(buffer_info.flags & BUFFER_FLAG_END_OF_STREAM);
buf = gst_amc_codec_get_output_buffer (self->codec, idx, &err);
- if (!buf)
+ if (err)
goto failed_to_get_output_buffer;
+ else if (!buf)
+ goto got_null_output_buffer;
if (buffer_info.size > 0) {
GstBuffer *outbuf;
@@ -699,6 +701,22 @@
g_mutex_unlock (&self->drain_lock);
return;
}
+
+got_null_output_buffer:
+ {
+ GST_ELEMENT_ERROR (self, LIBRARY, SETTINGS, (NULL),
+ ("Got no output buffer"));
+ gst_pad_push_event (GST_AUDIO_DECODER_SRC_PAD (self), gst_event_new_eos ());
+ gst_pad_pause_task (GST_AUDIO_DECODER_SRC_PAD (self));
+ self->downstream_flow_ret = GST_FLOW_ERROR;
+ GST_AUDIO_DECODER_STREAM_UNLOCK (self);
+ g_mutex_lock (&self->drain_lock);
+ self->draining = FALSE;
+ g_cond_broadcast (&self->drain_cond);
+ g_mutex_unlock (&self->drain_lock);
+ return;
+ }
+
invalid_buffer_size:
{
GST_ELEMENT_ERROR (self, LIBRARY, FAILED, (NULL),
diff --git a/sys/androidmedia/gstamcvideodec.c b/sys/androidmedia/gstamcvideodec.c
index 1581d06..f024b4c 100644
--- a/sys/androidmedia/gstamcvideodec.c
+++ b/sys/androidmedia/gstamcvideodec.c
@@ -485,6 +485,21 @@
self->surface = NULL;
}
+ if (self->listener) {
+ JNIEnv *env = gst_amc_jni_get_env ();
+ GError *err = NULL;
+
+ if (!gst_amc_jni_call_void_method (env, &err, self->listener,
+ self->set_context_id, GST_AMC_VIDEO_DEC_TO_JLONG (NULL))) {
+ GST_ERROR_OBJECT (self, "Failed to unset back pointer on the listener. "
+ "crashes/hangs may ensue: %s", err ? err->message : "Unknown");
+ GST_ELEMENT_ERROR_FROM_ERROR (self, err);
+ }
+
+ gst_amc_jni_object_unref (env, self->listener);
+ }
+ self->listener = NULL;
+
if (self->codec) {
GError *err = NULL;
@@ -899,11 +914,17 @@
"frames for frame %u", sync, diff, sync->gl_frame_no);
}
- GST_TRACE ("gl_sync %p release_output_buffer idx %u frame %u", sync,
- sync->buffer_idx, sync->gl_frame_no);
+ GST_TRACE ("gl_sync %p release_output_buffer idx %u frame %u render %s",
+ sync, sync->buffer_idx, sync->gl_frame_no, render ? "TRUE" : "FALSE");
/* Release the frame into the surface */
sync->sink->gl_released_frame_count++;
+ if (!render) {
+ /* Advance the ready counter ourselves if we aren't going to render
+ * and therefore receive a listener callback */
+ sync->sink->gl_ready_frame_count++;
+ }
+
if (!gst_amc_codec_release_output_buffer (sync->sink->codec,
sync->buffer_idx, render, &error)) {
GST_ERROR_OBJECT (sync->sink,
@@ -989,8 +1010,8 @@
if (!af_meta) {
GST_WARNING ("Failed to retreive the transformation meta from the "
"gl_sync %p buffer %p", sync, sync->buffer);
- } else if (gst_amc_surface_texture_get_transform_matrix (sync->surface->
- texture, matrix, &error)) {
+ } else if (gst_amc_surface_texture_get_transform_matrix (sync->
+ surface->texture, matrix, &error)) {
gst_video_affine_transformation_meta_apply_matrix (af_meta, matrix);
gst_video_affine_transformation_meta_apply_matrix (af_meta, yflip_matrix);
@@ -1080,7 +1101,7 @@
/* Frames are currently pushed in order and waits need to be performed
* in the same order */
- end_time = 30 * G_TIME_SPAN_MILLISECOND + tmp->released_ts;
+ end_time = wait ? 30 * G_TIME_SPAN_MILLISECOND + tmp->released_ts : -1;
if (!_amc_gl_possibly_wait_for_gl_sync (tmp, end_time))
ret = FALSE;
@@ -1271,9 +1292,12 @@
is_eos = ! !(buffer_info.flags & BUFFER_FLAG_END_OF_STREAM);
buf = gst_amc_codec_get_output_buffer (self->codec, idx, &err);
- if (!buf)
+ if (err)
goto failed_to_get_output_buffer;
+ if (self->codec_config != AMC_CODEC_CONFIG_WITH_SURFACE && !buf)
+ goto got_null_output_buffer;
+
if (frame
&& (deadline =
gst_video_decoder_get_max_decode_time (GST_VIDEO_DECODER (self),
@@ -1282,7 +1306,7 @@
"Frame is too late, dropping (deadline %" GST_STIME_FORMAT ")",
GST_STIME_ARGS (deadline));
flow_ret = gst_video_decoder_drop_frame (GST_VIDEO_DECODER (self), frame);
- } else if (self->codec_config == AMC_CODEC_CONFIG_WITH_SURFACE) {
+ } else if (frame && self->codec_config == AMC_CODEC_CONFIG_WITH_SURFACE) {
GstBuffer *outbuf;
GstGLSyncMeta *sync_meta;
GstVideoCodecState *state;
@@ -1346,6 +1370,7 @@
sync);
sync_meta->set_sync = _amc_gl_set_sync;
sync_meta->wait = _amc_gl_wait;
+ sync_meta->wait_cpu = _amc_gl_wait;
sync_meta->copy = _amc_gl_copy;
sync_meta->free = _amc_gl_free;
@@ -1442,8 +1467,10 @@
flow_ret = gst_video_decoder_drop_frame (GST_VIDEO_DECODER (self), frame);
}
- gst_amc_buffer_free (buf);
- buf = NULL;
+ if (buf) {
+ gst_amc_buffer_free (buf);
+ buf = NULL;
+ }
if (release_buffer) {
if (!gst_amc_codec_release_output_buffer (self->codec, idx, FALSE, &err)) {
@@ -1574,6 +1601,21 @@
return;
}
+got_null_output_buffer:
+ {
+ GST_ELEMENT_ERROR (self, LIBRARY, SETTINGS, (NULL),
+ ("Got no output buffer"));
+ gst_pad_push_event (GST_VIDEO_DECODER_SRC_PAD (self), gst_event_new_eos ());
+ gst_pad_pause_task (GST_VIDEO_DECODER_SRC_PAD (self));
+ self->downstream_flow_ret = GST_FLOW_ERROR;
+ GST_VIDEO_DECODER_STREAM_UNLOCK (self);
+ g_mutex_lock (&self->drain_lock);
+ self->draining = FALSE;
+ g_cond_broadcast (&self->drain_cond);
+ g_mutex_unlock (&self->drain_lock);
+ return;
+ }
+
invalid_buffer:
{
GST_ELEMENT_ERROR (self, LIBRARY, SETTINGS, (NULL),
@@ -1590,6 +1632,10 @@
}
gl_output_error:
{
+ if (buf) {
+ gst_amc_buffer_free (buf);
+ buf = NULL;
+ }
gst_pad_push_event (GST_VIDEO_DECODER_SRC_PAD (self), gst_event_new_eos ());
gst_pad_pause_task (GST_VIDEO_DECODER_SRC_PAD (self));
self->downstream_flow_ret = GST_FLOW_NOT_NEGOTIATED;
@@ -1659,7 +1705,6 @@
jobject listener = NULL;
jclass listener_cls = NULL;
jmethodID constructor_id = 0;
- jmethodID set_context_id = 0;
JNINativeMethod amcOnFrameAvailableListener = {
"native_onFrameAvailable",
@@ -1687,9 +1732,9 @@
goto done;
}
- set_context_id =
+ decoder->set_context_id =
gst_amc_jni_get_method_id (env, err, listener_cls, "setContext", "(J)V");
- if (!set_context_id) {
+ if (!decoder->set_context_id) {
goto done;
}
@@ -1700,7 +1745,7 @@
}
if (!gst_amc_jni_call_void_method (env, err, listener,
- set_context_id, GST_AMC_VIDEO_DEC_TO_JLONG (decoder))) {
+ decoder->set_context_id, GST_AMC_VIDEO_DEC_TO_JLONG (decoder))) {
gst_amc_jni_object_unref (env, listener);
listener = NULL;
}
@@ -1919,7 +1964,6 @@
} else if (self->downstream_supports_gl && !self->surface) {
int ret = TRUE;
JNIEnv *env = NULL;
- jobject listener = NULL;
GstAmcSurfaceTexture *surface_texture = NULL;
env = gst_amc_jni_get_env ();
@@ -1929,15 +1973,24 @@
return FALSE;
}
- listener =
+ if (self->listener) {
+ if (!gst_amc_jni_call_void_method (env, &err, self->listener,
+ self->set_context_id, GST_AMC_VIDEO_DEC_TO_JLONG (NULL))) {
+ ret = FALSE;
+ goto done;
+ }
+
+ gst_amc_jni_object_unref (env, self->listener);
+ }
+ self->listener =
gst_amc_video_dec_new_on_frame_available_listener (self, env, &err);
- if (!listener) {
+ if (!self->listener) {
ret = FALSE;
goto done;
}
if (!gst_amc_surface_texture_set_on_frame_available_listener
- (surface_texture, listener, &err)) {
+ (surface_texture, self->listener, &err)) {
ret = FALSE;
goto done;
}
@@ -1947,7 +2000,6 @@
done:
g_object_unref (surface_texture);
- gst_amc_jni_object_unref (env, listener);
if (!ret) {
GST_ELEMENT_ERROR_FROM_ERROR (self, err);
return FALSE;
@@ -2487,6 +2539,10 @@
{
GstAmcVideoDec *self = JLONG_TO_GST_AMC_VIDEO_DEC (context);
+ /* apparently we can be called after the decoder has been closed */
+ if (!self)
+ return;
+
g_mutex_lock (&self->gl_lock);
self->gl_ready_frame_count++;
GST_LOG_OBJECT (self, "frame %u available", self->gl_ready_frame_count);
diff --git a/sys/androidmedia/gstamcvideodec.h b/sys/androidmedia/gstamcvideodec.h
index eca39fe..039a785 100644
--- a/sys/androidmedia/gstamcvideodec.h
+++ b/sys/androidmedia/gstamcvideodec.h
@@ -100,6 +100,9 @@
gboolean downstream_supports_gl;
GstFlowReturn downstream_flow_ret;
+ jobject listener;
+ jmethodID set_context_id;
+
gboolean gl_mem_attached;
GstGLMemory *oes_mem;
GError *gl_error;
diff --git a/sys/androidmedia/gstamcvideoenc.c b/sys/androidmedia/gstamcvideoenc.c
index 5198fe6..fc4436c 100644
--- a/sys/androidmedia/gstamcvideoenc.c
+++ b/sys/androidmedia/gstamcvideoenc.c
@@ -1023,8 +1023,10 @@
is_eos = ! !(buffer_info.flags & BUFFER_FLAG_END_OF_STREAM);
buf = gst_amc_codec_get_output_buffer (self->codec, idx, &err);
- if (!buf)
+ if (err)
goto failed_to_get_output_buffer;
+ else if (!buf)
+ goto got_null_output_buffer;
flow_ret =
gst_amc_video_enc_handle_output_frame (self, buf, &buffer_info, frame);
@@ -1147,7 +1149,22 @@
GST_ELEMENT_ERROR_FROM_ERROR (self, err);
gst_pad_push_event (GST_VIDEO_ENCODER_SRC_PAD (self), gst_event_new_eos ());
gst_pad_pause_task (GST_VIDEO_ENCODER_SRC_PAD (self));
- self->downstream_flow_ret = GST_FLOW_NOT_NEGOTIATED;
+ self->downstream_flow_ret = GST_FLOW_ERROR;
+ GST_VIDEO_ENCODER_STREAM_UNLOCK (self);
+ g_mutex_lock (&self->drain_lock);
+ self->draining = FALSE;
+ g_cond_broadcast (&self->drain_cond);
+ g_mutex_unlock (&self->drain_lock);
+ return;
+ }
+
+got_null_output_buffer:
+ {
+ GST_ELEMENT_ERROR (self, LIBRARY, SETTINGS, (NULL),
+ ("Got no output buffer"));
+ gst_pad_push_event (GST_VIDEO_ENCODER_SRC_PAD (self), gst_event_new_eos ());
+ gst_pad_pause_task (GST_VIDEO_ENCODER_SRC_PAD (self));
+ self->downstream_flow_ret = GST_FLOW_ERROR;
GST_VIDEO_ENCODER_STREAM_UNLOCK (self);
g_mutex_lock (&self->drain_lock);
self->draining = FALSE;
diff --git a/sys/applemedia-nonpublic/Makefile.in b/sys/applemedia-nonpublic/Makefile.in
index a898639..cf293cc 100644
--- a/sys/applemedia-nonpublic/Makefile.in
+++ b/sys/applemedia-nonpublic/Makefile.in
@@ -125,16 +125,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -365,7 +364,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -387,7 +385,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -409,9 +406,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -573,6 +567,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -586,8 +581,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -674,8 +667,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -727,6 +718,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -747,6 +739,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -784,7 +778,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/sys/applemedia/Makefile.am b/sys/applemedia/Makefile.am
index c95b059..87b80b5 100644
--- a/sys/applemedia/Makefile.am
+++ b/sys/applemedia/Makefile.am
@@ -3,10 +3,12 @@
libgstapplemedia_la_SOURCES = \
plugin.m \
vtutil.c \
+ corevideomemory.c \
corevideobuffer.c \
coremediabuffer.c \
- videotexturecache.m \
- atdec.c
+ videotexturecache.m \
+ atdec.c \
+ glcontexthelper.c
libgstapplemedia_la_CPPFLAGS = \
-Dgst_core_media_buffer_new=gst_core_media_buffer_priv_new \
@@ -73,7 +75,8 @@
videotexturecache.h \
atdec.h \
iosassetsrc.h \
- avfassetsrc.h
+ avfassetsrc.h \
+ glcontexthelper.h
if HAVE_IOS
diff --git a/sys/applemedia/Makefile.in b/sys/applemedia/Makefile.in
index 7d4155b..d61e070 100644
--- a/sys/applemedia/Makefile.in
+++ b/sys/applemedia/Makefile.in
@@ -146,16 +146,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -198,10 +197,10 @@
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1)
am__libgstapplemedia_la_SOURCES_DIST = plugin.m vtutil.c \
- corevideobuffer.c coremediabuffer.c videotexturecache.m \
- atdec.c iosassetsrc.m qtkitvideosrc.m iosurfacememory.c \
- avfvideosrc.m avfassetsrc.m avsamplevideosink.m vtenc.c \
- vtdec.c
+ corevideomemory.c corevideobuffer.c coremediabuffer.c \
+ videotexturecache.m atdec.c glcontexthelper.c iosassetsrc.m \
+ qtkitvideosrc.m iosurfacememory.c avfvideosrc.m avfassetsrc.m \
+ avsamplevideosink.m vtenc.c vtdec.c
@HAVE_IOS_TRUE@am__objects_1 = libgstapplemedia_la-iosassetsrc.lo
@HAVE_IOS_FALSE@am__objects_2 = libgstapplemedia_la-qtkitvideosrc.lo \
@HAVE_IOS_FALSE@ libgstapplemedia_la-iosurfacememory.lo
@@ -213,11 +212,13 @@
@HAVE_VIDEOTOOLBOX_TRUE@ libgstapplemedia_la-vtdec.lo
am_libgstapplemedia_la_OBJECTS = libgstapplemedia_la-plugin.lo \
libgstapplemedia_la-vtutil.lo \
+ libgstapplemedia_la-corevideomemory.lo \
libgstapplemedia_la-corevideobuffer.lo \
libgstapplemedia_la-coremediabuffer.lo \
libgstapplemedia_la-videotexturecache.lo \
- libgstapplemedia_la-atdec.lo $(am__objects_1) $(am__objects_2) \
- $(am__objects_3) $(am__objects_4)
+ libgstapplemedia_la-atdec.lo \
+ libgstapplemedia_la-glcontexthelper.lo $(am__objects_1) \
+ $(am__objects_2) $(am__objects_3) $(am__objects_4)
libgstapplemedia_la_OBJECTS = $(am_libgstapplemedia_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -392,7 +393,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -414,7 +414,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -436,9 +435,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -600,6 +596,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -613,8 +610,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -701,8 +696,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -754,6 +747,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -774,6 +768,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -811,7 +807,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -852,9 +847,10 @@
top_srcdir = @top_srcdir@
wayland_scanner = @wayland_scanner@
plugin_LTLIBRARIES = libgstapplemedia.la
-libgstapplemedia_la_SOURCES = plugin.m vtutil.c corevideobuffer.c \
- coremediabuffer.c videotexturecache.m atdec.c $(am__append_2) \
- $(am__append_4) $(am__append_6) $(am__append_8)
+libgstapplemedia_la_SOURCES = plugin.m vtutil.c corevideomemory.c \
+ corevideobuffer.c coremediabuffer.c videotexturecache.m \
+ atdec.c glcontexthelper.c $(am__append_2) $(am__append_4) \
+ $(am__append_6) $(am__append_8)
libgstapplemedia_la_CPPFLAGS = \
-Dgst_core_media_buffer_new=gst_core_media_buffer_priv_new \
-Dgst_core_media_buffer_get_type=gst_core_media_buffer_priv_get_type \
@@ -903,7 +899,8 @@
videotexturecache.h \
atdec.h \
iosassetsrc.h \
- avfassetsrc.h
+ avfassetsrc.h \
+ glcontexthelper.h
all: all-am
@@ -989,6 +986,8 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_la-avsamplevideosink.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_la-coremediabuffer.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_la-corevideobuffer.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_la-corevideomemory.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_la-glcontexthelper.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_la-iosassetsrc.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_la-iosurfacememory.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_la-plugin.Plo@am__quote@
@@ -1029,6 +1028,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 $(libgstapplemedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_la_CFLAGS) $(CFLAGS) -c -o libgstapplemedia_la-vtutil.lo `test -f 'vtutil.c' || echo '$(srcdir)/'`vtutil.c
+libgstapplemedia_la-corevideomemory.lo: corevideomemory.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstapplemedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_la_CFLAGS) $(CFLAGS) -MT libgstapplemedia_la-corevideomemory.lo -MD -MP -MF $(DEPDIR)/libgstapplemedia_la-corevideomemory.Tpo -c -o libgstapplemedia_la-corevideomemory.lo `test -f 'corevideomemory.c' || echo '$(srcdir)/'`corevideomemory.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstapplemedia_la-corevideomemory.Tpo $(DEPDIR)/libgstapplemedia_la-corevideomemory.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='corevideomemory.c' object='libgstapplemedia_la-corevideomemory.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 $(libgstapplemedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_la_CFLAGS) $(CFLAGS) -c -o libgstapplemedia_la-corevideomemory.lo `test -f 'corevideomemory.c' || echo '$(srcdir)/'`corevideomemory.c
+
libgstapplemedia_la-corevideobuffer.lo: corevideobuffer.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstapplemedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_la_CFLAGS) $(CFLAGS) -MT libgstapplemedia_la-corevideobuffer.lo -MD -MP -MF $(DEPDIR)/libgstapplemedia_la-corevideobuffer.Tpo -c -o libgstapplemedia_la-corevideobuffer.lo `test -f 'corevideobuffer.c' || echo '$(srcdir)/'`corevideobuffer.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstapplemedia_la-corevideobuffer.Tpo $(DEPDIR)/libgstapplemedia_la-corevideobuffer.Plo
@@ -1050,6 +1056,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 $(libgstapplemedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_la_CFLAGS) $(CFLAGS) -c -o libgstapplemedia_la-atdec.lo `test -f 'atdec.c' || echo '$(srcdir)/'`atdec.c
+libgstapplemedia_la-glcontexthelper.lo: glcontexthelper.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstapplemedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_la_CFLAGS) $(CFLAGS) -MT libgstapplemedia_la-glcontexthelper.lo -MD -MP -MF $(DEPDIR)/libgstapplemedia_la-glcontexthelper.Tpo -c -o libgstapplemedia_la-glcontexthelper.lo `test -f 'glcontexthelper.c' || echo '$(srcdir)/'`glcontexthelper.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstapplemedia_la-glcontexthelper.Tpo $(DEPDIR)/libgstapplemedia_la-glcontexthelper.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='glcontexthelper.c' object='libgstapplemedia_la-glcontexthelper.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 $(libgstapplemedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_la_CFLAGS) $(CFLAGS) -c -o libgstapplemedia_la-glcontexthelper.lo `test -f 'glcontexthelper.c' || echo '$(srcdir)/'`glcontexthelper.c
+
libgstapplemedia_la-iosurfacememory.lo: iosurfacememory.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstapplemedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_la_CFLAGS) $(CFLAGS) -MT libgstapplemedia_la-iosurfacememory.lo -MD -MP -MF $(DEPDIR)/libgstapplemedia_la-iosurfacememory.Tpo -c -o libgstapplemedia_la-iosurfacememory.lo `test -f 'iosurfacememory.c' || echo '$(srcdir)/'`iosurfacememory.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstapplemedia_la-iosurfacememory.Tpo $(DEPDIR)/libgstapplemedia_la-iosurfacememory.Plo
diff --git a/sys/applemedia/avfassetsrc.m b/sys/applemedia/avfassetsrc.m
index 38b986c..40496a4 100644
--- a/sys/applemedia/avfassetsrc.m
+++ b/sys/applemedia/avfassetsrc.m
@@ -1079,7 +1079,7 @@
return NULL;
}
- buf = gst_core_media_buffer_new (cmbuf, FALSE, TRUE);
+ buf = gst_core_media_buffer_new (cmbuf, FALSE);
CFRelease (cmbuf);
if (buf == NULL)
return NULL;
diff --git a/sys/applemedia/avfvideosrc.m b/sys/applemedia/avfvideosrc.m
index 075adff..1c8f633 100644
--- a/sys/applemedia/avfvideosrc.m
+++ b/sys/applemedia/avfvideosrc.m
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2010 Ole André Vadla Ravnås <oleavr@soundrop.com>
+ * Copyright (C) 2016 Alessandro Decina <twi@centricular.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -22,6 +23,7 @@
#endif
#include "avfvideosrc.h"
+#include "glcontexthelper.h"
#import <AVFoundation/AVFoundation.h>
#if !HAVE_IOS
@@ -55,7 +57,7 @@
#else
GST_VIDEO_CAPS_MAKE_WITH_FEATURES
(GST_CAPS_FEATURE_MEMORY_GL_MEMORY,
- "BGRA") ", "
+ "NV12") ", "
"texture-target = " GST_GL_TEXTURE_TARGET_2D_STR "; "
#endif
"video/x-raw, "
@@ -114,6 +116,7 @@
BOOL captureScreenMouseClicks;
BOOL useVideoMeta;
+ GstGLContextHelper *ctxh;
GstVideoTextureCache *textureCache;
}
@@ -147,9 +150,11 @@
- (BOOL)unlock;
- (BOOL)unlockStop;
- (BOOL)query:(GstQuery *)query;
+- (void)setContext:(GstContext *)context;
- (GstStateChangeReturn)changeState:(GstStateChange)transition;
- (GstFlowReturn)create:(GstBuffer **)buf;
- (GstCaps *)fixate:(GstCaps *)caps;
+- (BOOL)decideAllocation:(GstQuery *)query;
- (void)updateStatistics;
- (void)captureOutput:(AVCaptureOutput *)captureOutput
didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer
@@ -180,7 +185,7 @@
captureScreenMouseClicks = NO;
useVideoMeta = NO;
textureCache = NULL;
-
+ ctxh = gst_gl_context_helper_new (element);
mainQueue =
dispatch_queue_create ("org.freedesktop.gstreamer.avfvideosrc.main", NULL);
workerQueue =
@@ -421,7 +426,7 @@
#if !HAVE_IOS
GstVideoFormat gl_format = GST_VIDEO_FORMAT_UYVY;
#else
- GstVideoFormat gl_format = GST_VIDEO_FORMAT_BGRA;
+ GstVideoFormat gl_format = GST_VIDEO_FORMAT_NV12;
#endif
GST_DEBUG_OBJECT (element, "Getting device caps");
@@ -490,7 +495,7 @@
result_gl_caps = gst_caps_simplify (gst_caps_merge (result_gl_caps, result_caps));
- GST_INFO_OBJECT (element, "Device returned the following caps %" GST_PTR_FORMAT, result_gl_caps);
+ GST_DEBUG_OBJECT (element, "Device returned the following caps %" GST_PTR_FORMAT, result_gl_caps);
return result_gl_caps;
}
@@ -521,16 +526,24 @@
[[rate valueForKey:@"maxFrameRate"] getValue:&max_frame_rate];
if ((framerate >= min_frame_rate - 0.00001) &&
(framerate <= max_frame_rate + 0.00001)) {
- NSValue *min_frame_duration, *max_frame_duration;
-
+ NSValue *frame_duration_value;
found_framerate = TRUE;
- min_frame_duration = [rate valueForKey:@"minFrameDuration"];
- max_frame_duration = [rate valueForKey:@"maxFrameDuration"];
- [device setValue:min_frame_duration forKey:@"activeVideoMinFrameDuration"];
+ if (min_frame_rate == max_frame_rate) {
+ /* on mac we get tight ranges and an exception is raised if the
+ * frame duration doesn't match the one reported in the range to
+ * the last decimal point
+ */
+ frame_duration_value = [rate valueForKey:@"minFrameDuration"];
+ } else {
+ double frame_duration;
+
+ gst_util_fraction_to_double (info->fps_d, info->fps_n, &frame_duration);
+ frame_duration_value = [NSNumber numberWithDouble:frame_duration];
+ }
+ [device setValue:frame_duration_value forKey:@"activeVideoMinFrameDuration"];
@try {
/* Only available on OSX >= 10.8 and iOS >= 7.0 */
- // Restrict activeVideoMaxFrameDuration to the minimum value so we get a better capture frame rate
- [device setValue:min_frame_duration forKey:@"activeVideoMaxFrameDuration"];
+ [device setValue:frame_duration_value forKey:@"activeVideoMaxFrameDuration"];
} @catch (NSException *exception) {
if (![[exception name] isEqualToString:NSUndefinedKeyException]) {
GST_WARNING ("An unexcepted error occured: %s",
@@ -683,8 +696,6 @@
dispatch_sync (mainQueue, ^{
int newformat;
- g_assert (![session isRunning]);
-
if (captureScreen) {
#if !HAVE_IOS
AVCaptureScreenInput *screenInput = (AVCaptureScreenInput *)input;
@@ -745,26 +756,11 @@
dictionaryWithObject:[NSNumber numberWithInt:newformat]
forKey:(NSString*)kCVPixelBufferPixelFormatTypeKey];
- if (caps)
- gst_caps_unref (caps);
- caps = gst_caps_copy (new_caps);
+ gst_caps_replace (&caps, new_caps);
+ GST_INFO_OBJECT (element, "configured caps %"GST_PTR_FORMAT, caps);
- if (textureCache)
- gst_video_texture_cache_free (textureCache);
- textureCache = NULL;
-
- GstCapsFeatures *features = gst_caps_get_features (caps, 0);
- if (gst_caps_features_contains (features, GST_CAPS_FEATURE_MEMORY_GL_MEMORY)) {
- GstGLContext *context = query_gl_context (GST_BASE_SRC_PAD (baseSrc));
- textureCache = gst_video_texture_cache_new (context);
- gst_video_texture_cache_set_format (textureCache, format, caps);
- gst_object_unref (context);
- }
-
- GST_INFO_OBJECT (element, "configured caps %"GST_PTR_FORMAT
- ", pushing textures %d", caps, textureCache != NULL);
-
- [session startRunning];
+ if (![session isRunning])
+ [session startRunning];
/* Unlock device configuration only after session is started so the session
* won't reset the capture formats */
@@ -801,9 +797,13 @@
bufQueue = nil;
if (textureCache)
- gst_video_texture_cache_free (textureCache);
+ gst_video_texture_cache_free (textureCache);
textureCache = NULL;
+ if (ctxh)
+ gst_gl_context_helper_free (ctxh);
+ ctxh = NULL;
+
return YES;
}
@@ -940,7 +940,7 @@
}
}
- *buf = gst_core_media_buffer_new (sbuf, useVideoMeta, textureCache == NULL);
+ *buf = gst_core_media_buffer_new (sbuf, useVideoMeta);
if (*buf == NULL) {
CFRelease (sbuf);
return GST_FLOW_ERROR;
@@ -964,50 +964,57 @@
return GST_FLOW_OK;
}
-static GstGLContext *
-query_gl_context (GstPad *srcpad)
-{
- GstGLContext *gl_context = NULL;
- GstContext *context = NULL;
- GstQuery *query;
-
- query = gst_query_new_context ("gst.gl.local_context");
- if (gst_pad_peer_query (srcpad, query)) {
- gst_query_parse_context (query, &context);
- if (context) {
- const GstStructure *s = gst_context_get_structure (context);
- gst_structure_get (s, "context", GST_GL_TYPE_CONTEXT, &gl_context, NULL);
- }
- }
- gst_query_unref (query);
-
- return gl_context;
-}
-
-static gboolean
-caps_filter_out_gl_memory (GstCapsFeatures * features, GstStructure * structure,
- gpointer user_data)
-{
- return !gst_caps_features_contains (features,
- GST_CAPS_FEATURE_MEMORY_GL_MEMORY);
-}
-
-
- (GstCaps *)fixate:(GstCaps *)new_caps
{
- GstGLContext *context;
+ GstStructure *structure;
new_caps = gst_caps_make_writable (new_caps);
-
- context = query_gl_context (GST_BASE_SRC_PAD (baseSrc));
- if (!context)
- gst_caps_filter_and_map_in_place (new_caps, caps_filter_out_gl_memory, NULL);
- else
- gst_object_unref (context);
+ new_caps = gst_caps_truncate (new_caps);
+ structure = gst_caps_get_structure (new_caps, 0);
+ /* crank up to 11. This is what the presets do, but we don't use the presets
+ * in ios >= 7.0 */
+ gst_structure_fixate_field_nearest_int (structure, "height", G_MAXINT);
+ gst_structure_fixate_field_nearest_fraction (structure, "framerate", G_MAXINT, 1);
return gst_caps_fixate (new_caps);
}
+- (BOOL)decideAllocation:(GstQuery *)query
+{
+ GstCaps *alloc_caps;
+ GstCapsFeatures *features;
+ gboolean ret;
+
+ ret = GST_BASE_SRC_CLASS (parent_class)->decide_allocation (baseSrc, query);
+ if (!ret)
+ return ret;
+
+ gst_query_parse_allocation (query, &alloc_caps, NULL);
+ features = gst_caps_get_features (alloc_caps, 0);
+ if (gst_caps_features_contains (features, GST_CAPS_FEATURE_MEMORY_GL_MEMORY)) {
+ gst_gl_context_helper_ensure_context (ctxh);
+ GST_INFO_OBJECT (element, "pushing textures, context %p old context %p",
+ ctxh->context, textureCache ? textureCache->ctx : NULL);
+ if (textureCache && textureCache->ctx != ctxh->context) {
+ gst_video_texture_cache_free (textureCache);
+ textureCache = NULL;
+ }
+ textureCache = gst_video_texture_cache_new (ctxh->context);
+ gst_video_texture_cache_set_format (textureCache, format, alloc_caps);
+ }
+
+ return TRUE;
+}
+
+- (void)setContext:(GstContext *)context
+{
+ GST_INFO_OBJECT (element, "setting context %s",
+ gst_context_get_context_type (context));
+ gst_gl_handle_set_context (element, context,
+ &ctxh->display, &ctxh->other_context);
+ GST_ELEMENT_CLASS (parent_class)->set_context (element, context);
+}
+
- (void)getSampleBuffer:(CMSampleBufferRef)sbuf
timestamp:(GstClockTime *)outTimestamp
duration:(GstClockTime *)outDuration
@@ -1136,10 +1143,12 @@
static gboolean gst_avf_video_src_unlock_stop (GstBaseSrc * basesrc);
static GstFlowReturn gst_avf_video_src_create (GstPushSrc * pushsrc,
GstBuffer ** buf);
-static gboolean gst_avf_video_src_negotiate (GstBaseSrc * basesrc);
static GstCaps * gst_avf_video_src_fixate (GstBaseSrc * bsrc,
GstCaps * caps);
-
+static gboolean gst_avf_video_src_decide_allocation (GstBaseSrc * bsrc,
+ GstQuery * query);
+static void gst_avf_video_src_set_context (GstElement * element,
+ GstContext * context);
static void
gst_avf_video_src_class_init (GstAVFVideoSrcClass * klass)
@@ -1154,6 +1163,7 @@
gobject_class->set_property = gst_avf_video_src_set_property;
gstelement_class->change_state = gst_avf_video_src_change_state;
+ gstelement_class->set_context = gst_avf_video_src_set_context;
gstbasesrc_class->get_caps = gst_avf_video_src_get_caps;
gstbasesrc_class->set_caps = gst_avf_video_src_set_caps;
@@ -1163,7 +1173,7 @@
gstbasesrc_class->unlock = gst_avf_video_src_unlock;
gstbasesrc_class->unlock_stop = gst_avf_video_src_unlock_stop;
gstbasesrc_class->fixate = gst_avf_video_src_fixate;
- gstbasesrc_class->negotiate = gst_avf_video_src_negotiate;
+ gstbasesrc_class->decide_allocation = gst_avf_video_src_decide_allocation;
gstpushsrc_class->create = gst_avf_video_src_create;
@@ -1406,16 +1416,6 @@
return ret;
}
-static gboolean
-gst_avf_video_src_negotiate (GstBaseSrc * basesrc)
-{
- /* FIXME: We don't support reconfiguration yet */
- if (gst_pad_has_current_caps (GST_BASE_SRC_PAD (basesrc)))
- return TRUE;
-
- return GST_BASE_SRC_CLASS (parent_class)->negotiate (basesrc);
-}
-
static GstCaps *
gst_avf_video_src_fixate (GstBaseSrc * bsrc, GstCaps * caps)
@@ -1428,3 +1428,24 @@
return ret;
}
+
+static gboolean
+gst_avf_video_src_decide_allocation (GstBaseSrc * bsrc,
+ GstQuery * query)
+{
+ gboolean ret;
+
+ OBJC_CALLOUT_BEGIN ();
+ ret = [GST_AVF_VIDEO_SRC_IMPL (bsrc) decideAllocation:query];
+ OBJC_CALLOUT_END ();
+
+ return ret;
+}
+
+static void
+gst_avf_video_src_set_context (GstElement * element, GstContext * context)
+{
+ OBJC_CALLOUT_BEGIN ();
+ [GST_AVF_VIDEO_SRC_IMPL (element) setContext:context];
+ OBJC_CALLOUT_END ();
+}
diff --git a/sys/applemedia/coremediabuffer.c b/sys/applemedia/coremediabuffer.c
index 681fe14..cf34224 100644
--- a/sys/applemedia/coremediabuffer.c
+++ b/sys/applemedia/coremediabuffer.c
@@ -19,15 +19,42 @@
* Boston, MA 02110-1301, USA.
*/
+#include "corevideobuffer.h"
#include "coremediabuffer.h"
+#include "corevideomemory.h"
+
+static const GstMetaInfo *gst_core_media_meta_get_info (void);
+
+static void
+gst_core_media_meta_add (GstBuffer * buffer, CMSampleBufferRef sample_buf,
+ CVImageBufferRef image_buf, CMBlockBufferRef block_buf)
+{
+ GstCoreMediaMeta *meta;
+
+ meta =
+ (GstCoreMediaMeta *) gst_buffer_add_meta (buffer,
+ gst_core_media_meta_get_info (), NULL);
+ CFRetain (sample_buf);
+ if (image_buf)
+ CVBufferRetain (image_buf);
+ if (block_buf)
+ CFRetain (block_buf);
+ meta->sample_buf = sample_buf;
+ meta->image_buf = image_buf;
+ meta->block_buf = block_buf;
+ if (image_buf != NULL && CFGetTypeID (image_buf) == CVPixelBufferGetTypeID ())
+ meta->pixel_buf = (CVPixelBufferRef) image_buf;
+ else
+ meta->pixel_buf = NULL;
+}
static void
gst_core_media_meta_free (GstCoreMediaMeta * meta, GstBuffer * buf)
{
if (meta->image_buf != NULL) {
- CVPixelBufferUnlockBaseAddress (meta->image_buf, 0);
CVBufferRelease (meta->image_buf);
}
+
if (meta->block_buf != NULL) {
CFRelease (meta->block_buf);
}
@@ -35,6 +62,22 @@
CFRelease (meta->sample_buf);
}
+static gboolean
+gst_core_media_meta_transform (GstBuffer * transbuf, GstCoreMediaMeta * meta,
+ GstBuffer * buffer, GQuark type, GstMetaTransformCopy * data)
+{
+ if (!data->region) {
+ /* only copy if the complete data is copied as well */
+ gst_core_media_meta_add (transbuf, meta->sample_buf, meta->image_buf,
+ meta->block_buf);
+ } else {
+ GST_WARNING_OBJECT (transbuf,
+ "dropping Core Media metadata due to partial buffer");
+ }
+
+ return TRUE; /* retval unused */
+}
+
GType
gst_core_media_meta_api_get_type (void)
{
@@ -58,7 +101,7 @@
"GstCoreMediaMeta", sizeof (GstCoreMediaMeta),
(GstMetaInitFunction) NULL,
(GstMetaFreeFunction) gst_core_media_meta_free,
- (GstMetaTransformFunction) NULL);
+ (GstMetaTransformFunction) gst_core_media_meta_transform);
g_once_init_leave (&core_media_meta_info, meta);
}
return core_media_meta_info;
@@ -85,68 +128,6 @@
}
static gboolean
-gst_core_media_buffer_wrap_pixel_buffer (GstBuffer * buf, GstVideoInfo * info,
- CVPixelBufferRef pixel_buf, gboolean * has_padding, gboolean map)
-{
- guint n_planes;
- gsize offset[GST_VIDEO_MAX_PLANES] = { 0 };
- gint stride[GST_VIDEO_MAX_PLANES] = { 0 };
- GstVideoMeta *video_meta;
- UInt32 size;
-
- if (map && CVPixelBufferLockBaseAddress (pixel_buf, 0) != kCVReturnSuccess) {
- GST_ERROR ("Could not lock pixel buffer base address");
- return FALSE;
- }
-
- *has_padding = FALSE;
-
- if (CVPixelBufferIsPlanar (pixel_buf)) {
- gint i, size = 0, plane_offset = 0;
-
- n_planes = CVPixelBufferGetPlaneCount (pixel_buf);
- for (i = 0; i < n_planes; i++) {
- stride[i] = CVPixelBufferGetBytesPerRowOfPlane (pixel_buf, i);
-
- if (stride[i] != GST_VIDEO_INFO_PLANE_STRIDE (info, i)) {
- *has_padding = TRUE;
- }
-
- size = stride[i] * CVPixelBufferGetHeightOfPlane (pixel_buf, i);
- offset[i] = plane_offset;
- plane_offset += size;
-
- if (map) {
- gst_buffer_append_memory (buf,
- gst_memory_new_wrapped (GST_MEMORY_FLAG_NO_SHARE,
- CVPixelBufferGetBaseAddressOfPlane (pixel_buf, i), size, 0,
- size, NULL, NULL));
- }
- }
- } else {
-
- n_planes = 1;
- stride[0] = CVPixelBufferGetBytesPerRow (pixel_buf);
- offset[0] = 0;
- size = stride[0] * CVPixelBufferGetHeight (pixel_buf);
-
- if (map) {
- gst_buffer_append_memory (buf,
- gst_memory_new_wrapped (GST_MEMORY_FLAG_NO_SHARE,
- CVPixelBufferGetBaseAddress (pixel_buf), size, 0, size, NULL,
- NULL));
- }
- }
-
- video_meta =
- gst_buffer_add_video_meta_full (buf, GST_VIDEO_FRAME_FLAG_NONE,
- GST_VIDEO_INFO_FORMAT (info), info->width, info->height, n_planes, offset,
- stride);
-
- return TRUE;
-}
-
-static gboolean
gst_core_media_buffer_wrap_block_buffer (GstBuffer * buf,
CMBlockBufferRef block_buf)
{
@@ -247,11 +228,10 @@
GstBuffer *
gst_core_media_buffer_new (CMSampleBufferRef sample_buf,
- gboolean use_video_meta, gboolean map)
+ gboolean use_video_meta)
{
CVImageBufferRef image_buf;
CMBlockBufferRef block_buf;
- GstCoreMediaMeta *meta;
GstBuffer *buf;
image_buf = CMSampleBufferGetImageBuffer (sample_buf);
@@ -259,35 +239,22 @@
buf = gst_buffer_new ();
- meta = (GstCoreMediaMeta *) gst_buffer_add_meta (buf,
- gst_core_media_meta_get_info (), NULL);
- CFRetain (sample_buf);
- if (image_buf)
- CVBufferRetain (image_buf);
- if (block_buf)
- CFRetain (block_buf);
- meta->sample_buf = sample_buf;
- meta->image_buf = image_buf;
- meta->pixel_buf = NULL;
- meta->block_buf = block_buf;
+ gst_core_media_meta_add (buf, sample_buf, image_buf, block_buf);
if (image_buf != NULL && CFGetTypeID (image_buf) == CVPixelBufferGetTypeID ()) {
GstVideoInfo info;
gboolean has_padding = FALSE;
+ CVPixelBufferRef pixel_buf = (CVPixelBufferRef) image_buf;
- meta->pixel_buf = (CVPixelBufferRef) image_buf;
- if (!gst_video_info_init_from_pixel_buffer (&info, meta->pixel_buf)) {
+ if (!gst_video_info_init_from_pixel_buffer (&info, pixel_buf)) {
goto error;
}
- if (!gst_core_media_buffer_wrap_pixel_buffer (buf, &info, meta->pixel_buf,
- &has_padding, map)) {
- goto error;
- }
+ gst_core_video_wrap_pixel_buffer (buf, &info, pixel_buf, &has_padding);
/* If the video meta API is not supported, remove padding by
* copying the core media buffer to a system memory buffer */
- if (map && has_padding && !use_video_meta) {
+ if (has_padding && !use_video_meta) {
GstBuffer *copy_buf;
copy_buf = gst_core_media_buffer_new_from_buffer (buf, &info);
if (!copy_buf) {
@@ -299,7 +266,7 @@
}
} else if (block_buf != NULL) {
- if (map && !gst_core_media_buffer_wrap_block_buffer (buf, block_buf)) {
+ if (!gst_core_media_buffer_wrap_block_buffer (buf, block_buf)) {
goto error;
}
} else {
diff --git a/sys/applemedia/coremediabuffer.h b/sys/applemedia/coremediabuffer.h
index 2b3b74d..bc18acf 100644
--- a/sys/applemedia/coremediabuffer.h
+++ b/sys/applemedia/coremediabuffer.h
@@ -43,8 +43,7 @@
GstBuffer * gst_core_media_buffer_new (CMSampleBufferRef sample_buf,
- gboolean use_video_meta,
- gboolean map);
+ gboolean use_video_meta);
CVPixelBufferRef gst_core_media_buffer_get_pixel_buffer
(GstBuffer * buf);
GType gst_core_media_meta_api_get_type (void);
diff --git a/sys/applemedia/corevideobuffer.c b/sys/applemedia/corevideobuffer.c
index 269e19d..67d899c 100644
--- a/sys/applemedia/corevideobuffer.c
+++ b/sys/applemedia/corevideobuffer.c
@@ -18,15 +18,40 @@
*/
#include "corevideobuffer.h"
+#include "corevideomemory.h"
+
+static const GstMetaInfo *gst_core_video_meta_get_info (void);
+
+static void
+gst_core_video_meta_add (GstBuffer * buffer, CVBufferRef cvbuf)
+{
+ GstCoreVideoMeta *meta;
+
+ meta = (GstCoreVideoMeta *) gst_buffer_add_meta (buffer,
+ gst_core_video_meta_get_info (), NULL);
+ meta->cvbuf = CVBufferRetain (cvbuf);
+ meta->pixbuf = (CVPixelBufferRef) cvbuf;
+}
static void
gst_core_video_meta_free (GstCoreVideoMeta * meta, GstBuffer * buf)
{
- if (meta->pixbuf != NULL) {
- CVPixelBufferUnlockBaseAddress (meta->pixbuf, 0);
+ CVBufferRelease (meta->cvbuf);
+}
+
+static gboolean
+gst_core_video_meta_transform (GstBuffer * transbuf, GstCoreVideoMeta * meta,
+ GstBuffer * buffer, GQuark type, GstMetaTransformCopy * data)
+{
+ if (!data->region) {
+ /* only copy if the complete data is copied as well */
+ gst_core_video_meta_add (transbuf, meta->cvbuf);
+ } else {
+ GST_WARNING_OBJECT (transbuf,
+ "dropping Core Video metadata due to partial buffer");
}
- CVBufferRelease (meta->cvbuf);
+ return TRUE; /* retval unused */
}
GType
@@ -52,89 +77,89 @@
"GstCoreVideoMeta", sizeof (GstCoreVideoMeta),
(GstMetaInitFunction) NULL,
(GstMetaFreeFunction) gst_core_video_meta_free,
- (GstMetaTransformFunction) NULL);
+ (GstMetaTransformFunction) gst_core_video_meta_transform);
g_once_init_leave (&core_video_meta_info, meta);
}
return core_video_meta_info;
}
+void
+gst_core_video_wrap_pixel_buffer (GstBuffer * buf, GstVideoInfo * info,
+ CVPixelBufferRef pixel_buf, gboolean * has_padding)
+{
+ guint n_planes;
+ gsize offset[GST_VIDEO_MAX_PLANES] = { 0 };
+ gint stride[GST_VIDEO_MAX_PLANES] = { 0 };
+ UInt32 size;
+ GstAppleCoreVideoPixelBuffer *gpixbuf;
+
+ gpixbuf = gst_apple_core_video_pixel_buffer_new (pixel_buf);
+ *has_padding = FALSE;
+
+ if (CVPixelBufferIsPlanar (pixel_buf)) {
+ gint i, size = 0, plane_offset = 0;
+
+ n_planes = CVPixelBufferGetPlaneCount (pixel_buf);
+ for (i = 0; i < n_planes; i++) {
+ stride[i] = CVPixelBufferGetBytesPerRowOfPlane (pixel_buf, i);
+
+ if (stride[i] != GST_VIDEO_INFO_PLANE_STRIDE (info, i)) {
+ *has_padding = TRUE;
+ }
+
+ size = stride[i] * CVPixelBufferGetHeightOfPlane (pixel_buf, i);
+ offset[i] = plane_offset;
+ plane_offset += size;
+
+ gst_buffer_append_memory (buf,
+ gst_apple_core_video_memory_new_wrapped (gpixbuf, i, size));
+ }
+ } else {
+ n_planes = 1;
+ stride[0] = CVPixelBufferGetBytesPerRow (pixel_buf);
+ offset[0] = 0;
+ size = stride[0] * CVPixelBufferGetHeight (pixel_buf);
+
+ gst_buffer_append_memory (buf,
+ gst_apple_core_video_memory_new_wrapped (gpixbuf,
+ GST_APPLE_CORE_VIDEO_NO_PLANE, size));
+ }
+
+ gst_apple_core_video_pixel_buffer_unref (gpixbuf);
+
+ if (info) {
+ GstVideoMeta *video_meta;
+
+ video_meta =
+ gst_buffer_add_video_meta_full (buf, GST_VIDEO_FRAME_FLAG_NONE,
+ GST_VIDEO_INFO_FORMAT (info), info->width, info->height, n_planes,
+ offset, stride);
+ }
+}
+
GstBuffer *
-gst_core_video_buffer_new (CVBufferRef cvbuf, GstVideoInfo * vinfo,
- gboolean map)
+gst_core_video_buffer_new (CVBufferRef cvbuf, GstVideoInfo * vinfo)
{
CVPixelBufferRef pixbuf = NULL;
GstBuffer *buf;
GstCoreVideoMeta *meta;
- guint n_planes;
- gsize offset[GST_VIDEO_MAX_PLANES];
- gint stride[GST_VIDEO_MAX_PLANES];
+ gboolean has_padding; /* not used for now */
if (CFGetTypeID (cvbuf) != CVPixelBufferGetTypeID ())
/* TODO: Do we need to handle other buffer types? */
- goto error;
+ return NULL;
pixbuf = (CVPixelBufferRef) cvbuf;
- if (map && CVPixelBufferLockBaseAddress (pixbuf, 0) != kCVReturnSuccess) {
- goto error;
- }
-
buf = gst_buffer_new ();
- /* add the corevideo meta to free the underlying corevideo buffer */
+ /* add the corevideo meta to pass the underlying corevideo buffer */
meta = (GstCoreVideoMeta *) gst_buffer_add_meta (buf,
gst_core_video_meta_get_info (), NULL);
meta->cvbuf = CVBufferRetain (cvbuf);
meta->pixbuf = pixbuf;
- /* set stride, offset and size */
- memset (&offset, 0, sizeof (offset));
- memset (&stride, 0, sizeof (stride));
-
- if (CVPixelBufferIsPlanar (pixbuf)) {
- int i, size, off;
-
- n_planes = CVPixelBufferGetPlaneCount (pixbuf);
- off = 0;
- for (i = 0; i < n_planes; ++i) {
- stride[i] = CVPixelBufferGetBytesPerRowOfPlane (pixbuf, i);
- size = stride[i] * CVPixelBufferGetHeightOfPlane (pixbuf, i);
- offset[i] = off;
- off += size;
-
- if (map) {
- gst_buffer_append_memory (buf,
- gst_memory_new_wrapped (GST_MEMORY_FLAG_NO_SHARE,
- CVPixelBufferGetBaseAddressOfPlane (pixbuf, i), size, 0, size,
- NULL, NULL));
- }
- }
- } else {
- int size;
-
- n_planes = 1;
- stride[0] = CVPixelBufferGetBytesPerRow (pixbuf);
- offset[0] = 0;
- size = stride[0] * CVPixelBufferGetHeight (pixbuf);
-
- if (map) {
- gst_buffer_append_memory (buf,
- gst_memory_new_wrapped (GST_MEMORY_FLAG_NO_SHARE,
- CVPixelBufferGetBaseAddress (pixbuf), size, 0, size, NULL, NULL));
- }
- }
-
- if (vinfo) {
- GstVideoMeta *video_meta;
-
- video_meta =
- gst_buffer_add_video_meta_full (buf, GST_VIDEO_FRAME_FLAG_NONE,
- vinfo->finfo->format, CVPixelBufferGetWidth (pixbuf),
- CVPixelBufferGetHeight (pixbuf), n_planes, offset, stride);
- }
+ gst_core_video_wrap_pixel_buffer (buf, vinfo, pixbuf, &has_padding);
return buf;
-
-error:
- return NULL;
}
diff --git a/sys/applemedia/corevideobuffer.h b/sys/applemedia/corevideobuffer.h
index 8f58a6e..0ea7d1e 100644
--- a/sys/applemedia/corevideobuffer.h
+++ b/sys/applemedia/corevideobuffer.h
@@ -41,8 +41,11 @@
} GstCoreVideoMeta;
GstBuffer * gst_core_video_buffer_new (CVBufferRef cvbuf,
- GstVideoInfo *info,
- gboolean map);
+ GstVideoInfo *info);
+void gst_core_video_wrap_pixel_buffer (GstBuffer * buf,
+ GstVideoInfo * info,
+ CVPixelBufferRef pixel_buf,
+ gboolean * has_padding);
GType gst_core_video_meta_api_get_type (void);
G_END_DECLS
diff --git a/sys/applemedia/corevideomemory.c b/sys/applemedia/corevideomemory.c
new file mode 100644
index 0000000..4cb085d
--- /dev/null
+++ b/sys/applemedia/corevideomemory.c
@@ -0,0 +1,465 @@
+/* GStreamer Apple Core Video memory
+ * Copyright (C) 2015 Ilya Konstantinov
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for mordetails.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "corevideomemory.h"
+
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_APPLE_CORE_VIDEO_MEMORY);
+#define GST_CAT_DEFAULT GST_CAT_APPLE_CORE_VIDEO_MEMORY
+
+static const char *_lock_state_names[] = {
+ "Unlocked", "Locked Read-Only", "Locked Read-Write"
+};
+
+/**
+ * gst_apple_core_video_pixel_buffer_new:
+ * @buf: an unlocked CVPixelBuffer
+ *
+ * Initializes a wrapper to manage locking state for a CVPixelBuffer.
+ * This function expects to receive unlocked CVPixelBuffer, and further assumes
+ * that no one else will lock it (as long as the wrapper exists).
+ *
+ * This function retains @buf.
+ *
+ * Returns: The wrapped @buf.
+ */
+GstAppleCoreVideoPixelBuffer *
+gst_apple_core_video_pixel_buffer_new (CVPixelBufferRef buf)
+{
+ GstAppleCoreVideoPixelBuffer *gpixbuf =
+ g_slice_new (GstAppleCoreVideoPixelBuffer);
+ gpixbuf->refcount = 1;
+ g_mutex_init (&gpixbuf->mutex);
+ gpixbuf->buf = CVPixelBufferRetain (buf);
+ gpixbuf->lock_state = GST_APPLE_CORE_VIDEO_MEMORY_UNLOCKED;
+ gpixbuf->lock_count = 0;
+ return gpixbuf;
+}
+
+GstAppleCoreVideoPixelBuffer *
+gst_apple_core_video_pixel_buffer_ref (GstAppleCoreVideoPixelBuffer * gpixbuf)
+{
+ g_atomic_int_inc (&gpixbuf->refcount);
+ return gpixbuf;
+}
+
+void
+gst_apple_core_video_pixel_buffer_unref (GstAppleCoreVideoPixelBuffer * gpixbuf)
+{
+ if (g_atomic_int_dec_and_test (&gpixbuf->refcount)) {
+ if (gpixbuf->lock_state != GST_APPLE_CORE_VIDEO_MEMORY_UNLOCKED) {
+ GST_ERROR
+ ("%p: CVPixelBuffer memory still locked (lock_count = %d), likely forgot to unmap GstAppleCoreVideoMemory",
+ gpixbuf, gpixbuf->lock_count);
+ }
+ CVPixelBufferRelease (gpixbuf->buf);
+ g_mutex_clear (&gpixbuf->mutex);
+ g_slice_free (GstAppleCoreVideoPixelBuffer, gpixbuf);
+ }
+}
+
+/**
+ * gst_apple_core_video_pixel_buffer_lock:
+ * @gpixbuf: the wrapped CVPixelBuffer
+ * @flags: mapping flags for either read-only or read-write locking
+ *
+ * Locks the pixel buffer into CPU memory for reading only, or
+ * reading and writing. The desired lock mode is deduced from @flags.
+ *
+ * For planar buffers, each plane's #GstAppleCoreVideoMemory will reference
+ * the same #GstAppleCoreVideoPixelBuffer; therefore this function will be
+ * called multiple times for the same @gpixbuf. Each call to this function
+ * should be matched by a call to gst_apple_core_video_pixel_buffer_unlock().
+ *
+ * Notes:
+ *
+ * - Read-only locking improves performance by preventing Core Video
+ * from invalidating existing caches of the buffer’s contents.
+ *
+ * - Only the first call actually locks; subsequent calls succeed
+ * as long as their requested flags are compatible with how the buffer
+ * is already locked.
+ *
+ * For example, the following code will succeed:
+ * |[<!-- language="C" -->
+ * gst_memory_map(plane1, GST_MAP_READWRITE);
+ * gst_memory_map(plane2, GST_MAP_READ);
+ * ]|
+ * while the ƒollowing code will fail:
+ * |[<!-- language="C" -->
+ * gst_memory_map(plane1, GST_MAP_READ);
+ * gst_memory_map(plane2, GST_MAP_READWRITE); /<!-- -->* ERROR: already locked for read-only *<!-- -->/
+ * ]|
+ *
+ * Returns: %TRUE if the buffer was locked as requested
+ */
+static gboolean
+gst_apple_core_video_pixel_buffer_lock (GstAppleCoreVideoPixelBuffer * gpixbuf,
+ GstMapFlags flags)
+{
+ CVReturn cvret;
+ CVOptionFlags lockFlags;
+
+ g_mutex_lock (&gpixbuf->mutex);
+
+ switch (gpixbuf->lock_state) {
+ case GST_APPLE_CORE_VIDEO_MEMORY_UNLOCKED:
+ lockFlags = (flags & GST_MAP_WRITE) ? 0 : kCVPixelBufferLock_ReadOnly;
+ cvret = CVPixelBufferLockBaseAddress (gpixbuf->buf, lockFlags);
+ if (cvret != kCVReturnSuccess) {
+ g_mutex_unlock (&gpixbuf->mutex);
+ /* TODO: Map kCVReturnError etc. into strings */
+ GST_ERROR ("%p: unable to lock base address for pixbuf %p: %d", gpixbuf,
+ gpixbuf->buf, cvret);
+ return FALSE;
+ }
+ gpixbuf->lock_state =
+ (flags & GST_MAP_WRITE) ?
+ GST_APPLE_CORE_VIDEO_MEMORY_LOCKED_READ_WRITE :
+ GST_APPLE_CORE_VIDEO_MEMORY_LOCKED_READONLY;
+ break;
+
+ case GST_APPLE_CORE_VIDEO_MEMORY_LOCKED_READONLY:
+ if (flags & GST_MAP_WRITE) {
+ g_mutex_unlock (&gpixbuf->mutex);
+ GST_ERROR ("%p: pixel buffer %p already locked for read-only access",
+ gpixbuf, gpixbuf->buf);
+ return FALSE;
+ }
+ break;
+
+ case GST_APPLE_CORE_VIDEO_MEMORY_LOCKED_READ_WRITE:
+ break; /* nothing to do, already most permissive mapping */
+ }
+
+ g_atomic_int_inc (&gpixbuf->lock_count);
+
+ g_mutex_unlock (&gpixbuf->mutex);
+
+ GST_DEBUG ("%p: pixbuf %p, %s (%d times)",
+ gpixbuf,
+ gpixbuf->buf,
+ _lock_state_names[gpixbuf->lock_state], gpixbuf->lock_count);
+
+ return TRUE;
+}
+
+/**
+ * gst_apple_core_video_pixel_buffer_unlock:
+ * @gpixbuf: the wrapped CVPixelBuffer
+ *
+ * Unlocks the pixel buffer from CPU memory. Should be called
+ * for every gst_apple_core_video_pixel_buffer_lock() call.
+ */
+static gboolean
+gst_apple_core_video_pixel_buffer_unlock (GstAppleCoreVideoPixelBuffer *
+ gpixbuf)
+{
+ CVOptionFlags lockFlags;
+ CVReturn cvret;
+
+ if (gpixbuf->lock_state == GST_APPLE_CORE_VIDEO_MEMORY_UNLOCKED) {
+ GST_ERROR ("%p: pixel buffer %p not locked", gpixbuf, gpixbuf->buf);
+ return FALSE;
+ }
+
+ if (!g_atomic_int_dec_and_test (&gpixbuf->lock_count)) {
+ return TRUE; /* still locked, by current and/or other callers */
+ }
+
+ g_mutex_lock (&gpixbuf->mutex);
+
+ lockFlags =
+ (gpixbuf->lock_state ==
+ GST_APPLE_CORE_VIDEO_MEMORY_LOCKED_READONLY) ? kCVPixelBufferLock_ReadOnly
+ : 0;
+ cvret = CVPixelBufferUnlockBaseAddress (gpixbuf->buf, lockFlags);
+ if (cvret != kCVReturnSuccess) {
+ g_mutex_unlock (&gpixbuf->mutex);
+ g_atomic_int_inc (&gpixbuf->lock_count);
+ /* TODO: Map kCVReturnError etc. into strings */
+ GST_ERROR ("%p: unable to unlock base address for pixbuf %p: %d", gpixbuf,
+ gpixbuf->buf, cvret);
+ return FALSE;
+ }
+
+ gpixbuf->lock_state = GST_APPLE_CORE_VIDEO_MEMORY_UNLOCKED;
+
+ g_mutex_unlock (&gpixbuf->mutex);
+
+ GST_DEBUG ("%p: pixbuf %p, %s (%d locks remaining)",
+ gpixbuf,
+ gpixbuf->buf,
+ _lock_state_names[gpixbuf->lock_state], gpixbuf->lock_count);
+
+ return TRUE;
+}
+
+/*
+ * GstAppleCoreVideoAllocator
+ */
+
+struct _GstAppleCoreVideoAllocatorClass
+{
+ GstAllocatorClass parent_class;
+};
+
+typedef struct _GstAppleCoreVideoAllocatorClass GstAppleCoreVideoAllocatorClass;
+
+struct _GstAppleCoreVideoAllocator
+{
+ GstAllocator parent_instance;
+};
+
+typedef struct _GstAppleCoreVideoAllocator GstAppleCoreVideoAllocator;
+
+/* GType for GstAppleCoreVideoAllocator */
+GType gst_apple_core_video_allocator_get_type (void);
+#define GST_TYPE_APPLE_CORE_VIDEO_ALLOCATOR (gst_apple_core_video_allocator_get_type())
+#define GST_IS_APPLE_CORE_VIDEO_ALLOCATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_APPLE_CORE_VIDEO_ALLOCATOR))
+#define GST_IS_APPLE_CORE_VIDEO_ALLOCATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_APPLE_CORE_VIDEO_ALLOCATOR))
+#define GST_APPLE_CORE_VIDEO_ALLOCATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_APPLE_CORE_VIDEO_ALLOCATOR, GstAppleCoreVideoAllocatorClass))
+#define GST_APPLE_CORE_VIDEO_ALLOCATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_APPLE_CORE_VIDEO_ALLOCATOR, GstAppleCoreVideoAllocator))
+#define GST_APPLE_CORE_VIDEO_ALLOCATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_APPLE_CORE_VIDEO_ALLOCATOR, GstAppleCoreVideoAllocatorClass))
+
+G_DEFINE_TYPE (GstAppleCoreVideoAllocator, gst_apple_core_video_allocator,
+ GST_TYPE_ALLOCATOR);
+
+/* Name for allocator registration */
+#define GST_APPLE_CORE_VIDEO_ALLOCATOR_NAME "AppleCoreVideoMemory"
+
+/* Singleton instance of GstAppleCoreVideoAllocator */
+static GstAppleCoreVideoAllocator *_apple_core_video_allocator;
+
+/**
+ * gst_apple_core_video_memory_init:
+ *
+ * Initializes the Core Video Memory allocator. This function must be called
+ * before #GstAppleCoreVideoMemory can be created.
+ *
+ * It is safe to call this function multiple times.
+ */
+void
+gst_apple_core_video_memory_init (void)
+{
+ static volatile gsize _init = 0;
+
+ if (g_once_init_enter (&_init)) {
+ GST_DEBUG_CATEGORY_INIT (GST_CAT_APPLE_CORE_VIDEO_MEMORY, "corevideomemory",
+ 0, "Apple Core Video Memory");
+
+ _apple_core_video_allocator =
+ g_object_new (GST_TYPE_APPLE_CORE_VIDEO_ALLOCATOR, NULL);
+
+ gst_allocator_register (GST_APPLE_CORE_VIDEO_ALLOCATOR_NAME,
+ gst_object_ref (_apple_core_video_allocator));
+ g_once_init_leave (&_init, 1);
+ }
+}
+
+/**
+ * gst_is_apple_core_video_memory:
+ * @mem: #GstMemory
+ *
+ * Checks whether @mem is backed by a CVPixelBuffer.
+ * This has limited use since #GstAppleCoreVideoMemory is transparently
+ * mapped into CPU memory on request.
+ *
+ * Returns: %TRUE when @mem is backed by a CVPixelBuffer
+ */
+gboolean
+gst_is_apple_core_video_memory (GstMemory * mem)
+{
+ g_return_val_if_fail (mem != NULL, FALSE);
+
+ return GST_IS_APPLE_CORE_VIDEO_ALLOCATOR (mem->allocator);
+}
+
+/**
+ * gst_apple_core_video_memory_new:
+ *
+ * Helper function for gst_apple_core_video_mem_share().
+ * Users should call gst_apple_core_video_memory_new_wrapped() instead.
+ */
+static GstMemory *
+gst_apple_core_video_memory_new (GstMemoryFlags flags, GstMemory * parent,
+ GstAppleCoreVideoPixelBuffer * gpixbuf, gsize plane, gsize maxsize,
+ gsize align, gsize offset, gsize size)
+{
+ GstAppleCoreVideoMemory *mem;
+
+ g_return_val_if_fail (gpixbuf != NULL, NULL);
+
+ mem = g_slice_new0 (GstAppleCoreVideoMemory);
+ gst_memory_init (GST_MEMORY_CAST (mem), flags,
+ GST_ALLOCATOR_CAST (_apple_core_video_allocator), parent, maxsize, align,
+ offset, size);
+
+ mem->gpixbuf = gst_apple_core_video_pixel_buffer_ref (gpixbuf);
+ mem->plane = plane;
+
+ GST_DEBUG ("%p: gpixbuf %p, plane: %" G_GSSIZE_FORMAT ", size %"
+ G_GSIZE_FORMAT, mem, mem->gpixbuf, mem->plane, mem->mem.size);
+
+ return (GstMemory *) mem;
+}
+
+/**
+ * gst_apple_core_video_memory_new_wrapped:
+ * @gpixbuf: the backing #GstAppleCoreVideoPixelBuffer
+ * @plane: the plane this memory will represent, or #GST_APPLE_CORE_VIDEO_NO_PLANE for non-planar buffer
+ * @size: the size of the buffer or specific plane
+ *
+ * Returns: a newly allocated #GstAppleCoreVideoMemory
+ */
+GstMemory *
+gst_apple_core_video_memory_new_wrapped (GstAppleCoreVideoPixelBuffer * gpixbuf,
+ gsize plane, gsize size)
+{
+ return gst_apple_core_video_memory_new (0, NULL, gpixbuf, plane, size, 0, 0,
+ size);
+}
+
+static gpointer
+gst_apple_core_video_mem_map (GstMemory * gmem, gsize maxsize,
+ GstMapFlags flags)
+{
+ GstAppleCoreVideoMemory *mem = (GstAppleCoreVideoMemory *) gmem;
+ gpointer ret;
+
+ if (!gst_apple_core_video_pixel_buffer_lock (mem->gpixbuf, flags))
+ return NULL;
+
+ if (mem->plane != GST_APPLE_CORE_VIDEO_NO_PLANE) {
+ ret = CVPixelBufferGetBaseAddressOfPlane (mem->gpixbuf->buf, mem->plane);
+
+ if (ret != NULL)
+ GST_DEBUG ("%p: pixbuf %p plane %" G_GSIZE_FORMAT
+ " flags %08x: mapped %p", mem, mem->gpixbuf->buf, mem->plane, flags,
+ ret);
+ else
+ GST_ERROR ("%p: invalid plane base address (NULL) for pixbuf %p plane %"
+ G_GSIZE_FORMAT, mem, mem->gpixbuf->buf, mem->plane);
+ } else {
+ ret = CVPixelBufferGetBaseAddress (mem->gpixbuf->buf);
+
+ if (ret != NULL)
+ GST_DEBUG ("%p: pixbuf %p flags %08x: mapped %p", mem, mem->gpixbuf->buf,
+ flags, ret);
+ else
+ GST_ERROR ("%p: invalid base address (NULL) for pixbuf %p"
+ G_GSIZE_FORMAT, mem, mem->gpixbuf->buf);
+ }
+
+ return ret;
+}
+
+static void
+gst_apple_core_video_mem_unmap (GstMemory * gmem)
+{
+ GstAppleCoreVideoMemory *mem = (GstAppleCoreVideoMemory *) gmem;
+ (void) gst_apple_core_video_pixel_buffer_unlock (mem->gpixbuf);
+ if (mem->plane != GST_APPLE_CORE_VIDEO_NO_PLANE)
+ GST_DEBUG ("%p: pixbuf %p plane %" G_GSIZE_FORMAT, mem,
+ mem->gpixbuf->buf, mem->plane);
+ else
+ GST_DEBUG ("%p: pixbuf %p", mem, mem->gpixbuf->buf);
+}
+
+static GstMemory *
+gst_apple_core_video_mem_share (GstMemory * gmem, gssize offset, gssize size)
+{
+ GstAppleCoreVideoMemory *mem;
+ GstMemory *parent, *sub;
+
+ mem = (GstAppleCoreVideoMemory *) gmem;
+
+ /* find the real parent */
+ parent = gmem->parent;
+ if (parent == NULL)
+ parent = gmem;
+
+ if (size == -1)
+ size = gmem->size - offset;
+
+ /* the shared memory is always readonly */
+ sub =
+ gst_apple_core_video_memory_new (GST_MINI_OBJECT_FLAGS (parent) |
+ GST_MINI_OBJECT_FLAG_LOCK_READONLY, parent, mem->gpixbuf, mem->plane,
+ gmem->maxsize, gmem->align, gmem->offset + offset, size);
+
+ return sub;
+}
+
+static gboolean
+gst_apple_core_video_mem_is_span (GstMemory * mem1, GstMemory * mem2,
+ gsize * offset)
+{
+ /* We may only return FALSE since:
+ * 1) Core Video gives no guarantees about planes being consecutive.
+ * We may only know this after mapping.
+ * 2) GstAppleCoreVideoMemory instances for planes do not share a common
+ * parent -- i.e. they're not offsets into the same parent
+ * memory instance.
+ *
+ * It's not unlikely that planes will be stored in consecutive memory
+ * but it should be checked by the user after mapping.
+ */
+ return FALSE;
+}
+
+static void
+gst_apple_core_video_mem_free (GstAllocator * allocator, GstMemory * gmem)
+{
+ GstAppleCoreVideoMemory *mem = (GstAppleCoreVideoMemory *) gmem;
+
+ gst_apple_core_video_pixel_buffer_unref (mem->gpixbuf);
+
+ g_slice_free (GstAppleCoreVideoMemory, mem);
+}
+
+static void
+gst_apple_core_video_allocator_class_init (GstAppleCoreVideoAllocatorClass *
+ klass)
+{
+ GstAllocatorClass *allocator_class;
+
+ allocator_class = (GstAllocatorClass *) klass;
+
+ /* we don't do allocations, only wrap existing pixel buffers */
+ allocator_class->alloc = NULL;
+ allocator_class->free = gst_apple_core_video_mem_free;
+}
+
+static void
+gst_apple_core_video_allocator_init (GstAppleCoreVideoAllocator * allocator)
+{
+ GstAllocator *alloc = GST_ALLOCATOR_CAST (allocator);
+
+ alloc->mem_type = GST_APPLE_CORE_VIDEO_ALLOCATOR_NAME;
+ alloc->mem_map = gst_apple_core_video_mem_map;
+ alloc->mem_unmap = gst_apple_core_video_mem_unmap;
+ alloc->mem_share = gst_apple_core_video_mem_share;
+ alloc->mem_is_span = gst_apple_core_video_mem_is_span;
+
+ GST_OBJECT_FLAG_SET (allocator, GST_ALLOCATOR_FLAG_CUSTOM_ALLOC);
+}
diff --git a/sys/applemedia/glcontexthelper.c b/sys/applemedia/glcontexthelper.c
new file mode 100644
index 0000000..4e6f617
--- /dev/null
+++ b/sys/applemedia/glcontexthelper.c
@@ -0,0 +1,132 @@
+/* GStreamer
+ * Copyright (C) 2016 Alessandro Decina <alessandro.d@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include "glcontexthelper.h"
+
+static GstGLContext *
+_find_local_gl_context (GstGLContextHelper * ctxh)
+{
+ GstQuery *query;
+ GstContext *context;
+ GstGLContext *gl_context = NULL;
+ const GstStructure *s;
+
+ g_return_val_if_fail (ctxh != NULL, FALSE);
+
+ query = gst_query_new_context ("gst.gl.local_context");
+ if (gst_gl_run_query (ctxh->element, query, GST_PAD_SRC)) {
+ gst_query_parse_context (query, &context);
+ if (context) {
+ s = gst_context_get_structure (context);
+ gst_structure_get (s, "context", GST_GL_TYPE_CONTEXT, &gl_context, NULL);
+ }
+ }
+ if (!gl_context && gst_gl_run_query (ctxh->element, query, GST_PAD_SINK)) {
+ gst_query_parse_context (query, &context);
+ if (context) {
+ s = gst_context_get_structure (context);
+ gst_structure_get (s, "context", GST_GL_TYPE_CONTEXT, &gl_context, NULL);
+ }
+ }
+
+ GST_DEBUG_OBJECT (ctxh->element, "found local context %p", gl_context);
+
+ gst_query_unref (query);
+
+ return gl_context;
+}
+
+GstGLContextHelper *
+gst_gl_context_helper_new (GstElement * element)
+{
+ GstGLContextHelper *ctxh = g_new0 (GstGLContextHelper, 1);
+ ctxh->element = gst_object_ref (element);
+
+ return ctxh;
+}
+
+void
+gst_gl_context_helper_free (GstGLContextHelper * ctxh)
+{
+ g_return_if_fail (ctxh != NULL);
+
+ gst_object_unref (ctxh->element);
+
+ if (ctxh->display)
+ gst_object_unref (ctxh->display);
+
+ if (ctxh->context)
+ gst_object_unref (ctxh->context);
+
+ if (ctxh->other_context)
+ gst_object_unref (ctxh->other_context);
+
+ g_free (ctxh);
+}
+
+void
+gst_gl_context_helper_ensure_context (GstGLContextHelper * ctxh)
+{
+ GError *error = NULL;
+ GstGLContext *context;
+
+ g_return_if_fail (ctxh != NULL);
+
+ if (!ctxh->display)
+ gst_gl_ensure_element_data (ctxh->element, &ctxh->display,
+ &ctxh->other_context);
+
+ context = _find_local_gl_context (ctxh);
+ if (context) {
+ GST_INFO_OBJECT (ctxh->element, "found local context %p, old context %p",
+ context, ctxh->context);
+ if (ctxh->context)
+ gst_object_unref (ctxh->context);
+ ctxh->context = context;
+ }
+
+ if (!ctxh->context) {
+ GST_OBJECT_LOCK (ctxh->display);
+ do {
+ if (ctxh->context)
+ gst_object_unref (ctxh->context);
+ ctxh->context =
+ gst_gl_display_get_gl_context_for_thread (ctxh->display, NULL);
+ if (!ctxh->context) {
+ if (!gst_gl_display_create_context (ctxh->display,
+ ctxh->other_context, &ctxh->context, &error)) {
+ GST_OBJECT_UNLOCK (ctxh->display);
+ goto context_error;
+ }
+ }
+ } while (!gst_gl_display_add_context (ctxh->display, ctxh->context));
+ GST_OBJECT_UNLOCK (ctxh->display);
+ }
+
+ return;
+
+context_error:
+ {
+ GST_ELEMENT_ERROR (ctxh->element, RESOURCE, NOT_FOUND, ("%s",
+ error->message), (NULL));
+ g_clear_error (&error);
+
+ return;
+ }
+}
diff --git a/sys/applemedia/glcontexthelper.h b/sys/applemedia/glcontexthelper.h
new file mode 100644
index 0000000..4e043f1
--- /dev/null
+++ b/sys/applemedia/glcontexthelper.h
@@ -0,0 +1,39 @@
+/* GStreamer
+ * Copyright (C) 2016 Alessandro Decina <alessandro.d@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _GST_GL_CONTEXT_HELPER_H_
+#define _GST_GL_CONTEXT_HELPER_H_
+
+#include <gst/gst.h>
+#include <gst/gl/gl.h>
+
+typedef struct _GstGLContextHelper
+{
+ GstElement *element;
+ GstGLDisplay *display;
+ GstGLContext *context;
+ GstGLContext *other_context;
+} GstGLContextHelper;
+
+GstGLContextHelper * gst_gl_context_helper_new (GstElement *element);
+void gst_gl_context_helper_free (GstGLContextHelper *ctxh);
+void gst_gl_context_helper_ensure_context (GstGLContextHelper *ctxh);
+
+#endif
+
diff --git a/sys/applemedia/iosurfacememory.c b/sys/applemedia/iosurfacememory.c
index 04acc51..694202c 100644
--- a/sys/applemedia/iosurfacememory.c
+++ b/sys/applemedia/iosurfacememory.c
@@ -168,12 +168,11 @@
g_return_val_if_fail (target == GST_GL_TEXTURE_TARGET_RECTANGLE, NULL);
- mem = g_slice_new0 (GstIOSurfaceMemory);
+ mem = g_new0 (GstIOSurfaceMemory, 1);
gst_gl_memory_init (&mem->gl_mem, _io_surface_memory_allocator, NULL, context,
target, NULL, info, plane, valign, user_data, notify);
GST_MINI_OBJECT_FLAG_SET (mem, GST_MEMORY_FLAG_READONLY);
- GST_MINI_OBJECT_FLAG_SET (mem, GST_MEMORY_FLAG_NO_SHARE);
mem->surface = NULL;
_io_surface_memory_set_surface (mem, surface);
diff --git a/sys/applemedia/plugin.m b/sys/applemedia/plugin.m
index c17c38b..0ff4ec1 100644
--- a/sys/applemedia/plugin.m
+++ b/sys/applemedia/plugin.m
@@ -22,6 +22,7 @@
#endif
#include <Foundation/Foundation.h>
+#include "corevideomemory.h"
#ifdef HAVE_IOS
#include "iosassetsrc.h"
#else
@@ -63,6 +64,8 @@
{
gboolean res = TRUE;
+ gst_apple_core_video_memory_init ();
+
#ifdef HAVE_IOS
res &= gst_element_register (plugin, "iosassetsrc", GST_RANK_SECONDARY,
GST_TYPE_IOS_ASSET_SRC);
diff --git a/sys/applemedia/qtkitvideosrc.m b/sys/applemedia/qtkitvideosrc.m
index 2c15bb5..e6b427f 100644
--- a/sys/applemedia/qtkitvideosrc.m
+++ b/sys/applemedia/qtkitvideosrc.m
@@ -434,7 +434,7 @@
[queueLock unlockWithCondition:
([queue count] == 0) ? NO_FRAMES : HAS_FRAME_OR_STOP_REQUEST];
- *buf = gst_core_video_buffer_new ((CVBufferRef)frame, NULL, TRUE);
+ *buf = gst_core_video_buffer_new ((CVBufferRef)frame, NULL);
CVBufferRelease (frame);
[self timestampBuffer:*buf];
diff --git a/sys/applemedia/videotexturecache.m b/sys/applemedia/videotexturecache.m
index 091339f..e1bdb64 100644
--- a/sys/applemedia/videotexturecache.m
+++ b/sys/applemedia/videotexturecache.m
@@ -53,8 +53,6 @@
CFMutableDictionaryRef cache_attrs =
CFDictionaryCreateMutable (NULL, 0, &kCFTypeDictionaryKeyCallBacks,
&kCFTypeDictionaryValueCallBacks);
- gst_vtutil_dict_set_i32 (cache_attrs,
- kCVOpenGLESTextureCacheMaximumTextureAgeKey, 0);
CVOpenGLESTextureCacheCreate (kCFAllocatorDefault, (CFDictionaryRef) cache_attrs,
(CVEAGLContext) gst_gl_context_get_gl_context (ctx), NULL, &cache->cache);
#else
@@ -145,22 +143,20 @@
}
#if HAVE_IOS
-static gboolean
-gl_mem_from_buffer (GstVideoTextureCache * cache,
- GstBuffer * buffer, GstMemory **mem1, GstMemory **mem2)
+static void
+_do_get_gl_buffer (GstGLContext * context, ContextThreadData * data)
{
CVOpenGLESTextureRef texture = NULL;
- CVPixelBufferRef pixel_buf = cv_pixel_buffer_from_gst_buffer (buffer);
+ GstVideoTextureCache *cache = data->cache;
+ CVPixelBufferRef pixel_buf = cv_pixel_buffer_from_gst_buffer (data->input_buffer);
GstGLTextureTarget gl_target;
GstGLBaseMemoryAllocator *base_mem_alloc;
GstGLVideoAllocationParams *params;
+ GstBuffer *output_buffer;
base_mem_alloc = GST_GL_BASE_MEMORY_ALLOCATOR (gst_gl_memory_allocator_get_default (cache->ctx));
-
- *mem1 = NULL;
- *mem2 = NULL;
-
- CVOpenGLESTextureCacheFlush (cache->cache, 0);
+ output_buffer = gst_buffer_new ();
+ gst_buffer_copy_into (output_buffer, data->input_buffer, GST_BUFFER_COPY_ALL, 0, -1);
switch (GST_VIDEO_INFO_FORMAT (&cache->input_info)) {
case GST_VIDEO_FORMAT_BGRA:
@@ -178,8 +174,9 @@
CVOpenGLESTextureGetName (texture), texture,
(GDestroyNotify) CFRelease);
- *mem1 = (GstMemory *) gst_gl_base_memory_alloc (base_mem_alloc,
- (GstGLAllocationParams *) params);
+ gst_buffer_replace_memory (output_buffer, 0,
+ (GstMemory *) gst_gl_base_memory_alloc (base_mem_alloc,
+ (GstGLAllocationParams *) params));
gst_gl_allocation_params_free ((GstGLAllocationParams *) params);
break;
case GST_VIDEO_FORMAT_NV12: {
@@ -204,8 +201,9 @@
CVOpenGLESTextureGetName (texture), texture,
(GDestroyNotify) CFRelease);
- *mem1 = (GstMemory *) gst_gl_base_memory_alloc (base_mem_alloc,
- (GstGLAllocationParams *) params);
+ gst_buffer_replace_memory (output_buffer, 0,
+ (GstMemory *) gst_gl_base_memory_alloc (base_mem_alloc,
+ (GstGLAllocationParams *) params));
gst_gl_allocation_params_free ((GstGLAllocationParams *) params);
textype = gst_gl_texture_type_from_format (cache->ctx, GST_VIDEO_FORMAT_NV12, 1);
@@ -225,8 +223,9 @@
CVOpenGLESTextureGetName (texture), texture,
(GDestroyNotify) CFRelease);
- *mem2 = (GstMemory *) gst_gl_base_memory_alloc (base_mem_alloc,
- (GstGLAllocationParams *) params);
+ gst_buffer_replace_memory (output_buffer, 1,
+ (GstMemory *) gst_gl_base_memory_alloc (base_mem_alloc,
+ (GstGLAllocationParams *) params));
gst_gl_allocation_params_free ((GstGLAllocationParams *) params);
break;
}
@@ -237,21 +236,23 @@
gst_object_unref (base_mem_alloc);
- return TRUE;
+ data->output_buffer = output_buffer;
+
+ return;
error:
- return FALSE;
+ data->output_buffer = NULL;
}
#else /* !HAVE_IOS */
-
-static gboolean
-gl_mem_from_buffer (GstVideoTextureCache * cache,
- GstBuffer * buffer, GstMemory **mem1, GstMemory **mem2)
+static void
+_do_get_gl_buffer (GstGLContext * context, ContextThreadData * data)
{
- CVPixelBufferRef pixel_buf = cv_pixel_buffer_from_gst_buffer (buffer);
- IOSurfaceRef surface = CVPixelBufferGetIOSurface(pixel_buf);
+ GstVideoTextureCache *cache = data->cache;
+ CVPixelBufferRef pixel_buf = cv_pixel_buffer_from_gst_buffer (data->input_buffer);
+ IOSurfaceRef surface = CVPixelBufferGetIOSurface (pixel_buf);
- *mem1 = *mem2 = NULL;
+ data->output_buffer = gst_buffer_new ();
+ gst_buffer_copy_into (data->output_buffer, data->input_buffer, GST_BUFFER_COPY_ALL, 0, -1);
for (int i = 0; i < GST_VIDEO_INFO_N_PLANES (&cache->input_info); i++) {
GstIOSurfaceMemory *mem;
@@ -260,41 +261,21 @@
surface, GST_GL_TEXTURE_TARGET_RECTANGLE, &cache->input_info,
i, NULL, pixel_buf, (GDestroyNotify) CFRelease);
- if (i == 0)
- *mem1 = (GstMemory *) mem;
- else
- *mem2 = (GstMemory *) mem;
+ gst_buffer_replace_memory (data->output_buffer, i, (GstMemory *) mem);
}
-
- return TRUE;
}
#endif
-static void
-_do_get_gl_buffer (GstGLContext * context, ContextThreadData * data)
-{
- GstMemory *mem1 = NULL, *mem2 = NULL;
- GstVideoTextureCache *cache = data->cache;
- GstBuffer *buffer = data->input_buffer;
-
- if (!gl_mem_from_buffer (cache, buffer, &mem1, &mem2)) {
- gst_buffer_unref (buffer);
- return;
- }
-
- gst_buffer_append_memory (buffer, mem1);
- if (mem2)
- gst_buffer_append_memory (buffer, mem2);
-
- data->output_buffer = buffer;
-}
-
GstBuffer *
gst_video_texture_cache_get_gl_buffer (GstVideoTextureCache * cache,
GstBuffer * cv_buffer)
{
ContextThreadData data = {cache, cv_buffer, NULL};
+
gst_gl_context_thread_add (cache->ctx,
(GstGLContextThreadFunc) _do_get_gl_buffer, &data);
+
+ gst_buffer_unref (cv_buffer);
+
return data.output_buffer;
}
diff --git a/sys/applemedia/vtdec.c b/sys/applemedia/vtdec.c
index 639ba56..86df2ab 100644
--- a/sys/applemedia/vtdec.c
+++ b/sys/applemedia/vtdec.c
@@ -1,6 +1,6 @@
/* GStreamer
* Copyright (C) 2010, 2013 Ole André Vadla Ravnås <oleavr@soundrop.com>
- * Copyright (C) 2012, 2013 Alessandro Decina <alessandro.d@gmail.com>
+ * Copyright (C) 2012-2016 Alessandro Decina <alessandro.d@gmail.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -88,6 +88,7 @@
static gboolean gst_vtdec_compute_reorder_queue_length (GstVtdec * vtdec,
CMVideoCodecType cm_format, GstBuffer * codec_data);
static void gst_vtdec_set_latency (GstVtdec * vtdec);
+static void gst_vtdec_set_context (GstElement * element, GstContext * context);
static GstStaticPadTemplate gst_vtdec_sink_template =
GST_STATIC_PAD_TEMPLATE ("sink",
@@ -120,17 +121,18 @@
gst_vtdec_class_init (GstVtdecClass * klass)
{
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
GstVideoDecoderClass *video_decoder_class = GST_VIDEO_DECODER_CLASS (klass);
/* Setting up pads and setting metadata should be moved to
base_class_init if you intend to subclass this class. */
- gst_element_class_add_pad_template (GST_ELEMENT_CLASS (klass),
+ gst_element_class_add_pad_template (element_class,
gst_static_pad_template_get (&gst_vtdec_sink_template));
- gst_element_class_add_pad_template (GST_ELEMENT_CLASS (klass),
+ gst_element_class_add_pad_template (element_class,
gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS,
gst_caps_from_string (VIDEO_SRC_CAPS)));
- gst_element_class_set_static_metadata (GST_ELEMENT_CLASS (klass),
+ gst_element_class_set_static_metadata (element_class,
"Apple VideoToolbox decoder",
"Codec/Decoder/Video",
"Apple VideoToolbox Decoder",
@@ -138,6 +140,7 @@
"Alessandro Decina <alessandro.d@gmail.com>");
gobject_class->finalize = gst_vtdec_finalize;
+ element_class->set_context = gst_vtdec_set_context;
video_decoder_class->start = GST_DEBUG_FUNCPTR (gst_vtdec_start);
video_decoder_class->stop = GST_DEBUG_FUNCPTR (gst_vtdec_stop);
video_decoder_class->negotiate = GST_DEBUG_FUNCPTR (gst_vtdec_negotiate);
@@ -152,6 +155,7 @@
gst_vtdec_init (GstVtdec * vtdec)
{
vtdec->reorder_queue = g_async_queue_new ();
+ vtdec->ctxh = gst_gl_context_helper_new (GST_ELEMENT (vtdec));
}
void
@@ -162,7 +166,7 @@
GST_DEBUG_OBJECT (vtdec, "finalize");
g_async_queue_unref (vtdec->reorder_queue);
-
+ gst_gl_context_helper_free (vtdec->ctxh);
G_OBJECT_CLASS (gst_vtdec_parent_class)->finalize (object);
}
@@ -198,26 +202,6 @@
return TRUE;
}
-static GstGLContext *
-query_gl_context (GstVtdec * vtdec)
-{
- GstGLContext *gl_context = NULL;
- GstContext *context = NULL;
- GstQuery *query;
-
- query = gst_query_new_context ("gst.gl.local_context");
- if (gst_pad_peer_query (GST_VIDEO_DECODER_SRC_PAD (vtdec), query)) {
- gst_query_parse_context (query, &context);
- if (context) {
- const GstStructure *s = gst_context_get_structure (context);
- gst_structure_get (s, "context", GST_GL_TYPE_CONTEXT, &gl_context, NULL);
- }
- }
- gst_query_unref (query);
-
- return gl_context;
-}
-
static void
setup_texture_cache (GstVtdec * vtdec, GstGLContext * context)
{
@@ -225,8 +209,6 @@
g_return_if_fail (vtdec->texture_cache == NULL);
- GST_INFO_OBJECT (vtdec, "Setting up texture cache. GL context %p", context);
-
output_state = gst_video_decoder_get_output_state (GST_VIDEO_DECODER (vtdec));
vtdec->texture_cache = gst_video_texture_cache_new (context);
gst_video_texture_cache_set_format (vtdec->texture_cache,
@@ -235,14 +217,6 @@
}
static gboolean
-caps_filter_out_gl_memory (GstCapsFeatures * features, GstStructure * structure,
- gpointer user_data)
-{
- return !gst_caps_features_contains (features,
- GST_CAPS_FEATURE_MEMORY_GL_MEMORY);
-}
-
-static gboolean
gst_vtdec_negotiate (GstVideoDecoder * decoder)
{
GstVideoCodecState *output_state = NULL;
@@ -250,7 +224,6 @@
GstVideoFormat format;
GstStructure *structure;
const gchar *s;
- GstGLContext *context;
GstVtdec *vtdec;
gboolean ret = TRUE;
GstCapsFeatures *features = NULL;
@@ -263,9 +236,6 @@
gst_caps_make_writable (gst_pad_peer_query_caps (GST_VIDEO_DECODER_SRC_PAD
(vtdec), templcaps));
gst_caps_unref (templcaps);
- context = query_gl_context (vtdec);
- if (!context)
- gst_caps_filter_and_map_in_place (caps, caps_filter_out_gl_memory, NULL);
caps = gst_caps_truncate (caps);
structure = gst_caps_get_structure (caps, 0);
@@ -306,21 +276,29 @@
}
ret = gst_vtdec_create_session (vtdec, format);
- if (ret) {
- if (vtdec->texture_cache) {
- gst_video_texture_cache_free (vtdec->texture_cache);
- vtdec->texture_cache = NULL;
- }
+ }
- if (output_textures)
- setup_texture_cache (vtdec, context);
+ if (ret && output_textures) {
+ /* call this regardless of whether caps have changed or not since a new
+ * local context could have become available
+ */
+ gst_gl_context_helper_ensure_context (vtdec->ctxh);
+
+ GST_INFO_OBJECT (vtdec, "pushing textures, context %p old context %p",
+ vtdec->ctxh->context,
+ vtdec->texture_cache ? vtdec->texture_cache->ctx : NULL);
+
+ if (vtdec->texture_cache
+ && vtdec->texture_cache->ctx != vtdec->ctxh->context) {
+ gst_video_texture_cache_free (vtdec->texture_cache);
+ vtdec->texture_cache = NULL;
}
+ if (!vtdec->texture_cache)
+ setup_texture_cache (vtdec, vtdec->ctxh->context);
}
if (prevcaps)
gst_caps_unref (prevcaps);
- if (context)
- gst_object_unref (context);
if (!ret)
return ret;
@@ -767,9 +745,7 @@
GST_WARNING_OBJECT (vtdec, "Output state not configured, release buffer");
frame->flags &= VTDEC_FRAME_FLAG_SKIP;
} else {
- buf =
- gst_core_video_buffer_new (image_buffer, &state->info,
- vtdec->texture_cache == NULL);
+ buf = gst_core_video_buffer_new (image_buffer, &state->info);
gst_video_codec_state_unref (state);
GST_BUFFER_PTS (buf) = pts.value;
GST_BUFFER_DURATION (buf) = duration.value;
@@ -1002,6 +978,18 @@
gst_video_decoder_set_latency (GST_VIDEO_DECODER (vtdec), latency, latency);
}
+static void
+gst_vtdec_set_context (GstElement * element, GstContext * context)
+{
+ GstVtdec *vtdec = GST_VTDEC (element);
+
+ GST_INFO_OBJECT (element, "setting context %s",
+ gst_context_get_context_type (context));
+ gst_gl_handle_set_context (element, context,
+ &vtdec->ctxh->display, &vtdec->ctxh->other_context);
+ GST_ELEMENT_CLASS (gst_vtdec_parent_class)->set_context (element, context);
+}
+
#ifndef HAVE_IOS
#define GST_TYPE_VTDEC_HW (gst_vtdec_hw_get_type())
#define GST_VTDEC_HW(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_VTDEC_HW,GstVtdecHw))
diff --git a/sys/applemedia/vtdec.h b/sys/applemedia/vtdec.h
index 7d194f4..46354d8 100644
--- a/sys/applemedia/vtdec.h
+++ b/sys/applemedia/vtdec.h
@@ -26,6 +26,7 @@
#include <CoreMedia/CoreMedia.h>
#include <VideoToolbox/VideoToolbox.h>
#include "videotexturecache.h"
+#include "glcontexthelper.h"
G_BEGIN_DECLS
@@ -48,6 +49,7 @@
GAsyncQueue *reorder_queue;
gint reorder_queue_length;
GstVideoTextureCache *texture_cache;
+ GstGLContextHelper *ctxh;
gboolean require_hardware;
};
diff --git a/sys/applemedia/vtenc.c b/sys/applemedia/vtenc.c
index f0af751..de60272 100644
--- a/sys/applemedia/vtenc.c
+++ b/sys/applemedia/vtenc.c
@@ -136,8 +136,13 @@
const void *planeAddresses[]);
#endif
+#ifdef HAVE_IOS
static GstStaticCaps sink_caps =
GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("{ NV12, I420 }"));
+#else
+static GstStaticCaps sink_caps =
+GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("{ UYVY, NV12, I420 }"));
+#endif
static void
gst_vtenc_base_init (GstVTEncClass * klass)
@@ -1107,8 +1112,7 @@
goto cv_error;
}
- outbuf =
- gst_core_video_buffer_new ((CVBufferRef) pbuf, &self->video_info, TRUE);
+ outbuf = gst_core_video_buffer_new ((CVBufferRef) pbuf, &self->video_info);
if (!gst_video_frame_map (&outframe, &self->video_info, outbuf,
GST_MAP_WRITE)) {
gst_video_frame_unmap (&inframe);
@@ -1164,6 +1168,9 @@
case GST_VIDEO_FORMAT_NV12:
pixel_format_type = kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange;
break;
+ case GST_VIDEO_FORMAT_UYVY:
+ pixel_format_type = kCVPixelFormatType_422YpCbCr8;
+ break;
default:
gst_vtenc_frame_free (vframe);
goto cv_error;
@@ -1287,7 +1294,7 @@
/* We are dealing with block buffers here, so we don't need
* to enable the use of the video meta API on the core media buffer */
- frame->output_buffer = gst_core_media_buffer_new (sampleBuffer, FALSE, TRUE);
+ frame->output_buffer = gst_core_media_buffer_new (sampleBuffer, FALSE);
beach:
/* needed anyway so the frame will be released */
diff --git a/sys/avc/Makefile.in b/sys/avc/Makefile.in
index 7f08043..0cde012 100644
--- a/sys/avc/Makefile.in
+++ b/sys/avc/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/sys/bluez/Makefile.in b/sys/bluez/Makefile.in
index 78bd35b..6217af3 100644
--- a/sys/bluez/Makefile.in
+++ b/sys/bluez/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -329,7 +328,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -351,7 +349,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -373,9 +370,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -537,6 +531,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -550,8 +545,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -638,8 +631,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -691,6 +682,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -711,6 +703,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -748,7 +742,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/sys/d3dvideosink/Makefile.in b/sys/d3dvideosink/Makefile.in
index de13582..56fe397 100644
--- a/sys/d3dvideosink/Makefile.in
+++ b/sys/d3dvideosink/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -325,7 +324,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +345,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +366,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +527,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +541,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +627,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +678,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +699,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +738,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/sys/decklink/Makefile.in b/sys/decklink/Makefile.in
index 8d6c297..9d355fd 100644
--- a/sys/decklink/Makefile.in
+++ b/sys/decklink/Makefile.in
@@ -125,16 +125,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -345,7 +344,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -367,7 +365,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -389,9 +386,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -553,6 +547,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -566,8 +561,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -654,8 +647,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -707,6 +698,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -727,6 +719,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -764,7 +758,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/sys/decklink/gstdecklink.cpp b/sys/decklink/gstdecklink.cpp
index c0d1128..64637f1 100644
--- a/sys/decklink/gstdecklink.cpp
+++ b/sys/decklink/gstdecklink.cpp
@@ -316,28 +316,53 @@
}
static GstStructure *
-gst_decklink_mode_get_structure (GstDecklinkModeEnum e)
+gst_decklink_mode_get_structure (GstDecklinkModeEnum e, BMDPixelFormat f)
{
const GstDecklinkMode *mode = &modes[e];
-
- return gst_structure_new ("video/x-raw",
- "format", G_TYPE_STRING, "UYVY",
+ GstStructure *s = gst_structure_new ("video/x-raw",
"width", G_TYPE_INT, mode->width,
"height", G_TYPE_INT, mode->height,
- "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d,
- "interlace-mode", G_TYPE_STRING,
- mode->interlaced ? "interleaved" : "progressive", "pixel-aspect-ratio",
- GST_TYPE_FRACTION, mode->par_n, mode->par_d, "colorimetry", G_TYPE_STRING,
- mode->colorimetry, "chroma-site", G_TYPE_STRING, "mpeg2", NULL);
+ "pixel-aspect-ratio", GST_TYPE_FRACTION, mode->par_n, mode->par_d,
+ "interlace-mode", G_TYPE_STRING, mode->interlaced ? "interleaved" : "progressive",
+ "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, NULL);
+
+ switch (f) {
+ case bmdFormat8BitYUV: /* '2vuy' */
+ gst_structure_set (s, "format", G_TYPE_STRING, "UYVY",
+ "colorimetry", G_TYPE_STRING, mode->colorimetry,
+ "chroma-site", G_TYPE_STRING, "mpeg2", NULL);
+ break;
+ case bmdFormat10BitYUV: /* 'v210' */
+ gst_structure_set (s, "format", G_TYPE_STRING, "v210", NULL);
+ break;
+ case bmdFormat8BitARGB: /* 'ARGB' */
+ gst_structure_set (s, "format", G_TYPE_STRING, "ARGB", NULL);
+ break;
+ case bmdFormat8BitBGRA: /* 'BGRA' */
+ gst_structure_set (s, "format", G_TYPE_STRING, "BGRA", NULL);
+ break;
+ case bmdFormat10BitRGB: /* 'r210' Big-endian RGB 10-bit per component with SMPTE video levels (64-960). Packed as 2:10:10:10 */
+ case bmdFormat12BitRGB: /* 'R12B' Big-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component */
+ case bmdFormat12BitRGBLE: /* 'R12L' Little-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component */
+ case bmdFormat10BitRGBXLE: /* 'R10l' Little-endian 10-bit RGB with SMPTE video levels (64-940) */
+ case bmdFormat10BitRGBX: /* 'R10b' Big-endian 10-bit RGB with SMPTE video levels (64-940) */
+ default:
+ GST_WARNING ("format not supported %d", f);
+ gst_structure_free (s);
+ s = NULL;
+ break;
+ }
+
+ return s;
}
GstCaps *
-gst_decklink_mode_get_caps (GstDecklinkModeEnum e)
+gst_decklink_mode_get_caps (GstDecklinkModeEnum e, BMDPixelFormat f)
{
GstCaps *caps;
caps = gst_caps_new_empty ();
- gst_caps_append_structure (caps, gst_decklink_mode_get_structure (e));
+ gst_caps_append_structure (caps, gst_decklink_mode_get_structure (e, f));
return caps;
}
@@ -351,7 +376,9 @@
caps = gst_caps_new_empty ();
for (i = 1; i < (int) G_N_ELEMENTS (modes); i++) {
- s = gst_decklink_mode_get_structure ((GstDecklinkModeEnum) i);
+ s = gst_decklink_mode_get_structure ((GstDecklinkModeEnum) i, bmdFormat8BitYUV);
+ gst_caps_append_structure (caps, s);
+ s = gst_decklink_mode_get_structure ((GstDecklinkModeEnum) i, bmdFormat8BitARGB);
gst_caps_append_structure (caps, s);
}
@@ -365,7 +392,7 @@
GstCaps *mode_caps;
for (i = 1; i < (int) G_N_ELEMENTS (modes); i++) {
- mode_caps = gst_decklink_mode_get_caps ((GstDecklinkModeEnum) i);
+ mode_caps = gst_decklink_mode_get_caps ((GstDecklinkModeEnum) i, bmdFormat8BitYUV);
if (gst_caps_can_intersect (caps, mode_caps)) {
gst_caps_unref (mode_caps);
return gst_decklink_get_mode ((GstDecklinkModeEnum) i);
@@ -470,19 +497,25 @@
virtual HRESULT STDMETHODCALLTYPE
VideoInputFormatChanged (BMDVideoInputFormatChangedEvents,
- IDeckLinkDisplayMode * mode, BMDDetectedVideoInputFormatFlags)
+ IDeckLinkDisplayMode * mode, BMDDetectedVideoInputFormatFlags formatFlags)
{
+ BMDPixelFormat pixelFormat = bmdFormat8BitYUV;
+
GST_INFO ("Video input format changed");
+ if (formatFlags & bmdDetectedVideoInputRGB444)
+ pixelFormat = bmdFormat8BitARGB;
+
g_mutex_lock (&m_input->lock);
m_input->input->PauseStreams ();
m_input->input->EnableVideoInput (mode->GetDisplayMode (),
- bmdFormat8BitYUV, bmdVideoInputEnableFormatDetection);
+ pixelFormat, bmdVideoInputEnableFormatDetection);
m_input->input->FlushStreams ();
m_input->input->StartStreams ();
m_input->mode =
gst_decklink_get_mode (gst_decklink_get_mode_enum_from_bmd
(mode->GetDisplayMode ()));
+ m_input->format = pixelFormat;
g_mutex_unlock (&m_input->lock);
return S_OK;
diff --git a/sys/decklink/gstdecklink.h b/sys/decklink/gstdecklink.h
index 493b48e..6c32fee 100644
--- a/sys/decklink/gstdecklink.h
+++ b/sys/decklink/gstdecklink.h
@@ -126,7 +126,7 @@
const GstDecklinkMode * gst_decklink_get_mode (GstDecklinkModeEnum e);
const GstDecklinkModeEnum gst_decklink_get_mode_enum_from_bmd (BMDDisplayMode mode);
const BMDVideoConnection gst_decklink_get_connection (GstDecklinkConnectionEnum e);
-GstCaps * gst_decklink_mode_get_caps (GstDecklinkModeEnum e);
+GstCaps * gst_decklink_mode_get_caps (GstDecklinkModeEnum e, BMDPixelFormat f);
GstCaps * gst_decklink_mode_get_template_caps (void);
typedef struct _GstDecklinkOutput GstDecklinkOutput;
@@ -172,6 +172,7 @@
void (*got_video_frame) (GstElement *videosrc, IDeckLinkVideoInputFrame * frame, GstDecklinkModeEnum mode, GstClockTime capture_time, GstClockTime capture_duration);
/* Configured mode or NULL */
const GstDecklinkMode *mode;
+ BMDPixelFormat format;
/* Set by the audio source */
void (*got_audio_packet) (GstElement *videosrc, IDeckLinkAudioInputPacket * packet, GstClockTime capture_time);
diff --git a/sys/decklink/gstdecklinkaudiosrc.cpp b/sys/decklink/gstdecklinkaudiosrc.cpp
index e5ac8ae..9a701ee 100644
--- a/sys/decklink/gstdecklinkaudiosrc.cpp
+++ b/sys/decklink/gstdecklinkaudiosrc.cpp
@@ -556,9 +556,10 @@
self->next_offset, start_offset);
GST_BUFFER_FLAG_SET (*buffer, GST_BUFFER_FLAG_DISCONT);
self->next_offset = end_offset;
+ // Got a discont and adjusted, reset the discont_time marker.
+ self->discont_time = GST_CLOCK_TIME_NONE;
} else {
// No discont, just keep counting
- self->discont_time = GST_CLOCK_TIME_NONE;
timestamp =
gst_util_uint64_scale (self->next_offset, GST_SECOND, self->info.rate);
self->next_offset += sample_count;
diff --git a/sys/decklink/gstdecklinkvideosink.cpp b/sys/decklink/gstdecklinkvideosink.cpp
index 7111cb1..eebeff3 100644
--- a/sys/decklink/gstdecklinkvideosink.cpp
+++ b/sys/decklink/gstdecklinkvideosink.cpp
@@ -330,7 +330,7 @@
if (self->mode == GST_DECKLINK_MODE_AUTO)
mode_caps = gst_decklink_mode_get_template_caps ();
else
- mode_caps = gst_decklink_mode_get_caps (self->mode);
+ mode_caps = gst_decklink_mode_get_caps (self->mode, bmdFormat8BitYUV);
mode_caps = gst_caps_make_writable (mode_caps);
/* For output we support any framerate and only really care about timestamps */
gst_caps_map_in_place (mode_caps, reset_framerate, NULL);
diff --git a/sys/decklink/gstdecklinkvideosrc.cpp b/sys/decklink/gstdecklinkvideosrc.cpp
index 915393e..2b304f9 100644
--- a/sys/decklink/gstdecklinkvideosrc.cpp
+++ b/sys/decklink/gstdecklinkvideosrc.cpp
@@ -47,6 +47,7 @@
IDeckLinkVideoInputFrame *frame;
GstClockTime capture_time, capture_duration;
GstDecklinkModeEnum mode;
+ BMDPixelFormat format;
} CaptureFrame;
static void
@@ -178,6 +179,7 @@
{
self->mode = DEFAULT_MODE;
self->caps_mode = GST_DECKLINK_MODE_AUTO;
+ self->caps_format = bmdFormat8BitYUV;
self->connection = DEFAULT_CONNECTION;
self->device_number = 0;
self->buffer_size = DEFAULT_BUFFER_SIZE;
@@ -352,9 +354,9 @@
g_mutex_lock (&self->lock);
if (self->caps_mode != GST_DECKLINK_MODE_AUTO)
- mode_caps = gst_decklink_mode_get_caps (self->caps_mode);
+ mode_caps = gst_decklink_mode_get_caps (self->caps_mode, self->caps_format);
else
- mode_caps = gst_decklink_mode_get_caps (self->mode);
+ mode_caps = gst_decklink_mode_get_caps (self->mode, self->caps_format);
g_mutex_unlock (&self->lock);
if (filter) {
@@ -481,6 +483,7 @@
f->capture_time = capture_time;
f->capture_duration = capture_duration;
f->mode = mode;
+ f->format = frame->GetPixelFormat ();
frame->AddRef ();
g_queue_push_tail (&self->current_frames, f);
g_cond_signal (&self->cond);
@@ -515,12 +518,14 @@
}
g_mutex_lock (&self->lock);
- if (self->mode == GST_DECKLINK_MODE_AUTO && self->caps_mode != f->mode) {
- GST_DEBUG_OBJECT (self, "Mode changed from %d to %d", self->caps_mode,
- f->mode);
+ if (self->mode == GST_DECKLINK_MODE_AUTO &&
+ (self->caps_mode != f->mode || self->caps_format != f->format)) {
+ GST_DEBUG_OBJECT (self, "Mode/Format changed from %d/%d to %d/%d",
+ self->caps_mode, self->caps_format, f->mode, f->format);
self->caps_mode = f->mode;
+ self->caps_format = f->format;
g_mutex_unlock (&self->lock);
- caps = gst_decklink_mode_get_caps (f->mode);
+ caps = gst_decklink_mode_get_caps (f->mode, f->format);
gst_video_info_from_caps (&self->info, caps);
gst_base_src_set_caps (GST_BASE_SRC_CAST (bsrc), caps);
gst_element_post_message (GST_ELEMENT_CAST (self),
diff --git a/sys/decklink/gstdecklinkvideosrc.h b/sys/decklink/gstdecklinkvideosrc.h
index 6cb5bb9..b83495f 100644
--- a/sys/decklink/gstdecklinkvideosrc.h
+++ b/sys/decklink/gstdecklinkvideosrc.h
@@ -52,6 +52,7 @@
GstDecklinkModeEnum mode;
GstDecklinkModeEnum caps_mode;
+ BMDPixelFormat caps_format;
GstDecklinkConnectionEnum connection;
gint device_number;
diff --git a/sys/directsound/Makefile.in b/sys/directsound/Makefile.in
index ebb8578..7bfc30d 100644
--- a/sys/directsound/Makefile.in
+++ b/sys/directsound/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -327,7 +326,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -349,7 +347,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -371,9 +368,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -535,6 +529,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -548,8 +543,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -636,8 +629,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -689,6 +680,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -709,6 +701,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -746,7 +740,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/sys/dshowdecwrapper/Makefile.in b/sys/dshowdecwrapper/Makefile.in
index 2c5e598..8c930eb 100644
--- a/sys/dshowdecwrapper/Makefile.in
+++ b/sys/dshowdecwrapper/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -329,7 +328,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -351,7 +349,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -373,9 +370,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -537,6 +531,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -550,8 +545,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -638,8 +631,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -691,6 +682,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -711,6 +703,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -748,7 +742,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/sys/dshowsrcwrapper/Makefile.in b/sys/dshowsrcwrapper/Makefile.in
index 57bd497..ba4df56 100644
--- a/sys/dshowsrcwrapper/Makefile.in
+++ b/sys/dshowsrcwrapper/Makefile.in
@@ -117,16 +117,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -240,7 +239,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -262,7 +260,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -284,9 +281,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -448,6 +442,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -461,8 +456,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -549,8 +542,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -602,6 +593,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -622,6 +614,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -659,7 +653,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/sys/dshowvideosink/Makefile.in b/sys/dshowvideosink/Makefile.in
index d73795f..ede002d 100644
--- a/sys/dshowvideosink/Makefile.in
+++ b/sys/dshowvideosink/Makefile.in
@@ -117,16 +117,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -240,7 +239,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -262,7 +260,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -284,9 +281,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -448,6 +442,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -461,8 +456,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -549,8 +542,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -602,6 +593,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -622,6 +614,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -659,7 +653,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/sys/dvb/Makefile.in b/sys/dvb/Makefile.in
index 3461695..0dc5698 100644
--- a/sys/dvb/Makefile.in
+++ b/sys/dvb/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -333,7 +332,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -355,7 +353,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -377,9 +374,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -541,6 +535,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -554,8 +549,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -642,8 +635,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -695,6 +686,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -715,6 +707,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -752,7 +746,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/sys/dvb/gstdvbsrc.c b/sys/dvb/gstdvbsrc.c
index 18544e7..b93255f 100644
--- a/sys/dvb/gstdvbsrc.c
+++ b/sys/dvb/gstdvbsrc.c
@@ -99,7 +99,6 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include "_stdint.h"
#include <unistd.h>
@@ -2056,8 +2055,8 @@
gst_dvbsrc_output_frontend_stats (GstDvbSrc * src)
{
fe_status_t status;
- uint16_t snr, _signal;
- uint32_t ber, bad_blks;
+ guint16 snr, _signal;
+ guint32 ber, bad_blks;
GstMessage *message;
GstStructure *structure;
int fe_fd = src->fd_frontend;
@@ -2099,7 +2098,7 @@
struct diseqc_cmd
{
struct dvb_diseqc_master_cmd cmd;
- uint32_t wait;
+ guint32 wait;
};
static void
diff --git a/sys/fbdev/Makefile.in b/sys/fbdev/Makefile.in
index 0df6acc..ed2aafd 100644
--- a/sys/fbdev/Makefile.in
+++ b/sys/fbdev/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -323,7 +322,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -345,7 +343,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -367,9 +364,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -531,6 +525,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -544,8 +539,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -632,8 +625,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -685,6 +676,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -705,6 +697,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -742,7 +736,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/sys/linsys/Makefile.in b/sys/linsys/Makefile.in
index d9dfa4d..8b615df 100644
--- a/sys/linsys/Makefile.in
+++ b/sys/linsys/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -325,7 +324,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +345,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +366,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +527,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +541,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +627,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +678,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +699,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +738,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/sys/nvenc/Makefile.in b/sys/nvenc/Makefile.in
index ff60ba5..186447c 100644
--- a/sys/nvenc/Makefile.in
+++ b/sys/nvenc/Makefile.in
@@ -119,16 +119,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -329,7 +328,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -351,7 +349,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -373,9 +370,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -537,6 +531,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -550,8 +545,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -638,8 +631,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -691,6 +682,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -711,6 +703,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -748,7 +742,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/sys/nvenc/gstnvbaseenc.c b/sys/nvenc/gstnvbaseenc.c
index 8e5b088..6babb31 100644
--- a/sys/nvenc/gstnvbaseenc.c
+++ b/sys/nvenc/gstnvbaseenc.c
@@ -1140,31 +1140,33 @@
data_pointer = data->in_gl_resource->cuda_pointer;
for (i = 0; i < GST_VIDEO_INFO_N_PLANES (data->info); i++) {
guint plane_n_components;
- GstGLBaseBuffer *gl_buf_obj;
- GstGLMemory *gl_mem;
+ GstGLBuffer *gl_buf_obj;
+ GstGLMemoryPBO *gl_mem;
guint src_stride, dest_stride;
gl_mem =
- (GstGLMemory *) gst_buffer_peek_memory (data->frame->input_buffer, i);
- g_assert (gst_is_gl_memory ((GstMemory *) gl_mem));
- data->in_gl_resource->gl_mem[i] = gl_mem;
+ (GstGLMemoryPBO *) gst_buffer_peek_memory (data->frame->input_buffer,
+ i);
+ g_return_if_fail (gst_is_gl_memory_pbo ((GstMemory *) gl_mem));
+ data->in_gl_resource->gl_mem[i] = GST_GL_MEMORY_CAST (gl_mem);
plane_n_components = _plane_get_n_components (data->info, i);
- gl_buf_obj = (GstGLBaseBuffer *) gl_mem;
+ gl_buf_obj = (GstGLBuffer *) gl_mem->pbo;
+ g_return_if_fail (gl_buf_obj != NULL);
/* get the texture into the PBO */
- gst_gl_memory_upload_transfer (gl_mem);
- gst_gl_memory_download_transfer (gl_mem);
+ gst_gl_memory_pbo_upload_transfer (gl_mem);
+ gst_gl_memory_pbo_download_transfer (gl_mem);
GST_LOG_OBJECT (data->nvenc, "attempting to copy texture %u into cuda",
- gl_mem->tex_id);
+ gl_mem->mem.tex_id);
cuda_ret =
cudaGraphicsGLRegisterBuffer (&data->in_gl_resource->cuda_texture,
gl_buf_obj->id, cudaGraphicsRegisterFlagsReadOnly);
if (cuda_ret != cudaSuccess) {
GST_ERROR_OBJECT (data->nvenc, "failed to register GL texture %u to cuda "
- "ret :%d", gl_mem->tex_id, cuda_ret);
+ "ret :%d", gl_mem->mem.tex_id, cuda_ret);
g_assert_not_reached ();
}
@@ -1172,17 +1174,18 @@
cudaGraphicsMapResources (1, &data->in_gl_resource->cuda_texture, 0);
if (cuda_ret != cudaSuccess) {
GST_ERROR_OBJECT (data->nvenc, "failed to map GL texture %u into cuda "
- "ret :%d", gl_mem->tex_id, cuda_ret);
+ "ret :%d", gl_mem->mem.tex_id, cuda_ret);
g_assert_not_reached ();
}
cuda_ret =
- cudaGraphicsResourceGetMappedPointer (&data->in_gl_resource->
- cuda_plane_pointers[i], &data->in_gl_resource->cuda_num_bytes,
+ cudaGraphicsResourceGetMappedPointer (&data->
+ in_gl_resource->cuda_plane_pointers[i],
+ &data->in_gl_resource->cuda_num_bytes,
data->in_gl_resource->cuda_texture);
if (cuda_ret != cudaSuccess) {
GST_ERROR_OBJECT (data->nvenc, "failed to get mapped pointer of map GL "
- "texture %u in cuda ret :%d", gl_mem->tex_id, cuda_ret);
+ "texture %u in cuda ret :%d", gl_mem->mem.tex_id, cuda_ret);
g_assert_not_reached ();
}
@@ -1197,7 +1200,7 @@
_get_plane_height (data->info, i), cudaMemcpyDeviceToDevice);
if (cuda_ret != cudaSuccess) {
GST_ERROR_OBJECT (data->nvenc, "failed to copy GL texture %u into cuda "
- "ret :%d", gl_mem->tex_id, cuda_ret);
+ "ret :%d", gl_mem->mem.tex_id, cuda_ret);
g_assert_not_reached ();
}
@@ -1205,7 +1208,7 @@
cudaGraphicsUnmapResources (1, &data->in_gl_resource->cuda_texture, 0);
if (cuda_ret != cudaSuccess) {
GST_ERROR_OBJECT (data->nvenc, "failed to unmap GL texture %u from cuda "
- "ret :%d", gl_mem->tex_id, cuda_ret);
+ "ret :%d", gl_mem->mem.tex_id, cuda_ret);
g_assert_not_reached ();
}
@@ -1213,7 +1216,7 @@
cudaGraphicsUnregisterResource (data->in_gl_resource->cuda_texture);
if (cuda_ret != cudaSuccess) {
GST_ERROR_OBJECT (data->nvenc, "failed to unregister GL texture %u from "
- "cuda ret :%d", gl_mem->tex_id, cuda_ret);
+ "cuda ret :%d", gl_mem->mem.tex_id, cuda_ret);
g_assert_not_reached ();
}
diff --git a/sys/opensles/Makefile.in b/sys/opensles/Makefile.in
index 908b78e..4d86c59 100644
--- a/sys/opensles/Makefile.in
+++ b/sys/opensles/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -326,7 +325,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -348,7 +346,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -370,9 +367,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -534,6 +528,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -547,8 +542,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -635,8 +628,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -688,6 +679,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -708,6 +700,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -745,7 +739,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/sys/pvr2d/Makefile.in b/sys/pvr2d/Makefile.in
index 110c966..1fe31ae 100644
--- a/sys/pvr2d/Makefile.in
+++ b/sys/pvr2d/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -327,7 +326,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -349,7 +347,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -371,9 +368,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -535,6 +529,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -548,8 +543,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -636,8 +629,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -689,6 +680,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -709,6 +701,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -746,7 +740,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/sys/shm/Makefile.in b/sys/shm/Makefile.in
index 7824879..50f3705 100644
--- a/sys/shm/Makefile.in
+++ b/sys/shm/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -325,7 +324,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -347,7 +345,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -369,9 +366,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -533,6 +527,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -546,8 +541,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -634,8 +627,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -687,6 +678,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -707,6 +699,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -744,7 +738,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/sys/shm/gstshmsink.c b/sys/shm/gstshmsink.c
index 784acca..13d67bd 100644
--- a/sys/shm/gstshmsink.c
+++ b/sys/shm/gstshmsink.c
@@ -715,8 +715,8 @@
while (self->wait_for_connection && !self->clients) {
g_cond_wait (&self->cond, GST_OBJECT_GET_LOCK (self));
if (self->unlock) {
- gst_memory_unref (memory);
GST_OBJECT_UNLOCK (self);
+ gst_memory_unref (memory);
return GST_FLOW_FLUSHING;
}
}
diff --git a/sys/tinyalsa/Makefile.am b/sys/tinyalsa/Makefile.am
new file mode 100644
index 0000000..b492ec8
--- /dev/null
+++ b/sys/tinyalsa/Makefile.am
@@ -0,0 +1,19 @@
+
+plugin_LTLIBRARIES = libgsttinyalsa.la
+
+libgsttinyalsa_la_SOURCES = tinyalsasink.c \
+ tinyalsa.c
+
+libgsttinyalsa_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) \
+ -Wno-deprecated-declarations
+libgsttinyalsa_la_LIBADD = \
+ -ltinyalsa \
+ -lgstaudio-@GST_API_VERSION@ \
+ $(GST_PLUGINS_BASE_LIBS) \
+ $(GST_BASE_LIBS) \
+ $(GST_LIBS)
+libgsttinyalsa_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
+libgsttinyalsa_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
+
+noinst_HEADERS = tinyalsasink.h
+
diff --git a/ext/mpg123/Makefile.in b/sys/tinyalsa/Makefile.in
similarity index 87%
copy from ext/mpg123/Makefile.in
copy to sys/tinyalsa/Makefile.in
index e0f8f27..e13c606 100644
--- a/ext/mpg123/Makefile.in
+++ b/sys/tinyalsa/Makefile.in
@@ -90,7 +90,7 @@
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
-subdir = ext/mpg123
+subdir = sys/tinyalsa
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
$(top_srcdir)/common/m4/as-auto-alt.m4 \
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -164,19 +163,19 @@
am__installdirs = "$(DESTDIR)$(plugindir)"
LTLIBRARIES = $(plugin_LTLIBRARIES)
am__DEPENDENCIES_1 =
-libgstmpg123_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1)
-am_libgstmpg123_la_OBJECTS = libgstmpg123_la-gstmpg123audiodec.lo
-libgstmpg123_la_OBJECTS = $(am_libgstmpg123_la_OBJECTS)
+libgsttinyalsa_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+am_libgsttinyalsa_la_OBJECTS = libgsttinyalsa_la-tinyalsasink.lo \
+ libgsttinyalsa_la-tinyalsa.lo
+libgsttinyalsa_la_OBJECTS = $(am_libgsttinyalsa_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
-libgstmpg123_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
- $(libgstmpg123_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
- $(CCLD) $(libgstmpg123_la_CFLAGS) $(CFLAGS) \
- $(libgstmpg123_la_LDFLAGS) $(LDFLAGS) -o $@
+libgsttinyalsa_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(libgsttinyalsa_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+ $(CCLD) $(libgsttinyalsa_la_CFLAGS) $(CFLAGS) \
+ $(libgsttinyalsa_la_LDFLAGS) $(LDFLAGS) -o $@
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
@@ -211,8 +210,8 @@
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
-SOURCES = $(libgstmpg123_la_SOURCES)
-DIST_SOURCES = $(libgstmpg123_la_SOURCES)
+SOURCES = $(libgsttinyalsa_la_SOURCES)
+DIST_SOURCES = $(libgsttinyalsa_la_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -324,7 +323,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -346,7 +344,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -368,9 +365,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -532,6 +526,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -545,8 +540,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -633,8 +626,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -686,6 +677,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -706,6 +698,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -743,7 +737,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -783,18 +776,23 @@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
wayland_scanner = @wayland_scanner@
-plugin_LTLIBRARIES = libgstmpg123.la
-libgstmpg123_la_SOURCES = gstmpg123audiodec.c
-libgstmpg123_la_CFLAGS = -DGST_USE_UNSTABLE_API \
- $(GST_PLUGINS_BASE_CFLAGS) \
- $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(MPG123_CFLAGS)
+plugin_LTLIBRARIES = libgsttinyalsa.la
+libgsttinyalsa_la_SOURCES = tinyalsasink.c \
+ tinyalsa.c
-libgstmpg123_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-@GST_API_VERSION@ \
- $(GST_BASE_LIBS) $(GST_LIBS) $(MPG123_LIBS)
+libgsttinyalsa_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) \
+ -Wno-deprecated-declarations
-libgstmpg123_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
-libgstmpg123_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
-noinst_HEADERS = gstmpg123audiodec.h
+libgsttinyalsa_la_LIBADD = \
+ -ltinyalsa \
+ -lgstaudio-@GST_API_VERSION@ \
+ $(GST_PLUGINS_BASE_LIBS) \
+ $(GST_BASE_LIBS) \
+ $(GST_LIBS)
+
+libgsttinyalsa_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
+libgsttinyalsa_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
+noinst_HEADERS = tinyalsasink.h
all: all-am
.SUFFIXES:
@@ -808,9 +806,9 @@
exit 1;; \
esac; \
done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ext/mpg123/Makefile'; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu sys/tinyalsa/Makefile'; \
$(am__cd) $(top_srcdir) && \
- $(AUTOMAKE) --gnu ext/mpg123/Makefile
+ $(AUTOMAKE) --gnu sys/tinyalsa/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
@@ -864,8 +862,8 @@
rm -f $${locs}; \
}
-libgstmpg123.la: $(libgstmpg123_la_OBJECTS) $(libgstmpg123_la_DEPENDENCIES) $(EXTRA_libgstmpg123_la_DEPENDENCIES)
- $(AM_V_CCLD)$(libgstmpg123_la_LINK) -rpath $(plugindir) $(libgstmpg123_la_OBJECTS) $(libgstmpg123_la_LIBADD) $(LIBS)
+libgsttinyalsa.la: $(libgsttinyalsa_la_OBJECTS) $(libgsttinyalsa_la_DEPENDENCIES) $(EXTRA_libgsttinyalsa_la_DEPENDENCIES)
+ $(AM_V_CCLD)$(libgsttinyalsa_la_LINK) -rpath $(plugindir) $(libgsttinyalsa_la_OBJECTS) $(libgsttinyalsa_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -873,7 +871,8 @@
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstmpg123_la-gstmpg123audiodec.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsttinyalsa_la-tinyalsa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsttinyalsa_la-tinyalsasink.Plo@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -899,12 +898,19 @@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-libgstmpg123_la-gstmpg123audiodec.lo: gstmpg123audiodec.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstmpg123_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstmpg123_la_CFLAGS) $(CFLAGS) -MT libgstmpg123_la-gstmpg123audiodec.lo -MD -MP -MF $(DEPDIR)/libgstmpg123_la-gstmpg123audiodec.Tpo -c -o libgstmpg123_la-gstmpg123audiodec.lo `test -f 'gstmpg123audiodec.c' || echo '$(srcdir)/'`gstmpg123audiodec.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgstmpg123_la-gstmpg123audiodec.Tpo $(DEPDIR)/libgstmpg123_la-gstmpg123audiodec.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gstmpg123audiodec.c' object='libgstmpg123_la-gstmpg123audiodec.lo' libtool=yes @AMDEPBACKSLASH@
+libgsttinyalsa_la-tinyalsasink.lo: tinyalsasink.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgsttinyalsa_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsttinyalsa_la_CFLAGS) $(CFLAGS) -MT libgsttinyalsa_la-tinyalsasink.lo -MD -MP -MF $(DEPDIR)/libgsttinyalsa_la-tinyalsasink.Tpo -c -o libgsttinyalsa_la-tinyalsasink.lo `test -f 'tinyalsasink.c' || echo '$(srcdir)/'`tinyalsasink.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgsttinyalsa_la-tinyalsasink.Tpo $(DEPDIR)/libgsttinyalsa_la-tinyalsasink.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tinyalsasink.c' object='libgsttinyalsa_la-tinyalsasink.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 $(libgstmpg123_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstmpg123_la_CFLAGS) $(CFLAGS) -c -o libgstmpg123_la-gstmpg123audiodec.lo `test -f 'gstmpg123audiodec.c' || echo '$(srcdir)/'`gstmpg123audiodec.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgsttinyalsa_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsttinyalsa_la_CFLAGS) $(CFLAGS) -c -o libgsttinyalsa_la-tinyalsasink.lo `test -f 'tinyalsasink.c' || echo '$(srcdir)/'`tinyalsasink.c
+
+libgsttinyalsa_la-tinyalsa.lo: tinyalsa.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgsttinyalsa_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsttinyalsa_la_CFLAGS) $(CFLAGS) -MT libgsttinyalsa_la-tinyalsa.lo -MD -MP -MF $(DEPDIR)/libgsttinyalsa_la-tinyalsa.Tpo -c -o libgsttinyalsa_la-tinyalsa.lo `test -f 'tinyalsa.c' || echo '$(srcdir)/'`tinyalsa.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgsttinyalsa_la-tinyalsa.Tpo $(DEPDIR)/libgsttinyalsa_la-tinyalsa.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tinyalsa.c' object='libgsttinyalsa_la-tinyalsa.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 $(libgsttinyalsa_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsttinyalsa_la_CFLAGS) $(CFLAGS) -c -o libgsttinyalsa_la-tinyalsa.lo `test -f 'tinyalsa.c' || echo '$(srcdir)/'`tinyalsa.c
mostlyclean-libtool:
-rm -f *.lo
diff --git a/gst/rtp/gstrtp.c b/sys/tinyalsa/tinyalsa.c
similarity index 69%
rename from gst/rtp/gstrtp.c
rename to sys/tinyalsa/tinyalsa.c
index fd07748..5b676ab 100644
--- a/gst/rtp/gstrtp.c
+++ b/sys/tinyalsa/tinyalsa.c
@@ -1,5 +1,6 @@
/* GStreamer
- * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
+ * Copyright (C) 2016 Centricular Ltd.
+ * Author: Arun Raghavan
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -21,27 +22,23 @@
#include "config.h"
#endif
-#include <gst/tag/tag.h>
+#include <gst/gst.h>
-#include "gstrtph265depay.h"
-#include "gstrtph265pay.h"
+#include "tinyalsasink.h"
static gboolean
plugin_init (GstPlugin * plugin)
{
- gst_tag_image_type_get_type ();
-
- if (!gst_rtp_h265_depay_plugin_init (plugin))
+ if (!gst_element_register (plugin, "tinyalsasink", GST_RANK_NONE,
+ GST_TYPE_TINYALSA_SINK)) {
return FALSE;
-
- if (!gst_rtp_h265_pay_plugin_init (plugin))
- return FALSE;
+ }
return TRUE;
}
GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
GST_VERSION_MINOR,
- rtpbad,
- "Real-time protocol plugins",
- plugin_init, VERSION, "LGPL", GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN);
+ tinyalsa,
+ "tinyalsa plugin library",
+ plugin_init, VERSION, GST_LICENSE, GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN)
diff --git a/sys/tinyalsa/tinyalsasink.c b/sys/tinyalsa/tinyalsasink.c
new file mode 100644
index 0000000..c29755e
--- /dev/null
+++ b/sys/tinyalsa/tinyalsasink.c
@@ -0,0 +1,502 @@
+/* GStreamer
+ * Copyright (C) 2016 Centricular Ltd.
+ * Author: Arun Raghavan <arun@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * SECTION:element-tinyalsasink
+ * @see_also: alsasink
+ *
+ * This element renders raw audio samples using the ALSA audio API via the
+ * tinyalsa library.
+ *
+ * <refsect2>
+ * <title>Example pipelines</title>
+ * |[
+ * gst-launch-1.0 -v uridecodebin uri=file:///path/to/audio.ogg ! audioconvert ! audioresample ! tinyalsasink
+ * ]| Play an Ogg/Vorbis file and output audio via ALSA using the tinyalsa
+ * library.
+ * </refsect2>
+ */
+
+#include <gst/audio/gstaudiobasesink.h>
+
+#include <tinyalsa/asoundlib.h>
+
+#include "tinyalsasink.h"
+
+/* Hardcoding these bitmask values rather than including a kernel header */
+#define SNDRV_PCM_FORMAT_S8 0
+#define SNDRV_PCM_FORMAT_S16_LE 2
+#define SNDRV_PCM_FORMAT_S24_LE 6
+#define SNDRV_PCM_FORMAT_S32_LE 10
+#define SNDRV_PCM_FORMAT_ANY \
+ ((1 << SNDRV_PCM_FORMAT_S8) | \
+ (1 << SNDRV_PCM_FORMAT_S16_LE) | \
+ (1 << SNDRV_PCM_FORMAT_S24_LE) | \
+ (1 << SNDRV_PCM_FORMAT_S32_LE))
+
+GST_DEBUG_CATEGORY_STATIC (tinyalsa_sink_debug);
+#define GST_CAT_DEFAULT tinyalsa_sink_debug
+
+#define parent_class gst_tinyalsa_sink_parent_class
+G_DEFINE_TYPE (GstTinyalsaSink, gst_tinyalsa_sink, GST_TYPE_AUDIO_SINK);
+
+enum
+{
+ PROP_0,
+ PROP_CARD,
+ PROP_DEVICE,
+ PROP_LAST
+};
+
+#define DEFAULT_CARD 0
+#define DEFAULT_DEVICE 0
+
+static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",
+ GST_PAD_SINK,
+ GST_PAD_ALWAYS,
+ GST_STATIC_CAPS ("audio/x-raw, "
+ "format = (string) { S16LE, S32LE, S24_32LE, S8 }, "
+ "channels = (int) [ 1, MAX ], "
+ "rate = (int) [ 1, MAX ], " "layout = (string) interleaved"));
+
+static void
+gst_tinyalsa_sink_get_property (GObject * object, guint prop_id,
+ GValue * value, GParamSpec * pspec)
+{
+ GstTinyalsaSink *sink = GST_TINYALSA_SINK (object);
+
+ switch (prop_id) {
+ case PROP_CARD:
+ g_value_set_uint (value, sink->card);
+ break;
+
+ case PROP_DEVICE:
+ g_value_set_uint (value, sink->device);
+ break;
+
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static void
+gst_tinyalsa_sink_set_property (GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * pspec)
+{
+ GstTinyalsaSink *sink = GST_TINYALSA_SINK (object);
+
+ switch (prop_id) {
+ case PROP_CARD:
+ sink->card = g_value_get_uint (value);
+ break;
+
+ case PROP_DEVICE:
+ sink->device = g_value_get_uint (value);
+ break;
+
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+static GstCaps *
+gst_tinyalsa_sink_getcaps (GstBaseSink * bsink, GstCaps * filter)
+{
+ GstTinyalsaSink *sink = GST_TINYALSA_SINK (bsink);
+ GstCaps *caps = NULL;
+ GValue formats = { 0, };
+ GValue format = { 0, };
+ struct pcm_params *params = NULL;
+ struct pcm_mask *mask;
+ int rate_min, rate_max, channels_min, channels_max;
+ guint16 m;
+
+ GST_DEBUG_OBJECT (sink, "Querying caps");
+
+ GST_OBJECT_LOCK (sink);
+
+ if (sink->cached_caps) {
+ GST_DEBUG_OBJECT (sink, "Returning cached caps");
+ caps = gst_caps_ref (sink->cached_caps);
+ goto done;
+ }
+
+ if (sink->pcm) {
+ /* We can't query the device while it's open, so return current caps */
+ caps = gst_pad_get_current_caps (GST_BASE_SINK_PAD (bsink));
+ goto done;
+ }
+
+ params = pcm_params_get (sink->card, sink->device, PCM_OUT);
+ if (!params) {
+ GST_ERROR_OBJECT (sink, "Could not get PCM params");
+ goto done;
+ }
+
+ mask = pcm_params_get_mask (params, PCM_PARAM_FORMAT);
+ m = (mask->bits[1] << 8) | mask->bits[0];
+
+ if (!(m & SNDRV_PCM_FORMAT_ANY)) {
+ GST_ERROR_OBJECT (sink, "Could not find any supported format");
+ goto done;
+ }
+
+ caps = gst_caps_new_empty_simple ("audio/x-raw");
+
+ g_value_init (&formats, GST_TYPE_LIST);
+ g_value_init (&format, G_TYPE_STRING);
+
+ if (m & (1 << SNDRV_PCM_FORMAT_S8)) {
+ g_value_set_static_string (&format, "S8");
+ gst_value_list_prepend_value (&formats, &format);
+ }
+ if (m & (1 << SNDRV_PCM_FORMAT_S16_LE)) {
+ g_value_set_static_string (&format, "S16LE");
+ gst_value_list_prepend_value (&formats, &format);
+ }
+ if (m & (1 << SNDRV_PCM_FORMAT_S24_LE)) {
+ g_value_set_static_string (&format, "S24_32LE");
+ gst_value_list_prepend_value (&formats, &format);
+ }
+ if (m & (1 << SNDRV_PCM_FORMAT_S32_LE)) {
+ g_value_set_static_string (&format, "S32LE");
+ gst_value_list_prepend_value (&formats, &format);
+ }
+
+ gst_caps_set_value (caps, "format", &formats);
+
+ g_value_unset (&format);
+ g_value_unset (&formats);
+
+ /* This is a bit of a lie, since the device likely only supports some
+ * standard rates in this range. We should probably filter the range to
+ * those, standard audio rates but even that isn't guaranteed to be accurate.
+ */
+ rate_min = pcm_params_get_min (params, PCM_PARAM_RATE);
+ rate_max = pcm_params_get_max (params, PCM_PARAM_RATE);
+
+ if (rate_min == rate_max)
+ gst_caps_set_simple (caps, "rate", G_TYPE_INT, rate_min, NULL);
+ else
+ gst_caps_set_simple (caps, "rate", GST_TYPE_INT_RANGE, rate_min, rate_max,
+ NULL);
+
+ channels_min = pcm_params_get_min (params, PCM_PARAM_CHANNELS);
+ channels_max = pcm_params_get_max (params, PCM_PARAM_CHANNELS);
+
+ if (channels_min == channels_max)
+ gst_caps_set_simple (caps, "channels", G_TYPE_INT, channels_min, NULL);
+ else
+ gst_caps_set_simple (caps, "channels", GST_TYPE_INT_RANGE, channels_min,
+ channels_max, NULL);
+
+ gst_caps_replace (&sink->cached_caps, caps);
+
+done:
+ GST_OBJECT_UNLOCK (sink);
+
+ GST_DEBUG_OBJECT (sink, "Got caps %" GST_PTR_FORMAT, caps);
+
+ if (caps && filter) {
+ GstCaps *intersection =
+ gst_caps_intersect_full (filter, caps, GST_CAPS_INTERSECT_FIRST);
+
+ gst_caps_unref (caps);
+ caps = intersection;
+ }
+
+ if (params)
+ pcm_params_free (params);
+
+ return caps;
+}
+
+static gboolean
+gst_tinyalsa_sink_open (GstAudioSink * asink)
+{
+ /* Nothing to do here, we can't call pcm_open() till we have stream
+ * parameters available */
+ return TRUE;
+}
+
+static enum pcm_format
+pcm_format_from_gst (GstAudioFormat format)
+{
+ switch (format) {
+ case GST_AUDIO_FORMAT_S8:
+ return PCM_FORMAT_S8;
+
+ case GST_AUDIO_FORMAT_S16LE:
+ return PCM_FORMAT_S16_LE;
+
+ case GST_AUDIO_FORMAT_S24_32LE:
+ return PCM_FORMAT_S24_LE;
+
+ case GST_AUDIO_FORMAT_S32LE:
+ return PCM_FORMAT_S32_LE;
+
+ default:
+ g_assert_not_reached ();
+ }
+}
+
+static void
+pcm_config_from_spec (struct pcm_config *config,
+ const GstAudioRingBufferSpec * spec)
+{
+ gint64 frames;
+
+ config->format = pcm_format_from_gst (GST_AUDIO_INFO_FORMAT (&spec->info));
+ config->channels = GST_AUDIO_INFO_CHANNELS (&spec->info);
+ config->rate = GST_AUDIO_INFO_RATE (&spec->info);
+
+ gst_audio_info_convert (&spec->info,
+ GST_FORMAT_TIME, spec->latency_time * GST_USECOND,
+ GST_FORMAT_DEFAULT /* frames */ , &frames);
+
+ config->period_size = frames;
+ config->period_count = spec->buffer_time / spec->latency_time;
+}
+
+static gboolean
+gst_tinyalsa_sink_prepare (GstAudioSink * asink, GstAudioRingBufferSpec * spec)
+{
+ GstTinyalsaSink *sink = GST_TINYALSA_SINK (asink);
+ struct pcm_config config = { 0, };
+ struct pcm_params *params = NULL;
+ int period_size_min, period_size_max;
+ int periods_min, periods_max;
+
+ pcm_config_from_spec (&config, spec);
+
+ GST_DEBUG_OBJECT (sink, "Requesting %u periods of %u frames",
+ config.period_count, config.period_size);
+
+ params = pcm_params_get (sink->card, sink->device, PCM_OUT);
+ if (!params)
+ GST_ERROR_OBJECT (sink, "Could not get PCM params");
+
+ period_size_min = pcm_params_get_min (params, PCM_PARAM_PERIOD_SIZE);
+ period_size_max = pcm_params_get_max (params, PCM_PARAM_PERIOD_SIZE);
+ periods_min = pcm_params_get_min (params, PCM_PARAM_PERIODS);
+ periods_max = pcm_params_get_max (params, PCM_PARAM_PERIODS);
+
+ pcm_params_free (params);
+
+ /* Snap period size/count to the permitted range */
+ config.period_size =
+ CLAMP (config.period_size, period_size_min, period_size_max);
+ config.period_count = CLAMP (config.period_count, periods_min, periods_max);
+
+ /* mutex with getcaps */
+ GST_OBJECT_LOCK (sink);
+
+ sink->pcm = pcm_open (sink->card, sink->device, PCM_OUT | PCM_NORESTART,
+ &config);
+
+ GST_OBJECT_UNLOCK (sink);
+
+ if (!sink->pcm || !pcm_is_ready (sink->pcm)) {
+ GST_ERROR_OBJECT (sink, "Could not open device: %s",
+ pcm_get_error (sink->pcm));
+ goto fail;
+ }
+
+ if (pcm_prepare (sink->pcm) < 0) {
+ GST_ERROR_OBJECT (sink, "Could not prepare device: %s",
+ pcm_get_error (sink->pcm));
+ goto fail;
+ }
+
+ spec->segsize = pcm_frames_to_bytes (sink->pcm, config.period_size);
+ spec->segtotal = config.period_count;
+
+ GST_DEBUG_OBJECT (sink, "Configured for %u periods of %u frames",
+ config.period_count, config.period_size);
+
+ return TRUE;
+
+fail:
+ if (sink->pcm)
+ pcm_close (sink->pcm);
+
+ return FALSE;
+}
+
+static gboolean
+gst_tinyalsa_sink_unprepare (GstAudioSink * asink)
+{
+ GstTinyalsaSink *sink = GST_TINYALSA_SINK (asink);
+
+ if (pcm_stop (sink->pcm) < 0) {
+ GST_ERROR_OBJECT (sink, "Could not stop device: %s",
+ pcm_get_error (sink->pcm));
+ }
+
+ /* mutex with getcaps */
+ GST_OBJECT_LOCK (sink);
+
+ if (pcm_close (sink->pcm)) {
+ GST_ERROR_OBJECT (sink, "Could not close device: %s",
+ pcm_get_error (sink->pcm));
+ return FALSE;
+ }
+
+ sink->pcm = NULL;
+
+ gst_caps_replace (&sink->cached_caps, NULL);
+
+ GST_OBJECT_UNLOCK (sink);
+
+ GST_DEBUG_OBJECT (sink, "Device unprepared");
+
+ return TRUE;
+}
+
+static gboolean
+gst_tinyalsa_sink_close (GstAudioSink * asink)
+{
+ /* Nothing to do here, see gst_tinyalsa_sink_open() */
+ return TRUE;
+}
+
+static gint
+gst_tinyalsa_sink_write (GstAudioSink * asink, gpointer data, guint length)
+{
+ GstTinyalsaSink *sink = GST_TINYALSA_SINK (asink);
+ int ret;
+
+again:
+ GST_DEBUG_OBJECT (sink, "Starting write");
+
+ ret = pcm_write (sink->pcm, data, length);
+ if (ret == -EPIPE) {
+ GST_WARNING_OBJECT (sink, "Got an underrun");
+
+ if (pcm_prepare (sink->pcm) < 0) {
+ GST_ERROR_OBJECT (sink, "Could not prepare device: %s",
+ pcm_get_error (sink->pcm));
+ return -1;
+ }
+
+ goto again;
+
+ } else if (ret < 0) {
+ GST_ERROR_OBJECT (sink, "Could not write data to device: %s",
+ pcm_get_error (sink->pcm));
+ return -1;
+ }
+
+ GST_DEBUG_OBJECT (sink, "Wrote %u bytes", length);
+
+ return length;
+}
+
+static void
+gst_tinyalsa_sink_reset (GstAudioSink * asink)
+{
+ GstTinyalsaSink *sink = GST_TINYALSA_SINK (asink);
+
+ if (pcm_stop (sink->pcm) < 0) {
+ GST_ERROR_OBJECT (sink, "Could not stop device: %s",
+ pcm_get_error (sink->pcm));
+ }
+
+ if (pcm_prepare (sink->pcm) < 0) {
+ GST_ERROR_OBJECT (sink, "Could not prepare device: %s",
+ pcm_get_error (sink->pcm));
+ }
+}
+
+static guint
+gst_tinyalsa_sink_delay (GstAudioSink * asink)
+{
+ GstTinyalsaSink *sink = GST_TINYALSA_SINK (asink);
+ int delay;
+
+ delay = pcm_get_delay (sink->pcm);
+
+ if (delay < 0) {
+ /* This might happen before the stream has started */
+ GST_DEBUG_OBJECT (sink, "Got negative delay");
+ delay = 0;
+ } else
+ GST_DEBUG_OBJECT (sink, "Got delay of %u", delay);
+
+ return delay;
+}
+
+static void
+gst_tinyalsa_sink_class_init (GstTinyalsaSinkClass * klass)
+{
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
+ GstBaseSinkClass *basesink_class = GST_BASE_SINK_CLASS (klass);
+ GstAudioSinkClass *audiosink_class = GST_AUDIO_SINK_CLASS (klass);
+
+ gobject_class->get_property =
+ GST_DEBUG_FUNCPTR (gst_tinyalsa_sink_get_property);
+ gobject_class->set_property =
+ GST_DEBUG_FUNCPTR (gst_tinyalsa_sink_set_property);
+
+ basesink_class->get_caps = GST_DEBUG_FUNCPTR (gst_tinyalsa_sink_getcaps);
+
+ audiosink_class->open = GST_DEBUG_FUNCPTR (gst_tinyalsa_sink_open);
+ audiosink_class->prepare = GST_DEBUG_FUNCPTR (gst_tinyalsa_sink_prepare);
+ audiosink_class->unprepare = GST_DEBUG_FUNCPTR (gst_tinyalsa_sink_unprepare);
+ audiosink_class->close = GST_DEBUG_FUNCPTR (gst_tinyalsa_sink_close);
+ audiosink_class->write = GST_DEBUG_FUNCPTR (gst_tinyalsa_sink_write);
+ audiosink_class->reset = GST_DEBUG_FUNCPTR (gst_tinyalsa_sink_reset);
+ audiosink_class->delay = GST_DEBUG_FUNCPTR (gst_tinyalsa_sink_delay);
+
+ gst_element_class_set_static_metadata (element_class,
+ "tinyalsa Audio Sink",
+ "Sink/Audio", "Plays audio to an ALSA device",
+ "Arun Raghavan <arun@centricular.com>");
+
+ gst_element_class_add_pad_template (element_class,
+ gst_static_pad_template_get (&sink_template));
+
+ g_object_class_install_property (gobject_class,
+ PROP_CARD,
+ g_param_spec_uint ("card", "Card", "The ALSA card to use",
+ 0, G_MAXUINT, DEFAULT_CARD,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+ g_object_class_install_property (gobject_class,
+ PROP_DEVICE,
+ g_param_spec_uint ("device", "Device", "The ALSA device to use",
+ 0, G_MAXUINT, DEFAULT_CARD,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+ GST_DEBUG_CATEGORY_INIT (tinyalsa_sink_debug, "tinyalsasink", 0,
+ "tinyalsa Sink");
+}
+
+static void
+gst_tinyalsa_sink_init (GstTinyalsaSink * sink)
+{
+ sink->card = DEFAULT_CARD;
+ sink->device = DEFAULT_DEVICE;
+
+ sink->cached_caps = NULL;
+}
diff --git a/sys/tinyalsa/tinyalsasink.h b/sys/tinyalsa/tinyalsasink.h
new file mode 100644
index 0000000..a6ae3bf
--- /dev/null
+++ b/sys/tinyalsa/tinyalsasink.h
@@ -0,0 +1,57 @@
+/* GStreamer
+ * Copyright (C) 2016 Centricular Ltd.
+ * Author: Arun Raghavan
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __TINYALSASINK_H__
+#define __TINYALSASINK_H__
+
+#include <tinyalsa/asoundlib.h>
+
+#include <gst/audio/gstaudiosink.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_TINYALSA_SINK \
+ (gst_tinyalsa_sink_get_type())
+#define GST_TINYALSA_SINK(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_TINYALSA_SINK,GstTinyalsaSink))
+#define GST_TINYALSA_SINK_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_TINYALSA_SINK,GstTinyalsaSinkClass))
+
+typedef struct _GstTinyalsaSink GstTinyalsaSink;
+typedef struct _GstTinyalsaSinkClass GstTinyalsaSinkClass;
+
+struct _GstTinyalsaSink {
+ GstAudioSink parent;
+
+ int card;
+ int device;
+
+ struct pcm *pcm;
+
+ GstCaps *cached_caps; /* for queries made while the device is open */
+};
+
+struct _GstTinyalsaSinkClass {
+ GstAudioSinkClass parent_class;
+};
+
+GType gst_tinyalsa_sink_get_type (void);
+
+#endif /* __TINYALSASINK_H__ */
diff --git a/sys/uvch264/Makefile.in b/sys/uvch264/Makefile.in
index 999ae6e..b2343f9 100644
--- a/sys/uvch264/Makefile.in
+++ b/sys/uvch264/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -328,7 +327,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -350,7 +348,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -372,9 +369,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -536,6 +530,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -549,8 +544,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -637,8 +630,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -690,6 +681,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -710,6 +702,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -747,7 +741,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/sys/uvch264/gstuvch264_src.c b/sys/uvch264/gstuvch264_src.c
index 94c09fa..eae7d82 100644
--- a/sys/uvch264/gstuvch264_src.c
+++ b/sys/uvch264/gstuvch264_src.c
@@ -3042,8 +3042,8 @@
if (self->v4l2_src) {
GstCaps *filter;
GstPad *v4l_pad = gst_element_get_static_pad (self->v4l2_src, "src");
- GstCaps *v4l_caps = gst_pad_query_caps (v4l_pad, NULL);
- GstCaps *new_caps = gst_uvc_h264_src_transform_caps (self, v4l_caps);
+ GstCaps *v4l_caps = NULL;
+ GstCaps *new_caps = NULL;
gst_query_parse_caps (query, &filter);
v4l_caps = gst_pad_query_caps (v4l_pad, filter);
diff --git a/sys/vcd/Makefile.in b/sys/vcd/Makefile.in
index 229a5b3..19d09de 100644
--- a/sys/vcd/Makefile.in
+++ b/sys/vcd/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -323,7 +322,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -345,7 +343,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -367,9 +364,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -531,6 +525,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -544,8 +539,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -632,8 +625,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -685,6 +676,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -705,6 +697,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -742,7 +736,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/sys/vdpau/Makefile.in b/sys/vdpau/Makefile.in
index 2204dc6..1ce42e8 100644
--- a/sys/vdpau/Makefile.in
+++ b/sys/vdpau/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -331,7 +330,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -353,7 +351,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -375,9 +372,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -539,6 +533,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -552,8 +547,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -640,8 +633,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -693,6 +684,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -713,6 +705,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -750,7 +744,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/sys/wasapi/Makefile.in b/sys/wasapi/Makefile.in
index fbb6325..0fb3aeb 100644
--- a/sys/wasapi/Makefile.in
+++ b/sys/wasapi/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -327,7 +326,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -349,7 +347,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -371,9 +368,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -535,6 +529,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -548,8 +543,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -636,8 +629,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -689,6 +680,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -709,6 +701,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -746,7 +740,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/sys/wininet/Makefile.in b/sys/wininet/Makefile.in
index 655c690..b7afd9d 100644
--- a/sys/wininet/Makefile.in
+++ b/sys/wininet/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -323,7 +322,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -345,7 +343,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -367,9 +364,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -531,6 +525,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -544,8 +539,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -632,8 +625,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -685,6 +676,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -705,6 +697,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -742,7 +736,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/sys/winks/Makefile.in b/sys/winks/Makefile.in
index 3ff4a9b..64eecac 100644
--- a/sys/winks/Makefile.in
+++ b/sys/winks/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -328,7 +327,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -350,7 +348,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -372,9 +369,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -536,6 +530,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -549,8 +544,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -637,8 +630,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -690,6 +681,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -710,6 +702,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -747,7 +741,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/sys/winscreencap/Makefile.in b/sys/winscreencap/Makefile.in
index 126a337..cd539ae 100644
--- a/sys/winscreencap/Makefile.in
+++ b/sys/winscreencap/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -327,7 +326,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -349,7 +347,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -371,9 +368,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -535,6 +529,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -548,8 +543,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -636,8 +629,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -689,6 +680,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -709,6 +701,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -746,7 +740,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 1353a65..684625a 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -114,16 +114,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -296,7 +295,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -318,7 +316,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -340,9 +337,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -504,6 +498,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -517,8 +512,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -605,8 +598,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -658,6 +649,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -678,6 +670,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -715,7 +709,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/check/Makefile.am b/tests/check/Makefile.am
index 1701aa0..1828cb6 100644
--- a/tests/check/Makefile.am
+++ b/tests/check/Makefile.am
@@ -9,15 +9,15 @@
GST_REGISTRY_1_0=$(CHECK_REGISTRY)
# GST_PLUGINS_XYZ_DIR is only set in an uninstalled setup
-AM_TESTS_ENVIRONMENT = \
+AM_TESTS_ENVIRONMENT += \
$(REGISTRY_ENVIRONMENT) \
GST_PLUGIN_SYSTEM_PATH_1_0= \
GST_PLUGIN_PATH_1_0=$(top_builddir)/gst:$(top_builddir)/sys:$(top_builddir)/ext:$(GST_PLUGINS_LIBAV_DIR):$(GST_PLUGINS_UGLY_DIR):$(GST_PLUGINS_GOOD_DIR):$(GST_PLUGINS_BASE_DIR):$(GST_PLUGINS_DIR) \
GST_PLUGIN_LOADING_WHITELIST="gstreamer@$(GST_PLUGINS_DIR):gst-plugins-base@$(GSTPB_PLUGINS_DIR):gst-plugins-good:gst-plugins-ugly:gst-libav:gst-plugins-bad@$(top_builddir)" \
GST_STATE_IGNORE_ELEMENTS="apexsink avdtpsrc camerabin dc1394src \
dccpclientsrc dccpclientsink dccpserversrc dccpserversink decklinksrc \
- decklinksink dtlssrtpdec dtlssrtpenc dvbsrc dvbbasebin dfbvideosink festival fluidsynth gsettingsvideosrc \
- gsettingsvideosink gsettingsaudiosrc gsettingsaudiosink linsyssdisrc linsyssdisink nassink \
+ decklinksink dtlssrtpdec dtlssrtpenc dvbsrc dvbbasebin dfbvideosink festival fluidsynth \
+ linsyssdisrc linsyssdisink nassink \
rsndvdbin sdlaudiosink sdlvideosink vcdsrc rfbsrc vdpauyuvvideo vdpauvideoyuv \
vdpaumpegdec vdpaumpeg4dec vdpauh264dec vdpauvideopostprocess vdpausink neonhttpsrc"
@@ -84,18 +84,18 @@
check_mpeg2enc =
endif
-if USE_MPG123
-check_mpg123 = elements/mpg123audiodec
-else
-check_mpg123 =
-endif
-
if USE_MPLEX
check_mplex = elements/mplex
else
check_mplex =
endif
+if USE_SMOOTHSTREAMING
+check_mssdemux = elements/mssdemux
+else
+check_mssdemux =
+endif
+
if USE_NEON
check_neon = elements/neonhttpsrc
else
@@ -170,7 +170,7 @@
if USE_HLS
check_hlsdemux_m3u8 = elements/hlsdemux_m3u8
-check_hls_demux = elements/hls_demux
+check_hlsdemux = elements/hls_demux
else
check_hlsdemux_m3u8 =
check_hlsdemux =
@@ -215,6 +215,7 @@
libs/gstglmemory \
libs/gstglupload \
libs/gstglcolorconvert \
+ libs/gstglquery \
libs/gstglsl \
elements/glimagesink
else
@@ -247,6 +248,7 @@
$(check_voamrwbenc) \
$(check_mpeg2enc) \
$(check_mplex) \
+ $(check_mssdemux) \
$(check_ofa) \
$(check_timidity) \
$(check_kate) \
@@ -273,9 +275,9 @@
elements/mpegtsmux \
elements/mpegvideoparse \
elements/mpeg4videoparse \
- $(check_mpg123) \
elements/mxfdemux \
elements/mxfmux \
+ elements/netsim \
elements/pcapparse \
elements/rtponvifparse \
elements/rtponviftimestamp \
@@ -446,11 +448,6 @@
elements_mpegtsmux_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(AM_CFLAGS)
elements_mpegtsmux_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) $(GST_BASE_LIBS) $(LDADD)
-elements_mpg123audiodec_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(AM_CFLAGS)
-elements_mpg123audiodec_LDADD = \
- $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) $(LDADD) \
- -lgstaudio-@GST_API_VERSION@ -lgstfft-@GST_API_VERSION@ -lgstapp-@GST_API_VERSION@
-
elements_uvch264demux_CFLAGS = -DUVCH264DEMUX_DATADIR="$(srcdir)/elements/uvch264demux_data" \
$(AM_CFLAGS)
@@ -468,6 +465,15 @@
elements_dash_demux_SOURCES = elements/test_http_src.c elements/test_http_src.h elements/adaptive_demux_engine.c elements/adaptive_demux_engine.h elements/adaptive_demux_common.c elements/adaptive_demux_common.h elements/dash_demux.c
+elements_mssdemux_CFLAGS = $(AM_CFLAGS) $(LIBXML2_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_PLUGINS_BAD_CFLAGS)
+elements_mssdemux_LDADD = \
+ $(LDADD) $(LIBXML2_LIBS) $(GST_BASE_LIBS) \
+ -lgsttag-$(GST_API_VERSION) \
+ -lgstapp-$(GST_API_VERSION) \
+ $(top_builddir)/gst-libs/gst/adaptivedemux/libgstadaptivedemux-@GST_API_VERSION@.la
+
+elements_mssdemux_SOURCES = elements/test_http_src.c elements/test_http_src.h elements/adaptive_demux_engine.c elements/adaptive_demux_engine.h elements/adaptive_demux_common.c elements/adaptive_demux_common.h elements/mssdemux.c
+
pipelines_streamheader_CFLAGS = $(GIO_CFLAGS) $(AM_CFLAGS)
pipelines_streamheader_LDADD = $(GIO_LIBS) $(LDADD)
@@ -570,6 +576,15 @@
$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
$(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
+libs_gstglquery_LDADD = \
+ $(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
+ $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
+
+libs_gstglquery_CFLAGS = \
+ $(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) \
+ -DGST_USE_UNSTABLE_API \
+ $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS)
+
libs_gstglsl_LDADD = \
$(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
$(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
diff --git a/tests/check/Makefile.in b/tests/check/Makefile.in
index 365db84..2f0441a 100644
--- a/tests/check/Makefile.in
+++ b/tests/check/Makefile.in
@@ -97,8 +97,8 @@
$(am__EXEEXT_5) $(am__EXEEXT_6) $(am__EXEEXT_7) \
$(am__EXEEXT_8) $(am__EXEEXT_9) $(am__EXEEXT_10) \
$(am__EXEEXT_11) $(am__EXEEXT_12) $(am__EXEEXT_13) \
- $(am__EXEEXT_14) $(am__EXEEXT_16) $(am__EXEEXT_17) \
- elements/aiffparse$(EXEEXT) \
+ $(am__EXEEXT_14) $(am__EXEEXT_15) $(am__EXEEXT_17) \
+ $(am__EXEEXT_18) elements/aiffparse$(EXEEXT) \
elements/videoframe-audiolevel$(EXEEXT) \
elements/autoconvert$(EXEEXT) \
elements/autovideoconvert$(EXEEXT) \
@@ -106,11 +106,11 @@
elements/asfmux$(EXEEXT) elements/camerabin$(EXEEXT) \
elements/dataurisrc$(EXEEXT) elements/gdppay$(EXEEXT) \
elements/gdpdepay$(EXEEXT) elements/compositor$(EXEEXT) \
- $(am__EXEEXT_18) elements/jpegparse$(EXEEXT) \
+ $(am__EXEEXT_19) elements/jpegparse$(EXEEXT) \
elements/h263parse$(EXEEXT) elements/h264parse$(EXEEXT) \
elements/mpegtsmux$(EXEEXT) elements/mpegvideoparse$(EXEEXT) \
- elements/mpeg4videoparse$(EXEEXT) $(am__EXEEXT_19) \
- elements/mxfdemux$(EXEEXT) elements/mxfmux$(EXEEXT) \
+ elements/mpeg4videoparse$(EXEEXT) elements/mxfdemux$(EXEEXT) \
+ elements/mxfmux$(EXEEXT) elements/netsim$(EXEEXT) \
elements/pcapparse$(EXEEXT) elements/rtponvifparse$(EXEEXT) \
elements/rtponviftimestamp$(EXEEXT) elements/id3mux$(EXEEXT) \
pipelines/mxf$(EXEEXT) $(am__EXEEXT_20) \
@@ -148,16 +148,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -187,19 +186,19 @@
@USE_VOAMRWBENC_TRUE@am__EXEEXT_7 = elements/voamrwbenc$(EXEEXT)
@USE_MPEG2ENC_TRUE@am__EXEEXT_8 = elements/mpeg2enc$(EXEEXT)
@USE_MPLEX_TRUE@am__EXEEXT_9 = elements/mplex$(EXEEXT)
-@USE_OFA_TRUE@am__EXEEXT_10 = elements/ofa$(EXEEXT)
-@USE_TIMIDITY_TRUE@am__EXEEXT_11 = elements/timidity$(EXEEXT)
-@USE_KATE_TRUE@am__EXEEXT_12 = elements/kate$(EXEEXT)
-@USE_OPENCV_TRUE@am__EXEEXT_13 = elements/templatematch$(EXEEXT)
-@USE_OPUS_TRUE@am__EXEEXT_14 = elements/opus$(EXEEXT)
-@USE_SSH2_TRUE@am__EXEEXT_15 = elements/curlsftpsink$(EXEEXT)
-@USE_CURL_TRUE@am__EXEEXT_16 = elements/curlhttpsink$(EXEEXT) \
+@USE_SMOOTHSTREAMING_TRUE@am__EXEEXT_10 = elements/mssdemux$(EXEEXT)
+@USE_OFA_TRUE@am__EXEEXT_11 = elements/ofa$(EXEEXT)
+@USE_TIMIDITY_TRUE@am__EXEEXT_12 = elements/timidity$(EXEEXT)
+@USE_KATE_TRUE@am__EXEEXT_13 = elements/kate$(EXEEXT)
+@USE_OPENCV_TRUE@am__EXEEXT_14 = elements/templatematch$(EXEEXT)
+@USE_OPUS_TRUE@am__EXEEXT_15 = elements/opus$(EXEEXT)
+@USE_SSH2_TRUE@am__EXEEXT_16 = elements/curlsftpsink$(EXEEXT)
+@USE_CURL_TRUE@am__EXEEXT_17 = elements/curlhttpsink$(EXEEXT) \
@USE_CURL_TRUE@ elements/curlfilesink$(EXEEXT) \
-@USE_CURL_TRUE@ elements/curlftpsink$(EXEEXT) $(am__EXEEXT_15) \
+@USE_CURL_TRUE@ elements/curlftpsink$(EXEEXT) $(am__EXEEXT_16) \
@USE_CURL_TRUE@ elements/curlsmtpsink$(EXEEXT)
-@USE_SHM_TRUE@am__EXEEXT_17 = elements/shm$(EXEEXT)
-@USE_EXIF_TRUE@am__EXEEXT_18 = elements/jifmux$(EXEEXT)
-@USE_MPG123_TRUE@am__EXEEXT_19 = elements/mpg123audiodec$(EXEEXT)
+@USE_SHM_TRUE@am__EXEEXT_18 = elements/shm$(EXEEXT)
+@USE_EXIF_TRUE@am__EXEEXT_19 = elements/jifmux$(EXEEXT)
@USE_MIMIC_TRUE@am__EXEEXT_20 = pipelines/mimic$(EXEEXT)
@USE_UVCH264_TRUE@am__EXEEXT_21 = elements/uvch264demux$(EXEEXT)
@USE_SCHRO_TRUE@am__EXEEXT_22 = elements/schroenc$(EXEEXT)
@@ -211,10 +210,10 @@
@USE_GL_TRUE@ libs/gstglmemory$(EXEEXT) \
@USE_GL_TRUE@ libs/gstglupload$(EXEEXT) \
@USE_GL_TRUE@ libs/gstglcolorconvert$(EXEEXT) \
-@USE_GL_TRUE@ libs/gstglsl$(EXEEXT) \
+@USE_GL_TRUE@ libs/gstglquery$(EXEEXT) libs/gstglsl$(EXEEXT) \
@USE_GL_TRUE@ elements/glimagesink$(EXEEXT)
@USE_HLS_TRUE@am__EXEEXT_27 = elements/hlsdemux_m3u8$(EXEEXT)
-am__EXEEXT_28 =
+@USE_HLS_TRUE@am__EXEEXT_28 = elements/hls_demux$(EXEEXT)
@WITH_GST_PLAYER_TESTS_TRUE@am__EXEEXT_29 = libs/player$(EXEEXT)
@USE_NEON_TRUE@am__EXEEXT_30 = elements/neonhttpsrc$(EXEEXT)
PROGRAMS = $(noinst_PROGRAMS)
@@ -381,6 +380,19 @@
elements_h264parse_SOURCES = elements/h264parse.c
elements_h264parse_OBJECTS = elements/h264parse.$(OBJEXT)
elements_h264parse_DEPENDENCIES = libparser.la $(am__DEPENDENCIES_2)
+am_elements_hls_demux_OBJECTS = \
+ elements/elements_hls_demux-test_http_src.$(OBJEXT) \
+ elements/elements_hls_demux-adaptive_demux_engine.$(OBJEXT) \
+ elements/elements_hls_demux-adaptive_demux_common.$(OBJEXT) \
+ 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) \
+ $(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) \
+ $(elements_hls_demux_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+ $(LDFLAGS) -o $@
am_elements_hlsdemux_m3u8_OBJECTS = \
elements/elements_hlsdemux_m3u8-hlsdemux_m3u8.$(OBJEXT)
elements_hlsdemux_m3u8_OBJECTS = $(am_elements_hlsdemux_m3u8_OBJECTS)
@@ -436,20 +448,23 @@
elements_mpegvideoparse_OBJECTS = elements/mpegvideoparse.$(OBJEXT)
elements_mpegvideoparse_DEPENDENCIES = libparser.la \
$(am__DEPENDENCIES_2)
-elements_mpg123audiodec_SOURCES = elements/mpg123audiodec.c
-elements_mpg123audiodec_OBJECTS = \
- elements/elements_mpg123audiodec-mpg123audiodec.$(OBJEXT)
-elements_mpg123audiodec_DEPENDENCIES = $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_2)
-elements_mpg123audiodec_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
- $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
- $(elements_mpg123audiodec_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
- $(LDFLAGS) -o $@
elements_mplex_SOURCES = elements/mplex.c
elements_mplex_OBJECTS = elements/mplex.$(OBJEXT)
elements_mplex_LDADD = $(LDADD)
elements_mplex_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_elements_mssdemux_OBJECTS = \
+ elements/elements_mssdemux-test_http_src.$(OBJEXT) \
+ elements/elements_mssdemux-adaptive_demux_engine.$(OBJEXT) \
+ elements/elements_mssdemux-adaptive_demux_common.$(OBJEXT) \
+ elements/elements_mssdemux-mssdemux.$(OBJEXT)
+elements_mssdemux_OBJECTS = $(am_elements_mssdemux_OBJECTS)
+elements_mssdemux_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+ $(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) \
+ $(elements_mssdemux_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+ -o $@
elements_mxfdemux_SOURCES = elements/mxfdemux.c
elements_mxfdemux_OBJECTS = elements/mxfdemux.$(OBJEXT)
elements_mxfdemux_LDADD = $(LDADD)
@@ -462,6 +477,10 @@
elements_neonhttpsrc_OBJECTS = elements/neonhttpsrc.$(OBJEXT)
elements_neonhttpsrc_LDADD = $(LDADD)
elements_neonhttpsrc_DEPENDENCIES = $(am__DEPENDENCIES_1)
+elements_netsim_SOURCES = elements/netsim.c
+elements_netsim_OBJECTS = elements/netsim.$(OBJEXT)
+elements_netsim_LDADD = $(LDADD)
+elements_netsim_DEPENDENCIES = $(am__DEPENDENCIES_1)
elements_ofa_SOURCES = elements/ofa.c
elements_ofa_OBJECTS = elements/ofa.$(OBJEXT)
elements_ofa_LDADD = $(LDADD)
@@ -608,6 +627,16 @@
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
$(libs_gstglmemory_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
+libs_gstglquery_SOURCES = libs/gstglquery.c
+libs_gstglquery_OBJECTS = libs/libs_gstglquery-gstglquery.$(OBJEXT)
+libs_gstglquery_DEPENDENCIES = \
+ $(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+libs_gstglquery_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+ $(libs_gstglquery_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+ -o $@
libs_gstglsl_SOURCES = libs/gstglsl.c
libs_gstglsl_OBJECTS = libs/libs_gstglsl-gstglsl.$(OBJEXT)
libs_gstglsl_DEPENDENCIES = \
@@ -776,13 +805,14 @@
$(elements_dash_mpd_SOURCES) elements/dataurisrc.c \
elements/faac.c elements/faad.c elements/gdpdepay.c \
elements/gdppay.c elements/glimagesink.c elements/h263parse.c \
- elements/h264parse.c $(elements_hlsdemux_m3u8_SOURCES) \
- elements/id3mux.c $(elements_jifmux_SOURCES) \
- elements/jpegparse.c elements/kate.c elements/mpeg2enc.c \
- elements/mpeg4videoparse.c elements/mpegtsmux.c \
- elements/mpegvideoparse.c elements/mpg123audiodec.c \
- elements/mplex.c elements/mxfdemux.c elements/mxfmux.c \
- elements/neonhttpsrc.c elements/ofa.c elements/opus.c \
+ elements/h264parse.c $(elements_hls_demux_SOURCES) \
+ $(elements_hlsdemux_m3u8_SOURCES) elements/id3mux.c \
+ $(elements_jifmux_SOURCES) elements/jpegparse.c \
+ elements/kate.c elements/mpeg2enc.c elements/mpeg4videoparse.c \
+ elements/mpegtsmux.c elements/mpegvideoparse.c \
+ elements/mplex.c $(elements_mssdemux_SOURCES) \
+ elements/mxfdemux.c elements/mxfmux.c elements/neonhttpsrc.c \
+ elements/netsim.c elements/ofa.c elements/opus.c \
elements/pcapparse.c elements/rtponvifparse.c \
elements/rtponviftimestamp.c elements/schroenc.c \
elements/shm.c elements/templatematch.c elements/timidity.c \
@@ -790,13 +820,14 @@
elements/viewfinderbin.c elements/voaacenc.c \
elements/voamrwbenc.c elements/x265enc.c elements/zbar.c \
generic/states.c libs/aggregator.c libs/gstglcolorconvert.c \
- libs/gstglcontext.c libs/gstglmemory.c libs/gstglsl.c \
- libs/gstglupload.c libs/h264parser.c libs/insertbin.c \
- libs/mpegts.c libs/mpegvideoparser.c $(libs_player_SOURCES) \
- $(nodist_libs_player_SOURCES) libs/vc1parser.c \
- libs/vp8parser.c $(nodist_orc_audiomixer_SOURCES) \
- $(nodist_orc_bayer_SOURCES) $(nodist_orc_compositor_SOURCES) \
- pipelines/mimic.c pipelines/mxf.c pipelines/streamheader.c
+ libs/gstglcontext.c libs/gstglmemory.c libs/gstglquery.c \
+ libs/gstglsl.c libs/gstglupload.c libs/h264parser.c \
+ libs/insertbin.c libs/mpegts.c libs/mpegvideoparser.c \
+ $(libs_player_SOURCES) $(nodist_libs_player_SOURCES) \
+ libs/vc1parser.c libs/vp8parser.c \
+ $(nodist_orc_audiomixer_SOURCES) $(nodist_orc_bayer_SOURCES) \
+ $(nodist_orc_compositor_SOURCES) pipelines/mimic.c \
+ pipelines/mxf.c pipelines/streamheader.c
DIST_SOURCES = $(libparser_la_SOURCES) elements/aiffparse.c \
elements/asfmux.c elements/assrender.c \
elements/audiointerleave.c elements/audiomixer.c \
@@ -808,13 +839,14 @@
$(elements_dash_mpd_SOURCES) elements/dataurisrc.c \
elements/faac.c elements/faad.c elements/gdpdepay.c \
elements/gdppay.c elements/glimagesink.c elements/h263parse.c \
- elements/h264parse.c $(elements_hlsdemux_m3u8_SOURCES) \
- elements/id3mux.c $(elements_jifmux_SOURCES) \
- elements/jpegparse.c elements/kate.c elements/mpeg2enc.c \
- elements/mpeg4videoparse.c elements/mpegtsmux.c \
- elements/mpegvideoparse.c elements/mpg123audiodec.c \
- elements/mplex.c elements/mxfdemux.c elements/mxfmux.c \
- elements/neonhttpsrc.c elements/ofa.c elements/opus.c \
+ elements/h264parse.c $(elements_hls_demux_SOURCES) \
+ $(elements_hlsdemux_m3u8_SOURCES) elements/id3mux.c \
+ $(elements_jifmux_SOURCES) elements/jpegparse.c \
+ elements/kate.c elements/mpeg2enc.c elements/mpeg4videoparse.c \
+ elements/mpegtsmux.c elements/mpegvideoparse.c \
+ elements/mplex.c $(elements_mssdemux_SOURCES) \
+ elements/mxfdemux.c elements/mxfmux.c elements/neonhttpsrc.c \
+ elements/netsim.c elements/ofa.c elements/opus.c \
elements/pcapparse.c elements/rtponvifparse.c \
elements/rtponviftimestamp.c elements/schroenc.c \
elements/shm.c elements/templatematch.c elements/timidity.c \
@@ -822,11 +854,11 @@
elements/viewfinderbin.c elements/voaacenc.c \
elements/voamrwbenc.c elements/x265enc.c elements/zbar.c \
generic/states.c libs/aggregator.c libs/gstglcolorconvert.c \
- libs/gstglcontext.c libs/gstglmemory.c libs/gstglsl.c \
- libs/gstglupload.c libs/h264parser.c libs/insertbin.c \
- libs/mpegts.c libs/mpegvideoparser.c $(libs_player_SOURCES) \
- libs/vc1parser.c libs/vp8parser.c pipelines/mimic.c \
- pipelines/mxf.c pipelines/streamheader.c
+ libs/gstglcontext.c libs/gstglmemory.c libs/gstglquery.c \
+ libs/gstglsl.c libs/gstglupload.c libs/h264parser.c \
+ libs/insertbin.c libs/mpegts.c libs/mpegvideoparser.c \
+ $(libs_player_SOURCES) libs/vc1parser.c libs/vp8parser.c \
+ pipelines/mimic.c pipelines/mxf.c pipelines/streamheader.c
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -1143,7 +1175,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -1165,7 +1196,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -1187,9 +1217,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -1351,6 +1378,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -1364,8 +1392,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -1452,8 +1478,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -1505,6 +1529,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -1525,6 +1550,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -1562,7 +1589,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -1603,6 +1629,20 @@
top_srcdir = @top_srcdir@
wayland_scanner = @wayland_scanner@
+# GST_PLUGINS_XYZ_DIR is only set in an uninstalled setup
+AM_TESTS_ENVIRONMENT = CK_DEFAULT_TIMEOUT=20 $(REGISTRY_ENVIRONMENT) \
+ GST_PLUGIN_SYSTEM_PATH_1_0= \
+ GST_PLUGIN_PATH_1_0=$(top_builddir)/gst:$(top_builddir)/sys:$(top_builddir)/ext:$(GST_PLUGINS_LIBAV_DIR):$(GST_PLUGINS_UGLY_DIR):$(GST_PLUGINS_GOOD_DIR):$(GST_PLUGINS_BASE_DIR):$(GST_PLUGINS_DIR) \
+ GST_PLUGIN_LOADING_WHITELIST="gstreamer@$(GST_PLUGINS_DIR):gst-plugins-base@$(GSTPB_PLUGINS_DIR):gst-plugins-good:gst-plugins-ugly:gst-libav:gst-plugins-bad@$(top_builddir)" \
+ GST_STATE_IGNORE_ELEMENTS="apexsink avdtpsrc camerabin \
+ dc1394src dccpclientsrc dccpclientsink dccpserversrc \
+ dccpserversink decklinksrc decklinksink dtlssrtpdec \
+ dtlssrtpenc dvbsrc dvbbasebin dfbvideosink festival fluidsynth \
+ linsyssdisrc linsyssdisink nassink rsndvdbin sdlaudiosink \
+ sdlvideosink vcdsrc rfbsrc vdpauyuvvideo vdpauvideoyuv \
+ vdpaumpegdec vdpaumpeg4dec vdpauh264dec vdpauvideopostprocess \
+ vdpausink neonhttpsrc"
+
# inspect every plugin feature
GST_INSPECT = $(GST_TOOLS_DIR)/gst-inspect-$(GST_API_VERSION)
CHECK_REGISTRY = $(top_builddir)/tests/check/test-registry.reg
@@ -1611,20 +1651,6 @@
GST_REGISTRY_1_0=$(CHECK_REGISTRY)
-# GST_PLUGINS_XYZ_DIR is only set in an uninstalled setup
-AM_TESTS_ENVIRONMENT = \
- $(REGISTRY_ENVIRONMENT) \
- GST_PLUGIN_SYSTEM_PATH_1_0= \
- GST_PLUGIN_PATH_1_0=$(top_builddir)/gst:$(top_builddir)/sys:$(top_builddir)/ext:$(GST_PLUGINS_LIBAV_DIR):$(GST_PLUGINS_UGLY_DIR):$(GST_PLUGINS_GOOD_DIR):$(GST_PLUGINS_BASE_DIR):$(GST_PLUGINS_DIR) \
- GST_PLUGIN_LOADING_WHITELIST="gstreamer@$(GST_PLUGINS_DIR):gst-plugins-base@$(GSTPB_PLUGINS_DIR):gst-plugins-good:gst-plugins-ugly:gst-libav:gst-plugins-bad@$(top_builddir)" \
- GST_STATE_IGNORE_ELEMENTS="apexsink avdtpsrc camerabin dc1394src \
- dccpclientsrc dccpclientsink dccpserversrc dccpserversink decklinksrc \
- decklinksink dtlssrtpdec dtlssrtpenc dvbsrc dvbbasebin dfbvideosink festival fluidsynth gsettingsvideosrc \
- gsettingsvideosink gsettingsaudiosrc gsettingsaudiosink linsyssdisrc linsyssdisink nassink \
- rsndvdbin sdlaudiosink sdlvideosink vcdsrc rfbsrc vdpauyuvvideo vdpauvideoyuv \
- vdpaumpegdec vdpaumpeg4dec vdpauh264dec vdpauvideopostprocess vdpausink neonhttpsrc"
-
-
# the core dumps of some machines have PIDs appended
CLEANFILES = core.* test-registry.* $(am__append_1)
SUPPRESSIONS = $(top_srcdir)/common/gst.supp $(srcdir)/gst-plugins-bad.supp
@@ -1646,10 +1672,10 @@
@USE_EXIF_TRUE@check_jifmux = elements/jifmux
@USE_MPEG2ENC_FALSE@check_mpeg2enc =
@USE_MPEG2ENC_TRUE@check_mpeg2enc = elements/mpeg2enc
-@USE_MPG123_FALSE@check_mpg123 =
-@USE_MPG123_TRUE@check_mpg123 = elements/mpg123audiodec
@USE_MPLEX_FALSE@check_mplex =
@USE_MPLEX_TRUE@check_mplex = elements/mplex
+@USE_SMOOTHSTREAMING_FALSE@check_mssdemux =
+@USE_SMOOTHSTREAMING_TRUE@check_mssdemux = elements/mssdemux
@USE_NEON_FALSE@check_neon =
@USE_NEON_TRUE@check_neon = elements/neonhttpsrc
@USE_OFA_FALSE@check_ofa =
@@ -1676,8 +1702,8 @@
@USE_SSH2_TRUE@check_curl_sftp = elements/curlsftpsink
@USE_HLS_FALSE@check_hlsdemux_m3u8 =
@USE_HLS_TRUE@check_hlsdemux_m3u8 = elements/hlsdemux_m3u8
-@USE_HLS_TRUE@check_hls_demux = elements/hls_demux
@USE_HLS_FALSE@check_hlsdemux =
+@USE_HLS_TRUE@check_hlsdemux = elements/hls_demux
@WITH_GST_PLAYER_TESTS_FALSE@check_player =
@WITH_GST_PLAYER_TESTS_TRUE@check_player = libs/player
@USE_CURL_FALSE@check_curl =
@@ -1703,6 +1729,7 @@
@USE_GL_TRUE@ libs/gstglmemory \
@USE_GL_TRUE@ libs/gstglupload \
@USE_GL_TRUE@ libs/gstglcolorconvert \
+@USE_GL_TRUE@ libs/gstglquery \
@USE_GL_TRUE@ libs/gstglsl \
@USE_GL_TRUE@ elements/glimagesink
@@ -1852,11 +1879,6 @@
elements_assrender_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) -lgstapp-$(GST_API_VERSION) $(GST_BASE_LIBS) $(LDADD)
elements_mpegtsmux_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(AM_CFLAGS)
elements_mpegtsmux_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) $(GST_BASE_LIBS) $(LDADD)
-elements_mpg123audiodec_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(AM_CFLAGS)
-elements_mpg123audiodec_LDADD = \
- $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) $(LDADD) \
- -lgstaudio-@GST_API_VERSION@ -lgstfft-@GST_API_VERSION@ -lgstapp-@GST_API_VERSION@
-
elements_uvch264demux_CFLAGS = -DUVCH264DEMUX_DATADIR="$(srcdir)/elements/uvch264demux_data" \
$(AM_CFLAGS)
@@ -1873,6 +1895,14 @@
$(top_builddir)/gst-libs/gst/adaptivedemux/libgstadaptivedemux-@GST_API_VERSION@.la
elements_dash_demux_SOURCES = elements/test_http_src.c elements/test_http_src.h elements/adaptive_demux_engine.c elements/adaptive_demux_engine.h elements/adaptive_demux_common.c elements/adaptive_demux_common.h elements/dash_demux.c
+elements_mssdemux_CFLAGS = $(AM_CFLAGS) $(LIBXML2_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_PLUGINS_BAD_CFLAGS)
+elements_mssdemux_LDADD = \
+ $(LDADD) $(LIBXML2_LIBS) $(GST_BASE_LIBS) \
+ -lgsttag-$(GST_API_VERSION) \
+ -lgstapp-$(GST_API_VERSION) \
+ $(top_builddir)/gst-libs/gst/adaptivedemux/libgstadaptivedemux-@GST_API_VERSION@.la
+
+elements_mssdemux_SOURCES = elements/test_http_src.c elements/test_http_src.h elements/adaptive_demux_engine.c elements/adaptive_demux_engine.h elements/adaptive_demux_common.c elements/adaptive_demux_common.h elements/mssdemux.c
pipelines_streamheader_CFLAGS = $(GIO_CFLAGS) $(AM_CFLAGS)
pipelines_streamheader_LDADD = $(GIO_LIBS) $(LDADD)
libs_insertbin_LDADD = \
@@ -1950,6 +1980,15 @@
$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
$(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
+libs_gstglquery_LDADD = \
+ $(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
+ $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
+
+libs_gstglquery_CFLAGS = \
+ $(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) \
+ -DGST_USE_UNSTABLE_API \
+ $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS)
+
libs_gstglsl_LDADD = \
$(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
$(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
@@ -2225,6 +2264,18 @@
elements/h264parse$(EXEEXT): $(elements_h264parse_OBJECTS) $(elements_h264parse_DEPENDENCIES) $(EXTRA_elements_h264parse_DEPENDENCIES) elements/$(am__dirstamp)
@rm -f elements/h264parse$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(elements_h264parse_OBJECTS) $(elements_h264parse_LDADD) $(LIBS)
+elements/elements_hls_demux-test_http_src.$(OBJEXT): \
+ elements/$(am__dirstamp) elements/$(DEPDIR)/$(am__dirstamp)
+elements/elements_hls_demux-adaptive_demux_engine.$(OBJEXT): \
+ elements/$(am__dirstamp) elements/$(DEPDIR)/$(am__dirstamp)
+elements/elements_hls_demux-adaptive_demux_common.$(OBJEXT): \
+ elements/$(am__dirstamp) elements/$(DEPDIR)/$(am__dirstamp)
+elements/elements_hls_demux-hls_demux.$(OBJEXT): \
+ elements/$(am__dirstamp) elements/$(DEPDIR)/$(am__dirstamp)
+
+elements/hls_demux$(EXEEXT): $(elements_hls_demux_OBJECTS) $(elements_hls_demux_DEPENDENCIES) $(EXTRA_elements_hls_demux_DEPENDENCIES) elements/$(am__dirstamp)
+ @rm -f elements/hls_demux$(EXEEXT)
+ $(AM_V_CCLD)$(elements_hls_demux_LINK) $(elements_hls_demux_OBJECTS) $(elements_hls_demux_LDADD) $(LIBS)
elements/elements_hlsdemux_m3u8-hlsdemux_m3u8.$(OBJEXT): \
elements/$(am__dirstamp) elements/$(DEPDIR)/$(am__dirstamp)
@@ -2279,18 +2330,24 @@
elements/mpegvideoparse$(EXEEXT): $(elements_mpegvideoparse_OBJECTS) $(elements_mpegvideoparse_DEPENDENCIES) $(EXTRA_elements_mpegvideoparse_DEPENDENCIES) elements/$(am__dirstamp)
@rm -f elements/mpegvideoparse$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(elements_mpegvideoparse_OBJECTS) $(elements_mpegvideoparse_LDADD) $(LIBS)
-elements/elements_mpg123audiodec-mpg123audiodec.$(OBJEXT): \
- elements/$(am__dirstamp) elements/$(DEPDIR)/$(am__dirstamp)
-
-elements/mpg123audiodec$(EXEEXT): $(elements_mpg123audiodec_OBJECTS) $(elements_mpg123audiodec_DEPENDENCIES) $(EXTRA_elements_mpg123audiodec_DEPENDENCIES) elements/$(am__dirstamp)
- @rm -f elements/mpg123audiodec$(EXEEXT)
- $(AM_V_CCLD)$(elements_mpg123audiodec_LINK) $(elements_mpg123audiodec_OBJECTS) $(elements_mpg123audiodec_LDADD) $(LIBS)
elements/mplex.$(OBJEXT): elements/$(am__dirstamp) \
elements/$(DEPDIR)/$(am__dirstamp)
elements/mplex$(EXEEXT): $(elements_mplex_OBJECTS) $(elements_mplex_DEPENDENCIES) $(EXTRA_elements_mplex_DEPENDENCIES) elements/$(am__dirstamp)
@rm -f elements/mplex$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(elements_mplex_OBJECTS) $(elements_mplex_LDADD) $(LIBS)
+elements/elements_mssdemux-test_http_src.$(OBJEXT): \
+ elements/$(am__dirstamp) elements/$(DEPDIR)/$(am__dirstamp)
+elements/elements_mssdemux-adaptive_demux_engine.$(OBJEXT): \
+ elements/$(am__dirstamp) elements/$(DEPDIR)/$(am__dirstamp)
+elements/elements_mssdemux-adaptive_demux_common.$(OBJEXT): \
+ elements/$(am__dirstamp) elements/$(DEPDIR)/$(am__dirstamp)
+elements/elements_mssdemux-mssdemux.$(OBJEXT): \
+ elements/$(am__dirstamp) elements/$(DEPDIR)/$(am__dirstamp)
+
+elements/mssdemux$(EXEEXT): $(elements_mssdemux_OBJECTS) $(elements_mssdemux_DEPENDENCIES) $(EXTRA_elements_mssdemux_DEPENDENCIES) elements/$(am__dirstamp)
+ @rm -f elements/mssdemux$(EXEEXT)
+ $(AM_V_CCLD)$(elements_mssdemux_LINK) $(elements_mssdemux_OBJECTS) $(elements_mssdemux_LDADD) $(LIBS)
elements/mxfdemux.$(OBJEXT): elements/$(am__dirstamp) \
elements/$(DEPDIR)/$(am__dirstamp)
@@ -2309,6 +2366,12 @@
elements/neonhttpsrc$(EXEEXT): $(elements_neonhttpsrc_OBJECTS) $(elements_neonhttpsrc_DEPENDENCIES) $(EXTRA_elements_neonhttpsrc_DEPENDENCIES) elements/$(am__dirstamp)
@rm -f elements/neonhttpsrc$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(elements_neonhttpsrc_OBJECTS) $(elements_neonhttpsrc_LDADD) $(LIBS)
+elements/netsim.$(OBJEXT): elements/$(am__dirstamp) \
+ elements/$(DEPDIR)/$(am__dirstamp)
+
+elements/netsim$(EXEEXT): $(elements_netsim_OBJECTS) $(elements_netsim_DEPENDENCIES) $(EXTRA_elements_netsim_DEPENDENCIES) elements/$(am__dirstamp)
+ @rm -f elements/netsim$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(elements_netsim_OBJECTS) $(elements_netsim_LDADD) $(LIBS)
elements/ofa.$(OBJEXT): elements/$(am__dirstamp) \
elements/$(DEPDIR)/$(am__dirstamp)
@@ -2447,6 +2510,12 @@
libs/gstglmemory$(EXEEXT): $(libs_gstglmemory_OBJECTS) $(libs_gstglmemory_DEPENDENCIES) $(EXTRA_libs_gstglmemory_DEPENDENCIES) libs/$(am__dirstamp)
@rm -f libs/gstglmemory$(EXEEXT)
$(AM_V_CCLD)$(libs_gstglmemory_LINK) $(libs_gstglmemory_OBJECTS) $(libs_gstglmemory_LDADD) $(LIBS)
+libs/libs_gstglquery-gstglquery.$(OBJEXT): libs/$(am__dirstamp) \
+ libs/$(DEPDIR)/$(am__dirstamp)
+
+libs/gstglquery$(EXEEXT): $(libs_gstglquery_OBJECTS) $(libs_gstglquery_DEPENDENCIES) $(EXTRA_libs_gstglquery_DEPENDENCIES) libs/$(am__dirstamp)
+ @rm -f libs/gstglquery$(EXEEXT)
+ $(AM_V_CCLD)$(libs_gstglquery_LINK) $(libs_gstglquery_OBJECTS) $(libs_gstglquery_LDADD) $(LIBS)
libs/libs_gstglsl-gstglsl.$(OBJEXT): libs/$(am__dirstamp) \
libs/$(DEPDIR)/$(am__dirstamp)
@@ -2589,11 +2658,18 @@
@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_gdpdepay-gdpdepay.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_gdppay-gdppay.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_glimagesink-glimagesink.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_hls_demux-adaptive_demux_common.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_hls_demux-adaptive_demux_engine.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_hls_demux-hls_demux.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_hls_demux-test_http_src.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_hlsdemux_m3u8-hlsdemux_m3u8.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_jifmux-jifmux.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_kate-kate.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_mpegtsmux-mpegtsmux.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_mpg123audiodec-mpg123audiodec.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_mssdemux-adaptive_demux_common.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_mssdemux-adaptive_demux_engine.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_mssdemux-mssdemux.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_mssdemux-test_http_src.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_rtponvifparse-rtponvifparse.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_rtponviftimestamp-rtponviftimestamp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_timidity-timidity.Po@am__quote@
@@ -2612,6 +2688,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/mxfdemux.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/mxfmux.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/neonhttpsrc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/netsim.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/ofa.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/opus.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/pcapparse.Po@am__quote@
@@ -2627,6 +2704,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@libs/$(DEPDIR)/libs_gstglcolorconvert-gstglcolorconvert.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libs/$(DEPDIR)/libs_gstglcontext-gstglcontext.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libs/$(DEPDIR)/libs_gstglmemory-gstglmemory.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libs/$(DEPDIR)/libs_gstglquery-gstglquery.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libs/$(DEPDIR)/libs_gstglsl-gstglsl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libs/$(DEPDIR)/libs_gstglupload-gstglupload.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@libs/$(DEPDIR)/libs_h264parser-h264parser.Po@am__quote@
@@ -2885,6 +2963,62 @@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_glimagesink_CFLAGS) $(CFLAGS) -c -o elements/elements_glimagesink-glimagesink.obj `if test -f 'elements/glimagesink.c'; then $(CYGPATH_W) 'elements/glimagesink.c'; else $(CYGPATH_W) '$(srcdir)/elements/glimagesink.c'; fi`
+elements/elements_hls_demux-test_http_src.o: elements/test_http_src.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_hls_demux_CFLAGS) $(CFLAGS) -MT elements/elements_hls_demux-test_http_src.o -MD -MP -MF elements/$(DEPDIR)/elements_hls_demux-test_http_src.Tpo -c -o elements/elements_hls_demux-test_http_src.o `test -f 'elements/test_http_src.c' || echo '$(srcdir)/'`elements/test_http_src.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_hls_demux-test_http_src.Tpo elements/$(DEPDIR)/elements_hls_demux-test_http_src.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='elements/test_http_src.c' object='elements/elements_hls_demux-test_http_src.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_hls_demux_CFLAGS) $(CFLAGS) -c -o elements/elements_hls_demux-test_http_src.o `test -f 'elements/test_http_src.c' || echo '$(srcdir)/'`elements/test_http_src.c
+
+elements/elements_hls_demux-test_http_src.obj: elements/test_http_src.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_hls_demux_CFLAGS) $(CFLAGS) -MT elements/elements_hls_demux-test_http_src.obj -MD -MP -MF elements/$(DEPDIR)/elements_hls_demux-test_http_src.Tpo -c -o elements/elements_hls_demux-test_http_src.obj `if test -f 'elements/test_http_src.c'; then $(CYGPATH_W) 'elements/test_http_src.c'; else $(CYGPATH_W) '$(srcdir)/elements/test_http_src.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_hls_demux-test_http_src.Tpo elements/$(DEPDIR)/elements_hls_demux-test_http_src.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='elements/test_http_src.c' object='elements/elements_hls_demux-test_http_src.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_hls_demux_CFLAGS) $(CFLAGS) -c -o elements/elements_hls_demux-test_http_src.obj `if test -f 'elements/test_http_src.c'; then $(CYGPATH_W) 'elements/test_http_src.c'; else $(CYGPATH_W) '$(srcdir)/elements/test_http_src.c'; fi`
+
+elements/elements_hls_demux-adaptive_demux_engine.o: elements/adaptive_demux_engine.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_hls_demux_CFLAGS) $(CFLAGS) -MT elements/elements_hls_demux-adaptive_demux_engine.o -MD -MP -MF elements/$(DEPDIR)/elements_hls_demux-adaptive_demux_engine.Tpo -c -o elements/elements_hls_demux-adaptive_demux_engine.o `test -f 'elements/adaptive_demux_engine.c' || echo '$(srcdir)/'`elements/adaptive_demux_engine.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_hls_demux-adaptive_demux_engine.Tpo elements/$(DEPDIR)/elements_hls_demux-adaptive_demux_engine.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='elements/adaptive_demux_engine.c' object='elements/elements_hls_demux-adaptive_demux_engine.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_hls_demux_CFLAGS) $(CFLAGS) -c -o elements/elements_hls_demux-adaptive_demux_engine.o `test -f 'elements/adaptive_demux_engine.c' || echo '$(srcdir)/'`elements/adaptive_demux_engine.c
+
+elements/elements_hls_demux-adaptive_demux_engine.obj: elements/adaptive_demux_engine.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_hls_demux_CFLAGS) $(CFLAGS) -MT elements/elements_hls_demux-adaptive_demux_engine.obj -MD -MP -MF elements/$(DEPDIR)/elements_hls_demux-adaptive_demux_engine.Tpo -c -o elements/elements_hls_demux-adaptive_demux_engine.obj `if test -f 'elements/adaptive_demux_engine.c'; then $(CYGPATH_W) 'elements/adaptive_demux_engine.c'; else $(CYGPATH_W) '$(srcdir)/elements/adaptive_demux_engine.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_hls_demux-adaptive_demux_engine.Tpo elements/$(DEPDIR)/elements_hls_demux-adaptive_demux_engine.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='elements/adaptive_demux_engine.c' object='elements/elements_hls_demux-adaptive_demux_engine.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_hls_demux_CFLAGS) $(CFLAGS) -c -o elements/elements_hls_demux-adaptive_demux_engine.obj `if test -f 'elements/adaptive_demux_engine.c'; then $(CYGPATH_W) 'elements/adaptive_demux_engine.c'; else $(CYGPATH_W) '$(srcdir)/elements/adaptive_demux_engine.c'; fi`
+
+elements/elements_hls_demux-adaptive_demux_common.o: elements/adaptive_demux_common.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_hls_demux_CFLAGS) $(CFLAGS) -MT elements/elements_hls_demux-adaptive_demux_common.o -MD -MP -MF elements/$(DEPDIR)/elements_hls_demux-adaptive_demux_common.Tpo -c -o elements/elements_hls_demux-adaptive_demux_common.o `test -f 'elements/adaptive_demux_common.c' || echo '$(srcdir)/'`elements/adaptive_demux_common.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_hls_demux-adaptive_demux_common.Tpo elements/$(DEPDIR)/elements_hls_demux-adaptive_demux_common.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='elements/adaptive_demux_common.c' object='elements/elements_hls_demux-adaptive_demux_common.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_hls_demux_CFLAGS) $(CFLAGS) -c -o elements/elements_hls_demux-adaptive_demux_common.o `test -f 'elements/adaptive_demux_common.c' || echo '$(srcdir)/'`elements/adaptive_demux_common.c
+
+elements/elements_hls_demux-adaptive_demux_common.obj: elements/adaptive_demux_common.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_hls_demux_CFLAGS) $(CFLAGS) -MT elements/elements_hls_demux-adaptive_demux_common.obj -MD -MP -MF elements/$(DEPDIR)/elements_hls_demux-adaptive_demux_common.Tpo -c -o elements/elements_hls_demux-adaptive_demux_common.obj `if test -f 'elements/adaptive_demux_common.c'; then $(CYGPATH_W) 'elements/adaptive_demux_common.c'; else $(CYGPATH_W) '$(srcdir)/elements/adaptive_demux_common.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_hls_demux-adaptive_demux_common.Tpo elements/$(DEPDIR)/elements_hls_demux-adaptive_demux_common.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='elements/adaptive_demux_common.c' object='elements/elements_hls_demux-adaptive_demux_common.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_hls_demux_CFLAGS) $(CFLAGS) -c -o elements/elements_hls_demux-adaptive_demux_common.obj `if test -f 'elements/adaptive_demux_common.c'; then $(CYGPATH_W) 'elements/adaptive_demux_common.c'; else $(CYGPATH_W) '$(srcdir)/elements/adaptive_demux_common.c'; fi`
+
+elements/elements_hls_demux-hls_demux.o: elements/hls_demux.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_hls_demux_CFLAGS) $(CFLAGS) -MT elements/elements_hls_demux-hls_demux.o -MD -MP -MF elements/$(DEPDIR)/elements_hls_demux-hls_demux.Tpo -c -o elements/elements_hls_demux-hls_demux.o `test -f 'elements/hls_demux.c' || echo '$(srcdir)/'`elements/hls_demux.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_hls_demux-hls_demux.Tpo elements/$(DEPDIR)/elements_hls_demux-hls_demux.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='elements/hls_demux.c' object='elements/elements_hls_demux-hls_demux.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_hls_demux_CFLAGS) $(CFLAGS) -c -o elements/elements_hls_demux-hls_demux.o `test -f 'elements/hls_demux.c' || echo '$(srcdir)/'`elements/hls_demux.c
+
+elements/elements_hls_demux-hls_demux.obj: elements/hls_demux.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_hls_demux_CFLAGS) $(CFLAGS) -MT elements/elements_hls_demux-hls_demux.obj -MD -MP -MF elements/$(DEPDIR)/elements_hls_demux-hls_demux.Tpo -c -o elements/elements_hls_demux-hls_demux.obj `if test -f 'elements/hls_demux.c'; then $(CYGPATH_W) 'elements/hls_demux.c'; else $(CYGPATH_W) '$(srcdir)/elements/hls_demux.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_hls_demux-hls_demux.Tpo elements/$(DEPDIR)/elements_hls_demux-hls_demux.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='elements/hls_demux.c' object='elements/elements_hls_demux-hls_demux.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_hls_demux_CFLAGS) $(CFLAGS) -c -o elements/elements_hls_demux-hls_demux.obj `if test -f 'elements/hls_demux.c'; then $(CYGPATH_W) 'elements/hls_demux.c'; else $(CYGPATH_W) '$(srcdir)/elements/hls_demux.c'; fi`
+
elements/elements_hlsdemux_m3u8-hlsdemux_m3u8.o: elements/hlsdemux_m3u8.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_hlsdemux_m3u8_CFLAGS) $(CFLAGS) -MT elements/elements_hlsdemux_m3u8-hlsdemux_m3u8.o -MD -MP -MF elements/$(DEPDIR)/elements_hlsdemux_m3u8-hlsdemux_m3u8.Tpo -c -o elements/elements_hlsdemux_m3u8-hlsdemux_m3u8.o `test -f 'elements/hlsdemux_m3u8.c' || echo '$(srcdir)/'`elements/hlsdemux_m3u8.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_hlsdemux_m3u8-hlsdemux_m3u8.Tpo elements/$(DEPDIR)/elements_hlsdemux_m3u8-hlsdemux_m3u8.Po
@@ -2941,19 +3075,61 @@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_mpegtsmux_CFLAGS) $(CFLAGS) -c -o elements/elements_mpegtsmux-mpegtsmux.obj `if test -f 'elements/mpegtsmux.c'; then $(CYGPATH_W) 'elements/mpegtsmux.c'; else $(CYGPATH_W) '$(srcdir)/elements/mpegtsmux.c'; fi`
-elements/elements_mpg123audiodec-mpg123audiodec.o: elements/mpg123audiodec.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_mpg123audiodec_CFLAGS) $(CFLAGS) -MT elements/elements_mpg123audiodec-mpg123audiodec.o -MD -MP -MF elements/$(DEPDIR)/elements_mpg123audiodec-mpg123audiodec.Tpo -c -o elements/elements_mpg123audiodec-mpg123audiodec.o `test -f 'elements/mpg123audiodec.c' || echo '$(srcdir)/'`elements/mpg123audiodec.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_mpg123audiodec-mpg123audiodec.Tpo elements/$(DEPDIR)/elements_mpg123audiodec-mpg123audiodec.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='elements/mpg123audiodec.c' object='elements/elements_mpg123audiodec-mpg123audiodec.o' libtool=no @AMDEPBACKSLASH@
+elements/elements_mssdemux-test_http_src.o: elements/test_http_src.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_mssdemux_CFLAGS) $(CFLAGS) -MT elements/elements_mssdemux-test_http_src.o -MD -MP -MF elements/$(DEPDIR)/elements_mssdemux-test_http_src.Tpo -c -o elements/elements_mssdemux-test_http_src.o `test -f 'elements/test_http_src.c' || echo '$(srcdir)/'`elements/test_http_src.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_mssdemux-test_http_src.Tpo elements/$(DEPDIR)/elements_mssdemux-test_http_src.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='elements/test_http_src.c' object='elements/elements_mssdemux-test_http_src.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_mpg123audiodec_CFLAGS) $(CFLAGS) -c -o elements/elements_mpg123audiodec-mpg123audiodec.o `test -f 'elements/mpg123audiodec.c' || echo '$(srcdir)/'`elements/mpg123audiodec.c
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_mssdemux_CFLAGS) $(CFLAGS) -c -o elements/elements_mssdemux-test_http_src.o `test -f 'elements/test_http_src.c' || echo '$(srcdir)/'`elements/test_http_src.c
-elements/elements_mpg123audiodec-mpg123audiodec.obj: elements/mpg123audiodec.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_mpg123audiodec_CFLAGS) $(CFLAGS) -MT elements/elements_mpg123audiodec-mpg123audiodec.obj -MD -MP -MF elements/$(DEPDIR)/elements_mpg123audiodec-mpg123audiodec.Tpo -c -o elements/elements_mpg123audiodec-mpg123audiodec.obj `if test -f 'elements/mpg123audiodec.c'; then $(CYGPATH_W) 'elements/mpg123audiodec.c'; else $(CYGPATH_W) '$(srcdir)/elements/mpg123audiodec.c'; fi`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_mpg123audiodec-mpg123audiodec.Tpo elements/$(DEPDIR)/elements_mpg123audiodec-mpg123audiodec.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='elements/mpg123audiodec.c' object='elements/elements_mpg123audiodec-mpg123audiodec.obj' libtool=no @AMDEPBACKSLASH@
+elements/elements_mssdemux-test_http_src.obj: elements/test_http_src.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_mssdemux_CFLAGS) $(CFLAGS) -MT elements/elements_mssdemux-test_http_src.obj -MD -MP -MF elements/$(DEPDIR)/elements_mssdemux-test_http_src.Tpo -c -o elements/elements_mssdemux-test_http_src.obj `if test -f 'elements/test_http_src.c'; then $(CYGPATH_W) 'elements/test_http_src.c'; else $(CYGPATH_W) '$(srcdir)/elements/test_http_src.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_mssdemux-test_http_src.Tpo elements/$(DEPDIR)/elements_mssdemux-test_http_src.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='elements/test_http_src.c' object='elements/elements_mssdemux-test_http_src.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_mpg123audiodec_CFLAGS) $(CFLAGS) -c -o elements/elements_mpg123audiodec-mpg123audiodec.obj `if test -f 'elements/mpg123audiodec.c'; then $(CYGPATH_W) 'elements/mpg123audiodec.c'; else $(CYGPATH_W) '$(srcdir)/elements/mpg123audiodec.c'; fi`
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_mssdemux_CFLAGS) $(CFLAGS) -c -o elements/elements_mssdemux-test_http_src.obj `if test -f 'elements/test_http_src.c'; then $(CYGPATH_W) 'elements/test_http_src.c'; else $(CYGPATH_W) '$(srcdir)/elements/test_http_src.c'; fi`
+
+elements/elements_mssdemux-adaptive_demux_engine.o: elements/adaptive_demux_engine.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_mssdemux_CFLAGS) $(CFLAGS) -MT elements/elements_mssdemux-adaptive_demux_engine.o -MD -MP -MF elements/$(DEPDIR)/elements_mssdemux-adaptive_demux_engine.Tpo -c -o elements/elements_mssdemux-adaptive_demux_engine.o `test -f 'elements/adaptive_demux_engine.c' || echo '$(srcdir)/'`elements/adaptive_demux_engine.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_mssdemux-adaptive_demux_engine.Tpo elements/$(DEPDIR)/elements_mssdemux-adaptive_demux_engine.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='elements/adaptive_demux_engine.c' object='elements/elements_mssdemux-adaptive_demux_engine.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_mssdemux_CFLAGS) $(CFLAGS) -c -o elements/elements_mssdemux-adaptive_demux_engine.o `test -f 'elements/adaptive_demux_engine.c' || echo '$(srcdir)/'`elements/adaptive_demux_engine.c
+
+elements/elements_mssdemux-adaptive_demux_engine.obj: elements/adaptive_demux_engine.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_mssdemux_CFLAGS) $(CFLAGS) -MT elements/elements_mssdemux-adaptive_demux_engine.obj -MD -MP -MF elements/$(DEPDIR)/elements_mssdemux-adaptive_demux_engine.Tpo -c -o elements/elements_mssdemux-adaptive_demux_engine.obj `if test -f 'elements/adaptive_demux_engine.c'; then $(CYGPATH_W) 'elements/adaptive_demux_engine.c'; else $(CYGPATH_W) '$(srcdir)/elements/adaptive_demux_engine.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_mssdemux-adaptive_demux_engine.Tpo elements/$(DEPDIR)/elements_mssdemux-adaptive_demux_engine.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='elements/adaptive_demux_engine.c' object='elements/elements_mssdemux-adaptive_demux_engine.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_mssdemux_CFLAGS) $(CFLAGS) -c -o elements/elements_mssdemux-adaptive_demux_engine.obj `if test -f 'elements/adaptive_demux_engine.c'; then $(CYGPATH_W) 'elements/adaptive_demux_engine.c'; else $(CYGPATH_W) '$(srcdir)/elements/adaptive_demux_engine.c'; fi`
+
+elements/elements_mssdemux-adaptive_demux_common.o: elements/adaptive_demux_common.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_mssdemux_CFLAGS) $(CFLAGS) -MT elements/elements_mssdemux-adaptive_demux_common.o -MD -MP -MF elements/$(DEPDIR)/elements_mssdemux-adaptive_demux_common.Tpo -c -o elements/elements_mssdemux-adaptive_demux_common.o `test -f 'elements/adaptive_demux_common.c' || echo '$(srcdir)/'`elements/adaptive_demux_common.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_mssdemux-adaptive_demux_common.Tpo elements/$(DEPDIR)/elements_mssdemux-adaptive_demux_common.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='elements/adaptive_demux_common.c' object='elements/elements_mssdemux-adaptive_demux_common.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_mssdemux_CFLAGS) $(CFLAGS) -c -o elements/elements_mssdemux-adaptive_demux_common.o `test -f 'elements/adaptive_demux_common.c' || echo '$(srcdir)/'`elements/adaptive_demux_common.c
+
+elements/elements_mssdemux-adaptive_demux_common.obj: elements/adaptive_demux_common.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_mssdemux_CFLAGS) $(CFLAGS) -MT elements/elements_mssdemux-adaptive_demux_common.obj -MD -MP -MF elements/$(DEPDIR)/elements_mssdemux-adaptive_demux_common.Tpo -c -o elements/elements_mssdemux-adaptive_demux_common.obj `if test -f 'elements/adaptive_demux_common.c'; then $(CYGPATH_W) 'elements/adaptive_demux_common.c'; else $(CYGPATH_W) '$(srcdir)/elements/adaptive_demux_common.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_mssdemux-adaptive_demux_common.Tpo elements/$(DEPDIR)/elements_mssdemux-adaptive_demux_common.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='elements/adaptive_demux_common.c' object='elements/elements_mssdemux-adaptive_demux_common.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_mssdemux_CFLAGS) $(CFLAGS) -c -o elements/elements_mssdemux-adaptive_demux_common.obj `if test -f 'elements/adaptive_demux_common.c'; then $(CYGPATH_W) 'elements/adaptive_demux_common.c'; else $(CYGPATH_W) '$(srcdir)/elements/adaptive_demux_common.c'; fi`
+
+elements/elements_mssdemux-mssdemux.o: elements/mssdemux.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_mssdemux_CFLAGS) $(CFLAGS) -MT elements/elements_mssdemux-mssdemux.o -MD -MP -MF elements/$(DEPDIR)/elements_mssdemux-mssdemux.Tpo -c -o elements/elements_mssdemux-mssdemux.o `test -f 'elements/mssdemux.c' || echo '$(srcdir)/'`elements/mssdemux.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_mssdemux-mssdemux.Tpo elements/$(DEPDIR)/elements_mssdemux-mssdemux.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='elements/mssdemux.c' object='elements/elements_mssdemux-mssdemux.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_mssdemux_CFLAGS) $(CFLAGS) -c -o elements/elements_mssdemux-mssdemux.o `test -f 'elements/mssdemux.c' || echo '$(srcdir)/'`elements/mssdemux.c
+
+elements/elements_mssdemux-mssdemux.obj: elements/mssdemux.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_mssdemux_CFLAGS) $(CFLAGS) -MT elements/elements_mssdemux-mssdemux.obj -MD -MP -MF elements/$(DEPDIR)/elements_mssdemux-mssdemux.Tpo -c -o elements/elements_mssdemux-mssdemux.obj `if test -f 'elements/mssdemux.c'; then $(CYGPATH_W) 'elements/mssdemux.c'; else $(CYGPATH_W) '$(srcdir)/elements/mssdemux.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_mssdemux-mssdemux.Tpo elements/$(DEPDIR)/elements_mssdemux-mssdemux.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='elements/mssdemux.c' object='elements/elements_mssdemux-mssdemux.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_mssdemux_CFLAGS) $(CFLAGS) -c -o elements/elements_mssdemux-mssdemux.obj `if test -f 'elements/mssdemux.c'; then $(CYGPATH_W) 'elements/mssdemux.c'; else $(CYGPATH_W) '$(srcdir)/elements/mssdemux.c'; fi`
elements/elements_rtponvifparse-rtponvifparse.o: elements/rtponvifparse.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_rtponvifparse_CFLAGS) $(CFLAGS) -MT elements/elements_rtponvifparse-rtponvifparse.o -MD -MP -MF elements/$(DEPDIR)/elements_rtponvifparse-rtponvifparse.Tpo -c -o elements/elements_rtponvifparse-rtponvifparse.o `test -f 'elements/rtponvifparse.c' || echo '$(srcdir)/'`elements/rtponvifparse.c
@@ -3109,6 +3285,20 @@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libs_gstglmemory_CFLAGS) $(CFLAGS) -c -o libs/libs_gstglmemory-gstglmemory.obj `if test -f 'libs/gstglmemory.c'; then $(CYGPATH_W) 'libs/gstglmemory.c'; else $(CYGPATH_W) '$(srcdir)/libs/gstglmemory.c'; fi`
+libs/libs_gstglquery-gstglquery.o: libs/gstglquery.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libs_gstglquery_CFLAGS) $(CFLAGS) -MT libs/libs_gstglquery-gstglquery.o -MD -MP -MF libs/$(DEPDIR)/libs_gstglquery-gstglquery.Tpo -c -o libs/libs_gstglquery-gstglquery.o `test -f 'libs/gstglquery.c' || echo '$(srcdir)/'`libs/gstglquery.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libs/$(DEPDIR)/libs_gstglquery-gstglquery.Tpo libs/$(DEPDIR)/libs_gstglquery-gstglquery.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libs/gstglquery.c' object='libs/libs_gstglquery-gstglquery.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libs_gstglquery_CFLAGS) $(CFLAGS) -c -o libs/libs_gstglquery-gstglquery.o `test -f 'libs/gstglquery.c' || echo '$(srcdir)/'`libs/gstglquery.c
+
+libs/libs_gstglquery-gstglquery.obj: libs/gstglquery.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libs_gstglquery_CFLAGS) $(CFLAGS) -MT libs/libs_gstglquery-gstglquery.obj -MD -MP -MF libs/$(DEPDIR)/libs_gstglquery-gstglquery.Tpo -c -o libs/libs_gstglquery-gstglquery.obj `if test -f 'libs/gstglquery.c'; then $(CYGPATH_W) 'libs/gstglquery.c'; else $(CYGPATH_W) '$(srcdir)/libs/gstglquery.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libs/$(DEPDIR)/libs_gstglquery-gstglquery.Tpo libs/$(DEPDIR)/libs_gstglquery-gstglquery.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='libs/gstglquery.c' object='libs/libs_gstglquery-gstglquery.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libs_gstglquery_CFLAGS) $(CFLAGS) -c -o libs/libs_gstglquery-gstglquery.obj `if test -f 'libs/gstglquery.c'; then $(CYGPATH_W) 'libs/gstglquery.c'; else $(CYGPATH_W) '$(srcdir)/libs/gstglquery.c'; fi`
+
libs/libs_gstglsl-gstglsl.o: libs/gstglsl.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libs_gstglsl_CFLAGS) $(CFLAGS) -MT libs/libs_gstglsl-gstglsl.o -MD -MP -MF libs/$(DEPDIR)/libs_gstglsl-gstglsl.Tpo -c -o libs/libs_gstglsl-gstglsl.o `test -f 'libs/gstglsl.c' || echo '$(srcdir)/'`libs/gstglsl.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) libs/$(DEPDIR)/libs_gstglsl-gstglsl.Tpo libs/$(DEPDIR)/libs_gstglsl-gstglsl.Po
@@ -3579,6 +3769,13 @@
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+elements/mssdemux.log: elements/mssdemux$(EXEEXT)
+ @p='elements/mssdemux$(EXEEXT)'; \
+ b='elements/mssdemux'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
elements/ofa.log: elements/ofa$(EXEEXT)
@p='elements/ofa$(EXEEXT)'; \
b='elements/ofa'; \
@@ -3789,13 +3986,6 @@
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
-elements/mpg123audiodec.log: elements/mpg123audiodec$(EXEEXT)
- @p='elements/mpg123audiodec$(EXEEXT)'; \
- b='elements/mpg123audiodec'; \
- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
- --log-file $$b.log --trs-file $$b.trs \
- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
- "$$tst" $(AM_TESTS_FD_REDIRECT)
elements/mxfdemux.log: elements/mxfdemux$(EXEEXT)
@p='elements/mxfdemux$(EXEEXT)'; \
b='elements/mxfdemux'; \
@@ -3810,6 +4000,13 @@
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+elements/netsim.log: elements/netsim$(EXEEXT)
+ @p='elements/netsim$(EXEEXT)'; \
+ b='elements/netsim'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
elements/pcapparse.log: elements/pcapparse$(EXEEXT)
@p='elements/pcapparse$(EXEEXT)'; \
b='elements/pcapparse'; \
@@ -3985,6 +4182,13 @@
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+libs/gstglquery.log: libs/gstglquery$(EXEEXT)
+ @p='libs/gstglquery$(EXEEXT)'; \
+ b='libs/gstglquery'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
libs/gstglsl.log: libs/gstglsl$(EXEEXT)
@p='libs/gstglsl$(EXEEXT)'; \
b='libs/gstglsl'; \
@@ -4006,6 +4210,13 @@
--log-file $$b.log --trs-file $$b.trs \
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
"$$tst" $(AM_TESTS_FD_REDIRECT)
+elements/hls_demux.log: elements/hls_demux$(EXEEXT)
+ @p='elements/hls_demux$(EXEEXT)'; \
+ b='elements/hls_demux'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
libs/player.log: libs/player$(EXEEXT)
@p='libs/player$(EXEEXT)'; \
b='libs/player'; \
@@ -4215,31 +4426,26 @@
# if the test fails, run it again at at least debug level 2
%.check: %
@$(AM_TESTS_ENVIRONMENT) \
- CK_DEFAULT_TIMEOUT=20 \
$* || \
$(AM_TESTS_ENVIRONMENT) \
GST_DEBUG=$$GST_DEBUG,*:2 \
- CK_DEFAULT_TIMEOUT=20 \
$*
# just like 'check', but don't run it again if it fails (useful for debugging)
%.check-norepeat: %
@$(AM_TESTS_ENVIRONMENT) \
- CK_DEFAULT_TIMEOUT=20 \
$*
# run any given test in a loop
%.torture: %
@for i in `seq 1 $(LOOPS)`; do \
$(AM_TESTS_ENVIRONMENT) \
- CK_DEFAULT_TIMEOUT=20 \
$*; done
# run any given test in an infinite loop
%.forever: %
@while true; do \
$(AM_TESTS_ENVIRONMENT) \
- CK_DEFAULT_TIMEOUT=20 \
$* || break; done
# valgrind any given test by running make test.valgrind
diff --git a/tests/check/elements/adaptive_demux_common.c b/tests/check/elements/adaptive_demux_common.c
index 67d724d..44fd050 100644
--- a/tests/check/elements/adaptive_demux_common.c
+++ b/tests/check/elements/adaptive_demux_common.c
@@ -77,6 +77,7 @@
testData->signal_context = NULL;
testData->test_task_state = TEST_TASK_STATE_NOT_STARTED;
testData->threshold_for_seek = 0;
+ gst_event_replace (&testData->seek_event, NULL);
testData->signal_context = NULL;
}
@@ -251,6 +252,7 @@
{
GstElement *pipeline;
GstTask *task;
+ GstEvent *seek_event;
} SeekTaskContext;
/* function to generate a seek event. Will be run in a separate thread */
@@ -262,15 +264,12 @@
GST_DEBUG ("testSeekTaskDoSeek calling seek");
- /* seek to 5ms.
- * Because there is only one fragment, we expect the whole file to be
- * downloaded again
- */
- if (!gst_element_seek_simple (GST_ELEMENT (context->pipeline),
- GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT,
- 5 * GST_MSECOND)) {
+ fail_unless (GST_IS_EVENT (context->seek_event));
+ fail_unless (GST_EVENT_TYPE (context->seek_event) == GST_EVENT_SEEK);
+
+ if (!gst_element_send_event (GST_ELEMENT (context->pipeline),
+ context->seek_event))
fail ("Seek failed!\n");
- }
GST_DEBUG ("seek ok");
task = context->task;
g_slice_free (SeekTaskContext, context);
@@ -300,13 +299,15 @@
testData->test_task == NULL &&
(stream->total_received_size + stream->segment_received_size) >=
testData->threshold_for_seek) {
+ GstSeekFlags seek_flags;
+
testData->threshold_for_seek =
stream->total_received_size + stream->segment_received_size;
- /* the seek will be to the beginning of the file, so expect to receive
- * threshold_for_seek + a whole file
- */
- testOutputStreamData->expected_size += testData->threshold_for_seek;
+ gst_event_parse_seek (testData->seek_event, NULL, NULL, &seek_flags, NULL,
+ NULL, NULL, NULL);
+ if (seek_flags & GST_SEEK_FLAG_FLUSH)
+ testOutputStreamData->expected_size += testData->threshold_for_seek;
GST_DEBUG ("starting seek task");
@@ -317,6 +318,7 @@
seekContext = g_slice_new (SeekTaskContext);
seekContext->pipeline = engine->pipeline;
+ seekContext->seek_event = gst_event_ref (testData->seek_event);
testData->test_task = seekContext->task =
gst_task_new ((GstTaskFunction) testSeekTaskDoSeek, seekContext, NULL);
gst_task_set_lock (testData->test_task, &testData->test_task_lock);
@@ -324,28 +326,69 @@
GST_DEBUG ("seek task started");
- g_mutex_lock (&testData->test_task_state_lock);
+ if (seek_flags & GST_SEEK_FLAG_FLUSH) {
+ g_mutex_lock (&testData->test_task_state_lock);
- GST_DEBUG ("waiting for seek task to change state on testsrc");
+ GST_DEBUG ("waiting for seek task to change state on testsrc");
- /* wait for test_task to run, send a flush start event to AppSink
- * and change the testhttpsrc element state from PLAYING to PAUSED
- */
- while (testData->test_task_state ==
- TEST_TASK_STATE_WAITING_FOR_TESTSRC_STATE_CHANGE) {
- g_cond_wait (&testData->test_task_state_cond,
- &testData->test_task_state_lock);
+ /* wait for test_task to run, send a flush start event to AppSink
+ * and change the testhttpsrc element state from PLAYING to PAUSED
+ */
+ while (testData->test_task_state ==
+ TEST_TASK_STATE_WAITING_FOR_TESTSRC_STATE_CHANGE) {
+ g_cond_wait (&testData->test_task_state_cond,
+ &testData->test_task_state_lock);
+ }
+ g_mutex_unlock (&testData->test_task_state_lock);
+ /* we can continue now, but this buffer will be rejected by AppSink
+ * because it is in flushing mode
+ */
+ GST_DEBUG ("seek task changed state on testsrc, resuming");
}
- g_mutex_unlock (&testData->test_task_state_lock);
- /* we can continue now, but this buffer will be rejected by AppSink
- * because it is in flushing mode
- */
- GST_DEBUG ("seek task changed state on testsrc, resuming");
}
return TRUE;
}
+static void
+testSeekAdaptiveAppSinkEvent (GstAdaptiveDemuxTestEngine * engine,
+ GstAdaptiveDemuxTestOutputStream * stream,
+ GstEvent * event, gpointer user_data)
+{
+ GstAdaptiveDemuxTestCase *testData = GST_ADAPTIVE_DEMUX_TEST_CASE (user_data);
+ GstAdaptiveDemuxTestExpectedOutput *testOutputStreamData;
+ guint index = 0;
+
+ testOutputStreamData =
+ gst_adaptive_demux_test_find_test_data_by_stream (testData, stream,
+ &index);
+ fail_unless (testOutputStreamData != NULL);
+
+ if (testData->seek_event && GST_EVENT_TYPE (event) == GST_EVENT_SEGMENT
+ && testOutputStreamData->post_seek_segment.format != GST_FORMAT_UNDEFINED
+ && gst_event_get_seqnum (event) ==
+ gst_event_get_seqnum (testData->seek_event)) {
+ const GstSegment *seek_segment;
+
+
+ gst_event_parse_segment (event, &seek_segment);
+ fail_unless (seek_segment->format ==
+ testOutputStreamData->post_seek_segment.format);
+ fail_unless (seek_segment->rate ==
+ testOutputStreamData->post_seek_segment.rate);
+ fail_unless (seek_segment->start ==
+ testOutputStreamData->post_seek_segment.start);
+ fail_unless (seek_segment->stop ==
+ testOutputStreamData->post_seek_segment.stop);
+ fail_unless (seek_segment->base ==
+ testOutputStreamData->post_seek_segment.base);
+ fail_unless (seek_segment->time ==
+ testOutputStreamData->post_seek_segment.time);
+
+ testOutputStreamData->segment_verification_needed = FALSE;
+ }
+}
+
/* callback called when main_loop detects a state changed event */
static void
testSeekOnStateChanged (GstBus * bus, GstMessage * msg, gpointer user_data)
@@ -360,7 +403,7 @@
gst_element_state_get_name (old_state),
gst_element_state_get_name (new_state));
- if (strstr (srcName, "bin") == srcName &&
+ if (strstr (srcName, "srcbin") == srcName &&
old_state == GST_STATE_PLAYING && new_state == GST_STATE_PAUSED) {
g_mutex_lock (&testData->test_task_state_lock);
if (testData->test_task_state ==
@@ -392,6 +435,18 @@
G_CALLBACK (testSeekOnStateChanged), testData);
}
+static void
+testSeekPostTestCallback (GstAdaptiveDemuxTestEngine * engine,
+ gpointer user_data)
+{
+ GstAdaptiveDemuxTestCase *testData = GST_ADAPTIVE_DEMUX_TEST_CASE (user_data);
+ for (GList * walk = testData->output_streams; walk; walk = g_list_next (walk)) {
+ GstAdaptiveDemuxTestExpectedOutput *td = walk->data;
+
+ fail_if (td->segment_verification_needed);
+ }
+}
+
/* function to check total size of data received by AppSink
* will be called when AppSink receives eos.
*/
@@ -429,7 +484,9 @@
GstAdaptiveDemuxTestCallbacks cb = { 0 };
cb.appsink_received_data = gst_adaptive_demux_test_check_received_data;
cb.appsink_eos = gst_adaptive_demux_test_check_size_of_received_data;
+ cb.appsink_event = testSeekAdaptiveAppSinkEvent;
cb.pre_test = testSeekPreTestCallback;
+ cb.post_test = testSeekPostTestCallback;
cb.demux_sent_data = testSeekAdaptiveDemuxSendsData;
gst_adaptive_demux_test_run (element_name, manifest_uri, &cb, testData);
/* the call to g_object_unref of testData will clean up the seek task */
diff --git a/tests/check/elements/adaptive_demux_common.h b/tests/check/elements/adaptive_demux_common.h
index 3969582..fa8bde0 100644
--- a/tests/check/elements/adaptive_demux_common.h
+++ b/tests/check/elements/adaptive_demux_common.h
@@ -72,6 +72,9 @@
guint64 expected_size;
/* the expected data on this stream (optional) */
const guint8* expected_data;
+
+ GstSegment post_seek_segment;
+ gboolean segment_verification_needed;
} GstAdaptiveDemuxTestExpectedOutput;
typedef struct _GstAdaptiveDemuxTestCaseClass GstAdaptiveDemuxTestCaseClass;
@@ -102,9 +105,10 @@
GCond test_task_state_cond;
/* seek test will wait for this amount of bytes to be sent by
- * demux to AppSink before triggering a seek request
+ * demux to AppSink before triggering a seek request
*/
guint64 threshold_for_seek;
+ GstEvent *seek_event;
gpointer signal_context;
} GstAdaptiveDemuxTestCase;
diff --git a/tests/check/elements/adaptive_demux_engine.c b/tests/check/elements/adaptive_demux_engine.c
index 9c77708..b571fe3 100644
--- a/tests/check/elements/adaptive_demux_engine.c
+++ b/tests/check/elements/adaptive_demux_engine.c
@@ -1,4 +1,4 @@
-/* A generic test engine for elements based upon GstAdaptiveDemux
+/* A generic test engine for elements based upon GstAdaptiveDemux
*
* Copyright (c) <2015> YouView TV Ltd
*
@@ -142,6 +142,34 @@
GST_TEST_UNLOCK (priv);
}
+static GstPadProbeReturn
+on_appsink_event (GstPad * pad, GstPadProbeInfo * info, gpointer data)
+{
+ GstAdaptiveDemuxTestEnginePrivate *priv =
+ (GstAdaptiveDemuxTestEnginePrivate *) data;
+ GstAdaptiveDemuxTestOutputStream *stream = NULL;
+ GstEvent *event;
+
+ event = GST_PAD_PROBE_INFO_EVENT (info);
+ GST_DEBUG ("Received event %" GST_PTR_FORMAT " on pad %" GST_PTR_FORMAT,
+ event, pad);
+
+ if (priv->callbacks->appsink_event) {
+ GstPad *stream_pad = gst_pad_get_peer (pad);
+ fail_unless (stream_pad != NULL);
+
+ GST_TEST_LOCK (priv);
+ stream = getTestOutputDataByPad (priv, stream_pad, TRUE);
+ GST_TEST_UNLOCK (priv);
+ gst_object_unref (stream_pad);
+ priv->callbacks->appsink_event (&priv->engine, stream, event,
+ priv->user_data);
+ }
+
+ return GST_PAD_PROBE_OK;
+}
+
+
/* callback called when demux sends data to AppSink */
static GstPadProbeReturn
on_demux_sent_data (GstPad * pad, GstPadProbeInfo * info, gpointer data)
@@ -155,13 +183,13 @@
GST_TEST_LOCK (priv);
stream = getTestOutputDataByPad (priv, pad, TRUE);
+ GST_TEST_UNLOCK (priv);
if (priv->callbacks->demux_sent_data) {
(*priv->callbacks->demux_sent_data) (&priv->engine,
stream, buffer, priv->user_data);
}
- GST_TEST_UNLOCK (priv);
return GST_PAD_PROBE_OK;
}
@@ -191,18 +219,48 @@
stream->segment_received_size = 0;
stream->segment_start = segment->start;
GST_TEST_UNLOCK (priv);
- } else if (GST_EVENT_TYPE (event) == GST_EVENT_EOS) {
- GST_TEST_LOCK (priv);
- stream = getTestOutputDataByPad (priv, pad, TRUE);
- if (priv->callbacks->demux_sent_eos) {
- priv->callbacks->demux_sent_eos (&priv->engine, stream, priv->user_data);
- }
- GST_TEST_UNLOCK (priv);
}
return GST_PAD_PROBE_OK;
}
+
+static void
+on_demuxElementAdded (GstBin * demux, GstElement * element, gpointer user_data)
+{
+ GstAdaptiveDemuxTestEnginePrivate *priv =
+ (GstAdaptiveDemuxTestEnginePrivate *) user_data;
+ GstAdaptiveDemuxTestOutputStream *stream = NULL;
+ GstPad *internal_pad;
+ gchar *srcbin_name;
+ gint i;
+
+ srcbin_name = GST_ELEMENT_NAME (element);
+ GST_TEST_LOCK (priv);
+ for (i = 0; i < priv->engine.output_streams->len; i++) {
+ stream = g_ptr_array_index (priv->engine.output_streams, i);
+ if (strstr (srcbin_name, GST_PAD_NAME (stream->pad)) != NULL)
+ break;
+ }
+ fail_unless (stream != NULL);
+
+ /* keep the reference to the internal_pad.
+ * We will need it to identify the stream in the on_demuxReceivesEvent callback
+ */
+ if (stream->internal_pad) {
+ gst_pad_remove_probe (stream->internal_pad, stream->internal_pad_probe);
+ gst_object_unref (stream->internal_pad);
+ }
+ internal_pad = gst_element_get_static_pad (element, "src");
+ stream->internal_pad_probe =
+ gst_pad_add_probe (internal_pad, GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM,
+ (GstPadProbeCallback) on_demuxReceivesEvent, priv, NULL);
+ stream->internal_pad = internal_pad;
+ GST_TEST_UNLOCK (priv);
+
+}
+
+
/* callback called when demux creates a src pad.
* We will create an AppSink to get the data
*/
@@ -215,7 +273,7 @@
GstElement *sink;
gboolean ret;
gchar *name;
- GstPad *internal_pad;
+ GstPad *appsink_pad;
GstAppSinkCallbacks appSinkCallbacks;
GstAdaptiveDemuxTestOutputStream *stream;
GObjectClass *gobject_class;
@@ -242,6 +300,11 @@
gst_app_sink_set_callbacks (GST_APP_SINK (sink), &appSinkCallbacks, priv,
NULL);
+ appsink_pad = gst_element_get_static_pad (sink, "sink");
+ gst_pad_add_probe (appsink_pad,
+ GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM | GST_PAD_PROBE_TYPE_EVENT_FLUSH,
+ (GstPadProbeCallback) on_appsink_event, priv, NULL);
+ gst_object_unref (appsink_pad);
gst_pad_add_probe (pad, GST_PAD_PROBE_TYPE_BUFFER,
(GstPadProbeCallback) on_demux_sent_data, priv, NULL);
@@ -251,16 +314,7 @@
g_object_set (G_OBJECT (sink), "sync", FALSE, NULL);
}
stream->pad = gst_object_ref (pad);
- internal_pad =
- GST_PAD_CAST (gst_proxy_pad_get_internal (GST_PROXY_PAD (pad)));
- gst_pad_add_probe (internal_pad, GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM,
- (GstPadProbeCallback) on_demuxReceivesEvent, priv, NULL);
-
- /* keep the reference to the internal_pad.
- * We will need it to identify the stream in the on_demuxReceivesEvent callback
- */
- stream->internal_pad = internal_pad;
g_ptr_array_add (priv->engine.output_streams, stream);
GST_TEST_UNLOCK (priv);
@@ -290,33 +344,29 @@
GstAdaptiveDemuxTestEnginePrivate *priv =
(GstAdaptiveDemuxTestEnginePrivate *) user_data;
GstAdaptiveDemuxTestOutputStream *stream = NULL;
+ GstStateChangeReturn ret;
+ GstState currentState, pending;
+ GstElement *appSink;
fail_unless (priv != NULL);
GST_DEBUG ("Pad removed: %" GST_PTR_FORMAT, pad);
GST_TEST_LOCK (priv);
- stream = getTestOutputDataByPad (priv, pad, FALSE);
- if (stream) {
- GstStateChangeReturn ret;
- GstState currentState, pending;
- GstElement *appSink;
-
- if (priv->callbacks->demux_pad_removed) {
- priv->callbacks->demux_pad_removed (&priv->engine, stream,
- priv->user_data);
- }
- fail_unless (stream->appsink != NULL);
- fail_unless (stream->internal_pad != NULL);
- gst_object_unref (stream->internal_pad);
- stream->internal_pad = NULL;
- appSink = GST_ELEMENT (stream->appsink);
- ret = gst_element_get_state (appSink, ¤tState, &pending, 0);
- if ((ret == GST_STATE_CHANGE_SUCCESS && currentState == GST_STATE_PLAYING)
- || (ret == GST_STATE_CHANGE_ASYNC && pending == GST_STATE_PLAYING)) {
- GST_DEBUG ("Changing AppSink element to PAUSED");
- gst_element_set_state (appSink, GST_STATE_PAUSED);
- }
+ stream = getTestOutputDataByPad (priv, pad, TRUE);
+ if (priv->callbacks->demux_pad_removed) {
+ priv->callbacks->demux_pad_removed (&priv->engine, stream, priv->user_data);
+ }
+ fail_unless (stream->appsink != NULL);
+ fail_unless (stream->internal_pad != NULL);
+ gst_object_unref (stream->internal_pad);
+ stream->internal_pad = NULL;
+ appSink = GST_ELEMENT (stream->appsink);
+ ret = gst_element_get_state (appSink, ¤tState, &pending, 0);
+ if ((ret == GST_STATE_CHANGE_SUCCESS && currentState == GST_STATE_PLAYING)
+ || (ret == GST_STATE_CHANGE_ASYNC && pending == GST_STATE_PLAYING)) {
+ GST_DEBUG ("Changing AppSink element to PAUSED");
+ gst_element_set_state (appSink, GST_STATE_PAUSED);
}
GST_TEST_UNLOCK (priv);
}
@@ -409,6 +459,8 @@
priv->engine.demux = demux;
GST_DEBUG ("created demux %" GST_PTR_FORMAT, demux);
+ g_signal_connect (demux, "element-added", G_CALLBACK (on_demuxElementAdded),
+ priv);
g_signal_connect (demux, "pad-added", G_CALLBACK (on_demuxNewPad), priv);
g_signal_connect (demux, "pad-removed",
G_CALLBACK (on_demuxPadRemoved), priv);
diff --git a/tests/check/elements/adaptive_demux_engine.h b/tests/check/elements/adaptive_demux_engine.h
index 267d7e8..f715ecb 100644
--- a/tests/check/elements/adaptive_demux_engine.h
+++ b/tests/check/elements/adaptive_demux_engine.h
@@ -35,6 +35,7 @@
GstPad *pad;
/* the internal pad of adaptivedemux element used to send data to the GstAppSink element */
GstPad *internal_pad;
+ gulong internal_pad_probe;
/* current segment start offset */
guint64 segment_start;
/* the size received so far on this segment */
@@ -92,6 +93,19 @@
GstAdaptiveDemuxTestOutputStream * stream, gpointer user_data);
/**
+ * appsink_event: called when an event is received by appsink
+ * @engine: #GstAdaptiveDemuxTestEngine
+ * @stream: #GstAdaptiveDemuxTestOutputStream
+ * @event: the #GstEvent that was pushed in the demuxer pad
+ * @user_data: the user_data passed to gst_adaptive_demux_test_run()
+ *
+ * Can be used by a test to do some checks on the events
+ */
+ void (*appsink_event) (GstAdaptiveDemuxTestEngine *engine,
+ GstAdaptiveDemuxTestOutputStream * stream,
+ GstEvent * event, gpointer user_data);
+
+ /**
* demux_pad_added: called each time the demux creates a new pad
* @engine: #GstAdaptiveDemuxTestEngine
* @stream: the #GstAdaptiveDemuxTestOutputStream that has been created
@@ -122,17 +136,6 @@
GstBuffer * buffer, gpointer user_data);
/**
- * demux_sent_eos: called each time demux send an EOS event
- * @engine: #GstAdaptiveDemuxTestEngine
- * @stream: #GstAdaptiveDemuxTestOutputStream
- * @user_data: the user_data passed to gst_adaptive_demux_test_run()
- * Can be used by a test to perform additional operations (eg validate
- * output data)
- */
- void (*demux_sent_eos) (GstAdaptiveDemuxTestEngine *engine,
- GstAdaptiveDemuxTestOutputStream * stream, gpointer user_data);
-
- /**
* bus_error_message: called if an error is posted to the bus
* @engine: #GstAdaptiveDemuxTestEngine
* @msg: the #GstMessage that contains the error
diff --git a/tests/check/elements/dash_demux.c b/tests/check/elements/dash_demux.c
index ce7556f..de240a5 100644
--- a/tests/check/elements/dash_demux.c
+++ b/tests/check/elements/dash_demux.c
@@ -104,7 +104,6 @@
"<MPD xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
" xmlns=\"urn:mpeg:DASH:schema:MPD:2011\""
" xsi:schemaLocation=\"urn:mpeg:DASH:schema:MPD:2011 DASH-MPD.xsd\""
- " xmlns:yt=\"http://youtube.com/yt/2012/10/10\""
" profiles=\"urn:mpeg:dash:profile:isoff-on-demand:2011\""
" type=\"static\""
" minBufferTime=\"PT1.500S\""
@@ -184,7 +183,6 @@
"<MPD xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
" xmlns=\"urn:mpeg:DASH:schema:MPD:2011\""
" xsi:schemaLocation=\"urn:mpeg:DASH:schema:MPD:2011 DASH-MPD.xsd\""
- " xmlns:yt=\"http://youtube.com/yt/2012/10/10\""
" profiles=\"urn:mpeg:dash:profile:isoff-on-demand:2011\""
" type=\"static\""
" minBufferTime=\"PT1.500S\""
@@ -376,7 +374,6 @@
"<MPD xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
" xmlns=\"urn:mpeg:DASH:schema:MPD:2011\""
" xsi:schemaLocation=\"urn:mpeg:DASH:schema:MPD:2011 DASH-MPD.xsd\""
- " xmlns:yt=\"http://youtube.com/yt/2012/10/10\""
" profiles=\"urn:mpeg:dash:profile:isoff-on-demand:2011\""
" type=\"static\""
" minBufferTime=\"PT1.500S\""
@@ -440,7 +437,6 @@
"<MPD xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
" xmlns=\"urn:mpeg:DASH:schema:MPD:2011\""
" xsi:schemaLocation=\"urn:mpeg:DASH:schema:MPD:2011 DASH-MPD.xsd\""
- " xmlns:yt=\"http://youtube.com/yt/2012/10/10\""
" profiles=\"urn:mpeg:dash:profile:isoff-on-demand:2011\""
" type=\"static\""
" minBufferTime=\"PT1.500S\""
@@ -486,6 +482,15 @@
*/
testData->threshold_for_seek = 4687 + 1;
+ /* seek to 5ms.
+ * Because there is only one fragment, we expect the whole file to be
+ * downloaded again
+ */
+ testData->seek_event =
+ gst_event_new_seek (1.0, GST_FORMAT_TIME,
+ GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, GST_SEEK_TYPE_SET,
+ 5 * GST_MSECOND, GST_SEEK_TYPE_NONE, 0);
+
gst_test_http_src_install_callbacks (&http_src_callbacks, inputTestData);
gst_adaptive_demux_test_seek (DEMUX_ELEMENT_NAME,
"http://unit.test/test.mpd", testData);
@@ -494,6 +499,164 @@
GST_END_TEST;
+
+static void
+run_seek_position_test (gdouble rate, GstSeekType start_type,
+ guint64 seek_start, GstSeekType stop_type, guint64 seek_stop,
+ GstSeekFlags flags, guint64 segment_start, guint64 segment_stop,
+ gint segments)
+{
+ const gchar *mpd =
+ "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
+ "<MPD xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
+ " xmlns=\"urn:mpeg:DASH:schema:MPD:2011\""
+ " xsi:schemaLocation=\"urn:mpeg:DASH:schema:MPD:2011 DASH-MPD.xsd\""
+ " profiles=\"urn:mpeg:dash:profile:isoff-on-demand:2011\""
+ " type=\"static\""
+ " minBufferTime=\"PT1.500S\""
+ " mediaPresentationDuration=\"PT135.743S\">"
+ " <Period>"
+ " <AdaptationSet "
+ " mimeType=\"audio/mp4\" minBandwidth=\"128000\" "
+ " maxBandwidth=\"128000\" segmentAlignment=\"true\">"
+ " <SegmentTemplate timescale=\"48000\" "
+ " initialization=\"init-$RepresentationID$.mp4\" "
+ " media=\"$RepresentationID$-$Number$.mp4\" "
+ " startNumber=\"1\">"
+ " <SegmentTimeline>"
+ " <S t=\"0\" d=\"48000\" /> "
+ " <S d=\"48000\" /> "
+ " <S d=\"48000\" /> "
+ " <S d=\"48000\" /> "
+ " </SegmentTimeline>"
+ " </SegmentTemplate>"
+ " <Representation id=\"audio\" bandwidth=\"128000\" "
+ " codecs=\"mp4a.40.2\" audioSamplingRate=\"48000\"> "
+ " <AudioChannelConfiguration "
+ " schemeIdUri=\"urn:mpeg:dash:23003:3:audio_channel_configuration:2011\""
+ " value=\"2\"> "
+ " </AudioChannelConfiguration> "
+ " </Representation></AdaptationSet></Period></MPD>";
+ GstDashDemuxTestInputData inputTestData[] = {
+ {"http://unit.test/test.mpd", (guint8 *) mpd, 0},
+ {"http://unit.test/init-audio.mp4", NULL, 10000},
+ {"http://unit.test/audio-1.mp4", NULL, 10000},
+ {"http://unit.test/audio-2.mp4", NULL, 10000},
+ {"http://unit.test/audio-3.mp4", NULL, 10000},
+ {"http://unit.test/audio-4.mp4", NULL, 10000},
+ {NULL, NULL, 0},
+ };
+ GstTestHTTPSrcCallbacks http_src_callbacks = { 0 };
+ GstAdaptiveDemuxTestExpectedOutput outputTestData[] = {
+ /* 1 from the init segment */
+ {"audio_00", (1 + segments) * 10000, NULL},
+ };
+ GstAdaptiveDemuxTestCase *testData;
+
+ testData = gst_adaptive_demux_test_case_new ();
+
+ http_src_callbacks.src_start = gst_dashdemux_http_src_start;
+ http_src_callbacks.src_create = gst_dashdemux_http_src_create;
+ COPY_OUTPUT_TEST_DATA (outputTestData, testData);
+
+ /* media segment starts at 4687
+ * Issue a seek request after media segment has started to be downloaded
+ * on the first pad listed in GstAdaptiveDemuxTestOutputStreamData and the
+ * first chunk of at least one byte has already arrived in AppSink
+ */
+ testData->threshold_for_seek = 4687 + 1;
+
+ /* FIXME hack to avoid having a 0 seqnum */
+ gst_util_seqnum_next ();
+
+ /* seek to 5ms.
+ * Because there is only one fragment, we expect the whole file to be
+ * downloaded again
+ */
+ testData->seek_event =
+ gst_event_new_seek (rate, GST_FORMAT_TIME, flags, start_type,
+ seek_start, stop_type, seek_stop);
+
+ gst_test_http_src_install_callbacks (&http_src_callbacks, inputTestData);
+ gst_adaptive_demux_test_seek (DEMUX_ELEMENT_NAME,
+ "http://unit.test/test.mpd", testData);
+ gst_object_unref (testData);
+}
+
+GST_START_TEST (testSeekKeyUnitPosition)
+{
+ /* Seek to 1.5s with key unit, it should go back to 1.0s. 3 segments will be
+ * pushed */
+ run_seek_position_test (1.0, GST_SEEK_TYPE_SET, 1500 * GST_MSECOND,
+ GST_SEEK_TYPE_NONE, 0, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT,
+ 1000 * GST_MSECOND, -1, 3);
+}
+
+GST_END_TEST;
+
+
+GST_START_TEST (testSeekUpdateStopPosition)
+{
+ run_seek_position_test (1.0, GST_SEEK_TYPE_NONE, 1500 * GST_MSECOND,
+ GST_SEEK_TYPE_SET, 3000 * GST_MSECOND, 0, 0, 3000 * GST_MSECOND, 3);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (testSeekPosition)
+{
+ /* Seek to 1.5s without key unit, it should keep the 1.5s, but still push
+ * from the 1st segment, so 3 segments will be
+ * pushed */
+ run_seek_position_test (1.0, GST_SEEK_TYPE_SET, 1500 * GST_MSECOND,
+ GST_SEEK_TYPE_NONE, 0, GST_SEEK_FLAG_FLUSH, 1500 * GST_MSECOND, -1, 3);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (testSeekSnapBeforePosition)
+{
+ /* Seek to 1.5s, snap before, it go to 1s */
+ run_seek_position_test (1.0, GST_SEEK_TYPE_SET, 1500 * GST_MSECOND,
+ GST_SEEK_TYPE_NONE, 0, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_SNAP_BEFORE,
+ 1000 * GST_MSECOND, -1, 3);
+}
+
+GST_END_TEST;
+
+
+GST_START_TEST (testSeekSnapAfterPosition)
+{
+ /* Seek to 1.5s with snap after, it should move to 2s */
+ run_seek_position_test (1.0, GST_SEEK_TYPE_SET, 1500 * GST_MSECOND,
+ GST_SEEK_TYPE_NONE, 0, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_SNAP_AFTER,
+ 2000 * GST_MSECOND, -1, 2);
+}
+
+GST_END_TEST;
+
+
+GST_START_TEST (testReverseSeekSnapBeforePosition)
+{
+ run_seek_position_test (-1.0, GST_SEEK_TYPE_SET, 1000 * GST_MSECOND,
+ GST_SEEK_TYPE_SET, 2500 * GST_MSECOND,
+ GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_SNAP_BEFORE, 1000 * GST_MSECOND,
+ 3000 * GST_MSECOND, 2);
+}
+
+GST_END_TEST;
+
+
+GST_START_TEST (testReverseSeekSnapAfterPosition)
+{
+ run_seek_position_test (-1.0, GST_SEEK_TYPE_SET, 1000 * GST_MSECOND,
+ GST_SEEK_TYPE_SET, 2500 * GST_MSECOND,
+ GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_SNAP_AFTER, 1000 * GST_MSECOND,
+ 2000 * GST_MSECOND, 1);
+}
+
+GST_END_TEST;
+
static void
testDownloadErrorMessageCallback (GstAdaptiveDemuxTestEngine * engine,
GstMessage * msg, gpointer user_data)
@@ -522,7 +685,6 @@
"<MPD xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
" xmlns=\"urn:mpeg:DASH:schema:MPD:2011\""
" xsi:schemaLocation=\"urn:mpeg:DASH:schema:MPD:2011 DASH-MPD.xsd\""
- " xmlns:yt=\"http://youtube.com/yt/2012/10/10\""
" profiles=\"urn:mpeg:dash:profile:isoff-on-demand:2011\""
" type=\"static\""
" minBufferTime=\"PT1.500S\""
@@ -645,7 +807,6 @@
"<MPD xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
" xmlns=\"urn:mpeg:DASH:schema:MPD:2011\""
" xsi:schemaLocation=\"urn:mpeg:DASH:schema:MPD:2011 DASH-MPD.xsd\""
- " xmlns:yt=\"http://youtube.com/yt/2012/10/10\""
" profiles=\"urn:mpeg:dash:profile:isoff-on-demand:2011\""
" type=\"static\""
" minBufferTime=\"PT1.500S\""
@@ -753,7 +914,6 @@
"<MPD xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
" xmlns=\"urn:mpeg:DASH:schema:MPD:2011\""
" xsi:schemaLocation=\"urn:mpeg:DASH:schema:MPD:2011 DASH-MPD.xsd\""
- " xmlns:yt=\"http://youtube.com/yt/2012/10/10\""
" profiles=\"urn:mpeg:dash:profile:isoff-on-demand:2011\""
" type=\"static\""
" minBufferTime=\"PT1.500S\""
@@ -817,6 +977,13 @@
tcase_add_test (tc_basicTest, testTwoPeriods);
tcase_add_test (tc_basicTest, testParameters);
tcase_add_test (tc_basicTest, testSeek);
+ tcase_add_test (tc_basicTest, testSeekKeyUnitPosition);
+ tcase_add_test (tc_basicTest, testSeekPosition);
+ tcase_add_test (tc_basicTest, testSeekUpdateStopPosition);
+ tcase_add_test (tc_basicTest, testSeekSnapBeforePosition);
+ tcase_add_test (tc_basicTest, testSeekSnapAfterPosition);
+ tcase_add_test (tc_basicTest, testReverseSeekSnapBeforePosition);
+ tcase_add_test (tc_basicTest, testReverseSeekSnapAfterPosition);
tcase_add_test (tc_basicTest, testDownloadError);
tcase_add_test (tc_basicTest, testFragmentDownloadError);
tcase_add_test (tc_basicTest, testQuery);
diff --git a/tests/check/elements/dash_mpd.c b/tests/check/elements/dash_mpd.c
index b460d14..348b65c 100644
--- a/tests/check/elements/dash_mpd.c
+++ b/tests/check/elements/dash_mpd.c
@@ -3888,7 +3888,7 @@
gboolean hasNextSegment;
GstActiveStream *activeStream;
GstFlowReturn flow;
- GstDateTime *segmentEndTime;
+ GstDateTime *segmentAvailability;
GstDateTime *gst_time;
GDateTime *g_time;
@@ -3985,19 +3985,22 @@
/* each segment has a duration of 0 hours, 0 min 45 seconds
* segment index is 1.
- * End time is at the end of segment 1, so 2 * segment_duration = 2 * 45s
+ * Start time is at the beginning of segment 1, so 1 * segment_duration = 1 * 45s
+ * Availability start time is at the end of the segment, so we add duration (45s)
* We also add period start time (10s)
+ * So, availability start time for segment 1 is: 10 (period start) +
+ * 45 (segment start) + 45 (duration) = 1'40s
*/
- segmentEndTime =
- gst_mpd_client_get_next_segment_availability_end_time (mpdclient,
+ segmentAvailability =
+ gst_mpd_client_get_next_segment_availability_start_time (mpdclient,
activeStream);
- assert_equals_int (gst_date_time_get_year (segmentEndTime), 2015);
- assert_equals_int (gst_date_time_get_month (segmentEndTime), 3);
- assert_equals_int (gst_date_time_get_day (segmentEndTime), 24);
- assert_equals_int (gst_date_time_get_hour (segmentEndTime), 0);
- assert_equals_int (gst_date_time_get_minute (segmentEndTime), 1);
- assert_equals_int (gst_date_time_get_second (segmentEndTime), 40);
- gst_date_time_unref (segmentEndTime);
+ assert_equals_int (gst_date_time_get_year (segmentAvailability), 2015);
+ assert_equals_int (gst_date_time_get_month (segmentAvailability), 3);
+ assert_equals_int (gst_date_time_get_day (segmentAvailability), 24);
+ assert_equals_int (gst_date_time_get_hour (segmentAvailability), 0);
+ assert_equals_int (gst_date_time_get_minute (segmentAvailability), 1);
+ assert_equals_int (gst_date_time_get_second (segmentAvailability), 40);
+ gst_date_time_unref (segmentAvailability);
/* seek to time */
gst_time = gst_date_time_new_from_iso8601_string ("2015-03-24T0:0:20Z");
@@ -4043,6 +4046,8 @@
" <Initialization sourceURL=\"TestSourceUrl\""
" range=\"100-200\">"
" </Initialization>"
+ " <RepresentationIndex sourceURL=\"TestSourceIndex\">"
+ " </RepresentationIndex>"
" </SegmentBase>"
" </Representation></AdaptationSet></Period></MPD>";
@@ -4083,7 +4088,7 @@
gst_mpd_client_get_next_header_index (mpdclient, &uri, 0, &range_start,
&range_end);
assert_equals_int (ret, TRUE);
- assert_equals_string (uri, "TestSourceUrl");
+ assert_equals_string (uri, "TestSourceIndex");
assert_equals_int64 (range_start, 10);
assert_equals_int64 (range_end, 20);
g_free (uri);
@@ -4526,6 +4531,7 @@
GstClockTime expectedDuration;
GstClockTime expectedTimestamp;
GstFlowReturn flow;
+ GstDateTime *segmentAvailability;
const gchar *xml =
"<?xml version=\"1.0\"?>"
@@ -4592,6 +4598,22 @@
assert_equals_uint64 (fragment.timestamp, expectedTimestamp * GST_MSECOND);
gst_media_fragment_info_clear (&fragment);
+ /* first segment starts at 3s and has a duration of 2s.
+ * We also add period start time (10s) so we expect a segment availability
+ * start time of 15s
+ */
+ segmentAvailability =
+ gst_mpd_client_get_next_segment_availability_start_time (mpdclient,
+ activeStream);
+ fail_unless (segmentAvailability != NULL);
+ assert_equals_int (gst_date_time_get_year (segmentAvailability), 2015);
+ assert_equals_int (gst_date_time_get_month (segmentAvailability), 3);
+ assert_equals_int (gst_date_time_get_day (segmentAvailability), 24);
+ assert_equals_int (gst_date_time_get_hour (segmentAvailability), 0);
+ assert_equals_int (gst_date_time_get_minute (segmentAvailability), 0);
+ assert_equals_int (gst_date_time_get_second (segmentAvailability), 15);
+ gst_date_time_unref (segmentAvailability);
+
/* advance to next segment */
flow = gst_mpd_client_advance_segment (mpdclient, activeStream, TRUE);
assert_equals_int (flow, GST_FLOW_OK);
@@ -4610,6 +4632,24 @@
assert_equals_uint64 (fragment.timestamp, expectedTimestamp * GST_MSECOND);
gst_media_fragment_info_clear (&fragment);
+ /* first segment starts at 3s and has a duration of 2s.
+ * Second segment starts when the first ends (5s) and has a duration of 2s,
+ * so it ends at 7s.
+ * We also add period start time (10s) so we expect a segment availability
+ * start time of 17s
+ */
+ segmentAvailability =
+ gst_mpd_client_get_next_segment_availability_start_time (mpdclient,
+ activeStream);
+ fail_unless (segmentAvailability != NULL);
+ assert_equals_int (gst_date_time_get_year (segmentAvailability), 2015);
+ assert_equals_int (gst_date_time_get_month (segmentAvailability), 3);
+ assert_equals_int (gst_date_time_get_day (segmentAvailability), 24);
+ assert_equals_int (gst_date_time_get_hour (segmentAvailability), 0);
+ assert_equals_int (gst_date_time_get_minute (segmentAvailability), 0);
+ assert_equals_int (gst_date_time_get_second (segmentAvailability), 17);
+ gst_date_time_unref (segmentAvailability);
+
/* advance to next segment */
flow = gst_mpd_client_advance_segment (mpdclient, activeStream, TRUE);
assert_equals_int (flow, GST_FLOW_OK);
@@ -4627,6 +4667,22 @@
assert_equals_uint64 (fragment.timestamp, expectedTimestamp * GST_MSECOND);
gst_media_fragment_info_clear (&fragment);
+ /* Third segment starts at 10s and has a duration of 3s so it ends at 13s.
+ * We also add period start time (10s) so we expect a segment availability
+ * start time of 23s
+ */
+ segmentAvailability =
+ gst_mpd_client_get_next_segment_availability_start_time (mpdclient,
+ activeStream);
+ fail_unless (segmentAvailability != NULL);
+ assert_equals_int (gst_date_time_get_year (segmentAvailability), 2015);
+ assert_equals_int (gst_date_time_get_month (segmentAvailability), 3);
+ assert_equals_int (gst_date_time_get_day (segmentAvailability), 24);
+ assert_equals_int (gst_date_time_get_hour (segmentAvailability), 0);
+ assert_equals_int (gst_date_time_get_minute (segmentAvailability), 0);
+ assert_equals_int (gst_date_time_get_second (segmentAvailability), 23);
+ gst_date_time_unref (segmentAvailability);
+
gst_mpd_client_free (mpdclient);
}
diff --git a/tests/check/elements/hls_demux.c b/tests/check/elements/hls_demux.c
new file mode 100644
index 0000000..61cb140
--- /dev/null
+++ b/tests/check/elements/hls_demux.c
@@ -0,0 +1,743 @@
+/* GStreamer unit test for HLS demux
+ *
+ * Copyright (c) <2015> YouView TV Ltd
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include <gst/check/gstcheck.h>
+#include "adaptive_demux_common.h"
+
+#define DEMUX_ELEMENT_NAME "hlsdemux"
+
+#define TS_PACKET_LEN 188
+
+typedef struct _GstHlsDemuxTestInputData
+{
+ const gchar *uri;
+ const guint8 *payload;
+ guint64 size;
+} GstHlsDemuxTestInputData;
+
+typedef struct _GstHlsDemuxTestCase
+{
+ const GstHlsDemuxTestInputData *input;
+ GstStructure *state;
+} GstHlsDemuxTestCase;
+
+typedef struct _GstHlsDemuxTestAppendUriContext
+{
+ GQuark field_id;
+ const gchar *uri;
+} GstHlsDemuxTestAppendUriContext;
+
+typedef struct _GstHlsDemuxTestSelectBitrateContext
+{
+ GstAdaptiveDemuxTestEngine *engine;
+ GstAdaptiveDemuxTestCase *testData;
+ guint select_count;
+ gulong signal_handle;
+} GstHlsDemuxTestSelectBitrateContext;
+
+static GByteArray *
+generate_transport_stream (guint length)
+{
+ guint pos;
+ guint cc = 0;
+ GByteArray *mpeg_ts;
+
+ fail_unless ((length % TS_PACKET_LEN) == 0);
+ mpeg_ts = g_byte_array_sized_new (length);
+ if (!mpeg_ts) {
+ return NULL;
+ }
+ memset (mpeg_ts->data, 0xFF, length);
+ for (pos = 0; pos < length; pos += TS_PACKET_LEN) {
+ mpeg_ts->data[pos] = 0x47;
+ mpeg_ts->data[pos + 1] = 0x1F;
+ mpeg_ts->data[pos + 2] = 0xFF;
+ mpeg_ts->data[pos + 3] = cc;
+ cc = (cc + 1) & 0x0F;
+ }
+ return mpeg_ts;
+}
+
+static GByteArray *
+setup_test_variables (GstHlsDemuxTestInputData * inputTestData,
+ GstAdaptiveDemuxTestExpectedOutput * outputTestData,
+ GstHlsDemuxTestCase * hlsTestCase,
+ GstAdaptiveDemuxTestCase * engineTestData, guint segment_size)
+{
+ GByteArray *mpeg_ts = NULL;
+
+ if (segment_size) {
+ mpeg_ts = generate_transport_stream ((segment_size));
+ fail_unless (mpeg_ts != NULL);
+ for (guint itd = 0; inputTestData[itd].uri; ++itd) {
+ if (g_str_has_suffix (inputTestData[itd].uri, ".ts")) {
+ inputTestData[itd].payload = mpeg_ts->data;
+ }
+ }
+ for (guint otd = 0; outputTestData[otd].name; ++otd) {
+ outputTestData[otd].expected_data = mpeg_ts->data;
+ engineTestData->output_streams =
+ g_list_append (engineTestData->output_streams, &outputTestData[otd]);
+ }
+ }
+ hlsTestCase->input = inputTestData;
+ hlsTestCase->state = gst_structure_new_empty (__FUNCTION__);
+ return mpeg_ts;
+}
+
+#define TESTCASE_INIT_BOILERPLATE(segment_size) \
+ GstTestHTTPSrcCallbacks http_src_callbacks = { 0 }; \
+ GstAdaptiveDemuxTestCallbacks engine_callbacks = { 0 }; \
+ GstAdaptiveDemuxTestCase *engineTestData; \
+ GstHlsDemuxTestCase hlsTestCase = { 0 }; \
+ GByteArray *mpeg_ts=NULL; \
+ engineTestData = gst_adaptive_demux_test_case_new(); \
+ fail_unless (engineTestData!=NULL); \
+ mpeg_ts = setup_test_variables(inputTestData, outputTestData, \
+ &hlsTestCase, engineTestData, segment_size); \
+
+#define TESTCASE_UNREF_BOILERPLATE do{ \
+ if(engineTestData->signal_context){ \
+ g_slice_free (GstHlsDemuxTestSelectBitrateContext, engineTestData->signal_context); \
+ } \
+ if(mpeg_ts) { g_byte_array_free (mpeg_ts, TRUE); } \
+ gst_structure_free (hlsTestCase.state); \
+ g_object_unref (engineTestData); \
+} while(0)
+
+static gboolean
+append_request_uri (GQuark field_id, GValue * value, gpointer user_data)
+{
+ GstHlsDemuxTestAppendUriContext *context =
+ (GstHlsDemuxTestAppendUriContext *) user_data;
+ GValue uri_val = G_VALUE_INIT;
+
+ if (context->field_id == field_id) {
+ g_value_init (&uri_val, G_TYPE_STRING);
+ g_value_set_string (&uri_val, context->uri);
+ gst_value_array_append_value (value, &uri_val);
+ g_value_unset (&uri_val);
+ }
+ return TRUE;
+}
+
+static void
+gst_hlsdemux_test_set_input_data (const GstHlsDemuxTestCase * test_case,
+ const GstHlsDemuxTestInputData * input, GstTestHTTPSrcInput * output)
+{
+ output->size = input->size;
+ output->context = (gpointer) input;
+ if (output->size == 0) {
+ output->size = strlen ((gchar *) input->payload);
+ }
+ fail_unless (input->uri != NULL);
+ if (g_str_has_suffix (input->uri, ".m3u8")) {
+ output->response_headers = gst_structure_new ("response-headers",
+ "Content-Type", G_TYPE_STRING, "application/vnd.apple.mpegurl", NULL);
+ } else if (g_str_has_suffix (input->uri, ".ts")) {
+ output->response_headers = gst_structure_new ("response-headers",
+ "Content-Type", G_TYPE_STRING, "video/mp2t", NULL);
+ }
+ if (gst_structure_has_field (test_case->state, "requests")) {
+ GstHlsDemuxTestAppendUriContext context =
+ { g_quark_from_string ("requests"), input->uri };
+ gst_structure_map_in_place (test_case->state, append_request_uri, &context);
+ } else {
+ GValue requests = G_VALUE_INIT;
+ GValue uri_val = G_VALUE_INIT;
+
+ g_value_init (&requests, GST_TYPE_ARRAY);
+ g_value_init (&uri_val, G_TYPE_STRING);
+ g_value_set_string (&uri_val, input->uri);
+ gst_value_array_append_value (&requests, &uri_val);
+ gst_structure_set_value (test_case->state, "requests", &requests);
+ g_value_unset (&uri_val);
+ g_value_unset (&requests);
+ }
+}
+
+static gboolean
+gst_hlsdemux_test_src_start (GstTestHTTPSrc * src,
+ const gchar * uri, GstTestHTTPSrcInput * input_data, gpointer user_data)
+{
+ const GstHlsDemuxTestCase *test_case =
+ (const GstHlsDemuxTestCase *) user_data;
+ guint fail_count = 0;
+
+ GST_DEBUG ("src_start %s", uri);
+ for (guint i = 0; test_case->input[i].uri; ++i) {
+ if (strcmp (test_case->input[i].uri, uri) == 0) {
+ gst_hlsdemux_test_set_input_data (test_case, &test_case->input[i],
+ input_data);
+ GST_DEBUG ("open URI %s", uri);
+ return TRUE;
+ }
+ }
+ gst_structure_get_uint (test_case->state, "failure-count", &fail_count);
+ fail_count++;
+ gst_structure_set (test_case->state, "failure-count", G_TYPE_UINT,
+ fail_count, NULL);
+ return FALSE;
+}
+
+static GstFlowReturn
+gst_hlsdemux_test_src_create (GstTestHTTPSrc * src,
+ guint64 offset,
+ guint length, GstBuffer ** retbuf, gpointer context, gpointer user_data)
+{
+ GstBuffer *buf;
+ /* const GstHlsDemuxTestCase *test_case = (const GstHlsDemuxTestCase *) user_data; */
+ GstHlsDemuxTestInputData *input = (GstHlsDemuxTestInputData *) context;
+
+ buf = gst_buffer_new_allocate (NULL, length, NULL);
+ fail_if (buf == NULL, "Not enough memory to allocate buffer");
+ fail_if (input->payload == NULL);
+ gst_buffer_fill (buf, 0, input->payload + offset, length);
+ *retbuf = buf;
+ return GST_FLOW_OK;
+}
+
+static GstFlowReturn
+gst_hlsdemux_test_network_error_src_create (GstTestHTTPSrc * src,
+ guint64 offset,
+ guint length, GstBuffer ** retbuf, gpointer context, gpointer user_data)
+{
+ const GstHlsDemuxTestCase *test_case =
+ (const GstHlsDemuxTestCase *) user_data;
+ GstHlsDemuxTestInputData *input = (GstHlsDemuxTestInputData *) context;
+ const gchar *failure_suffix;
+ guint64 failure_position = 0;
+
+ fail_unless (test_case != NULL);
+ fail_unless (input != NULL);
+ fail_unless (input->uri != NULL);
+ failure_suffix =
+ gst_structure_get_string (test_case->state, "failure-suffix");
+ if (!failure_suffix) {
+ failure_suffix = ".ts";
+ }
+ if (!gst_structure_get_uint64 (test_case->state, "failure-position",
+ &failure_position)) {
+ failure_position = 10 * TS_PACKET_LEN;
+ }
+ GST_DEBUG ("network_error %s %s %" G_GUINT64_FORMAT " @ %" G_GUINT64_FORMAT,
+ input->uri, failure_suffix, offset, failure_position);
+ if (g_str_has_suffix (input->uri, failure_suffix)
+ && offset >= failure_position) {
+ GST_DEBUG ("return error");
+ GST_ELEMENT_ERROR (src, RESOURCE, READ,
+ (("A network error occurred, or the server closed the connection unexpectedly.")), ("A network error occurred, or the server closed the connection unexpectedly."));
+ *retbuf = NULL;
+ return GST_FLOW_ERROR;
+ }
+ return gst_hlsdemux_test_src_create (src, offset, length, retbuf, context,
+ user_data);
+}
+
+/******************** Test specific code starts here **************************/
+
+/*
+ * Test a media manifest with a single segment
+ *
+ */
+GST_START_TEST (simpleTest)
+{
+ /* segment_size needs to larger than 2K, otherwise gsthlsdemux will
+ not perform a typefind on the buffer */
+ const guint segment_size = 30 * TS_PACKET_LEN;
+ const gchar *manifest =
+ "#EXTM3U \n"
+ "#EXT-X-TARGETDURATION:1\n"
+ "#EXTINF:1,Test\n" "001.ts\n" "#EXT-X-ENDLIST\n";
+ GstHlsDemuxTestInputData inputTestData[] = {
+ {"http://unit.test/media.m3u8", (guint8 *) manifest, 0},
+ {"http://unit.test/001.ts", NULL, segment_size},
+ {NULL, NULL, 0},
+ };
+ GstAdaptiveDemuxTestExpectedOutput outputTestData[] = {
+ {"src_0", segment_size, NULL},
+ {NULL, 0, NULL}
+ };
+ TESTCASE_INIT_BOILERPLATE (segment_size);
+
+ http_src_callbacks.src_start = gst_hlsdemux_test_src_start;
+ http_src_callbacks.src_create = gst_hlsdemux_test_src_create;
+ engine_callbacks.appsink_received_data =
+ gst_adaptive_demux_test_check_received_data;
+ engine_callbacks.appsink_eos =
+ gst_adaptive_demux_test_check_size_of_received_data;
+
+ gst_test_http_src_install_callbacks (&http_src_callbacks, &hlsTestCase);
+ gst_adaptive_demux_test_run (DEMUX_ELEMENT_NAME,
+ inputTestData[0].uri, &engine_callbacks, engineTestData);
+ TESTCASE_UNREF_BOILERPLATE;
+}
+
+GST_END_TEST;
+
+GST_START_TEST (testMasterPlaylist)
+{
+ const guint segment_size = 30 * TS_PACKET_LEN;
+ const gchar *master_playlist =
+ "#EXTM3U\n"
+ "#EXT-X-VERSION:4\n"
+ "#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=1251135, CODECS=\"avc1.42001f mp4a.40.2\", RESOLUTION=640x352\n"
+ "1200.m3u8\n";
+ const gchar *media_playlist =
+ "#EXTM3U \n"
+ "#EXT-X-TARGETDURATION:1\n"
+ "#EXTINF:1,Test\n" "001.ts\n" "#EXT-X-ENDLIST\n";
+ GstHlsDemuxTestInputData inputTestData[] = {
+ {"http://unit.test/master.m3u8", (guint8 *) master_playlist, 0},
+ {"http://unit.test/1200.m3u8", (guint8 *) media_playlist, 0},
+ {"http://unit.test/001.ts", NULL, segment_size},
+ {NULL, NULL, 0}
+ };
+ GstAdaptiveDemuxTestExpectedOutput outputTestData[] = {
+ {"src_0", segment_size, NULL},
+ {NULL, 0, NULL}
+ };
+ const GValue *requests;
+ TESTCASE_INIT_BOILERPLATE (segment_size);
+
+ http_src_callbacks.src_start = gst_hlsdemux_test_src_start;
+ http_src_callbacks.src_create = gst_hlsdemux_test_src_create;
+ engine_callbacks.appsink_received_data =
+ gst_adaptive_demux_test_check_received_data;
+ engine_callbacks.appsink_eos =
+ gst_adaptive_demux_test_check_size_of_received_data;
+
+ gst_test_http_src_install_callbacks (&http_src_callbacks, &hlsTestCase);
+ gst_adaptive_demux_test_run (DEMUX_ELEMENT_NAME,
+ "http://unit.test/master.m3u8", &engine_callbacks, engineTestData);
+
+ requests = gst_structure_get_value (hlsTestCase.state, "requests");
+ fail_unless (requests != NULL);
+ assert_equals_uint64 (gst_value_array_get_size (requests),
+ sizeof (inputTestData) / sizeof (inputTestData[0]) - 1);
+ for (guint i = 0; inputTestData[i].uri; ++i) {
+ const GValue *uri;
+ uri = gst_value_array_get_value (requests, i);
+ fail_unless (uri != NULL);
+ assert_equals_string (inputTestData[i].uri, g_value_get_string (uri));
+ }
+ TESTCASE_UNREF_BOILERPLATE;
+}
+
+GST_END_TEST;
+
+/*
+ * Test seeking
+ *
+ */
+GST_START_TEST (testSeek)
+{
+ const guint segment_size = 60 * TS_PACKET_LEN;
+ const gchar *manifest =
+ "#EXTM3U \n"
+ "#EXT-X-TARGETDURATION:1\n"
+ "#EXTINF:1,Test\n" "001.ts\n" "#EXT-X-ENDLIST\n";
+ GstHlsDemuxTestInputData inputTestData[] = {
+ {"http://unit.test/media.m3u8", (guint8 *) manifest, 0},
+ {"http://unit.test/001.ts", NULL, segment_size},
+ {NULL, NULL, 0},
+ };
+ GstAdaptiveDemuxTestExpectedOutput outputTestData[] = {
+ {"src_0", segment_size, NULL},
+ {NULL, 0, NULL}
+ };
+ GstTestHTTPSrcCallbacks http_src_callbacks = { 0 };
+ GstAdaptiveDemuxTestCase *engineTestData;
+ GstHlsDemuxTestCase hlsTestCase = { 0 };
+ GByteArray *mpeg_ts = NULL;
+
+ engineTestData = gst_adaptive_demux_test_case_new ();
+ mpeg_ts = setup_test_variables (inputTestData, outputTestData,
+ &hlsTestCase, engineTestData, segment_size);
+
+ http_src_callbacks.src_start = gst_hlsdemux_test_src_start;
+ http_src_callbacks.src_create = gst_hlsdemux_test_src_create;
+ /* seek to 5ms.
+ * Because there is only one fragment, we expect the whole file to be
+ * downloaded again
+ */
+ engineTestData->threshold_for_seek = 20 * TS_PACKET_LEN;
+ engineTestData->seek_event =
+ gst_event_new_seek (1.0, GST_FORMAT_TIME,
+ GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, GST_SEEK_TYPE_SET,
+ 5 * GST_MSECOND, GST_SEEK_TYPE_NONE, 0);
+
+ gst_test_http_src_install_callbacks (&http_src_callbacks, &hlsTestCase);
+ gst_adaptive_demux_test_seek (DEMUX_ELEMENT_NAME,
+ inputTestData[0].uri, engineTestData);
+
+ TESTCASE_UNREF_BOILERPLATE;
+}
+
+GST_END_TEST;
+
+static void
+run_seek_position_test (gdouble rate, GstSeekType start_type,
+ guint64 seek_start, GstSeekType stop_type,
+ guint64 seek_stop, GstSeekFlags flags, guint64 segment_start,
+ guint64 segment_stop, gint segments)
+{
+ const guint segment_size = 60 * TS_PACKET_LEN;
+ const gchar *manifest =
+ "#EXTM3U \n"
+ "#EXT-X-TARGETDURATION:1\n"
+ "#EXTINF:1,Test\n" "001.ts\n"
+ "#EXTINF:1,Test\n" "002.ts\n"
+ "#EXTINF:1,Test\n" "003.ts\n"
+ "#EXTINF:1,Test\n" "004.ts\n" "#EXT-X-ENDLIST\n";
+ GstHlsDemuxTestInputData inputTestData[] = {
+ {"http://unit.test/media.m3u8", (guint8 *) manifest, 0},
+ {"http://unit.test/001.ts", NULL, segment_size},
+ {"http://unit.test/002.ts", NULL, segment_size},
+ {"http://unit.test/003.ts", NULL, segment_size},
+ {"http://unit.test/004.ts", NULL, segment_size},
+ {NULL, NULL, 0},
+ };
+ GstAdaptiveDemuxTestExpectedOutput outputTestData[] = {
+ {"src_0", segment_size * segments, NULL},
+ {NULL, 0, NULL}
+ };
+ GstTestHTTPSrcCallbacks http_src_callbacks = { 0 };
+ GstAdaptiveDemuxTestCase *engineTestData;
+ GstHlsDemuxTestCase hlsTestCase = { 0 };
+ GByteArray *mpeg_ts = NULL;
+
+ engineTestData = gst_adaptive_demux_test_case_new ();
+ mpeg_ts = setup_test_variables (inputTestData, outputTestData,
+ &hlsTestCase, engineTestData, segment_size);
+
+ http_src_callbacks.src_start = gst_hlsdemux_test_src_start;
+ http_src_callbacks.src_create = gst_hlsdemux_test_src_create;
+
+ /* FIXME hack to avoid having a 0 seqnum */
+ gst_util_seqnum_next ();
+
+ /* Seek to 1.5s, expect it to start from 1s */
+ engineTestData->threshold_for_seek = 20 * TS_PACKET_LEN;
+ engineTestData->seek_event =
+ gst_event_new_seek (rate, GST_FORMAT_TIME, flags, start_type,
+ seek_start, stop_type, seek_stop);
+ gst_segment_init (&outputTestData[0].post_seek_segment, GST_FORMAT_TIME);
+ outputTestData[0].post_seek_segment.rate = rate;
+ outputTestData[0].post_seek_segment.start = segment_start;
+ outputTestData[0].post_seek_segment.time = segment_start;
+ outputTestData[0].post_seek_segment.stop = segment_stop;
+ outputTestData[0].segment_verification_needed = TRUE;
+
+ gst_test_http_src_install_callbacks (&http_src_callbacks, &hlsTestCase);
+ gst_adaptive_demux_test_seek (DEMUX_ELEMENT_NAME,
+ inputTestData[0].uri, engineTestData);
+
+ TESTCASE_UNREF_BOILERPLATE;
+}
+
+
+GST_START_TEST (testSeekKeyUnitPosition)
+{
+ /* Seek to 1.5s with key unit, it should go back to 1.0s. 3 segments will be
+ * pushed */
+ run_seek_position_test (1.0, GST_SEEK_TYPE_SET, 1500 * GST_MSECOND,
+ GST_SEEK_TYPE_NONE, 0, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT,
+ 1000 * GST_MSECOND, -1, 3);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (testSeekPosition)
+{
+ /* Seek to 1.5s without key unit, it should keep the 1.5s, but still push
+ * from the 1st segment, so 3 segments will be
+ * pushed */
+ run_seek_position_test (1.0, GST_SEEK_TYPE_SET, 1500 * GST_MSECOND,
+ GST_SEEK_TYPE_NONE, 0, GST_SEEK_FLAG_FLUSH, 1500 * GST_MSECOND, -1, 3);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (testSeekUpdateStopPosition)
+{
+ run_seek_position_test (1.0, GST_SEEK_TYPE_NONE, 1500 * GST_MSECOND,
+ GST_SEEK_TYPE_SET, 3000 * GST_MSECOND, 0, 0, 3000 * GST_MSECOND, 3);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (testSeekSnapBeforePosition)
+{
+ /* Seek to 1.5s, snap before, it go to 1s */
+ run_seek_position_test (1.0, GST_SEEK_TYPE_SET, 1500 * GST_MSECOND,
+ GST_SEEK_TYPE_NONE, 0, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_SNAP_BEFORE,
+ 1000 * GST_MSECOND, -1, 3);
+}
+
+GST_END_TEST;
+
+
+GST_START_TEST (testSeekSnapAfterPosition)
+{
+ /* Seek to 1.5s with snap after, it should move to 2s */
+ run_seek_position_test (1.0, GST_SEEK_TYPE_SET, 1500 * GST_MSECOND,
+ GST_SEEK_TYPE_NONE, 0, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_SNAP_AFTER,
+ 2000 * GST_MSECOND, -1, 2);
+}
+
+GST_END_TEST;
+
+
+GST_START_TEST (testReverseSeekSnapBeforePosition)
+{
+ run_seek_position_test (-1.0, GST_SEEK_TYPE_SET, 1000 * GST_MSECOND,
+ GST_SEEK_TYPE_SET, 2500 * GST_MSECOND,
+ GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_SNAP_BEFORE, 1000 * GST_MSECOND,
+ 3000 * GST_MSECOND, 2);
+}
+
+GST_END_TEST;
+
+
+GST_START_TEST (testReverseSeekSnapAfterPosition)
+{
+ run_seek_position_test (-1.0, GST_SEEK_TYPE_SET, 1000 * GST_MSECOND,
+ GST_SEEK_TYPE_SET, 2500 * GST_MSECOND,
+ GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_SNAP_AFTER, 1000 * GST_MSECOND,
+ 2000 * GST_MSECOND, 1);
+}
+
+GST_END_TEST;
+
+static void
+testDownloadErrorMessageCallback (GstAdaptiveDemuxTestEngine * engine,
+ GstMessage * msg, gpointer user_data)
+{
+ GError *err = NULL;
+ gchar *dbg_info = NULL;
+
+ fail_unless (GST_MESSAGE_TYPE (msg) == GST_MESSAGE_ERROR);
+ gst_message_parse_error (msg, &err, &dbg_info);
+ GST_DEBUG ("Error from element %s : %s\n",
+ GST_OBJECT_NAME (msg->src), err->message);
+ fail_unless_equals_string (GST_OBJECT_NAME (msg->src), DEMUX_ELEMENT_NAME);
+ g_error_free (err);
+ g_free (dbg_info);
+ g_main_loop_quit (engine->loop);
+}
+
+/* test failing to download the media playlist */
+GST_START_TEST (testMediaPlaylistNotFound)
+{
+ const gchar *master_playlist =
+ "#EXTM3U\n"
+ "#EXT-X-VERSION:4\n"
+ "#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=1251135, CODECS=\"avc1.42001f mp4a.40.2\", RESOLUTION=640x352\n"
+ "1200.m3u8\n";
+ GstHlsDemuxTestInputData inputTestData[] = {
+ {"http://unit.test/master.m3u8", (guint8 *) master_playlist, 0},
+ {NULL, NULL, 0}
+ };
+ GstAdaptiveDemuxTestExpectedOutput outputTestData[] = {
+ {"src_0", 0, NULL},
+ {NULL, 0, NULL}
+ };
+ TESTCASE_INIT_BOILERPLATE (0);
+
+ gst_structure_set (hlsTestCase.state,
+ "failure-count", G_TYPE_UINT, 0,
+ "failure-suffix", G_TYPE_STRING, "1200.m3u8", NULL);
+ http_src_callbacks.src_start = gst_hlsdemux_test_src_start;
+ http_src_callbacks.src_create = gst_hlsdemux_test_src_create;
+ engine_callbacks.appsink_received_data =
+ gst_adaptive_demux_test_check_received_data;
+ engine_callbacks.bus_error_message = testDownloadErrorMessageCallback;
+
+ gst_test_http_src_install_callbacks (&http_src_callbacks, &hlsTestCase);
+ gst_adaptive_demux_test_run (DEMUX_ELEMENT_NAME,
+ "http://unit.test/master.m3u8", &engine_callbacks, engineTestData);
+
+ TESTCASE_UNREF_BOILERPLATE;
+}
+
+GST_END_TEST;
+
+static void
+hlsdemux_test_check_no_data_received (GstAdaptiveDemuxTestEngine
+ * engine, GstAdaptiveDemuxTestOutputStream * stream, gpointer user_data)
+{
+ assert_equals_uint64 (stream->total_received_size, 0);
+ g_main_loop_quit (engine->loop);
+}
+
+/* test failing to download a media segment (a 404 error) */
+GST_START_TEST (testFragmentNotFound)
+{
+ const gchar *master_playlist =
+ "#EXTM3U\n"
+ "#EXT-X-VERSION:4\n"
+ "#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=1251135, CODECS=\"avc1.42001f mp4a.40.2\", RESOLUTION=640x352\n"
+ "1200.m3u8\n";
+ const gchar *media_playlist =
+ "#EXTM3U \n"
+ "#EXT-X-TARGETDURATION:1\n"
+ "#EXTINF:1,Test\n" "001.ts\n" "#EXT-X-ENDLIST\n";
+ GstHlsDemuxTestInputData inputTestData[] = {
+ {"http://unit.test/master.m3u8", (guint8 *) master_playlist, 0},
+ {"http://unit.test/1200.m3u8", (guint8 *) media_playlist, 0},
+ {NULL, NULL, 0}
+ };
+ GstAdaptiveDemuxTestExpectedOutput outputTestData[] = {
+ {"src_0", 0, NULL},
+ {NULL, 0, NULL}
+ };
+ TESTCASE_INIT_BOILERPLATE (0);
+
+ gst_structure_set (hlsTestCase.state,
+ "failure-count", G_TYPE_UINT, 0,
+ "failure-suffix", G_TYPE_STRING, "001.ts", NULL);
+ http_src_callbacks.src_start = gst_hlsdemux_test_src_start;
+ http_src_callbacks.src_create = gst_hlsdemux_test_src_create;
+ engine_callbacks.appsink_received_data =
+ gst_adaptive_demux_test_check_received_data;
+ engine_callbacks.appsink_eos = hlsdemux_test_check_no_data_received;
+ engine_callbacks.bus_error_message = testDownloadErrorMessageCallback;
+
+ gst_test_http_src_install_callbacks (&http_src_callbacks, &hlsTestCase);
+ gst_adaptive_demux_test_run (DEMUX_ELEMENT_NAME,
+ "http://unit.test/master.m3u8", &engine_callbacks, engineTestData);
+
+ TESTCASE_UNREF_BOILERPLATE;
+}
+
+GST_END_TEST;
+
+/* work-around that adaptivedemux is not posting an error message
+ about failure to download a fragment */
+static void
+missing_message_eos_callback (GstAdaptiveDemuxTestEngine * engine,
+ GstAdaptiveDemuxTestOutputStream * stream, gpointer user_data)
+{
+ GstAdaptiveDemuxTestCase *testData = GST_ADAPTIVE_DEMUX_TEST_CASE (user_data);
+ GstAdaptiveDemuxTestExpectedOutput *testOutputStreamData;
+
+ fail_unless (stream != NULL);
+ testOutputStreamData =
+ gst_adaptive_demux_test_find_test_data_by_stream (testData, stream, NULL);
+ fail_unless (testOutputStreamData != NULL);
+ /* expect to receive less than file size */
+ fail_unless (stream->total_received_size <
+ testOutputStreamData->expected_size,
+ "size validation failed for %s, expected < %d received %d",
+ testOutputStreamData->name, testOutputStreamData->expected_size,
+ stream->total_received_size);
+ testData->count_of_finished_streams++;
+ GST_DEBUG ("EOS callback %d %d",
+ testData->count_of_finished_streams,
+ g_list_length (testData->output_streams));
+ if (testData->count_of_finished_streams ==
+ g_list_length (testData->output_streams)) {
+ g_main_loop_quit (engine->loop);
+ }
+}
+
+
+/*
+ * Test fragment download error
+ * Let the adaptive demux download a few bytes, then instruct the
+ * test soup http src element to generate an error.
+ */
+GST_START_TEST (testFragmentDownloadError)
+{
+ const guint segment_size = 30 * TS_PACKET_LEN;
+ const gchar *master_playlist =
+ "#EXTM3U\n"
+ "#EXT-X-VERSION:4\n"
+ "#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=1251135, CODECS=\"avc1.42001f mp4a.40.2\", RESOLUTION=640x352\n"
+ "1200.m3u8\n";
+ const gchar *media_playlist =
+ "#EXTM3U \n"
+ "#EXT-X-VERSION:4\n"
+ "#EXT-X-TARGETDURATION:1\n"
+ "#EXTINF:1,Test\n" "001.ts\n"
+ "#EXTINF:1,Test\n" "002.ts\n" "#EXT-X-ENDLIST\n";
+ GstHlsDemuxTestInputData inputTestData[] = {
+ {"http://unit.test/master.m3u8", (guint8 *) master_playlist, 0},
+ {"http://unit.test/1200.m3u8", (guint8 *) media_playlist, 0},
+ {"http://unit.test/001.ts", NULL, segment_size},
+ {"http://unit.test/002.ts", NULL, segment_size},
+ {NULL, NULL, 0}
+ };
+ GstAdaptiveDemuxTestExpectedOutput outputTestData[] = {
+ {"src_0", 2 * segment_size, NULL},
+ {NULL, 0, NULL}
+ };
+ const guint64 failure_position = 2048;
+ TESTCASE_INIT_BOILERPLATE (segment_size);
+
+ http_src_callbacks.src_start = gst_hlsdemux_test_src_start;
+ http_src_callbacks.src_create = gst_hlsdemux_test_network_error_src_create;
+ gst_structure_set (hlsTestCase.state,
+ "failure-suffix", G_TYPE_STRING, "001.ts",
+ "failure-position", G_TYPE_UINT64, failure_position, NULL);
+ engine_callbacks.appsink_received_data =
+ gst_adaptive_demux_test_check_received_data;
+ engine_callbacks.appsink_eos = missing_message_eos_callback;
+ engine_callbacks.bus_error_message = testDownloadErrorMessageCallback;
+
+ gst_test_http_src_install_callbacks (&http_src_callbacks, &hlsTestCase);
+ gst_adaptive_demux_test_run (DEMUX_ELEMENT_NAME,
+ inputTestData[0].uri, &engine_callbacks, engineTestData);
+
+ TESTCASE_UNREF_BOILERPLATE;
+}
+
+GST_END_TEST;
+
+static Suite *
+hls_demux_suite (void)
+{
+ Suite *s = suite_create ("hls_demux");
+ TCase *tc_basicTest = tcase_create ("basicTest");
+
+ tcase_add_test (tc_basicTest, simpleTest);
+ tcase_add_test (tc_basicTest, testMasterPlaylist);
+ tcase_add_test (tc_basicTest, testMediaPlaylistNotFound);
+ tcase_add_test (tc_basicTest, testFragmentNotFound);
+ tcase_add_test (tc_basicTest, testFragmentDownloadError);
+ tcase_add_test (tc_basicTest, testSeek);
+ tcase_add_test (tc_basicTest, testSeekKeyUnitPosition);
+ tcase_add_test (tc_basicTest, testSeekPosition);
+ tcase_add_test (tc_basicTest, testSeekUpdateStopPosition);
+ tcase_add_test (tc_basicTest, testSeekSnapBeforePosition);
+ tcase_add_test (tc_basicTest, testSeekSnapAfterPosition);
+ tcase_add_test (tc_basicTest, testReverseSeekSnapBeforePosition);
+ tcase_add_test (tc_basicTest, testReverseSeekSnapAfterPosition);
+
+ tcase_add_unchecked_fixture (tc_basicTest, gst_adaptive_demux_test_setup,
+ gst_adaptive_demux_test_teardown);
+
+ suite_add_tcase (s, tc_basicTest);
+
+ return s;
+}
+
+GST_CHECK_MAIN (hls_demux);
diff --git a/tests/check/elements/mpg123audiodec.c b/tests/check/elements/mpg123audiodec.c
deleted file mode 100644
index 20d6e77..0000000
--- a/tests/check/elements/mpg123audiodec.c
+++ /dev/null
@@ -1,534 +0,0 @@
-/* GStreamer
- *
- * unit test for mpg123audiodec
- *
- * Copyright (c) 2012 Carlos Rafael Giani <dv@pseudoterminal.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- */
-
-#include <unistd.h>
-
-#include <gst/check/gstcheck.h>
-#include <gst/audio/audio.h>
-
-#include <gst/fft/gstfft.h>
-#include <gst/fft/gstffts16.h>
-#include <gst/fft/gstffts32.h>
-#include <gst/fft/gstfftf32.h>
-#include <gst/fft/gstfftf64.h>
-
-#include <gst/app/gstappsink.h>
-
-/* For ease of programming we use globals to keep refs for our floating
- * src and sink pads we create; otherwise we always have to do get_pad,
- * get_peer, and then remove references in every test function */
-static GstPad *mysrcpad, *mysinkpad;
-
-
-#define MP2_STREAM_FILENAME "stream.mp2"
-#define MP3_CBR_STREAM_FILENAME "cbr_stream.mp3"
-#define MP3_VBR_STREAM_FILENAME "vbr_stream.mp3"
-
-
-/* mpeg 1 layer 2 stream created with:
- * gst-launch-1.0 -v audiotestsrc wave=sine freq=440 volume=1 num-buffers=32 ! \
- * "audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)1" ! \
- * avenc_mp2 bitrate=32000 ! tee name=t \
- * t. ! queue ! fakesink silent=false \
- * t. ! queue ! filesink location=test.mp2
- *
- * mpeg 1 layer 3 CBR stream created with:
- * gst-launch-1.0 -v audiotestsrc wave=sine freq=440 volume=1 num-buffers=32 ! \
- * "audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)1" ! \
- * lamemp3enc encoding-engine-quality=high cbr=true target=bitrate bitrate=32 ! \
- * "audio/mpeg, rate=(int)44100, channels=(int)1" ! tee name=t \
- * t. ! queue ! fakesink silent=false \
- * t. ! queue ! filesink location=test.mp3
- *
- * mpeg 1 layer 3 VBR stream created with:
- * gst-launch-1.0 -v audiotestsrc wave=sine freq=440 volume=1 num-buffers=32 ! \
- * "audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)44100, channels=(int)1" ! \
- * lamemp3enc encoding-engine-quality=high cbr=false target=quality quality=7 ! \
- * "audio/mpeg, rate=(int)44100, channels=(int)1" ! tee name=t \
- * t. ! queue ! fakesink silent=false \
- * t. ! queue ! filesink location=test.mp3
- */
-
-
-/* FFT test helpers taken from gst-plugins-base tests/check/audioresample.c */
-
-#define FFT_HELPERS(type,ffttag,ffttag2,scale) \
-static gdouble magnitude##ffttag (const GstFFT##ffttag##Complex *c) \
-{ \
- gdouble mag = (gdouble) c->r * (gdouble) c->r; \
- mag += (gdouble) c->i * (gdouble) c->i; \
- mag /= scale * scale; \
- mag = 10.0 * log10 (mag); \
- return mag; \
-} \
-static gdouble find_main_frequency_spot_##ffttag ( \
- const GstFFT##ffttag##Complex *v, int elements) \
-{ \
- int i; \
- gdouble maxmag = -9999; \
- int maxidx = 0; \
- for (i=0; i<elements; ++i) { \
- gdouble mag = magnitude##ffttag (v+i); \
- if (mag > maxmag) { \
- maxmag = mag; \
- maxidx = i; \
- } \
- } \
- return maxidx / (gdouble) elements; \
-} \
-static gboolean is_zero_except_##ffttag (const GstFFT##ffttag##Complex *v, \
- int elements, gdouble spot) \
-{ \
- int i; \
- for (i=0; i<elements; ++i) { \
- gdouble pos = i / (gdouble) elements; \
- gdouble mag = magnitude##ffttag (v+i); \
- if (fabs (pos - spot) > 0.01) { \
- if (mag > -35.0) { \
- GST_LOG("Found magnitude at %f : %f (peak at %f)\n", pos, mag, spot); \
- return FALSE; \
- } \
- } \
- } \
- return TRUE; \
-} \
-static void check_main_frequency_spot_##ffttag (GstBuffer *buffer, gdouble \
- expected_spot) \
-{ \
- GstMapInfo map; \
- int num_samples; \
- gdouble actual_spot; \
- GstFFT##ffttag *ctx; \
- GstFFT##ffttag##Complex *fftdata; \
- \
- gst_buffer_map (buffer, &map, GST_MAP_READ); \
- \
- num_samples = map.size / sizeof(type) & ~1; \
- ctx = gst_fft_##ffttag2##_new (num_samples, FALSE); \
- fftdata = g_new (GstFFT##ffttag##Complex, num_samples / 2 + 1); \
- \
- gst_fft_##ffttag2##_window (ctx, (type*)map.data, \
- GST_FFT_WINDOW_HAMMING); \
- gst_fft_##ffttag2##_fft (ctx, (type*)map.data, fftdata); \
- \
- actual_spot = find_main_frequency_spot_##ffttag (fftdata, \
- num_samples / 2 + 1); \
- GST_LOG ("Expected spot: %.3f actual: %.3f %f", expected_spot, actual_spot, \
- fabs (expected_spot - actual_spot)); \
- fail_unless (fabs (expected_spot - actual_spot) < 0.05, \
- "Actual main frequency spot is too far away from expected one"); \
- fail_unless (is_zero_except_##ffttag (fftdata, num_samples / 2 + 1, \
- actual_spot), "One secondary peak in spectrum exceeds threshold"); \
- \
- gst_buffer_unmap (buffer, &map); \
- \
- gst_fft_##ffttag2##_free (ctx); \
- g_free (fftdata); \
-}
-FFT_HELPERS (gint32, S32, s32, 2147483647.0);
-
-
-static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
- GST_PAD_SINK,
- GST_PAD_ALWAYS,
- GST_STATIC_CAPS ("audio/x-raw, format = (string) " GST_AUDIO_NE (S32))
- );
-static GstStaticPadTemplate layer2_srctemplate = GST_STATIC_PAD_TEMPLATE ("src",
- GST_PAD_SRC,
- GST_PAD_ALWAYS,
- GST_STATIC_CAPS_ANY);
-static GstStaticPadTemplate layer3_srctemplate = GST_STATIC_PAD_TEMPLATE ("src",
- GST_PAD_SRC,
- GST_PAD_ALWAYS,
- GST_STATIC_CAPS_ANY);
-
-
-static void
-setup_input_pipeline (gchar const *stream_filename, GstElement ** pipeline,
- GstElement ** appsink)
-{
- GstElement *source, *parser;
-
- *pipeline = gst_pipeline_new (NULL);
- source = gst_element_factory_make ("filesrc", NULL);
- parser = gst_element_factory_make ("mpegaudioparse", NULL);
- *appsink = gst_element_factory_make ("appsink", NULL);
-
- gst_bin_add_many (GST_BIN (*pipeline), source, parser, *appsink, NULL);
- gst_element_link_many (source, parser, *appsink, NULL);
-
- {
- char *full_filename =
- g_build_filename (GST_TEST_FILES_PATH, stream_filename, NULL);
- g_object_set (G_OBJECT (source), "location", full_filename, NULL);
- g_free (full_filename);
- }
-
- gst_element_set_state (*pipeline, GST_STATE_PLAYING);
-}
-
-static void
-cleanup_input_pipeline (GstElement * pipeline)
-{
- gst_element_set_state (pipeline, GST_STATE_NULL);
- gst_object_unref (pipeline);
-}
-
-static GstElement *
-setup_mpeg1layer2dec (void)
-{
- GstElement *mpg123audiodec;
- GstCaps *caps;
-
- GST_DEBUG ("setup_mpeg1layer2dec");
- mpg123audiodec = gst_check_setup_element ("mpg123audiodec");
- mysrcpad = gst_check_setup_src_pad (mpg123audiodec, &layer2_srctemplate);
- mysinkpad = gst_check_setup_sink_pad (mpg123audiodec, &sinktemplate);
- gst_pad_set_active (mysrcpad, TRUE);
- gst_pad_set_active (mysinkpad, TRUE);
-
- /* This is necessary to trigger a set_format call in the decoder;
- * fixed caps don't trigger it */
- caps = gst_caps_new_simple ("audio/mpeg",
- "mpegversion", G_TYPE_INT, 1,
- "layer", G_TYPE_INT, 2,
- "rate", G_TYPE_INT, 44100,
- "channels", G_TYPE_INT, 1, "parsed", G_TYPE_BOOLEAN, TRUE, NULL);
- gst_check_setup_events (mysrcpad, mpg123audiodec, caps, GST_FORMAT_TIME);
- gst_caps_unref (caps);
-
- return mpg123audiodec;
-}
-
-static GstElement *
-setup_mpeg1layer3dec (void)
-{
- GstElement *mpg123audiodec;
- GstCaps *caps;
-
- GST_DEBUG ("setup_mpeg1layer3dec");
- mpg123audiodec = gst_check_setup_element ("mpg123audiodec");
- mysrcpad = gst_check_setup_src_pad (mpg123audiodec, &layer3_srctemplate);
- mysinkpad = gst_check_setup_sink_pad (mpg123audiodec, &sinktemplate);
- gst_pad_set_active (mysrcpad, TRUE);
- gst_pad_set_active (mysinkpad, TRUE);
-
- /* This is necessary to trigger a set_format call in the decoder;
- * fixed caps don't trigger it */
- caps = gst_caps_new_simple ("audio/mpeg",
- "mpegversion", G_TYPE_INT, 1,
- "layer", G_TYPE_INT, 3,
- "rate", G_TYPE_INT, 44100,
- "channels", G_TYPE_INT, 1, "parsed", G_TYPE_BOOLEAN, TRUE, NULL);
- gst_check_setup_events (mysrcpad, mpg123audiodec, caps, GST_FORMAT_TIME);
- gst_caps_unref (caps);
-
- return mpg123audiodec;
-}
-
-static void
-cleanup_mpg123audiodec (GstElement * mpg123audiodec)
-{
- GST_DEBUG ("cleanup_mpeg1layer2dec");
- gst_element_set_state (mpg123audiodec, GST_STATE_NULL);
-
- gst_pad_set_active (mysrcpad, FALSE);
- gst_pad_set_active (mysinkpad, FALSE);
- gst_check_teardown_src_pad (mpg123audiodec);
- gst_check_teardown_sink_pad (mpg123audiodec);
- gst_check_teardown_element (mpg123audiodec);
-}
-
-static void
-run_decoding_test (GstElement * mpg123audiodec, gchar const *filename)
-{
- GstBus *bus;
- unsigned int num_input_buffers, num_decoded_buffers;
- gint expected_size;
- GstCaps *out_caps, *caps;
- GstAudioInfo audioinfo;
- GstElement *input_pipeline, *input_appsink;
- int i;
- GstBuffer *outbuffer;
-
- /* 440 Hz = frequency of sine wave in audio data
- * 44100 Hz = sample rate
- * (44100 / 2) Hz = Nyquist frequency */
- static double const expected_frequency_spot = 440.0 / (44100.0 / 2.0);
-
- fail_unless (gst_element_set_state (mpg123audiodec,
- GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS,
- "could not set to playing");
- bus = gst_bus_new ();
-
- gst_element_set_bus (mpg123audiodec, bus);
-
- setup_input_pipeline (filename, &input_pipeline, &input_appsink);
-
- num_input_buffers = 0;
- while (TRUE) {
- GstSample *sample;
- GstBuffer *input_buffer;
-
- sample = gst_app_sink_pull_sample (GST_APP_SINK (input_appsink));
- if (sample == NULL)
- break;
-
- fail_unless (GST_IS_SAMPLE (sample));
-
- input_buffer = gst_sample_get_buffer (sample);
- fail_if (input_buffer == NULL);
-
- /* This is done to be on the safe side - docs say lifetime of the input buffer
- * depends *solely* on the sample */
- input_buffer = gst_buffer_copy (input_buffer);
-
- fail_unless_equals_int (gst_pad_push (mysrcpad, input_buffer), GST_FLOW_OK);
-
- ++num_input_buffers;
-
- gst_sample_unref (sample);
- }
-
- num_decoded_buffers = g_list_length (buffers);
-
- /* check number of decoded buffers */
- fail_unless_equals_int (num_decoded_buffers, num_input_buffers - 2);
-
- caps = gst_pad_get_current_caps (mysinkpad);
- GST_LOG ("output caps %" GST_PTR_FORMAT, caps);
- fail_unless (gst_audio_info_from_caps (&audioinfo, caps),
- "Getting audio info from caps failed");
-
- /* check caps */
- out_caps = gst_caps_new_simple ("audio/x-raw",
- "format", G_TYPE_STRING, GST_AUDIO_NE (S32),
- "layout", G_TYPE_STRING, "interleaved",
- "rate", G_TYPE_INT, 44100, "channels", G_TYPE_INT, 1, NULL);
-
- fail_unless (gst_caps_is_equal_fixed (caps, out_caps), "Incorrect out caps");
-
- gst_caps_unref (out_caps);
- gst_caps_unref (caps);
-
- /* here, test if decoded data is a sine tone, and if the sine frequency is at the
- * right spot in the spectrum */
- for (i = 0; i < num_decoded_buffers; ++i) {
- outbuffer = GST_BUFFER (buffers->data);
- fail_if (outbuffer == NULL, "Invalid buffer retrieved");
-
- /* MPEG 1 layer 2 uses 1152 samples per frame */
- expected_size = 1152 * GST_AUDIO_INFO_BPF (&audioinfo);
- fail_unless_equals_int (gst_buffer_get_size (outbuffer), expected_size);
-
- check_main_frequency_spot_S32 (outbuffer, expected_frequency_spot);
-
- buffers = g_list_remove (buffers, outbuffer);
- gst_buffer_unref (outbuffer);
- outbuffer = NULL;
- }
-
- g_list_free (buffers);
- buffers = NULL;
-
- cleanup_input_pipeline (input_pipeline);
- gst_bus_set_flushing (bus, TRUE);
- gst_element_set_bus (mpg123audiodec, NULL);
- gst_object_unref (GST_OBJECT (bus));
-}
-
-
-GST_START_TEST (test_decode_mpeg1layer2)
-{
- GstElement *mpg123audiodec;
- mpg123audiodec = setup_mpeg1layer2dec ();
- run_decoding_test (mpg123audiodec, MP2_STREAM_FILENAME);
- cleanup_mpg123audiodec (mpg123audiodec);
- mpg123audiodec = NULL;
-}
-
-GST_END_TEST;
-
-
-GST_START_TEST (test_decode_mpeg1layer3_cbr)
-{
- GstElement *mpg123audiodec;
- mpg123audiodec = setup_mpeg1layer3dec ();
- run_decoding_test (mpg123audiodec, MP3_CBR_STREAM_FILENAME);
- cleanup_mpg123audiodec (mpg123audiodec);
-}
-
-GST_END_TEST;
-
-
-GST_START_TEST (test_decode_mpeg1layer3_vbr)
-{
- GstElement *mpg123audiodec;
- mpg123audiodec = setup_mpeg1layer3dec ();
- run_decoding_test (mpg123audiodec, MP3_VBR_STREAM_FILENAME);
- cleanup_mpg123audiodec (mpg123audiodec);
-}
-
-GST_END_TEST;
-
-
-GST_START_TEST (test_decode_garbage_mpeg1layer2)
-{
- GstElement *mpg123audiodec;
- GstBuffer *inbuffer;
- GstBus *bus;
- int i, num_buffers;
- guint32 *tmpbuf;
-
- mpg123audiodec = setup_mpeg1layer2dec ();
-
- fail_unless (gst_element_set_state (mpg123audiodec,
- GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS,
- "could not set to playing");
- bus = gst_bus_new ();
-
- /* initialize the buffer with something that is no mpeg2 */
- tmpbuf = g_new (guint32, 4096);
- for (i = 0; i < 4096; i++) {
- tmpbuf[i] = i;
- }
- inbuffer = gst_buffer_new_wrapped (tmpbuf, 4096 * sizeof (guint32));
-
- ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
-
- gst_element_set_bus (mpg123audiodec, bus);
-
- /* should be possible to push without problems but nothing gets decoded */
- fail_unless_equals_int (gst_pad_push (mysrcpad, inbuffer), GST_FLOW_OK);
-
- num_buffers = g_list_length (buffers);
-
- /* should be 0 buffers as decoding should've been impossible */
- fail_unless_equals_int (num_buffers, 0);
-
- g_list_free (buffers);
- buffers = NULL;
-
- gst_bus_set_flushing (bus, TRUE);
- gst_element_set_bus (mpg123audiodec, NULL);
- gst_object_unref (GST_OBJECT (bus));
- cleanup_mpg123audiodec (mpg123audiodec);
- mpg123audiodec = NULL;
-}
-
-GST_END_TEST;
-
-
-GST_START_TEST (test_decode_garbage_mpeg1layer3)
-{
- GstElement *mpg123audiodec;
- GstBuffer *inbuffer;
- GstBus *bus;
- int i, num_buffers;
- guint32 *tmpbuf;
-
- mpg123audiodec = setup_mpeg1layer3dec ();
-
- fail_unless (gst_element_set_state (mpg123audiodec,
- GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS,
- "could not set to playing");
- bus = gst_bus_new ();
-
- /* initialize the buffer with something that is no mpeg2 */
- tmpbuf = g_new (guint32, 4096);
- for (i = 0; i < 4096; i++) {
- tmpbuf[i] = i;
- }
- inbuffer = gst_buffer_new_wrapped (tmpbuf, 4096 * sizeof (guint32));
-
- ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
-
- gst_element_set_bus (mpg123audiodec, bus);
-
- /* should be possible to push without problems but nothing gets decoded */
- fail_unless_equals_int (gst_pad_push (mysrcpad, inbuffer), GST_FLOW_OK);
-
- num_buffers = g_list_length (buffers);
-
- /* should be 0 buffers as decoding should've been impossible */
- fail_unless_equals_int (num_buffers, 0);
-
- g_list_free (buffers);
- buffers = NULL;
-
- gst_bus_set_flushing (bus, TRUE);
- gst_element_set_bus (mpg123audiodec, NULL);
- gst_object_unref (GST_OBJECT (bus));
- cleanup_mpg123audiodec (mpg123audiodec);
- mpg123audiodec = NULL;
-}
-
-GST_END_TEST;
-
-
-static gboolean
-is_test_file_available (gchar const *filename)
-{
- gboolean ret;
- gchar *full_filename;
- gchar *cwd;
-
- cwd = g_get_current_dir ();
- full_filename = g_build_filename (cwd, GST_TEST_FILES_PATH, filename, NULL);
- ret =
- g_file_test (full_filename, G_FILE_TEST_IS_REGULAR | G_FILE_TEST_EXISTS);
- g_free (full_filename);
- g_free (cwd);
- return ret;
-}
-
-static Suite *
-mpg123audiodec_suite (void)
-{
- GstRegistry *registry;
- Suite *s = suite_create ("mpg123audiodec");
- TCase *tc_chain = tcase_create ("general");
-
- registry = gst_registry_get ();
-
- suite_add_tcase (s, tc_chain);
- if (gst_registry_check_feature_version (registry, "filesrc",
- GST_VERSION_MAJOR, GST_VERSION_MINOR, 0) &&
- gst_registry_check_feature_version (registry, "mpegaudioparse",
- GST_VERSION_MAJOR, GST_VERSION_MINOR, 0) &&
- gst_registry_check_feature_version (registry, "appsrc",
- GST_VERSION_MAJOR, GST_VERSION_MINOR, 0)) {
- if (is_test_file_available (MP2_STREAM_FILENAME))
- tcase_add_test (tc_chain, test_decode_mpeg1layer2);
- if (is_test_file_available (MP3_CBR_STREAM_FILENAME))
- tcase_add_test (tc_chain, test_decode_mpeg1layer3_cbr);
- if (is_test_file_available (MP3_VBR_STREAM_FILENAME))
- tcase_add_test (tc_chain, test_decode_mpeg1layer3_vbr);
- }
- tcase_add_test (tc_chain, test_decode_garbage_mpeg1layer2);
- tcase_add_test (tc_chain, test_decode_garbage_mpeg1layer3);
-
- return s;
-}
-
-
-GST_CHECK_MAIN (mpg123audiodec)
diff --git a/tests/check/elements/mssdemux.c b/tests/check/elements/mssdemux.c
new file mode 100644
index 0000000..78a1863
--- /dev/null
+++ b/tests/check/elements/mssdemux.c
@@ -0,0 +1,632 @@
+/* GStreamer unit test for MSS
+ *
+ * Copyright (C) 2016 Samsung Electronics. All rights reserved.
+ * Author: Thiago Santos <thiagoss@osg.samsung.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#include <gst/check/gstcheck.h>
+#include "adaptive_demux_common.h"
+
+#define DEMUX_ELEMENT_NAME "mssdemux"
+
+#define COPY_OUTPUT_TEST_DATA(outputTestData,testData) do { \
+ guint otdPos, otdLen = sizeof((outputTestData)) / sizeof((outputTestData)[0]); \
+ for(otdPos=0; otdPos<otdLen; ++otdPos){ \
+ (testData)->output_streams = g_list_append ((testData)->output_streams, &(outputTestData)[otdPos]); \
+ } \
+ } while(0)
+
+typedef struct _GstMssDemuxTestInputData
+{
+ const gchar *uri;
+ const guint8 *payload;
+ guint64 size;
+} GstMssDemuxTestInputData;
+
+static gboolean
+gst_mssdemux_http_src_start (GstTestHTTPSrc * src,
+ const gchar * uri, GstTestHTTPSrcInput * input_data, gpointer user_data)
+{
+ const GstMssDemuxTestInputData *input =
+ (const GstMssDemuxTestInputData *) user_data;
+
+
+ for (guint i = 0; input[i].uri; ++i) {
+ if (strcmp (input[i].uri, uri) == 0) {
+ input_data->context = (gpointer) & input[i];
+ input_data->size = input[i].size;
+ if (input[i].size == 0)
+ input_data->size = strlen ((gchar *) input[i].payload);
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+
+static GstFlowReturn
+gst_mssdemux_http_src_create (GstTestHTTPSrc * src,
+ guint64 offset,
+ guint length, GstBuffer ** retbuf, gpointer context, gpointer user_data)
+{
+ /* const GstMssDemuxTestInputData *input =
+ (const GstMssDemuxTestInputData *) user_data; */
+ const GstMssDemuxTestInputData *input =
+ (const GstMssDemuxTestInputData *) context;
+ GstBuffer *buf;
+
+ buf = gst_buffer_new_allocate (NULL, length, NULL);
+ fail_if (buf == NULL, "Not enough memory to allocate buffer");
+
+ if (input->payload) {
+ gst_buffer_fill (buf, 0, input->payload + offset, length);
+ } else {
+ GstMapInfo info;
+ guint pattern;
+
+ pattern = offset - offset % sizeof (pattern);
+
+ gst_buffer_map (buf, &info, GST_MAP_WRITE);
+ for (guint64 i = 0; i < length; ++i) {
+ gchar pattern_byte_to_write = (offset + i) % sizeof (pattern);
+ if (pattern_byte_to_write == 0) {
+ pattern = offset + i;
+ }
+ info.data[i] = (pattern >> (pattern_byte_to_write * 8)) & 0xFF;
+ }
+ gst_buffer_unmap (buf, &info);
+ }
+ *retbuf = buf;
+ return GST_FLOW_OK;
+}
+
+/******************** Test specific code starts here **************************/
+
+/*
+ * Test an mpd with an audio and a video stream
+ *
+ */
+GST_START_TEST (simpleTest)
+{
+ const gchar *mpd =
+ "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
+ "<SmoothStreamingMedia MajorVersion=\"2\" MinorVersion=\"0\" Duration=\"40000000\">"
+ "<StreamIndex Type=\"video\" QualityLevels=\"1\" Chunks=\"1\" Url=\"QualityLevels({bitrate})/Fragments(video={start time})\">"
+ "<QualityLevel Index=\"0\" Bitrate=\"480111\" FourCC=\"H264\" MaxWidth=\"1024\" MaxHeight=\"436\" CodecPrivateData=\"000\" />"
+ "<c n=\"0\" d=\"10000000\" />"
+ "<c n=\"1\" d=\"10000000\" />"
+ "<c n=\"2\" d=\"10000000\" />"
+ "<c n=\"3\" d=\"10000000\" />"
+ "</StreamIndex>"
+ "<StreamIndex Type=\"audio\" Language=\"eng\" QualityLevels=\"1\" Chunks=\"1\" Url=\"QualityLevels({bitrate})/Fragments(audio_eng={start time})\">"
+ "<QualityLevel Index=\"0\" Bitrate=\"200029\" FourCC=\"AACL\" SamplingRate=\"48000\" Channels=\"2\" BitsPerSample=\"16\" PacketSize=\"4\" AudioTag=\"255\" CodecPrivateData=\"1190\" />"
+ "<c n=\"0\" d=\"40000000\" />" "</StreamIndex>" "</SmoothStreamingMedia>";
+
+ GstMssDemuxTestInputData inputTestData[] = {
+ {"http://unit.test/Manifest", (guint8 *) mpd, 0},
+ {"http://unit.test/QualityLevels(480111)/Fragments(video=0)", NULL, 9000},
+ {"http://unit.test/QualityLevels(480111)/Fragments(video=10000000)", NULL,
+ 9000},
+ {"http://unit.test/QualityLevels(480111)/Fragments(video=20000000)", NULL,
+ 9000},
+ {"http://unit.test/QualityLevels(480111)/Fragments(video=30000000)", NULL,
+ 9000},
+ {"http://unit.test/QualityLevels(200029)/Fragments(audio_eng=0)", NULL,
+ 5000},
+ {NULL, NULL, 0},
+ };
+ GstTestHTTPSrcCallbacks http_src_callbacks = { 0 };
+ GstAdaptiveDemuxTestExpectedOutput outputTestData[] = {
+ {"audio_00", 5000, NULL},
+ {"video_00", 4 * 9000, NULL}
+ };
+ GstAdaptiveDemuxTestCallbacks test_callbacks = { 0 };
+ GstAdaptiveDemuxTestCase *testData;
+
+ testData = gst_adaptive_demux_test_case_new ();
+ http_src_callbacks.src_start = gst_mssdemux_http_src_start;
+ http_src_callbacks.src_create = gst_mssdemux_http_src_create;
+ gst_test_http_src_install_callbacks (&http_src_callbacks, inputTestData);
+
+ COPY_OUTPUT_TEST_DATA (outputTestData, testData);
+ test_callbacks.appsink_received_data =
+ gst_adaptive_demux_test_check_received_data;
+ test_callbacks.appsink_eos =
+ gst_adaptive_demux_test_check_size_of_received_data;
+
+ gst_adaptive_demux_test_run (DEMUX_ELEMENT_NAME, "http://unit.test/Manifest",
+ &test_callbacks, testData);
+ g_object_unref (testData);
+}
+
+GST_END_TEST;
+
+/*
+ * Test seeking
+ *
+ */
+GST_START_TEST (testSeek)
+{
+ const gchar *mpd =
+ "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
+ "<SmoothStreamingMedia MajorVersion=\"2\" MinorVersion=\"0\" Duration=\"40000000\">"
+ "<StreamIndex Type=\"audio\" Language=\"eng\" QualityLevels=\"1\" Chunks=\"1\" Url=\"QualityLevels({bitrate})/Fragments(audio_eng={start time})\">"
+ "<QualityLevel Index=\"0\" Bitrate=\"200029\" FourCC=\"AACL\" SamplingRate=\"48000\" Channels=\"2\" BitsPerSample=\"16\" PacketSize=\"4\" AudioTag=\"255\" CodecPrivateData=\"1190\" />"
+ "<c n=\"0\" d=\"450346666\" />"
+ "</StreamIndex>" "</SmoothStreamingMedia>";
+ GstMssDemuxTestInputData inputTestData[] = {
+ {"http://unit.test/Manifest", (guint8 *) mpd, 0},
+ {"http://unit.test/QualityLevels(200029)/Fragments(audio_eng=0)", NULL,
+ 10000},
+ {NULL, NULL, 0},
+ };
+ GstTestHTTPSrcCallbacks http_src_callbacks = { 0 };
+ GstAdaptiveDemuxTestExpectedOutput outputTestData[] = {
+ {"audio_00", 10000, NULL},
+ };
+ GstAdaptiveDemuxTestCase *testData;
+
+ testData = gst_adaptive_demux_test_case_new ();
+
+ http_src_callbacks.src_start = gst_mssdemux_http_src_start;
+ http_src_callbacks.src_create = gst_mssdemux_http_src_create;
+ COPY_OUTPUT_TEST_DATA (outputTestData, testData);
+
+ /* media segment starts at 4687
+ * Issue a seek request after media segment has started to be downloaded
+ * on the first pad listed in GstAdaptiveDemuxTestOutputStreamData and the
+ * first chunk of at least one byte has already arrived in AppSink
+ */
+ testData->threshold_for_seek = 4687 + 1;
+
+ /* seek to 5ms.
+ * Because there is only one fragment, we expect the whole file to be
+ * downloaded again
+ */
+ testData->seek_event =
+ gst_event_new_seek (1.0, GST_FORMAT_TIME,
+ GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT, GST_SEEK_TYPE_SET,
+ 5 * GST_MSECOND, GST_SEEK_TYPE_NONE, 0);
+
+ gst_test_http_src_install_callbacks (&http_src_callbacks, inputTestData);
+ gst_adaptive_demux_test_seek (DEMUX_ELEMENT_NAME,
+ "http://unit.test/Manifest", testData);
+ gst_object_unref (testData);
+}
+
+GST_END_TEST;
+
+
+static void
+run_seek_position_test (gdouble rate, GstSeekType start_type,
+ guint64 seek_start, GstSeekType stop_type, guint64 seek_stop,
+ GstSeekFlags flags, guint64 segment_start, guint64 segment_stop,
+ gint segments)
+{
+ const gchar *mpd =
+ "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
+ "<SmoothStreamingMedia MajorVersion=\"2\" MinorVersion=\"0\" Duration=\"40000000\">"
+ "<StreamIndex Type=\"audio\" Language=\"eng\" QualityLevels=\"1\" Chunks=\"1\" Url=\"QualityLevels({bitrate})/Fragments(audio_eng={start time})\">"
+ "<QualityLevel Index=\"0\" Bitrate=\"200029\" FourCC=\"AACL\" SamplingRate=\"48000\" Channels=\"2\" BitsPerSample=\"16\" PacketSize=\"4\" AudioTag=\"255\" CodecPrivateData=\"1190\" />"
+ "<c n=\"0\" d=\"10000000\" />"
+ "<c n=\"1\" d=\"10000000\" />"
+ "<c n=\"2\" d=\"10000000\" />"
+ "<c n=\"3\" d=\"10000000\" />" "</StreamIndex>" "</SmoothStreamingMedia>";
+ GstMssDemuxTestInputData inputTestData[] = {
+ {"http://unit.test/Manifest", (guint8 *) mpd, 0},
+ {"http://unit.test/QualityLevels(200029)/Fragments(audio_eng=0)", NULL,
+ 10000},
+ {"http://unit.test/QualityLevels(200029)/Fragments(audio_eng=10000000)",
+ NULL, 10000},
+ {"http://unit.test/QualityLevels(200029)/Fragments(audio_eng=20000000)",
+ NULL, 10000},
+ {"http://unit.test/QualityLevels(200029)/Fragments(audio_eng=30000000)",
+ NULL, 10000},
+ {NULL, NULL, 0},
+ };
+ GstTestHTTPSrcCallbacks http_src_callbacks = { 0 };
+ GstAdaptiveDemuxTestExpectedOutput outputTestData[] = {
+ /* 1 from the init segment */
+ {"audio_00", segments * 10000, NULL},
+ };
+ GstAdaptiveDemuxTestCase *testData;
+
+ testData = gst_adaptive_demux_test_case_new ();
+
+ http_src_callbacks.src_start = gst_mssdemux_http_src_start;
+ http_src_callbacks.src_create = gst_mssdemux_http_src_create;
+ COPY_OUTPUT_TEST_DATA (outputTestData, testData);
+
+ /* media segment starts at 4687
+ * Issue a seek request after media segment has started to be downloaded
+ * on the first pad listed in GstAdaptiveDemuxTestOutputStreamData and the
+ * first chunk of at least one byte has already arrived in AppSink
+ */
+ testData->threshold_for_seek = 4687 + 1;
+
+ /* FIXME hack to avoid having a 0 seqnum */
+ gst_util_seqnum_next ();
+
+ /* seek to 5ms.
+ * Because there is only one fragment, we expect the whole file to be
+ * downloaded again
+ */
+ testData->seek_event =
+ gst_event_new_seek (rate, GST_FORMAT_TIME, flags, start_type,
+ seek_start, stop_type, seek_stop);
+
+ gst_test_http_src_install_callbacks (&http_src_callbacks, inputTestData);
+ gst_adaptive_demux_test_seek (DEMUX_ELEMENT_NAME,
+ "http://unit.test/Manifest", testData);
+ gst_object_unref (testData);
+}
+
+GST_START_TEST (testSeekKeyUnitPosition)
+{
+ /* Seek to 1.5s with key unit, it should go back to 1.0s. 3 segments will be
+ * pushed */
+ run_seek_position_test (1.0, GST_SEEK_TYPE_SET, 1500 * GST_MSECOND,
+ GST_SEEK_TYPE_NONE, 0, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT,
+ 1000 * GST_MSECOND, -1, 3);
+}
+
+GST_END_TEST;
+
+
+GST_START_TEST (testSeekUpdateStopPosition)
+{
+ run_seek_position_test (1.0, GST_SEEK_TYPE_NONE, 1500 * GST_MSECOND,
+ GST_SEEK_TYPE_SET, 3000 * GST_MSECOND, 0, 0, 3000 * GST_MSECOND, 3);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (testSeekPosition)
+{
+ /* Seek to 1.5s without key unit, it should keep the 1.5s, but still push
+ * from the 1st segment, so 3 segments will be
+ * pushed */
+ run_seek_position_test (1.0, GST_SEEK_TYPE_SET, 1500 * GST_MSECOND,
+ GST_SEEK_TYPE_NONE, 0, GST_SEEK_FLAG_FLUSH, 1500 * GST_MSECOND, -1, 3);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (testSeekSnapBeforePosition)
+{
+ /* Seek to 1.5s, snap before, it go to 1s */
+ run_seek_position_test (1.0, GST_SEEK_TYPE_SET, 1500 * GST_MSECOND,
+ GST_SEEK_TYPE_NONE, 0, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_SNAP_BEFORE,
+ 1000 * GST_MSECOND, -1, 3);
+}
+
+GST_END_TEST;
+
+
+GST_START_TEST (testSeekSnapAfterPosition)
+{
+ /* Seek to 1.5s with snap after, it should move to 2s */
+ run_seek_position_test (1.0, GST_SEEK_TYPE_SET, 1500 * GST_MSECOND,
+ GST_SEEK_TYPE_NONE, 0, GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_SNAP_AFTER,
+ 2000 * GST_MSECOND, -1, 2);
+}
+
+GST_END_TEST;
+
+
+GST_START_TEST (testReverseSeekSnapBeforePosition)
+{
+ run_seek_position_test (-1.0, GST_SEEK_TYPE_SET, 1000 * GST_MSECOND,
+ GST_SEEK_TYPE_SET, 2500 * GST_MSECOND,
+ GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_SNAP_BEFORE, 1000 * GST_MSECOND,
+ 3000 * GST_MSECOND, 2);
+}
+
+GST_END_TEST;
+
+
+GST_START_TEST (testReverseSeekSnapAfterPosition)
+{
+ run_seek_position_test (-1.0, GST_SEEK_TYPE_SET, 1000 * GST_MSECOND,
+ GST_SEEK_TYPE_SET, 2500 * GST_MSECOND,
+ GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_SNAP_AFTER, 1000 * GST_MSECOND,
+ 2000 * GST_MSECOND, 1);
+}
+
+GST_END_TEST;
+
+static void
+testDownloadErrorMessageCallback (GstAdaptiveDemuxTestEngine * engine,
+ GstMessage * msg, gpointer user_data)
+{
+ GError *err = NULL;
+ gchar *dbg_info = NULL;
+
+ fail_unless (GST_MESSAGE_TYPE (msg) == GST_MESSAGE_ERROR);
+ gst_message_parse_error (msg, &err, &dbg_info);
+ GST_DEBUG ("Error from element %s : %s\n",
+ GST_OBJECT_NAME (msg->src), err->message);
+ fail_unless_equals_string (GST_OBJECT_NAME (msg->src), DEMUX_ELEMENT_NAME);
+ /*GST_DEBUG ("dbg_info=%s\n", dbg_info); */
+ g_error_free (err);
+ g_free (dbg_info);
+ g_main_loop_quit (engine->loop);
+}
+
+/*
+ * Test error case of failing to download a segment
+ */
+GST_START_TEST (testDownloadError)
+{
+ const gchar *mpd =
+ "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
+ "<SmoothStreamingMedia MajorVersion=\"2\" MinorVersion=\"0\" Duration=\"40000000\">"
+ "<StreamIndex Type=\"audio\" Language=\"eng\" QualityLevels=\"1\" Chunks=\"1\" Url=\"QualityLevels({bitrate})/Fragments(audio_eng={start time})\">"
+ "<QualityLevel Index=\"0\" Bitrate=\"200029\" FourCC=\"AACL\" SamplingRate=\"48000\" Channels=\"2\" BitsPerSample=\"16\" PacketSize=\"4\" AudioTag=\"255\" CodecPrivateData=\"1190\" />"
+ "<c n=\"0\" d=\"40000000\" />" "</StreamIndex>" "</SmoothStreamingMedia>";
+
+ GstMssDemuxTestInputData inputTestData[] = {
+ {"http://unit.test/Manifest", (guint8 *) mpd, 0},
+ {NULL, NULL, 0},
+ };
+ GstTestHTTPSrcCallbacks http_src_callbacks = { 0 };
+ GstAdaptiveDemuxTestExpectedOutput outputTestData[] = {
+ {"audio_00", 0, NULL},
+ };
+ GstAdaptiveDemuxTestCallbacks test_callbacks = { 0 };
+ GstAdaptiveDemuxTestCase *testData;
+
+ testData = gst_adaptive_demux_test_case_new ();
+ http_src_callbacks.src_start = gst_mssdemux_http_src_start;
+ http_src_callbacks.src_create = gst_mssdemux_http_src_create;
+ COPY_OUTPUT_TEST_DATA (outputTestData, testData);
+ test_callbacks.appsink_received_data =
+ gst_adaptive_demux_test_check_received_data;
+ test_callbacks.bus_error_message = testDownloadErrorMessageCallback;
+ test_callbacks.appsink_eos =
+ gst_adaptive_demux_test_check_size_of_received_data;
+
+ gst_test_http_src_install_callbacks (&http_src_callbacks, inputTestData);
+ gst_adaptive_demux_test_run (DEMUX_ELEMENT_NAME, "http://unit.test/Manifest",
+ &test_callbacks, testData);
+ gst_object_unref (testData);
+}
+
+GST_END_TEST;
+
+/* generate queries to adaptive demux */
+static gboolean
+testQueryCheckDataReceived (GstAdaptiveDemuxTestEngine * engine,
+ GstAdaptiveDemuxTestOutputStream * stream,
+ GstBuffer * buffer, gpointer user_data)
+{
+ GList *pads;
+ GstPad *pad;
+ GstQuery *query;
+ gboolean ret;
+ gint64 duration;
+ gboolean seekable;
+ gint64 segment_start;
+ gint64 segment_end;
+ gchar *uri;
+ gchar *redirect_uri;
+ gboolean redirect_permanent;
+
+ pads = GST_ELEMENT_PADS (stream->appsink);
+
+ /* AppSink should have only 1 pad */
+ fail_unless (pads != NULL);
+ fail_unless (g_list_length (pads) == 1);
+ pad = GST_PAD (pads->data);
+
+ query = gst_query_new_duration (GST_FORMAT_TIME);
+ ret = gst_pad_peer_query (pad, query);
+ fail_unless (ret == TRUE);
+ gst_query_parse_duration (query, NULL, &duration);
+ fail_unless (duration == GST_SECOND);
+ gst_query_unref (query);
+
+ query = gst_query_new_seeking (GST_FORMAT_TIME);
+ ret = gst_pad_peer_query (pad, query);
+ fail_unless (ret == TRUE);
+ gst_query_parse_seeking (query, NULL, &seekable, &segment_start,
+ &segment_end);
+ fail_unless (seekable == TRUE);
+ fail_unless (segment_start == 0);
+ fail_unless (segment_end == duration);
+ gst_query_unref (query);
+
+ query = gst_query_new_uri ();
+ ret = gst_pad_peer_query (pad, query);
+ fail_unless (ret == TRUE);
+ gst_query_parse_uri (query, &uri);
+ gst_query_parse_uri_redirection (query, &redirect_uri);
+ gst_query_parse_uri_redirection_permanent (query, &redirect_permanent);
+ fail_unless (strcmp (uri, "http://unit.test/Manifest") == 0);
+ /* adaptive demux does not reply with redirect information */
+ fail_unless (redirect_uri == NULL);
+ fail_unless (redirect_permanent == FALSE);
+ g_free (uri);
+ g_free (redirect_uri);
+ gst_query_unref (query);
+
+ return gst_adaptive_demux_test_check_received_data (engine,
+ stream, buffer, user_data);
+}
+
+/*
+ * Test queries
+ *
+ */
+GST_START_TEST (testQuery)
+{
+ const gchar *mpd =
+ "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
+ "<SmoothStreamingMedia MajorVersion=\"2\" MinorVersion=\"0\" Duration=\"10000000\">"
+ "<StreamIndex Type=\"audio\" Language=\"eng\" QualityLevels=\"1\" Chunks=\"1\" Url=\"QualityLevels({bitrate})/Fragments(audio_eng={start time})\">"
+ "<QualityLevel Index=\"0\" Bitrate=\"200029\" FourCC=\"AACL\" SamplingRate=\"48000\" Channels=\"2\" BitsPerSample=\"16\" PacketSize=\"4\" AudioTag=\"255\" CodecPrivateData=\"1190\" />"
+ "<c n=\"0\" d=\"10000000\" />" "</StreamIndex>" "</SmoothStreamingMedia>";
+ GstMssDemuxTestInputData inputTestData[] = {
+ {"http://unit.test/Manifest", (guint8 *) mpd, 0},
+ {"http://unit.test/QualityLevels(200029)/Fragments(audio_eng=0)", NULL,
+ 5000},
+ {NULL, NULL, 0},
+ };
+ GstTestHTTPSrcCallbacks http_src_callbacks = { 0 };
+ GstAdaptiveDemuxTestExpectedOutput outputTestData[] = {
+ {"audio_00", 5000, NULL},
+ };
+ GstAdaptiveDemuxTestCallbacks test_callbacks = { 0 };
+ GstAdaptiveDemuxTestCase *testData;
+
+ testData = gst_adaptive_demux_test_case_new ();
+ http_src_callbacks.src_start = gst_mssdemux_http_src_start;
+ http_src_callbacks.src_create = gst_mssdemux_http_src_create;
+ COPY_OUTPUT_TEST_DATA (outputTestData, testData);
+ test_callbacks.appsink_received_data = testQueryCheckDataReceived;
+ test_callbacks.appsink_eos =
+ gst_adaptive_demux_test_check_size_of_received_data;
+
+ gst_test_http_src_install_callbacks (&http_src_callbacks, inputTestData);
+ gst_adaptive_demux_test_run (DEMUX_ELEMENT_NAME,
+ "http://unit.test/Manifest", &test_callbacks, testData);
+ gst_object_unref (testData);
+}
+
+GST_END_TEST;
+
+static GstFlowReturn
+test_fragment_download_error_src_create (GstTestHTTPSrc * src,
+ guint64 offset,
+ guint length, GstBuffer ** retbuf, gpointer context, gpointer user_data)
+{
+ const GstMssDemuxTestInputData *input =
+ (const GstMssDemuxTestInputData *) context;
+ fail_unless (input != NULL);
+ if (!g_str_has_suffix (input->uri, ".mpd") && offset > 2000) {
+ GST_DEBUG ("network_error %s %" G_GUINT64_FORMAT " @ %d",
+ input->uri, offset, 2000);
+ GST_ELEMENT_ERROR (src, RESOURCE, READ,
+ (("A network error occurred, or the server closed the connection unexpectedly.")), ("A network error occurred, or the server closed the connection unexpectedly."));
+ return GST_FLOW_ERROR;
+ }
+ return gst_mssdemux_http_src_create (src, offset, length, retbuf, context,
+ user_data);
+}
+
+/* function to check total size of data received by AppSink
+ * will be called when AppSink receives eos.
+ */
+static void
+testFragmentDownloadErrorCheckSizeOfDataReceived (GstAdaptiveDemuxTestEngine *
+ engine, GstAdaptiveDemuxTestOutputStream * stream, gpointer user_data)
+{
+ GstAdaptiveDemuxTestCase *testData = GST_ADAPTIVE_DEMUX_TEST_CASE (user_data);
+ GstAdaptiveDemuxTestExpectedOutput *testOutputStreamData;
+
+ testOutputStreamData =
+ gst_adaptive_demux_test_find_test_data_by_stream (testData, stream, NULL);
+ fail_unless (testOutputStreamData != NULL);
+
+ /* expect to receive more than 0 */
+ fail_unless (stream->total_received_size > 0,
+ "size validation failed for %s, expected > 0, received %d",
+ testOutputStreamData->name, stream->total_received_size);
+
+ /* expect to receive less than file size */
+ fail_unless (stream->total_received_size <
+ testOutputStreamData->expected_size,
+ "size validation failed for %s, expected < %d received %d",
+ testOutputStreamData->name, testOutputStreamData->expected_size,
+ stream->total_received_size);
+}
+
+/*
+ * Test fragment download error
+ * Let the adaptive demux download a few bytes, then instruct the
+ * GstTestHTTPSrc element to generate an error.
+ */
+GST_START_TEST (testFragmentDownloadError)
+{
+ const gchar *mpd =
+ "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
+ "<SmoothStreamingMedia MajorVersion=\"2\" MinorVersion=\"0\" Duration=\"4000000\">"
+ "<StreamIndex Type=\"audio\" Language=\"eng\" QualityLevels=\"1\" Chunks=\"1\" Url=\"QualityLevels({bitrate})/Fragments(audio_eng={start time})\">"
+ "<QualityLevel Index=\"0\" Bitrate=\"200029\" FourCC=\"AACL\" SamplingRate=\"48000\" Channels=\"2\" BitsPerSample=\"16\" PacketSize=\"4\" AudioTag=\"255\" CodecPrivateData=\"1190\" />"
+ "<c n=\"0\" d=\"10000000\" />" "</StreamIndex>" "</SmoothStreamingMedia>";
+
+ GstMssDemuxTestInputData inputTestData[] = {
+ {"http://unit.test/Manifest", (guint8 *) mpd, 0},
+ {"http://unit.test/QualityLevels(200029)/Fragments(audio_eng=0)", NULL,
+ 5000},
+ {NULL, NULL, 0},
+ };
+ GstTestHTTPSrcCallbacks http_src_callbacks = { 0 };
+ GstAdaptiveDemuxTestExpectedOutput outputTestData[] = {
+ {"audio_00", 5000, NULL},
+ };
+ GstAdaptiveDemuxTestCallbacks test_callbacks = { 0 };
+ GstAdaptiveDemuxTestCase *testData;
+
+ testData = gst_adaptive_demux_test_case_new ();
+ http_src_callbacks.src_start = gst_mssdemux_http_src_start;
+ http_src_callbacks.src_create = test_fragment_download_error_src_create;
+ COPY_OUTPUT_TEST_DATA (outputTestData, testData);
+ test_callbacks.appsink_received_data =
+ gst_adaptive_demux_test_check_received_data;
+ test_callbacks.appsink_eos = testFragmentDownloadErrorCheckSizeOfDataReceived;
+ /* test_callbacks.demux_sent_eos = gst_adaptive_demux_test_check_size_of_received_data; */
+
+ test_callbacks.bus_error_message = testDownloadErrorMessageCallback;
+
+ gst_test_http_src_install_callbacks (&http_src_callbacks, inputTestData);
+ gst_adaptive_demux_test_run (DEMUX_ELEMENT_NAME,
+ "http://unit.test/Manifest", &test_callbacks, testData);
+ gst_object_unref (testData);
+}
+
+GST_END_TEST;
+
+static Suite *
+mss_demux_suite (void)
+{
+ Suite *s = suite_create ("mss_demux");
+ TCase *tc_basicTest = tcase_create ("basicTest");
+
+ tcase_add_test (tc_basicTest, simpleTest);
+ tcase_add_test (tc_basicTest, testSeek);
+ tcase_add_test (tc_basicTest, testSeekKeyUnitPosition);
+ tcase_add_test (tc_basicTest, testSeekPosition);
+ tcase_add_test (tc_basicTest, testSeekUpdateStopPosition);
+ tcase_add_test (tc_basicTest, testSeekSnapBeforePosition);
+ tcase_add_test (tc_basicTest, testSeekSnapAfterPosition);
+ tcase_add_test (tc_basicTest, testReverseSeekSnapBeforePosition);
+ tcase_add_test (tc_basicTest, testReverseSeekSnapAfterPosition);
+ tcase_add_test (tc_basicTest, testDownloadError);
+ tcase_add_test (tc_basicTest, testFragmentDownloadError);
+ tcase_add_test (tc_basicTest, testQuery);
+
+ tcase_add_unchecked_fixture (tc_basicTest, gst_adaptive_demux_test_setup,
+ gst_adaptive_demux_test_teardown);
+
+ suite_add_tcase (s, tc_basicTest);
+
+ return s;
+}
+
+GST_CHECK_MAIN (mss_demux);
diff --git a/tests/check/elements/netsim.c b/tests/check/elements/netsim.c
new file mode 100644
index 0000000..1de026c
--- /dev/null
+++ b/tests/check/elements/netsim.c
@@ -0,0 +1,65 @@
+#include <gst/check/gstharness.h>
+#include <gst/check/gstcheck.h>
+
+GST_START_TEST (netsim_stress)
+{
+ GstHarness *h = gst_harness_new ("netsim");
+ GstCaps *caps = gst_caps_from_string ("mycaps");
+ GstBuffer *buf = gst_harness_create_buffer (h, 100);
+ GstHarnessThread *state, *push;
+ GstSegment segment;
+
+ gst_segment_init (&segment, GST_FORMAT_TIME);
+ state = gst_harness_stress_statechange_start (h);
+ push = gst_harness_stress_push_buffer_start (h, caps, &segment, buf);
+
+ g_usleep (G_USEC_PER_SEC * 1);
+
+ gst_harness_stress_thread_stop (state);
+ gst_harness_stress_thread_stop (push);
+
+ gst_caps_unref (caps);
+ gst_buffer_unref (buf);
+ gst_harness_teardown (h);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (netsim_stress_delayed)
+{
+ GstHarness *h = gst_harness_new_parse ("netsim delay-probability=0.5");
+ GstCaps *caps = gst_caps_from_string ("mycaps");
+ GstBuffer *buf = gst_harness_create_buffer (h, 100);
+ GstHarnessThread *state, *push;
+ GstSegment segment;
+
+ gst_segment_init (&segment, GST_FORMAT_TIME);
+ state = gst_harness_stress_statechange_start (h);
+ push = gst_harness_stress_push_buffer_start (h, caps, &segment, buf);
+
+ g_usleep (G_USEC_PER_SEC * 1);
+
+ gst_harness_stress_thread_stop (state);
+ gst_harness_stress_thread_stop (push);
+
+ gst_caps_unref (caps);
+ gst_buffer_unref (buf);
+ gst_harness_teardown (h);
+}
+
+GST_END_TEST;
+
+static Suite *
+netsim_suite (void)
+{
+ Suite *s = suite_create ("netsim");
+ TCase *tc_chain;
+
+ suite_add_tcase (s, (tc_chain = tcase_create ("general")));
+ tcase_add_test (tc_chain, netsim_stress);
+ tcase_add_test (tc_chain, netsim_stress_delayed);
+
+ return s;
+}
+
+GST_CHECK_MAIN (netsim)
diff --git a/tests/check/elements/test_http_src.c b/tests/check/elements/test_http_src.c
index 88b0c4f..915bb51 100644
--- a/tests/check/elements/test_http_src.c
+++ b/tests/check/elements/test_http_src.c
@@ -247,6 +247,10 @@
gst_structure_free (src->extra_headers);
src->extra_headers = NULL;
}
+ g_free (src->http_method_name);
+ src->http_method_name = NULL;
+ g_free (src->user_agent);
+ src->user_agent = NULL;
src->duration_changed = FALSE;
}
diff --git a/tests/check/libs/gstglcontext.c b/tests/check/libs/gstglcontext.c
index edbf9f9..e626f2a 100644
--- a/tests/check/libs/gstglcontext.c
+++ b/tests/check/libs/gstglcontext.c
@@ -489,6 +489,34 @@
GST_END_TEST;
+GST_START_TEST (test_is_shared)
+{
+ GstGLContext *c1, *c2;
+ GError *error = NULL;
+
+ c1 = gst_gl_context_new (display);
+ gst_gl_context_create (c1, NULL, &error);
+ fail_if (error != NULL, "Error creating context %s\n",
+ error ? error->message : "Unknown Error");
+
+ c2 = gst_gl_context_new (display);
+ gst_gl_context_create (c2, c1, &error);
+ fail_if (error != NULL, "Error creating context %s\n",
+ error ? error->message : "Unknown Error");
+
+ fail_unless (gst_gl_context_is_shared (c1));
+ fail_unless (gst_gl_context_is_shared (c2));
+
+ gst_object_unref (c2);
+ c2 = NULL;
+
+ fail_unless (!gst_gl_context_is_shared (c1));
+
+ gst_object_unref (c1);
+}
+
+GST_END_TEST;
+
static Suite *
gst_gl_context_suite (void)
{
@@ -501,6 +529,7 @@
tcase_add_test (tc_chain, test_wrapped_context);
tcase_add_test (tc_chain, test_current_context);
tcase_add_test (tc_chain, test_context_can_share);
+ tcase_add_test (tc_chain, test_is_shared);
return s;
}
diff --git a/tests/check/libs/gstglmemory.c b/tests/check/libs/gstglmemory.c
index 7387e25..4130e3b 100644
--- a/tests/check/libs/gstglmemory.c
+++ b/tests/check/libs/gstglmemory.c
@@ -183,10 +183,12 @@
fail_unless (!GST_MEMORY_FLAG_IS_SET (mem2,
GST_GL_BASE_MEMORY_TRANSFER_NEED_DOWNLOAD));
- fail_unless (((gchar *) map_info.data)[0] == rgba_pixel[0]);
- fail_unless (((gchar *) map_info.data)[1] == rgba_pixel[1]);
- fail_unless (((gchar *) map_info.data)[2] == rgba_pixel[2]);
- fail_unless (((gchar *) map_info.data)[3] == rgba_pixel[3]);
+ fail_unless (memcmp (map_info.data, rgba_pixel,
+ G_N_ELEMENTS (rgba_pixel)) == 0,
+ "0x%02x%02x%02x%02x != 0x%02x%02x%02x%02x", map_info.data[0],
+ map_info.data[1], map_info.data[2], map_info.data[3],
+ (guint8) rgba_pixel[0], (guint8) rgba_pixel[1], (guint8) rgba_pixel[2],
+ (guint8) rgba_pixel[3]);
gst_memory_unmap (mem2, &map_info);
@@ -222,10 +224,12 @@
/* test download of copied texture */
fail_unless (gst_memory_map (mem, &map_info, GST_MAP_READ));
- fail_unless (((gchar *) map_info.data)[0] == rgba_pixel[0]);
- fail_unless (((gchar *) map_info.data)[1] == rgba_pixel[1]);
- fail_unless (((gchar *) map_info.data)[2] == rgba_pixel[2]);
- fail_unless (((gchar *) map_info.data)[3] == rgba_pixel[3]);
+ fail_unless (memcmp (map_info.data, rgba_pixel,
+ G_N_ELEMENTS (rgba_pixel)) == 0,
+ "0x%02x%02x%02x%02x != 0x%02x%02x%02x%02x", (guint8) map_info.data[0],
+ (guint8) map_info.data[1], (guint8) map_info.data[2],
+ (guint8) map_info.data[3], (guint8) rgba_pixel[0], (guint8) rgba_pixel[1],
+ (guint8) rgba_pixel[2], (guint8) rgba_pixel[3]);
gst_memory_unmap (mem, &map_info);
@@ -237,10 +241,12 @@
fail_unless (!GST_MEMORY_FLAG_IS_SET (mem,
GST_GL_BASE_MEMORY_TRANSFER_NEED_DOWNLOAD));
- fail_unless (((gchar *) map_info.data)[0] == rgba_pixel[0]);
- fail_unless (((gchar *) map_info.data)[1] == rgba_pixel[1]);
- fail_unless (((gchar *) map_info.data)[2] == rgba_pixel[2]);
- fail_unless (((gchar *) map_info.data)[3] == rgba_pixel[3]);
+ fail_unless (memcmp (map_info.data, rgba_pixel,
+ G_N_ELEMENTS (rgba_pixel)) == 0,
+ "0x%02x%02x%02x%02x != 0x%02x%02x%02x%02x", (guint8) map_info.data[0],
+ (guint8) map_info.data[1], (guint8) map_info.data[2],
+ (guint8) map_info.data[3], (guint8) rgba_pixel[0], (guint8) rgba_pixel[1],
+ (guint8) rgba_pixel[2], (guint8) rgba_pixel[3]);
gst_memory_unmap (mem3, &map_info);
@@ -313,10 +319,11 @@
fail_unless (gst_memory_map (mem, &info, GST_MAP_READ));
- fail_unless (((gchar *) info.data)[0] == rgba_pixel[0]);
- fail_unless (((gchar *) info.data)[1] == rgba_pixel[1]);
- fail_unless (((gchar *) info.data)[2] == rgba_pixel[2]);
- fail_unless (((gchar *) info.data)[3] == rgba_pixel[3]);
+ fail_unless (memcmp (info.data, rgba_pixel, G_N_ELEMENTS (rgba_pixel)) == 0,
+ "0x%02x%02x%02x%02x != 0x%02x%02x%02x%02x", (guint8) info.data[0],
+ (guint8) info.data[1], (guint8) info.data[2],
+ (guint8) info.data[3], (guint8) rgba_pixel[0], (guint8) rgba_pixel[1],
+ (guint8) rgba_pixel[2], (guint8) rgba_pixel[3]);
gst_memory_unmap (mem, &info);
diff --git a/tests/check/libs/gstglquery.c b/tests/check/libs/gstglquery.c
new file mode 100644
index 0000000..2dfa240
--- /dev/null
+++ b/tests/check/libs/gstglquery.c
@@ -0,0 +1,150 @@
+/* GStreamer
+ * Copyright (C) 2016 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <gst/check/gstcheck.h>
+
+#include <gst/gl/gl.h>
+
+#include <stdio.h>
+
+static GstGLDisplay *display;
+static GstGLContext *context;
+
+GST_DEBUG_CATEGORY_STATIC (gst_test_debug_cat);
+
+static void
+setup (void)
+{
+ GError *error = NULL;
+
+ display = gst_gl_display_new ();
+ context = gst_gl_context_new (display);
+
+ gst_gl_context_create (context, NULL, &error);
+
+ fail_if (error != NULL, "Error creating context: %s\n",
+ error ? error->message : "Unknown Error");
+}
+
+static void
+teardown (void)
+{
+ gst_object_unref (display);
+ gst_object_unref (context);
+}
+
+static void
+_test_query_gl (GstGLContext * context, gpointer data)
+{
+ GstGLQuery *q1, q2;
+
+ q1 = gst_gl_query_new (context, GST_GL_QUERY_TIME_ELAPSED);
+ fail_if (q1 == NULL);
+
+ gst_gl_query_start_log (q1, NULL, GST_LEVEL_ERROR, NULL, "%s",
+ "1. testing query proxy-logging");
+ gst_gl_query_end (q1);
+ /* GST_GL_QUERY_TIME_ELAPSED doesn't supported counter() */
+ ASSERT_CRITICAL (gst_gl_query_counter (q1));
+ gst_gl_query_result (q1);
+
+ gst_gl_query_free (q1);
+
+ gst_gl_query_init (&q2, context, GST_GL_QUERY_TIMESTAMP);
+
+ /* GST_GL_QUERY_TIMESTAMP doesn't supported start()/end() */
+ ASSERT_CRITICAL (gst_gl_query_start (&q2));
+ ASSERT_CRITICAL (gst_gl_query_end (&q2));
+
+ gst_gl_query_counter_log (&q2, gst_test_debug_cat, GST_LEVEL_ERROR, NULL,
+ "%s", "2. testing query proxy-logging works from _unset()");
+ gst_gl_query_result (&q2);
+
+ gst_gl_query_unset (&q2);
+
+ /* no usage */
+ gst_gl_query_init (&q2, context, GST_GL_QUERY_TIMESTAMP);
+ gst_gl_query_unset (&q2);
+
+ /* test mismatched start()/free() */
+ q1 = gst_gl_query_new (context, GST_GL_QUERY_TIME_ELAPSED);
+ fail_if (q1 == NULL);
+
+ gst_gl_query_start (q1);
+
+ ASSERT_CRITICAL (gst_gl_query_free (q1));
+
+ /* test mismatched start()/result() */
+ q1 = gst_gl_query_new (context, GST_GL_QUERY_TIME_ELAPSED);
+ fail_if (q1 == NULL);
+
+ gst_gl_query_start (q1);
+ ASSERT_CRITICAL (gst_gl_query_result (q1));
+ gst_gl_query_end (q1);
+
+ gst_gl_query_free (q1);
+
+ /* test mismatched end() */
+ q1 = gst_gl_query_new (context, GST_GL_QUERY_TIME_ELAPSED);
+ fail_if (q1 == NULL);
+ ASSERT_CRITICAL (gst_gl_query_end (q1));
+ gst_gl_query_free (q1);
+
+ /* test double end() */
+ q1 = gst_gl_query_new (context, GST_GL_QUERY_TIME_ELAPSED);
+ fail_if (q1 == NULL);
+
+ gst_gl_query_start (q1);
+ gst_gl_query_end (q1);
+ ASSERT_CRITICAL (gst_gl_query_end (q1));
+
+ gst_gl_query_free (q1);
+
+ /* double start is allowed */
+}
+
+GST_START_TEST (test_query)
+{
+ gst_gl_context_thread_add (context, (GstGLContextThreadFunc) _test_query_gl,
+ NULL);
+}
+
+GST_END_TEST;
+
+static Suite *
+gst_gl_upload_suite (void)
+{
+ Suite *s = suite_create ("GstGLQuery");
+ TCase *tc_chain = tcase_create ("glquery");
+
+ GST_DEBUG_CATEGORY_INIT (gst_test_debug_cat, "test-debug", 0,
+ "proxy-logging test debug");
+
+ suite_add_tcase (s, tc_chain);
+ tcase_add_checked_fixture (tc_chain, setup, teardown);
+ tcase_add_test (tc_chain, test_query);
+
+ return s;
+}
+
+GST_CHECK_MAIN (gst_gl_upload);
diff --git a/tests/check/libs/player.c b/tests/check/libs/player.c
index 0f7a63c..5586e63 100644
--- a/tests/check/libs/player.c
+++ b/tests/check/libs/player.c
@@ -69,7 +69,7 @@
{
GstPlayer *player;
- player = gst_player_new ();
+ player = gst_player_new (NULL, NULL);
fail_unless (player != NULL);
g_object_unref (player);
}
@@ -81,7 +81,7 @@
GstPlayer *player;
gchar *uri;
- player = gst_player_new ();
+ player = gst_player_new (NULL, NULL);
fail_unless (player != NULL);
@@ -101,7 +101,7 @@
GstPlayer *player;
guint interval = 0;
- player = gst_player_new ();
+ player = gst_player_new (NULL, NULL);
fail_unless (player != NULL);
@@ -355,7 +355,7 @@
GstElement *playbin, *fakesink;
player =
- gst_player_new_full (NULL,
+ gst_player_new (NULL,
gst_player_g_main_context_signal_dispatcher_new (NULL));
fail_unless (player != NULL);
diff --git a/tests/examples/Makefile.in b/tests/examples/Makefile.in
index 2d4235c..d0be295 100644
--- a/tests/examples/Makefile.in
+++ b/tests/examples/Makefile.in
@@ -121,16 +121,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -339,7 +338,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -361,7 +359,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -383,9 +380,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -547,6 +541,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -560,8 +555,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -648,8 +641,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -701,6 +692,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -721,6 +713,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -758,7 +752,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/examples/avsamplesink/Makefile.in b/tests/examples/avsamplesink/Makefile.in
index 2fddbbc..1a3f47b 100644
--- a/tests/examples/avsamplesink/Makefile.in
+++ b/tests/examples/avsamplesink/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -293,7 +292,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -315,7 +313,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -337,9 +334,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -501,6 +495,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -514,8 +509,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -602,8 +595,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -655,6 +646,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -675,6 +667,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -712,7 +706,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/examples/camerabin2/Makefile.in b/tests/examples/camerabin2/Makefile.in
index 679ff4e..2bc6382 100644
--- a/tests/examples/camerabin2/Makefile.in
+++ b/tests/examples/camerabin2/Makefile.in
@@ -117,16 +117,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -311,7 +310,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -333,7 +331,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -355,9 +352,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -519,6 +513,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -532,8 +527,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -620,8 +613,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -673,6 +664,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -693,6 +685,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -730,7 +724,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/examples/codecparsers/Makefile.in b/tests/examples/codecparsers/Makefile.in
index db8b4f4..946dc02 100644
--- a/tests/examples/codecparsers/Makefile.in
+++ b/tests/examples/codecparsers/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -296,7 +295,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -318,7 +316,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -340,9 +337,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -504,6 +498,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -517,8 +512,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -605,8 +598,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -658,6 +649,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -678,6 +670,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -715,7 +709,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/examples/directfb/Makefile.in b/tests/examples/directfb/Makefile.in
index 0515727..1d6c4e5 100644
--- a/tests/examples/directfb/Makefile.in
+++ b/tests/examples/directfb/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -290,7 +289,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -312,7 +310,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -334,9 +331,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -498,6 +492,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -511,8 +506,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -599,8 +592,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -652,6 +643,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -672,6 +664,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -709,7 +703,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/examples/gl/Makefile.in b/tests/examples/gl/Makefile.in
index 9f5a918..9e40958 100644
--- a/tests/examples/gl/Makefile.in
+++ b/tests/examples/gl/Makefile.in
@@ -119,16 +119,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -301,7 +300,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -323,7 +321,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -345,9 +342,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -509,6 +503,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -522,8 +517,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -610,8 +603,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -663,6 +654,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -683,6 +675,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -720,7 +714,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/examples/gl/clutter/Makefile.in b/tests/examples/gl/clutter/Makefile.in
index 263cb57..854e75a 100644
--- a/tests/examples/gl/clutter/Makefile.in
+++ b/tests/examples/gl/clutter/Makefile.in
@@ -120,16 +120,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -333,7 +332,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -355,7 +353,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -377,9 +374,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -541,6 +535,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -554,8 +549,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -642,8 +635,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -695,6 +686,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -715,6 +707,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -752,7 +746,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/examples/gl/cocoa/Makefile.in b/tests/examples/gl/cocoa/Makefile.in
index 6a7e64f..f5f4606 100644
--- a/tests/examples/gl/cocoa/Makefile.in
+++ b/tests/examples/gl/cocoa/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -296,7 +295,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -318,7 +316,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -340,9 +337,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -504,6 +498,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -517,8 +512,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -605,8 +598,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -658,6 +649,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -678,6 +670,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -715,7 +709,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/examples/gl/generic/Makefile.in b/tests/examples/gl/generic/Makefile.in
index 112221b..a4fb04c 100644
--- a/tests/examples/gl/generic/Makefile.in
+++ b/tests/examples/gl/generic/Makefile.in
@@ -114,16 +114,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -297,7 +296,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -319,7 +317,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -341,9 +338,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -505,6 +499,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -518,8 +513,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -606,8 +599,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -659,6 +650,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -679,6 +671,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -716,7 +710,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/examples/gl/generic/cube/Makefile.in b/tests/examples/gl/generic/cube/Makefile.in
index 8ebc765..4053276 100644
--- a/tests/examples/gl/generic/cube/Makefile.in
+++ b/tests/examples/gl/generic/cube/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -292,7 +291,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -314,7 +312,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -336,9 +333,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -500,6 +494,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -513,8 +508,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -601,8 +594,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -654,6 +645,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -674,6 +666,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -711,7 +705,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/examples/gl/generic/cubeyuv/Makefile.in b/tests/examples/gl/generic/cubeyuv/Makefile.in
index 249a304..8c42672 100644
--- a/tests/examples/gl/generic/cubeyuv/Makefile.in
+++ b/tests/examples/gl/generic/cubeyuv/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -292,7 +291,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -314,7 +312,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -336,9 +333,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -500,6 +494,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -513,8 +508,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -601,8 +594,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -654,6 +645,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -674,6 +666,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -711,7 +705,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/examples/gl/generic/doublecube/Makefile.in b/tests/examples/gl/generic/doublecube/Makefile.in
index bb78e1b..c3673c9 100644
--- a/tests/examples/gl/generic/doublecube/Makefile.in
+++ b/tests/examples/gl/generic/doublecube/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -292,7 +291,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -314,7 +312,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -336,9 +333,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -500,6 +494,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -513,8 +508,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -601,8 +594,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -654,6 +645,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -674,6 +666,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -711,7 +705,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/examples/gl/generic/recordgraphic/Makefile.in b/tests/examples/gl/generic/recordgraphic/Makefile.in
index 4330875..ce36ed5 100644
--- a/tests/examples/gl/generic/recordgraphic/Makefile.in
+++ b/tests/examples/gl/generic/recordgraphic/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -293,7 +292,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -315,7 +313,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -337,9 +334,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -501,6 +495,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -514,8 +509,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -602,8 +595,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -655,6 +646,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -675,6 +667,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -712,7 +706,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/examples/gl/gtk/3dvideo/Makefile.in b/tests/examples/gl/gtk/3dvideo/Makefile.in
index b33f20e..1a481d1 100644
--- a/tests/examples/gl/gtk/3dvideo/Makefile.in
+++ b/tests/examples/gl/gtk/3dvideo/Makefile.in
@@ -117,16 +117,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -316,7 +315,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -338,7 +336,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -360,9 +357,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -524,6 +518,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -537,8 +532,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -625,8 +618,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -678,6 +669,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -698,6 +690,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -735,7 +729,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/examples/gl/gtk/Makefile.in b/tests/examples/gl/gtk/Makefile.in
index 9febf25..12f7a4b 100644
--- a/tests/examples/gl/gtk/Makefile.in
+++ b/tests/examples/gl/gtk/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -333,7 +332,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -355,7 +353,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -377,9 +374,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -541,6 +535,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -554,8 +549,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -642,8 +635,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -695,6 +686,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -715,6 +707,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -752,7 +746,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/examples/gl/gtk/filternovideooverlay/Makefile.in b/tests/examples/gl/gtk/filternovideooverlay/Makefile.in
index a5e5804..2949604 100644
--- a/tests/examples/gl/gtk/filternovideooverlay/Makefile.in
+++ b/tests/examples/gl/gtk/filternovideooverlay/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -294,7 +293,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -316,7 +314,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -338,9 +335,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -502,6 +496,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -515,8 +510,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -603,8 +596,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -656,6 +647,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -676,6 +668,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -713,7 +707,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/examples/gl/gtk/filtervideooverlay/Makefile.in b/tests/examples/gl/gtk/filtervideooverlay/Makefile.in
index a899cb7..50aad71 100644
--- a/tests/examples/gl/gtk/filtervideooverlay/Makefile.in
+++ b/tests/examples/gl/gtk/filtervideooverlay/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -294,7 +293,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -316,7 +314,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -338,9 +335,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -502,6 +496,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -515,8 +510,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -603,8 +596,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -656,6 +647,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -676,6 +668,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -713,7 +707,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/examples/gl/gtk/fxtest/Makefile.in b/tests/examples/gl/gtk/fxtest/Makefile.in
index 9d283b6..f96c2d6 100644
--- a/tests/examples/gl/gtk/fxtest/Makefile.in
+++ b/tests/examples/gl/gtk/fxtest/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -301,7 +300,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -323,7 +321,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -345,9 +342,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -509,6 +503,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -522,8 +517,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -610,8 +603,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -663,6 +654,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -683,6 +675,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -720,7 +714,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/examples/gl/gtk/gtkvideooverlay/Makefile.in b/tests/examples/gl/gtk/gtkvideooverlay/Makefile.in
index 4e0bc3d..2c68a3c 100644
--- a/tests/examples/gl/gtk/gtkvideooverlay/Makefile.in
+++ b/tests/examples/gl/gtk/gtkvideooverlay/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -294,7 +293,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -316,7 +314,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -338,9 +335,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -502,6 +496,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -515,8 +510,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -603,8 +596,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -656,6 +647,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -676,6 +668,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -713,7 +707,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/examples/gl/gtk/switchvideooverlay/Makefile.in b/tests/examples/gl/gtk/switchvideooverlay/Makefile.in
index 4ebab46..c7bfe31 100644
--- a/tests/examples/gl/gtk/switchvideooverlay/Makefile.in
+++ b/tests/examples/gl/gtk/switchvideooverlay/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -294,7 +293,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -316,7 +314,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -338,9 +335,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -502,6 +496,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -515,8 +510,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -603,8 +596,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -656,6 +647,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -676,6 +668,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -713,7 +707,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/examples/gl/qt/Makefile.in b/tests/examples/gl/qt/Makefile.in
index ba6c799..1dd97c7 100644
--- a/tests/examples/gl/qt/Makefile.in
+++ b/tests/examples/gl/qt/Makefile.in
@@ -114,16 +114,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -237,7 +236,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -259,7 +257,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -281,9 +278,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -445,6 +439,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -458,8 +453,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -546,8 +539,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -599,6 +590,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -619,6 +611,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -656,7 +650,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/examples/gl/sdl/Makefile.in b/tests/examples/gl/sdl/Makefile.in
index 5bf6e2d..4d51a2d 100644
--- a/tests/examples/gl/sdl/Makefile.in
+++ b/tests/examples/gl/sdl/Makefile.in
@@ -119,16 +119,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -308,7 +307,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -330,7 +328,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -352,9 +349,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -516,6 +510,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -529,8 +524,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -617,8 +610,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -670,6 +661,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -690,6 +682,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -727,7 +721,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/examples/gtk/Makefile.in b/tests/examples/gtk/Makefile.in
index c38a4ce..888b3d7 100644
--- a/tests/examples/gtk/Makefile.in
+++ b/tests/examples/gtk/Makefile.in
@@ -117,16 +117,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -318,7 +317,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -340,7 +338,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -362,9 +359,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -526,6 +520,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -539,8 +534,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -627,8 +620,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -680,6 +671,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -700,6 +692,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -737,7 +731,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/examples/mpegts/Makefile.in b/tests/examples/mpegts/Makefile.in
index ebc4115..0d3f759 100644
--- a/tests/examples/mpegts/Makefile.in
+++ b/tests/examples/mpegts/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -290,7 +289,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -312,7 +310,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -334,9 +331,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -498,6 +492,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -511,8 +506,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -599,8 +592,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -652,6 +643,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -672,6 +664,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -709,7 +703,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/examples/mxf/Makefile.in b/tests/examples/mxf/Makefile.in
index 9fbc215..2e93746 100644
--- a/tests/examples/mxf/Makefile.in
+++ b/tests/examples/mxf/Makefile.in
@@ -117,16 +117,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
@@ -295,7 +294,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -317,7 +315,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -339,9 +336,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -503,6 +497,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -516,8 +511,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -604,8 +597,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -657,6 +648,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -677,6 +669,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -714,7 +708,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/examples/opencv/Makefile.in b/tests/examples/opencv/Makefile.in
index db3e33d..6a12ba6 100644
--- a/tests/examples/opencv/Makefile.in
+++ b/tests/examples/opencv/Makefile.in
@@ -117,16 +117,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -312,7 +311,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -334,7 +332,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -356,9 +353,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -520,6 +514,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -533,8 +528,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -621,8 +614,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -674,6 +665,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -694,6 +686,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -731,7 +725,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/examples/uvch264/Makefile.in b/tests/examples/uvch264/Makefile.in
index 4c818eb..0d61bcc 100644
--- a/tests/examples/uvch264/Makefile.in
+++ b/tests/examples/uvch264/Makefile.in
@@ -117,16 +117,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -298,7 +297,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -320,7 +318,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -342,9 +339,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -506,6 +500,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -519,8 +514,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -607,8 +600,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -660,6 +651,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -680,6 +672,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -717,7 +711,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/examples/waylandsink/Makefile.in b/tests/examples/waylandsink/Makefile.in
index 7261411..e9011c6 100644
--- a/tests/examples/waylandsink/Makefile.in
+++ b/tests/examples/waylandsink/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -294,7 +293,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -316,7 +314,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -338,9 +335,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -502,6 +496,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -515,8 +510,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -603,8 +596,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -656,6 +647,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -676,6 +668,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -713,7 +707,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tests/files/Makefile.am b/tests/files/Makefile.am
index 2807612..359d601 100644
--- a/tests/files/Makefile.am
+++ b/tests/files/Makefile.am
@@ -1,7 +1,4 @@
EXTRA_DIST = \
barcode.png \
blue-square.png \
- cbr_stream.mp3 \
- s16be-id3v2.aiff \
- stream.mp2 \
- vbr_stream.mp3
+ s16be-id3v2.aiff
diff --git a/tests/files/Makefile.in b/tests/files/Makefile.in
index e987db4..f0ba64b 100644
--- a/tests/files/Makefile.in
+++ b/tests/files/Makefile.in
@@ -114,16 +114,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -237,7 +236,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -259,7 +257,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -281,9 +278,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -445,6 +439,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -458,8 +453,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -546,8 +539,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -599,6 +590,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -619,6 +611,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -656,7 +650,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -699,10 +692,7 @@
EXTRA_DIST = \
barcode.png \
blue-square.png \
- cbr_stream.mp3 \
- s16be-id3v2.aiff \
- stream.mp2 \
- vbr_stream.mp3
+ s16be-id3v2.aiff
all: all-am
diff --git a/tests/files/cbr_stream.mp3 b/tests/files/cbr_stream.mp3
deleted file mode 100644
index b1a5c43..0000000
--- a/tests/files/cbr_stream.mp3
+++ /dev/null
Binary files differ
diff --git a/tests/files/stream.mp2 b/tests/files/stream.mp2
deleted file mode 100644
index ab6e900..0000000
--- a/tests/files/stream.mp2
+++ /dev/null
Binary files differ
diff --git a/tests/files/vbr_stream.mp3 b/tests/files/vbr_stream.mp3
deleted file mode 100644
index 81fc38b..0000000
--- a/tests/files/vbr_stream.mp3
+++ /dev/null
Binary files differ
diff --git a/tests/icles/Makefile.in b/tests/icles/Makefile.in
index f92db03..d0552a4 100644
--- a/tests/icles/Makefile.in
+++ b/tests/icles/Makefile.in
@@ -116,16 +116,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -295,7 +294,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -317,7 +315,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -339,9 +336,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -503,6 +497,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -516,8 +511,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -604,8 +597,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -657,6 +648,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -677,6 +669,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -714,7 +708,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/tools/Makefile.in b/tools/Makefile.in
index 5847a4a..65ac6e0 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -114,16 +114,15 @@
$(top_srcdir)/common/m4/gtk-doc.m4 \
$(top_srcdir)/common/m4/introspection.m4 \
$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
- $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
- $(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
- $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libgcrypt.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \
- $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gst-fionread.m4 \
+ $(top_srcdir)/m4/gst-sdl.m4 $(top_srcdir)/m4/iconv.m4 \
+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/libgcrypt.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
@@ -237,7 +236,6 @@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
-FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
@@ -259,7 +257,6 @@
GLES2_CFLAGS = @GLES2_CFLAGS@
GLES2_LIBS = @GLES2_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
-GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
@@ -281,9 +278,6 @@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_LIBS@
GREP = @GREP@
-GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
-GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
-GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
@@ -445,6 +439,7 @@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
@@ -458,8 +453,6 @@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
-MPG123_CFLAGS = @MPG123_CFLAGS@
-MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
@@ -546,8 +539,6 @@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
-RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
-RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
@@ -599,6 +590,7 @@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
+VULKAN_LIBS = @VULKAN_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
@@ -619,6 +611,8 @@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
+XCB_CFLAGS = @XCB_CFLAGS@
+XCB_LIBS = @XCB_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
@@ -656,7 +650,6 @@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
-gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
diff --git a/win32/common/config.h b/win32/common/config.h
index 05996f5..166b8dc 100644
--- a/win32/common/config.h
+++ b/win32/common/config.h
@@ -31,12 +31,6 @@
language is requested. */
#undef ENABLE_NLS
-/* The x in 2.x */
-#undef FAAD2_MINOR_VERSION
-
-/* Define if AAC is using new api prefix */
-#undef FAAD_IS_NEAAC
-
/* gettext package name */
#define GETTEXT_PACKAGE "gst-plugins-bad-1.0"
@@ -95,7 +89,7 @@
#define GST_PACKAGE_ORIGIN "Unknown package origin"
/* GStreamer package release date/time for plugins as YYYY-MM-DD */
-#define GST_PACKAGE_RELEASE_DATETIME "2015-12-24"
+#define GST_PACKAGE_RELEASE_DATETIME "2016-02-19"
/* Define if static plugins should be built */
#undef GST_PLUGIN_BUILD_STATIC
@@ -244,7 +238,7 @@
/* Define to enable AAC encoder plug-in (used by faac). */
#undef HAVE_FAAC
-/* Define to enable AAC decoder plug-in (used by faad). */
+/* Define to enable FAAD2 AAC decoder plug-in (used by faad). */
#undef HAVE_FAAD
/* Define to enable linux framebuffer (used by fbdevsink). */
@@ -280,6 +274,9 @@
/* Define to 1 if the system has the type `GLeglImageOES'. */
#undef HAVE_GLEGLIMAGEOES
+/* Define to 1 if the system has the type `GLint64'. */
+#undef HAVE_GLINT64
+
/* Define to 1 if the system has the type `GLintptr'. */
#undef HAVE_GLINTPTR
@@ -301,9 +298,6 @@
/* Use graphene */
#undef HAVE_GRAPHENE
-/* Define to enable GSettings plugin (used by gsettings). */
-#undef HAVE_GSETTINGS
-
/* Define to enable GSM library (used by gsmenc gsmdec). */
#undef HAVE_GSM
@@ -385,9 +379,6 @@
/* Define to enable mpeg2enc (used by mpeg2enc). */
#undef HAVE_MPEG2ENC
-/* Define to enable mpg123 audio decoder (used by mpg123). */
-#undef HAVE_MPG123
-
/* Define to enable mplex (used by mplex). */
#undef HAVE_MPLEX
@@ -537,9 +528,6 @@
/* Define to enable rsvg decoder (used by rsvg). */
#undef HAVE_RSVG
-/* Have RSVG 2.36.2 or newer */
-#undef HAVE_RSVG_2_36_2
-
/* Define to enable rtmp library (used by rtmp). */
#undef HAVE_RTMP
@@ -621,6 +609,9 @@
/* Define to enable timidity midi soft synth plugin (used by timidity). */
#undef HAVE_TIMIDITY
+/* Define to enable tinyalsa (used by tinyalsa). */
+#undef HAVE_TINYALSA
+
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
@@ -648,6 +639,9 @@
/* Define to enable vo-amrwbenc library (used by vo-amrwbenc). */
#undef HAVE_VOAMRWBENC
+/* Define to enable Vulkan elements (used by vulkan). */
+#undef HAVE_VULKAN
+
/* Define to enable WASAPI plug-in (used by wasapi). */
#undef HAVE_WASAPI
@@ -715,8 +709,7 @@
/* gettext locale dir */
#define LOCALEDIR PREFIX "\\share\\locale"
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
- */
+/* Define to the sub-directory where libtool stores uninstalled libraries. */
#undef LT_OBJDIR
/* Define if the old MusePack API is used */
@@ -738,7 +731,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.7.1"
+#define PACKAGE_STRING "GStreamer Bad Plug-ins 1.7.2"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "gst-plugins-bad"
@@ -747,7 +740,7 @@
#undef PACKAGE_URL
/* Define to the version of this package. */
-#define PACKAGE_VERSION "1.7.1"
+#define PACKAGE_VERSION "1.7.2"
/* directory where plugins are located */
#ifdef _DEBUG
@@ -791,7 +784,7 @@
#undef USE_EGL_RPI
/* Version number of package */
-#define VERSION "1.7.1"
+#define VERSION "1.7.2"
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */