Merge tag 'upstream/1.10.0'
Upstream version 1.10.0
diff --git a/ChangeLog b/ChangeLog
index 081a7ed..a0c700e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,797 @@
-=== release 1.9.90 ===
+=== release 1.10.0 ===
-2016-09-30 Sebastian Dröge <slomo@coaxion.net>
+2016-11-01 Sebastian Dröge <slomo@coaxion.net>
* configure.ac:
- releasing 1.9.90
+ releasing 1.10.0
+
+2016-11-01 17:42:37 +0200 Sebastian Dröge <sebastian@centricular.com>
+
+ * po/ky.po:
+ * po/sv.po:
+ po: Update translations
+
+2016-10-31 19:26:31 +0600 Artem Martynovich <artem.martynovich@gmail.com>
+
+ * sys/directsound/gstdirectsoundsrc.c:
+ directsoundsrc: Correctly cast mixer to uintptr
+ https://bugzilla.gnome.org/show_bug.cgi?id=773720
+
+2016-10-28 10:05:20 +0200 Michael Olbrich <m.olbrich@pengutronix.de>
+
+ * ext/hls/gsthlsdemux.c:
+ hlsdemux: don't try to access non-existant iframe variant
+ If the playlist does not contain any iframe variants then
+ demux->master->iframe_variants is NULL. If the previous variant is an
+ iframe variant then there is at least one iframe variant and
+ demux->master->iframe_variants->data can be safely used.
+ https://bugzilla.gnome.org/show_bug.cgi?id=773635
+
+2016-10-23 12:02:00 +0300 sezero <sezero@users.sourceforge.net>
+
+ * ext/timidity/gsttimidity.c:
+ timidity: add support for libtimidity-0.2.x
+ mid_istream_open_mem() doesn't accept an autofree argument as of
+ libtimidity >= 0.2.0
+ https://bugzilla.gnome.org/show_bug.cgi?id=772503
+
+2016-10-26 14:51:01 +0200 Daiki Ueno <dueno@redhat.com>
+
+ * ext/dtls/gstdtlscertificate.c:
+ * ext/dtls/gstdtlsconnection.c:
+ dtls: port to OpenSSL 1.1.0
+ Changes are:
+ - Use the wrapper functions to access opaque data types. To preserve
+ backward compatibility, define fallback definitions
+ - Remove the use of idiom "pqueue_size(ssl->d1->sent_messages)", since
+ there is no replacement
+ - Use RSA_generate_key_ex instead of the deprecated RSA_generate_key
+ https://bugzilla.gnome.org/show_bug.cgi?id=773540
+
+2016-10-29 11:31:28 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * gst/rawparse/gstrawbaseparse.c:
+ rawparse: pass flow returns upstream
+ rawvideoparse wouldn't error out on not-negotiated,
+ but would just keep on going, because it didn't pass
+ the flow return value back to the parent class and
+ thus upstream, so the source wouldnt' stop streaming.
+
+2016-10-28 07:17:56 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/gl/Makefile.am:
+ * gst-libs/gst/gl/win32/Makefile.am:
+ build: Also need to define GST_EXPORTS for Autotools
+ The change to use GST_EXPORT for symbols under Windows requires
+ GST_EXPORTS for internal use, and that is also needed under Autotools.
+ The same thing is done for gstreamer-1.0.dll in -core.
+
+2016-10-28 06:23:02 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/gl/gstglapi.h:
+ * gst-libs/gst/gl/gstglshader.c:
+ * gst-libs/gst/gl/gstglsl_private.h:
+ gstgl: Re-enable WINAPI on _MSC_VER
+ The calling convention may be deprecated, but we still need it for
+ OpenGL. The build issue was caused by an incorrect syntax being used for
+ the WINAPI (__stdcall) prototype in function pointers which was accepted
+ by GCC but is rejected by MSVC.
+
+2016-10-27 23:09:38 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * win32/common/libgstgl.def:
+ Just remove win32/common/libgstgl.def
+ It was always wrong since the symbols being exported in gstgl-1.0.dll
+ are platform-specific, and the check we do in dist checks it on all
+ platforms (which usually means Linux) and the list is instead
+ Linux-specific right now.
+ Even if we fix that, it can still never be right because it depends on
+ your configuration even on a specific platform. For instance, when we
+ start building EGL support on Windows using ANGLE, the symbol list will
+ change depending on whether that is enabled or not.
+ We also don't need this anymore since we use GST_EXPORT for all
+ functions exported on Windows now.
+
+2016-10-27 09:25:20 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/gl/gstglstereosplit.c:
+ * ext/openh264/gstopenh264enc.cpp:
+ * gst/videoparsers/gsth264parse.c:
+ plugins: Use explicit type conversion from enums
+ MSVC warns about this because it's a C++ compiler, and this actually
+ results in useful things such as the incorrect 'gboolean' return value
+ for functions that return GstFlowReturn, so let's do explicit
+ conversions to reduce the noise and increase its efficacy.
+
+2016-10-27 09:11:26 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/dash/gstdashdemux.c:
+ * ext/gl/gstgltransformation.c:
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ * gst-libs/gst/gl/gstglcolorconvert.c:
+ * gst-libs/gst/gl/gstglviewconvert.c:
+ * gst/fieldanalysis/gstfieldanalysis.c:
+ * gst/freeverb/gstfreeverb.c:
+ * gst/gaudieffects/gstgaussblur.c:
+ * gst/speed/gstspeed.c:
+ * gst/stereo/gststereo.c:
+ Explicitly define float constants as float
+ With MSVC, this gives the following warning:
+ warning C4305: 'function': truncation from 'double' to 'gfloat'
+ Apparently, MSVC does not figure out what type to use for constants
+ based on the assignment. This warning is very spammy, so let's try to
+ fix it.
+
+2016-10-27 09:08:41 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/dts/gstdtsdec.c:
+ * ext/faad/gstfaad.c:
+ * ext/gl/gstglviewconvert.c:
+ * ext/schroedinger/gstschrodec.c:
+ * gst-libs/gst/audio/gstaudioaggregator.c:
+ Fix incorrect return type in several functions
+ All these should return GstFlowReturn, not gboolean
+
+2016-10-27 09:06:33 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Don't warn about C4146 with MSVC
+ The error is:
+ unary minus operator applied to unsigned type, result still unsigned
+ This is a commonly-done operation in gstreamer and it's done on purpose.
+ It's just noise.
+
+2016-10-27 08:17:58 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/gl/gstglapi.h:
+ * gst-libs/gst/gl/gstglbasefilter.h:
+ * gst-libs/gst/gl/gstglbasememory.h:
+ * gst-libs/gst/gl/gstglbuffer.h:
+ * gst-libs/gst/gl/gstglbufferpool.h:
+ * gst-libs/gst/gl/gstglcolorconvert.h:
+ * gst-libs/gst/gl/gstglcontext.h:
+ * gst-libs/gst/gl/gstglcontrolbindingproxy.h:
+ * gst-libs/gst/gl/gstgldebug.h:
+ * gst-libs/gst/gl/gstgldisplay.h:
+ * gst-libs/gst/gl/gstglfeature.h:
+ * gst-libs/gst/gl/gstglfilter.h:
+ * gst-libs/gst/gl/gstglformat.h:
+ * gst-libs/gst/gl/gstglframebuffer.h:
+ * gst-libs/gst/gl/gstglmemory.h:
+ * gst-libs/gst/gl/gstglmemorypbo.h:
+ * gst-libs/gst/gl/gstgloverlaycompositor.h:
+ * gst-libs/gst/gl/gstglquery.h:
+ * gst-libs/gst/gl/gstglshader.h:
+ * gst-libs/gst/gl/gstglshaderstrings.h:
+ * gst-libs/gst/gl/gstglsl.h:
+ * gst-libs/gst/gl/gstglslstage.h:
+ * gst-libs/gst/gl/gstglsyncmeta.h:
+ * gst-libs/gst/gl/gstglupload.h:
+ * gst-libs/gst/gl/gstglutils.h:
+ * gst-libs/gst/gl/gstglviewconvert.h:
+ * gst-libs/gst/gl/gstglwindow.h:
+ gstgl: Add GST_EXPORT to all symbols used on Windows
+ This is a requirement for those symbols to be exported in gstgl-1.0.dll
+ when building with the MSVC compiler
+
+2016-10-27 07:29:36 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/gl/meson.build:
+ meson: Add support for building WGL on Windows
+ Currently only tested with MSVC.
+
+2016-10-27 09:10:03 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * ext/gl/gstgloverlay.c:
+ ext/gl: Don't define boolean on Windows with MSVC
+ The headers we include already define boolean on Windows with MSVC, and
+ it leads to a typedef redefinition error with jpeglib.h which tries to
+ redefine it in jmorecfg.h
+
+2016-10-27 07:30:19 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst-libs/gst/gl/gstglapi.h:
+ gstgl: Porting fixes for MSVC with Meson
+ GL/gl.h needs windows.h on MSVC
+ WINAPI should not be used with MSVC. It also causes a build error.
+
+2016-10-23 22:13:33 -0700 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+ * sys/dvb/parsechannels.c:
+ dvb/parsechannels: collapse notes on channel_name encoding conflict
+
+2016-10-23 22:00:30 -0700 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+ * sys/dvb/parsechannels.c:
+ dvb/parsechannels: rename ZAP parser for clarity
+ This function only does ZAP parsing. Additionally, remove redundant
+ comment while at it.
+
+2016-10-23 21:37:46 -0700 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+ * sys/dvb/gstdvbsrc.c:
+ * sys/dvb/parsechannels.c:
+ dvb: fix gtk-doc syntax for wrongly formatted comments
+
+2016-10-21 00:37:03 -0700 Scott D Phillips <scott.d.phillips@intel.com>
+
+ * ext/hls/meson.build:
+ meson: hls: Only build when any crypto_dep is found
+ https://bugzilla.gnome.org/show_bug.cgi?id=773114
+
+2016-10-21 00:39:32 -0700 Scott D Phillips <scott.d.phillips@intel.com>
+
+ * sys/directsound/meson.build:
+ meson: directsound: Add ole32 library dependency
+ https://bugzilla.gnome.org/show_bug.cgi?id=773114
+
+2016-10-17 09:35:41 -0700 Scott D Phillips <scott.d.phillips@intel.com>
+
+ * sys/winscreencap/meson.build:
+ meson: winscreencap depends on gstvideo
+ https://bugzilla.gnome.org/show_bug.cgi?id=773114
+
+2016-10-21 00:35:09 -0700 Scott D Phillips <scott.d.phillips@intel.com>
+
+ * meson.build:
+ meson: Remove gstreamer-check-1.0 dependency
+ It will later be added under tests/check
+ https://bugzilla.gnome.org/show_bug.cgi?id=773114
+
+2016-10-21 13:10:47 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglsyncmeta.c:
+ glsyncmeta: don't glFinish() everytime a sync point is set
+ At minimum, we only need to glFlush() if we are in a shared GL context
+ environment. Move the glFinish() to when the actual wait is requested
+ which may be never. Improves the throughput on older GL systems without
+ GL3/GLES3 and/or fence sync objects.
+
+2016-07-16 15:29:42 -0300 Thiago Santos <thiagossantos@gmail.com>
+
+ * ext/dash/gstmpdparser.c:
+ dash: do not use invalid stream duration
+ If it is is unknown, consider it infinite
+ https://bugzilla.gnome.org/show_bug.cgi?id=768460
+
+2016-07-16 15:15:21 -0300 Thiago Santos <thiagossantos@gmail.com>
+
+ * ext/dash/gstmpdparser.c:
+ dash: properly inherit segmentlist from period
+ Representation can inherit SegmentList from Period if none is available
+ from the AdaptationSet
+ https://bugzilla.gnome.org/show_bug.cgi?id=768460
+
+2016-10-19 16:11:58 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstopengl.c:
+ * ext/gl/meson.build:
+ * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h:
+ * gst-libs/gst/gl/egl/gstegl.h:
+ * gst-libs/gst/gl/meson.build:
+ * meson_options.txt:
+ meson: gl: add support for building with dispmanx on the rpi
+
+2016-10-18 22:29:19 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/egl/gsteglimage.c:
+ * gst-libs/gst/gl/egl/gstglmemoryegl.c:
+ gl/eglimage: Fix passing the destroy function to gst_egl_image_new_wrapped
+ The function pointer and the user data arguments were swapped in both
+ uses.
+ https://bugzilla.gnome.org/show_bug.cgi?id=769382
+
+2016-10-18 13:01:04 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * gst/segmentclip/meson.build:
+ meson: Add missing gstvideo dep to segmentclip
+ In file included from ../subprojects/gst-plugins-base/gst-libs/gst/video/video.h:27:0,
+ from ../subprojects/gst-plugins-bad/gst/segmentclip/gstvideosegmentclip.c:25:
+ ../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h:27:39: fatal error: gst/video/video-enumtypes.h: No such file or directory
+ #include <gst/video/video-enumtypes.h>
+ ^
+ compilation terminated.
+ https://ci.gstreamer.net/job/GStreamer-master-meson/269/console
+
+2016-10-11 17:06:23 +0530 Munez <munezbn.dev@gmail.com>
+
+ * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
+ * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h:
+ Implemented gst_video_overlay_set_window_handle()
+ https://bugzilla.gnome.org/show_bug.cgi?id=772608
+
+2016-10-18 14:11:26 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/meson.build:
+ meson: gl: fix detection of glx without gl
+ We need to check for libGL if we may use desktop OpenGL *or* GLX.
+
+2016-10-18 14:10:32 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/meson.build:
+ meson: gl: fix incorrect error string
+ Use the winsys variable for an incorrect winsys provided
+
+2016-10-16 12:40:22 +0200 Sergey Borovkov <sergey.borovkov@wireload.net>
+
+ * ext/qt/qtwindow.cc:
+ qt: Fix failing build on RPI
+ https://bugzilla.gnome.org/show_bug.cgi?id=773026
+
+2016-10-11 16:58:48 +0530 Munez <munezbn.dev@gmail.com>
+
+ * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
+ gl/dispmanx: egl_show should resize the window only if there is no render rectangle set
+ https://bugzilla.gnome.org/show_bug.cgi?id=772699
+
+2016-10-11 16:55:17 +0530 Munez <munezbn.dev@gmail.com>
+
+ * gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
+ gl/dispmanx: Fix set_render_rectangle typo
+ https://bugzilla.gnome.org/show_bug.cgi?id=772698
+
+2016-03-18 14:09:37 +0000 Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+ * gst/mpegtsmux/tsmux/tsmux.c:
+ mpegtsmux: fix buffer size mismatch in M2TS mode
+ In M2TS mode, we need an extra 4 bytes in the buffer, so need
+ to ensure the buffer can contain these. The allocation site
+ does not know the mode, so this is done in all cases.
+
+2016-10-15 22:19:02 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Don't set c_std to gnu99
+ Use the default for each compiler on every platform instead. This
+ improves our compatibility with compilers that don't have gnu99 as
+ a c_std.
+
+2016-10-14 14:41:42 -0700 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+ * sys/dvb/gstdvbsrc.c:
+ dvbsrc: fix 'delivery system'-related messages
+ * Rephrase tune error to be delsys-neutral
+ * Refer to the actual check in the 'missing sanity check' warnings
+ * Use "Delivery system" instead of 'delsys'. The
+ latter is OK as a shorthand in the code but not
+ even a real word
+
+2016-10-11 18:48:06 +0200 Joan Pau Beltran <joanpau.beltran@socib.cat>
+
+ * gst/bayer/gstbayer2rgb.c:
+ * gst/bayer/gstrgb2bayer.c:
+ bayer: fix _transform_caps method to preserve fields in given caps
+ https://bugzilla.gnome.org/show_bug.cgi?id=758717
+
+2016-09-29 12:49:39 -0400 Arun Raghavan <arun@arunraghavan.net>
+
+ * ext/wayland/gstwaylandsink.c:
+ waylandsink: Properly configure internal pool
+ There was a small omission in the code. It still worked, but the pool
+ configuration may not have been optimimal.
+
+2016-10-12 18:20:27 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * common:
+ common: sync to latest revision
+ Fixes accidental common change when commit patch.
+
+2016-10-11 11:11:16 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsdemux/mpegtsbase.c:
+ * gst/mpegtsdemux/mpegtsbase.h:
+ * gst/mpegtsdemux/tsdemux.c:
+ mpegtsdemux: Implement efficient program updates
+ If the parent bin can handle it, only add/remove the new/gone stream
+ instead of re-adding/re-moving everything
+ https://bugzilla.gnome.org/show_bug.cgi?id=772742
+
+2016-10-12 14:35:21 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsdemux/mpegtsbase.c:
+ mpegtsdemux: Ensure we always get an upstream stream-id
+ This was a regression.
+ We only have a upstream-id via STREAM_START if we were in push-mode.
+ In pull-mode we need to create one.
+ Note: It would be good to eventually have that method (copied from
+ gst_pad_get_stream_id_internal()) public in the future
+
+2016-10-11 16:47:37 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsdemux/mpegtsbase.c:
+ * gst/mpegtsdemux/tsdemux.c:
+ mpegtsdemux: Fix issues with GST_DISABLE_GST_DEBUG
+ Some variables were hidden or unused
+
+2015-07-29 15:52:05 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsdemux/mpegtsbase.c:
+ * gst/mpegtsdemux/mpegtsbase.h:
+ * gst/mpegtsdemux/tsdemux.c:
+ mpegtsdemux: Switch to using GstStream/GstStreamCollection
+ For each MpegTSBaseStream, we have a GstStream object which
+ subclasses can extend with information.
+ For each program a GstStreamCollection is created with all
+ GstStream from each stream.
+
+2016-10-11 10:50:17 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsdemux/mpegtsbase.c:
+ mpegtsbase: Remove duplicated code
+ Just have one function to check for private section streams
+
+2016-10-10 17:00:39 +0200 Arnaud Vrac <avrac@freebox.fr>
+
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ adaptivedemux: fix buffer size print format
+ https://bugzilla.gnome.org/show_bug.cgi?id=772706
+
+2016-10-10 16:52:58 +0200 Arnaud Vrac <avrac@freebox.fr>
+
+ * common:
+ * ext/hls/gsthlsdemux.h:
+ hlsdemux: fix hls demux stream type inheritance
+ GstHLSDemuxStream inherits GstAdaptiveDemuxStream, not
+ GstAdaptiveDemux. Fixes memory corruption issues.
+ https://bugzilla.gnome.org/show_bug.cgi?id=772704
+
+2016-10-09 06:42:30 -0700 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+ * sys/dvb/parsechannels.c:
+ dvb/parsechannels: parse guard interval as a fraction
+ Fixes wrong default failover when parsing libdvbv5 formatted
+ channel configuration files.
+
+2016-10-09 03:23:19 -0700 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+ * sys/dvb/parsechannels.c:
+ dvb/parsechannels: add prototypes and reorganize for clarity
+
+2016-10-08 07:18:15 -0700 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+ * sys/dvb/dvbbasebin.c:
+ * sys/dvb/gstdvbsrc.c:
+ * sys/dvb/gstdvbsrc.h:
+ Update my email address
+
+2016-10-08 05:33:34 -0700 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+ * sys/dvb/cam.h:
+ * sys/dvb/camapplication.h:
+ * sys/dvb/camapplicationinfo.h:
+ * sys/dvb/camconditionalaccess.h:
+ * sys/dvb/camdevice.h:
+ * sys/dvb/camresourcemanager.h:
+ * sys/dvb/camsession.h:
+ * sys/dvb/camswclient.h:
+ * sys/dvb/camtransport.h:
+ * sys/dvb/camutils.h:
+ dvb: drop trailing whitespace and c&p leftovers
+
+2016-10-08 05:20:47 -0700 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+ * sys/dvb/parsechannels.c:
+ dvb/parsechannels: parse DVB-T hierarchy from v5 config file
+ Avoids relying on the H/W default when the information
+ can be extracted from the configuration file.
+
+2016-10-08 04:55:20 -0700 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+ * sys/dvb/parsechannels.c:
+ dvb/parsechannels: parse DVB-T lp and hp code rates
+
+2016-10-08 14:08:06 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst/mpegtsdemux/mpegtsbase.c:
+ mpegts: Also clear packetizer on TIME DISCONT
+ When dealing with TIME-based input, the incoming stream could have
+ potentially changed completely.
+ In order to check whether it did or not, we need to re-check all sections
+ (PAT, PMT...). If it didn't, we will keep using the existing streams/pad,
+ and if it did we will act as if there was a program switch.
+ Fixes HLS streaming with decodebin3/playbin3
+
+2016-10-02 09:34:51 +0200 Edward Hervey <edward@centricular.com>
+
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+ * gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+ adaptivedemux: Calculate values before queue2
+ In order to calculate the *actual* bitrate for downloading a fragment
+ we need to take into account the time since we requested the fragment.
+ Without this, the bitrate calculations (previously reported by queue2)
+ would be biased since they wouldn't take into account the request latency
+ (that is the time between the moment we request a specific URI and the
+ moment we receive the first byte of that request).
+ Such examples were it would be biased would be high-bandwith but high-latency
+ networks. If you download 5MB in 500ms, but it takes 200ms to get the first
+ byte, queue2 would report 80Mbit/s (5Mb in 500ms) , but taking the request
+ into account it is only 57Mbit/s (5Mb in 700ms).
+ While this would not cause too much issues if the above fragment represented
+ a much longer duration (5s of content), it would cause issues with short
+ ones (say 1s, or when doing keyframe-only requests which are even shorter)
+ where the code would expect to be able to download up to 80Mbit/s ... whereas
+ if we take the request time into account it's much lower (and we would
+ therefore end up doing late requests).
+ Also calculate the request latency for debugging purposes and further
+ usage (it could allow us to figure out the maximum request rate for
+ example).
+ https://bugzilla.gnome.org/show_bug.cgi?id=733959
+ https://bugzilla.gnome.org/show_bug.cgi?id=772330
+
+2016-10-06 15:54:00 +0900 Jimmy Ohn <yongjin.ohn@lge.com>
+
+ * ext/opencv/gstopencvutils.cpp:
+ opencv: Fix memory leak by gst_caps_to_string
+ gst_caps_to_string function returned allocated memory.
+ So, It should be freed using g_free function.
+ https://bugzilla.gnome.org/show_bug.cgi?id=772499
+
+2016-10-05 18:32:09 +1100 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/gstglwindow.c:
+ glwindow: don't use g_thread_join() to join the navigation thread
+ Using g_thread_join() in _finalize() handlers may result in a deadlock
+ joining the current thread when the last reference is held by a signal
+ handler.
+ e.g.:
+ error 'Resource deadlock avoided' during 'pthread_join (pt->system_thread, NULL)'
+ The backtrace looks like this:
+ [...]
+ g_thread_join ()
+ gst_gl_window_finalize ()
+ gst_gl_window_x11_finalize ()
+ g_object_unref ()
+ g_value_unset ()
+ g_signal_emit_valist ()
+ g_signal_emit ()
+ gst_gl_window_send_mouse_event ()
+ gst_gl_window_mouse_event_cb ()
+ g_main_dispatch ()
+ [..]
+ g_main_loop_run ()
+ gst_gl_window_navigation_thread ()
+ g_thread_proxy ()
+ start_thread ()
+ clone ()
+
+2016-10-05 18:28:48 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/gl/gstgluploadelement.c:
+ gluploadelement: fix leak of upload library object
+ When only linking the element, the upload object will be created from
+ _transform_caps() but will never be unreffed as the only case is in _stop().
+ Add an unref if non-NULL to a new finalize handler for this case.
+
+2016-10-05 12:11:19 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkdisplay.c:
+ vkdisplay: hold a weakref on the list of windows
+ It's possible that the window may have been destroyed when a winsys
+ event comes in for it.
+ Fixes an assertion in make -C tests/check generic/states.check
+
+2016-10-05 11:37:04 +1100 Matthew Waters <matthew@centricular.com>
+
+ * ext/vulkan/vkdevice.c:
+ vkdevice: only unref the gstcontext query if non-NULL
+ Fixes an assertion in make -C tests/check generic/states.check
+
+2016-09-29 11:45:57 +1000 Matthew Waters <matthew@centricular.com>
+
+ * tests/check/libs/gstglcolorconvert.c:
+ * tests/check/libs/gstglupload.c:
+ tests/gl: make sure all GL commands are executed on the GL thread
+ e.g. the final glGetError() must also be completed on the GL thread
+
+2016-09-28 18:04:21 +1000 Matthew Waters <matthew@centricular.com>
+
+ * gst-libs/gst/gl/win32/Makefile.am:
+ * gst-libs/gst/gl/win32/gstglwindow_win32_egl.c:
+ * gst-libs/gst/gl/win32/gstglwindow_win32_egl.h:
+ gl/win32: remove egl implementation
+ It hasn't been used in ages and is dead code.
+
+2016-09-13 22:07:05 +0900 Wonchul Lee <wonchul.lee@collabora.com>
+
+ * gst-libs/gst/mpegts/gstmpegtsdescriptor.h:
+ * gst/mpegtsdemux/gstmpegdesc.h:
+ * gst/mpegtsdemux/tsdemux.c:
+ tsdemux: Add conditions to identify ATSC EAC3
+ https://bugzilla.gnome.org/show_bug.cgi?id=770528
+
+2016-09-26 15:23:52 -0700 Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+ * sys/dvb/parsechannels.c:
+ dvb/parsechannels: make parsing errors delsys-neutral
+ DVB is a group of delivery standards but we support
+ several others. While at this, make message formating
+ more congruent.
+
+2016-09-30 11:35:41 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
+
+ * hooks/pre-commit.hook:
+ * meson.build:
+ meson: Setup pre-commit hooks when configuring
+
+2016-09-30 11:41:34 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * meson.build:
+ meson: update version
+
+2016-09-30 13:42:06 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * gst-libs/gst/player/gstplayer.c:
+ player: Remove Return documentation for function returning void
+
+=== release 1.9.90 ===
+
+2016-09-30 13:02:55 +0300 Sebastian Dröge <sebastian@centricular.com>
+
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
+ * configure.ac:
+ * docs/plugins/inspect/plugin-accurip.xml:
+ * docs/plugins/inspect/plugin-adpcmdec.xml:
+ * docs/plugins/inspect/plugin-adpcmenc.xml:
+ * docs/plugins/inspect/plugin-aiff.xml:
+ * docs/plugins/inspect/plugin-asfmux.xml:
+ * docs/plugins/inspect/plugin-assrender.xml:
+ * docs/plugins/inspect/plugin-audiofxbad.xml:
+ * docs/plugins/inspect/plugin-audiomixer.xml:
+ * docs/plugins/inspect/plugin-audiovisualizers.xml:
+ * docs/plugins/inspect/plugin-autoconvert.xml:
+ * docs/plugins/inspect/plugin-bayer.xml:
+ * docs/plugins/inspect/plugin-bluez.xml:
+ * docs/plugins/inspect/plugin-bs2b.xml:
+ * docs/plugins/inspect/plugin-bz2.xml:
+ * docs/plugins/inspect/plugin-camerabin.xml:
+ * docs/plugins/inspect/plugin-chromaprint.xml:
+ * docs/plugins/inspect/plugin-coloreffects.xml:
+ * docs/plugins/inspect/plugin-compositor.xml:
+ * docs/plugins/inspect/plugin-curl.xml:
+ * docs/plugins/inspect/plugin-dashdemux.xml:
+ * docs/plugins/inspect/plugin-dataurisrc.xml:
+ * docs/plugins/inspect/plugin-debugutilsbad.xml:
+ * docs/plugins/inspect/plugin-decklink.xml:
+ * docs/plugins/inspect/plugin-dtls.xml:
+ * docs/plugins/inspect/plugin-dtsdec.xml:
+ * docs/plugins/inspect/plugin-dvb.xml:
+ * docs/plugins/inspect/plugin-dvbsuboverlay.xml:
+ * docs/plugins/inspect/plugin-dvdspu.xml:
+ * docs/plugins/inspect/plugin-faac.xml:
+ * docs/plugins/inspect/plugin-faad.xml:
+ * docs/plugins/inspect/plugin-fbdevsink.xml:
+ * docs/plugins/inspect/plugin-festival.xml:
+ * docs/plugins/inspect/plugin-fieldanalysis.xml:
+ * docs/plugins/inspect/plugin-flite.xml:
+ * docs/plugins/inspect/plugin-fluidsynthmidi.xml:
+ * docs/plugins/inspect/plugin-freeverb.xml:
+ * docs/plugins/inspect/plugin-frei0r.xml:
+ * docs/plugins/inspect/plugin-gaudieffects.xml:
+ * docs/plugins/inspect/plugin-gdp.xml:
+ * docs/plugins/inspect/plugin-geometrictransform.xml:
+ * docs/plugins/inspect/plugin-gmedec.xml:
+ * docs/plugins/inspect/plugin-gsm.xml:
+ * docs/plugins/inspect/plugin-gstgtk.xml:
+ * docs/plugins/inspect/plugin-gstsiren.xml:
+ * docs/plugins/inspect/plugin-hls.xml:
+ * docs/plugins/inspect/plugin-id3tag.xml:
+ * docs/plugins/inspect/plugin-inter.xml:
+ * docs/plugins/inspect/plugin-interlace.xml:
+ * docs/plugins/inspect/plugin-ivfparse.xml:
+ * docs/plugins/inspect/plugin-ivtc.xml:
+ * docs/plugins/inspect/plugin-jp2kdecimator.xml:
+ * docs/plugins/inspect/plugin-jpegformat.xml:
+ * docs/plugins/inspect/plugin-kate.xml:
+ * docs/plugins/inspect/plugin-ladspa.xml:
+ * docs/plugins/inspect/plugin-midi.xml:
+ * docs/plugins/inspect/plugin-mimic.xml:
+ * docs/plugins/inspect/plugin-mms.xml:
+ * docs/plugins/inspect/plugin-modplug.xml:
+ * docs/plugins/inspect/plugin-mpeg2enc.xml:
+ * docs/plugins/inspect/plugin-mpegpsdemux.xml:
+ * docs/plugins/inspect/plugin-mpegpsmux.xml:
+ * docs/plugins/inspect/plugin-mpegtsdemux.xml:
+ * docs/plugins/inspect/plugin-mpegtsmux.xml:
+ * docs/plugins/inspect/plugin-mplex.xml:
+ * docs/plugins/inspect/plugin-mxf.xml:
+ * docs/plugins/inspect/plugin-netsim.xml:
+ * docs/plugins/inspect/plugin-ofa.xml:
+ * docs/plugins/inspect/plugin-openal.xml:
+ * docs/plugins/inspect/plugin-opencv.xml:
+ * docs/plugins/inspect/plugin-openexr.xml:
+ * docs/plugins/inspect/plugin-opengl.xml:
+ * docs/plugins/inspect/plugin-openjpeg.xml:
+ * docs/plugins/inspect/plugin-opusparse.xml:
+ * docs/plugins/inspect/plugin-pcapparse.xml:
+ * docs/plugins/inspect/plugin-pnm.xml:
+ * docs/plugins/inspect/plugin-qt.xml:
+ * docs/plugins/inspect/plugin-rawparse.xml:
+ * docs/plugins/inspect/plugin-removesilence.xml:
+ * docs/plugins/inspect/plugin-resindvd.xml:
+ * docs/plugins/inspect/plugin-rfbsrc.xml:
+ * docs/plugins/inspect/plugin-rsvg.xml:
+ * docs/plugins/inspect/plugin-rtmp.xml:
+ * docs/plugins/inspect/plugin-rtponvif.xml:
+ * docs/plugins/inspect/plugin-schro.xml:
+ * docs/plugins/inspect/plugin-sdp.xml:
+ * docs/plugins/inspect/plugin-segmentclip.xml:
+ * docs/plugins/inspect/plugin-shm.xml:
+ * docs/plugins/inspect/plugin-smooth.xml:
+ * docs/plugins/inspect/plugin-smoothstreaming.xml:
+ * docs/plugins/inspect/plugin-sndfile.xml:
+ * docs/plugins/inspect/plugin-soundtouch.xml:
+ * docs/plugins/inspect/plugin-spandsp.xml:
+ * docs/plugins/inspect/plugin-speed.xml:
+ * docs/plugins/inspect/plugin-srtp.xml:
+ * docs/plugins/inspect/plugin-stereo.xml:
+ * docs/plugins/inspect/plugin-subenc.xml:
+ * docs/plugins/inspect/plugin-teletext.xml:
+ * docs/plugins/inspect/plugin-uvch264.xml:
+ * docs/plugins/inspect/plugin-vcdsrc.xml:
+ * docs/plugins/inspect/plugin-videofiltersbad.xml:
+ * docs/plugins/inspect/plugin-videoframe_audiolevel.xml:
+ * docs/plugins/inspect/plugin-videoparsersbad.xml:
+ * docs/plugins/inspect/plugin-videosignal.xml:
+ * docs/plugins/inspect/plugin-vmnc.xml:
+ * docs/plugins/inspect/plugin-voaacenc.xml:
+ * docs/plugins/inspect/plugin-voamrwbenc.xml:
+ * docs/plugins/inspect/plugin-waylandsink.xml:
+ * docs/plugins/inspect/plugin-webp.xml:
+ * docs/plugins/inspect/plugin-webrtcdsp.xml:
+ * docs/plugins/inspect/plugin-wildmidi.xml:
+ * docs/plugins/inspect/plugin-x265.xml:
+ * docs/plugins/inspect/plugin-y4mdec.xml:
+ * docs/plugins/inspect/plugin-yadif.xml:
+ * docs/plugins/inspect/plugin-zbar.xml:
+ * gst-plugins-bad.doap:
+ * win32/common/config.h:
+ Release 1.9.90
+
+2016-09-30 12:19:32 +0300 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
2016-09-30 11:44:47 +0300 Sebastian Dröge <sebastian@centricular.com>
diff --git a/NEWS b/NEWS
index 072b2df..547de7f 100644
--- a/NEWS
+++ b/NEWS
@@ -1 +1,1114 @@
-This is GStreamer 1.9.90
+# GStreamer 1.10 Release Notes
+
+**GStreamer 1.10.0 was released on 1st November 2016.**
+
+The GStreamer team is proud to announce a new major feature release in the
+stable 1.x API series of your favourite cross-platform multimedia framework!
+
+As always, this release is again packed with new features, bug fixes and other
+improvements.
+
+See [https://gstreamer.freedesktop.org/releases/1.10/][latest] for the latest
+version of this document.
+
+*Last updated: Tuesday 1 Nov 2016, 15:00 UTC [(log)][gitlog]*
+
+[latest]: https://gstreamer.freedesktop.org/releases/1.10/
+[gitlog]: https://cgit.freedesktop.org/gstreamer/www/log/src/htdocs/releases/1.10/release-notes-1.10.md
+
+## Introduction
+
+The GStreamer team is proud to announce a new major feature release in the
+stable 1.x API series of your favourite cross-platform multimedia framework!
+
+As always, this release is again packed with new features, bug fixes and other
+improvements.
+
+## Highlights
+
+- Several convenience APIs have been added to make developers' lives easier
+- A new `GstStream` API provides applications a more meaningful view of the
+ structure of streams, simplifying the process of dealing with media in
+ complex container formats
+- Experimental `decodebin3` and `playbin3` elements which bring a number of
+ improvements which were hard to implement within `decodebin` and `playbin`
+- A new `parsebin` element to automatically unpack and parse a stream, stopping
+ just short of decoding
+- Experimental new `meson`-based build system, bringing faster build and much
+ better Windows support (including for building with Visual Studio)
+- A new `gst-docs` module has been created, and we are in the process of moving
+ our documentation to a markdown-based format for easier maintenance and
+ updates
+- A new `gst-examples` module has been create, which contains example
+ GStreamer applications and is expected to grow with many more examples in
+ the future
+- Various OpenGL and OpenGL|ES-related fixes and improvements for greater
+ efficiency on desktop and mobile platforms, and Vulkan support on Wayland was
+ also added
+- Extensive improvements to the VAAPI plugins for improved robustness and
+ efficiency
+- Lots of fixes and improvements across the board, spanning RTP/RTSP, V4L2,
+ Bluetooth, audio conversion, echo cancellation, and more!
+
+## Major new features and changes
+
+### Noteworthy new API, features and other changes
+
+#### Core API additions
+
+##### Receive property change notifications via bus messages
+
+New API was added to receive element property change notifications via
+bus messages. So far, applications had to connect a callback to an element's
+`notify::property-name` signal via the GObject API, which was inconvenient for
+at least two reasons: one had to implement a signal callback function, and that
+callback function would usually be called from one of the streaming threads, so
+one had to marshal (send) any information gathered or pending requests to the
+main application thread which was tedious and error-prone.
+
+Enter [`gst_element_add_property_notify_watch()`][notify-watch] and
+[`gst_element_add_property_deep_notify_watch()`][deep-notify-watch] which will
+watch for changes of a property on the specified element, either only for this
+element or recursively for a whole bin or pipeline. Whenever such a
+property change happens, a `GST_MESSAGE_PROPERTY_NOTIFY` message will be posted
+on the pipeline bus with details of the element, the property and the new
+property value, all of which can be retrieved later from the message in the
+application via [`gst_message_parse_property_notify()`][parse-notify]. Unlike
+the GstBus watch functions, this API does not rely on a running GLib main loop.
+
+The above can be used to be notified asynchronously of caps changes in the
+pipeline, or volume changes on an audio sink element, for example.
+
+[notify-watch]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-add-property-notify-watch
+[deep-notify-watch]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-add-property-deep-notify-watch
+[parse-notify]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#gst-message-parse-property-notify
+
+##### GstBin "deep" element-added and element-removed signals
+
+GstBin has gained `"deep-element-added"` and `"deep-element-removed"` signals
+which makes it easier for applications and higher-level plugins to track when
+elements are added or removed from a complex pipeline with multiple sub-bins.
+
+`playbin` makes use of this to implement the new `"element-setup"` signal which
+can be used to configure elements as they are added to `playbin`, just like the
+existing `"source-setup"` signal which can be used to configure the source
+element created.
+
+##### Error messages can contain additional structured details
+
+It is often useful to provide additional, structured information in error,
+warning or info messages for applications (or higher-level elements) to make
+intelligent decisions based on them. To allow this, error, warning and info
+messages now have API for adding arbitrary additional information to them
+using a `GstStructure`:
+[`GST_ELEMENT_ERROR_WITH_DETAILS`][element-error-with-details] and
+corresponding API for the other message types.
+
+This is now used e.g. by the new [`GST_ELEMENT_FLOW_ERROR`][element-flow-error]
+API to include the actual flow error in the error message, and the
+[souphttpsrc element][souphttpsrc-detailed-errors] to provide the HTTP
+status code, and the URL (if any) to which a redirection has happened.
+
+[element-error-with-details]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-ELEMENT-ERROR-WITH-DETAILS:CAPS
+[element-flow-error]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GST-ELEMENT-FLOW-ERROR:CAPS
+[souphttpsrc-detailed-errors]: https://cgit.freedesktop.org/gstreamer/gst-plugins-good/tree/ext/soup/gstsouphttpsrc.c?id=60d30db912a1aedd743e66b9dcd2e21d71fbb24f#n1318
+
+##### Redirect messages have official API now
+
+Sometimes, elements need to redirect the current stream URL and tell the
+application to proceed with this new URL, possibly using a different
+protocol too (thus changing the pipeline configuration). Until now, this was
+informally implemented using `ELEMENT` messages on the bus.
+
+Now this has been formalized in the form of a new `GST_MESSAGE_REDIRECT` message.
+A new redirect message can be created using [`gst_message_new_redirect()`][new-redirect].
+If needed, multiple redirect locations can be specified by calling
+[`gst_message_add_redirect_entry()`][add-redirect] to add further redirect
+entries, all with metadata, so the application can decide which is
+most suitable (e.g. depending on the bitrate tags).
+
+[new-redirect]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#gst-message-new-redirect
+[add-redirect]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#gst-message-add-redirect-entry
+
+##### New pad linking convenience functions that automatically create ghost pads
+
+New pad linking convenience functions were added:
+[`gst_pad_link_maybe_ghosting()`][pad-maybe-ghost] and
+[`gst_pad_link_maybe_ghosting_full()`][pad-maybe-ghost-full] which were
+previously internal to GStreamer have now been exposed for general use.
+
+The existing pad link functions will refuse to link pads or elements at
+different levels in the pipeline hierarchy, requiring the developer to
+create ghost pads where necessary. These new utility functions will
+automatically create ghostpads as needed when linking pads at different
+levels of the hierarchy (e.g. from an element inside a bin to one that's at
+the same level in the hierarchy as the bin, or in another bin).
+
+[pad-maybe-ghost]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-link-maybe-ghosting
+[pad-maybe-ghost-full]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-link-maybe-ghosting-full
+
+##### Miscellaneous
+
+Pad probes: IDLE and BLOCK probes now work slightly differently in pull mode,
+so that push and pull mode have opposite scenarios for idle and blocking probes.
+In push mode, it will block with some data type and IDLE won't have any data.
+In pull mode, it will block _before_ getting a buffer and will be IDLE once some
+data has been obtained. ([commit][commit-pad-probes], [bug][bug-pad-probes])
+
+[commit-pad-probes]: https://cgit.freedesktop.org/gstreamer/gstreamer/commit/gst/gstpad.c?id=368ee8a336d0c868d81fdace54b24431a8b48cbf
+[bug-pad-probes]: https://bugzilla.gnome.org/show_bug.cgi?id=761211
+
+[`gst_parse_launch_full()`][parse-launch-full] can now be made to return a
+`GstBin` instead of a top-level pipeline by passing the new
+`GST_PARSE_FLAG_PLACE_IN_BIN` flag.
+
+[parse-launch-full]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstParse.html#gst-parse-launch-full
+
+The default GStreamer debug log handler can now be removed before
+calling `gst_init()`, so that it will never get installed and won't be active
+during initialization.
+
+A new [`STREAM_GROUP_DONE` event][stream-group-done-event] was added. In some
+ways it works similar to the `EOS` event in that it can be used to unblock
+downstream elements which may be waiting for further data, such as for example
+`input-selector`. Unlike `EOS`, further data flow may happen after the
+`STREAM_GROUP_DONE` event though (and without the need to flush the pipeline).
+This is used to unblock input-selector when switching between streams in
+adaptive streaming scenarios (e.g. HLS).
+
+[stream-group-done-event]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstEvent.html#gst-event-new-stream-group-done
+
+The `gst-launch-1.0` command line tool will now print unescaped caps in verbose
+mode (enabled by the -v switch).
+
+[`gst_element_call_async()`][call-async] has been added as convenience API for
+plugin developers. It is useful for one-shot operations that need to be done
+from a thread other than the current streaming thread. It is backed by a
+thread-pool that is shared by all elements.
+
+[call-async]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-call-async
+
+Various race conditions have been fixed around the `GstPoll` API used by e.g.
+`GstBus` and `GstBufferPool`. Some of these manifested themselves primarily
+on Windows.
+
+`GstAdapter` can now keep track of discontinuities signalled via the `DISCONT`
+buffer flag, and has gained [new API][new-adapter-api] to track PTS, DTS and
+offset at the last discont. This is useful for plugins implementing advanced
+trick mode scenarios.
+
+[new-adapter-api]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstAdapter.html#gst-adapter-pts-at-discont
+
+`GstTestClock` gained a new [`"clock-type"` property][clock-type-prop].
+
+[clock-type-prop]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstTestClock.html#GstTestClock--clock-type
+
+#### GstStream API for stream announcement and stream selection
+
+New stream listing and stream selection API: new API has been added to
+provide high-level abstractions for streams ([`GstStream`][stream-api])
+and collections of streams ([`GstStreamCollections`][stream-collection-api]).
+
+##### Stream listing
+
+A [`GstStream`][stream-api] contains all the information pertinent to a stream,
+such as stream id, caps, tags, flags and stream type(s); it can represent a
+single elementary stream (e.g. audio, video, subtitles, etc.) or a container
+stream. This will depend on the context. In a decodebin3/playbin3 one
+it will typically be elementary streams that can be selected and unselected.
+
+A [`GstStreamCollection`][stream-collection-api] represents a group of streams
+and is used to announce or publish all available streams. A GstStreamCollection
+is immutable - once created it won't change. If the available streams change,
+e.g. because a new stream appeared or some streams disappeared, a new stream
+collection will be published. This new stream collection may contain streams
+from the previous collection if those streams persist, or completely new ones.
+Stream collections do not yet list all theoretically available streams,
+e.g. other available DVD angles or alternative resolutions/bitrate of the same
+stream in case of adaptive streaming.
+
+New events and messages have been added to notify or update other elements and
+the application about which streams are currently available and/or selected.
+This way, we can easily and seamlessly let the application know whenever the
+available streams change, as happens frequently with digital television streams
+for example. The new system is also more flexible. For example, it is now also
+possible for the application to select multiple streams of the same type
+(e.g. in a transcoding/transmuxing scenario).
+
+A [`STREAM_COLLECTION` message][stream-collection-msg] is posted on the bus
+to inform the parent bin (e.g. `playbin3`, `decodebin3`) and/or the application
+about what streams are available, so you no longer have to hunt for this
+information at different places. The available information includes number of
+streams of each type, caps, tags etc. Bins and/or the application can intercept
+the message synchronously to select and deselect streams before any data is
+produced - for the case where elements such as the demuxers support the new
+stream API, not necessarily in the parsebin compatibility fallback case.
+
+Similarly, there is also a [`STREAM_COLLECTION` event][stream-collection-event]
+to inform downstream elements of the available streams. This event can be used
+by elements to aggregate streams from multiple inputs into one single collection.
+
+The `STREAM_START` event was extended so that it can also contain a GstStream
+object with all information about the current stream, see
+[`gst_event_set_stream()`][event-set-stream] and
+[`gst_event_parse_stream()`][event-parse-stream].
+[`gst_pad_get_stream()`][pad-get-stream] is a new utility function that can be
+used to look up the GstStream from the `STREAM_START` sticky event on a pad.
+
+[stream-api]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStream.html
+[stream-collection-api]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStreamCollection.html
+[stream-collection-msg]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstMessage.html#gst-message-new-stream-collection
+[stream-collection-event]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstEvent.html#gst-event-new-stream-collection
+[event-set-stream]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstEvent.html#gst-event-set-stream
+[event-parse-stream]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstEvent.html#gst-event-parse-stream
+[pad-get-stream]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#gst-pad-get-stream
+
+##### Stream selection
+
+Once the available streams have been published, streams can be selected via
+their stream ID using the new `SELECT_STREAMS` event, which can be created
+with [`gst_event_new_select_streams()`][event-select-streams]. The new API
+supports selecting multiple streams per stream type. In the future, we may also
+implement explicit deselection of streams that will never be used, so
+elements can skip these and never expose them or output data for them in the
+first place.
+
+The application is then notified of the currently selected streams via the
+new `STREAMS_SELECTED` message on the pipeline bus, containing both the current
+stream collection as well as the selected streams. This might be posted in
+response to the application sending a `SELECT_STREAMS` event or when
+`decodebin3` or `playbin3` decide on the streams to be initially selected without
+application input.
+
+[event-select-streams]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstEvent.html#gst-event-new-select-streams
+
+##### Further reading
+
+See further below for some notes on the new elements supporting this new
+stream API, namely: `decodebin3`, `playbin3` and `parsebin`.
+
+More information about the new API and the new elements can also be found here:
+
+- GStreamer [stream selection design docs][streams-design]
+- Edward Hervey's talk ["The new streams API: Design and usage"][streams-talk] ([slides][streams-slides])
+- Edward Hervey's talk ["Decodebin3: Dealing with modern playback use cases"][db3-talk] ([slides][db3-slides])
+
+[streams-design]: https://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/design/part-stream-selection.txt
+[streams-talk]: https://gstconf.ubicast.tv/videos/the-new-gststream-api-design-and-usage/
+[streams-slides]: https://gstreamer.freedesktop.org/data/events/gstreamer-conference/2016/Edward%20Hervey%20-%20The%20New%20Streams%20API%20Design%20and%20Usage.pdf
+[db3-talk]: https://gstconf.ubicast.tv/videos/decodebin3-or-dealing-with-modern-playback-use-cases/
+[db3-slides]: https://gstreamer.freedesktop.org/data/events/gstreamer-conference/2015/Edward%20Hervey%20-%20decodebin3.pdf
+
+#### Audio conversion and resampling API
+
+The audio conversion library received a completely new and rewritten audio
+resampler, complementing the audio conversion routines moved into the audio
+library in the [previous release][release-notes-1.8]. Integrating the resampler
+with the other audio conversion library allows us to implement generic
+conversion much more efficiently, as format conversion and resampling can now
+be done in the same processing loop instead of having to do it in separate
+steps (our element implementations do not make use of this yet though).
+
+The new audio resampler library is a combination of some of the best features
+of other samplers such as ffmpeg, speex and SRC. It natively supports S16, S32,
+F32 and F64 formats and uses optimized x86 and neon assembly for most of its
+processing. It also has support for dynamically changing sample rates by incrementally
+updating the filter tables using linear or cubic interpolation. According to
+some benchmarks, it's one of the fastest and most accurate resamplers around.
+
+The `audioresample` plugin has been ported to the new audio library functions
+to make use of the new resampler.
+
+[release-notes-1.8]: https://gstreamer.freedesktop.org/releases/1.8/
+
+#### Support for SMPTE timecodes
+
+Support for SMPTE timecodes was added to the GStreamer video library. This
+comes with an abstraction for timecodes, [`GstVideoTimeCode`][video-timecode]
+and a [`GstMeta`][video-timecode-meta] that can be placed on video buffers for
+carrying the timecode information for each frame. Additionally there is
+various API for making handling of timecodes easy and to do various
+calculations with them.
+
+A new plugin called [`timecode`][timecode-plugin] was added, that contains an
+element called `timecodestamper` for putting the timecode meta on video frames
+based on counting the frames and another element called `timecodewait` that
+drops all video (and audio) until a specific timecode is reached.
+
+Additionally support was added to the Decklink plugin for including the
+timecode information when sending video out or capturing it via SDI, the
+`qtmux` element is able to write timecode information into the MOV container,
+and the `timeoverlay` element can overlay timecodes on top of the video.
+
+More information can be found in the [talk about timecodes][timecode-talk] at
+the GStreamer Conference 2016.
+
+[video-timecode]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideo.html#GstVideoTimeCode
+[video-timecode-meta]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideometa.html#gst-buffer-add-video-time-code-meta
+[timecode-plugin]: https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/gst/timecode
+[timecode-talk]: https://gstconf.ubicast.tv/videos/smpte-timecodes-in-gstreamer/
+
+#### GStreamer OpenMAX IL plugin
+
+The last gst-omx release, 1.2.0, was in July 2014. It was about time to get
+a new one out with all the improvements that have happened in the meantime.
+From now on, we will try to release gst-omx together with all other modules.
+
+This release features a lot of bugfixes, improved support for the Raspberry Pi
+and in general improved support for zerocopy rendering via EGL and a few minor
+new features.
+
+At this point, gst-omx is known to work best on the Raspberry Pi platform but
+it is also known to work on various other platforms. Unfortunately, we are
+not including configurations for any other platforms, so if you happen to use
+gst-omx: please send us patches with your configuration and code changes!
+
+### New Elements
+
+#### decodebin3, playbin3, parsebin (experimental)
+
+This release features new decoding and playback elements as experimental
+technology previews: `decodebin3` and `playbin3` will soon supersede the
+existing `decodebin` and `playbin` elements. We skipped the number 2 because
+it was already used back in the 0.10 days, which might cause confusion.
+Experimental technology preview means that everything should work fine already,
+but we can't guarantee there won't be minor behavioural changes in the
+next cycle. In any case, please test and report any problems back.
+
+Before we go into detail about what these new elements improve, let's look at
+the new [`parsebin`][parsebin] element. It works similarly to `decodebin` and
+`decodebin3`, only that it stops one step short and does not plug any actual
+decoder elements. It will only plug parsers, tag readers, demuxers and
+depayloaders. Also note that parsebin does not contain any queueing element.
+
+[`decodebin3`'s][decodebin3] internal architecture is slightly different from
+the existing `decodebin` element and fixes many long-standing issues with our
+decoding engine. For one, data is now fed into the internal `multiqueue` element
+*after* it has been parsed and timestamped, which means that the `multiqueue`
+element now has more knowledge and is able to calculate the interleaving of the
+various streams, thus minimizing memory requirements and doing away with magic
+values for buffering limits that were conceived when videos were 240p or 360p.
+Anyone who has tried to play back 4k video streams with decodebin2
+will have noticed the limitations of that approach. The improved timestamp
+tracking also enables `multiqueue` to keep streams of the same type (audio,
+video) aligned better, making sure switching between streams of the same type
+is very fast.
+
+Another major improvement in `decodebin3` is that it will no longer decode
+streams that are not being used. With the old `decodebin` and `playbin`, when
+there were 8 audio streams we would always decode all 8 streams even
+if 7 were not actually used. This caused a lot of CPU overhead, which was
+particularly problematic on embedded devices. When switching between streams
+`decodebin3` will try hard to re-use existing decoders. This is useful when
+switching between multiple streams of the same type if they are encoded in the
+same format.
+
+Re-using decoders is also useful when the available streams change on the fly,
+as might happen with radio streams (chained Oggs), digital television
+broadcasts, when adaptive streaming streams change bitrate, or when switching
+gaplessly to the next title. In order to guarantee a seamless transition, the
+old `decodebin2` would plug a second decoder for the new stream while finishing
+up the old stream. With `decodebin3`, this is no longer needed - at least not
+when the new and old format are the same. This will be particularly useful
+on embedded systems where it is often not possible to run multiple decoders
+at the same time, or when tearing down and setting up decoders is fairly
+expensive.
+
+`decodebin3` also allows for multiple input streams, not just a single one.
+This will be useful, in the future, for gapless playback, or for feeding
+multiple external subtitle streams to decodebin/playbin.
+
+`playbin3` uses `decodebin3` internally, and will supercede `playbin`.
+It was decided that it would be too risky to make the old `playbin` use the
+new `decodebin3` in a backwards-compatible way. The new architecture
+makes it awkward, if not impossible, to maintain perfect backwards compatibility
+in some aspects, hence `playbin3` was born, and developers can migrate to the
+new element and new API at their own pace.
+
+All of these new elements make use of the new `GstStream` API for listing and
+selecting streams, as described above. `parsebin` provides backwards
+compatibility for demuxers and parsers which do not advertise their streams
+using the new API yet (which is most).
+
+The new elements are not entirely feature-complete yet: `playbin3` does not
+support so-called decodersinks yet where the data is not decoded inside
+GStreamer but passed directly for decoding to the sink. `decodebin3` is missing
+the various `autoplug-*` signals to influence which decoders get autoplugged
+in which order. We're looking to add back this functionality, but it will probably
+be in a different way, with a single unified signal and using GstStream perhaps.
+
+For more information on these new elements, check out Edward Hervey's talk
+[*decodebin3 - dealing with modern playback use cases*][db3-talk]
+
+[parsebin]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-parsebin.html
+[decodebin3]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-decodebin3.html
+[db3-talk]: https://gstconf.ubicast.tv/videos/decodebin3-or-dealing-with-modern-playback-use-cases/
+
+#### LV2 ported from 0.10 and switched from slv2 to lilv2
+
+The LV2 wrapper plugin has been ported to 1.0 and moved from using the
+deprecated slv2 library to its replacement liblv2. We support sources and
+filter elements. lv2 is short for *Linux Audio Developer's Simple Plugin API
+(LADSPA) version 2* and is an open standard for audio plugins which includes
+support for audio synthesis (generation), digital signal processing of digital
+audio, and MIDI. The new lv2 plugin supersedes the existing LADSPA plugin.
+
+#### WebRTC DSP Plugin for echo-cancellation, gain control and noise suppression
+
+A set of new elements ([webrtcdsp][webrtcdsp], [webrtcechoprobe][webrtcechoprobe])
+based on the WebRTC DSP software stack can now be used to improve your audio
+voice communication pipelines. They support echo cancellation, gain control,
+noise suppression and more. For more details you may read
+[Nicolas' blog post][webrtc-blog-post].
+
+[webrtcdsp]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-plugins/html/gst-plugins-bad-plugins-webrtcdsp.html
+[webrtcechoprobe]: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-plugins/html/gst-plugins-bad-plugins-webrtcechoprobe.html
+[webrtc-blog-post]: https://ndufresne.ca/2016/06/gstreamer-echo-canceller/
+
+#### Fraunhofer FDK AAC encoder and decoder
+
+New encoder and decoder elements wrapping the Fraunhofer FDK AAC library have
+been added (`fdkaacdec`, `fdkaacdec`). The Fraunhofer FDK AAC encoder is
+generally considered to be a very high-quality AAC encoder, but unfortunately
+it comes under a non-free license with the option to obtain a paid, commercial
+license.
+
+### Noteworthy element features and additions
+
+#### Major RTP and RTSP improvements
+
+- The RTSP server and source element, as well as the RTP jitterbuffer now support
+ remote clock synchronization according to [RFC7273][https://tools.ietf.org/html/rfc7273].
+- Support for application and profile specific RTCP packets was added.
+- The H265/HEVC payloader/depayloader is again in sync with the final RFC.
+- Seeking stability of the RTSP source and server was improved a lot and
+ runs stably now, even when doing scrub-seeking.
+- The RTSP server received various major bugfixes, including for regressions that
+ caused the IP/port address pool to not be considered, or NAT hole punching
+ to not work anymore. [Bugzilla #766612][https://bugzilla.gnome.org/show_bug.cgi?id=766612]
+- Various other bugfixes that improve the stability of RTP and RTSP, including
+ many new unit / integration tests.
+
+#### Improvements to splitmuxsrc and splitmuxsink
+
+- The splitmux element received reliability and error handling improvements,
+ removing at least one deadlock case. `splitmuxsrc` now stops cleanly at the end
+ of the segment when handling seeks with a stop time. We fixed a bug with large
+ amounts of downstream buffering causing incorrect out-of-sequence playback.
+
+- `splitmuxsrc` now has a `"format-location"` signal to directly specify the list
+ of files to play from.
+
+- `splitmuxsink` can now optionally send force-keyunit events to upstream
+ elements to allow splitting files more accurately instead of having to wait
+ for upstream to provide a new keyframe by itself.
+
+#### OpenGL/GLES improvements
+
+##### iOS and macOS (OS/X)
+
+- We now create OpenGL|ES 3.x contexts on iOS by default with a fallback to
+ OpenGL|ES 2.x if that fails.
+- Various zerocopy decoding fixes and enhancements with the
+ encoding/decoding/capturing elements.
+- libdispatch is now used on all Apple platforms instead of GMainLoop, removing
+ the expensive poll()/pthread_*() overhead.
+
+##### New API
+
+- `GstGLFramebuffer` - for wrapping OpenGL frame buffer objects. It provides
+ facilities for attaching `GstGLMemory` objects to the necessary attachment
+ points, binding and unbinding and running a user-supplied function with the
+ framebuffer bound.
+- `GstGLRenderbuffer` (a `GstGLBaseMemory` subclass) - for wrapping OpenGL
+ render buffer objects that are typically used for depth/stencil buffers or
+ for color buffers where we don't care about the output.
+- `GstGLMemoryEGL` (a `GstGLMemory` subclass) - for combining `EGLImage`s with a GL
+ texture that replaces `GstEGLImageMemory` bringing the improvements made to the
+ other `GstGLMemory` implementations. This fixes a performance regression in
+ zerocopy decoding on the Raspberry Pi when used with an updated gst-omx.
+
+##### Miscellaneous improvements
+
+- `gltestsrc` is now usable on devices/platforms with OpenGL 3.x and OpenGL|ES
+ and has completed or gained support for new patterns in line with the
+ existing ones in `videotestsrc`.
+- `gldeinterlace` is now available on devices/platforms with OpenGL|ES
+ implementations.
+- The dispmanx backend (used on the Raspberry Pi) now supports the
+ `gst_video_overlay_set_window_handle()` and
+ `gst_video_overlay_set_render_rectangle()` functions.
+- The `gltransformation` element now correctly transforms mouse coordinates (in
+ window space) to stream coordinates for both perspective and orthographic
+ projections.
+- The `gltransformation` element now detects if the
+ `GstVideoAffineTransformationMeta` is supported downstream and will efficiently
+ pass its transformation downstream. This is a performance improvement as it
+ results in less processing being required.
+- The wayland implementation now uses the multi-threaded safe event-loop API
+ allowing correct usage in applications that call wayland functions from
+ multiple threads.
+- Support for native 90 degree rotations and horizontal/vertical flips
+ in `glimagesink`.
+
+#### Vulkan
+
+- The Vulkan elements now work under Wayland and have received numerous
+ bugfixes.
+
+#### QML elements
+
+- `qmlglsink` video sink now works on more platforms, notably, Windows, Wayland,
+ and Qt's eglfs (for embedded devices with an OpenGL implementation) including
+ the Raspberry Pi.
+- New element `qmlglsrc` to record a QML scene into a GStreamer pipeline.
+
+#### KMS video sink
+
+- New element `kmssink` to render video using Direct Rendering Manager
+ (DRM) and Kernel Mode Setting (KMS) subsystems in the Linux
+ kernel. It is oriented to be used mostly in embedded systems.
+
+#### Wayland video sink
+
+- `waylandsink` now supports the wl_viewporter extension allowing
+ video scaling and cropping to be delegated to the Wayland
+ compositor. This extension is also been made optional, so that it can
+ also work on current compositors that don't support it. It also now has
+ support for the video meta, allowing zero-copy operations in more
+ cases.
+
+#### DVB improvements
+
+- `dvbsrc` now has better delivery-system autodetection and several
+ new parameter sanity-checks to improve its resilience to configuration
+ omissions and errors. Superfluous polling continues to be trimmed down,
+ and the debugging output has been made more consistent and precise.
+ Additionally, the channel-configuration parser now supports the new dvbv5
+ format, enabling `dvbbasebin` to automatically playback content transmitted
+ on delivery systems that previously required manual description, like ISDB-T.
+
+#### DASH, HLS and adaptivedemux
+
+- HLS now has support for Alternate Rendition audio and video tracks. Full
+ support for Alternate Rendition subtitle tracks will be in an upcoming release.
+- DASH received support for keyframe-only trick modes if the
+ `GST_SEEK_FLAG_TRICKMODE_KEY_UNITS` flag is given when seeking. It will
+ only download keyframes then, which should help with high-speed playback.
+ Changes to skip over multiple frames based on bandwidth and other metrics
+ will be added in the near future.
+- Lots of reliability fixes around seek handling and bitrate switching.
+
+#### Bluetooth improvements
+
+- The `avdtpsrc` element now supports metadata such as track title, artist
+ name, and more, which devices can send via AVRCP. These are published as
+ tags on the pipeline.
+- The `a2dpsink` element received some love and was cleaned up so that it
+ actually works after the initial GStreamer 1.0 port.
+
+#### GStreamer VAAPI
+
+- All the decoders have been split, one plugin feature per codec. So
+ far, the available ones, depending on the driver, are:
+ `vaapimpeg2dec`, `vaapih264dec`, `vaapih265dec`, `vaapivc1dec`, `vaapivp8dec`,
+ `vaapivp9dec` and `vaapijpegdec` (which already was split).
+- Improvements when mapping VA surfaces into memory. It now differentiates
+ between negotiation caps and allocations caps, since the allocation
+ memory for surfaces may be bigger than one that is going to be
+ mapped.
+- `vaapih265enc` now supports constant bitrate mode (CBR).
+- Since several VA drivers are unmaintained, we decide to keep a whitelist
+ with the va drivers we actually test, which is mostly the i915 and to a lesser
+ degree gallium from the mesa project. Exporting the environment variable
+ `GST_VAAPI_ALL_DRIVERS` disables the whitelist.
+- Plugin features are registered at run-time, according to their support by
+ the loaded VA driver. So only the decoders and encoder supported by the
+ system are registered. Since the driver can change, some dependencies are
+ tracked to invalidate the GStreamer registry and reload the plugin.
+- `dmabuf` importation from upstream has been improved, gaining performance.
+- `vaapipostproc` now can negotiate buffer transformations via caps.
+- Decoders now can do I-frame only reverse playback. This decodes I-frames
+ only because the surface pool is smaller than the required by the GOP to show all the
+ frames.
+- The upload of frames onto native GL textures has been optimized too, keeping
+ a cache of the internal structures for the offered textures by the sink.
+
+#### V4L2 changes
+
+- More pixels formats are now supported
+- Decoder is now using `G_SELECTION` instead of the deprecated `G_CROP`
+- Decoder now uses the `STOP` command to handle EOS
+- Transform element can now scale the pixel aspect ratio
+- Colorimetry support has been improved even more
+- We now support the `OUTPUT_OVERLAY` type of video node in v4l2sink
+
+#### Miscellaneous
+
+- `multiqueue`'s input pads gained a new `"group-id"` property which
+ can be used to group input streams. Typically one will assign
+ different id numbers to audio, video and subtitle streams for
+ example. This way `multiqueue` can make sure streams of the same
+ type advance in lockstep if some of the streams are unlinked and the
+ `"sync-by-running-time"` property is set. This is used in
+ decodebin3/playbin3 to implement almost-instantaneous stream
+ switching. The grouping is required because different downstream
+ paths (audio, video, etc.) may have different buffering/latency
+ etc. so might be consuming data from multiqueue with a slightly
+ different phase, and if we track different stream groups separately
+ we minimize stream switching delays and buffering inside the
+ `multiqueue`.
+- `alsasrc` now supports ALSA drivers without a position for each
+ channel, this is common in some professional or industrial hardware.
+- `libvpx` based decoders (`vp8dec` and `vp9dec`) now create multiple threads on
+ computers with multiple CPUs automatically.
+- `rfbsrc` - used for capturing from a VNC server - has seen a lot of
+ debugging. It now supports the latest version of the RFB
+ protocol and uses GIO everywhere.
+- `tsdemux` can now read ATSC E-AC-3 streams.
+- New `GstVideoDirection` video orientation interface for rotating, flipping
+ and mirroring video in 90° steps. It is implemented by the `videoflip` and
+ `glvideoflip` elements currently.
+- It is now possible to give `appsrc` a duration in time, and there is now a
+ non-blocking try-pull API for `appsink` that returns NULL if nothing is
+ available right now.
+- `x264enc` has support now for chroma-site and colorimetry settings
+- A new JPEG2000 parser element was added, and the JPEG2000 caps were cleaned
+ up and gained more information needed in combination with RTP and various
+ container formats.
+- Reverse playback support for `videorate` and `deinterlace` was implemented
+- Various improvements everywhere for reverse playback and `KEY_UNITS` trick mode
+- New cleaned up `rawaudioparse` and `rawvideoparse` elements that replace the
+ old `audioparse` and `videoparse` elements. There are compatibility element
+ factories registered with the old names to allow existing code to continue
+ to work.
+- The Decklink plugin gained support for 10 bit video SMPTE timecodes, and
+ generally got many bugfixes for various issues.
+- New API in `GstPlayer` for setting the multiview mode for stereoscopic
+ video, setting an HTTP/RTSP user agent and a time offset between audio and
+ video. In addition to that, there were various bugfixes and the new
+ gst-examples module contains Android, iOS, GTK+ and Qt example applications.
+- `GstBin` has new API for suppressing various `GstElement` or `GstObject`
+ flags that would otherwise be affected by added/removed child elements. This
+ new API allows `GstBin` subclasses to handle for themselves if they
+ should be considered a sink or source element, for example.
+- The `subparse` element can handle WebVTT streams now.
+- A new `sdpsrc` element was added that can read an SDP from a file, or get it
+ as a string as property and then sets up an RTP pipeline accordingly.
+
+### Plugin moves
+
+No plugins were moved this cycle. We'll make up for it next cycle, promise!
+
+### Rewritten memory leak tracer
+
+GStreamer has had basic functionality to trace allocation and freeing of
+both mini-objects (buffers, events, caps, etc.) and objects in the form of the
+internal `GstAllocTrace` tracing system. This API was never exposed in the
+1.x API series though. When requested, this would dump a list of objects and
+mini-objects at exit time which had still not been freed at that point,
+enabled with an environment variable. This subsystem has now been removed
+in favour of a new implementation based on the recently-added tracing framework.
+
+Tracing hooks have been added to trace the creation and destruction of
+GstObjects and mini-objects, and a new tracer plugin has been written using
+those new hooks to track which objects are still live and which are not. If
+GStreamer has been compiled against the libunwind library, the new leaks tracer
+will remember where objects were allocated from as well. By default the leaks
+tracer will simply output a warning if leaks have been detected on `gst_deinit()`.
+
+If the `GST_LEAKS_TRACER_SIG` environment variable is set, the leaks tracer
+will also handle the following UNIX signals:
+
+ - `SIGUSR1`: log alive objects
+ - `SIGUSR2`: create a checkpoint and print a list of objects created and
+ destroyed since the previous checkpoint.
+
+Unfortunately this will not work on Windows due to no signals, however.
+
+If the `GST_LEAKS_TRACER_STACK_TRACE` environment variable is set, the leaks
+tracer will also log the creation stack trace of leaked objects. This may
+significantly increase memory consumption however.
+
+New `MAY_BE_LEAKED` flags have been added to GstObject and GstMiniObject, so
+that objects and mini-objects that are likely to stay around forever can be
+flagged and blacklisted from the leak output.
+
+To give the new leak tracer a spin, simply call any GStreamer application such
+as `gst-launch-1.0` or `gst-play-1.0` like this:
+
+ GST_TRACERS=leaks gst-launch-1.0 videotestsrc num-buffers=10 ! fakesink
+
+If there are any leaks, a warning will be raised at the end.
+
+It is also possible to trace only certain types of objects or mini-objects:
+
+ GST_TRACERS="leaks(GstEvent,GstMessage)" gst-launch-1.0 videotestsrc num-buffers=10 ! fakesink
+
+This dedicated leaks tracer is much much faster than valgrind since all code is
+executed natively instead of being instrumented. This makes it very suitable
+for use on slow machines or embedded devices. It is however limited to certain
+types of leaks and won't catch memory leaks when the allocation has been made
+via plain old `malloc()` or `g_malloc()` or other means. It will also not trace
+non-GstObject GObjects.
+
+The goal is to enable leak tracing on GStreamer's Continuous-Integration and
+testing system, both for the regular unit tests (make check) and media tests
+(gst-validate), so that accidental leaks in common code paths can be detected
+and fixed quickly.
+
+For more information about the new tracer, check out Guillaume Desmottes's
+["Tracking Memory Leaks"][leaks-talk] talk or his [blog post][leaks-blog] about
+the topic.
+
+[leaks-talk]: https://gstconf.ubicast.tv/videos/tracking-memory-leaks/
+[leaks-blog]: https://blog.desmottes.be/?post/2016/06/20/GStreamer-leaks-tracer
+
+### GES and NLE changes
+
+- Clip priorities are now handled by the layers, and the GESTimelineElement
+ priority property is now deprecated and unused
+- Enhanced (de)interlacing support to always use the `deinterlace` element
+ and expose needed properties to users
+- Allow reusing clips children after removing the clip from a layer
+- We are now testing many more rendering formats in the gst-validate
+ test suite, and failures have been fixed.
+- Also many bugs have been fixed in this cycle!
+
+### GStreamer validate changes
+
+This cycle has been focused on making GstValidate more than just a validating
+tool, but also a tool to help developers debug their GStreamer issues. When
+reporting issues, we try to gather as much information as possible and expose
+it to end users in a useful way. For an example of such enhancements, check out
+Thibault Saunier's [blog post](improving-debugging-gstreamer-validate) about
+the new Not Negotiated Error reporting mechanism.
+
+Playbin3 support has been added so we can run validate tests with `playbin3`
+instead of playbin.
+
+We are now able to properly communicate between `gst-validate-launcher` and
+launched subprocesses with actual IPC between them. That has enabled the test
+launcher to handle failing tests specifying the exact expected issue(s).
+
+[improving-debugging-gstreamer-validate]: https://blogs.s-osg.org/improving-debugging-gstreamer-validate/
+
+### gst-libav changes
+
+gst-libav uses the recently released ffmpeg 3.2 now, which brings a lot of
+improvements and bugfixes from the ffmpeg team in addition to various new
+codec mappings on the GStreamer side and quite a few bugfixes to the GStreamer
+integration to make it more robust.
+
+## Build and Dependencies
+
+### Experimental support for Meson as build system
+
+#### Overview
+
+We have have added support for building GStreamer using the
+[Meson build system][meson]. This is currently experimental, but should work
+fine at least on Linux using the gcc or clang toolchains and on Windows using
+the MingW or MSVC toolchains.
+
+Autotools remains the primary build system for the time being, but we hope to
+someday replace it and will steadily work towards that goal.
+
+More information about the background and implications of all this and where
+we're hoping to go in future with this can be found in [Tim's mail][meson-mail]
+to the gstreamer-devel mailing list.
+
+For more information on Meson check out [these videos][meson-videos] and also
+the [Meson talk][meson-gstconf] at the GStreamer Conference.
+
+Immediate benefits for Linux users are faster builds and rebuilds. At the time
+of writing the Meson build of GStreamer is used by default in GNOME's jhbuild
+system.
+
+The Meson build currently still lacks many of the fine-grained configuration
+options to enable/disable specific plugins. These will be added back in due
+course.
+
+Note: The meson build files are not distributed in the source tarballs, you will
+need to get GStreamer from git if you want try it out.
+
+[meson]: http://mesonbuild.com/
+[meson-mail]: https://lists.freedesktop.org/archives/gstreamer-devel/2016-September/060231.html
+[meson-videos]: http://mesonbuild.com/videos.html
+[meson-gstconf]: https://gstconf.ubicast.tv/videos/gstreamer-development-on-windows-ans-faster-builds-everywhere-with-meson/
+
+#### Windows Visual Studio toolchain support
+
+Windows users might appreciate being able to build GStreamer using the MSVC
+toolchain, which is not possible using autotools. This means that it will be
+possible to debug GStreamer and applications in Visual Studio, for example.
+We require VS2015 or newer for this at the moment.
+
+There are two ways to build GStreamer using the MSVC toolchain:
+
+1. Using the MSVC command-line tools (`cl.exe` etc.) via Meson's "ninja" backend.
+2. Letting Meson's "vs2015" backend generate Visual Studio project files that
+ can be opened in Visual Studio and compiled from there.
+
+This is currently only for adventurous souls though. All the bits are in place,
+but support for all of this has not been merged into GStreamer's cerbero build
+tool yet at the time of writing. This will hopefully happen in the next cycle,
+but for now this means that those wishing to compile GStreamer with MSVC will
+have to get their hands dirty.
+
+There are also no binary SDK builds using the MSVC toolchain yet.
+
+For more information on GStreamer builds using Meson and the Windows toolchain
+check out Nirbheek Chauhan's blog post ["Building and developing GStreamer using Visual Studio"][msvc-blog].
+
+[msvc-blog]: http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html
+
+### Dependencies
+
+#### gstreamer
+
+libunwind was added as an optional dependency. It is used only for debugging
+and tracing purposes.
+
+The `opencv` plugin in gst-plugins-bad can now be built against OpenCV
+version 3.1, previously only 2.3-2.5 were supported.
+
+#### gst-plugins-ugly
+
+- `mpeg2dec` now requires at least libmpeg2 0.5.1 (from 2008).
+
+#### gst-plugins-bad
+
+- `gltransformation` now requires at least graphene 1.4.0.
+
+- `lv2` now plugin requires at least lilv 0.16 instead of slv2.
+
+### Packaging notes
+
+Packagers please note that the `gst/gstconfig.h` public header file in the
+GStreamer core library moved back from being an architecture dependent include
+to being architecture independent, and thus it is no longer installed into
+`$(libdir)/gstreamer-1.0/include/gst` but into the normal include directory
+where it lives happily ever after with all the other public header files. The
+reason for this is that we now check whether the target supports unaligned
+memory access based on predefined compiler macros at compile time instead of
+checking it at configure time.
+
+## Platform-specific improvements
+
+### Android
+
+#### New universal binaries for all supported ABIs
+
+We now provide a "universal" tarball to allow building apps against all the
+architectures currently supported (x86, x86-64, armeabi, armeabi-v7a,
+armeabi-v8a). This is needed for building with recent versions of the Android
+NDK which defaults to building against all supported ABIs. Use [the Android
+player example][android-player-example-build] as a reference for the required
+changes.
+
+[android-player-example-build]: https://cgit.freedesktop.org/gstreamer/gst-examples/commit/playback/player/android?id=a5cdde9119f038a1eb365aca20faa9741a38e788
+
+#### Miscellaneous
+
+- New `ahssrc` element that allows reading the hardware sensors, e.g. compass
+ or accelerometer.
+
+### macOS (OS/X) and iOS
+
+- Support for querying available devices on OS/X via the GstDeviceProvider
+ API was added.
+- It is now possible to create OpenGL|ES 3.x contexts on iOS and use them in
+ combination with the VideoToolbox based decoder element.
+- many OpenGL/GLES improvements, see OpenGL section above
+
+### Windows
+
+- gstconfig.h: Always use dllexport/import on Windows with MSVC
+- Miscellaneous fixes to make libs and plugins compile with the MVSC toolchain
+- MSVC toolchain support (see Meson section above for more details)
+
+## New Modules for Documentation, Examples, Meson Build
+
+Three new git modules have been added recently:
+
+### gst-docs
+
+This is a new module where we will maintain documentation in the markdown
+format.
+
+It contains the former gstreamer.com SDK tutorials which have kindly been made
+available by Fluendo under a Creative Commons license. The tutorials have been
+reviewed and updated for GStreamer 1.x and will be available as part of the
+[official GStreamer documentation][doc] going forward. The old gstreamer.com
+site will then be shut down with redirects pointing to the updated tutorials.
+
+Some of the existing docbook XML-formatted documentation from the GStreamer
+core module such as the *Application Development Manual* and the *Plugin
+Writer's Guide* have been converted to markdown as well and will be maintained
+in the gst-docs module in future. They will be removed from the GStreamer core
+module in the next cycle.
+
+This is just the beginning. Our goal is to provide a more cohesive documentation
+experience for our users going forward, and easier to create and maintain
+documentation for developers. There is a lot more work to do, get in touch if
+you want to help out.
+
+If you encounter any problems or spot any omissions or outdated content in the
+new documentation, please [file a bug in bugzilla][doc-bug] to let us know.
+
+We will probably release gst-docs as a separate tarball for distributions to
+package in the next cycle.
+
+[doc]: http://gstreamer.freedesktop.org/documentation/
+[doc-bug]: https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer&component=documentation
+
+### gst-examples
+
+A new [module][examples-git] has been added for examples. It does not contain
+much yet, currently it only contains a small [http-launch][http-launch] utility
+that serves a pipeline over http as well as various [GstPlayer playback frontends][puis]
+for Android, iOS, Gtk+ and Qt.
+
+More examples will be added over time. The examples in this repository should
+be more useful and more substantial than most of the examples we ship as part
+of our other modules, and also written in a way that makes them good example
+code. If you have ideas for examples, let us know.
+
+No decision has been made yet if this module will be released and/or packaged.
+It probably makes sense to do so though.
+
+[examples-git]: https://cgit.freedesktop.org/gstreamer/gst-examples/tree/
+[http-launch]: https://cgit.freedesktop.org/gstreamer/gst-examples/tree/network/http-launch/
+[puis]: https://cgit.freedesktop.org/gstreamer/gst-examples/tree/playback/player
+
+### gst-build
+
+[gst-build][gst-build-git] is a new meta module to build GStreamer using the
+new Meson build system. This module is not required to build GStreamer with
+Meson, it is merely for convenience and aims to provide a development setup
+similar to the existing `gst-uninstalled` setup.
+
+gst-build makes use of Meson's [subproject feature][meson-subprojects] and sets
+up the various GStreamer modules as subprojects, so they can all be updated and
+built in parallel.
+
+This module is still very new and highly experimental. It should work at least
+on Linux and Windows (OS/X needs some build fixes). Let us know of any issues
+you encounter by popping into the `#gstreamer` IRC channel or by
+[filing a bug][gst-build-bug].
+
+This module will probably not be released or packaged (does not really make sense).
+
+[gst-build-git]: https://cgit.freedesktop.org/gstreamer/gst-build/tree/
+[gst-build-bug]: https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer&component=gst-build
+[meson-subprojects]: https://github.com/mesonbuild/meson/wiki/Subprojects
+
+## Contributors
+
+Aaron Boxer, Aleix Conchillo Flaqué, Alessandro Decina, Alexandru Băluț, Alex
+Ashley, Alex-P. Natsios, Alistair Buxton, Allen Zhang, Andreas Naumann, Andrew
+Eikum, Andy Devar, Anthony G. Basile, Arjen Veenhuizen, Arnaud Vrac, Artem
+Martynovich, Arun Raghavan, Aurélien Zanelli, Barun Kumar Singh, Bernhard
+Miller, Brad Lackey, Branko Subasic, Carlos Garcia Campos, Carlos Rafael
+Giani, Christoffer Stengren, Daiki Ueno, Damian Ziobro, Danilo Cesar Lemes de
+Paula, David Buchmann, Dimitrios Katsaros, Duncan Palmer, Edward Hervey,
+Emmanuel Poitier, Enrico Jorns, Enrique Ocaña González, Fabrice Bellet,
+Florian Zwoch, Florin Apostol, Francisco Velazquez, Frédéric Bertolus, Fredrik
+Fornwall, Gaurav Gupta, George Kiagiadakis, Georg Lippitsch, Göran Jönsson,
+Graham Leggett, Gregoire Gentil, Guillaume Desmottes, Gwang Yoon Hwang, Haakon
+Sporsheim, Haihua Hu, Havard Graff, Heinrich Fink, Hoonhee Lee, Hyunjun Ko,
+Iain Lane, Ian, Ian Jamison, Jagyum Koo, Jake Foytik, Jakub Adam, Jan
+Alexander Steffens (heftig), Jan Schmidt, Javier Martinez Canillas, Jerome
+Laheurte, Jesper Larsen, Jie Jiang, Jihae Yi, Jimmy Ohn, Jinwoo Ahn, Joakim
+Johansson, Joan Pau Beltran, Jonas Holmberg, Jonathan Matthew, Jonathan Roy,
+Josep Torra, Julien Isorce, Jun Ji, Jürgen Slowack, Justin Kim, Kazunori
+Kobayashi, Kieran Bingham, Kipp Cannon, Koop Mast, Kouhei Sutou, Kseniia, Kyle
+Schwarz, Kyungyong Kim, Linus Svensson, Luis de Bethencourt, Marcin Kolny,
+Marcin Lewandowski, Marianna Smidth Buschle, Mario Sanchez Prada, Mark
+Combellack, Mark Nauwelaerts, Martin Kelly, Matej Knopp, Mathieu Duponchelle,
+Mats Lindestam, Matthew Gruenke, Matthew Waters, Michael Olbrich, Michal Lazo,
+Miguel París Díaz, Mikhail Fludkov, Minjae Kim, Mohan R, Munez, Nicola Murino,
+Nicolas Dufresne, Nicolas Huet, Nikita Bobkov, Nirbheek Chauhan, Olivier
+Crête, Paolo Pettinato, Patricia Muscalu, Paulo Neves, Peng Liu, Peter
+Seiderer, Philippe Normand, Philippe Renon, Philipp Zabel, Pierre Lamot, Piotr
+Drąg, Prashant Gotarne, Raffaele Rossi, Ray Strode, Reynaldo H. Verdejo
+Pinochet, Santiago Carot-Nemesio, Scott D Phillips, Sebastian Dröge, Sebastian
+Rasmussen, Sergei Saveliev, Sergey Borovkov, Sergey Mamonov, Sergio Torres
+Soldado, Seungha Yang, sezero, Song Bing, Sreerenj Balachandran, Stefan Sauer,
+Stephen, Steven Hoving, Stian Selnes, Thiago Santos, Thibault Saunier, Thijs
+Vermeir, Thomas Bluemel, Thomas Jones, Thomas Klausner, Thomas Scheuermann,
+Tim-Philipp Müller, Ting-Wei Lan, Tom Schoonjans, Ursula Maplehurst, Vanessa
+Chipirras Navalon, Víctor Manuel Jáquez Leal, Vincent Penquerc'h, Vineeth TM,
+Vivia Nikolaidou, Vootele Vesterblom, Wang Xin-yu (王昕宇), William Manley,
+Wim Taymans, Wonchul Lee, Xabier Rodriguez Calvar, Xavier Claessens, xlazom00,
+Yann Jouanin, Zaheer Abbas Merali
+
+... and many others who have contributed bug reports, translations, sent
+suggestions or helped testing.
+
+## Bugs fixed in 1.10
+
+More than [750 bugs][bugs-fixed-in-1.10] have been fixed during
+the development of 1.10.
+
+This list does not include issues that have been cherry-picked into the
+stable 1.8 branch and fixed there as well, all fixes that ended up in the
+1.8 branch are also included in 1.10.
+
+This list also does not include issues that have been fixed without a bug
+report in bugzilla, so the actual number of fixes is much higher.
+
+[bugs-fixed-in-1.10]: https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Platform&limit=0&list_id=164074&order=bug_id&product=GStreamer&query_format=advanced&resolution=FIXED&target_milestone=1.8.1&target_milestone=1.8.2&target_milestone=1.8.3&target_milestone=1.8.4&target_milestone=1.9.1&target_milestone=1.9.2&target_milestone=1.9.90&target_milestone=1.10.0
+
+## Stable 1.10 branch
+
+After the 1.10.0 release there will be several 1.10.x bug-fix releases which
+will contain bug fixes which have been deemed suitable for a stable branch,
+but no new features or intrusive changes will be added to a bug-fix release
+usually. The 1.10.x bug-fix releases will be made from the git 1.10 branch,
+which is a stable branch.
+
+### 1.10.0
+
+1.10.0 was released on 1st November 2016.
+
+## Known Issues
+
+- iOS builds with iOS 6 SDK and old C++ STL. You need to select iOS 6 instead
+ of 7 or 8 in your projects settings to be able to link applications.
+ [Bug #766366](https://bugzilla.gnome.org/show_bug.cgi?id=766366)
+- Code signing for Apple platforms has some problems currently, requiring
+ manual work to get your application signed. [Bug #771860](https://bugzilla.gnome.org/show_bug.cgi?id=771860)
+- Building applications with Android NDK r13 on Windows does not work. Other
+ platforms and earlier/later versions of the NDK are not affected.
+ [Bug #772842](https://bugzilla.gnome.org/show_bug.cgi?id=772842)
+- The new leaks tracer may deadlock the application (or exhibit other undefined
+ behaviour) when `SIGUSR` handling is enabled via the `GST_LEAKS_TRACER_SIG`
+ environment variable. [Bug #770373](https://bugzilla.gnome.org/show_bug.cgi?id=770373)
+- vp8enc crashes on 32 bit Windows, but was working fine in 1.6. 64 bit Windows is unaffected.
+ [Bug #763663](https://bugzilla.gnome.org/show_bug.cgi?id=763663)
+
+## Schedule for 1.12
+
+Our next major feature release will be 1.12, and 1.11 will be the unstable
+development version leading up to the stable 1.12 release. The development
+of 1.11/1.12 will happen in the git master branch.
+
+The plan for the 1.12 development cycle is yet to be confirmed, but it is
+expected that feature freeze will be around early/mid-January,
+followed by several 1.11 pre-releases and the new 1.12 stable release
+in March.
+
+1.12 will be backwards-compatible to the stable 1.10, 1.8, 1.6, 1.4, 1.2 and
+1.0 release series.
+
+- - -
+
+*These release notes have been prepared by Olivier Crête, Sebastian Dröge,
+Nicolas Dufresne, Edward Hervey, Víctor Manuel Jáquez Leal, Tim-Philipp
+Müller, Reynaldo H. Verdejo Pinochet, Arun Raghavan, Thibault Saunier,
+Jan Schmidt, Wim Taymans, Matthew Waters*
+
+*License: [CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/)*
+
diff --git a/RELEASE b/RELEASE
index e70dea5..a0ba5a9 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,13 +1,15 @@
-Release notes for GStreamer Bad Plugins 1.9.90
+Release notes for GStreamer Bad Plugins 1.10.0
-The GStreamer team is pleased to announce the first release candidate of the
-stable 1.10 release series. The 1.10 release series is adding new features on
-top of the 1.0, 1.2, 1.4, 1.6 and 1.8 series and is part of the API and
-ABI-stable 1.x release series of the GStreamer multimedia framework.
+The GStreamer team is pleased to announce the first release of the new stable
+1.10 release series. The 1.10 release series is adding new features on top of
+the 1.0, 1.2, 1.4, 1.6 and 1.8 series and is part of the API and ABI-stable 1.x
+release series of the GStreamer multimedia framework.
-Binaries for Android, iOS, Mac OS X and Windows will be provided in the next days.
+Binaries for Android, iOS, Mac OS X and Windows will be provided shortly after
+the source release by the GStreamer project during the stable 1.10 release
+series.
"That an accusation?"
@@ -58,29 +60,25 @@
Bugs fixed in this release
- * 738079 : wayland: Destory the scaler interface while finalizing display object
- * 761987 : waylandsink relies on wl_scaler
- * 766018 : gl/dispmanx: Implements set_render_rectangle to adjust the position of window
- * 767422 : kmssink: Uses scaled size to specify input buffer region
- * 767671 : waylandsink: update from scaler protocol to viewporter protocol
- * 768158 : waylandsink : memory leak of gst_wayland_sink_get_caps() and scaler of wldisplay
- * 770146 : kmssink won't compile
- * 770221 : rtponviftimestamp: Implement property " Immediate "
- * 770455 : fdkaacdec: asserts on HE-AAC v2 sample
- * 770925 : qmlglsink: check qt_context_ first in GstQSGTexture::bind()
- * 770933 : srtpenc: deadlock in create_session
- * 771021 : Duplicate GL_CFLAGS in gst-libs/gst/gl/Makefile.am
- * 771023 : tests/examples/gl/clutter/Makefile.am references deprecated variable $(GST_PLUGINS_GL_LIBS)
- * 771198 : mpegtsdemux: Trying to set NULL string on field 'title' on taglist
- * 771382 : dvbsuboverlay: map with READWRITE for overlay blend
- * 771780 : build: add missing $(GST_PLUGINS_BASE_LIBS)
- * 771794 : wayland/Makefile.am: add missing libs
- * 771817 : dx9screencapsrc: throw error for invalid screen index
- * 771871 : lv2 plugin doesn't do processing in case of mono sound
- * 771970 : h265parse: Fix parsing of multiple NALs in the hvcC box
- * 772067 : fdkaacenc: fix enc ! dec case
- * 772108 : fdkaacenc: set framed=true on src caps
- * 772186 : fdkaac: misc memory related fixes
+ * 758717 : bayer: pixel aspect ratio not forwarded when transforming caps
+ * 762717 : mpegtsmux: m2ts-mode crashes (abort)
+ * 769382 : qmlglsink: eglmemory memory leak on rpi
+ * 770528 : tsdemux: add support ATSC EAC3
+ * 770587 : qtkitvideosrc: 'QTKit/QTKit.h' file not found (macOS Sierra)
+ * 772330 : adaptivedemux: Improve bitrate estimation
+ * 772499 : opencv: Fix memory leak by gst_caps_to_string
+ * 772503 : gsttimidity: add support for timidity-0.2.x
+ * 772698 : dispmanx: set_render_rectangle functions is buggy
+ * 772699 : dispmanx: dispmanx_egl_show() should call window_resize() only when there is no render rect is set
+ * 772704 : hlsdemux: fix GstHLSDemuxStream type inheritance
+ * 772706 : adaptivedemux: fix buffer size print format
+ * 772742 : mpegtsdemux: Implement efficient program updates
+ * 773026 : qmlglsink build fails for rpi
+ * 773423 : cerbero: Build fixes on macOS Sierra and Xcode 8
+ * 773540 : dtls: port to OpenSSL 1.1.0
+ * 773635 : hlsdemux: don't try to access non-existant iframe variant
+ * 773720 : directsoundsrc: incorrect cast of WinAPI function argument
+ * 772608 : rpi/dispmanx: Implement gst_video_overlay_set_window_handle() for dispmanx window
==== Download ====
@@ -117,30 +115,25 @@
Contributors to this release
- * Alessandro Decina
- * Alistair Buxton
+ * Arnaud Vrac
+ * Artem Martynovich
* Arun Raghavan
- * Florian Zwoch
- * Graham Leggett
- * Gwang Yoon Hwang
- * Haihua Hu
- * Hyunjun Ko
- * Jan Schmidt
- * Joakim Johansson
- * Julien Isorce
- * Kyungyong Kim
- * Martin Kelly
+ * Daiki Ueno
+ * Edward Hervey
+ * Jimmy Ohn
+ * Joan Pau Beltran
* Matthew Waters
- * Nicolas Dufresne
- * Olivier Crête
- * Philippe Normand
+ * Michael Olbrich
+ * Munez
+ * Nirbheek Chauhan
+ * Reynaldo H. Verdejo Pinochet
* Scott D Phillips
* Sebastian Dröge
- * Sergey Mamonov
+ * Sergey Borovkov
* Thiago Santos
* Thibault Saunier
* Tim-Philipp Müller
* Vincent Penquerc'h
- * Víctor Manuel Jáquez Leal
* Wonchul Lee
+ * sezero
\ No newline at end of file
diff --git a/configure b/configure
index 2508148..7997d3b 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for GStreamer Bad Plug-ins 1.9.90.
+# Generated by GNU Autoconf 2.69 for GStreamer Bad Plug-ins 1.10.0.
#
# Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer>.
#
@@ -591,8 +591,8 @@
# Identity of this package.
PACKAGE_NAME='GStreamer Bad Plug-ins'
PACKAGE_TARNAME='gst-plugins-bad'
-PACKAGE_VERSION='1.9.90'
-PACKAGE_STRING='GStreamer Bad Plug-ins 1.9.90'
+PACKAGE_VERSION='1.10.0'
+PACKAGE_STRING='GStreamer Bad Plug-ins 1.10.0'
PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
PACKAGE_URL=''
@@ -2689,7 +2689,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures GStreamer Bad Plug-ins 1.9.90 to adapt to many kinds of systems.
+\`configure' configures GStreamer Bad Plug-ins 1.10.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -2761,7 +2761,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of GStreamer Bad Plug-ins 1.9.90:";;
+ short | recursive ) echo "Configuration of GStreamer Bad Plug-ins 1.10.0:";;
esac
cat <<\_ACEOF
@@ -3485,7 +3485,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-GStreamer Bad Plug-ins configure 1.9.90
+GStreamer Bad Plug-ins configure 1.10.0
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -4458,7 +4458,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by GStreamer Bad Plug-ins $as_me 1.9.90, which was
+It was created by GStreamer Bad Plug-ins $as_me 1.10.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -5440,7 +5440,7 @@
# Define the identity of the package.
PACKAGE='gst-plugins-bad'
- VERSION='1.9.90'
+ VERSION='1.10.0'
cat >>confdefs.h <<_ACEOF
@@ -5651,9 +5651,9 @@
- PACKAGE_VERSION_MAJOR=$(echo 1.9.90 | cut -d'.' -f1)
- PACKAGE_VERSION_MINOR=$(echo 1.9.90 | cut -d'.' -f2)
- PACKAGE_VERSION_MICRO=$(echo 1.9.90 | cut -d'.' -f3)
+ PACKAGE_VERSION_MAJOR=$(echo 1.10.0 | cut -d'.' -f1)
+ PACKAGE_VERSION_MINOR=$(echo 1.10.0 | cut -d'.' -f2)
+ PACKAGE_VERSION_MICRO=$(echo 1.10.0 | cut -d'.' -f3)
@@ -5664,7 +5664,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
$as_echo_n "checking nano version... " >&6; }
- NANO=$(echo 1.9.90 | cut -d'.' -f4)
+ NANO=$(echo 1.10.0 | cut -d'.' -f4)
if test x"$NANO" = x || test "x$NANO" = "x0" ; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
@@ -10508,10 +10508,10 @@
done
- GST_CURRENT=990
+ GST_CURRENT=1000
GST_REVISION=0
- GST_AGE=990
- GST_LIBVERSION=990:0:990
+ GST_AGE=1000
+ GST_LIBVERSION=1000:0:1000
@@ -15139,8 +15139,8 @@
-GST_REQ=1.9.90
-GSTPB_REQ=1.9.90
+GST_REQ=1.10.0
+GSTPB_REQ=1.10.0
@@ -61312,7 +61312,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by GStreamer Bad Plug-ins $as_me 1.9.90, which was
+This file was extended by GStreamer Bad Plug-ins $as_me 1.10.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -61378,7 +61378,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-GStreamer Bad Plug-ins config.status 1.9.90
+GStreamer Bad Plug-ins config.status 1.10.0
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 8402afd..676a24a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@
dnl initialize autoconf
dnl when going to/from release please set the nano (fourth number) right !
dnl releases only do Wall, git and prerelease does Werror too
-AC_INIT([GStreamer Bad Plug-ins],[1.9.90],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-bad])
+AC_INIT([GStreamer Bad Plug-ins],[1.10.0],[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, 990, 0, 990)
+AS_LIBTOOL(GST, 1000, 0, 1000)
dnl *** required versions of GStreamer stuff ***
-GST_REQ=1.9.90
-GSTPB_REQ=1.9.90
+GST_REQ=1.10.0
+GSTPB_REQ=1.10.0
dnl *** autotools stuff ****
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 e120295..231b967 100644
--- a/docs/libs/html/gst-plugins-bad-libs-1.0.devhelp2
+++ b/docs/libs/html/gst-plugins-bad-libs-1.0.devhelp2
@@ -1411,6 +1411,7 @@
<keyword type="constant" name="GST_MTS_DESC_ATSC_REDISTRIBUTION_CONTROL" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-REDISTRIBUTION-CONTROL:CAPS"/>
<keyword type="constant" name="GST_MTS_DESC_ATSC_GENRE" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-GENRE:CAPS"/>
<keyword type="constant" name="GST_MTS_DESC_ATSC_PRIVATE_INFORMATION" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-PRIVATE-INFORMATION:CAPS"/>
+ <keyword type="constant" name="GST_MTS_DESC_ATSC_EAC3" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-EAC3:CAPS"/>
<keyword type="constant" name="GST_MTS_DESC_ATSC_ENHANCED_SIGNALING" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-ENHANCED-SIGNALING:CAPS"/>
<keyword type="constant" name="GST_MTS_DESC_ATSC_DATA_SERVICE" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-DATA-SERVICE:CAPS"/>
<keyword type="constant" name="GST_MTS_DESC_ATSC_PID_COUNT" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-PID-COUNT:CAPS"/>
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 d8ac88d..20abc98 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
@@ -138,6 +138,11 @@
<td> </td>
</tr>
<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-ATSC-EAC3:CAPS"></a>GST_MTS_DESC_ATSC_EAC3</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
<td class="enum_member_name"><p><a name="GST-MTS-DESC-ATSC-ENHANCED-SIGNALING:CAPS"></a>GST_MTS_DESC_ATSC_ENHANCED_SIGNALING</p></td>
<td> </td>
<td> </td>
diff --git a/docs/libs/html/gst-plugins-bad-libs-gstplayer.html b/docs/libs/html/gst-plugins-bad-libs-gstplayer.html
index 46959b8..23ffb58 100644
--- a/docs/libs/html/gst-plugins-bad-libs-gstplayer.html
+++ b/docs/libs/html/gst-plugins-bad-libs-gstplayer.html
@@ -1635,6 +1635,7 @@
<pre class="programlisting"><span class="returnvalue">void</span>
gst_player_set_subtitle_uri (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>,
<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>);</pre>
+<p>Sets the external subtitle URI.</p>
<div class="refsect3">
<a name="gst-player-set-subtitle-uri.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1657,11 +1658,6 @@
</tbody>
</table></div>
</div>
-<div class="refsect3">
-<a name="gst-player-set-subtitle-uri.returns"></a><h4>Returns</h4>
-<p> <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
-<p>Sets the external subtitle URI.</p>
-</div>
</div>
<hr>
<div class="refsect2">
diff --git a/docs/libs/html/home.png b/docs/libs/html/home.png
index 4bf6d92..884ce1d 100644
--- a/docs/libs/html/home.png
+++ b/docs/libs/html/home.png
Binary files differ
diff --git a/docs/libs/html/index.html b/docs/libs/html/index.html
index 9ea1815..e389966 100644
--- a/docs/libs/html/index.html
+++ b/docs/libs/html/index.html
@@ -15,7 +15,7 @@
<div>
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GStreamer Bad Plugins 1.0 Library Reference Manual</p></th></tr></table></div>
<div><p class="releaseinfo">
- for GStreamer Bad Library 1.0 (1.9.90)
+ for GStreamer Bad Library 1.0 (1.10.0)
<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/left-insensitive.png b/docs/libs/html/left-insensitive.png
index 82cba0a..148fbff 100644
--- a/docs/libs/html/left-insensitive.png
+++ b/docs/libs/html/left-insensitive.png
Binary files differ
diff --git a/docs/libs/html/left.png b/docs/libs/html/left.png
index 8444ec0..efdeee7 100644
--- a/docs/libs/html/left.png
+++ b/docs/libs/html/left.png
Binary files differ
diff --git a/docs/libs/html/right-insensitive.png b/docs/libs/html/right-insensitive.png
index 7a90b99..ba481f5 100644
--- a/docs/libs/html/right-insensitive.png
+++ b/docs/libs/html/right-insensitive.png
Binary files differ
diff --git a/docs/libs/html/right.png b/docs/libs/html/right.png
index 55f3359..2e537ba 100644
--- a/docs/libs/html/right.png
+++ b/docs/libs/html/right.png
Binary files differ
diff --git a/docs/libs/html/up-insensitive.png b/docs/libs/html/up-insensitive.png
index fdb8cc7..9317461 100644
--- a/docs/libs/html/up-insensitive.png
+++ b/docs/libs/html/up-insensitive.png
Binary files differ
diff --git a/docs/libs/html/up.png b/docs/libs/html/up.png
index c1aad52..5ecf9ab 100644
--- a/docs/libs/html/up.png
+++ b/docs/libs/html/up.png
Binary files differ
diff --git a/docs/plugins/gst-plugins-bad-plugins.hierarchy b/docs/plugins/gst-plugins-bad-plugins.hierarchy
index 2a879f1..48dcb39 100644
--- a/docs/plugins/gst-plugins-bad-plugins.hierarchy
+++ b/docs/plugins/gst-plugins-bad-plugins.hierarchy
@@ -336,6 +336,8 @@
GstId3Mux
GstTeletextDec
GstTimeCodeWait
+ GstTtmlParse
+ GstTtmlRender
GstUvcH264MjpgDemux
GstVideoDecoder
GstLibde265Dec
@@ -463,6 +465,10 @@
MXFMetadataEventTrack
MXFMetadataStaticTrack
MXFMetadataTimelineTrack
+ PangoContext
+ PangoFontMap
+ PangoFcFontMap
+ PangoCairoFcFontMap
GInterface
AtkImplementorIface
GTypePlugin
@@ -477,3 +483,4 @@
GstWaylandVideo
GtkBuildable
MXFDescriptiveMetadataFrameworkInterface
+ PangoCairoFontMap
diff --git a/docs/plugins/gst-plugins-bad-plugins.interfaces b/docs/plugins/gst-plugins-bad-plugins.interfaces
index 53b47ca..617aefa 100644
--- a/docs/plugins/gst-plugins-bad-plugins.interfaces
+++ b/docs/plugins/gst-plugins-bad-plugins.interfaces
@@ -106,5 +106,6 @@
MXFDMS1ProductionClipFramework MXFDescriptiveMetadataFrameworkInterface
MXFDMS1ProductionFramework MXFDescriptiveMetadataFrameworkInterface
MXFDMS1SceneFramework MXFDescriptiveMetadataFrameworkInterface
+PangoCairoFcFontMap PangoCairoFontMap
RsnDvdBin GstChildProxy GstURIHandler
VdpSink GstImplementsInterface GstNavigation GstXOverlay
diff --git a/docs/plugins/gst-plugins-bad-plugins.prerequisites b/docs/plugins/gst-plugins-bad-plugins.prerequisites
index 2a018ad..3c77d7a 100644
--- a/docs/plugins/gst-plugins-bad-plugins.prerequisites
+++ b/docs/plugins/gst-plugins-bad-plugins.prerequisites
@@ -4,3 +4,4 @@
GstWaylandVideo GstVideoOverlay
GtkBuildable GObject
MXFDescriptiveMetadataFrameworkInterface MXFDescriptiveMetadata
+PangoCairoFontMap PangoFontMap
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dvbsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-dvbsrc.html
index 200f335..cbe4127 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dvbsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dvbsrc.html
@@ -445,7 +445,7 @@
<tr>
<td><p><span class="term">author</span></p></td>
<td>P2P-VCR, C-Lab, University of Paderborn, Zaheer Abbas Merali <zaheerabbas at merali dot org>
-Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com></td>
+Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com></td>
</tr>
<tr>
<td><p><span class="term">class</span></p></td>
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 6e327dd..8ff2401 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-aiff.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-aiff.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 ee5d10a..475f3e3 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-assrender.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-assrender.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 d256d43..b4d340d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiomixer.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiomixer.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 d3f4cfb..bdbf62c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiovisualizers.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiovisualizers.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 9722137..8428ce0 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-autoconvert.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-autoconvert.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 2544cc9..58f8a76 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-bayer.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-bayer.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 a76b16a..77b3234 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-bs2b.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-bs2b.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-bz2.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-bz2.html
index a67543f..aa7abe5 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-bz2.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-bz2.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 51b318b..8cd2dc7 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-camerabin.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-camerabin.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 2ba036c..6c4ad4c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-coloreffects.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-coloreffects.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 148e9a6..f977098 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-curl.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-curl.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 ed4791b..70c84cd 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dataurisrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dataurisrc.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 6275c4f..94872a2 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-debugutilsbad.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-debugutilsbad.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 109c6cc..122b115 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dtsdec.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dtsdec.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 2c53c08..c12bb0c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvb.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvb.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 a2426f3..b793944 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvdspu.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvdspu.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 c035d4b..16d48ab 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-faac.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-faac.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-faad.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-faad.html
index 1fc0441..b67c01f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-faad.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-faad.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 1d1fb62..0bec728 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-festival.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-festival.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 6d0882f..4b5b5c9 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-gaudieffects.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-gaudieffects.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 b98cdc8..6670f3f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-geometrictransform.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-geometrictransform.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 f311365..6c2ca9e 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-gsm.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-gsm.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 ae48467..5430eb8 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-jpegformat.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-jpegformat.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 7269da0..99501fc 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mimic.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mimic.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 56ab726..a4f6075 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mms.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mms.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 7ed88c4..4067195 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-modplug.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-modplug.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 49929e9..c619535 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpeg2enc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpeg2enc.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 91fb6c5..87da4c5 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegpsmux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegpsmux.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 03e1d51..712d369 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegtsmux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegtsmux.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 fbf186f..6ff49ff 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mplex.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mplex.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-ofa.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-ofa.html
index 6fc9cbc..75c0fb0 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-ofa.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-ofa.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 0873040..b39d39b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-openal.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-openal.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 0c4871e..9974fce 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-opencv.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-opencv.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-opengl.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-opengl.html
index dcb49bd..c435781 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-opengl.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-opengl.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 c3bb0d8..cfdbb84 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-pcapparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-pcapparse.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 8047c5d..15f244e 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rawparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rawparse.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 2944369..585fee8 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rfbsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rfbsrc.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 cefdd06..3892e51 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rtmp.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rtmp.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 cd13383..646bd3a 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-sdp.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-sdp.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 a164b64..4f83946 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-shm.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-shm.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 77d8ff7..7328634 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-soundtouch.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-soundtouch.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 186f130..7d53c48 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-speed.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-speed.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 a5325a0..d6ccc75 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-voaacenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-voaacenc.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 6a7cae4..47b3db3 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-voamrwbenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-voamrwbenc.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-webrtcdsp.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-webrtcdsp.html
index fcdcb55..8b2f08a 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-webrtcdsp.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-webrtcdsp.html
@@ -42,7 +42,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</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 aa8399c..0aefe5e 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-zbar.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-zbar.html
@@ -41,7 +41,7 @@
</tr>
<tr>
<td><p><span class="term">version</span></p></td>
-<td>1.9.90</td>
+<td>1.10.0</td>
</tr>
<tr>
<td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/home.png b/docs/plugins/html/home.png
index 4bf6d92..884ce1d 100644
--- a/docs/plugins/html/home.png
+++ b/docs/plugins/html/home.png
Binary files differ
diff --git a/docs/plugins/html/index.html b/docs/plugins/html/index.html
index 377c722..62e2a06 100644
--- a/docs/plugins/html/index.html
+++ b/docs/plugins/html/index.html
@@ -15,7 +15,7 @@
<div>
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GStreamer Bad Plugins 1.0 Plugins Reference Manual</p></th></tr></table></div>
<div><p class="releaseinfo">
- for GStreamer Bad Plugins 1.0 (1.9.90)
+ for GStreamer Bad Plugins 1.0 (1.10.0)
The latest version of this documentation can be found on-line at
<a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad/html/</a>.
</p></div>
diff --git a/docs/plugins/html/left-insensitive.png b/docs/plugins/html/left-insensitive.png
index 82cba0a..148fbff 100644
--- a/docs/plugins/html/left-insensitive.png
+++ b/docs/plugins/html/left-insensitive.png
Binary files differ
diff --git a/docs/plugins/html/left.png b/docs/plugins/html/left.png
index 8444ec0..efdeee7 100644
--- a/docs/plugins/html/left.png
+++ b/docs/plugins/html/left.png
Binary files differ
diff --git a/docs/plugins/html/right-insensitive.png b/docs/plugins/html/right-insensitive.png
index 7a90b99..ba481f5 100644
--- a/docs/plugins/html/right-insensitive.png
+++ b/docs/plugins/html/right-insensitive.png
Binary files differ
diff --git a/docs/plugins/html/right.png b/docs/plugins/html/right.png
index 55f3359..2e537ba 100644
--- a/docs/plugins/html/right.png
+++ b/docs/plugins/html/right.png
Binary files differ
diff --git a/docs/plugins/html/up-insensitive.png b/docs/plugins/html/up-insensitive.png
index fdb8cc7..9317461 100644
--- a/docs/plugins/html/up-insensitive.png
+++ b/docs/plugins/html/up-insensitive.png
Binary files differ
diff --git a/docs/plugins/html/up.png b/docs/plugins/html/up.png
index c1aad52..5ecf9ab 100644
--- a/docs/plugins/html/up.png
+++ b/docs/plugins/html/up.png
Binary files differ
diff --git a/docs/plugins/inspect/plugin-accurip.xml b/docs/plugins/inspect/plugin-accurip.xml
index 9729820..5b11dc5 100644
--- a/docs/plugins/inspect/plugin-accurip.xml
+++ b/docs/plugins/inspect/plugin-accurip.xml
@@ -3,7 +3,7 @@
<description>Computes an AccurateRip CRC</description>
<filename>../../gst/accurip/.libs/libgstaccurip.so</filename>
<basename>libgstaccurip.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-adpcmdec.xml b/docs/plugins/inspect/plugin-adpcmdec.xml
index 8181e9d..1d9b04c 100644
--- a/docs/plugins/inspect/plugin-adpcmdec.xml
+++ b/docs/plugins/inspect/plugin-adpcmdec.xml
@@ -3,7 +3,7 @@
<description>ADPCM decoder</description>
<filename>../../gst/adpcmdec/.libs/libgstadpcmdec.so</filename>
<basename>libgstadpcmdec.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-adpcmenc.xml b/docs/plugins/inspect/plugin-adpcmenc.xml
index c72a003..9576c76 100644
--- a/docs/plugins/inspect/plugin-adpcmenc.xml
+++ b/docs/plugins/inspect/plugin-adpcmenc.xml
@@ -3,7 +3,7 @@
<description>ADPCM encoder</description>
<filename>../../gst/adpcmenc/.libs/libgstadpcmenc.so</filename>
<basename>libgstadpcmenc.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-aiff.xml b/docs/plugins/inspect/plugin-aiff.xml
index 7690007..f0d5040 100644
--- a/docs/plugins/inspect/plugin-aiff.xml
+++ b/docs/plugins/inspect/plugin-aiff.xml
@@ -3,7 +3,7 @@
<description>Create and parse Audio Interchange File Format (AIFF) files</description>
<filename>../../gst/aiff/.libs/libgstaiff.so</filename>
<basename>libgstaiff.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-asfmux.xml b/docs/plugins/inspect/plugin-asfmux.xml
index 962c5c2..bac2fec 100644
--- a/docs/plugins/inspect/plugin-asfmux.xml
+++ b/docs/plugins/inspect/plugin-asfmux.xml
@@ -3,7 +3,7 @@
<description>ASF Muxer Plugin</description>
<filename>../../gst/asfmux/.libs/libgstasfmux.so</filename>
<basename>libgstasfmux.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-assrender.xml b/docs/plugins/inspect/plugin-assrender.xml
index 7197bc2..73c64fa 100644
--- a/docs/plugins/inspect/plugin-assrender.xml
+++ b/docs/plugins/inspect/plugin-assrender.xml
@@ -3,7 +3,7 @@
<description>ASS/SSA subtitle renderer</description>
<filename>../../ext/assrender/.libs/libgstassrender.so</filename>
<basename>libgstassrender.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-audiofxbad.xml b/docs/plugins/inspect/plugin-audiofxbad.xml
index 24420b7..b5e2f8f 100644
--- a/docs/plugins/inspect/plugin-audiofxbad.xml
+++ b/docs/plugins/inspect/plugin-audiofxbad.xml
@@ -3,7 +3,7 @@
<description>Audio filters from gst-plugins-bad</description>
<filename>../../gst/audiofxbad/.libs/libgstaudiofxbad.so</filename>
<basename>libgstaudiofxbad.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</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 c4389ac..368778b 100644
--- a/docs/plugins/inspect/plugin-audiomixer.xml
+++ b/docs/plugins/inspect/plugin-audiomixer.xml
@@ -3,7 +3,7 @@
<description>Mixes multiple audio streams</description>
<filename>../../gst/audiomixer/.libs/libgstaudiomixer.so</filename>
<basename>libgstaudiomixer.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-audiovisualizers.xml b/docs/plugins/inspect/plugin-audiovisualizers.xml
index 5eb954a..c56f4fd 100644
--- a/docs/plugins/inspect/plugin-audiovisualizers.xml
+++ b/docs/plugins/inspect/plugin-audiovisualizers.xml
@@ -3,7 +3,7 @@
<description>Creates video visualizations of audio input</description>
<filename>../../gst/audiovisualizers/.libs/libgstaudiovisualizers.so</filename>
<basename>libgstaudiovisualizers.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-autoconvert.xml b/docs/plugins/inspect/plugin-autoconvert.xml
index 3dd5e3c..b7d40f9 100644
--- a/docs/plugins/inspect/plugin-autoconvert.xml
+++ b/docs/plugins/inspect/plugin-autoconvert.xml
@@ -3,7 +3,7 @@
<description>Selects convertor element based on caps</description>
<filename>../../gst/autoconvert/.libs/libgstautoconvert.so</filename>
<basename>libgstautoconvert.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-bayer.xml b/docs/plugins/inspect/plugin-bayer.xml
index be37ae7..2c10c0f 100644
--- a/docs/plugins/inspect/plugin-bayer.xml
+++ b/docs/plugins/inspect/plugin-bayer.xml
@@ -3,7 +3,7 @@
<description>Elements to convert Bayer images</description>
<filename>../../gst/bayer/.libs/libgstbayer.so</filename>
<basename>libgstbayer.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-bluez.xml b/docs/plugins/inspect/plugin-bluez.xml
index 2d82903..b38a754 100644
--- a/docs/plugins/inspect/plugin-bluez.xml
+++ b/docs/plugins/inspect/plugin-bluez.xml
@@ -3,7 +3,7 @@
<description>Bluez-based bluetooth support</description>
<filename>../../sys/bluez/.libs/libgstbluez.so</filename>
<basename>libgstbluez.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-bs2b.xml b/docs/plugins/inspect/plugin-bs2b.xml
index 7730094..2c6ff15 100644
--- a/docs/plugins/inspect/plugin-bs2b.xml
+++ b/docs/plugins/inspect/plugin-bs2b.xml
@@ -3,7 +3,7 @@
<description>Improve headphone listening of stereo audio recordsusing the bs2b library.</description>
<filename>../../ext/bs2b/.libs/libgstbs2b.so</filename>
<basename>libgstbs2b.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-bz2.xml b/docs/plugins/inspect/plugin-bz2.xml
index 2222b52..b1d781b 100644
--- a/docs/plugins/inspect/plugin-bz2.xml
+++ b/docs/plugins/inspect/plugin-bz2.xml
@@ -3,7 +3,7 @@
<description>Compress or decompress streams</description>
<filename>../../ext/bz2/.libs/libgstbz2.so</filename>
<basename>libgstbz2.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-camerabin.xml b/docs/plugins/inspect/plugin-camerabin.xml
index 44328b6..fbb006b 100644
--- a/docs/plugins/inspect/plugin-camerabin.xml
+++ b/docs/plugins/inspect/plugin-camerabin.xml
@@ -3,7 +3,7 @@
<description>Take image snapshots and record movies from camera</description>
<filename>../../gst/camerabin2/.libs/libgstcamerabin2.so</filename>
<basename>libgstcamerabin2.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-chromaprint.xml b/docs/plugins/inspect/plugin-chromaprint.xml
index c1c6339..50848db 100644
--- a/docs/plugins/inspect/plugin-chromaprint.xml
+++ b/docs/plugins/inspect/plugin-chromaprint.xml
@@ -3,7 +3,7 @@
<description>Calculate Chromaprint fingerprint from audio files</description>
<filename>../../ext/chromaprint/.libs/libgstchromaprint.so</filename>
<basename>libgstchromaprint.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-coloreffects.xml b/docs/plugins/inspect/plugin-coloreffects.xml
index 88f560b..c403768 100644
--- a/docs/plugins/inspect/plugin-coloreffects.xml
+++ b/docs/plugins/inspect/plugin-coloreffects.xml
@@ -3,7 +3,7 @@
<description>Color Look-up Table filters</description>
<filename>../../gst/coloreffects/.libs/libgstcoloreffects.so</filename>
<basename>libgstcoloreffects.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-compositor.xml b/docs/plugins/inspect/plugin-compositor.xml
index e062cae..98a5e58 100644
--- a/docs/plugins/inspect/plugin-compositor.xml
+++ b/docs/plugins/inspect/plugin-compositor.xml
@@ -3,7 +3,7 @@
<description>Compositor</description>
<filename>../../gst/compositor/.libs/libgstcompositor.so</filename>
<basename>libgstcompositor.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-curl.xml b/docs/plugins/inspect/plugin-curl.xml
index 3c4d289..8d574f8 100644
--- a/docs/plugins/inspect/plugin-curl.xml
+++ b/docs/plugins/inspect/plugin-curl.xml
@@ -3,7 +3,7 @@
<description>libcurl-based elements</description>
<filename>../../ext/curl/.libs/libgstcurl.so</filename>
<basename>libgstcurl.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-dashdemux.xml b/docs/plugins/inspect/plugin-dashdemux.xml
index 2600781..1c5b496 100644
--- a/docs/plugins/inspect/plugin-dashdemux.xml
+++ b/docs/plugins/inspect/plugin-dashdemux.xml
@@ -3,7 +3,7 @@
<description>DASH demuxer plugin</description>
<filename>../../ext/dash/.libs/libgstdashdemux.so</filename>
<basename>libgstdashdemux.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</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 5b2b024..c0effb4 100644
--- a/docs/plugins/inspect/plugin-dataurisrc.xml
+++ b/docs/plugins/inspect/plugin-dataurisrc.xml
@@ -3,7 +3,7 @@
<description>data: URI source</description>
<filename>../../gst/dataurisrc/.libs/libgstdataurisrc.so</filename>
<basename>libgstdataurisrc.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-dc1394.xml b/docs/plugins/inspect/plugin-dc1394.xml
index ce07d4c..4e096ab 100644
--- a/docs/plugins/inspect/plugin-dc1394.xml
+++ b/docs/plugins/inspect/plugin-dc1394.xml
@@ -3,7 +3,7 @@
<description>1394 IIDC video source</description>
<filename>../../ext/dc1394/.libs/libgstdc1394.so</filename>
<basename>libgstdc1394.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-debugutilsbad.xml b/docs/plugins/inspect/plugin-debugutilsbad.xml
index 6b1cbbf..7b9ea93 100644
--- a/docs/plugins/inspect/plugin-debugutilsbad.xml
+++ b/docs/plugins/inspect/plugin-debugutilsbad.xml
@@ -3,7 +3,7 @@
<description>Collection of elements that may or may not be useful for debugging</description>
<filename>../../gst/debugutils/.libs/libgstdebugutilsbad.so</filename>
<basename>libgstdebugutilsbad.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-decklink.xml b/docs/plugins/inspect/plugin-decklink.xml
index 595f04b..2d3ab73 100644
--- a/docs/plugins/inspect/plugin-decklink.xml
+++ b/docs/plugins/inspect/plugin-decklink.xml
@@ -3,7 +3,7 @@
<description>Blackmagic Decklink plugin</description>
<filename>../../sys/decklink/.libs/libgstdecklink.so</filename>
<basename>libgstdecklink.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins</package>
diff --git a/docs/plugins/inspect/plugin-dfbvideosink.xml b/docs/plugins/inspect/plugin-dfbvideosink.xml
index 6b8aad1..8cff1a0 100644
--- a/docs/plugins/inspect/plugin-dfbvideosink.xml
+++ b/docs/plugins/inspect/plugin-dfbvideosink.xml
@@ -3,7 +3,7 @@
<description>DirectFB video output plugin</description>
<filename>../../ext/directfb/.libs/libgstdfbvideosink.so</filename>
<basename>libgstdfbvideosink.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-dtls.xml b/docs/plugins/inspect/plugin-dtls.xml
index 11e57eb..75ce204 100644
--- a/docs/plugins/inspect/plugin-dtls.xml
+++ b/docs/plugins/inspect/plugin-dtls.xml
@@ -3,7 +3,7 @@
<description>DTLS decoder and encoder plugins</description>
<filename>../../ext/dtls/.libs/libgstdtls.so</filename>
<basename>libgstdtls.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</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 f22f4d4..5c5b600 100644
--- a/docs/plugins/inspect/plugin-dtsdec.xml
+++ b/docs/plugins/inspect/plugin-dtsdec.xml
@@ -3,7 +3,7 @@
<description>Decodes DTS audio streams</description>
<filename>../../ext/dts/.libs/libgstdtsdec.so</filename>
<basename>libgstdtsdec.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</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 496fd3f..aa146f3 100644
--- a/docs/plugins/inspect/plugin-dvb.xml
+++ b/docs/plugins/inspect/plugin-dvb.xml
@@ -3,7 +3,7 @@
<description>DVB elements</description>
<filename>../../sys/dvb/.libs/libgstdvb.so</filename>
<basename>libgstdvb.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
@@ -15,7 +15,7 @@
<class>Source/Bin/Video</class>
<description>Access descramble and split DVB streams</description>
<author>Alessandro Decina <alessandro@nnva.org>
-Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com></author>
+Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com></author>
<pads>
<caps>
<name>src</name>
@@ -37,7 +37,7 @@
<class>Source/Video</class>
<description>Digital Video Broadcast Source</description>
<author>P2P-VCR, C-Lab, University of Paderborn, Zaheer Abbas Merali <zaheerabbas at merali dot org>
-Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com></author>
+Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com></author>
<pads>
<caps>
<name>src</name>
diff --git a/docs/plugins/inspect/plugin-dvbsuboverlay.xml b/docs/plugins/inspect/plugin-dvbsuboverlay.xml
index 67fde65..17d13b4 100644
--- a/docs/plugins/inspect/plugin-dvbsuboverlay.xml
+++ b/docs/plugins/inspect/plugin-dvbsuboverlay.xml
@@ -3,7 +3,7 @@
<description>DVB subtitle renderer</description>
<filename>../../gst/dvbsuboverlay/.libs/libgstdvbsuboverlay.so</filename>
<basename>libgstdvbsuboverlay.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-dvdspu.xml b/docs/plugins/inspect/plugin-dvdspu.xml
index 6a348d3..cf30722 100644
--- a/docs/plugins/inspect/plugin-dvdspu.xml
+++ b/docs/plugins/inspect/plugin-dvdspu.xml
@@ -3,7 +3,7 @@
<description>DVD Sub-picture Overlay element</description>
<filename>../../gst/dvdspu/.libs/libgstdvdspu.so</filename>
<basename>libgstdvdspu.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-faac.xml b/docs/plugins/inspect/plugin-faac.xml
index dc3829d..0fb0ba5 100644
--- a/docs/plugins/inspect/plugin-faac.xml
+++ b/docs/plugins/inspect/plugin-faac.xml
@@ -3,7 +3,7 @@
<description>Free AAC Encoder (FAAC)</description>
<filename>../../ext/faac/.libs/libgstfaac.so</filename>
<basename>libgstfaac.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-faad.xml b/docs/plugins/inspect/plugin-faad.xml
index e0ee1e2..a302a1a 100644
--- a/docs/plugins/inspect/plugin-faad.xml
+++ b/docs/plugins/inspect/plugin-faad.xml
@@ -3,7 +3,7 @@
<description>Free AAC Decoder (FAAD)</description>
<filename>../../ext/faad/.libs/libgstfaad.so</filename>
<basename>libgstfaad.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</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 da67c24..a00e75f 100644
--- a/docs/plugins/inspect/plugin-fbdevsink.xml
+++ b/docs/plugins/inspect/plugin-fbdevsink.xml
@@ -3,7 +3,7 @@
<description>Linux framebuffer video sink</description>
<filename>../../sys/fbdev/.libs/libgstfbdevsink.so</filename>
<basename>libgstfbdevsink.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-fdkaac.xml b/docs/plugins/inspect/plugin-fdkaac.xml
index 4365715..3fc0236 100644
--- a/docs/plugins/inspect/plugin-fdkaac.xml
+++ b/docs/plugins/inspect/plugin-fdkaac.xml
@@ -3,7 +3,7 @@
<description>Fraunhofer FDK AAC Codec plugin</description>
<filename>../../ext/fdkaac/.libs/libgstfdkaac.so</filename>
<basename>libgstfdkaac.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-festival.xml b/docs/plugins/inspect/plugin-festival.xml
index 6b0151d..75e6ee4 100644
--- a/docs/plugins/inspect/plugin-festival.xml
+++ b/docs/plugins/inspect/plugin-festival.xml
@@ -3,7 +3,7 @@
<description>Synthesizes plain text into audio</description>
<filename>../../gst/festival/.libs/libgstfestival.so</filename>
<basename>libgstfestival.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-fieldanalysis.xml b/docs/plugins/inspect/plugin-fieldanalysis.xml
index e7f5c68..fc73f23 100644
--- a/docs/plugins/inspect/plugin-fieldanalysis.xml
+++ b/docs/plugins/inspect/plugin-fieldanalysis.xml
@@ -3,7 +3,7 @@
<description>Video field analysis</description>
<filename>../../gst/fieldanalysis/.libs/libgstfieldanalysis.so</filename>
<basename>libgstfieldanalysis.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</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 92ea44b..8babca5 100644
--- a/docs/plugins/inspect/plugin-flite.xml
+++ b/docs/plugins/inspect/plugin-flite.xml
@@ -3,7 +3,7 @@
<description>Flite speech synthesizer plugin</description>
<filename>../../ext/flite/.libs/libgstflite.so</filename>
<basename>libgstflite.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-fluidsynthmidi.xml b/docs/plugins/inspect/plugin-fluidsynthmidi.xml
index 30d5654..5b63d7a 100644
--- a/docs/plugins/inspect/plugin-fluidsynthmidi.xml
+++ b/docs/plugins/inspect/plugin-fluidsynthmidi.xml
@@ -3,7 +3,7 @@
<description>Fluidsynth MIDI Plugin</description>
<filename>../../ext/fluidsynth/.libs/libgstfluidsynthmidi.so</filename>
<basename>libgstfluidsynthmidi.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-freeverb.xml b/docs/plugins/inspect/plugin-freeverb.xml
index 7acd8b2..4d29137 100644
--- a/docs/plugins/inspect/plugin-freeverb.xml
+++ b/docs/plugins/inspect/plugin-freeverb.xml
@@ -3,7 +3,7 @@
<description>Reverberation/room effect</description>
<filename>../../gst/freeverb/.libs/libgstfreeverb.so</filename>
<basename>libgstfreeverb.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-frei0r.xml b/docs/plugins/inspect/plugin-frei0r.xml
index 622fe38..8eaa2f0 100644
--- a/docs/plugins/inspect/plugin-frei0r.xml
+++ b/docs/plugins/inspect/plugin-frei0r.xml
@@ -3,7 +3,7 @@
<description>frei0r plugin library</description>
<filename>../../gst/frei0r/.libs/libgstfrei0r.so</filename>
<basename>libgstfrei0r.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-gaudieffects.xml b/docs/plugins/inspect/plugin-gaudieffects.xml
index 6156ff5..6aff77a 100644
--- a/docs/plugins/inspect/plugin-gaudieffects.xml
+++ b/docs/plugins/inspect/plugin-gaudieffects.xml
@@ -3,7 +3,7 @@
<description>Gaudi video effects.</description>
<filename>../../gst/gaudieffects/.libs/libgstgaudieffects.so</filename>
<basename>libgstgaudieffects.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</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 041ef87..4c96c3a 100644
--- a/docs/plugins/inspect/plugin-gdp.xml
+++ b/docs/plugins/inspect/plugin-gdp.xml
@@ -3,7 +3,7 @@
<description>Payload/depayload GDP packets</description>
<filename>../../gst/gdp/.libs/libgstgdp.so</filename>
<basename>libgstgdp.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-geometrictransform.xml b/docs/plugins/inspect/plugin-geometrictransform.xml
index 2ab3a93..4bbf732 100644
--- a/docs/plugins/inspect/plugin-geometrictransform.xml
+++ b/docs/plugins/inspect/plugin-geometrictransform.xml
@@ -3,7 +3,7 @@
<description>Various geometric image transform elements</description>
<filename>../../gst/geometrictransform/.libs/libgstgeometrictransform.so</filename>
<basename>libgstgeometrictransform.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-gmedec.xml b/docs/plugins/inspect/plugin-gmedec.xml
index 1f7b6bd..b90a0ce 100644
--- a/docs/plugins/inspect/plugin-gmedec.xml
+++ b/docs/plugins/inspect/plugin-gmedec.xml
@@ -3,7 +3,7 @@
<description>GME Audio Decoder</description>
<filename>../../ext/gme/.libs/libgstgme.so</filename>
<basename>libgstgme.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-gsm.xml b/docs/plugins/inspect/plugin-gsm.xml
index 11d0a92..4dc669d 100644
--- a/docs/plugins/inspect/plugin-gsm.xml
+++ b/docs/plugins/inspect/plugin-gsm.xml
@@ -3,7 +3,7 @@
<description>GSM encoder/decoder</description>
<filename>../../ext/gsm/.libs/libgstgsm.so</filename>
<basename>libgstgsm.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-gstgtk.xml b/docs/plugins/inspect/plugin-gstgtk.xml
index 90999f5..995b6a3 100644
--- a/docs/plugins/inspect/plugin-gstgtk.xml
+++ b/docs/plugins/inspect/plugin-gstgtk.xml
@@ -3,7 +3,7 @@
<description>Gtk+ sink</description>
<filename>../../ext/gtk/.libs/libgstgtksink.so</filename>
<basename>libgstgtksink.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-gstsiren.xml b/docs/plugins/inspect/plugin-gstsiren.xml
index d18d8e5..a84232d 100644
--- a/docs/plugins/inspect/plugin-gstsiren.xml
+++ b/docs/plugins/inspect/plugin-gstsiren.xml
@@ -3,7 +3,7 @@
<description>Siren encoder/decoder/payloader/depayloader plugins</description>
<filename>../../gst/siren/.libs/libgstsiren.so</filename>
<basename>libgstsiren.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-hls.xml b/docs/plugins/inspect/plugin-hls.xml
index ffdfbaa..483408a 100644
--- a/docs/plugins/inspect/plugin-hls.xml
+++ b/docs/plugins/inspect/plugin-hls.xml
@@ -3,7 +3,7 @@
<description>HTTP Live Streaming (HLS)</description>
<filename>../../ext/hls/.libs/libgsthls.so</filename>
<basename>libgsthls.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</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 5b28a22..fc96b17 100644
--- a/docs/plugins/inspect/plugin-id3tag.xml
+++ b/docs/plugins/inspect/plugin-id3tag.xml
@@ -3,7 +3,7 @@
<description>ID3 v1 and v2 muxing plugin</description>
<filename>../../gst/id3tag/.libs/libgstid3tag.so</filename>
<basename>libgstid3tag.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-inter.xml b/docs/plugins/inspect/plugin-inter.xml
index c672970..67cfc9c 100644
--- a/docs/plugins/inspect/plugin-inter.xml
+++ b/docs/plugins/inspect/plugin-inter.xml
@@ -3,7 +3,7 @@
<description>plugin for inter-pipeline communication</description>
<filename>../../gst/inter/.libs/libgstinter.so</filename>
<basename>libgstinter.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</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 cfb1597..e248900 100644
--- a/docs/plugins/inspect/plugin-interlace.xml
+++ b/docs/plugins/inspect/plugin-interlace.xml
@@ -3,7 +3,7 @@
<description>Create an interlaced video stream</description>
<filename>../../gst/interlace/.libs/libgstinterlace.so</filename>
<basename>libgstinterlace.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-ivfparse.xml b/docs/plugins/inspect/plugin-ivfparse.xml
index 283c6d5..1aca419 100644
--- a/docs/plugins/inspect/plugin-ivfparse.xml
+++ b/docs/plugins/inspect/plugin-ivfparse.xml
@@ -3,7 +3,7 @@
<description>IVF parser</description>
<filename>../../gst/ivfparse/.libs/libgstivfparse.so</filename>
<basename>libgstivfparse.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-ivtc.xml b/docs/plugins/inspect/plugin-ivtc.xml
index d5f5ee3..bee5c5b 100644
--- a/docs/plugins/inspect/plugin-ivtc.xml
+++ b/docs/plugins/inspect/plugin-ivtc.xml
@@ -3,7 +3,7 @@
<description>Inverse Telecine</description>
<filename>../../gst/ivtc/.libs/libgstivtc.so</filename>
<basename>libgstivtc.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</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 14d2946..9be52e4 100644
--- a/docs/plugins/inspect/plugin-jp2kdecimator.xml
+++ b/docs/plugins/inspect/plugin-jp2kdecimator.xml
@@ -3,7 +3,7 @@
<description>JPEG2000 decimator</description>
<filename>../../gst/jp2kdecimator/.libs/libgstjp2kdecimator.so</filename>
<basename>libgstjp2kdecimator.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-jpegformat.xml b/docs/plugins/inspect/plugin-jpegformat.xml
index 3ee62d4..f915f49 100644
--- a/docs/plugins/inspect/plugin-jpegformat.xml
+++ b/docs/plugins/inspect/plugin-jpegformat.xml
@@ -3,7 +3,7 @@
<description>JPEG interchange format plugin</description>
<filename>../../gst/jpegformat/.libs/libgstjpegformat.so</filename>
<basename>libgstjpegformat.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-kate.xml b/docs/plugins/inspect/plugin-kate.xml
index 0d2f12f..db6297b 100644
--- a/docs/plugins/inspect/plugin-kate.xml
+++ b/docs/plugins/inspect/plugin-kate.xml
@@ -3,7 +3,7 @@
<description>Kate plugin</description>
<filename>../../ext/kate/.libs/libgstkate.so</filename>
<basename>libgstkate.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-ladspa.xml b/docs/plugins/inspect/plugin-ladspa.xml
index 44f1cb5..6845b6b 100644
--- a/docs/plugins/inspect/plugin-ladspa.xml
+++ b/docs/plugins/inspect/plugin-ladspa.xml
@@ -3,7 +3,7 @@
<description>LADSPA plugin</description>
<filename>../../ext/ladspa/.libs/libgstladspa.so</filename>
<basename>libgstladspa.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-libde265.xml b/docs/plugins/inspect/plugin-libde265.xml
index d0ebbd7..930a03e 100644
--- a/docs/plugins/inspect/plugin-libde265.xml
+++ b/docs/plugins/inspect/plugin-libde265.xml
@@ -3,7 +3,7 @@
<description>HEVC/H.265 decoder using libde265</description>
<filename>../../ext/libde265/.libs/libgstlibde265.so</filename>
<basename>libgstlibde265.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-midi.xml b/docs/plugins/inspect/plugin-midi.xml
index eb3c2fb..3bb0798 100644
--- a/docs/plugins/inspect/plugin-midi.xml
+++ b/docs/plugins/inspect/plugin-midi.xml
@@ -3,7 +3,7 @@
<description>Parse MIDI files</description>
<filename>../../gst/midi/.libs/libgstmidi.so</filename>
<basename>libgstmidi.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-mimic.xml b/docs/plugins/inspect/plugin-mimic.xml
index 3f92873..79e8795 100644
--- a/docs/plugins/inspect/plugin-mimic.xml
+++ b/docs/plugins/inspect/plugin-mimic.xml
@@ -3,7 +3,7 @@
<description>Mimic codec</description>
<filename>../../ext/mimic/.libs/libgstmimic.so</filename>
<basename>libgstmimic.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-mms.xml b/docs/plugins/inspect/plugin-mms.xml
index 82e5caf..b81a8eb 100644
--- a/docs/plugins/inspect/plugin-mms.xml
+++ b/docs/plugins/inspect/plugin-mms.xml
@@ -3,7 +3,7 @@
<description>Microsoft Multi Media Server streaming protocol support</description>
<filename>../../ext/libmms/.libs/libgstmms.so</filename>
<basename>libgstmms.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-modplug.xml b/docs/plugins/inspect/plugin-modplug.xml
index 2807757..20f25d6 100644
--- a/docs/plugins/inspect/plugin-modplug.xml
+++ b/docs/plugins/inspect/plugin-modplug.xml
@@ -3,7 +3,7 @@
<description>.MOD audio decoding</description>
<filename>../../ext/modplug/.libs/libgstmodplug.so</filename>
<basename>libgstmodplug.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-mpeg2enc.xml b/docs/plugins/inspect/plugin-mpeg2enc.xml
index ba3edcc..f5c35f5 100644
--- a/docs/plugins/inspect/plugin-mpeg2enc.xml
+++ b/docs/plugins/inspect/plugin-mpeg2enc.xml
@@ -3,7 +3,7 @@
<description>High-quality MPEG-1/2 video encoder</description>
<filename>../../ext/mpeg2enc/.libs/libgstmpeg2enc.so</filename>
<basename>libgstmpeg2enc.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</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 9aaefd1..d662518 100644
--- a/docs/plugins/inspect/plugin-mpegpsdemux.xml
+++ b/docs/plugins/inspect/plugin-mpegpsdemux.xml
@@ -3,7 +3,7 @@
<description>MPEG-PS demuxer</description>
<filename>../../gst/mpegdemux/.libs/libgstmpegpsdemux.so</filename>
<basename>libgstmpegpsdemux.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</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 6d2f3b6..8f6068c 100644
--- a/docs/plugins/inspect/plugin-mpegpsmux.xml
+++ b/docs/plugins/inspect/plugin-mpegpsmux.xml
@@ -3,7 +3,7 @@
<description>MPEG-PS muxer</description>
<filename>../../gst/mpegpsmux/.libs/libgstmpegpsmux.so</filename>
<basename>libgstmpegpsmux.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-mpegtsdemux.xml b/docs/plugins/inspect/plugin-mpegtsdemux.xml
index 21c3f61..a2ad9ee 100644
--- a/docs/plugins/inspect/plugin-mpegtsdemux.xml
+++ b/docs/plugins/inspect/plugin-mpegtsdemux.xml
@@ -3,7 +3,7 @@
<description>MPEG TS demuxer</description>
<filename>../../gst/mpegtsdemux/.libs/libgstmpegtsdemux.so</filename>
<basename>libgstmpegtsdemux.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-mpegtsmux.xml b/docs/plugins/inspect/plugin-mpegtsmux.xml
index 282221d..1eb6cdf 100644
--- a/docs/plugins/inspect/plugin-mpegtsmux.xml
+++ b/docs/plugins/inspect/plugin-mpegtsmux.xml
@@ -3,7 +3,7 @@
<description>MPEG-TS muxer</description>
<filename>../../gst/mpegtsmux/.libs/libgstmpegtsmux.so</filename>
<basename>libgstmpegtsmux.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-mplex.xml b/docs/plugins/inspect/plugin-mplex.xml
index 80e5f10..b220a36 100644
--- a/docs/plugins/inspect/plugin-mplex.xml
+++ b/docs/plugins/inspect/plugin-mplex.xml
@@ -3,7 +3,7 @@
<description>High-quality MPEG/DVD/SVCD/VCD video/audio multiplexer</description>
<filename>../../ext/mplex/.libs/libgstmplex.so</filename>
<basename>libgstmplex.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</version>
<license>GPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-musepack.xml b/docs/plugins/inspect/plugin-musepack.xml
index a72faed..d46512e 100644
--- a/docs/plugins/inspect/plugin-musepack.xml
+++ b/docs/plugins/inspect/plugin-musepack.xml
@@ -3,7 +3,7 @@
<description>Musepack decoder</description>
<filename>../../ext/musepack/.libs/libgstmusepack.so</filename>
<basename>libgstmusepack.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-mxf.xml b/docs/plugins/inspect/plugin-mxf.xml
index 6ad04ae..0eb6136 100644
--- a/docs/plugins/inspect/plugin-mxf.xml
+++ b/docs/plugins/inspect/plugin-mxf.xml
@@ -3,7 +3,7 @@
<description>MXF plugin library</description>
<filename>../../gst/mxf/.libs/libgstmxf.so</filename>
<basename>libgstmxf.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-netsim.xml b/docs/plugins/inspect/plugin-netsim.xml
index 67f751a..5a3a0e3 100644
--- a/docs/plugins/inspect/plugin-netsim.xml
+++ b/docs/plugins/inspect/plugin-netsim.xml
@@ -3,7 +3,7 @@
<description>Network Simulator</description>
<filename>../../gst/netsim/.libs/libgstnetsim.so</filename>
<basename>libgstnetsim.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-ofa.xml b/docs/plugins/inspect/plugin-ofa.xml
index 2a02549..b142347 100644
--- a/docs/plugins/inspect/plugin-ofa.xml
+++ b/docs/plugins/inspect/plugin-ofa.xml
@@ -3,7 +3,7 @@
<description>Calculate MusicIP fingerprint from audio files</description>
<filename>../../ext/ofa/.libs/libgstofa.so</filename>
<basename>libgstofa.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</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 37dea49..4c74d58 100644
--- a/docs/plugins/inspect/plugin-openal.xml
+++ b/docs/plugins/inspect/plugin-openal.xml
@@ -3,7 +3,7 @@
<description>OpenAL plugin library</description>
<filename>../../ext/openal/.libs/libgstopenal.so</filename>
<basename>libgstopenal.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-opencv.xml b/docs/plugins/inspect/plugin-opencv.xml
index 3d26a3a..776f46a 100644
--- a/docs/plugins/inspect/plugin-opencv.xml
+++ b/docs/plugins/inspect/plugin-opencv.xml
@@ -3,7 +3,7 @@
<description>GStreamer OpenCV Plugins</description>
<filename>../../ext/opencv/.libs/libgstopencv.so</filename>
<basename>libgstopencv.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-openexr.xml b/docs/plugins/inspect/plugin-openexr.xml
index 481dbde..158b84e 100644
--- a/docs/plugins/inspect/plugin-openexr.xml
+++ b/docs/plugins/inspect/plugin-openexr.xml
@@ -3,7 +3,7 @@
<description>OpenEXR image plugin</description>
<filename>../../ext/openexr/.libs/libgstopenexr.so</filename>
<basename>libgstopenexr.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-opengl.xml b/docs/plugins/inspect/plugin-opengl.xml
index bb24b3c..7c2d348 100644
--- a/docs/plugins/inspect/plugin-opengl.xml
+++ b/docs/plugins/inspect/plugin-opengl.xml
@@ -3,7 +3,7 @@
<description>OpenGL plugin</description>
<filename>../../ext/gl/.libs/libgstopengl.so</filename>
<basename>libgstopengl.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-openh264.xml b/docs/plugins/inspect/plugin-openh264.xml
index a6d162f..492462b 100644
--- a/docs/plugins/inspect/plugin-openh264.xml
+++ b/docs/plugins/inspect/plugin-openh264.xml
@@ -3,7 +3,7 @@
<description>OpenH264 encoder/decoder plugin</description>
<filename>../../ext/openh264/.libs/libgstopenh264.so</filename>
<basename>libgstopenh264.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</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 55650b7..ed9cfca 100644
--- a/docs/plugins/inspect/plugin-openjpeg.xml
+++ b/docs/plugins/inspect/plugin-openjpeg.xml
@@ -3,7 +3,7 @@
<description>OpenJPEG-based JPEG2000 image decoder/encoder</description>
<filename>../../ext/openjpeg/.libs/libgstopenjpeg.so</filename>
<basename>libgstopenjpeg.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-opusparse.xml b/docs/plugins/inspect/plugin-opusparse.xml
index 7b79224..f265659 100644
--- a/docs/plugins/inspect/plugin-opusparse.xml
+++ b/docs/plugins/inspect/plugin-opusparse.xml
@@ -3,7 +3,7 @@
<description>OPUS parse plugin</description>
<filename>../../ext/opus/.libs/libgstopusparse.so</filename>
<basename>libgstopusparse.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-pcapparse.xml b/docs/plugins/inspect/plugin-pcapparse.xml
index 125a414..621701e 100644
--- a/docs/plugins/inspect/plugin-pcapparse.xml
+++ b/docs/plugins/inspect/plugin-pcapparse.xml
@@ -3,7 +3,7 @@
<description>Element parsing raw pcap streams</description>
<filename>../../gst/pcapparse/.libs/libgstpcapparse.so</filename>
<basename>libgstpcapparse.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</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 63dd52c..cf1e5d9 100644
--- a/docs/plugins/inspect/plugin-pnm.xml
+++ b/docs/plugins/inspect/plugin-pnm.xml
@@ -3,7 +3,7 @@
<description>PNM plugin</description>
<filename>../../gst/pnm/.libs/libgstpnm.so</filename>
<basename>libgstpnm.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-qt.xml b/docs/plugins/inspect/plugin-qt.xml
index 4520a55..db83ede 100644
--- a/docs/plugins/inspect/plugin-qt.xml
+++ b/docs/plugins/inspect/plugin-qt.xml
@@ -3,7 +3,7 @@
<description>Qt gl plugin</description>
<filename>../../ext/qt/.libs/libgstqmlgl.so</filename>
<basename>libgstqmlgl.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-rawparse.xml b/docs/plugins/inspect/plugin-rawparse.xml
index 12561f2..5742d65 100644
--- a/docs/plugins/inspect/plugin-rawparse.xml
+++ b/docs/plugins/inspect/plugin-rawparse.xml
@@ -3,7 +3,7 @@
<description>Parses byte streams into raw frames</description>
<filename>../../gst/rawparse/.libs/libgstrawparse.so</filename>
<basename>libgstrawparse.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-removesilence.xml b/docs/plugins/inspect/plugin-removesilence.xml
index a42f5a1..db1dff4 100644
--- a/docs/plugins/inspect/plugin-removesilence.xml
+++ b/docs/plugins/inspect/plugin-removesilence.xml
@@ -3,7 +3,7 @@
<description>Removes silence from an audio stream</description>
<filename>../../gst/removesilence/.libs/libgstremovesilence.so</filename>
<basename>libgstremovesilence.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-resindvd.xml b/docs/plugins/inspect/plugin-resindvd.xml
index ea7d78d..ceff0be 100644
--- a/docs/plugins/inspect/plugin-resindvd.xml
+++ b/docs/plugins/inspect/plugin-resindvd.xml
@@ -3,7 +3,7 @@
<description>Resin DVD playback elements</description>
<filename>../../ext/resindvd/.libs/libgstresindvd.so</filename>
<basename>libgstresindvd.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</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 4eceeb4..003cdf3 100644
--- a/docs/plugins/inspect/plugin-rfbsrc.xml
+++ b/docs/plugins/inspect/plugin-rfbsrc.xml
@@ -3,7 +3,7 @@
<description>Connects to a VNC server and decodes RFB stream</description>
<filename>../../gst/librfb/.libs/libgstrfbsrc.so</filename>
<basename>libgstrfbsrc.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-rsvg.xml b/docs/plugins/inspect/plugin-rsvg.xml
index 114b381..9e2cfdd 100644
--- a/docs/plugins/inspect/plugin-rsvg.xml
+++ b/docs/plugins/inspect/plugin-rsvg.xml
@@ -3,7 +3,7 @@
<description>RSVG plugin library</description>
<filename>../../ext/rsvg/.libs/libgstrsvg.so</filename>
<basename>libgstrsvg.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-rtmp.xml b/docs/plugins/inspect/plugin-rtmp.xml
index b00032a..178edd2 100644
--- a/docs/plugins/inspect/plugin-rtmp.xml
+++ b/docs/plugins/inspect/plugin-rtmp.xml
@@ -3,7 +3,7 @@
<description>RTMP source and sink</description>
<filename>../../ext/rtmp/.libs/libgstrtmp.so</filename>
<basename>libgstrtmp.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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 0be0859..a5e2c6c 100644
--- a/docs/plugins/inspect/plugin-rtponvif.xml
+++ b/docs/plugins/inspect/plugin-rtponvif.xml
@@ -3,7 +3,7 @@
<description>ONVIF Streaming features</description>
<filename>../../gst/onvif/.libs/libgstrtponvif.so</filename>
<basename>libgstrtponvif.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</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 1fc4802..41d3d37 100644
--- a/docs/plugins/inspect/plugin-sbc.xml
+++ b/docs/plugins/inspect/plugin-sbc.xml
@@ -3,7 +3,7 @@
<description>SBC bluetooth audio support</description>
<filename>../../ext/sbc/.libs/libgstsbc.so</filename>
<basename>libgstsbc.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-schro.xml b/docs/plugins/inspect/plugin-schro.xml
index 895408a..52df29c 100644
--- a/docs/plugins/inspect/plugin-schro.xml
+++ b/docs/plugins/inspect/plugin-schro.xml
@@ -3,7 +3,7 @@
<description>Schroedinger plugin</description>
<filename>../../ext/schroedinger/.libs/libgstschro.so</filename>
<basename>libgstschro.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-sdp.xml b/docs/plugins/inspect/plugin-sdp.xml
index 9213522..783fe11 100644
--- a/docs/plugins/inspect/plugin-sdp.xml
+++ b/docs/plugins/inspect/plugin-sdp.xml
@@ -3,7 +3,7 @@
<description>configure streaming sessions using SDP</description>
<filename>../../gst/sdp/.libs/libgstsdpelem.so</filename>
<basename>libgstsdpelem.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-segmentclip.xml b/docs/plugins/inspect/plugin-segmentclip.xml
index 0ddc74b..927bdbc 100644
--- a/docs/plugins/inspect/plugin-segmentclip.xml
+++ b/docs/plugins/inspect/plugin-segmentclip.xml
@@ -3,7 +3,7 @@
<description>Segment clip elements</description>
<filename>../../gst/segmentclip/.libs/libgstsegmentclip.so</filename>
<basename>libgstsegmentclip.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-shm.xml b/docs/plugins/inspect/plugin-shm.xml
index 6eec4e9..53cc1de 100644
--- a/docs/plugins/inspect/plugin-shm.xml
+++ b/docs/plugins/inspect/plugin-shm.xml
@@ -3,7 +3,7 @@
<description>shared memory sink source</description>
<filename>../../sys/shm/.libs/libgstshm.so</filename>
<basename>libgstshm.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-smooth.xml b/docs/plugins/inspect/plugin-smooth.xml
index b61c704..acc23a0 100644
--- a/docs/plugins/inspect/plugin-smooth.xml
+++ b/docs/plugins/inspect/plugin-smooth.xml
@@ -3,7 +3,7 @@
<description>Apply a smooth filter to an image</description>
<filename>../../gst/smooth/.libs/libgstsmooth.so</filename>
<basename>libgstsmooth.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-smoothstreaming.xml b/docs/plugins/inspect/plugin-smoothstreaming.xml
index 5bdbf5d..56673a9 100644
--- a/docs/plugins/inspect/plugin-smoothstreaming.xml
+++ b/docs/plugins/inspect/plugin-smoothstreaming.xml
@@ -3,7 +3,7 @@
<description>Microsoft's Smooth Streaming format support </description>
<filename>../../ext/smoothstreaming/.libs/libgstsmoothstreaming.so</filename>
<basename>libgstsmoothstreaming.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-sndfile.xml b/docs/plugins/inspect/plugin-sndfile.xml
index e395b55..983d350 100644
--- a/docs/plugins/inspect/plugin-sndfile.xml
+++ b/docs/plugins/inspect/plugin-sndfile.xml
@@ -3,7 +3,7 @@
<description>use libsndfile to read and write various audio formats</description>
<filename>../../ext/sndfile/.libs/libgstsndfile.so</filename>
<basename>libgstsndfile.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-soundtouch.xml b/docs/plugins/inspect/plugin-soundtouch.xml
index d58527a..9ff612e 100644
--- a/docs/plugins/inspect/plugin-soundtouch.xml
+++ b/docs/plugins/inspect/plugin-soundtouch.xml
@@ -3,7 +3,7 @@
<description>Audio Pitch Controller & BPM Detection</description>
<filename>../../ext/soundtouch/.libs/libgstsoundtouch.so</filename>
<basename>libgstsoundtouch.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-spandsp.xml b/docs/plugins/inspect/plugin-spandsp.xml
index 9a28b4d..4820c8f 100644
--- a/docs/plugins/inspect/plugin-spandsp.xml
+++ b/docs/plugins/inspect/plugin-spandsp.xml
@@ -3,7 +3,7 @@
<description>libspandsp plugin</description>
<filename>../../ext/spandsp/.libs/libgstspandsp.so</filename>
<basename>libgstspandsp.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-speed.xml b/docs/plugins/inspect/plugin-speed.xml
index 23061c9..13e3780 100644
--- a/docs/plugins/inspect/plugin-speed.xml
+++ b/docs/plugins/inspect/plugin-speed.xml
@@ -3,7 +3,7 @@
<description>Set speed/pitch on audio/raw streams (resampler)</description>
<filename>../../gst/speed/.libs/libgstspeed.so</filename>
<basename>libgstspeed.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-srtp.xml b/docs/plugins/inspect/plugin-srtp.xml
index f199aa4..524926b 100644
--- a/docs/plugins/inspect/plugin-srtp.xml
+++ b/docs/plugins/inspect/plugin-srtp.xml
@@ -3,7 +3,7 @@
<description>GStreamer SRTP</description>
<filename>../../ext/srtp/.libs/libgstsrtp.so</filename>
<basename>libgstsrtp.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</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 7d9b11c..aea2fa1 100644
--- a/docs/plugins/inspect/plugin-stereo.xml
+++ b/docs/plugins/inspect/plugin-stereo.xml
@@ -3,7 +3,7 @@
<description>Muck with the stereo signal, enhance it's 'stereo-ness'</description>
<filename>../../gst/stereo/.libs/libgststereo.so</filename>
<basename>libgststereo.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-subenc.xml b/docs/plugins/inspect/plugin-subenc.xml
index 4f9be08..75ae114 100644
--- a/docs/plugins/inspect/plugin-subenc.xml
+++ b/docs/plugins/inspect/plugin-subenc.xml
@@ -3,7 +3,7 @@
<description>subtitle encoders</description>
<filename>../../gst/subenc/.libs/libgstsubenc.so</filename>
<basename>libgstsubenc.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-teletext.xml b/docs/plugins/inspect/plugin-teletext.xml
index efa22a5..ce31f6c 100644
--- a/docs/plugins/inspect/plugin-teletext.xml
+++ b/docs/plugins/inspect/plugin-teletext.xml
@@ -3,7 +3,7 @@
<description>Teletext plugin</description>
<filename>../../ext/teletextdec/.libs/libgstteletextdec.so</filename>
<basename>libgstteletextdec.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer</package>
diff --git a/docs/plugins/inspect/plugin-timecode.xml b/docs/plugins/inspect/plugin-timecode.xml
index 3fa3d28..c9b1c25 100644
--- a/docs/plugins/inspect/plugin-timecode.xml
+++ b/docs/plugins/inspect/plugin-timecode.xml
@@ -3,7 +3,7 @@
<description>Timecode-related elements</description>
<filename>../../gst/timecode/.libs/libgsttimecode.so</filename>
<basename>libgsttimecode.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-ttmlsubs.xml b/docs/plugins/inspect/plugin-ttmlsubs.xml
new file mode 100644
index 0000000..4d10360
--- /dev/null
+++ b/docs/plugins/inspect/plugin-ttmlsubs.xml
@@ -0,0 +1,61 @@
+<plugin>
+ <name>ttmlsubs</name>
+ <description>TTML subtitle handling</description>
+ <filename>../../ext/ttml/.libs/libgstttmlsubs.so</filename>
+ <basename>libgstttmlsubs.so</basename>
+ <version>1.9.90</version>
+ <license>LGPL</license>
+ <source>gst-plugins-bad</source>
+ <package>gst-ttml</package>
+ <origin>http://www.bbc.co.uk/rd</origin>
+ <elements>
+ <element>
+ <name>ttmlparse</name>
+ <longname>TTML subtitle parser</longname>
+ <class>Codec/Parser/Subtitle</class>
+ <description>Parses TTML subtitle files</description>
+ <author>GStreamer maintainers <gstreamer-devel@lists.sourceforge.net>, Chris Bass <dash@rd.bbc.co.uk></author>
+ <pads>
+ <caps>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>application/ttml+xml</details>
+ </caps>
+ <caps>
+ <name>src</name>
+ <direction>source</direction>
+ <presence>always</presence>
+ <details>text/x-raw(meta:GstSubtitleMeta)</details>
+ </caps>
+ </pads>
+ </element>
+ <element>
+ <name>ttmlrender</name>
+ <longname>TTML subtitle renderer</longname>
+ <class>Overlay/Subtitle</class>
+ <description>Renders timed-text subtitles on top of video buffers</description>
+ <author>David Schleef <ds@schleef.org>, Zeeshan Ali <zeeshan.ali@nokia.com>, Chris Bass <dash@rd.bbc.co.uk></author>
+ <pads>
+ <caps>
+ <name>text_sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>text/x-raw(meta:GstSubtitleMeta)</details>
+ </caps>
+ <caps>
+ <name>video_sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <details>video/x-raw, format=(string){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, 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){ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(ANY), format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
+ </caps>
+ </pads>
+ </element>
+ </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-uvch264.xml b/docs/plugins/inspect/plugin-uvch264.xml
index ff1f16c..99aba64 100644
--- a/docs/plugins/inspect/plugin-uvch264.xml
+++ b/docs/plugins/inspect/plugin-uvch264.xml
@@ -3,7 +3,7 @@
<description>UVC compliant H264 encoding cameras plugin</description>
<filename>../../sys/uvch264/.libs/libgstuvch264.so</filename>
<basename>libgstuvch264.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-vcdsrc.xml b/docs/plugins/inspect/plugin-vcdsrc.xml
index 485eb6e..e04bd95 100644
--- a/docs/plugins/inspect/plugin-vcdsrc.xml
+++ b/docs/plugins/inspect/plugin-vcdsrc.xml
@@ -3,7 +3,7 @@
<description>Asynchronous read from VCD disk</description>
<filename>../../sys/vcd/.libs/libgstvcdsrc.so</filename>
<basename>libgstvcdsrc.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-videofiltersbad.xml b/docs/plugins/inspect/plugin-videofiltersbad.xml
index 43ecbc2..689bc63 100644
--- a/docs/plugins/inspect/plugin-videofiltersbad.xml
+++ b/docs/plugins/inspect/plugin-videofiltersbad.xml
@@ -3,7 +3,7 @@
<description>Video filters in gst-plugins-bad</description>
<filename>../../gst/videofilters/.libs/libgstvideofiltersbad.so</filename>
<basename>libgstvideofiltersbad.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</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 870e41f..9830c6a 100644
--- a/docs/plugins/inspect/plugin-videoframe_audiolevel.xml
+++ b/docs/plugins/inspect/plugin-videoframe_audiolevel.xml
@@ -3,7 +3,7 @@
<description>Video frame-synchronized audio level</description>
<filename>../../gst/videoframe_audiolevel/.libs/libgstvideoframe_audiolevel.so</filename>
<basename>libgstvideoframe_audiolevel.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-videoparsersbad.xml b/docs/plugins/inspect/plugin-videoparsersbad.xml
index a78dab5..9fc4999 100644
--- a/docs/plugins/inspect/plugin-videoparsersbad.xml
+++ b/docs/plugins/inspect/plugin-videoparsersbad.xml
@@ -3,7 +3,7 @@
<description>videoparsers</description>
<filename>../../gst/videoparsers/.libs/libgstvideoparsersbad.so</filename>
<basename>libgstvideoparsersbad.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-videosignal.xml b/docs/plugins/inspect/plugin-videosignal.xml
index e4ff947..c7e8c44 100644
--- a/docs/plugins/inspect/plugin-videosignal.xml
+++ b/docs/plugins/inspect/plugin-videosignal.xml
@@ -3,7 +3,7 @@
<description>Various video signal analysers</description>
<filename>../../gst/videosignal/.libs/libgstvideosignal.so</filename>
<basename>libgstvideosignal.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-vmnc.xml b/docs/plugins/inspect/plugin-vmnc.xml
index 9d8642d..549d891 100644
--- a/docs/plugins/inspect/plugin-vmnc.xml
+++ b/docs/plugins/inspect/plugin-vmnc.xml
@@ -3,7 +3,7 @@
<description>VmWare Video Codec plugins</description>
<filename>../../gst/vmnc/.libs/libgstvmnc.so</filename>
<basename>libgstvmnc.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-voaacenc.xml b/docs/plugins/inspect/plugin-voaacenc.xml
index 1ae9bc7..40afdd5 100644
--- a/docs/plugins/inspect/plugin-voaacenc.xml
+++ b/docs/plugins/inspect/plugin-voaacenc.xml
@@ -3,7 +3,7 @@
<description>AAC audio encoder</description>
<filename>../../ext/voaacenc/.libs/libgstvoaacenc.so</filename>
<basename>libgstvoaacenc.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-voamrwbenc.xml b/docs/plugins/inspect/plugin-voamrwbenc.xml
index a7fed37..2552a28 100644
--- a/docs/plugins/inspect/plugin-voamrwbenc.xml
+++ b/docs/plugins/inspect/plugin-voamrwbenc.xml
@@ -3,7 +3,7 @@
<description>Adaptive Multi-Rate Wide-Band Encoder</description>
<filename>../../ext/voamrwbenc/.libs/libgstvoamrwbenc.so</filename>
<basename>libgstvoamrwbenc.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</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 cb600c0..c809fd6 100644
--- a/docs/plugins/inspect/plugin-waylandsink.xml
+++ b/docs/plugins/inspect/plugin-waylandsink.xml
@@ -3,7 +3,7 @@
<description>Wayland Video Sink</description>
<filename>../../ext/wayland/.libs/libgstwaylandsink.so</filename>
<basename>libgstwaylandsink.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-webp.xml b/docs/plugins/inspect/plugin-webp.xml
index b20639c..ca6ed22 100644
--- a/docs/plugins/inspect/plugin-webp.xml
+++ b/docs/plugins/inspect/plugin-webp.xml
@@ -3,7 +3,7 @@
<description>WebP plugin</description>
<filename>../../ext/webp/.libs/libgstwebp.so</filename>
<basename>libgstwebp.so</basename>
- <version>1.9.90</version>
+ <version>1.10.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-webrtcdsp.xml b/docs/plugins/inspect/plugin-webrtcdsp.xml
index 1c6dab8..1eed4f6 100644
--- a/docs/plugins/inspect/plugin-webrtcdsp.xml
+++ b/docs/plugins/inspect/plugin-webrtcdsp.xml
@@ -3,7 +3,7 @@
<description>Voice pre-processing using WebRTC Audio Processing Library</description>
<filename>../../ext/webrtcdsp/.libs/libgstwebrtcdsp.so</filename>
<basename>libgstwebrtcdsp.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>WebRTCDsp</package>
diff --git a/docs/plugins/inspect/plugin-wildmidi.xml b/docs/plugins/inspect/plugin-wildmidi.xml
index 980616d..4674b69 100644
--- a/docs/plugins/inspect/plugin-wildmidi.xml
+++ b/docs/plugins/inspect/plugin-wildmidi.xml
@@ -3,7 +3,7 @@
<description>Wildmidi Plugin</description>
<filename>../../ext/timidity/.libs/libgstwildmidi.so</filename>
<basename>libgstwildmidi.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</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 35096e0..46cbc16 100644
--- a/docs/plugins/inspect/plugin-x265.xml
+++ b/docs/plugins/inspect/plugin-x265.xml
@@ -3,7 +3,7 @@
<description>x265-based H265 plugins</description>
<filename>../../ext/x265/.libs/libgstx265.so</filename>
<basename>libgstx265.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</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 89347c8..7d5d63a 100644
--- a/docs/plugins/inspect/plugin-y4mdec.xml
+++ b/docs/plugins/inspect/plugin-y4mdec.xml
@@ -3,7 +3,7 @@
<description>Demuxes/decodes YUV4MPEG streams</description>
<filename>../../gst/y4m/.libs/libgsty4mdec.so</filename>
<basename>libgsty4mdec.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</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 06ee672..768b214 100644
--- a/docs/plugins/inspect/plugin-yadif.xml
+++ b/docs/plugins/inspect/plugin-yadif.xml
@@ -3,7 +3,7 @@
<description>YADIF deinterlacing filter</description>
<filename>../../gst/yadif/.libs/libgstyadif.so</filename>
<basename>libgstyadif.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</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 f640b2e..5defa8b 100644
--- a/docs/plugins/inspect/plugin-zbar.xml
+++ b/docs/plugins/inspect/plugin-zbar.xml
@@ -3,7 +3,7 @@
<description>zbar barcode scanner</description>
<filename>../../ext/zbar/.libs/libgstzbar.so</filename>
<basename>libgstzbar.so</basename>
- <version>1.9.90</version>
+ <version>1.10.0</version>
<license>LGPL</license>
<source>gst-plugins-bad</source>
<package>GStreamer Bad Plug-ins source release</package>
diff --git a/ext/dash/gstdashdemux.c b/ext/dash/gstdashdemux.c
index 6e24747..242a7c2 100644
--- a/ext/dash/gstdashdemux.c
+++ b/ext/dash/gstdashdemux.c
@@ -198,7 +198,7 @@
/* Default values for properties */
#define DEFAULT_MAX_BUFFERING_TIME 30 /* in seconds */
-#define DEFAULT_BANDWIDTH_USAGE 0.8 /* 0 to 1 */
+#define DEFAULT_BANDWIDTH_USAGE 0.8f /* 0 to 1 */
#define DEFAULT_MAX_BITRATE 0 /* in bit/s */
#define DEFAULT_MAX_VIDEO_WIDTH 0
#define DEFAULT_MAX_VIDEO_HEIGHT 0
diff --git a/ext/dash/gstmpdparser.c b/ext/dash/gstmpdparser.c
index 10f0149..e6d7283 100644
--- a/ext/dash/gstmpdparser.c
+++ b/ext/dash/gstmpdparser.c
@@ -110,7 +110,8 @@
gst_mpdparser_parse_representation_base_type (GstRepresentationBaseType **
pointer, xmlNode * a_node);
static gboolean gst_mpdparser_parse_representation_node (GList ** list,
- xmlNode * a_node, GstAdaptationSetNode * parent);
+ xmlNode * a_node, GstAdaptationSetNode * parent,
+ GstPeriodNode * period_node);
static gboolean gst_mpdparser_parse_adaptation_set_node (GList ** list,
xmlNode * a_node, GstPeriodNode * parent);
static void gst_mpdparser_parse_subset_node (GList ** list, xmlNode * a_node);
@@ -1640,6 +1641,8 @@
}
}
+ has_timeline = mult_seg_base_type->SegmentTimeline != NULL;
+
if (!has_duration && !has_timeline) {
GST_ERROR ("segment has neither duration nor timeline");
goto error;
@@ -1794,7 +1797,7 @@
static gboolean
gst_mpdparser_parse_representation_node (GList ** list, xmlNode * a_node,
- GstAdaptationSetNode * parent)
+ GstAdaptationSetNode * parent, GstPeriodNode * period_node)
{
xmlNode *cur_node;
GstRepresentationNode *new_representation;
@@ -1830,7 +1833,9 @@
goto error;
} else if (xmlStrcmp (cur_node->name, (xmlChar *) "SegmentList") == 0) {
if (!gst_mpdparser_parse_segment_list_node
- (&new_representation->SegmentList, cur_node, parent->SegmentList))
+ (&new_representation->SegmentList, cur_node,
+ parent->SegmentList ? parent->
+ SegmentList : period_node->SegmentList))
goto error;
} else if (xmlStrcmp (cur_node->name, (xmlChar *) "BaseURL") == 0) {
gst_mpdparser_parse_baseURL_node (&new_representation->BaseURLs,
@@ -1961,7 +1966,7 @@
if (cur_node->type == XML_ELEMENT_NODE) {
if (xmlStrcmp (cur_node->name, (xmlChar *) "Representation") == 0) {
if (!gst_mpdparser_parse_representation_node
- (&new_adap_set->Representations, cur_node, new_adap_set))
+ (&new_adap_set->Representations, cur_node, new_adap_set, parent))
goto error;
}
}
@@ -3342,7 +3347,8 @@
for (idx = 0, iter = client->periods; iter; idx++, iter = g_list_next (iter)) {
stream_period = iter->data;
if (stream_period->start <= time_offset
- && stream_period->start + stream_period->duration > time_offset) {
+ && (!GST_CLOCK_TIME_IS_VALID (stream_period->duration)
+ || stream_period->start + stream_period->duration > time_offset)) {
period_idx = idx;
break;
}
diff --git a/ext/dtls/gstdtlscertificate.c b/ext/dtls/gstdtlscertificate.c
index 95fbb83..c1c9602 100644
--- a/ext/dtls/gstdtlscertificate.c
+++ b/ext/dtls/gstdtlscertificate.c
@@ -199,7 +199,22 @@
priv->private_key = NULL;
return;
}
+
+ /* XXX: RSA_generate_key is actually deprecated in 0.9.8 */
+#if OPENSSL_VERSION_NUMBER < 0x10100001L
rsa = RSA_generate_key (2048, RSA_F4, NULL, NULL);
+#else
+ rsa = RSA_new ();
+ if (rsa != NULL) {
+ BIGNUM *e = BN_new ();
+ if (e != NULL && BN_set_word (e, RSA_F4)
+ && RSA_generate_key_ex (rsa, 2048, e, NULL)) {
+ RSA_free (rsa);
+ rsa = NULL;
+ }
+ BN_free (e);
+ }
+#endif
if (!rsa) {
GST_WARNING_OBJECT (self, "failed to generate RSA");
diff --git a/ext/dtls/gstdtlsconnection.c b/ext/dtls/gstdtlsconnection.c
index 36f6d63..728f5a7 100644
--- a/ext/dtls/gstdtlsconnection.c
+++ b/ext/dtls/gstdtlsconnection.c
@@ -42,6 +42,8 @@
#include <openssl/err.h>
#include <openssl/ssl.h>
+#include <string.h>
+
GST_DEBUG_CATEGORY_STATIC (gst_dtls_connection_debug);
#define GST_CAT_DEFAULT gst_dtls_connection_debug
G_DEFINE_TYPE_WITH_CODE (GstDtlsConnection, gst_dtls_connection, G_TYPE_OBJECT,
@@ -216,6 +218,38 @@
G_OBJECT_CLASS (gst_dtls_connection_parent_class)->finalize (gobject);
}
+#if OPENSSL_VERSION_NUMBER < 0x10100001L
+static void
+BIO_set_data (BIO * bio, void *ptr)
+{
+ bio->ptr = ptr;
+}
+
+static void *
+BIO_get_data (BIO * bio)
+{
+ return bio->ptr;
+}
+
+static void
+BIO_set_shutdown (BIO * bio, int shutdown)
+{
+ bio->shutdown = shutdown;
+}
+
+static void
+BIO_set_init (BIO * bio, int init)
+{
+ bio->init = init;
+}
+
+static X509 *
+X509_STORE_CTX_get0_cert (X509_STORE_CTX * ctx)
+{
+ return ctx->cert;
+}
+#endif
+
static void
gst_dtls_connection_set_property (GObject * object, guint prop_id,
const GValue * value, GParamSpec * pspec)
@@ -239,7 +273,7 @@
priv->bio = BIO_new (BIO_s_gst_dtls_connection ());
g_return_if_fail (priv->bio);
- priv->bio->ptr = self;
+ BIO_set_data (priv->bio, self);
SSL_set_bio (priv->ssl, priv->bio, priv->bio);
SSL_set_verify (priv->ssl,
@@ -573,6 +607,7 @@
states |= (! !SSL_want_write (priv->ssl) << 20);
states |= (! !SSL_want_read (priv->ssl) << 24);
+#if OPENSSL_VERSION_NUMBER < 0x10100001L
GST_LOG_OBJECT (self, "%s: role=%s buf=(%d,%p:%d/%d) %x|%x %s",
str,
priv->is_client ? "client" : "server",
@@ -581,6 +616,15 @@
priv->bio_buffer_offset,
priv->bio_buffer_len,
states, SSL_get_state (priv->ssl), SSL_state_string_long (priv->ssl));
+#else
+ GST_LOG_OBJECT (self, "%s: role=%s buf=(%p:%d/%d) %x|%x %s",
+ str,
+ priv->is_client ? "client" : "server",
+ priv->bio_buffer,
+ priv->bio_buffer_offset,
+ priv->bio_buffer_len,
+ states, SSL_get_state (priv->ssl), SSL_state_string_long (priv->ssl));
+#endif
}
static void
@@ -737,7 +781,7 @@
self = SSL_get_ex_data (ssl, connection_ex_index);
g_return_val_if_fail (GST_IS_DTLS_CONNECTION (self), FALSE);
- pem = _gst_dtls_x509_to_pem (x509_ctx->cert);
+ pem = _gst_dtls_x509_to_pem (X509_STORE_CTX_get0_cert (x509_ctx));
if (!pem) {
GST_WARNING_OBJECT (self,
@@ -749,7 +793,8 @@
gint len;
len =
- X509_NAME_print_ex (bio, X509_get_subject_name (x509_ctx->cert), 1,
+ X509_NAME_print_ex (bio,
+ X509_get_subject_name (X509_STORE_CTX_get0_cert (x509_ctx)), 1,
XN_FLAG_MULTILINE);
BIO_read (bio, buffer, len);
buffer[len] = '\0';
@@ -777,6 +822,7 @@
######## #### #######
*/
+#if OPENSSL_VERSION_NUMBER < 0x10100001L
static BIO_METHOD custom_bio_methods = {
BIO_TYPE_BIO,
"stream",
@@ -795,11 +841,34 @@
{
return &custom_bio_methods;
}
+#else
+static BIO_METHOD *custom_bio_methods;
+
+static BIO_METHOD *
+BIO_s_gst_dtls_connection (void)
+{
+ if (custom_bio_methods != NULL)
+ return custom_bio_methods;
+
+ custom_bio_methods = BIO_meth_new (BIO_TYPE_BIO, "stream");
+ if (custom_bio_methods == NULL
+ || !BIO_meth_set_write (custom_bio_methods, bio_method_write)
+ || !BIO_meth_set_read (custom_bio_methods, bio_method_read)
+ || !BIO_meth_set_ctrl (custom_bio_methods, bio_method_ctrl)
+ || !BIO_meth_set_create (custom_bio_methods, bio_method_new)
+ || !BIO_meth_set_destroy (custom_bio_methods, bio_method_free)) {
+ BIO_meth_free (custom_bio_methods);
+ return NULL;
+ }
+
+ return custom_bio_methods;
+}
+#endif
static int
bio_method_write (BIO * bio, const char *data, int size)
{
- GstDtlsConnection *self = GST_DTLS_CONNECTION (bio->ptr);
+ GstDtlsConnection *self = GST_DTLS_CONNECTION (BIO_get_data (bio));
GST_LOG_OBJECT (self, "BIO: writing %d", size);
@@ -824,7 +893,7 @@
static int
bio_method_read (BIO * bio, char *out_buffer, int size)
{
- GstDtlsConnection *self = GST_DTLS_CONNECTION (bio->ptr);
+ GstDtlsConnection *self = GST_DTLS_CONNECTION (BIO_get_data (bio));
GstDtlsConnectionPrivate *priv = self->priv;
guint internal_size;
gint copy_size;
@@ -868,7 +937,7 @@
static long
bio_method_ctrl (BIO * bio, int cmd, long arg1, void *arg2)
{
- GstDtlsConnection *self = GST_DTLS_CONNECTION (bio->ptr);
+ GstDtlsConnection *self = GST_DTLS_CONNECTION (BIO_get_data (bio));
GstDtlsConnectionPrivate *priv = self->priv;
switch (cmd) {
@@ -916,8 +985,8 @@
{
GST_LOG_OBJECT (NULL, "BIO: new");
- bio->shutdown = 0;
- bio->init = 1;
+ BIO_set_shutdown (bio, 0);
+ BIO_set_init (bio, 1);
return 1;
}
@@ -930,6 +999,6 @@
return 0;
}
- GST_LOG_OBJECT (GST_DTLS_CONNECTION (bio->ptr), "BIO free");
+ GST_LOG_OBJECT (GST_DTLS_CONNECTION (BIO_get_data (bio)), "BIO free");
return 0;
}
diff --git a/ext/dts/gstdtsdec.c b/ext/dts/gstdtsdec.c
index 70ffbc7..1c91ce1 100644
--- a/ext/dts/gstdtsdec.c
+++ b/ext/dts/gstdtsdec.c
@@ -131,7 +131,7 @@
static gboolean gst_dtsdec_start (GstAudioDecoder * dec);
static gboolean gst_dtsdec_stop (GstAudioDecoder * dec);
static gboolean gst_dtsdec_set_format (GstAudioDecoder * bdec, GstCaps * caps);
-static gboolean gst_dtsdec_parse (GstAudioDecoder * dec, GstAdapter * adapter,
+static GstFlowReturn gst_dtsdec_parse (GstAudioDecoder * dec, GstAdapter * adapter,
gint * offset, gint * length);
static GstFlowReturn gst_dtsdec_handle_frame (GstAudioDecoder * dec,
GstBuffer * buffer);
diff --git a/ext/faad/gstfaad.c b/ext/faad/gstfaad.c
index 07cca30..09d927c 100644
--- a/ext/faad/gstfaad.c
+++ b/ext/faad/gstfaad.c
@@ -93,7 +93,7 @@
static gboolean gst_faad_start (GstAudioDecoder * dec);
static gboolean gst_faad_stop (GstAudioDecoder * dec);
static gboolean gst_faad_set_format (GstAudioDecoder * dec, GstCaps * caps);
-static gboolean gst_faad_parse (GstAudioDecoder * dec, GstAdapter * adapter,
+static GstFlowReturn gst_faad_parse (GstAudioDecoder * dec, GstAdapter * adapter,
gint * offset, gint * length);
static GstFlowReturn gst_faad_handle_frame (GstAudioDecoder * dec,
GstBuffer * buffer);
diff --git a/ext/gl/gstgloverlay.c b/ext/gl/gstgloverlay.c
index e7b4c0a..b39baf4 100644
--- a/ext/gl/gstgloverlay.c
+++ b/ext/gl/gstgloverlay.c
@@ -44,6 +44,9 @@
#include <stdio.h>
#include <stdlib.h>
+#ifdef _MSC_VER
+#define HAVE_BOOLEAN
+#endif
#include <jpeglib.h>
#include <png.h>
diff --git a/ext/gl/gstglstereosplit.c b/ext/gl/gstglstereosplit.c
index 1eaa440..744a7f2 100644
--- a/ext/gl/gstglstereosplit.c
+++ b/ext/gl/gstglstereosplit.c
@@ -247,7 +247,8 @@
GstVideoMultiviewFlags flags, mask;
gst_structure_remove_field (st, "multiview-mode");
- if (gst_structure_get_flagset (st, "multiview-flags", &flags, &mask)) {
+ if (gst_structure_get_flagset (st, "multiview-flags", (guint*) &flags,
+ (guint*) &mask)) {
flags &= keep_flags;
mask = keep_flags;
gst_structure_set (st, "multiview-flags",
diff --git a/ext/gl/gstgltransformation.c b/ext/gl/gstgltransformation.c
index a4df304..1fcf902 100644
--- a/ext/gl/gstgltransformation.c
+++ b/ext/gl/gstgltransformation.c
@@ -251,7 +251,7 @@
filter->shader = NULL;
filter->fov = 90;
filter->aspect = 1.0;
- filter->znear = 0.1;
+ filter->znear = 0.1f;
filter->zfar = 100;
filter->xscale = 1.0;
diff --git a/ext/gl/gstgluploadelement.c b/ext/gl/gstgluploadelement.c
index d3ed276..f9e52f6 100644
--- a/ext/gl/gstgluploadelement.c
+++ b/ext/gl/gstgluploadelement.c
@@ -62,10 +62,23 @@
GST_STATIC_CAPS ("video/x-raw(ANY)"));
static void
+gst_gl_upload_element_finalize (GObject * object)
+{
+ GstGLUploadElement *upload = GST_GL_UPLOAD_ELEMENT (object);
+
+ if (upload->upload)
+ gst_object_unref (upload->upload);
+ upload->upload = NULL;
+
+ G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+static void
gst_gl_upload_element_class_init (GstGLUploadElementClass * klass)
{
GstBaseTransformClass *bt_class = GST_BASE_TRANSFORM_CLASS (klass);
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
GstCaps *upload_caps;
bt_class->transform_caps = _gst_gl_upload_element_transform_caps;
@@ -91,6 +104,8 @@
gst_element_class_set_metadata (element_class,
"OpenGL uploader", "Filter/Video",
"Uploads data into OpenGL", "Matthew Waters <matthew@centricular.com>");
+
+ gobject_class->finalize = gst_gl_upload_element_finalize;
}
static void
diff --git a/ext/gl/gstglviewconvert.c b/ext/gl/gstglviewconvert.c
index ba05a11..617df44 100644
--- a/ext/gl/gstglviewconvert.c
+++ b/ext/gl/gstglviewconvert.c
@@ -88,7 +88,7 @@
static GstFlowReturn
gst_gl_view_convert_element_submit_input_buffer (GstBaseTransform * trans,
gboolean is_discont, GstBuffer * input);
-static gboolean
+static GstFlowReturn
gst_gl_view_convert_element_generate_output_buffer (GstBaseTransform * bt,
GstBuffer ** outbuf);
diff --git a/ext/gl/gstopengl.c b/ext/gl/gstopengl.c
index 9bd754d..4a8c4d6 100644
--- a/ext/gl/gstopengl.c
+++ b/ext/gl/gstopengl.c
@@ -90,7 +90,7 @@
extern GType gst_ca_opengl_layer_sink_bin_get_type (void);
#endif
-#ifdef USE_EGL_RPI
+#if GST_GL_HAVE_WINDOW_DISPMANX
extern void bcm_host_init (void);
#endif
@@ -107,7 +107,7 @@
{
GST_DEBUG_CATEGORY_INIT (gst_gl_gstgl_debug, "gstopengl", 0, "gstopengl");
-#ifdef USE_EGL_RPI
+#if GST_GL_HAVE_WINDOW_DISPMANX
GST_DEBUG ("Initialize BCM host");
bcm_host_init ();
#endif
@@ -236,7 +236,6 @@
GST_RANK_NONE, GST_TYPE_GL_DEINTERLACE)) {
return FALSE;
}
-
#if HAVE_JPEG
#if HAVE_PNG
if (!gst_element_register (plugin, "gloverlay",
diff --git a/ext/hls/gsthlsdemux.c b/ext/hls/gsthlsdemux.c
index a4eaacd..bb91f30 100644
--- a/ext/hls/gsthlsdemux.c
+++ b/ext/hls/gsthlsdemux.c
@@ -1574,14 +1574,16 @@
GST_M3U8_CLIENT_UNLOCK (demux->client);
gst_hls_demux_set_current_variant (demux, previous_variant);
/* Try a lower bitrate (or stop if we just tried the lowest) */
- lowest_variant = demux->master->variants->data;
- lowest_ivariant = demux->master->iframe_variants->data;
- if (previous_variant->iframe && new_bandwidth == lowest_ivariant->bandwidth)
- return FALSE;
- if (!previous_variant->iframe && new_bandwidth == lowest_variant->bandwidth)
- return FALSE;
- else
- return gst_hls_demux_change_playlist (demux, new_bandwidth - 1, changed);
+ if (previous_variant->iframe) {
+ lowest_ivariant = demux->master->iframe_variants->data;
+ if (new_bandwidth == lowest_ivariant->bandwidth)
+ return FALSE;
+ } else {
+ lowest_variant = demux->master->variants->data;
+ if (new_bandwidth == lowest_variant->bandwidth)
+ return FALSE;
+ }
+ return gst_hls_demux_change_playlist (demux, new_bandwidth - 1, changed);
}
return TRUE;
diff --git a/ext/hls/gsthlsdemux.h b/ext/hls/gsthlsdemux.h
index 3b6a4c0..f2bc238 100644
--- a/ext/hls/gsthlsdemux.h
+++ b/ext/hls/gsthlsdemux.h
@@ -83,7 +83,7 @@
struct _GstHLSDemuxStream
{
- GstAdaptiveDemux adaptive_demux_stream;
+ GstAdaptiveDemuxStream adaptive_demux_stream;
GstHLSTSReaderType stream_type;
diff --git a/ext/opencv/gstopencvutils.cpp b/ext/opencv/gstopencvutils.cpp
index 57b660d..640486b 100644
--- a/ext/opencv/gstopencvutils.cpp
+++ b/ext/opencv/gstopencvutils.cpp
@@ -34,6 +34,7 @@
GstVideoInfo info;
gint depth = 0;
guint i;
+ gchar *caps_str;
if (!gst_video_info_from_caps (&info, caps)) {
GST_ERROR ("Failed to get the videoinfo from caps");
@@ -49,8 +50,10 @@
else if (GST_VIDEO_INFO_IS_GRAY (&info))
*channels = 1;
else {
+ caps_str = gst_caps_to_string (caps);
g_set_error (err, GST_CORE_ERROR, GST_CORE_ERROR_NEGOTIATION,
- "Unsupported caps %s", gst_caps_to_string (caps));
+ "Unsupported caps %s", caps_str);
+ g_free (caps_str);
return FALSE;
}
diff --git a/ext/openh264/gstopenh264enc.cpp b/ext/openh264/gstopenh264enc.cpp
index a5e488f..ad18120 100644
--- a/ext/openh264/gstopenh264enc.cpp
+++ b/ext/openh264/gstopenh264enc.cpp
@@ -794,9 +794,9 @@
openh264enc->time_per_frame = (GST_SECOND / openh264enc->framerate);
openh264enc->previous_timestamp = frame->pts;
} else {
- openh264enc->time_per_frame =
- openh264enc->time_per_frame * 0.8 + (frame->pts -
- openh264enc->previous_timestamp) * 0.2;
+ openh264enc->time_per_frame = (guint64)
+ (openh264enc->time_per_frame * 0.8 + (frame->pts -
+ openh264enc->previous_timestamp) * 0.2);
openh264enc->previous_timestamp = frame->pts;
if (openh264enc->frame_count % 10 == 0) {
fps = GST_SECOND / (gdouble) openh264enc->time_per_frame;
diff --git a/ext/qt/qtwindow.cc b/ext/qt/qtwindow.cc
index 4702891..c3fd564 100644
--- a/ext/qt/qtwindow.cc
+++ b/ext/qt/qtwindow.cc
@@ -34,6 +34,11 @@
#include <QtQuick/QQuickWindow>
#include <QOpenGLFramebufferObject>
+/* compatability definitions... */
+#ifndef GL_READ_FRAMEBUFFER
+#define GL_READ_FRAMEBUFFER 0x8CA8
+#endif
+
/**
* SECTION:
*
diff --git a/ext/schroedinger/gstschrodec.c b/ext/schroedinger/gstschrodec.c
index 359a594..693e31c 100644
--- a/ext/schroedinger/gstschrodec.c
+++ b/ext/schroedinger/gstschrodec.c
@@ -93,7 +93,7 @@
gboolean at_eos);
static GstFlowReturn gst_schro_dec_handle_frame (GstVideoDecoder * decoder,
GstVideoCodecFrame * frame);
-static gboolean gst_schro_dec_finish (GstVideoDecoder * base_video_decoder);
+static GstFlowReturn gst_schro_dec_finish (GstVideoDecoder * base_video_decoder);
static void gst_schrodec_send_tags (GstSchroDec * schro_dec);
static gboolean gst_schro_dec_decide_allocation (GstVideoDecoder * decoder,
GstQuery * query);
@@ -557,7 +557,7 @@
return gst_schro_dec_process (schro_dec, FALSE);
}
-gboolean
+GstFlowReturn
gst_schro_dec_finish (GstVideoDecoder * base_video_decoder)
{
GstSchroDec *schro_dec;
diff --git a/ext/timidity/gsttimidity.c b/ext/timidity/gsttimidity.c
index 2078694..0b3f376 100644
--- a/ext/timidity/gsttimidity.c
+++ b/ext/timidity/gsttimidity.c
@@ -628,8 +628,12 @@
GST_DEBUG_OBJECT (timidity, "Parsing song");
+#if defined(LIBTIMIDITY_VERSION) && LIBTIMIDITY_VERSION < 0x000200L
stream =
mid_istream_open_mem (timidity->mididata, timidity->mididata_size, 0);
+#else
+ stream = mid_istream_open_mem (timidity->mididata, timidity->mididata_size);
+#endif
timidity->song = mid_song_load (stream, timidity->song_options);
mid_istream_close (stream);
diff --git a/ext/vulkan/vkdevice.c b/ext/vulkan/vkdevice.c
index 5c2b279..1f7aad8 100644
--- a/ext/vulkan/vkdevice.c
+++ b/ext/vulkan/vkdevice.c
@@ -544,12 +544,12 @@
gst_query_parse_context (query, &context);
if (context)
gst_context_get_vulkan_device (context, device);
+
+ gst_query_unref (query);
}
GST_DEBUG_OBJECT (element, "found device %p", *device);
- gst_query_unref (query);
-
if (*device)
return TRUE;
diff --git a/ext/vulkan/vkdisplay.c b/ext/vulkan/vkdisplay.c
index 096f251..550134c 100644
--- a/ext/vulkan/vkdisplay.c
+++ b/ext/vulkan/vkdisplay.c
@@ -284,8 +284,12 @@
window = klass->create_window (display);
if (window) {
+ GWeakRef *ref = g_new0 (GWeakRef, 1);
+
+ g_weak_ref_set (ref, window);
+
GST_OBJECT_LOCK (display);
- display->windows = g_list_prepend (display->windows, window);
+ display->windows = g_list_prepend (display->windows, ref);
GST_OBJECT_UNLOCK (display);
}
@@ -298,6 +302,31 @@
return gst_vulkan_window_new (display);
}
+static gint
+_compare_vulkan_window (GWeakRef * ref, GstVulkanWindow * window)
+{
+ GstVulkanWindow *other = g_weak_ref_get (ref);
+ gboolean equal = window == other;
+
+ gst_object_unref (other);
+
+ return !equal;
+}
+
+static GList *
+_find_window_list_item (GstVulkanDisplay * display, GstVulkanWindow * window)
+{
+ GList *l;
+
+ if (!window)
+ return NULL;
+
+ l = g_list_find_custom (display->windows, window,
+ (GCompareFunc) _compare_vulkan_window);
+
+ return l;
+}
+
gboolean
gst_vulkan_display_remove_window (GstVulkanDisplay * display,
GstVulkanWindow * window)
@@ -306,9 +335,11 @@
GList *l;
GST_OBJECT_LOCK (display);
- l = g_list_find (display->windows, window);
+ l = _find_window_list_item (display, window);
if (l) {
display->windows = g_list_delete_link (display->windows, l);
+ g_weak_ref_clear (l->data);
+ g_free (l->data);
ret = TRUE;
}
GST_OBJECT_UNLOCK (display);
diff --git a/ext/wayland/gstwaylandsink.c b/ext/wayland/gstwaylandsink.c
index 6e7510b..4b39ae1 100644
--- a/ext/wayland/gstwaylandsink.c
+++ b/ext/wayland/gstwaylandsink.c
@@ -670,7 +670,7 @@
config = gst_buffer_pool_get_config (sink->pool);
gst_buffer_pool_config_get_params (config, &caps, &size, NULL, NULL);
- gst_buffer_pool_config_set_params (config, caps, size, 0, 0);
+ gst_buffer_pool_config_set_params (config, caps, size, 2, 0);
/* This is a video pool, it should not fail with basic setings */
if (!gst_buffer_pool_set_config (sink->pool, config) ||
diff --git a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c
index 715893c..bf311d3 100644
--- a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c
+++ b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c
@@ -133,7 +133,7 @@
#define MAX_DOWNLOAD_ERROR_COUNT 3
#define DEFAULT_FAILED_COUNT 3
#define DEFAULT_CONNECTION_SPEED 0
-#define DEFAULT_BITRATE_LIMIT 0.8
+#define DEFAULT_BITRATE_LIMIT 0.8f
#define SRC_QUEUE_MAX_BYTES 20 * 1024 * 1024 /* For safety. Large enough to hold a segment. */
#define NUM_LOOKBACK_FRAGMENTS 3
@@ -1882,8 +1882,7 @@
return demux->connection_speed;
}
- g_object_get (stream->queue, "avg-in-rate", &fragment_bitrate, NULL);
- fragment_bitrate *= 8;
+ fragment_bitrate = stream->last_bitrate;
GST_DEBUG_OBJECT (demux, "Download bitrate is : %" G_GUINT64_FORMAT " bps",
fragment_bitrate);
@@ -2353,6 +2352,58 @@
return gst_pad_peer_query (stream->pad, query);
}
+static GstPadProbeReturn
+_uri_handler_probe (GstPad * pad, GstPadProbeInfo * info,
+ GstAdaptiveDemuxStream * stream)
+{
+ GstPadProbeReturn ret = GST_PAD_PROBE_OK;
+
+ if (GST_PAD_PROBE_INFO_TYPE (info) & GST_PAD_PROBE_TYPE_BUFFER) {
+ GstBuffer *buf = GST_PAD_PROBE_INFO_BUFFER (info);
+ if (stream->fragment_bytes_downloaded == 0) {
+ stream->last_latency =
+ gst_adaptive_demux_get_monotonic_time (stream->demux) -
+ (stream->download_start_time * GST_USECOND);
+ GST_DEBUG_OBJECT (pad,
+ "FIRST BYTE since download_start %" GST_TIME_FORMAT,
+ GST_TIME_ARGS (stream->last_latency));
+ }
+ stream->fragment_bytes_downloaded += gst_buffer_get_size (buf);
+ GST_LOG_OBJECT (pad,
+ "Received buffer, size %" G_GSIZE_FORMAT " total %" G_GUINT64_FORMAT,
+ gst_buffer_get_size (buf), stream->fragment_bytes_downloaded);
+ } else if (GST_PAD_PROBE_INFO_TYPE (info) &
+ GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) {
+ GstEvent *ev = GST_PAD_PROBE_INFO_EVENT (info);
+ GST_LOG_OBJECT (pad, "Received event %s %" GST_PTR_FORMAT,
+ GST_EVENT_TYPE_NAME (ev), ev);
+ switch (GST_EVENT_TYPE (ev)) {
+ case GST_EVENT_SEGMENT:
+ stream->fragment_bytes_downloaded = 0;
+ break;
+ case GST_EVENT_EOS:
+ {
+ stream->last_download_time =
+ gst_adaptive_demux_get_monotonic_time (stream->demux) -
+ (stream->download_start_time * GST_USECOND);
+ stream->last_bitrate =
+ gst_util_uint64_scale (stream->fragment_bytes_downloaded,
+ 8 * GST_SECOND, stream->last_download_time);
+ GST_DEBUG_OBJECT (pad,
+ "EOS since download_start %" GST_TIME_FORMAT " bitrate %"
+ G_GUINT64_FORMAT " bps", GST_TIME_ARGS (stream->last_download_time),
+ stream->last_bitrate);
+ /* Calculate bitrate since URI request */
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
+ return ret;
+}
+
/* must be called with manifest_lock taken.
* Can temporarily release manifest_lock
*/
@@ -2563,6 +2614,10 @@
return FALSE;
}
+ /* Add a downstream event and data probe */
+ gst_pad_add_probe (uri_handler_src, GST_PAD_PROBE_TYPE_DATA_DOWNSTREAM,
+ (GstPadProbeCallback) _uri_handler_probe, stream, NULL);
+
g_object_unref (queue_sink);
g_object_unref (uri_handler_src);
queue_src = gst_element_get_static_pad (queue, "src");
diff --git a/gst-libs/gst/adaptivedemux/gstadaptivedemux.h b/gst-libs/gst/adaptivedemux/gstadaptivedemux.h
index e876600..780f4d9 100644
--- a/gst-libs/gst/adaptivedemux/gstadaptivedemux.h
+++ b/gst-libs/gst/adaptivedemux/gstadaptivedemux.h
@@ -167,6 +167,15 @@
gint64 download_total_bytes;
guint64 current_download_rate;
+ /* amount of data downloaded in current fragment (pre-queue2) */
+ guint64 fragment_bytes_downloaded;
+ /* bitrate of the previous fragment (pre-queue2) */
+ guint64 last_bitrate;
+ /* latency (request to first byte) and full download time (request to EOS)
+ * of previous fragment (pre-queue2) */
+ GstClockTime last_latency;
+ GstClockTime last_download_time;
+
/* Average for the last fragments */
guint64 moving_bitrate;
guint moving_index;
diff --git a/gst-libs/gst/audio/gstaudioaggregator.c b/gst-libs/gst/audio/gstaudioaggregator.c
index a09b8a4..8d66225 100644
--- a/gst-libs/gst/audio/gstaudioaggregator.c
+++ b/gst-libs/gst/audio/gstaudioaggregator.c
@@ -74,7 +74,7 @@
G_DEFINE_TYPE (GstAudioAggregatorPad, gst_audio_aggregator_pad,
GST_TYPE_AGGREGATOR_PAD);
-static gboolean
+static GstFlowReturn
gst_audio_aggregator_pad_flush_pad (GstAggregatorPad * aggpad,
GstAggregator * aggregator);
@@ -118,7 +118,7 @@
}
-static gboolean
+static GstFlowReturn
gst_audio_aggregator_pad_flush_pad (GstAggregatorPad * aggpad,
GstAggregator * aggregator)
{
@@ -131,7 +131,7 @@
gst_buffer_replace (&pad->priv->buffer, NULL);
GST_OBJECT_UNLOCK (aggpad);
- return TRUE;
+ return GST_FLOW_OK;
}
diff --git a/gst-libs/gst/gl/Makefile.am b/gst-libs/gst/gl/Makefile.am
index 5572d2d..196bdee 100644
--- a/gst-libs/gst/gl/Makefile.am
+++ b/gst-libs/gst/gl/Makefile.am
@@ -129,6 +129,7 @@
nodist_configexecinclude_HEADERS = $(built_sys_header_configure)
libgstgl_@GST_API_VERSION@_la_CFLAGS = \
+ -DGST_EXPORTS \
-I$(top_srcdir)/gst-libs \
-I$(top_builddir)/gst-libs \
$(GST_PLUGINS_BASE_CFLAGS) \
diff --git a/gst-libs/gst/gl/Makefile.in b/gst-libs/gst/gl/Makefile.in
index 43eb799..894d93b 100644
--- a/gst-libs/gst/gl/Makefile.in
+++ b/gst-libs/gst/gl/Makefile.in
@@ -971,6 +971,7 @@
configexecincludedir = $(libdir)/gstreamer-@GST_API_VERSION@/include/gst/gl
nodist_configexecinclude_HEADERS = $(built_sys_header_configure)
libgstgl_@GST_API_VERSION@_la_CFLAGS = \
+ -DGST_EXPORTS \
-I$(top_srcdir)/gst-libs \
-I$(top_builddir)/gst-libs \
$(GST_PLUGINS_BASE_CFLAGS) \
diff --git a/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c b/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c
index d06424c..80827b9 100644
--- a/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c
+++ b/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c
@@ -95,6 +95,9 @@
window_egl->native.element = 0;
window_egl->native.width = 0;
window_egl->native.height = 0;
+ window_egl->foreign.element = 0;
+ window_egl->foreign.width = 0;
+ window_egl->foreign.height = 0;
window_egl->render_rect.x = 0;
window_egl->render_rect.y = 0;
window_egl->render_rect.w = 0;
@@ -122,7 +125,7 @@
window_egl = GST_GL_WINDOW_DISPMANX_EGL (window);
- if (window_egl->native.element) {
+ if (window_egl->native.element && window_egl->native.element != window_egl->foreign.element) {
dispman_update = vc_dispmanx_update_start (0);
vc_dispmanx_element_remove (dispman_update, window_egl->native.element);
vc_dispmanx_update_submit_sync (dispman_update);
@@ -175,6 +178,21 @@
gst_gl_window_dispmanx_egl_set_window_handle (GstGLWindow * window,
guintptr handle)
{
+ GstGLWindowDispmanxEGL *window_egl = GST_GL_WINDOW_DISPMANX_EGL (window);
+ EGL_DISPMANX_WINDOW_T *foreign_window = (EGL_DISPMANX_WINDOW_T *)handle;
+ DISPMANX_UPDATE_HANDLE_T dispman_update;
+
+ GST_DEBUG_OBJECT (window, "set window handle with size %dx%d", foreign_window->width, foreign_window->height);
+
+ if (window_egl->native.element) {
+ dispman_update = vc_dispmanx_update_start (0);
+ vc_dispmanx_element_remove (dispman_update, window_egl->native.element);
+ vc_dispmanx_update_submit_sync (dispman_update);
+ }
+
+ window_egl->native.element = window_egl->foreign.element = foreign_window->element;
+ window_egl->native.width = window_egl->foreign.width = foreign_window->width;
+ window_egl->native.height = window_egl->foreign.height = foreign_window->height;
}
static void
@@ -263,7 +281,7 @@
{
GstGLWindowDispmanxEGL *window_egl = GST_GL_WINDOW_DISPMANX_EGL (window);
window_egl->render_rect.x = x;
- window_egl->render_rect.y = x;
+ window_egl->render_rect.y = y;
window_egl->render_rect.w = width;
window_egl->render_rect.h = height;
@@ -278,8 +296,10 @@
GstGLWindowDispmanxEGL *window_egl = GST_GL_WINDOW_DISPMANX_EGL (window);
if (!window_egl->visible) {
- window_resize (window_egl, window_egl->preferred_width,
- window_egl->preferred_height, TRUE);
+ if (window_egl->render_rect.w <= 0 || window_egl->render_rect.h <= 0) {
+ window_resize (window_egl, window_egl->preferred_width,
+ window_egl->preferred_height, TRUE);
+ }
window_egl->visible = TRUE;
}
}
diff --git a/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h b/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h
index f0663e2..5680f07 100644
--- a/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h
+++ b/gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h
@@ -25,7 +25,7 @@
#include <gst/gl/gl.h>
#include <gst/gl/egl/gstegl.h>
-#if defined (USE_EGL_RPI) && defined(__GNUC__)
+#if defined(__GNUC__)
#ifndef __VCCOREVER__
#define __VCCOREVER__ 0x04000000
#endif
@@ -37,7 +37,7 @@
#include <bcm_host.h>
-#if defined (USE_EGL_RPI) && defined(__GNUC__)
+#if defined(__GNUC__)
#pragma GCC reset_options
#pragma GCC diagnostic pop
#endif
@@ -64,6 +64,7 @@
uint32_t dp_height;
uint32_t dp_width;
EGL_DISPMANX_WINDOW_T native;
+ EGL_DISPMANX_WINDOW_T foreign;
gint preferred_width;
gint preferred_height;
diff --git a/gst-libs/gst/gl/egl/gstegl.h b/gst-libs/gst/gl/egl/gstegl.h
index 2a31f82..d73658c 100644
--- a/gst-libs/gst/gl/egl/gstegl.h
+++ b/gst-libs/gst/gl/egl/gstegl.h
@@ -23,7 +23,7 @@
#include <gst/gl/gstglconfig.h>
-#if defined (USE_EGL_RPI) && defined(__GNUC__)
+#if GST_GL_HAVE_WINDOW_DISPMANX && defined(__GNUC__)
#ifndef __VCCOREVER__
#define __VCCOREVER__ 0x04000000
#endif
@@ -41,7 +41,7 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
-#if defined (USE_EGL_RPI) && defined(__GNUC__)
+#if GST_GL_HAVE_WINDOW_DISPMANX && defined(__GNUC__)
#pragma GCC reset_options
#pragma GCC diagnostic pop
#endif
diff --git a/gst-libs/gst/gl/egl/gsteglimage.c b/gst-libs/gst/gl/egl/gsteglimage.c
index 5d2a0a0..16441e1 100644
--- a/gst-libs/gst/gl/egl/gsteglimage.c
+++ b/gst-libs/gst/gl/egl/gsteglimage.c
@@ -317,6 +317,6 @@
return gst_egl_image_new_wrapped (context, img, type,
GST_VIDEO_GL_TEXTURE_ORIENTATION_X_NORMAL_Y_NORMAL,
- (GstEGLImageDestroyNotify) _destroy_egl_image, NULL);
+ NULL, (GstEGLImageDestroyNotify) _destroy_egl_image);
}
#endif /* GST_GL_HAVE_DMABUF */
diff --git a/gst-libs/gst/gl/egl/gstglmemoryegl.c b/gst-libs/gst/gl/egl/gstglmemoryegl.c
index cde47ca..2af2288 100644
--- a/gst-libs/gst/gl/egl/gstglmemoryegl.c
+++ b/gst-libs/gst/gl/egl/gstglmemoryegl.c
@@ -173,7 +173,7 @@
}
gl_mem->image = gst_egl_image_new_wrapped (context, image, 0, 0,
- (GstEGLImageDestroyNotify) _destroy_egl_image, NULL);
+ NULL, (GstEGLImageDestroyNotify) _destroy_egl_image);
} else {
gl->ActiveTexture (GL_TEXTURE0 + gl_mem->mem.plane);
gl->BindTexture (GL_TEXTURE_2D, gl_mem->mem.tex_id);
diff --git a/gst-libs/gst/gl/gstglapi.h b/gst-libs/gst/gl/gstglapi.h
index 93b60b7..3088920 100644
--- a/gst-libs/gst/gl/gstglapi.h
+++ b/gst-libs/gst/gl/gstglapi.h
@@ -62,6 +62,9 @@
# include <OpenGL/gl3.h>
# endif
# else
+# if defined(_MSC_VER)
+# include <windows.h>
+# endif
# include <GL/gl.h>
# if defined(__WIN32__) || defined(_WIN32)
# include <GL/glext.h>
@@ -73,7 +76,7 @@
#pragma GCC diagnostic pop
#endif
-#ifdef WINAPI
+#if defined(WINAPI)
#define GSTGLAPI WINAPI
#else
#define GSTGLAPI
@@ -171,10 +174,14 @@
#undef GST_GL_EXT_FUNCTION
#undef GST_GL_EXT_END
+GST_EXPORT
gchar * gst_gl_api_to_string (GstGLAPI api);
+GST_EXPORT
GstGLAPI gst_gl_api_from_string (const gchar * api_s);
+GST_EXPORT
gchar * gst_gl_platform_to_string (GstGLPlatform platform);
+GST_EXPORT
GstGLPlatform gst_gl_platform_from_string (const gchar * platform_s);
G_END_DECLS
diff --git a/gst-libs/gst/gl/gstglbasefilter.h b/gst-libs/gst/gl/gstglbasefilter.h
index f893127..aa5b946 100644
--- a/gst-libs/gst/gl/gstglbasefilter.h
+++ b/gst-libs/gst/gl/gstglbasefilter.h
@@ -31,6 +31,7 @@
G_BEGIN_DECLS
+GST_EXPORT
GType gst_gl_base_filter_get_type(void);
#define GST_TYPE_GL_BASE_FILTER (gst_gl_base_filter_get_type())
#define GST_GL_BASE_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_GL_BASE_FILTER,GstGLBaseFilter))
diff --git a/gst-libs/gst/gl/gstglbasememory.h b/gst-libs/gst/gl/gstglbasememory.h
index 22129d0..980eb40 100644
--- a/gst-libs/gst/gl/gstglbasememory.h
+++ b/gst-libs/gst/gl/gstglbasememory.h
@@ -30,6 +30,7 @@
G_BEGIN_DECLS
#define GST_TYPE_GL_BASE_MEMORY_ALLOCATOR (gst_gl_base_memory_allocator_get_type())
+GST_EXPORT
GType gst_gl_base_memory_allocator_get_type(void);
#define GST_IS_GL_BASE_MEMORY_ALLOCATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_GL_BASE_MEMORY_ALLOCATOR))
@@ -41,6 +42,7 @@
#define GST_GL_BASE_MEMORY_CAST(mem) ((GstGLBaseMemory *)mem)
+GST_EXPORT
GQuark gst_gl_base_memory_error_quark (void);
#define GST_GL_BASE_MEMORY_ERROR (gst_gl_base_memory_error_quark ())
@@ -136,6 +138,7 @@
typedef void (*GstGLAllocationParamsFreeFunc) (gpointer params);
#define GST_TYPE_GL_ALLOCATION_PARAMS (gst_gl_allocation_params_get_type())
+GST_EXPORT
GType gst_gl_allocation_params_get_type (void);
#define GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_ALLOC (1 << 0)
@@ -195,12 +198,16 @@
GDestroyNotify notify);
/* free with gst_gl_allocation_params_free */
+GST_EXPORT
GstGLAllocationParams * gst_gl_allocation_params_copy (GstGLAllocationParams * src);
+GST_EXPORT
void gst_gl_allocation_params_free (GstGLAllocationParams * params);
/* subclass usage */
+GST_EXPORT
void gst_gl_allocation_params_free_data (GstGLAllocationParams * params);
/* subclass usage */
+GST_EXPORT
void gst_gl_allocation_params_copy_data (GstGLAllocationParams * src,
GstGLAllocationParams * dest);
@@ -345,9 +352,12 @@
*/
#define GST_GL_BASE_MEMORY_ALLOCATOR_NAME "GLBaseMemory"
+GST_EXPORT
void gst_gl_base_memory_init_once (void);
+GST_EXPORT
gboolean gst_is_gl_base_memory (GstMemory * mem);
+GST_EXPORT
void gst_gl_base_memory_init (GstGLBaseMemory * mem,
GstAllocator * allocator,
GstMemory * parent,
@@ -357,12 +367,15 @@
gpointer user_data,
GDestroyNotify notify);
+GST_EXPORT
gboolean gst_gl_base_memory_alloc_data (GstGLBaseMemory * gl_mem);
+GST_EXPORT
gboolean gst_gl_base_memory_memcpy (GstGLBaseMemory * src,
GstGLBaseMemory * dest,
gssize offset,
gssize size);
+GST_EXPORT
GstGLBaseMemory * gst_gl_base_memory_alloc (GstGLBaseMemoryAllocator * allocator,
GstGLAllocationParams * params);
diff --git a/gst-libs/gst/gl/gstglbuffer.h b/gst-libs/gst/gl/gstglbuffer.h
index e481536..c6ef6a5 100644
--- a/gst-libs/gst/gl/gstglbuffer.h
+++ b/gst-libs/gst/gl/gstglbuffer.h
@@ -30,6 +30,7 @@
G_BEGIN_DECLS
#define GST_TYPE_GL_BUFFER_ALLOCATOR (gst_gl_buffer_allocator_get_type())
+GST_EXPORT
GType gst_gl_buffer_allocator_get_type(void);
#define GST_IS_GL_BUFFER_ALLOCATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_GL_ALLOCATOR))
@@ -79,6 +80,7 @@
gpointer _padding[GST_PADDING];
};
+GST_EXPORT
GstGLBufferAllocationParams * gst_gl_buffer_allocation_params_new (GstGLContext * context,
gsize alloc_size,
GstAllocationParams * alloc_params,
@@ -120,9 +122,12 @@
*/
#define GST_GL_BUFFER_ALLOCATOR_NAME "GLBuffer"
+GST_EXPORT
void gst_gl_buffer_init_once (void);
+GST_EXPORT
gboolean gst_is_gl_buffer (GstMemory * mem);
+GST_EXPORT
GstGLBuffer * gst_gl_buffer_alloc (GstGLContext * context,
guint gl_target,
guint gl_usage,
diff --git a/gst-libs/gst/gl/gstglbufferpool.h b/gst-libs/gst/gl/gstglbufferpool.h
index a136955..bfe5371 100644
--- a/gst-libs/gst/gl/gstglbufferpool.h
+++ b/gst-libs/gst/gl/gstglbufferpool.h
@@ -30,6 +30,7 @@
G_BEGIN_DECLS
/* buffer pool functions */
+GST_EXPORT
GType gst_gl_buffer_pool_get_type (void);
#define GST_TYPE_GL_BUFFER_POOL (gst_gl_buffer_pool_get_type())
#define GST_IS_GL_BUFFER_POOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_GL_BUFFER_POOL))
@@ -66,9 +67,12 @@
gpointer _padding[GST_PADDING];
};
+GST_EXPORT
GstBufferPool *gst_gl_buffer_pool_new (GstGLContext * context);
+GST_EXPORT
GstGLAllocationParams * gst_buffer_pool_config_get_gl_allocation_params (GstStructure * config);
+GST_EXPORT
void gst_buffer_pool_config_set_gl_allocation_params (GstStructure * config,
GstGLAllocationParams * params);
diff --git a/gst-libs/gst/gl/gstglcolorconvert.c b/gst-libs/gst/gl/gstglcolorconvert.c
index e9eb88a..908a53e 100644
--- a/gst-libs/gst/gl/gstglcolorconvert.c
+++ b/gst-libs/gst/gl/gstglcolorconvert.c
@@ -69,19 +69,19 @@
* Y = [16..235] (of 255)
* Cb/Cr = [16..240] (of 255)
*/
-static const gfloat from_yuv_bt601_offset[] = {-0.0625, -0.5, -0.5};
-static const gfloat from_yuv_bt601_rcoeff[] = {1.164, 0.000, 1.596};
-static const gfloat from_yuv_bt601_gcoeff[] = {1.164,-0.391,-0.813};
-static const gfloat from_yuv_bt601_bcoeff[] = {1.164, 2.018, 0.000};
+static const gfloat from_yuv_bt601_offset[] = {-0.0625f, -0.5f, -0.5f};
+static const gfloat from_yuv_bt601_rcoeff[] = {1.164f, 0.000f, 1.596f};
+static const gfloat from_yuv_bt601_gcoeff[] = {1.164f,-0.391f,-0.813f};
+static const gfloat from_yuv_bt601_bcoeff[] = {1.164f, 2.018f, 0.000f};
/* BT. 709 standard with the following ranges:
* Y = [16..235] (of 255)
* Cb/Cr = [16..240] (of 255)
*/
-static const gfloat from_yuv_bt709_offset[] = {-0.0625, -0.5, -0.5};
-static const gfloat from_yuv_bt709_rcoeff[] = {1.164, 0.000, 1.787};
-static const gfloat from_yuv_bt709_gcoeff[] = {1.164,-0.213,-0.531};
-static const gfloat from_yuv_bt709_bcoeff[] = {1.164,2.112, 0.000};
+static const gfloat from_yuv_bt709_offset[] = {-0.0625f, -0.5f, -0.5f};
+static const gfloat from_yuv_bt709_rcoeff[] = {1.164f, 0.000f, 1.787f};
+static const gfloat from_yuv_bt709_gcoeff[] = {1.164f,-0.213f,-0.531f};
+static const gfloat from_yuv_bt709_bcoeff[] = {1.164f,2.112f, 0.000f};
#define RGB_TO_YUV_COEFFICIENTS \
"uniform vec3 offset;\n" \
@@ -94,19 +94,19 @@
* Y = [16..235] (of 255)
* Cb/Cr = [16..240] (of 255)
*/
-static const gfloat from_rgb_bt601_offset[] = {0.0625, 0.5, 0.5};
-static const gfloat from_rgb_bt601_ycoeff[] = {0.256816, 0.504154, 0.0979137};
-static const gfloat from_rgb_bt601_ucoeff[] = {-0.148246, -0.29102, 0.439266};
-static const gfloat from_rgb_bt601_vcoeff[] = {0.439271, -0.367833, -0.071438};
+static const gfloat from_rgb_bt601_offset[] = {0.0625f, 0.5f, 0.5f};
+static const gfloat from_rgb_bt601_ycoeff[] = {0.256816f, 0.504154f, 0.0979137f};
+static const gfloat from_rgb_bt601_ucoeff[] = {-0.148246f, -0.29102f, 0.439266f};
+static const gfloat from_rgb_bt601_vcoeff[] = {0.439271f, -0.367833f, -0.071438f};
/* BT. 709 standard with the following ranges:
* Y = [16..235] (of 255)
* Cb/Cr = [16..240] (of 255)
*/
-static const gfloat from_rgb_bt709_offset[] = {0.0625, 0.5, 0.5};
-static const gfloat from_rgb_bt709_ycoeff[] = { 0.182604, 0.614526, 0.061976 };
-static const gfloat from_rgb_bt709_ucoeff[] = { -0.100640, -0.338688, 0.439327 };
-static const gfloat from_rgb_bt709_vcoeff[] = { 0.440654, -0.400285, -0.040370 };
+static const gfloat from_rgb_bt709_offset[] = {0.0625f, 0.5f, 0.5f};
+static const gfloat from_rgb_bt709_ycoeff[] = {0.182604f, 0.614526f, 0.061976f};
+static const gfloat from_rgb_bt709_ucoeff[] = {-0.100640f, -0.338688f, 0.439327f};
+static const gfloat from_rgb_bt709_vcoeff[] = {0.440654f, -0.400285f, -0.040370f};
/* GRAY16 to RGB conversion
* data transfered as GL_LUMINANCE_ALPHA then convert back to GRAY16
diff --git a/gst-libs/gst/gl/gstglcolorconvert.h b/gst-libs/gst/gl/gstglcolorconvert.h
index d978e7e..efae55e 100644
--- a/gst-libs/gst/gl/gstglcolorconvert.h
+++ b/gst-libs/gst/gl/gstglcolorconvert.h
@@ -28,6 +28,7 @@
G_BEGIN_DECLS
+GST_EXPORT
GType gst_gl_color_convert_get_type (void);
#define GST_TYPE_GL_COLOR_CONVERT (gst_gl_color_convert_get_type())
#define GST_GL_COLOR_CONVERT(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_GL_COLOR_CONVERT,GstGLColorConvert))
@@ -112,22 +113,28 @@
"framerate = " GST_VIDEO_FPS_RANGE ", " \
"texture-target = (string) { 2D, rectangle, external-oes }"
+GST_EXPORT
GstGLColorConvert * gst_gl_color_convert_new (GstGLContext * context);
+GST_EXPORT
GstCaps * gst_gl_color_convert_transform_caps (GstGLContext * convert,
GstPadDirection direction,
GstCaps * caps,
GstCaps * filter);
+GST_EXPORT
GstCaps * gst_gl_color_convert_fixate_caps (GstGLContext * convert,
GstPadDirection direction,
GstCaps * caps,
GstCaps * other);
+GST_EXPORT
gboolean gst_gl_color_convert_set_caps (GstGLColorConvert * convert,
GstCaps * in_caps,
GstCaps * out_caps);
+GST_EXPORT
gboolean gst_gl_color_convert_decide_allocation (GstGLColorConvert * convert,
GstQuery * query);
+GST_EXPORT
GstBuffer * gst_gl_color_convert_perform (GstGLColorConvert * convert, GstBuffer * inbuf);
G_END_DECLS
diff --git a/gst-libs/gst/gl/gstglcontext.h b/gst-libs/gst/gl/gstglcontext.h
index 83e159d..699a73f 100644
--- a/gst-libs/gst/gl/gstglcontext.h
+++ b/gst-libs/gst/gl/gstglcontext.h
@@ -33,9 +33,11 @@
#define GST_IS_GL_CONTEXT(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GST_GL_TYPE_CONTEXT))
#define GST_IS_GL_CONTEXT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE((k), GST_GL_TYPE_CONTEXT))
#define GST_GL_CONTEXT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), GST_GL_TYPE_CONTEXT, GstGLContextClass))
+GST_EXPORT
GType gst_gl_context_get_type (void);
#define GST_GL_CONTEXT_ERROR (gst_gl_context_error_quark ())
+GST_EXPORT
GQuark gst_gl_context_error_quark (void);
/**
@@ -115,45 +117,71 @@
/* methods */
+GST_EXPORT
GstGLContext * gst_gl_context_new (GstGLDisplay *display);
+GST_EXPORT
GstGLContext * gst_gl_context_new_wrapped (GstGLDisplay *display,
guintptr handle,
GstGLPlatform context_type,
GstGLAPI available_apis);
+GST_EXPORT
gboolean gst_gl_context_activate (GstGLContext *context, gboolean activate);
+GST_EXPORT
GThread * gst_gl_context_get_thread (GstGLContext *context);
+GST_EXPORT
GstGLContext * gst_gl_context_get_current (void);
+GST_EXPORT
GstGLDisplay * gst_gl_context_get_display (GstGLContext *context);
+GST_EXPORT
gpointer gst_gl_context_get_proc_address (GstGLContext *context, const gchar *name);
+GST_EXPORT
GstGLPlatform gst_gl_context_get_gl_platform (GstGLContext *context);
+GST_EXPORT
GstGLAPI gst_gl_context_get_gl_api (GstGLContext *context);
+GST_EXPORT
guintptr gst_gl_context_get_gl_context (GstGLContext *context);
+GST_EXPORT
gboolean gst_gl_context_can_share (GstGLContext * context, GstGLContext *other_context);
+GST_EXPORT
gboolean gst_gl_context_create (GstGLContext *context, GstGLContext *other_context, GError ** error);
+GST_EXPORT
void gst_gl_context_destroy (GstGLContext *context);
+GST_EXPORT
gpointer gst_gl_context_default_get_proc_address (GstGLAPI gl_api, const gchar *name);
+GST_EXPORT
gpointer gst_gl_context_get_proc_address_with_platform (GstGLPlatform context_type, GstGLAPI gl_api, const gchar *name);
+GST_EXPORT
gboolean gst_gl_context_set_window (GstGLContext *context, GstGLWindow *window);
+GST_EXPORT
GstGLWindow * gst_gl_context_get_window (GstGLContext *context);
+GST_EXPORT
void gst_gl_context_get_gl_version (GstGLContext *context, gint *maj, gint *min);
+GST_EXPORT
gboolean gst_gl_context_check_gl_version (GstGLContext * context, GstGLAPI api, gint maj, gint min);
+GST_EXPORT
gboolean gst_gl_context_check_feature (GstGLContext *context, const gchar *feature);
+GST_EXPORT
guintptr gst_gl_context_get_current_gl_context (GstGLPlatform context_type);
+GST_EXPORT
GstGLAPI gst_gl_context_get_current_gl_api (GstGLPlatform platform, guint *major, guint *minor);
+GST_EXPORT
gboolean gst_gl_context_is_shared (GstGLContext * context);
+GST_EXPORT
void gst_gl_context_set_shared_with (GstGLContext * context, GstGLContext * share);
+GST_EXPORT
gboolean gst_gl_context_fill_info (GstGLContext * context, GError ** error);
/* FIXME: remove */
+GST_EXPORT
void gst_gl_context_thread_add (GstGLContext * context,
GstGLContextThreadFunc func, gpointer data);
diff --git a/gst-libs/gst/gl/gstglcontrolbindingproxy.h b/gst-libs/gst/gl/gstglcontrolbindingproxy.h
index b3a9310..8a205a8 100644
--- a/gst-libs/gst/gl/gstglcontrolbindingproxy.h
+++ b/gst-libs/gst/gl/gstglcontrolbindingproxy.h
@@ -25,6 +25,7 @@
G_BEGIN_DECLS
+GST_EXPORT
GType gst_gl_control_binding_proxy_get_type (void);
#define GST_TYPE_GL_CONTROL_BINDING_PROXY (gst_gl_control_binding_proxy_get_type())
@@ -44,11 +45,13 @@
GstControlBindingClass parent_class;
};
+GST_EXPORT
GstControlBinding * gst_gl_control_binding_proxy_new (GstObject * object,
const gchar * property_name,
GstObject * ref_object,
const gchar * ref_property_name);
+GST_EXPORT
void gst_gl_object_add_control_binding_proxy (GstObject * object,
GstObject * ref_object,
const gchar * prop);
diff --git a/gst-libs/gst/gl/gstgldebug.h b/gst-libs/gst/gl/gstgldebug.h
index f131428..36ba3a6 100644
--- a/gst-libs/gst/gl/gstgldebug.h
+++ b/gst-libs/gst/gl/gstgldebug.h
@@ -55,11 +55,17 @@
gpointer _padding[GST_PADDING];
};
+GST_EXPORT
GstGLAsyncDebug * gst_gl_async_debug_new (void);
+GST_EXPORT
void gst_gl_async_debug_free (GstGLAsyncDebug * ad);
+GST_EXPORT
void gst_gl_async_debug_init (GstGLAsyncDebug * ad);
+GST_EXPORT
void gst_gl_async_debug_unset (GstGLAsyncDebug * ad);
+GST_EXPORT
void gst_gl_async_debug_freeze (GstGLAsyncDebug * ad);
+GST_EXPORT
void gst_gl_async_debug_thaw (GstGLAsyncDebug * ad);
/**
@@ -113,9 +119,12 @@
#if !defined(GST_DISABLE_GST_DEBUG)
+GST_EXPORT
void gst_gl_insert_debug_marker (GstGLContext * context,
const gchar * format, ...) G_GNUC_PRINTF (2, 3);
+GST_EXPORT
void gst_gl_async_debug_output_log_msg (GstGLAsyncDebug * ad);
+GST_EXPORT
void gst_gl_async_debug_store_log_msg (GstGLAsyncDebug * ad,
GstDebugCategory * cat,
GstDebugLevel level,
@@ -124,6 +133,7 @@
gint line,
GObject * object,
const gchar * format, ...) G_GNUC_PRINTF (8, 9);
+GST_EXPORT
void gst_gl_async_debug_store_log_msg_valist (GstGLAsyncDebug * ad,
GstDebugCategory * cat,
GstDebugLevel level,
diff --git a/gst-libs/gst/gl/gstgldisplay.h b/gst-libs/gst/gl/gstgldisplay.h
index bc00b68..a02e904 100644
--- a/gst-libs/gst/gl/gstgldisplay.h
+++ b/gst-libs/gst/gl/gstgldisplay.h
@@ -30,6 +30,7 @@
G_BEGIN_DECLS
+GST_EXPORT
GType gst_gl_display_get_type (void);
#define GST_TYPE_GL_DISPLAY (gst_gl_display_get_type())
@@ -90,26 +91,37 @@
gpointer _padding[GST_PADDING];
};
+GST_EXPORT
GstGLDisplay *gst_gl_display_new (void);
#define gst_gl_display_lock(display) GST_OBJECT_LOCK (display)
#define gst_gl_display_unlock(display) GST_OBJECT_UNLOCK (display)
+GST_EXPORT
guintptr gst_gl_display_get_handle (GstGLDisplay * display);
+GST_EXPORT
GstGLDisplayType gst_gl_display_get_handle_type (GstGLDisplay * display);
+GST_EXPORT
void gst_gl_display_filter_gl_api (GstGLDisplay * display,
GstGLAPI gl_api);
+GST_EXPORT
GstGLAPI gst_gl_display_get_gl_api (GstGLDisplay * display);
+GST_EXPORT
GstGLAPI gst_gl_display_get_gl_api_unlocked (GstGLDisplay * display);
#define GST_GL_DISPLAY_CONTEXT_TYPE "gst.gl.GLDisplay"
+GST_EXPORT
void gst_context_set_gl_display (GstContext * context, GstGLDisplay * display);
+GST_EXPORT
gboolean gst_context_get_gl_display (GstContext * context, GstGLDisplay ** display);
+GST_EXPORT
gboolean gst_gl_display_create_context (GstGLDisplay * display,
GstGLContext * other_context, GstGLContext ** p_context, GError **error);
+GST_EXPORT
GstGLContext * gst_gl_display_get_gl_context_for_thread (GstGLDisplay * display,
GThread * thread);
+GST_EXPORT
gboolean gst_gl_display_add_context (GstGLDisplay * display,
GstGLContext * context);
diff --git a/gst-libs/gst/gl/gstglfeature.h b/gst-libs/gst/gl/gstglfeature.h
index f1ae142..b75c3e1 100644
--- a/gst-libs/gst/gl/gstglfeature.h
+++ b/gst-libs/gst/gl/gstglfeature.h
@@ -94,7 +94,7 @@
const GstGLFeatureFunction *functions;
};
-gboolean
+GST_EXPORT gboolean
gst_gl_check_extension (const char *name, const gchar * ext);
G_GNUC_INTERNAL gboolean
diff --git a/gst-libs/gst/gl/gstglfilter.h b/gst-libs/gst/gl/gstglfilter.h
index cdebe57..6538abd 100644
--- a/gst-libs/gst/gl/gstglfilter.h
+++ b/gst-libs/gst/gl/gstglfilter.h
@@ -30,6 +30,7 @@
G_BEGIN_DECLS
+GST_EXPORT
GType gst_gl_filter_get_type(void);
#define GST_TYPE_GL_FILTER (gst_gl_filter_get_type())
#define GST_GL_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_GL_FILTER,GstGLFilter))
@@ -120,16 +121,20 @@
gpointer _padding[GST_PADDING];
};
+GST_EXPORT
gboolean gst_gl_filter_filter_texture (GstGLFilter * filter, GstBuffer * inbuf,
GstBuffer * outbuf);
+GST_EXPORT
gboolean gst_gl_filter_render_to_target (GstGLFilter *filter,
GstGLMemory * input,
GstGLMemory * output,
GstGLFilterRenderFunc func,
gpointer data);
+GST_EXPORT
void gst_gl_filter_draw_fullscreen_quad (GstGLFilter *filter);
+GST_EXPORT
void gst_gl_filter_render_to_target_with_shader (GstGLFilter * filter,
GstGLMemory * input,
GstGLMemory * output,
diff --git a/gst-libs/gst/gl/gstglformat.h b/gst-libs/gst/gl/gstglformat.h
index e4e6e37..9bcb302 100644
--- a/gst-libs/gst/gl/gstglformat.h
+++ b/gst-libs/gst/gl/gstglformat.h
@@ -97,21 +97,31 @@
GST_GL_DEPTH24_STENCIL8 = 0x88F0,
} GstGLFormat;
+GST_EXPORT
guint gst_gl_format_type_n_bytes (guint format,
guint type);
+GST_EXPORT
guint gst_gl_texture_type_n_bytes (GstVideoGLTextureType tex_format);
+GST_EXPORT
guint gst_gl_format_from_gl_texture_type (GstVideoGLTextureType tex_format);
+GST_EXPORT
GstVideoGLTextureType gst_gl_texture_type_from_format (GstGLContext * context,
GstVideoFormat v_format,
guint plane);
+GST_EXPORT
guint gst_gl_sized_gl_format_from_gl_format_type (GstGLContext * context,
guint format,
guint type);
+GST_EXPORT
GstGLTextureTarget gst_gl_texture_target_from_string (const gchar * str);
+GST_EXPORT
const gchar * gst_gl_texture_target_to_string (GstGLTextureTarget target);
+GST_EXPORT
guint gst_gl_texture_target_to_gl (GstGLTextureTarget target);
+GST_EXPORT
GstGLTextureTarget gst_gl_texture_target_from_gl (guint target);
+GST_EXPORT
const gchar * gst_gl_texture_target_to_buffer_pool_option (GstGLTextureTarget target);
G_END_DECLS
diff --git a/gst-libs/gst/gl/gstglframebuffer.h b/gst-libs/gst/gl/gstglframebuffer.h
index 6298af1..99ea4ea 100644
--- a/gst-libs/gst/gl/gstglframebuffer.h
+++ b/gst-libs/gst/gl/gstglframebuffer.h
@@ -25,6 +25,7 @@
G_BEGIN_DECLS
+GST_EXPORT
GType gst_gl_framebuffer_get_type (void);
#define GST_TYPE_GL_FRAMEBUFFER (gst_gl_framebuffer_get_type())
@@ -67,25 +68,34 @@
gpointer _padding[GST_PADDING];
};
+GST_EXPORT
GstGLFramebuffer * gst_gl_framebuffer_new (GstGLContext *context);
+GST_EXPORT
GstGLFramebuffer * gst_gl_framebuffer_new_with_default_depth (GstGLContext *context,
guint width,
guint height);
+GST_EXPORT
guint gst_gl_framebuffer_get_id (GstGLFramebuffer * fb);
+GST_EXPORT
void gst_gl_framebuffer_attach (GstGLFramebuffer * fb,
guint attachment_point,
GstGLBaseMemory * mem);
+GST_EXPORT
void gst_gl_framebuffer_bind (GstGLFramebuffer * fb);
+GST_EXPORT
void gst_gl_context_clear_framebuffer (GstGLContext * context);
+GST_EXPORT
void gst_gl_framebuffer_get_effective_dimensions (GstGLFramebuffer * fb,
guint * width,
guint * height);
+GST_EXPORT
gboolean gst_gl_context_check_framebuffer_status (GstGLContext * context);
+GST_EXPORT
gboolean gst_gl_framebuffer_draw_to_texture (GstGLFramebuffer * fb,
GstGLMemory * mem,
GstGLFramebufferFunc cb,
diff --git a/gst-libs/gst/gl/gstglmemory.h b/gst-libs/gst/gl/gstglmemory.h
index d632564..6cdcdce 100644
--- a/gst-libs/gst/gl/gstglmemory.h
+++ b/gst-libs/gst/gl/gstglmemory.h
@@ -31,6 +31,7 @@
G_BEGIN_DECLS
#define GST_TYPE_GL_MEMORY_ALLOCATOR (gst_gl_memory_allocator_get_type())
+GST_EXPORT
GType gst_gl_memory_allocator_get_type(void);
#define GST_IS_GL_MEMORY_ALLOCATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_GL_MEMORY_ALLOCATOR))
@@ -101,6 +102,7 @@
gpointer _padding[GST_PADDING];
};
+GST_EXPORT
gboolean gst_gl_video_allocation_params_init_full (GstGLVideoAllocationParams * params,
gsize struct_size,
guint alloc_flags,
@@ -117,6 +119,7 @@
gpointer gl_handle,
gpointer user_data,
GDestroyNotify notify);
+GST_EXPORT
GstGLVideoAllocationParams * gst_gl_video_allocation_params_new (GstGLContext * context,
GstAllocationParams * alloc_params,
GstVideoInfo * v_info,
@@ -124,6 +127,7 @@
GstVideoAlignment * valign,
GstGLTextureTarget target,
GstVideoGLTextureType tex_type);
+GST_EXPORT
GstGLVideoAllocationParams * gst_gl_video_allocation_params_new_wrapped_data (GstGLContext * context,
GstAllocationParams * alloc_params,
GstVideoInfo * v_info,
@@ -135,6 +139,7 @@
gpointer user_data,
GDestroyNotify notify);
+GST_EXPORT
GstGLVideoAllocationParams * gst_gl_video_allocation_params_new_wrapped_texture (GstGLContext * context,
GstAllocationParams * alloc_params,
GstVideoInfo * v_info,
@@ -146,6 +151,7 @@
gpointer user_data,
GDestroyNotify notify);
+GST_EXPORT
GstGLVideoAllocationParams * gst_gl_video_allocation_params_new_wrapped_gl_handle (GstGLContext * context,
GstAllocationParams * alloc_params,
GstVideoInfo * v_info,
@@ -158,8 +164,10 @@
GDestroyNotify notify);
/* subclass usage */
+GST_EXPORT
void gst_gl_video_allocation_params_free_data (GstGLVideoAllocationParams * params);
/* subclass usage */
+GST_EXPORT
void gst_gl_video_allocation_params_copy_data (GstGLVideoAllocationParams * src_vid,
GstGLVideoAllocationParams * dest_vid);
@@ -202,9 +210,12 @@
*/
#define GST_GL_MEMORY_ALLOCATOR_NAME "GLMemory"
+GST_EXPORT
void gst_gl_memory_init_once (void);
+GST_EXPORT
gboolean gst_is_gl_memory (GstMemory * mem);
+GST_EXPORT
void gst_gl_memory_init (GstGLMemory * mem,
GstAllocator * allocator,
GstMemory * parent,
@@ -218,12 +229,14 @@
gpointer user_data,
GDestroyNotify notify);
+GST_EXPORT
gboolean gst_gl_memory_copy_into (GstGLMemory *gl_mem,
guint tex_id,
GstGLTextureTarget target,
GstVideoGLTextureType tex_type,
gint width,
gint height);
+GST_EXPORT
gboolean gst_gl_memory_copy_teximage (GstGLMemory * src,
guint tex_id,
GstGLTextureTarget out_target,
@@ -231,18 +244,26 @@
gint width,
gint height);
+GST_EXPORT
gboolean gst_gl_memory_read_pixels (GstGLMemory * gl_mem,
gpointer read_pointer);
+GST_EXPORT
void gst_gl_memory_texsubimage (GstGLMemory * gl_mem,
gpointer read_pointer);
/* accessors */
+GST_EXPORT
gint gst_gl_memory_get_texture_width (GstGLMemory * gl_mem);
+GST_EXPORT
gint gst_gl_memory_get_texture_height (GstGLMemory * gl_mem);
+GST_EXPORT
GstVideoGLTextureType gst_gl_memory_get_texture_type (GstGLMemory * gl_mem);
+GST_EXPORT
GstGLTextureTarget gst_gl_memory_get_texture_target (GstGLMemory * gl_mem);
+GST_EXPORT
guint gst_gl_memory_get_texture_id (GstGLMemory * gl_mem);
+GST_EXPORT
gboolean gst_gl_memory_setup_buffer (GstGLMemoryAllocator * allocator,
GstBuffer * buffer,
GstGLVideoAllocationParams * params,
@@ -250,6 +271,7 @@
gpointer *wrapped_data,
gsize n_wrapped_pointers);
+GST_EXPORT
GstGLMemoryAllocator * gst_gl_memory_allocator_get_default (GstGLContext *context);
G_END_DECLS
diff --git a/gst-libs/gst/gl/gstglmemorypbo.h b/gst-libs/gst/gl/gstglmemorypbo.h
index 830c0f4..66ee6b8 100644
--- a/gst-libs/gst/gl/gstglmemorypbo.h
+++ b/gst-libs/gst/gl/gstglmemorypbo.h
@@ -32,6 +32,7 @@
G_BEGIN_DECLS
#define GST_TYPE_GL_MEMORY_PBO_ALLOCATOR (gst_gl_memory_pbo_allocator_get_type())
+GST_EXPORT
GType gst_gl_memory_pbo_allocator_get_type(void);
#define GST_IS_GL_MEMORY_PBO_ALLOCATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_GL_MEMORY_PBO_ALLOCATOR))
@@ -64,12 +65,17 @@
*/
#define GST_GL_MEMORY_PBO_ALLOCATOR_NAME "GLMemoryPBO"
+GST_EXPORT
void gst_gl_memory_pbo_init_once (void);
+GST_EXPORT
gboolean gst_is_gl_memory_pbo (GstMemory * mem);
+GST_EXPORT
void gst_gl_memory_pbo_download_transfer (GstGLMemoryPBO * gl_mem);
+GST_EXPORT
void gst_gl_memory_pbo_upload_transfer (GstGLMemoryPBO * gl_mem);
+GST_EXPORT
gboolean gst_gl_memory_pbo_copy_into_texture (GstGLMemoryPBO *gl_mem,
guint tex_id,
GstGLTextureTarget target,
diff --git a/gst-libs/gst/gl/gstgloverlaycompositor.h b/gst-libs/gst/gl/gstgloverlaycompositor.h
index dc8434a..0f4f1b2 100644
--- a/gst-libs/gst/gl/gstgloverlaycompositor.h
+++ b/gst-libs/gst/gl/gstgloverlaycompositor.h
@@ -33,6 +33,7 @@
G_BEGIN_DECLS
+GST_EXPORT
GType gst_gl_overlay_compositor_get_type (void);
/**
@@ -71,15 +72,20 @@
gpointer _padding[GST_PADDING];
};
+GST_EXPORT
GstGLOverlayCompositor *gst_gl_overlay_compositor_new (GstGLContext * context);
+GST_EXPORT
void gst_gl_overlay_compositor_free_overlays (GstGLOverlayCompositor * compositor);
+GST_EXPORT
void gst_gl_overlay_compositor_upload_overlays (GstGLOverlayCompositor * compositor,
GstBuffer * buf);
+GST_EXPORT
void gst_gl_overlay_compositor_draw_overlays (GstGLOverlayCompositor * compositor);
+GST_EXPORT
GstCaps * gst_gl_overlay_compositor_add_caps(GstCaps * caps);
G_END_DECLS
diff --git a/gst-libs/gst/gl/gstglquery.h b/gst-libs/gst/gl/gstglquery.h
index 33777d4..c364a0b 100644
--- a/gst-libs/gst/gl/gstglquery.h
+++ b/gst-libs/gst/gl/gstglquery.h
@@ -47,17 +47,25 @@
gpointer _padding[GST_PADDING];
};
+GST_EXPORT
void gst_gl_query_init (GstGLQuery * query,
GstGLContext * context,
GstGLQueryType query_type);
+GST_EXPORT
void gst_gl_query_unset (GstGLQuery * query);
+GST_EXPORT
GstGLQuery * gst_gl_query_new (GstGLContext * context,
GstGLQueryType query_type);
+GST_EXPORT
void gst_gl_query_free (GstGLQuery * query);
+GST_EXPORT
void gst_gl_query_start (GstGLQuery * query);
+GST_EXPORT
void gst_gl_query_end (GstGLQuery * query);
+GST_EXPORT
void gst_gl_query_counter (GstGLQuery * query);
+GST_EXPORT
guint64 gst_gl_query_result (GstGLQuery * query);
#define gst_gl_query_start_log_valist(query,cat,level,object,format,varargs) \
diff --git a/gst-libs/gst/gl/gstglshader.c b/gst-libs/gst/gl/gstglshader.c
index 9f09236..c161308 100644
--- a/gst-libs/gst/gl/gstglshader.c
+++ b/gst-libs/gst/gl/gstglshader.c
@@ -48,22 +48,22 @@
typedef struct _GstGLShaderVTable
{
- GLuint GSTGLAPI (*CreateProgram) (void);
- void GSTGLAPI (*DeleteProgram) (GLuint program);
- void GSTGLAPI (*UseProgram) (GLuint program);
- void GSTGLAPI (*GetAttachedShaders) (GLuint program, GLsizei maxcount,
+ GLuint (GSTGLAPI *CreateProgram) (void);
+ void (GSTGLAPI *DeleteProgram) (GLuint program);
+ void (GSTGLAPI *UseProgram) (GLuint program);
+ void (GSTGLAPI *GetAttachedShaders) (GLuint program, GLsizei maxcount,
GLsizei * count, GLuint * shaders);
- GLuint GSTGLAPI (*CreateShader) (GLenum shaderType);
- void GSTGLAPI (*DeleteShader) (GLuint shader);
- void GSTGLAPI (*AttachShader) (GLuint program, GLuint shader);
- void GSTGLAPI (*DetachShader) (GLuint program, GLuint shader);
+ GLuint (GSTGLAPI *CreateShader) (GLenum shaderType);
+ void (GSTGLAPI *DeleteShader) (GLuint shader);
+ void (GSTGLAPI *AttachShader) (GLuint program, GLuint shader);
+ void (GSTGLAPI *DetachShader) (GLuint program, GLuint shader);
- void GSTGLAPI (*GetShaderiv) (GLuint program, GLenum pname, GLint * params);
- void GSTGLAPI (*GetProgramiv) (GLuint program, GLenum pname, GLint * params);
- void GSTGLAPI (*GetShaderInfoLog) (GLuint shader, GLsizei maxLength,
+ void (GSTGLAPI *GetShaderiv) (GLuint program, GLenum pname, GLint * params);
+ void (GSTGLAPI *GetProgramiv) (GLuint program, GLenum pname, GLint * params);
+ void (GSTGLAPI *GetShaderInfoLog) (GLuint shader, GLsizei maxLength,
GLsizei * length, char *log);
- void GSTGLAPI (*GetProgramInfoLog) (GLuint shader, GLsizei maxLength,
+ void (GSTGLAPI *GetProgramInfoLog) (GLuint shader, GLsizei maxLength,
GLsizei * length, char *log);
} GstGLShaderVTable;
diff --git a/gst-libs/gst/gl/gstglshader.h b/gst-libs/gst/gl/gstglshader.h
index 2164f21..96ad48b 100644
--- a/gst-libs/gst/gl/gstglshader.h
+++ b/gst-libs/gst/gl/gstglshader.h
@@ -26,6 +26,7 @@
G_BEGIN_DECLS
+GST_EXPORT
GType gst_gl_shader_get_type (void);
#define GST_GL_TYPE_SHADER (gst_gl_shader_get_type())
#define GST_GL_SHADER(o) (G_TYPE_CHECK_INSTANCE_CAST((o), GST_GL_TYPE_SHADER, GstGLShader))
@@ -51,60 +52,104 @@
GstObjectClass parent_class;
};
+GST_EXPORT
GstGLShader * gst_gl_shader_new (GstGLContext *context);
+GST_EXPORT
GstGLShader * gst_gl_shader_new_with_stages (GstGLContext * context, GError ** error, ...);
+GST_EXPORT
GstGLShader * gst_gl_shader_new_link_with_stages (GstGLContext * context, GError ** error, ...);
+GST_EXPORT
GstGLShader * gst_gl_shader_new_default (GstGLContext * context, GError ** error);
+GST_EXPORT
gboolean gst_gl_shader_attach (GstGLShader * shader, GstGLSLStage * stage);
+GST_EXPORT
gboolean gst_gl_shader_attach_unlocked (GstGLShader * shader, GstGLSLStage * stage);
+GST_EXPORT
void gst_gl_shader_detach (GstGLShader * shader, GstGLSLStage * stage);
+GST_EXPORT
void gst_gl_shader_detach_unlocked (GstGLShader * shader, GstGLSLStage * stage);
+GST_EXPORT
gboolean gst_gl_shader_compile_attach_stage (GstGLShader * shader,
GstGLSLStage *stage,
GError ** error);
+GST_EXPORT
gboolean gst_gl_shader_link (GstGLShader * shader, GError ** error);
+GST_EXPORT
gboolean gst_gl_shader_is_linked (GstGLShader *shader);
+GST_EXPORT
int gst_gl_shader_get_program_handle (GstGLShader * shader);
+GST_EXPORT
void gst_gl_shader_release (GstGLShader *shader);
+GST_EXPORT
void gst_gl_shader_release_unlocked (GstGLShader * shader);
+GST_EXPORT
void gst_gl_shader_use (GstGLShader *shader);
+GST_EXPORT
void gst_gl_context_clear_shader (GstGLContext *context);
+GST_EXPORT
void gst_gl_shader_set_uniform_1i (GstGLShader *shader, const gchar *name, gint value);
+GST_EXPORT
void gst_gl_shader_set_uniform_1iv (GstGLShader *shader, const gchar *name, guint count, gint *value);
+GST_EXPORT
void gst_gl_shader_set_uniform_1f (GstGLShader *shader, const gchar *name, gfloat value);
+GST_EXPORT
void gst_gl_shader_set_uniform_1fv (GstGLShader *shader, const gchar *name, guint count, gfloat *value);
+GST_EXPORT
void gst_gl_shader_set_uniform_2i (GstGLShader *shader, const gchar *name, gint v0, gint v1);
+GST_EXPORT
void gst_gl_shader_set_uniform_2iv (GstGLShader *shader, const gchar *name, guint count, gint *value);
+GST_EXPORT
void gst_gl_shader_set_uniform_2f (GstGLShader *shader, const gchar *name, gfloat v0, gfloat v1);
+GST_EXPORT
void gst_gl_shader_set_uniform_2fv (GstGLShader *shader, const gchar *name, guint count, gfloat *value);
+GST_EXPORT
void gst_gl_shader_set_uniform_3i (GstGLShader *shader, const gchar *name, gint v0, gint v1, gint v2);
+GST_EXPORT
void gst_gl_shader_set_uniform_3iv (GstGLShader *shader, const gchar *name, guint count, gint * value);
+GST_EXPORT
void gst_gl_shader_set_uniform_3f (GstGLShader *shader, const gchar *name, gfloat v0, gfloat v1, gfloat v2);
+GST_EXPORT
void gst_gl_shader_set_uniform_3fv (GstGLShader *shader, const gchar *name, guint count, gfloat *value);
+GST_EXPORT
void gst_gl_shader_set_uniform_4i (GstGLShader *shader, const gchar *name, gint v0, gint v1, gint v2, gint v3);
+GST_EXPORT
void gst_gl_shader_set_uniform_4iv (GstGLShader *shader, const gchar *name, guint count, gint *value);
+GST_EXPORT
void gst_gl_shader_set_uniform_4f (GstGLShader *shader, const gchar *name, gfloat v0, gfloat v1, gfloat v2, gfloat v3);
+GST_EXPORT
void gst_gl_shader_set_uniform_4fv (GstGLShader *shader, const gchar *name, guint count, gfloat *value);
+GST_EXPORT
void gst_gl_shader_set_uniform_matrix_2fv (GstGLShader *shader, const gchar *name, gint count, gboolean transpose, const gfloat* value);
+GST_EXPORT
void gst_gl_shader_set_uniform_matrix_3fv (GstGLShader *shader, const gchar *name, gint count, gboolean transpose, const gfloat* value);
+GST_EXPORT
void gst_gl_shader_set_uniform_matrix_4fv (GstGLShader *shader, const gchar *name, gint count, gboolean transpose, const gfloat* value);
#if GST_GL_HAVE_OPENGL
+GST_EXPORT
void gst_gl_shader_set_uniform_matrix_2x3fv (GstGLShader *shader, const gchar *name, gint count, gboolean transpose, const gfloat* value);
+GST_EXPORT
void gst_gl_shader_set_uniform_matrix_2x4fv (GstGLShader *shader, const gchar *name, gint count, gboolean transpose, const gfloat* value);
+GST_EXPORT
void gst_gl_shader_set_uniform_matrix_3x2fv (GstGLShader *shader, const gchar *name, gint count, gboolean transpose, const gfloat* value);
+GST_EXPORT
void gst_gl_shader_set_uniform_matrix_3x4fv (GstGLShader *shader, const gchar *name, gint count, gboolean transpose, const gfloat* value);
+GST_EXPORT
void gst_gl_shader_set_uniform_matrix_4x2fv (GstGLShader *shader, const gchar *name, gint count, gboolean transpose, const gfloat* value);
+GST_EXPORT
void gst_gl_shader_set_uniform_matrix_4x3fv (GstGLShader *shader, const gchar *name, gint count, gboolean transpose, const gfloat* value);
#endif
+GST_EXPORT
gint gst_gl_shader_get_attribute_location (GstGLShader *shader, const gchar *name);
+GST_EXPORT
void gst_gl_shader_bind_attribute_location (GstGLShader * shader, guint index, const gchar * name);
+GST_EXPORT
void gst_gl_shader_bind_frag_data_location (GstGLShader * shader, guint index, const gchar * name);
G_END_DECLS
diff --git a/gst-libs/gst/gl/gstglshaderstrings.h b/gst-libs/gst/gl/gstglshaderstrings.h
index 89d88b0..0e56471 100644
--- a/gst-libs/gst/gl/gstglshaderstrings.h
+++ b/gst-libs/gst/gl/gstglshaderstrings.h
@@ -25,12 +25,17 @@
G_BEGIN_DECLS
-extern const gchar *gst_gl_shader_string_vertex_default;
-extern const gchar *gst_gl_shader_string_fragment_default;
+GST_EXPORT
+const gchar *gst_gl_shader_string_vertex_default;
+GST_EXPORT
+const gchar *gst_gl_shader_string_fragment_default;
-extern const gchar *gst_gl_shader_string_vertex_mat4_texture_transform;
-extern const gchar *gst_gl_shader_string_vertex_mat4_vertex_transform;
-extern const gchar *gst_gl_shader_string_fragment_external_oes_default;
+GST_EXPORT
+const gchar *gst_gl_shader_string_vertex_mat4_texture_transform;
+GST_EXPORT
+const gchar *gst_gl_shader_string_vertex_mat4_vertex_transform;
+GST_EXPORT
+const gchar *gst_gl_shader_string_fragment_external_oes_default;
G_END_DECLS
diff --git a/gst-libs/gst/gl/gstglsl.h b/gst-libs/gst/gl/gstglsl.h
index 9f051f6..097fea2 100644
--- a/gst-libs/gst/gl/gstglsl.h
+++ b/gst-libs/gst/gl/gstglsl.h
@@ -25,6 +25,7 @@
G_BEGIN_DECLS
+GST_EXPORT
GQuark gst_glsl_error_quark (void);
#define GST_GLSL_ERROR (gst_glsl_error_quark ())
@@ -70,23 +71,32 @@
GST_GLSL_PROFILE_ANY = -1,
} GstGLSLProfile;
+GST_EXPORT
GstGLSLVersion gst_glsl_version_from_string (const gchar * string);
+GST_EXPORT
const gchar * gst_glsl_version_to_string (GstGLSLVersion version);
+GST_EXPORT
GstGLSLProfile gst_glsl_profile_from_string (const gchar * string);
+GST_EXPORT
const gchar * gst_glsl_profile_to_string (GstGLSLProfile profile);
+GST_EXPORT
gchar * gst_glsl_version_profile_to_string (GstGLSLVersion version,
GstGLSLProfile profile);
+GST_EXPORT
gboolean gst_glsl_version_profile_from_string (const gchar * string,
GstGLSLVersion * version,
GstGLSLProfile * profile);
+GST_EXPORT
gboolean gst_glsl_string_get_version_profile (const gchar *s,
GstGLSLVersion * version,
GstGLSLProfile * profile);
+GST_EXPORT
GstGLSLVersion gst_gl_version_to_glsl_version (GstGLAPI gl_api, gint maj, gint min);
+GST_EXPORT
gboolean gst_gl_context_supports_glsl_profile_version (GstGLContext * context,
GstGLSLVersion version,
GstGLSLProfile profile);
diff --git a/gst-libs/gst/gl/gstglsl_private.h b/gst-libs/gst/gl/gstglsl_private.h
index 755170d..08addeb 100644
--- a/gst-libs/gst/gl/gstglsl_private.h
+++ b/gst-libs/gst/gl/gstglsl_private.h
@@ -36,22 +36,22 @@
{
gboolean initialized;
- GLuint GSTGLAPI (*CreateProgram) (void);
- void GSTGLAPI (*DeleteProgram) (GLuint program);
- void GSTGLAPI (*UseProgram) (GLuint program);
- void GSTGLAPI (*GetAttachedShaders) (GLuint program, GLsizei maxcount,
+ GLuint (GSTGLAPI *CreateProgram) (void);
+ void (GSTGLAPI *DeleteProgram) (GLuint program);
+ void (GSTGLAPI *UseProgram) (GLuint program);
+ void (GSTGLAPI *GetAttachedShaders) (GLuint program, GLsizei maxcount,
GLsizei * count, GLuint * shaders);
- GLuint GSTGLAPI (*CreateShader) (GLenum shaderType);
- void GSTGLAPI (*DeleteShader) (GLuint shader);
- void GSTGLAPI (*AttachShader) (GLuint program, GLuint shader);
- void GSTGLAPI (*DetachShader) (GLuint program, GLuint shader);
+ GLuint (GSTGLAPI *CreateShader) (GLenum shaderType);
+ void (GSTGLAPI *DeleteShader) (GLuint shader);
+ void (GSTGLAPI *AttachShader) (GLuint program, GLuint shader);
+ void (GSTGLAPI *DetachShader) (GLuint program, GLuint shader);
- void GSTGLAPI (*GetShaderiv) (GLuint program, GLenum pname, GLint * params);
- void GSTGLAPI (*GetProgramiv) (GLuint program, GLenum pname, GLint * params);
- void GSTGLAPI (*GetShaderInfoLog) (GLuint shader, GLsizei maxLength,
+ void (GSTGLAPI *GetShaderiv) (GLuint program, GLenum pname, GLint * params);
+ void (GSTGLAPI *GetProgramiv) (GLuint program, GLenum pname, GLint * params);
+ void (GSTGLAPI *GetShaderInfoLog) (GLuint shader, GLsizei maxLength,
GLsizei * length, char *log);
- void GSTGLAPI (*GetProgramInfoLog) (GLuint shader, GLsizei maxLength,
+ void (GSTGLAPI *GetProgramInfoLog) (GLuint shader, GLsizei maxLength,
GLsizei * length, char *log);
} GstGLSLFuncs;
diff --git a/gst-libs/gst/gl/gstglslstage.h b/gst-libs/gst/gl/gstglslstage.h
index 3521e22..b011006 100644
--- a/gst-libs/gst/gl/gstglslstage.h
+++ b/gst-libs/gst/gl/gstglslstage.h
@@ -62,13 +62,17 @@
gpointer _padding[GST_PADDING];
};
+GST_EXPORT
GType gst_glsl_stage_get_type (void);
+GST_EXPORT
GstGLSLStage * gst_glsl_stage_new (GstGLContext * context, guint type);
+GST_EXPORT
GstGLSLStage * gst_glsl_stage_new_with_string (GstGLContext * context,
guint type,
GstGLSLVersion version,
GstGLSLProfile profile,
const gchar * str);
+GST_EXPORT
GstGLSLStage * gst_glsl_stage_new_with_strings (GstGLContext * context,
guint type,
GstGLSLVersion version,
@@ -76,18 +80,26 @@
gint n_strings,
const gchar ** str);
+GST_EXPORT
GstGLSLStage * gst_glsl_stage_new_default_fragment (GstGLContext * context);
+GST_EXPORT
GstGLSLStage * gst_glsl_stage_new_default_vertex (GstGLContext * context);
+GST_EXPORT
guint gst_glsl_stage_get_handle (GstGLSLStage * stage);
+GST_EXPORT
GstGLSLProfile gst_glsl_stage_get_profile (GstGLSLStage * stage);
+GST_EXPORT
GstGLSLVersion gst_glsl_stage_get_version (GstGLSLStage * stage);
+GST_EXPORT
guint gst_glsl_stage_get_shader_type (GstGLSLStage * stage);
+GST_EXPORT
gboolean gst_glsl_stage_set_strings (GstGLSLStage * stage,
GstGLSLVersion version,
GstGLSLProfile profile,
gint n_strings,
const gchar ** str);
+GST_EXPORT
gboolean gst_glsl_stage_compile (GstGLSLStage * stage,
GError ** error);
diff --git a/gst-libs/gst/gl/gstglsyncmeta.c b/gst-libs/gst/gl/gstglsyncmeta.c
index b4061d3..582784c 100644
--- a/gst-libs/gst/gl/gstglsyncmeta.c
+++ b/gst-libs/gst/gl/gstglsyncmeta.c
@@ -53,16 +53,11 @@
}
sync_meta->data =
(gpointer) gl->FenceSync (GL_SYNC_GPU_COMMANDS_COMPLETE, 0);
-
- 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 ();
}
+
+ if (gst_gl_context_is_shared (context))
+ gl->Flush ();
}
static void
@@ -89,6 +84,8 @@
gl->ClientWaitSync ((GLsync) sync_meta->data,
GL_SYNC_FLUSH_COMMANDS_BIT, 1000000000 /* 1s */ );
} while (res == GL_TIMEOUT_EXPIRED);
+ } else {
+ gl->Finish ();
}
}
diff --git a/gst-libs/gst/gl/gstglsyncmeta.h b/gst-libs/gst/gl/gstglsyncmeta.h
index e5eb17b..f980064 100644
--- a/gst-libs/gst/gl/gstglsyncmeta.h
+++ b/gst-libs/gst/gl/gstglsyncmeta.h
@@ -49,16 +49,23 @@
void (*free_gl) (GstGLSyncMeta * sync, GstGLContext * context);
};
+GST_EXPORT
GType gst_gl_sync_meta_api_get_type (void);
+GST_EXPORT
const GstMetaInfo * gst_gl_sync_meta_get_info (void);
#define gst_buffer_get_gl_sync_meta(b) ((GstGLSyncMeta*)gst_buffer_get_meta((b),GST_GL_SYNC_META_API_TYPE))
+GST_EXPORT
GstGLSyncMeta * gst_buffer_add_gl_sync_meta (GstGLContext * context, GstBuffer *buffer);
+GST_EXPORT
GstGLSyncMeta * gst_buffer_add_gl_sync_meta_full (GstGLContext * context, GstBuffer * buffer,
gpointer data);
+GST_EXPORT
void gst_gl_sync_meta_set_sync_point (GstGLSyncMeta * sync, GstGLContext * context);
+GST_EXPORT
void gst_gl_sync_meta_wait (GstGLSyncMeta * sync, GstGLContext * context);
+GST_EXPORT
void gst_gl_sync_meta_wait_cpu (GstGLSyncMeta * sync, GstGLContext * context);
G_END_DECLS
diff --git a/gst-libs/gst/gl/gstglupload.h b/gst-libs/gst/gl/gstglupload.h
index 3e00298..7b94929 100644
--- a/gst-libs/gst/gl/gstglupload.h
+++ b/gst-libs/gst/gl/gstglupload.h
@@ -27,6 +27,7 @@
G_BEGIN_DECLS
+GST_EXPORT
GType gst_gl_upload_get_type (void);
#define GST_TYPE_GL_UPLOAD (gst_gl_upload_get_type())
#define GST_GL_UPLOAD(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_GL_UPLOAD,GstGLUpload))
@@ -82,28 +83,36 @@
gpointer _padding[GST_PADDING];
};
+GST_EXPORT
GstCaps * gst_gl_upload_get_input_template_caps (void);
+GST_EXPORT
GstGLUpload * gst_gl_upload_new (GstGLContext * context);
+GST_EXPORT
void gst_gl_upload_set_context (GstGLUpload * upload,
GstGLContext * context);
+GST_EXPORT
GstCaps * gst_gl_upload_transform_caps (GstGLUpload * upload,
GstGLContext * context,
GstPadDirection direction,
GstCaps * caps,
GstCaps * filter);
+GST_EXPORT
gboolean gst_gl_upload_set_caps (GstGLUpload * upload,
GstCaps * in_caps,
GstCaps * out_caps);
+GST_EXPORT
void gst_gl_upload_get_caps (GstGLUpload * upload,
GstCaps ** in_caps,
GstCaps ** out_caps);
+GST_EXPORT
void gst_gl_upload_propose_allocation (GstGLUpload * upload,
GstQuery * decide_query,
GstQuery * query);
+GST_EXPORT
GstGLUploadReturn gst_gl_upload_perform_with_buffer (GstGLUpload * upload,
GstBuffer * buffer,
GstBuffer ** outbuf_ptr);
diff --git a/gst-libs/gst/gl/gstglutils.h b/gst-libs/gst/gl/gstglutils.h
index a714759..297e462 100644
--- a/gst-libs/gst/gl/gstglutils.h
+++ b/gst-libs/gst/gl/gstglutils.h
@@ -28,33 +28,47 @@
G_BEGIN_DECLS
+GST_EXPORT
gboolean gst_gl_context_gen_shader (GstGLContext * context,
const gchar * shader_vertex_source,
const gchar * shader_fragment_source, GstGLShader ** shader);
+GST_EXPORT
void gst_gl_context_del_shader (GstGLContext * context, GstGLShader * shader);
+GST_EXPORT
gboolean gst_gl_ensure_element_data (gpointer element,
GstGLDisplay **display_ptr, GstGLContext ** other_context_ptr);
+GST_EXPORT
gboolean gst_gl_handle_set_context (GstElement * element, GstContext * context,
GstGLDisplay ** display, GstGLContext ** other_context);
+GST_EXPORT
gboolean gst_gl_handle_context_query (GstElement * element, GstQuery * query,
GstGLDisplay ** display, GstGLContext ** other_context);
+GST_EXPORT
gboolean gst_gl_run_query (GstElement * element,
GstQuery * query, GstPadDirection direction);
+GST_EXPORT
gsize gst_gl_get_plane_data_size (GstVideoInfo * info, GstVideoAlignment * align,
guint plane);
+GST_EXPORT
gsize gst_gl_get_plane_start (GstVideoInfo * info, GstVideoAlignment * valign,
guint plane);
+GST_EXPORT
GstCaps * gst_gl_caps_replace_all_caps_features (const GstCaps * caps,
const gchar * feature_name);
+GST_EXPORT
gboolean gst_gl_value_set_texture_target_from_mask (GValue * value,
GstGLTextureTarget target_mask);
+GST_EXPORT
gboolean gst_gl_value_set_texture_target (GValue * value, GstGLTextureTarget target);
+GST_EXPORT
GstGLTextureTarget gst_gl_value_get_texture_target_mask (const GValue * value);
+GST_EXPORT
void gst_gl_multiply_matrix4 (const gfloat * a, const gfloat * b, gfloat * result);
+GST_EXPORT
void gst_gl_get_affine_transformation_meta_as_ndc (GstVideoAffineTransformationMeta *
meta, gfloat * matrix);
diff --git a/gst-libs/gst/gl/gstglviewconvert.c b/gst-libs/gst/gl/gstglviewconvert.c
index c409e3a..5fa06eb 100644
--- a/gst-libs/gst/gl/gstglviewconvert.c
+++ b/gst-libs/gst/gl/gstglviewconvert.c
@@ -132,17 +132,17 @@
/* These match the order and number of DOWNMIX_ANAGLYPH_* modes */
static GLfloat downmix_matrices[][2][9] = {
{ /* Green-Magenta Dubois */
- {-0.062, 0.284, -0.015, -0.158, 0.668, -0.027, -0.039, 0.143, 0.021},
- {0.529, -0.016, 0.009, 0.705, -0.015, 0.075, 0.024, -0.065, 0.937}
+ {-0.062f, 0.284f, -0.015f, -0.158f, 0.668f, -0.027f, -0.039f, 0.143f, 0.021f},
+ {0.529f, -0.016f, 0.009f, 0.705f, -0.015f, 0.075f, 0.024f, -0.065f, 0.937f}
},
{ /* Red-Cyan Dubois */
/* Source of this matrix: http://www.site.uottawa.ca/~edubois/anaglyph/LeastSquaresHowToPhotoshop.pdf */
- {0.437, -0.062, -0.048, 0.449, -0.062, -0.050, 0.164, -0.024, -0.017},
- {-0.011, 0.377, -0.026, -0.032, 0.761, -0.093, -0.007, 0.009, 1.234}
+ {0.437f, -0.062f, -0.048f, 0.449f, -0.062f, -0.050f, 0.164f, -0.024f, -0.017f},
+ {-0.011f, 0.377f, -0.026f, -0.032f, 0.761f, -0.093f, -0.007f, 0.009f, 1.234f}
},
{ /* Amber-blue Dubois */
- {1.062, -0.026, -0.038, -0.205, 0.908, -0.173, 0.299, 0.068, 0.022},
- {-0.016, 0.006, 0.094, -0.123, 0.062, 0.185, -0.017, -0.017, 0.911}
+ {1.062f, -0.026f, -0.038f, -0.205f, 0.908f, -0.173f, 0.299f, 0.068f, 0.022f},
+ {-0.016f, 0.006f, 0.094f, -0.123f, 0.062f, 0.185f, -0.017f, -0.017f, 0.911f}
}
};
diff --git a/gst-libs/gst/gl/gstglviewconvert.h b/gst-libs/gst/gl/gstglviewconvert.h
index 4783dd1..8f3ee8a 100644
--- a/gst-libs/gst/gl/gstglviewconvert.h
+++ b/gst-libs/gst/gl/gstglviewconvert.h
@@ -33,6 +33,7 @@
#define GST_GL_VIEW_CONVERT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj) ,GST_TYPE_GL_VIEW_CONVERT,GstGLViewConvertClass))
#define GST_TYPE_GL_STEREO_DOWNMIX_MODE_TYPE gst_gl_stereo_downmix_mode_get_type()
+GST_EXPORT
GType gst_gl_stereo_downmix_mode_get_type (void);
enum _GstGLStereoDownmix {
@@ -84,21 +85,31 @@
gpointer _padding[GST_PADDING];
};
+GST_EXPORT
GType gst_gl_view_convert_get_type (void);
+GST_EXPORT
GstGLViewConvert * gst_gl_view_convert_new (void);
+GST_EXPORT
gboolean gst_gl_view_convert_set_caps (GstGLViewConvert * viewconvert, GstCaps * in_caps, GstCaps * out_caps);
+GST_EXPORT
GstCaps * gst_gl_view_convert_transform_caps (GstGLViewConvert * viewconvert,
GstPadDirection direction, GstCaps * caps, GstCaps * filter);
+GST_EXPORT
GstCaps * gst_gl_view_convert_fixate_caps (GstGLViewConvert *viewconvert,
GstPadDirection direction, GstCaps * caps, GstCaps * othercaps);
+GST_EXPORT
GstFlowReturn gst_gl_view_convert_submit_input_buffer (GstGLViewConvert *viewconvert,
gboolean is_discont, GstBuffer * input);
+GST_EXPORT
GstFlowReturn gst_gl_view_convert_get_output (GstGLViewConvert *viewconvert,
GstBuffer ** outbuf_ptr);
+GST_EXPORT
GstBuffer * gst_gl_view_convert_perform (GstGLViewConvert * viewconvert, GstBuffer *inbuf);
+GST_EXPORT
void gst_gl_view_convert_reset (GstGLViewConvert * viewconvert);
+GST_EXPORT
void gst_gl_view_convert_set_context (GstGLViewConvert *viewconvert, GstGLContext * context);
G_END_DECLS
diff --git a/gst-libs/gst/gl/gstglwindow.c b/gst-libs/gst/gl/gstglwindow.c
index b74d397..0588f1d 100644
--- a/gst-libs/gst/gl/gstglwindow.c
+++ b/gst-libs/gst/gl/gstglwindow.c
@@ -101,6 +101,7 @@
GMainLoop *navigation_loop;
GMutex nav_lock;
GCond nav_create_cond;
+ GCond nav_destroy_cond;
gboolean nav_alive;
GMutex sync_message_lock;
GCond sync_message_cond;
@@ -335,12 +336,16 @@
GstGLWindowPrivate *priv = window->priv;
GST_INFO ("quit navigation loop");
+
+ g_mutex_lock (&window->priv->nav_lock);
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);
+ while (window->priv->nav_alive)
+ g_cond_wait (&window->priv->nav_destroy_cond, &window->priv->nav_lock);
window->priv->navigation_thread = NULL;
}
+ g_mutex_unlock (&window->priv->nav_lock);
if (priv->loop)
g_main_loop_unref (priv->loop);
@@ -353,6 +358,7 @@
g_mutex_clear (&window->lock);
g_mutex_clear (&window->priv->nav_lock);
g_cond_clear (&window->priv->nav_create_cond);
+ g_cond_clear (&window->priv->nav_destroy_cond);
g_mutex_clear (&window->priv->sync_message_lock);
g_cond_clear (&window->priv->sync_message_cond);
gst_object_unref (window->display);
@@ -939,6 +945,7 @@
g_main_loop_run (window->priv->navigation_loop);
+ g_mutex_lock (&window->priv->nav_lock);
g_main_context_pop_thread_default (window->priv->navigation_context);
g_main_loop_unref (window->priv->navigation_loop);
@@ -946,6 +953,10 @@
window->priv->navigation_loop = NULL;
window->priv->navigation_context = NULL;
+ window->priv->nav_alive = FALSE;
+ g_cond_signal (&window->priv->nav_destroy_cond);
+ g_mutex_unlock (&window->priv->nav_lock);
+
GST_INFO ("navigation loop exited\n");
return NULL;
diff --git a/gst-libs/gst/gl/gstglwindow.h b/gst-libs/gst/gl/gstglwindow.h
index 1cf5c3e..730be00 100644
--- a/gst-libs/gst/gl/gstglwindow.h
+++ b/gst-libs/gst/gl/gstglwindow.h
@@ -140,55 +140,73 @@
gpointer _reserved[GST_PADDING];
};
+GST_EXPORT
GQuark gst_gl_window_error_quark (void);
+GST_EXPORT
GType gst_gl_window_get_type (void);
+GST_EXPORT
GstGLWindow * gst_gl_window_new (GstGLDisplay *display);
/* callbacks */
+GST_EXPORT
void gst_gl_window_set_draw_callback (GstGLWindow *window,
GstGLWindowCB callback,
gpointer data,
GDestroyNotify destroy_notify);
+GST_EXPORT
void gst_gl_window_set_resize_callback (GstGLWindow *window,
GstGLWindowResizeCB callback,
gpointer data,
GDestroyNotify destroy_notify);
+GST_EXPORT
void gst_gl_window_set_close_callback (GstGLWindow *window,
GstGLWindowCB callback,
gpointer data,
GDestroyNotify destroy_notify);
+GST_EXPORT
void gst_gl_window_set_window_handle (GstGLWindow *window, guintptr handle);
+GST_EXPORT
guintptr gst_gl_window_get_window_handle (GstGLWindow *window);
/* loop/events */
+GST_EXPORT
void gst_gl_window_run (GstGLWindow *window);
+GST_EXPORT
void gst_gl_window_quit (GstGLWindow *window);
+GST_EXPORT
gboolean gst_gl_window_is_running (GstGLWindow *window);
+GST_EXPORT
void gst_gl_window_send_message (GstGLWindow *window,
GstGLWindowCB callback,
gpointer data);
+GST_EXPORT
void gst_gl_window_send_message_async (GstGLWindow *window,
GstGLWindowCB callback,
gpointer data,
GDestroyNotify destroy);
/* navigation */
+GST_EXPORT
void gst_gl_window_handle_events (GstGLWindow * window,
gboolean handle_events);
+GST_EXPORT
void gst_gl_window_send_key_event (GstGLWindow * window,
const char * event_type,
const char * key_str);
+GST_EXPORT
void gst_gl_window_send_key_event_async (GstGLWindow * window,
const char * event_type,
const char * key_str);
+GST_EXPORT
void gst_gl_window_send_mouse_event (GstGLWindow * window,
const char * event_type,
int button,
double posx,
double posy);
+GST_EXPORT
void gst_gl_window_send_mouse_event_async (GstGLWindow * window,
const char * event_type,
int button,
@@ -196,15 +214,21 @@
double posy);
/* surfaces/rendering */
+GST_EXPORT
void gst_gl_window_queue_resize (GstGLWindow *window);
+GST_EXPORT
void gst_gl_window_draw (GstGLWindow *window);
+GST_EXPORT
void gst_gl_window_show (GstGLWindow *window);
+GST_EXPORT
void gst_gl_window_set_preferred_size (GstGLWindow * window,
gint width,
gint height);
+GST_EXPORT
void gst_gl_window_get_surface_dimensions (GstGLWindow * window,
guint * width,
guint * height);
+GST_EXPORT
gboolean gst_gl_window_set_render_rectangle (GstGLWindow * window,
gint x,
gint y,
@@ -212,9 +236,12 @@
gint height);
/* subclass usage only */
+GST_EXPORT
void gst_gl_window_resize (GstGLWindow *window, guint width, guint height);
+GST_EXPORT
GstGLContext * gst_gl_window_get_context (GstGLWindow *window);
+GST_EXPORT
guintptr gst_gl_window_get_display (GstGLWindow *window);
GST_DEBUG_CATEGORY_EXTERN (gst_gl_window_debug);
diff --git a/gst-libs/gst/gl/win32/Makefile.am b/gst-libs/gst/gl/win32/Makefile.am
index 80da958..ed3cc63 100644
--- a/gst-libs/gst/gl/win32/Makefile.am
+++ b/gst-libs/gst/gl/win32/Makefile.am
@@ -14,12 +14,9 @@
libgstgl_win32_la_SOURCES += gstglcontext_wgl.c
noinst_HEADERS += gstglcontext_wgl.h
endif
-#if USE_EGL
-#libgstgl_win32_la_SOURCES += gstglwindow_win32_egl.c
-#noinst_HEADERS += gstglwindow_win32_egl.h
-#endif
libgstgl_win32_la_CFLAGS = \
+ -DGST_EXPORTS \
-I$(top_srcdir)/gst-libs \
-I$(top_builddir)/gst-libs \
$(GL_CFLAGS) \
diff --git a/gst-libs/gst/gl/win32/Makefile.in b/gst-libs/gst/gl/win32/Makefile.in
index 9fc5848..af1584f 100644
--- a/gst-libs/gst/gl/win32/Makefile.in
+++ b/gst-libs/gst/gl/win32/Makefile.in
@@ -771,11 +771,8 @@
$(am__append_1)
noinst_HEADERS = gstglwindow_win32.h win32_message_source.h \
$(am__append_2)
-#if USE_EGL
-#libgstgl_win32_la_SOURCES += gstglwindow_win32_egl.c
-#noinst_HEADERS += gstglwindow_win32_egl.h
-#endif
libgstgl_win32_la_CFLAGS = \
+ -DGST_EXPORTS \
-I$(top_srcdir)/gst-libs \
-I$(top_builddir)/gst-libs \
$(GL_CFLAGS) \
diff --git a/gst-libs/gst/mpegts/gstmpegtsdescriptor.h b/gst-libs/gst/mpegts/gstmpegtsdescriptor.h
index 33d46f5..87c7343 100644
--- a/gst-libs/gst/mpegts/gstmpegtsdescriptor.h
+++ b/gst-libs/gst/mpegts/gstmpegtsdescriptor.h
@@ -174,6 +174,7 @@
GST_MTS_DESC_ATSC_REDISTRIBUTION_CONTROL = 0xAA,
GST_MTS_DESC_ATSC_GENRE = 0xAB,
GST_MTS_DESC_ATSC_PRIVATE_INFORMATION = 0xAD,
+ GST_MTS_DESC_ATSC_EAC3 = 0xCC,
/* ATSC A/53:3 2009 */
GST_MTS_DESC_ATSC_ENHANCED_SIGNALING = 0xB2,
diff --git a/gst-libs/gst/player/gstplayer.c b/gst-libs/gst/player/gstplayer.c
index 62cd800..313bca5 100644
--- a/gst-libs/gst/player/gstplayer.c
+++ b/gst-libs/gst/player/gstplayer.c
@@ -3169,8 +3169,6 @@
* @player: #GstPlayer instance
* @uri: subtitle URI
*
- * Returns: %TRUE or %FALSE
- *
* Sets the external subtitle URI.
*/
void
diff --git a/gst-plugins-bad.doap b/gst-plugins-bad.doap
index ec65d38..33223e2 100644
--- a/gst-plugins-bad.doap
+++ b/gst-plugins-bad.doap
@@ -35,6 +35,16 @@
<release>
<Version>
+ <revision>1.10.0</revision>
+ <branch>master</branch>
+ <name></name>
+ <created>2016-11-01</created>
+ <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.10.0.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.9.90</revision>
<branch>master</branch>
<name></name>
diff --git a/gst-plugins-bad.spec b/gst-plugins-bad.spec
index 2ee8b4d..2ed7b84 100644
--- a/gst-plugins-bad.spec
+++ b/gst-plugins-bad.spec
@@ -6,7 +6,7 @@
Summary: GStreamer streaming media framework "bad" plug-ins
Name: %{gstreamer}-plugins-bad
-Version: 1.9.90
+Version: 1.10.0
Release: 1.gst
# The freeze and nfs plugins are LGPLv2 (only)
License: LGPLv2+ and LGPLv2
diff --git a/gst/bayer/gstbayer2rgb.c b/gst/bayer/gstbayer2rgb.c
index 0b6f232..bf723b1 100644
--- a/gst/bayer/gstbayer2rgb.c
+++ b/gst/bayer/gstbayer2rgb.c
@@ -286,42 +286,35 @@
gst_bayer2rgb_transform_caps (GstBaseTransform * base,
GstPadDirection direction, GstCaps * caps, GstCaps * filter)
{
+ GstBayer2RGB *bayer2rgb;
+ GstCaps *res_caps, *tmp_caps;
GstStructure *structure;
- GstCaps *newcaps;
- GstStructure *newstruct;
+ guint i, caps_size;
- GST_DEBUG_OBJECT (base, "transforming caps from %" GST_PTR_FORMAT, caps);
+ bayer2rgb = GST_BAYER2RGB (base);
- structure = gst_caps_get_structure (caps, 0);
-
- if (direction == GST_PAD_SRC) {
- newcaps = gst_caps_from_string ("video/x-bayer,"
- "format=(string){bggr,grbg,gbrg,rggb}");
- } else {
- newcaps = gst_caps_new_empty_simple ("video/x-raw");
+ res_caps = gst_caps_copy (caps);
+ caps_size = gst_caps_get_size (res_caps);
+ for (i = 0; i < caps_size; i++) {
+ structure = gst_caps_get_structure (res_caps, i);
+ if (direction == GST_PAD_SINK) {
+ gst_structure_set_name (structure, "video/x-raw");
+ gst_structure_remove_field (structure, "format");
+ } else {
+ gst_structure_set_name (structure, "video/x-bayer");
+ gst_structure_remove_fields (structure, "format", "colorimetry",
+ "chroma-site", NULL);
+ }
}
- newstruct = gst_caps_get_structure (newcaps, 0);
-
- gst_structure_set_value (newstruct, "width",
- gst_structure_get_value (structure, "width"));
- gst_structure_set_value (newstruct, "height",
- gst_structure_get_value (structure, "height"));
- gst_structure_set_value (newstruct, "framerate",
- gst_structure_get_value (structure, "framerate"));
-
- if (filter != NULL) {
- GstCaps *icaps;
-
- GST_DEBUG_OBJECT (base, " filter %" GST_PTR_FORMAT, filter);
-
- icaps = gst_caps_intersect_full (filter, newcaps, GST_CAPS_INTERSECT_FIRST);
- gst_caps_unref (newcaps);
- newcaps = icaps;
+ if (filter) {
+ tmp_caps = res_caps;
+ res_caps =
+ gst_caps_intersect_full (filter, tmp_caps, GST_CAPS_INTERSECT_FIRST);
+ gst_caps_unref (tmp_caps);
}
-
- GST_DEBUG_OBJECT (base, " into %" GST_PTR_FORMAT, newcaps);
-
- return newcaps;
+ GST_DEBUG_OBJECT (bayer2rgb, "transformed %" GST_PTR_FORMAT " into %"
+ GST_PTR_FORMAT, caps, res_caps);
+ return res_caps;
}
static gboolean
diff --git a/gst/bayer/gstrgb2bayer.c b/gst/bayer/gstrgb2bayer.c
index 9ef5c89..21e7811 100644
--- a/gst/bayer/gstrgb2bayer.c
+++ b/gst/bayer/gstrgb2bayer.c
@@ -126,41 +126,35 @@
gst_rgb2bayer_transform_caps (GstBaseTransform * trans,
GstPadDirection direction, GstCaps * caps, GstCaps * filter)
{
+ GstRGB2Bayer *rgb2bayer;
+ GstCaps *res_caps, *tmp_caps;
GstStructure *structure;
- GstStructure *new_structure;
- GstCaps *newcaps;
- const GValue *value;
+ guint i, caps_size;
- GST_DEBUG_OBJECT (trans, "transforming caps (from) %" GST_PTR_FORMAT, caps);
+ rgb2bayer = GST_RGB_2_BAYER (trans);
- structure = gst_caps_get_structure (caps, 0);
-
- if (direction == GST_PAD_SRC) {
- newcaps = gst_caps_new_empty_simple ("video/x-raw");
- } else {
- newcaps = gst_caps_new_empty_simple ("video/x-bayer");
+ res_caps = gst_caps_copy (caps);
+ caps_size = gst_caps_get_size (res_caps);
+ for (i = 0; i < caps_size; i++) {
+ structure = gst_caps_get_structure (res_caps, i);
+ if (direction == GST_PAD_SRC) {
+ gst_structure_set_name (structure, "video/x-raw");
+ gst_structure_remove_field (structure, "format");
+ } else {
+ gst_structure_set_name (structure, "video/x-bayer");
+ gst_structure_remove_fields (structure, "format", "colorimetry",
+ "chroma-site", NULL);
+ }
}
- new_structure = gst_caps_get_structure (newcaps, 0);
-
- value = gst_structure_get_value (structure, "width");
- gst_structure_set_value (new_structure, "width", value);
-
- value = gst_structure_get_value (structure, "height");
- gst_structure_set_value (new_structure, "height", value);
-
- value = gst_structure_get_value (structure, "framerate");
- gst_structure_set_value (new_structure, "framerate", value);
-
- GST_DEBUG_OBJECT (trans, "transforming caps (into) %" GST_PTR_FORMAT,
- newcaps);
-
if (filter) {
- GstCaps *tmpcaps = newcaps;
- newcaps = gst_caps_intersect (newcaps, filter);
- gst_caps_unref (tmpcaps);
+ tmp_caps = res_caps;
+ res_caps =
+ gst_caps_intersect_full (filter, tmp_caps, GST_CAPS_INTERSECT_FIRST);
+ gst_caps_unref (tmp_caps);
}
-
- return newcaps;
+ GST_DEBUG_OBJECT (rgb2bayer, "transformed %" GST_PTR_FORMAT " into %"
+ GST_PTR_FORMAT, caps, res_caps);
+ return res_caps;
}
static gboolean
diff --git a/gst/fieldanalysis/gstfieldanalysis.c b/gst/fieldanalysis/gstfieldanalysis.c
index ac6bf60..2b01b51 100644
--- a/gst/fieldanalysis/gstfieldanalysis.c
+++ b/gst/fieldanalysis/gstfieldanalysis.c
@@ -1442,7 +1442,7 @@
/* compare the fields within the buffer, if the buffer exhibits combing it
* could be interlaced or a mixed telecine frame */
res0->f = filter->same_frame (filter, &history);
- res0->t = res0->b = res0->t_b = res0->b_t = G_MAXINT64;
+ res0->t = res0->b = res0->t_b = res0->b_t = G_MAXFLOAT;
if (filter->nframes == 1)
GST_DEBUG_OBJECT (filter, "Scores: f %f, t , b , t_b , b_t ", res0->f);
if (res0->f <= filter->frame_thresh) {
diff --git a/gst/freeverb/gstfreeverb.c b/gst/freeverb/gstfreeverb.c
index e4263e5..536452e 100644
--- a/gst/freeverb/gstfreeverb.c
+++ b/gst/freeverb/gstfreeverb.c
@@ -181,7 +181,7 @@
gfloat *buf = allpass->buffer;
for (i = 0; i < len; i++) {
- buf[i] = DC_OFFSET; /* this is not 100 % correct. */
+ buf[i] = (gfloat) DC_OFFSET; /* this is not 100 % correct. */
}
}
@@ -246,7 +246,7 @@
gfloat *buf = comb->buffer;
for (i = 0; i < len; i++) {
- buf[i] = DC_OFFSET; /* This is not 100 % correct. */
+ buf[i] = (gfloat) DC_OFFSET; /* This is not 100 % correct. */
}
}
@@ -406,7 +406,7 @@
G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class, PROP_DAMPING,
g_param_spec_float ("damping", "Damping", "Damping of high frequencies",
- 0.0, 1.0, 0.2,
+ 0.0, 1.0, 0.2f,
G_PARAM_CONSTRUCT | G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE |
G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class, PROP_PAN_WIDTH,
@@ -720,8 +720,8 @@
}
/* Remove the DC offset */
- out_l1 -= DC_OFFSET;
- out_r1 -= DC_OFFSET;
+ out_l1 -= (gfloat) DC_OFFSET;
+ out_r1 -= (gfloat) DC_OFFSET;
/* Calculate output */
out_l2 = out_l1 * priv->wet1 + out_r1 * priv->wet2 + input_2 * priv->dry;
@@ -767,8 +767,8 @@
}
/* Remove the DC offset */
- out_l1 -= DC_OFFSET;
- out_r1 -= DC_OFFSET;
+ out_l1 -= (gfloat) DC_OFFSET;
+ out_r1 -= (gfloat) DC_OFFSET;
/* Calculate output */
out_l2 = out_l1 * priv->wet1 + out_r1 * priv->wet2 + input_2l * priv->dry;
@@ -816,8 +816,8 @@
}
/* Remove the DC offset */
- out_l1 -= DC_OFFSET;
- out_r1 -= DC_OFFSET;
+ out_l1 -= (gfloat) DC_OFFSET;
+ out_r1 -= (gfloat) DC_OFFSET;
/* Calculate output */
out_l2 = out_l1 * priv->wet1 + out_r1 * priv->wet2 + input_2 * priv->dry;
@@ -861,8 +861,8 @@
}
/* Remove the DC offset */
- out_l1 -= DC_OFFSET;
- out_r1 -= DC_OFFSET;
+ out_l1 -= (gfloat) DC_OFFSET;
+ out_r1 -= (gfloat) DC_OFFSET;
/* Calculate output */
out_l2 = out_l1 * priv->wet1 + out_r1 * priv->wet2 + input_2l * priv->dry;
diff --git a/gst/gaudieffects/gstgaussblur.c b/gst/gaudieffects/gstgaussblur.c
index 4e3dc59..9c1e097 100644
--- a/gst/gaudieffects/gstgaussblur.c
+++ b/gst/gaudieffects/gstgaussblur.c
@@ -178,7 +178,7 @@
static void
gst_gaussianblur_init (GstGaussianBlur * gb)
{
- gb->sigma = DEFAULT_SIGMA;
+ gb->sigma = (gfloat) DEFAULT_SIGMA;
gb->cur_sigma = -1.0;
}
diff --git a/gst/mpegtsdemux/gstmpegdesc.h b/gst/mpegtsdemux/gstmpegdesc.h
index bd9235f..e4e6743 100644
--- a/gst/mpegtsdemux/gstmpegdesc.h
+++ b/gst/mpegtsdemux/gstmpegdesc.h
@@ -233,5 +233,6 @@
#define DRF_ID_HEVC 0x48455643
#define DRF_ID_KLVA 0x4b4c5641 /* defined in RP217 */
#define DRF_ID_OPUS 0x4f707573
+#define DRF_ID_EAC3 0x45414333 /* defined in A/52 Annex G */
#endif /* __GST_MPEG_DESC_H__ */
diff --git a/gst/mpegtsdemux/mpegtsbase.c b/gst/mpegtsdemux/mpegtsbase.c
index 659faad..a36ed41 100644
--- a/gst/mpegtsdemux/mpegtsbase.c
+++ b/gst/mpegtsdemux/mpegtsbase.c
@@ -210,6 +210,11 @@
g_hash_table_foreach_remove (base->programs, (GHRFunc) remove_each_program,
base);
+ base->streams_aware = GST_OBJECT_PARENT (base)
+ && GST_OBJECT_FLAG_IS_SET (GST_OBJECT_PARENT (base),
+ GST_BIN_FLAG_STREAMS_AWARE);
+ GST_DEBUG_OBJECT (base, "Streams aware : %d", base->streams_aware);
+
if (klass->reset)
klass->reset (base);
}
@@ -328,11 +333,52 @@
return gst_mpegts_find_descriptor (pmt->descriptors, tag);
}
+static gchar *
+_get_upstream_id (GstElement * element, GstPad * sinkpad)
+{
+ gchar *upstream_id = gst_pad_get_stream_id (sinkpad);
+
+ if (!upstream_id) {
+ /* Try to create one from the upstream URI, else use a randome number */
+ GstQuery *query;
+ gchar *uri = NULL;
+
+ /* Try to generate one from the URI query and
+ * if it fails take a random number instead */
+ query = gst_query_new_uri ();
+ if (gst_element_query (element, query)) {
+ gst_query_parse_uri (query, &uri);
+ }
+
+ if (uri) {
+ GChecksum *cs;
+
+ /* And then generate an SHA256 sum of the URI */
+ cs = g_checksum_new (G_CHECKSUM_SHA256);
+ g_checksum_update (cs, (const guchar *) uri, strlen (uri));
+ g_free (uri);
+ upstream_id = g_strdup (g_checksum_get_string (cs));
+ g_checksum_free (cs);
+ } else {
+ /* Just get some random number if the URI query fails */
+ GST_FIXME_OBJECT (element, "Creating random stream-id, consider "
+ "implementing a deterministic way of creating a stream-id");
+ upstream_id =
+ g_strdup_printf ("%08x%08x%08x%08x", g_random_int (), g_random_int (),
+ g_random_int (), g_random_int ());
+ }
+
+ gst_query_unref (query);
+ }
+ return upstream_id;
+}
+
static MpegTSBaseProgram *
mpegts_base_new_program (MpegTSBase * base,
gint program_number, guint16 pmt_pid)
{
MpegTSBaseProgram *program;
+ gchar *upstream_id, *stream_id;
GST_DEBUG_OBJECT (base, "program_number : %d, pmt_pid : %d",
program_number, pmt_pid);
@@ -344,6 +390,12 @@
program->streams = g_new0 (MpegTSBaseStream *, 0x2000);
program->patcount = 0;
+ upstream_id = _get_upstream_id ((GstElement *) base, base->sinkpad);
+ stream_id = g_strdup_printf ("%s:%d", upstream_id, program_number);
+ program->collection = gst_stream_collection_new (stream_id);
+ g_free (stream_id);
+ g_free (upstream_id);
+
return program;
}
@@ -398,6 +450,16 @@
}
static void
+mpegts_base_free_stream (MpegTSBaseStream * stream)
+{
+ if (stream->stream_object)
+ gst_object_unref (stream->stream_object);
+ if (stream->stream_id)
+ g_free (stream->stream_id);
+ g_free (stream);
+}
+
+static void
mpegts_base_free_program (MpegTSBaseProgram * program)
{
GList *tmp;
@@ -407,8 +469,10 @@
program->pmt = NULL;
}
+ /* FIXME FIXME FIXME FREE STREAM OBJECT ! */
for (tmp = program->stream_list; tmp; tmp = tmp->next)
- g_free (tmp->data);
+ mpegts_base_free_stream ((MpegTSBaseStream *) tmp->data);
+
if (program->stream_list)
g_list_free (program->stream_list);
@@ -416,6 +480,8 @@
if (program->tags)
gst_tag_list_unref (program->tags);
+ if (program->collection)
+ gst_object_unref (program->collection);
g_free (program);
}
@@ -465,6 +531,9 @@
GST_DEBUG ("pid:0x%04x, stream_type:0x%03x", pid, stream_type);
+ /* FIXME : PID information/nature might change through time.
+ * We therefore *do* want to be able to replace an existing stream
+ * with updated information */
if (G_UNLIKELY (program->streams[pid])) {
if (stream_type != 0xff)
GST_WARNING ("Stream already present !");
@@ -472,9 +541,15 @@
}
bstream = g_malloc0 (base->stream_size);
+ bstream->stream_id =
+ g_strdup_printf ("%s/%08x",
+ gst_stream_collection_get_upstream_id (program->collection), pid);
bstream->pid = pid;
bstream->stream_type = stream_type;
bstream->stream = stream;
+ /* We don't yet know the stream type, subclasses will fill that */
+ bstream->stream_object = gst_stream_new (bstream->stream_id, NULL,
+ GST_STREAM_TYPE_UNKNOWN, GST_STREAM_FLAG_NONE);
if (stream) {
bstream->registration_id =
get_registration_from_descriptors (stream->descriptors);
@@ -482,12 +557,14 @@
bstream->pid, SAFE_FOURCC_ARGS (bstream->registration_id));
}
-
program->streams[pid] = bstream;
program->stream_list = g_list_append (program->stream_list, bstream);
if (klass->stream_added)
- klass->stream_added (base, bstream, program);
+ if (klass->stream_added (base, bstream, program))
+ gst_stream_collection_add_stream (program->collection,
+ (GstStream *) gst_object_ref (bstream->stream_object));
+
return bstream;
}
@@ -514,10 +591,124 @@
klass->stream_removed (base, stream);
program->stream_list = g_list_remove_all (program->stream_list, stream);
- g_free (stream);
+ mpegts_base_free_stream (stream);
program->streams[pid] = NULL;
}
+/* Check if pmtstream is already present in the program */
+static inline gboolean
+_stream_in_pmt (const GstMpegtsPMT * pmt, MpegTSBaseStream * stream)
+{
+ guint i, nbstreams = pmt->streams->len;
+
+ for (i = 0; i < nbstreams; i++) {
+ GstMpegtsPMTStream *pmt_stream = g_ptr_array_index (pmt->streams, i);
+
+ if (pmt_stream->pid == stream->pid &&
+ pmt_stream->stream_type == stream->stream_type)
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+static inline gboolean
+_pmt_stream_in_program (MpegTSBaseProgram * program,
+ GstMpegtsPMTStream * stream)
+{
+ MpegTSBaseStream *old_stream = program->streams[stream->pid];
+ if (!old_stream)
+ return FALSE;
+ return old_stream->stream_type == stream->stream_type;
+}
+
+static gboolean
+mpegts_base_update_program (MpegTSBase * base, MpegTSBaseProgram * program,
+ GstMpegtsSection * section, const GstMpegtsPMT * pmt)
+{
+ MpegTSBaseClass *klass = GST_MPEGTS_BASE_GET_CLASS (base);
+ const gchar *stream_id =
+ gst_stream_collection_get_upstream_id (program->collection);
+ GstStreamCollection *collection;
+ GList *tmp, *toremove;
+ guint i, nbstreams;
+
+ /* Create new collection */
+ collection = gst_stream_collection_new (stream_id);
+ gst_object_unref (program->collection);
+ program->collection = collection;
+
+ /* Replace section and pmt with the new one */
+ gst_mpegts_section_unref (program->section);
+ program->section = gst_mpegts_section_ref (section);
+ program->pmt = pmt;
+
+ /* Copy over gststream that still exist into the collection */
+ for (tmp = program->stream_list; tmp; tmp = tmp->next) {
+ MpegTSBaseStream *stream = (MpegTSBaseStream *) tmp->data;
+ if (_stream_in_pmt (pmt, stream)) {
+ gst_stream_collection_add_stream (program->collection,
+ gst_object_ref (stream->stream_object));
+ }
+ }
+
+ /* Add new streams (will also create and add gststream to the collection) */
+ nbstreams = pmt->streams->len;
+ for (i = 0; i < nbstreams; i++) {
+ GstMpegtsPMTStream *stream = g_ptr_array_index (pmt->streams, i);
+ if (!_pmt_stream_in_program (program, stream))
+ mpegts_base_program_add_stream (base, program, stream->pid,
+ stream->stream_type, stream);
+ }
+
+ /* Call subclass update */
+ if (klass->update_program)
+ klass->update_program (base, program);
+
+ /* Remove streams no longer present */
+ toremove = NULL;
+ for (tmp = program->stream_list; tmp; tmp = tmp->next) {
+ MpegTSBaseStream *stream = (MpegTSBaseStream *) tmp->data;
+ if (!_stream_in_pmt (pmt, stream))
+ toremove = g_list_prepend (toremove, stream);
+ }
+ for (tmp = toremove; tmp; tmp = tmp->next) {
+ MpegTSBaseStream *stream = (MpegTSBaseStream *) tmp->data;
+ mpegts_base_program_remove_stream (base, program, stream->pid);
+ }
+ return TRUE;
+}
+
+
+static gboolean
+_stream_is_private_section (GstMpegtsPMTStream * stream)
+{
+ switch (stream->stream_type) {
+ case GST_MPEGTS_STREAM_TYPE_SCTE_DSMCC_DCB:
+ case GST_MPEGTS_STREAM_TYPE_SCTE_SIGNALING:
+ {
+ guint32 registration_id =
+ get_registration_from_descriptors (stream->descriptors);
+ /* Not a private section stream */
+ if (registration_id != DRF_ID_CUEI && registration_id != DRF_ID_ETV1)
+ return FALSE;
+ }
+ case GST_MPEGTS_STREAM_TYPE_PRIVATE_SECTIONS:
+ case GST_MPEGTS_STREAM_TYPE_MHEG:
+ case GST_MPEGTS_STREAM_TYPE_DSM_CC:
+ case GST_MPEGTS_STREAM_TYPE_DSMCC_A:
+ case GST_MPEGTS_STREAM_TYPE_DSMCC_B:
+ case GST_MPEGTS_STREAM_TYPE_DSMCC_C:
+ case GST_MPEGTS_STREAM_TYPE_DSMCC_D:
+ case GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_SECTIONS:
+ case GST_MPEGTS_STREAM_TYPE_METADATA_SECTIONS:
+ /* known PSI streams */
+ return TRUE;
+ default:
+ return FALSE;
+ }
+}
+
/* Return TRUE if programs are equal */
static gboolean
mpegts_base_is_same_program (MpegTSBase * base, MpegTSBaseProgram * oldprogram,
@@ -573,6 +764,68 @@
return TRUE;
}
+/* Return TRUE if program is an update
+ *
+ * A program is equal if:
+ * * The program number is the same (will be if it enters this function)
+ * * AND The PMT PID is equal to the old one
+ * * AND It contains at least one stream from the previous program
+ *
+ * Changes that are acceptable are therefore:
+ * * New streams appearing
+ * * Old streams going away
+ * * PCR PID changing
+ *
+ * Unclear changes:
+ * * PMT PID being changed ?
+ * * Properties of elementary stream being changed ? (new tags ? metadata ?)
+ */
+static gboolean
+mpegts_base_is_program_update (MpegTSBase * base,
+ MpegTSBaseProgram * oldprogram, guint16 new_pmt_pid,
+ const GstMpegtsPMT * new_pmt)
+{
+ guint i, nbstreams;
+ MpegTSBaseStream *oldstream;
+
+ if (oldprogram->pmt_pid != new_pmt_pid) {
+ /* FIXME/CHECK: Can a program be updated by just changing its PID
+ * in the PAT ? */
+ GST_DEBUG ("Different pmt_pid (new:0x%04x, old:0x%04x)", new_pmt_pid,
+ oldprogram->pmt_pid);
+ return FALSE;
+ }
+
+ /* Check if at least one stream from the previous program is still present
+ * in the new program */
+
+ /* Check the streams */
+ nbstreams = new_pmt->streams->len;
+ for (i = 0; i < nbstreams; ++i) {
+ GstMpegtsPMTStream *stream = g_ptr_array_index (new_pmt->streams, i);
+
+ oldstream = oldprogram->streams[stream->pid];
+ if (!oldstream) {
+ GST_DEBUG ("New stream 0x%04x not present in old program", stream->pid);
+ } else if (oldstream->stream_type != stream->stream_type) {
+ GST_DEBUG
+ ("New stream 0x%04x has a different stream type (new:%d, old:%d)",
+ stream->pid, stream->stream_type, oldstream->stream_type);
+ } else if (!_stream_is_private_section (stream)) {
+ /* FIXME : We should actually be checking a bit deeper,
+ * especially for private streams (where the differentiation is
+ * done at the registration level) */
+ GST_DEBUG
+ ("Stream 0x%04x is identical (stream_type %d) ! Program is an update",
+ stream->pid, stream->stream_type);
+ return TRUE;
+ }
+ }
+
+ GST_DEBUG ("Program is not an update of the previous one");
+ return FALSE;
+}
+
static void
mpegts_base_deactivate_program (MpegTSBase * base, MpegTSBaseProgram * program)
{
@@ -595,35 +848,11 @@
/* Only unset the is_pes/known_psi bit if the PID isn't used in any other active
* program */
if (!mpegts_pid_in_active_programs (base, stream->pid)) {
- switch (stream->stream_type) {
- case GST_MPEGTS_STREAM_TYPE_SCTE_DSMCC_DCB:
- case GST_MPEGTS_STREAM_TYPE_SCTE_SIGNALING:
- {
- guint32 registration_id =
- get_registration_from_descriptors (stream->descriptors);
-
- /* Not a private section stream */
- if (registration_id != DRF_ID_CUEI
- && registration_id != DRF_ID_ETV1)
- break;
- /* Fall through on purpose - remove this PID from known_psi */
- }
- case GST_MPEGTS_STREAM_TYPE_PRIVATE_SECTIONS:
- case GST_MPEGTS_STREAM_TYPE_MHEG:
- case GST_MPEGTS_STREAM_TYPE_DSM_CC:
- case GST_MPEGTS_STREAM_TYPE_DSMCC_A:
- case GST_MPEGTS_STREAM_TYPE_DSMCC_B:
- case GST_MPEGTS_STREAM_TYPE_DSMCC_C:
- case GST_MPEGTS_STREAM_TYPE_DSMCC_D:
- case GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_SECTIONS:
- case GST_MPEGTS_STREAM_TYPE_METADATA_SECTIONS:
- /* Set known PSI streams */
- if (base->parse_private_sections)
- MPEGTS_BIT_UNSET (base->known_psi, stream->pid);
- break;
- default:
- MPEGTS_BIT_UNSET (base->is_pes, stream->pid);
- break;
+ if (_stream_is_private_section (stream)) {
+ if (base->parse_private_sections)
+ MPEGTS_BIT_UNSET (base->known_psi, stream->pid);
+ } else {
+ MPEGTS_BIT_UNSET (base->is_pes, stream->pid);
}
}
}
@@ -672,49 +901,24 @@
for (i = 0; i < pmt->streams->len; ++i) {
GstMpegtsPMTStream *stream = g_ptr_array_index (pmt->streams, i);
-
- switch (stream->stream_type) {
- case GST_MPEGTS_STREAM_TYPE_SCTE_DSMCC_DCB:
- case GST_MPEGTS_STREAM_TYPE_SCTE_SIGNALING:
- {
- guint32 registration_id =
- get_registration_from_descriptors (stream->descriptors);
- /* Not a private section stream */
- if (registration_id != DRF_ID_CUEI && registration_id != DRF_ID_ETV1)
- break;
- /* Fall through on purpose - remove this PID from known_psi */
+ if (_stream_is_private_section (stream)) {
+ if (base->parse_private_sections)
+ MPEGTS_BIT_SET (base->known_psi, stream->pid);
+ } else {
+ if (G_UNLIKELY (MPEGTS_BIT_IS_SET (base->is_pes, stream->pid)))
+ GST_FIXME
+ ("Refcounting issue. Setting twice a PID (0x%04x) as known PES",
+ stream->pid);
+ if (G_UNLIKELY (MPEGTS_BIT_IS_SET (base->known_psi, stream->pid))) {
+ GST_FIXME
+ ("Refcounting issue. Setting a known PSI PID (0x%04x) as known PES",
+ stream->pid);
+ MPEGTS_BIT_UNSET (base->known_psi, stream->pid);
}
- case GST_MPEGTS_STREAM_TYPE_PRIVATE_SECTIONS:
- case GST_MPEGTS_STREAM_TYPE_MHEG:
- case GST_MPEGTS_STREAM_TYPE_DSM_CC:
- case GST_MPEGTS_STREAM_TYPE_DSMCC_A:
- case GST_MPEGTS_STREAM_TYPE_DSMCC_B:
- case GST_MPEGTS_STREAM_TYPE_DSMCC_C:
- case GST_MPEGTS_STREAM_TYPE_DSMCC_D:
- case GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_SECTIONS:
- case GST_MPEGTS_STREAM_TYPE_METADATA_SECTIONS:
- /* Set known PSI streams */
- if (base->parse_private_sections)
- MPEGTS_BIT_SET (base->known_psi, stream->pid);
- break;
- default:
- if (G_UNLIKELY (MPEGTS_BIT_IS_SET (base->is_pes, stream->pid)))
- GST_FIXME
- ("Refcounting issue. Setting twice a PID (0x%04x) as known PES",
- stream->pid);
- if (G_UNLIKELY (MPEGTS_BIT_IS_SET (base->known_psi, stream->pid))) {
- GST_FIXME
- ("Refcounting issue. Setting a known PSI PID (0x%04x) as known PES",
- stream->pid);
- MPEGTS_BIT_UNSET (base->known_psi, stream->pid);
- }
-
- MPEGTS_BIT_SET (base->is_pes, stream->pid);
- break;
+ MPEGTS_BIT_SET (base->is_pes, stream->pid);
}
mpegts_base_program_add_stream (base, program,
stream->pid, stream->stream_type, stream);
-
}
/* We add the PCR pid last. If that PID is already used by one of the media
* streams above, no new stream will be created */
@@ -876,6 +1080,14 @@
if (G_UNLIKELY (old_program == NULL))
goto no_program;
+ if (base->streams_aware
+ && mpegts_base_is_program_update (base, old_program, section->pid, pmt)) {
+ GST_FIXME ("We are streams_aware and new program is an update");
+ /* The program is an update, and we can add/remove pads dynamically */
+ mpegts_base_update_program (base, old_program, section, pmt);
+ goto beach;
+ }
+
if (G_UNLIKELY (mpegts_base_is_same_program (base, old_program, section->pid,
pmt)))
goto same_program;
@@ -903,14 +1115,18 @@
g_hash_table_insert (base->programs,
GINT_TO_POINTER (program_number), program);
initial_program = FALSE;
- } else
+ } else {
+ GST_DEBUG ("Program update, re-using same program");
program = old_program;
+ }
/* activate program */
/* Ownership of pmt_info is given to the program */
mpegts_base_activate_program (base, program, section->pid, section, pmt,
initial_program);
+beach:
+ GST_DEBUG ("Done activating program");
return TRUE;
no_program:
@@ -1164,9 +1380,10 @@
* we want to drop all previous observations (hard:TRUE) from
* the packetizer */
if (base->mode == BASE_MODE_PUSHING
- && base->segment.format == GST_FORMAT_TIME)
+ && base->segment.format == GST_FORMAT_TIME) {
mpegts_packetizer_flush (base->packetizer, TRUE);
- else
+ mpegts_packetizer_clear (base->packetizer);
+ } else
mpegts_packetizer_flush (base->packetizer, FALSE);
}
@@ -1383,8 +1600,7 @@
error:
{
- const gchar *reason = gst_flow_get_name (ret);
- GST_DEBUG_OBJECT (base, "Pausing task, reason %s", reason);
+ GST_DEBUG_OBJECT (base, "Pausing task, reason %s", gst_flow_get_name (ret));
if (ret == GST_FLOW_EOS) {
if (!GST_MPEGTS_BASE_GET_CLASS (base)->push_event (base,
gst_event_new_eos ()))
diff --git a/gst/mpegtsdemux/mpegtsbase.h b/gst/mpegtsdemux/mpegtsbase.h
index ecb15ac..0dd7859 100644
--- a/gst/mpegtsdemux/mpegtsbase.h
+++ b/gst/mpegtsdemux/mpegtsbase.h
@@ -64,6 +64,8 @@
guint32 registration_id;
GstMpegtsPMTStream *stream;
+ GstStream *stream_object;
+ gchar *stream_id;
};
struct _MpegTSBaseProgram
@@ -82,6 +84,8 @@
GList *stream_list;
gint patcount;
+ GstStreamCollection *collection;
+
/* Pending Tags for the program */
GstTagList *tags;
guint event_id;
@@ -153,6 +157,10 @@
/* Whether to push data and/or sections to subclasses */
gboolean push_data;
gboolean push_section;
+
+ /* Whether the parent bin is streams-aware, meaning we can
+ * add/remove streams at any point in time */
+ gboolean streams_aware;
};
struct _MpegTSBaseClass {
@@ -169,13 +177,14 @@
void (*program_started) (MpegTSBase *base, MpegTSBaseProgram *program);
/* program_stopped gets called when pat no longer has program's pmt */
void (*program_stopped) (MpegTSBase *base, MpegTSBaseProgram *program);
+ void (*update_program) (MpegTSBase *base, MpegTSBaseProgram *program);
/* Whether mpegtbase can deactivate/free a program or whether the subclass will do it
* If the subclass responds TRUE, it should call mpegts_base_deactivate_and_free_program()
* when it wants to remove it */
gboolean (*can_remove_program) (MpegTSBase *base, MpegTSBaseProgram *program);
/* stream_added is called whenever a new stream has been identified */
- void (*stream_added) (MpegTSBase *base, MpegTSBaseStream *stream, MpegTSBaseProgram *program);
+ gboolean (*stream_added) (MpegTSBase *base, MpegTSBaseStream *stream, MpegTSBaseProgram *program);
/* stream_removed is called whenever a stream is no longer referenced */
void (*stream_removed) (MpegTSBase *base, MpegTSBaseStream *stream);
diff --git a/gst/mpegtsdemux/tsdemux.c b/gst/mpegtsdemux/tsdemux.c
index 0ac95bd..fe0c3a6 100644
--- a/gst/mpegtsdemux/tsdemux.c
+++ b/gst/mpegtsdemux/tsdemux.c
@@ -281,6 +281,8 @@
/* mpegtsbase methods */
static void
+gst_ts_demux_update_program (MpegTSBase * base, MpegTSBaseProgram * program);
+static void
gst_ts_demux_program_started (MpegTSBase * base, MpegTSBaseProgram * program);
static void
gst_ts_demux_program_stopped (MpegTSBase * base, MpegTSBaseProgram * program);
@@ -293,7 +295,7 @@
GstMpegtsSection * section);
static void gst_ts_demux_flush (MpegTSBase * base, gboolean hard);
static GstFlowReturn gst_ts_demux_drain (MpegTSBase * base);
-static void
+static gboolean
gst_ts_demux_stream_added (MpegTSBase * base, MpegTSBaseStream * stream,
MpegTSBaseProgram * program);
static void
@@ -385,6 +387,7 @@
ts_class->push_event = GST_DEBUG_FUNCPTR (push_event);
ts_class->program_started = GST_DEBUG_FUNCPTR (gst_ts_demux_program_started);
ts_class->program_stopped = GST_DEBUG_FUNCPTR (gst_ts_demux_program_stopped);
+ ts_class->update_program = GST_DEBUG_FUNCPTR (gst_ts_demux_update_program);
ts_class->can_remove_program = gst_ts_demux_can_remove_program;
ts_class->stream_added = gst_ts_demux_stream_added;
ts_class->stream_removed = gst_ts_demux_stream_removed;
@@ -1507,10 +1510,24 @@
caps = gst_caps_new_empty_simple ("audio/x-ac3");
break;
case ST_PS_AUDIO_EAC3:
+ {
/* ATSC_ENHANCED_AC3 */
+ if (bstream->registration_id == DRF_ID_EAC3 ||
+ mpegts_get_descriptor_from_stream (bstream, GST_MTS_DESC_ATSC_EAC3)) {
+ is_audio = TRUE;
+ caps = gst_caps_new_empty_simple ("audio/x-eac3");
+ break;
+ }
+
+ GST_ELEMENT_WARNING (demux, STREAM, DEMUX,
+ ("Assuming ATSC E-AC3 audio stream."),
+ ("ATSC E-AC3 stream type found but no guarantee way found to "
+ "differentiate among other standards (DVB, ISDB and etc..)"));
+
is_audio = TRUE;
caps = gst_caps_new_empty_simple ("audio/x-eac3");
break;
+ }
case ST_PS_AUDIO_LPCM2:
is_audio = TRUE;
caps = gst_caps_new_empty_simple ("audio/x-private2-lpcm");
@@ -1535,7 +1552,7 @@
caps = gst_caps_new_empty_simple ("video/x-cavs");
break;
default:
- GST_WARNING ("Non-media stream (stream_type:0x%x). Not creating pad",
+ GST_DEBUG ("Non-media stream (stream_type:0x%x). Not creating pad",
bstream->stream_type);
break;
}
@@ -1547,11 +1564,15 @@
name =
g_strdup_printf ("audio_%01x_%04x", demux->program_generation,
bstream->pid);
+ gst_stream_set_stream_type (bstream->stream_object,
+ GST_STREAM_TYPE_AUDIO);
} else if (is_video) {
template = gst_static_pad_template_get (&video_template);
name =
g_strdup_printf ("video_%01x_%04x", demux->program_generation,
bstream->pid);
+ gst_stream_set_stream_type (bstream->stream_object,
+ GST_STREAM_TYPE_VIDEO);
} else if (is_private) {
template = gst_static_pad_template_get (&private_template);
name =
@@ -1562,6 +1583,7 @@
name =
g_strdup_printf ("subpicture_%01x_%04x", demux->program_generation,
bstream->pid);
+ gst_stream_set_stream_type (bstream->stream_object, GST_STREAM_TYPE_TEXT);
} else
g_assert_not_reached ();
@@ -1569,16 +1591,14 @@
if (template && name && caps) {
GstEvent *event;
- gchar *stream_id;
+ const gchar *stream_id;
GST_LOG ("stream:%p creating pad with name %s and caps %" GST_PTR_FORMAT,
stream, name, caps);
pad = gst_pad_new_from_template (template, name);
gst_pad_set_active (pad, TRUE);
gst_pad_use_fixed_caps (pad);
- stream_id =
- gst_pad_create_stream_id_printf (pad, GST_ELEMENT_CAST (base), "%08x",
- bstream->pid);
+ stream_id = gst_stream_get_stream_id (bstream->stream_object);
event = gst_pad_get_sticky_event (base->sinkpad, GST_EVENT_STREAM_START, 0);
if (event) {
@@ -1592,19 +1612,24 @@
demux->group_id = gst_util_group_id_next ();
}
event = gst_event_new_stream_start (stream_id);
+ gst_event_set_stream (event, bstream->stream_object);
if (demux->have_group_id)
gst_event_set_group_id (event, demux->group_id);
- if (sparse)
+ if (sparse) {
gst_event_set_stream_flags (event, GST_STREAM_FLAG_SPARSE);
+ gst_stream_set_stream_flags (bstream->stream_object,
+ GST_STREAM_FLAG_SPARSE);
+ }
stream->sparse = sparse;
gst_pad_push_event (pad, event);
- g_free (stream_id);
gst_pad_set_caps (pad, caps);
+ gst_stream_set_caps (bstream->stream_object, caps);
if (!stream->taglist)
stream->taglist = gst_tag_list_new_empty ();
gst_pb_utils_add_codec_description_to_tag_list (stream->taglist, NULL,
caps);
+ gst_stream_set_tags (bstream->stream_object, stream->taglist);
gst_pad_set_query_function (pad, gst_ts_demux_srcpad_query);
gst_pad_set_event_function (pad, gst_ts_demux_srcpad_event);
}
@@ -1618,7 +1643,7 @@
return pad;
}
-static void
+static gboolean
gst_ts_demux_stream_added (MpegTSBase * base, MpegTSBaseStream * bstream,
MpegTSBaseProgram * program)
{
@@ -1661,6 +1686,8 @@
stream->pending_ts = program->pcr_pid < 0x1fff;
stream->continuity_counter = CONTINUITY_UNSET;
}
+
+ return (stream->pad != NULL);
}
static void
@@ -1802,6 +1829,34 @@
return TRUE;
}
+static void
+gst_ts_demux_update_program (MpegTSBase * base, MpegTSBaseProgram * program)
+{
+ GstTSDemux *demux = GST_TS_DEMUX (base);
+ GList *tmp;
+
+ GST_DEBUG ("Updating program %d", program->program_number);
+ /* Emit collection message */
+ gst_element_post_message ((GstElement *) base,
+ gst_message_new_stream_collection ((GstObject *) base,
+ program->collection));
+
+ /* Add all streams, then fire no-more-pads */
+ for (tmp = program->stream_list; tmp; tmp = tmp->next) {
+ TSDemuxStream *stream = (TSDemuxStream *) tmp->data;
+ if (!stream->pad) {
+ activate_pad_for_stream (demux, stream);
+ if (stream->sparse) {
+ /* force sending of pending sticky events which have been stored on the
+ * pad already and which otherwise would only be sent on the first buffer
+ * or serialized event (which means very late in case of subtitle streams),
+ * and playsink waits for stream-start or another serialized event */
+ GST_DEBUG_OBJECT (stream->pad, "sparse stream, pushing GAP event");
+ gst_pad_push_event (stream->pad, gst_event_new_gap (0, 0));
+ }
+ }
+ }
+}
static void
gst_ts_demux_program_started (MpegTSBase * base, MpegTSBaseProgram * program)
@@ -1823,6 +1878,11 @@
/* Increment the program_generation counter */
demux->program_generation = (demux->program_generation + 1) & 0xf;
+ /* Emit collection message */
+ gst_element_post_message ((GstElement *) base,
+ gst_message_new_stream_collection ((GstObject *) base,
+ program->collection));
+
/* If this is not the initial program, we need to calculate
* a new segment */
if (demux->segment_event) {
diff --git a/gst/mpegtsmux/tsmux/tsmux.c b/gst/mpegtsmux/tsmux/tsmux.c
index 638de15..ee28704 100644
--- a/gst/mpegtsmux/tsmux/tsmux.c
+++ b/gst/mpegtsmux/tsmux/tsmux.c
@@ -853,6 +853,7 @@
gsize data_size = 0;
gsize payload_written;
guint len = 0, offset = 0, payload_len = 0;
+ guint extra_alloc_bytes = 0;
g_return_val_if_fail (section != NULL, FALSE);
g_return_val_if_fail (mux != NULL, FALSE);
@@ -907,12 +908,35 @@
TS_DEBUG ("Creating packet buffer at offset "
"%" G_GSIZE_FORMAT " with length %u", payload_written, payload_len);
+ /* If in M2TS mode, we will need to resize to 4 bytes after the end
+ of the buffer. For performance reasons, we will now try to include
+ 4 extra bytes from the source buffer, then resize down, to avoid
+ having an extra 4 byte GstMemory appended. If the source buffer
+ does not have enough data for this, a new GstMemory will be used */
+ if (gst_buffer_get_size (section_buffer) - (payload_written +
+ payload_len) >= 4) {
+ /* enough space */
+ extra_alloc_bytes = 4;
+ }
packet_buffer = gst_buffer_copy_region (section_buffer, GST_BUFFER_COPY_ALL,
- payload_written, payload_len);
+ payload_written, payload_len + extra_alloc_bytes);
/* Prepend the header to the section data */
gst_buffer_prepend_memory (packet_buffer, mem);
+ /* add an extra 4 bytes if it could not be reserved already */
+ if (extra_alloc_bytes == 4) {
+ /* we allocated those already, resize */
+ gst_buffer_set_size (packet_buffer,
+ gst_buffer_get_size (packet_buffer) - extra_alloc_bytes);
+ } else {
+ void *ptr = g_malloc (4);
+ GstMemory *extra =
+ gst_memory_new_wrapped (GST_MEMORY_FLAG_READONLY, ptr, 4, 0, 0, ptr,
+ g_free);
+ gst_buffer_append_memory (packet_buffer, extra);
+ }
+
TS_DEBUG ("Writing %d bytes to section. %d bytes remaining",
len, section->pi.stream_avail - len);
diff --git a/gst/rawparse/gstrawbaseparse.c b/gst/rawparse/gstrawbaseparse.c
index e90f400..c2ccee5 100644
--- a/gst/rawparse/gstrawbaseparse.c
+++ b/gst/rawparse/gstrawbaseparse.c
@@ -590,8 +590,8 @@
new_caps_event = NULL;
}
- gst_base_parse_finish_frame (parse, frame, out_size + frame->overhead);
-
+ flow_ret =
+ gst_base_parse_finish_frame (parse, frame, out_size + frame->overhead);
return flow_ret;
diff --git a/gst/speed/gstspeed.c b/gst/speed/gstspeed.c
index 72a907d..7518de2 100644
--- a/gst/speed/gstspeed.c
+++ b/gst/speed/gstspeed.c
@@ -390,7 +390,7 @@
g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_SPEED,
g_param_spec_float ("speed", "speed", "speed",
- 0.1, 40.0, 1.0,
+ 0.1f, 40.0, 1.0,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
gst_element_class_set_static_metadata (gstelement_class, "Speed",
diff --git a/gst/stereo/gststereo.c b/gst/stereo/gststereo.c
index f7e013b..3599010 100644
--- a/gst/stereo/gststereo.c
+++ b/gst/stereo/gststereo.c
@@ -102,7 +102,7 @@
g_object_class_install_property (gobject_class, PROP_STEREO,
g_param_spec_float ("stereo", "stereo", "stereo",
- 0.0, 1.0, 0.1,
+ 0.0, 1.0, 0.1f,
G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_STATIC_STRINGS));
trans_class->transform_ip = GST_DEBUG_FUNCPTR (gst_stereo_transform_ip);
@@ -112,7 +112,7 @@
gst_stereo_init (GstStereo * stereo)
{
stereo->active = TRUE;
- stereo->stereo = 0.1;
+ stereo->stereo = 0.1f;
}
static GstFlowReturn
diff --git a/gst/videoparsers/gsth264parse.c b/gst/videoparsers/gsth264parse.c
index 095a645..be2f462 100644
--- a/gst/videoparsers/gsth264parse.c
+++ b/gst/videoparsers/gsth264parse.c
@@ -1829,7 +1829,8 @@
/* 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");
- gst_structure_get_flagset (s, "multiview-flags", &mview_flags, NULL);
+ gst_structure_get_flagset (s, "multiview-flags", (guint*) &mview_flags,
+ NULL);
} else if (mview_mode != GST_VIDEO_MULTIVIEW_MODE_NONE) {
if (gst_video_multiview_guess_half_aspect (mview_mode,
width, height, par_n, par_d)) {
diff --git a/po/af.gmo b/po/af.gmo
index 0c11cda..a57cde0 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index afc2616..64a6133 100644
--- a/po/af.po
+++ b/po/af.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins 0.7.6\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -126,30 +126,30 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Kon nie lêer \"%s\" oopmaak om te lees nie."
-msgid "Couldn't find DVB channel configuration file"
+msgid "Couldn't find channel configuration file"
msgstr ""
#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+msgid "Couldn't load channel configuration file: '%s'"
msgstr ""
#, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "Couldn't find details for channel '%s'"
msgstr ""
#, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr ""
+#, fuzzy, c-format
+msgid "Failed to set properties for channel '%s'"
+msgstr "Kon nie beheertoestel \"%s\" toemaak nie."
+
#, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr ""
-#, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
-msgstr ""
-
-msgid "DVB channel configuration file doesn't contain any channels"
+msgid "Channel configuration file doesn't contain any channels"
msgstr ""
#~ msgid "Could not write to file \"%s\"."
diff --git a/po/az.gmo b/po/az.gmo
index f1eb31e..605ab71 100644
--- a/po/az.gmo
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
index bae75a2..1d1ebbb 100644
--- a/po/az.po
+++ b/po/az.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-0.8.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -127,30 +127,30 @@
msgid "Could not open file \"%s\" for reading."
msgstr "\"%s\" faylı oxuma üçün açıla bilmədi."
-msgid "Couldn't find DVB channel configuration file"
+msgid "Couldn't find channel configuration file"
msgstr ""
#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+msgid "Couldn't load channel configuration file: '%s'"
msgstr ""
#, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "Couldn't find details for channel '%s'"
msgstr ""
#, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr ""
+#, fuzzy, c-format
+msgid "Failed to set properties for channel '%s'"
+msgstr "\"%s\" idarə avadanlığı bağlana bilmədi."
+
#, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr ""
-#, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
-msgstr ""
-
-msgid "DVB channel configuration file doesn't contain any channels"
+msgid "Channel configuration file doesn't contain any channels"
msgstr ""
#~ msgid "Could not write to file \"%s\"."
diff --git a/po/bg.gmo b/po/bg.gmo
index 0a21e7f..afc5d30 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index 8b52a90..ce0a532 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+0200\n"
"PO-Revision-Date: 2016-02-21 21:03+0200\n"
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
"Language-Team: Bulgarian <dict@ludost.net>\n"
@@ -128,36 +128,38 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Файлът „%s“ не може да се отвори за четене."
-msgid "Couldn't find DVB channel configuration file"
+#, fuzzy
+msgid "Couldn't find channel configuration file"
msgstr ""
"Файлът с настройките на цифровото видеоръзпръскване (DVB) не може да бъде "
"открит"
-#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+#, fuzzy, c-format
+msgid "Couldn't load channel configuration file: '%s'"
msgstr ""
"Файлът с настройките на цифровото видеоръзпръскване (DVB) „%s“ не може да "
"бъде прочетен"
-#, c-format
-msgid "Couldn't find details for DVB channel %s"
+#, fuzzy, c-format
+msgid "Couldn't find details for channel '%s'"
msgstr "Липсват данни за канала за цифрово видеоръзпръскване (DVB) „%s“"
#, fuzzy, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr "Липсват данни за канала за цифрово видеоръзпръскване (DVB) „%s“"
#, fuzzy, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Failed to set properties for channel '%s'"
msgstr "Липсват данни за канала за цифрово видеоръзпръскване (DVB) „%s“"
#, fuzzy, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr ""
"Файлът с настройките на цифровото видеоръзпръскване (DVB) не може да бъде "
"открит"
-msgid "DVB channel configuration file doesn't contain any channels"
+#, fuzzy
+msgid "Channel configuration file doesn't contain any channels"
msgstr ""
"Файлът с настройките на цифровото видеоръзпръскване (DVB) не съдържа никакви "
"канали"
diff --git a/po/ca.gmo b/po/ca.gmo
index a3d82a1..a364e57 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index 3c63fa6..42ca5a5 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -9,7 +9,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -128,30 +128,30 @@
msgid "Could not open file \"%s\" for reading."
msgstr "No s'ha pogut obrir el fitxer «%s» per a la lectura."
-msgid "Couldn't find DVB channel configuration file"
+msgid "Couldn't find channel configuration file"
msgstr ""
#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+msgid "Couldn't load channel configuration file: '%s'"
msgstr ""
#, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "Couldn't find details for channel '%s'"
msgstr ""
#, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr ""
+#, fuzzy, c-format
+msgid "Failed to set properties for channel '%s'"
+msgstr "No s'ha pogut obrir el dispositiu de DVD «%s»."
+
#, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr ""
-#, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
-msgstr ""
-
-msgid "DVB channel configuration file doesn't contain any channels"
+msgid "Channel configuration file doesn't contain any channels"
msgstr ""
#~ msgid "Internal data flow error."
diff --git a/po/cs.gmo b/po/cs.gmo
index 58531f8..7b8e5bb 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index 4d6c56e..57929d0 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -11,7 +11,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -134,30 +134,32 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Nezdařilo se otevření souboru „%s“ ke čtení."
-msgid "Couldn't find DVB channel configuration file"
+#, fuzzy
+msgid "Couldn't find channel configuration file"
msgstr "Nelze najít soubor s nastavením kanálů DVB"
-#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+#, fuzzy, c-format
+msgid "Couldn't load channel configuration file: '%s'"
msgstr "Nelze načíst soubor s nastavením kanálu DVB: %s"
-#, c-format
-msgid "Couldn't find details for DVB channel %s"
+#, fuzzy, c-format
+msgid "Couldn't find details for channel '%s'"
msgstr "Nelze najít podrobnosti ke kanálu DVB %s"
#, fuzzy, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr "Nelze najít podrobnosti ke kanálu DVB %s"
#, fuzzy, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Failed to set properties for channel '%s'"
msgstr "Nelze najít podrobnosti ke kanálu DVB %s"
#, fuzzy, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr "Nelze najít soubor s nastavením kanálů DVB"
-msgid "DVB channel configuration file doesn't contain any channels"
+#, fuzzy
+msgid "Channel configuration file doesn't contain any channels"
msgstr "Soubor s nastavením kanálů DVB neobsahuje žádné kanály"
#~ msgid "Internal data flow error."
diff --git a/po/da.gmo b/po/da.gmo
index 3fde8f2..68bbac1 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index ed4a584..9b2943d 100644
--- a/po/da.po
+++ b/po/da.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad-1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -126,30 +126,32 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Kunne ikke åbne filen »%s« for læsning."
-msgid "Couldn't find DVB channel configuration file"
+#, fuzzy
+msgid "Couldn't find channel configuration file"
msgstr "Kunne ikke finde DVB-kanalens konfigurationsfil"
-#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+#, fuzzy, c-format
+msgid "Couldn't load channel configuration file: '%s'"
msgstr "Kunne ikke indlæse DVB-kanalens konfigurationsfil: %s"
-#, c-format
-msgid "Couldn't find details for DVB channel %s"
+#, fuzzy, c-format
+msgid "Couldn't find details for channel '%s'"
msgstr "Kunne ikke finde detaljer for DVB-kanalen %s"
#, fuzzy, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr "Kunne ikke finde detaljer for DVB-kanalen %s"
#, fuzzy, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Failed to set properties for channel '%s'"
msgstr "Kunne ikke finde detaljer for DVB-kanalen %s"
#, fuzzy, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr "Kunne ikke finde DVB-kanalens konfigurationsfil"
-msgid "DVB channel configuration file doesn't contain any channels"
+#, fuzzy
+msgid "Channel configuration file doesn't contain any channels"
msgstr "DVB-kanalens konfigurationsfil indeholder ikke nogen kanaler"
#~ msgid "Internal data flow error."
diff --git a/po/de.gmo b/po/de.gmo
index 4f6245c..c3ffede 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index 64537bb..aa6165e 100644
--- a/po/de.po
+++ b/po/de.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -136,30 +136,32 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Datei »%s« konnte nicht zum Lesen geöffnet werden."
-msgid "Couldn't find DVB channel configuration file"
+#, fuzzy
+msgid "Couldn't find channel configuration file"
msgstr "DVB Kanal-Konfigurationsdatei konnte nicht gefunden werden"
-#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+#, fuzzy, c-format
+msgid "Couldn't load channel configuration file: '%s'"
msgstr "DVB Kanal-Konfigurationsdatei konnte nicht geladen werden: %s"
-#, c-format
-msgid "Couldn't find details for DVB channel %s"
+#, fuzzy, c-format
+msgid "Couldn't find details for channel '%s'"
msgstr "Details zu DVB-Kanal %s konnten nicht gefunden werden"
#, fuzzy, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr "Details zu DVB-Kanal %s konnten nicht gefunden werden"
#, fuzzy, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Failed to set properties for channel '%s'"
msgstr "Details zu DVB-Kanal %s konnten nicht gefunden werden"
#, fuzzy, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr "DVB Kanal-Konfigurationsdatei konnte nicht gefunden werden"
-msgid "DVB channel configuration file doesn't contain any channels"
+#, fuzzy
+msgid "Channel configuration file doesn't contain any channels"
msgstr "DVB Kanal-Konfigurationsdatei enthält keine Kanäle"
#~ msgid "Internal data flow error."
diff --git a/po/el.gmo b/po/el.gmo
index 7d5900e..a8d08f0 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index 1b6e0c1..23b9f0f 100644
--- a/po/el.po
+++ b/po/el.po
@@ -9,7 +9,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -129,30 +129,30 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Αδυναμία ανοίγματος αρχείου \"%s\" για ανάγνωση."
-msgid "Couldn't find DVB channel configuration file"
+msgid "Couldn't find channel configuration file"
msgstr ""
#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+msgid "Couldn't load channel configuration file: '%s'"
msgstr ""
#, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "Couldn't find details for channel '%s'"
msgstr ""
#, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr ""
+#, fuzzy, c-format
+msgid "Failed to set properties for channel '%s'"
+msgstr "Αποτυχία ανοίγματος της συσκευής DVD '%s'."
+
#, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr ""
-#, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
-msgstr ""
-
-msgid "DVB channel configuration file doesn't contain any channels"
+msgid "Channel configuration file doesn't contain any channels"
msgstr ""
#~ msgid "Internal data flow error."
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index 7e4eec7..b98b223 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 f4eea15..2b2892d 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gst-plugins 0.8.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -125,30 +125,30 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Could not open file \"%s\" for reading."
-msgid "Couldn't find DVB channel configuration file"
+msgid "Couldn't find channel configuration file"
msgstr ""
#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+msgid "Couldn't load channel configuration file: '%s'"
msgstr ""
#, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "Couldn't find details for channel '%s'"
msgstr ""
#, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr ""
+#, fuzzy, c-format
+msgid "Failed to set properties for channel '%s'"
+msgstr "Could not close control device \"%s\"."
+
#, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr ""
-#, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
-msgstr ""
-
-msgid "DVB channel configuration file doesn't contain any channels"
+msgid "Channel configuration file doesn't contain any channels"
msgstr ""
#~ msgid "Could not write to file \"%s\"."
diff --git a/po/eo.gmo b/po/eo.gmo
index bd10fce..5ffa96b 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index 45e2583..885ecb4 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -126,30 +126,30 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Ne eblis malfermi la dosieron \"%s\" por legi."
-msgid "Couldn't find DVB channel configuration file"
+msgid "Couldn't find channel configuration file"
msgstr ""
#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+msgid "Couldn't load channel configuration file: '%s'"
msgstr ""
#, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "Couldn't find details for channel '%s'"
msgstr ""
#, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr ""
+#, fuzzy, c-format
+msgid "Failed to set properties for channel '%s'"
+msgstr "Fiaskis malfermi la DVD-aparaton \"%s\"."
+
#, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr ""
-#, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
-msgstr ""
-
-msgid "DVB channel configuration file doesn't contain any channels"
+msgid "Channel configuration file doesn't contain any channels"
msgstr ""
#~ msgid "Internal data flow error."
diff --git a/po/es.gmo b/po/es.gmo
index 238d0a9..82ab8d8 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index 898a4ec..058c7de 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -127,30 +127,30 @@
msgstr "No se pudo abrir el archivo «%s» para leer."
#, fuzzy
-msgid "Couldn't find DVB channel configuration file"
+msgid "Couldn't find channel configuration file"
msgstr "Configuración del canal del mezclador virtual"
#, fuzzy, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+msgid "Couldn't load channel configuration file: '%s'"
msgstr "Configuración del canal del mezclador virtual"
#, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "Couldn't find details for channel '%s'"
msgstr ""
#, c-format
-msgid "No properties for the DVB channel %s"
-msgstr ""
-
-#, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr ""
#, fuzzy, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
+msgid "Failed to set properties for channel '%s'"
+msgstr "Falló abrir el dispositivo DVD «%s»."
+
+#, fuzzy, c-format
+msgid "Couldn't find channel configuration file: '%s'"
msgstr "Configuración del canal del mezclador virtual"
-msgid "DVB channel configuration file doesn't contain any channels"
+msgid "Channel configuration file doesn't contain any channels"
msgstr ""
#~ msgid "Internal data flow error."
diff --git a/po/eu.gmo b/po/eu.gmo
index 3fedd14..29013b5 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index 52c80e5..a778c4a 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad-0.10.17.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -127,30 +127,30 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Ezin izan da \"%s\" fitxategia ireki irakurtzeko."
-msgid "Couldn't find DVB channel configuration file"
+msgid "Couldn't find channel configuration file"
msgstr ""
#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+msgid "Couldn't load channel configuration file: '%s'"
msgstr ""
#, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "Couldn't find details for channel '%s'"
msgstr ""
#, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr ""
+#, fuzzy, c-format
+msgid "Failed to set properties for channel '%s'"
+msgstr "Huts egin du '%s' DVD gailua irekitzean."
+
#, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr ""
-#, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
-msgstr ""
-
-msgid "DVB channel configuration file doesn't contain any channels"
+msgid "Channel configuration file doesn't contain any channels"
msgstr ""
#~ msgid "Internal data flow error."
diff --git a/po/fi.gmo b/po/fi.gmo
index d61e65e..ef20085 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index c86d78e..dabbbf8 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -11,7 +11,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.13.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -131,30 +131,30 @@
msgstr "Tiedostoa \"%s\" ei voi avata luettavaksi."
#, fuzzy
-msgid "Couldn't find DVB channel configuration file"
+msgid "Couldn't find channel configuration file"
msgstr "Näennäinen mikserikanava-asetus"
#, fuzzy, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+msgid "Couldn't load channel configuration file: '%s'"
msgstr "Näennäinen mikserikanava-asetus"
#, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "Couldn't find details for channel '%s'"
msgstr ""
#, c-format
-msgid "No properties for the DVB channel %s"
-msgstr ""
-
-#, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr ""
#, fuzzy, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
+msgid "Failed to set properties for channel '%s'"
+msgstr "DVD-laitetta \"%s\" ei voitu avata."
+
+#, fuzzy, c-format
+msgid "Couldn't find channel configuration file: '%s'"
msgstr "Näennäinen mikserikanava-asetus"
-msgid "DVB channel configuration file doesn't contain any channels"
+msgid "Channel configuration file doesn't contain any channels"
msgstr ""
#~ msgid "Internal data flow error."
diff --git a/po/fr.gmo b/po/fr.gmo
index d7d5691..f400826 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index 024fa49..ae25b1c 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -9,7 +9,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+0200\n"
"PO-Revision-Date: 2016-02-20 16:27+0100\n"
"Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
@@ -130,30 +130,32 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Impossible d’ouvrir le fichier « %s » en lecture."
-msgid "Couldn't find DVB channel configuration file"
+#, fuzzy
+msgid "Couldn't find channel configuration file"
msgstr "Impossible de trouver le fichier de configuration de canal DVB"
-#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+#, fuzzy, c-format
+msgid "Couldn't load channel configuration file: '%s'"
msgstr "Impossible de charger le fichier de configuration de canal DVB : %s"
-#, c-format
-msgid "Couldn't find details for DVB channel %s"
+#, fuzzy, c-format
+msgid "Couldn't find details for channel '%s'"
msgstr "Impossible de trouver des informations sur le canal DVB %s"
#, fuzzy, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr "Impossible de trouver des informations sur le canal DVB %s"
#, fuzzy, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Failed to set properties for channel '%s'"
msgstr "Impossible de trouver des informations sur le canal DVB %s"
#, fuzzy, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr "Impossible de trouver le fichier de configuration de canal DVB"
-msgid "DVB channel configuration file doesn't contain any channels"
+#, fuzzy
+msgid "Channel configuration file doesn't contain any channels"
msgstr "Le fichier de configuration de canal DVB ne contient aucun canal"
#~ msgid "Internal data flow error."
diff --git a/po/gl.gmo b/po/gl.gmo
index 7173231..8cb3550 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index 027a614..a45ff76 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -128,30 +128,30 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Non foi posíbel abrir o ficheiro «%s» para ler."
-msgid "Couldn't find DVB channel configuration file"
+msgid "Couldn't find channel configuration file"
msgstr ""
#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+msgid "Couldn't load channel configuration file: '%s'"
msgstr ""
#, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "Couldn't find details for channel '%s'"
msgstr ""
#, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr ""
+#, fuzzy, c-format
+msgid "Failed to set properties for channel '%s'"
+msgstr "Produciuse un fallo ao abrir o dispositivo DVD «%s»."
+
#, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr ""
-#, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
-msgstr ""
-
-msgid "DVB channel configuration file doesn't contain any channels"
+msgid "Channel configuration file doesn't contain any channels"
msgstr ""
#~ msgid "Internal data flow error."
diff --git a/po/gst-plugins-bad-1.0.pot b/po/gst-plugins-bad-1.0.pot
index a21ccb3..06185d2 100644
--- a/po/gst-plugins-bad-1.0.pot
+++ b/po/gst-plugins-bad-1.0.pot
@@ -5,9 +5,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: gst-plugins-bad 1.9.90\n"
+"Project-Id-Version: gst-plugins-bad 1.10.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -102,16 +102,16 @@
msgid "Subpicture format was not configured before data flow"
msgstr ""
-#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:3056
+#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:3111
msgid "Failed to get fragment URL."
msgstr ""
-#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:3407
+#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:3462
msgid "Couldn't download fragments"
msgstr ""
-#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:3496
-#: gst/mpegtsdemux/mpegtsbase.c:1392
+#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:3551
+#: gst/mpegtsdemux/mpegtsbase.c:1608
msgid "Internal data stream error."
msgstr ""
@@ -129,60 +129,60 @@
msgid "Could not open file \"%s\" for writing."
msgstr ""
-#: sys/dvb/gstdvbsrc.c:1567 sys/dvb/gstdvbsrc.c:1780
+#: sys/dvb/gstdvbsrc.c:1571 sys/dvb/gstdvbsrc.c:1784
#, c-format
msgid "Device \"%s\" does not exist."
msgstr ""
-#: sys/dvb/gstdvbsrc.c:1571
+#: sys/dvb/gstdvbsrc.c:1575
#, c-format
msgid "Could not open frontend device \"%s\"."
msgstr ""
-#: sys/dvb/gstdvbsrc.c:1590
+#: sys/dvb/gstdvbsrc.c:1594
#, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr ""
-#: sys/dvb/gstdvbsrc.c:1607
+#: sys/dvb/gstdvbsrc.c:1611
#, c-format
msgid "Cannot enumerate delivery systems from frontend device \"%s\"."
msgstr ""
-#: sys/dvb/gstdvbsrc.c:1784
+#: sys/dvb/gstdvbsrc.c:1788
#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr ""
-#: sys/dvb/parsechannels.c:359
-msgid "Couldn't find DVB channel configuration file"
+#: sys/dvb/parsechannels.c:410
+msgid "Couldn't find channel configuration file"
msgstr ""
-#: sys/dvb/parsechannels.c:362 sys/dvb/parsechannels.c:518
+#: sys/dvb/parsechannels.c:413 sys/dvb/parsechannels.c:563
#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+msgid "Couldn't load channel configuration file: '%s'"
msgstr ""
-#: sys/dvb/parsechannels.c:371 sys/dvb/parsechannels.c:803
+#: sys/dvb/parsechannels.c:421 sys/dvb/parsechannels.c:846
#, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "Couldn't find details for channel '%s'"
msgstr ""
-#: sys/dvb/parsechannels.c:381
+#: sys/dvb/parsechannels.c:430
#, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr ""
-#: sys/dvb/parsechannels.c:391
+#: sys/dvb/parsechannels.c:439
#, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Failed to set properties for channel '%s'"
msgstr ""
-#: sys/dvb/parsechannels.c:515
+#: sys/dvb/parsechannels.c:560
#, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr ""
-#: sys/dvb/parsechannels.c:525
-msgid "DVB channel configuration file doesn't contain any channels"
+#: sys/dvb/parsechannels.c:570
+msgid "Channel configuration file doesn't contain any channels"
msgstr ""
diff --git a/po/hr.gmo b/po/hr.gmo
index b15b5c8..05a8898 100644
--- a/po/hr.gmo
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
index 0f18211..ade3d34 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+0200\n"
"PO-Revision-Date: 2016-05-27 12:45-0700\n"
"Last-Translator: Božidar Putanec <bozidarp@yahoo.com>\n"
"Language-Team: Croatian <lokalizacija@linux.hr>\n"
@@ -133,30 +133,32 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Datoteku „%s“ nije moguće otvoriti za čitanje."
-msgid "Couldn't find DVB channel configuration file"
+#, fuzzy
+msgid "Couldn't find channel configuration file"
msgstr "Konfiguracijsku datoteku za DVB kanal nije moguće pronaći"
-#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+#, fuzzy, c-format
+msgid "Couldn't load channel configuration file: '%s'"
msgstr "Nije moguće učitati konfiguracijsku datoteku za DVB kanal: %s"
-#, c-format
-msgid "Couldn't find details for DVB channel %s"
+#, fuzzy, c-format
+msgid "Couldn't find details for channel '%s'"
msgstr "Pojedinosti za DVB kanal %s nije moguće pronaći"
#, fuzzy, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr "Pojedinosti za DVB kanal %s nije moguće pronaći"
#, fuzzy, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Failed to set properties for channel '%s'"
msgstr "Pojedinosti za DVB kanal %s nije moguće pronaći"
#, fuzzy, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr "Konfiguracijsku datoteku za DVB kanal nije moguće pronaći"
-msgid "DVB channel configuration file doesn't contain any channels"
+#, fuzzy
+msgid "Channel configuration file doesn't contain any channels"
msgstr "Konfiguracijska datoteka za DVB kanal ne sadrži nijedan kanal"
#~ msgid "Internal data flow error."
diff --git a/po/hu.gmo b/po/hu.gmo
index c4ee658..b3f5957 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index 1079e61..7d624c7 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -131,30 +131,32 @@
msgid "Could not open file \"%s\" for reading."
msgstr "A fájl („%s”) nem nyitható meg olvasásra."
-msgid "Couldn't find DVB channel configuration file"
+#, fuzzy
+msgid "Couldn't find channel configuration file"
msgstr "Nem található DVB-csatorna beállítófájl"
-#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+#, fuzzy, c-format
+msgid "Couldn't load channel configuration file: '%s'"
msgstr "Nem sikerült betölteni a DVB-csatorna beállítófájlt: %s"
-#, c-format
-msgid "Couldn't find details for DVB channel %s"
+#, fuzzy, c-format
+msgid "Couldn't find details for channel '%s'"
msgstr "Nem találhatók a(z) %s DVB-csatorna részletei"
#, fuzzy, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr "Nem találhatók a(z) %s DVB-csatorna részletei"
#, fuzzy, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Failed to set properties for channel '%s'"
msgstr "Nem találhatók a(z) %s DVB-csatorna részletei"
#, fuzzy, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr "Nem található DVB-csatorna beállítófájl"
-msgid "DVB channel configuration file doesn't contain any channels"
+#, fuzzy
+msgid "Channel configuration file doesn't contain any channels"
msgstr "A DVB-csatorna beállítófájl nem tartalmaz egyetlen csatornát sem"
#~ msgid "Internal data flow error."
diff --git a/po/id.gmo b/po/id.gmo
index 4744a0b..9565cf6 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index 5792ac2..dfafca7 100644
--- a/po/id.po
+++ b/po/id.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.3.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -128,30 +128,32 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Tak dapat membuka berkas \"%s\" untuk dibaca."
-msgid "Couldn't find DVB channel configuration file"
+#, fuzzy
+msgid "Couldn't find channel configuration file"
msgstr "Tak bisa temukan berkas konfigurasi kanal DVB"
-#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+#, fuzzy, c-format
+msgid "Couldn't load channel configuration file: '%s'"
msgstr "Tak bisa memuat berka konfigurasi kanal DVB: %s"
-#, c-format
-msgid "Couldn't find details for DVB channel %s"
+#, fuzzy, c-format
+msgid "Couldn't find details for channel '%s'"
msgstr "Tak bisa temukan rincian untuk kanal DVB %s"
#, fuzzy, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr "Tak bisa temukan rincian untuk kanal DVB %s"
#, fuzzy, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Failed to set properties for channel '%s'"
msgstr "Tak bisa temukan rincian untuk kanal DVB %s"
#, fuzzy, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr "Tak bisa temukan berkas konfigurasi kanal DVB"
-msgid "DVB channel configuration file doesn't contain any channels"
+#, fuzzy
+msgid "Channel configuration file doesn't contain any channels"
msgstr "Berkas konfigurasi kanal DVB tak memuat kanal apapun"
#~ msgid "Internal data flow error."
diff --git a/po/it.gmo b/po/it.gmo
index 7368349..722561b 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index 160c36d..7fdde5a 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.13.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -124,30 +124,30 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Impossibile aprire il file «%s» in lettura."
-msgid "Couldn't find DVB channel configuration file"
+msgid "Couldn't find channel configuration file"
msgstr ""
#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+msgid "Couldn't load channel configuration file: '%s'"
msgstr ""
#, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "Couldn't find details for channel '%s'"
msgstr ""
#, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr ""
+#, fuzzy, c-format
+msgid "Failed to set properties for channel '%s'"
+msgstr "Apertura del device DVD «%s» non riuscita."
+
#, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr ""
-#, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
-msgstr ""
-
-msgid "DVB channel configuration file doesn't contain any channels"
+msgid "Channel configuration file doesn't contain any channels"
msgstr ""
#~ msgid "Internal data flow error."
diff --git a/po/ja.gmo b/po/ja.gmo
index c7668ab..35ba533 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index d813aea..55b65d6 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -127,30 +127,30 @@
msgstr "読み込み用にファイル \"%s\" を開くことができません。"
#, fuzzy
-msgid "Couldn't find DVB channel configuration file"
+msgid "Couldn't find channel configuration file"
msgstr "仮想ミックスチャンネル設定"
#, fuzzy, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+msgid "Couldn't load channel configuration file: '%s'"
msgstr "仮想ミックスチャンネル設定"
#, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "Couldn't find details for channel '%s'"
msgstr ""
#, c-format
-msgid "No properties for the DVB channel %s"
-msgstr ""
-
-#, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr ""
#, fuzzy, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
+msgid "Failed to set properties for channel '%s'"
+msgstr "DVDデバイス '%s' のオープンに失敗しました。"
+
+#, fuzzy, c-format
+msgid "Couldn't find channel configuration file: '%s'"
msgstr "仮想ミックスチャンネル設定"
-msgid "DVB channel configuration file doesn't contain any channels"
+msgid "Channel configuration file doesn't contain any channels"
msgstr ""
#~ msgid "Internal data flow error."
diff --git a/po/ky.gmo b/po/ky.gmo
index 6afd057..4bc7c84 100644
--- a/po/ky.gmo
+++ b/po/ky.gmo
Binary files differ
diff --git a/po/ky.po b/po/ky.po
index 65ccb6c..eb8153d 100644
--- a/po/ky.po
+++ b/po/ky.po
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.5\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -124,28 +124,28 @@
msgid "Could not open file \"%s\" for reading."
msgstr "\"%s\" файлы окууга ачылган жок."
-msgid "Couldn't find DVB channel configuration file"
+msgid "Couldn't find channel configuration file"
msgstr ""
#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+msgid "Couldn't load channel configuration file: '%s'"
msgstr ""
#, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "Couldn't find details for channel '%s'"
msgstr ""
#, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr ""
#, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Failed to set properties for channel '%s'"
msgstr ""
#, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr ""
-msgid "DVB channel configuration file doesn't contain any channels"
+msgid "Channel configuration file doesn't contain any channels"
msgstr ""
diff --git a/po/lt.gmo b/po/lt.gmo
index 5a7c491..3359d4f 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index 3b0995f..de8474c 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad-0.10.6.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -127,30 +127,30 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Nepavyko atverti failo „%s“ skaitymui."
-msgid "Couldn't find DVB channel configuration file"
+msgid "Couldn't find channel configuration file"
msgstr ""
#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+msgid "Couldn't load channel configuration file: '%s'"
msgstr ""
#, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "Couldn't find details for channel '%s'"
msgstr ""
#, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr ""
+#, fuzzy, c-format
+msgid "Failed to set properties for channel '%s'"
+msgstr "Nepavyko atverti išorinės pusės įrenginio „%s“."
+
#, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr ""
-#, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
-msgstr ""
-
-msgid "DVB channel configuration file doesn't contain any channels"
+msgid "Channel configuration file doesn't contain any channels"
msgstr ""
#, fuzzy
diff --git a/po/lv.gmo b/po/lv.gmo
index d66ee0f..5c6b8b0 100644
--- a/po/lv.gmo
+++ b/po/lv.gmo
Binary files differ
diff --git a/po/lv.po b/po/lv.po
index 536869a..fe3ae19 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.2.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -133,30 +133,32 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Nevarēja atvērt datni “%s” lasīšanai."
-msgid "Couldn't find DVB channel configuration file"
+#, fuzzy
+msgid "Couldn't find channel configuration file"
msgstr "Nevarēja atrast DVB kanāla konfigurācijas datni"
-#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+#, fuzzy, c-format
+msgid "Couldn't load channel configuration file: '%s'"
msgstr "Nevarēja ielādēt DVB kanāla konfigurācijas datni: %s"
-#, c-format
-msgid "Couldn't find details for DVB channel %s"
+#, fuzzy, c-format
+msgid "Couldn't find details for channel '%s'"
msgstr "Nevarēja atrast sīkāku informāciju par DVB kanālu %s"
#, fuzzy, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr "Nevarēja atrast sīkāku informāciju par DVB kanālu %s"
#, fuzzy, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Failed to set properties for channel '%s'"
msgstr "Nevarēja atrast sīkāku informāciju par DVB kanālu %s"
#, fuzzy, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr "Nevarēja atrast DVB kanāla konfigurācijas datni"
-msgid "DVB channel configuration file doesn't contain any channels"
+#, fuzzy
+msgid "Channel configuration file doesn't contain any channels"
msgstr "DVB kanāla konfigurācijas datne nesatur nevienu kanālu"
#~ msgid "Internal data flow error."
diff --git a/po/mt.gmo b/po/mt.gmo
index b5e536a..d40775a 100644
--- a/po/mt.gmo
+++ b/po/mt.gmo
Binary files differ
diff --git a/po/mt.po b/po/mt.po
index a31a907..c3a145d 100644
--- a/po/mt.po
+++ b/po/mt.po
@@ -5,7 +5,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad-0.10.8.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -127,30 +127,30 @@
msgstr "Ma nistax naqra mill-fajl \"%s\"."
#, fuzzy
-msgid "Couldn't find DVB channel configuration file"
+msgid "Couldn't find channel configuration file"
msgstr "Virtual mixer channel configuration"
#, fuzzy, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+msgid "Couldn't load channel configuration file: '%s'"
msgstr "Virtual mixer channel configuration"
#, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "Couldn't find details for channel '%s'"
msgstr ""
#, c-format
-msgid "No properties for the DVB channel %s"
-msgstr ""
-
-#, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr ""
#, fuzzy, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
+msgid "Failed to set properties for channel '%s'"
+msgstr "Problema biex niftaħ apparat tad-DVD '%s'."
+
+#, fuzzy, c-format
+msgid "Couldn't find channel configuration file: '%s'"
msgstr "Virtual mixer channel configuration"
-msgid "DVB channel configuration file doesn't contain any channels"
+msgid "Channel configuration file doesn't contain any channels"
msgstr ""
#~ msgid "Internal data flow error."
diff --git a/po/nb.gmo b/po/nb.gmo
index 396abde..3b16a7e 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index 745045c..102e074 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -125,30 +125,32 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Kunne ikke åpne filen «%s» for lesing."
-msgid "Couldn't find DVB channel configuration file"
+#, fuzzy
+msgid "Couldn't find channel configuration file"
msgstr "Kunne ikke finne DVB-kanal-konfigurasjonsfil"
-#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+#, fuzzy, c-format
+msgid "Couldn't load channel configuration file: '%s'"
msgstr "Kunne ikke finne DVB-kanalkonfigurasjonsfil: %s"
-#, c-format
-msgid "Couldn't find details for DVB channel %s"
+#, fuzzy, c-format
+msgid "Couldn't find details for channel '%s'"
msgstr "Kunne ikke finne detaljer for DVB-kanal %s"
#, fuzzy, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr "Kunne ikke finne detaljer for DVB-kanal %s"
#, fuzzy, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Failed to set properties for channel '%s'"
msgstr "Kunne ikke finne detaljer for DVB-kanal %s"
#, fuzzy, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr "Kunne ikke finne DVB-kanal-konfigurasjonsfil"
-msgid "DVB channel configuration file doesn't contain any channels"
+#, fuzzy
+msgid "Channel configuration file doesn't contain any channels"
msgstr "DVB-kanalkonfigurasjonsfilen inneholder ingen kanaler"
#~ msgid "Internal data flow error."
diff --git a/po/nl.gmo b/po/nl.gmo
index c0e4769..4bd8b96 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index 8d26663..0e429fd 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+0200\n"
"PO-Revision-Date: 2016-02-20 12:35+0100\n"
"Last-Translator: Freek de Kruijf <f.de.kruijf@gmail.com>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
@@ -130,30 +130,32 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Kan bestand \"%s\" niet openen om te lezen."
-msgid "Couldn't find DVB channel configuration file"
+#, fuzzy
+msgid "Couldn't find channel configuration file"
msgstr "Kon het instellingenbestand van het DVB-kanaal niet vinden"
-#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+#, fuzzy, c-format
+msgid "Couldn't load channel configuration file: '%s'"
msgstr "Kon het instellingenbestand \"%s\" van het DVB-kanaal niet laden"
-#, c-format
-msgid "Couldn't find details for DVB channel %s"
+#, fuzzy, c-format
+msgid "Couldn't find details for channel '%s'"
msgstr "Kon de details voor het DVB-kanaal %s niet vinden"
#, fuzzy, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr "Kon de details voor het DVB-kanaal %s niet vinden"
#, fuzzy, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Failed to set properties for channel '%s'"
msgstr "Kon de details voor het DVB-kanaal %s niet vinden"
#, fuzzy, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr "Kon het instellingenbestand van het DVB-kanaal niet vinden"
-msgid "DVB channel configuration file doesn't contain any channels"
+#, fuzzy
+msgid "Channel configuration file doesn't contain any channels"
msgstr "Het instellingenbestand van het DVB-kanaal bevat geen kanalen"
#~ msgid "Internal data flow error."
diff --git a/po/or.gmo b/po/or.gmo
index 319cc21..86a352f 100644
--- a/po/or.gmo
+++ b/po/or.gmo
Binary files differ
diff --git a/po/or.po b/po/or.po
index 86a10ee..4b623a3 100644
--- a/po/or.po
+++ b/po/or.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-0.8.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -127,30 +127,30 @@
msgid "Could not open file \"%s\" for reading."
msgstr "\"%s\" ଫାଇଲ ପଢ଼ିବା ପାଇଁ ଖୋଲିହେଲା ନାହିଁ."
-msgid "Couldn't find DVB channel configuration file"
+msgid "Couldn't find channel configuration file"
msgstr ""
#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+msgid "Couldn't load channel configuration file: '%s'"
msgstr ""
#, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "Couldn't find details for channel '%s'"
msgstr ""
#, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr ""
+#, fuzzy, c-format
+msgid "Failed to set properties for channel '%s'"
+msgstr "\"%s\" ନିୟନ୍ତ୍ରଣ ଯନ୍ତ୍ର ବନ୍ଦ କରିହେଲା ନାହିଁ."
+
#, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr ""
-#, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
-msgstr ""
-
-msgid "DVB channel configuration file doesn't contain any channels"
+msgid "Channel configuration file doesn't contain any channels"
msgstr ""
#~ msgid "Could not write to file \"%s\"."
diff --git a/po/pl.gmo b/po/pl.gmo
index a1ea176..57ecafd 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index 1bd5f3b..4941947 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -126,30 +126,32 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Nie udało się otworzyć pliku \"%s\" do odczytu."
-msgid "Couldn't find DVB channel configuration file"
+#, fuzzy
+msgid "Couldn't find channel configuration file"
msgstr "Nie udało się odnaleźć pliku konfiguracyjnego kanałów DVB"
-#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+#, fuzzy, c-format
+msgid "Couldn't load channel configuration file: '%s'"
msgstr "Nie udało się wczytać pliku konfiguracyjnego kanałów DVB: %s"
-#, c-format
-msgid "Couldn't find details for DVB channel %s"
+#, fuzzy, c-format
+msgid "Couldn't find details for channel '%s'"
msgstr "Nie udało się odnaleźć szczegółów dla kanału DVB %s"
#, fuzzy, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr "Nie udało się odnaleźć szczegółów dla kanału DVB %s"
#, fuzzy, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Failed to set properties for channel '%s'"
msgstr "Nie udało się odnaleźć szczegółów dla kanału DVB %s"
#, fuzzy, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr "Nie udało się odnaleźć pliku konfiguracyjnego kanałów DVB"
-msgid "DVB channel configuration file doesn't contain any channels"
+#, fuzzy
+msgid "Channel configuration file doesn't contain any channels"
msgstr "Plik konfiguracyjny kanałów DVB nie zawiera żadnych kanałów"
#~ msgid "Internal data flow error."
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index c9f898c..f007a0b 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 ef9de04..3d382fc 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad-1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+0200\n"
"PO-Revision-Date: 2016-05-06 16:02-0300\n"
"Last-Translator: Fabrício Godoy <skarllot@gmail.com>\n"
"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
@@ -133,30 +133,32 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Não foi possível abrir o arquivo \"%s\" para leitura."
-msgid "Couldn't find DVB channel configuration file"
+#, fuzzy
+msgid "Couldn't find channel configuration file"
msgstr "Não foi possível encontrar o arquivo de configuração de canal DVB"
-#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+#, fuzzy, c-format
+msgid "Couldn't load channel configuration file: '%s'"
msgstr "Não foi possível carregar o arquivo de configuração de canal DVB: %s"
-#, c-format
-msgid "Couldn't find details for DVB channel %s"
+#, fuzzy, c-format
+msgid "Couldn't find details for channel '%s'"
msgstr "Não foi possível encontrar detalhes para o canal DVB %s"
#, fuzzy, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr "Não foi possível encontrar detalhes para o canal DVB %s"
#, fuzzy, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Failed to set properties for channel '%s'"
msgstr "Não foi possível encontrar detalhes para o canal DVB %s"
#, fuzzy, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr "Não foi possível encontrar o arquivo de configuração de canal DVB"
-msgid "DVB channel configuration file doesn't contain any channels"
+#, fuzzy
+msgid "Channel configuration file doesn't contain any channels"
msgstr "O arquivo de configuração de canal DVB não contém nenhum canal"
#~ msgid "Internal data flow error."
diff --git a/po/ro.gmo b/po/ro.gmo
index c72ee99..e07f4bd 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index 922d43e..e8962bc 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -5,7 +5,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.18.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -125,30 +125,30 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Nu s-a putut deschide fișierul „%s” pentru citire."
-msgid "Couldn't find DVB channel configuration file"
+msgid "Couldn't find channel configuration file"
msgstr ""
#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+msgid "Couldn't load channel configuration file: '%s'"
msgstr ""
#, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "Couldn't find details for channel '%s'"
msgstr ""
#, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr ""
+#, fuzzy, c-format
+msgid "Failed to set properties for channel '%s'"
+msgstr "Nu s-a putut deschide dispozitivul DVD „%s”."
+
#, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr ""
-#, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
-msgstr ""
-
-msgid "DVB channel configuration file doesn't contain any channels"
+msgid "Channel configuration file doesn't contain any channels"
msgstr ""
#~ msgid "Internal data flow error."
diff --git a/po/ru.gmo b/po/ru.gmo
index e326719..9ac4c2c 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index 41f8799..7134bd2 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -130,30 +130,32 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Не удалось открыть для чтения файл «%s»."
-msgid "Couldn't find DVB channel configuration file"
+#, fuzzy
+msgid "Couldn't find channel configuration file"
msgstr "Не удалось найти файл настройки каналов DVB"
-#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+#, fuzzy, c-format
+msgid "Couldn't load channel configuration file: '%s'"
msgstr "Не удалось загрузить файл настройки каналов DVB: %s"
-#, c-format
-msgid "Couldn't find details for DVB channel %s"
+#, fuzzy, c-format
+msgid "Couldn't find details for channel '%s'"
msgstr "Не удалось найти настройки DVB-канала %s"
#, fuzzy, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr "Не удалось найти настройки DVB-канала %s"
#, fuzzy, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Failed to set properties for channel '%s'"
msgstr "Не удалось найти настройки DVB-канала %s"
#, fuzzy, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr "Не удалось найти файл настройки каналов DVB"
-msgid "DVB channel configuration file doesn't contain any channels"
+#, fuzzy
+msgid "Channel configuration file doesn't contain any channels"
msgstr "Файл настройки каналов DVB не содержит каналов"
#~ msgid "Internal data flow error."
diff --git a/po/sk.gmo b/po/sk.gmo
index 086f682..6ca9fbb 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index 1fc661e..6baeddd 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+0200\n"
"PO-Revision-Date: 2016-05-20 12:33+0100\n"
"Last-Translator: Peter Tuhársky <tuharsky@misbb.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -131,30 +131,32 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Nepodarilo sa otvoriť súbor \"%s\" na čítanie."
-msgid "Couldn't find DVB channel configuration file"
+#, fuzzy
+msgid "Couldn't find channel configuration file"
msgstr "Nepodarilo sa nájsť konfiguračný súbor DVB kanálu"
-#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+#, fuzzy, c-format
+msgid "Couldn't load channel configuration file: '%s'"
msgstr "Nepodarilo sa načítať konfiguračný súbor DVB kanálu: %s"
-#, c-format
-msgid "Couldn't find details for DVB channel %s"
+#, fuzzy, c-format
+msgid "Couldn't find details for channel '%s'"
msgstr "Nepodarilo sa nájsť podrobnosti o DVB kanáli %s"
#, fuzzy, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr "Nepodarilo sa nájsť podrobnosti o DVB kanáli %s"
#, fuzzy, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Failed to set properties for channel '%s'"
msgstr "Nepodarilo sa nájsť podrobnosti o DVB kanáli %s"
#, fuzzy, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr "Nepodarilo sa nájsť konfiguračný súbor DVB kanálu"
-msgid "DVB channel configuration file doesn't contain any channels"
+#, fuzzy
+msgid "Channel configuration file doesn't contain any channels"
msgstr "Konfiguračný súbor DVB kanála neobsahuje žiadne kanály"
#~ msgid "Internal data flow error."
diff --git a/po/sl.gmo b/po/sl.gmo
index 2593e16..9493d12 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index cd58f1c..5dfda0d 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -131,30 +131,30 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Datoteke \"%s\" ni mogoče odpreti za branje."
-msgid "Couldn't find DVB channel configuration file"
+msgid "Couldn't find channel configuration file"
msgstr ""
#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+msgid "Couldn't load channel configuration file: '%s'"
msgstr ""
#, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "Couldn't find details for channel '%s'"
msgstr ""
#, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr ""
+#, fuzzy, c-format
+msgid "Failed to set properties for channel '%s'"
+msgstr "Napaka med odpiranjem DVD naprave \"%s\"."
+
#, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr ""
-#, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
-msgstr ""
-
-msgid "DVB channel configuration file doesn't contain any channels"
+msgid "Channel configuration file doesn't contain any channels"
msgstr ""
#~ msgid "Internal data flow error."
diff --git a/po/sq.gmo b/po/sq.gmo
index 89835e8..5138c2c 100644
--- a/po/sq.gmo
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
index 82c2710..9f79cc3 100644
--- a/po/sq.po
+++ b/po/sq.po
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.7.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -124,30 +124,30 @@
msgid "Could not open file \"%s\" for reading."
msgstr "E pamundur hapja e file \"%s\" për lexim."
-msgid "Couldn't find DVB channel configuration file"
+msgid "Couldn't find channel configuration file"
msgstr ""
#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+msgid "Couldn't load channel configuration file: '%s'"
msgstr ""
#, c-format
-msgid "Couldn't find details for DVB channel %s"
+msgid "Couldn't find details for channel '%s'"
msgstr ""
#, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr ""
+#, fuzzy, c-format
+msgid "Failed to set properties for channel '%s'"
+msgstr "E pamundur hapja e dispozitivit frontend \"%s\"."
+
#, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr ""
-#, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
-msgstr ""
-
-msgid "DVB channel configuration file doesn't contain any channels"
+msgid "Channel configuration file doesn't contain any channels"
msgstr ""
#, fuzzy
diff --git a/po/sr.gmo b/po/sr.gmo
index 57abefe..51c03c8 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index e064215..9104e4e 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad-1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+0200\n"
"PO-Revision-Date: 2015-12-24 11:34+0200\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
@@ -127,30 +127,32 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Не могу да отворим датотеку „%s“ за читање."
-msgid "Couldn't find DVB channel configuration file"
+#, fuzzy
+msgid "Couldn't find channel configuration file"
msgstr "Не могу да пронађем датотеку подешавања ДВБ канала"
-#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+#, fuzzy, c-format
+msgid "Couldn't load channel configuration file: '%s'"
msgstr "Не могу да учитам датотеку подешавања ДВБ канала: %s"
-#, c-format
-msgid "Couldn't find details for DVB channel %s"
+#, fuzzy, c-format
+msgid "Couldn't find details for channel '%s'"
msgstr "Не могу да пронађем податке за ДВБ канал „%s“"
#, fuzzy, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr "Не могу да пронађем податке за ДВБ канал „%s“"
#, fuzzy, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Failed to set properties for channel '%s'"
msgstr "Не могу да пронађем податке за ДВБ канал „%s“"
#, fuzzy, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr "Не могу да пронађем датотеку подешавања ДВБ канала"
-msgid "DVB channel configuration file doesn't contain any channels"
+#, fuzzy
+msgid "Channel configuration file doesn't contain any channels"
msgstr "Датотека подешавања ДВБ канала не садржи ниједан канал"
#~ msgid "Internal data flow error."
diff --git a/po/sv.gmo b/po/sv.gmo
index fdee880..789348e 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index d0ebea0..5e80502 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -126,30 +126,32 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Kunde inte öppna filen \"%s\" för läsning."
-msgid "Couldn't find DVB channel configuration file"
+#, fuzzy
+msgid "Couldn't find channel configuration file"
msgstr "Kunde ej hitta konfigurationsfil för DVB-kanal"
-#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+#, fuzzy, c-format
+msgid "Couldn't load channel configuration file: '%s'"
msgstr "Kunde ej ladda konfigurationsfil för DVB-kanal: %s"
-#, c-format
-msgid "Couldn't find details for DVB channel %s"
+#, fuzzy, c-format
+msgid "Couldn't find details for channel '%s'"
msgstr "Kunde ej hitta detaljer för DVB-kanal %s"
#, fuzzy, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr "Kunde ej hitta detaljer för DVB-kanal %s"
#, fuzzy, c-format
-msgid "Failed to set properties for the DVB channel %s"
-msgstr "Kunde ej hitta detaljer för DVB-kanal %s"
+msgid "Failed to set properties for channel '%s'"
+msgstr "Misslyckades med att öppna dvd-enheten \"%s\"."
#, fuzzy, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr "Kunde ej hitta konfigurationsfil för DVB-kanal"
-msgid "DVB channel configuration file doesn't contain any channels"
+#, fuzzy
+msgid "Channel configuration file doesn't contain any channels"
msgstr "Konfigurationsfil för DVB-kanal innehåller inga kanaler"
#~ msgid "default GStreamer sound events audiosink"
diff --git a/po/tr.gmo b/po/tr.gmo
index dcf7340..c8e7849 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index 10c14c0..e77f820 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad-1.4.1\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -127,30 +127,32 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Dosyayı \"%s\" okumak için açamıyor."
-msgid "Couldn't find DVB channel configuration file"
+#, fuzzy
+msgid "Couldn't find channel configuration file"
msgstr "DVB kanal yapılandırma dosyası bulunamadı"
-#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+#, fuzzy, c-format
+msgid "Couldn't load channel configuration file: '%s'"
msgstr "DVB kanal yapılandırma dosyası yüklenemedi: %s"
-#, c-format
-msgid "Couldn't find details for DVB channel %s"
+#, fuzzy, c-format
+msgid "Couldn't find details for channel '%s'"
msgstr "DVB kanalı %s için ayrıntılar bulunamadı"
#, fuzzy, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr "DVB kanalı %s için ayrıntılar bulunamadı"
#, fuzzy, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Failed to set properties for channel '%s'"
msgstr "DVB kanalı %s için ayrıntılar bulunamadı"
#, fuzzy, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr "DVB kanal yapılandırma dosyası bulunamadı"
-msgid "DVB channel configuration file doesn't contain any channels"
+#, fuzzy
+msgid "Channel configuration file doesn't contain any channels"
msgstr "DVB kanal yapılandırma dosyası herhangi bir kanal içermiyor"
#~ msgid "Internal data flow error."
diff --git a/po/uk.gmo b/po/uk.gmo
index d2860f7..f7dc6f8 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index 73152fb..ea4d05a 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -135,30 +135,32 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Не вдалося відкрити файл «%s» для читання."
-msgid "Couldn't find DVB channel configuration file"
+#, fuzzy
+msgid "Couldn't find channel configuration file"
msgstr "Не вдалося знайти файла налаштувань каналів DVB"
-#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+#, fuzzy, c-format
+msgid "Couldn't load channel configuration file: '%s'"
msgstr "Не вдалося завантажити файл налаштувань каналів DVB: %s"
-#, c-format
-msgid "Couldn't find details for DVB channel %s"
+#, fuzzy, c-format
+msgid "Couldn't find details for channel '%s'"
msgstr "Не вдалося знайти параметрів каналу DVB %s"
#, fuzzy, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr "Не вдалося знайти параметрів каналу DVB %s"
#, fuzzy, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Failed to set properties for channel '%s'"
msgstr "Не вдалося знайти параметрів каналу DVB %s"
#, fuzzy, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr "Не вдалося знайти файла налаштувань каналів DVB"
-msgid "DVB channel configuration file doesn't contain any channels"
+#, fuzzy
+msgid "Channel configuration file doesn't contain any channels"
msgstr "У файлі налаштувань каналів DVB не міститься даних щодо жодного каналу"
#~ msgid "Internal data flow error."
diff --git a/po/vi.gmo b/po/vi.gmo
index cdf9df8..651b5ae 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index 35eeb0f..2a4c433 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -131,30 +131,32 @@
msgid "Could not open file \"%s\" for reading."
msgstr "Không thể mở tập tin “%s” để đọc."
-msgid "Couldn't find DVB channel configuration file"
+#, fuzzy
+msgid "Couldn't find channel configuration file"
msgstr "Không thể tìm thấy tập tin cấu hình kênh DVB"
-#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+#, fuzzy, c-format
+msgid "Couldn't load channel configuration file: '%s'"
msgstr "Không thể tải tập tin cấu hình kênh DVB: %s"
-#, c-format
-msgid "Couldn't find details for DVB channel %s"
+#, fuzzy, c-format
+msgid "Couldn't find details for channel '%s'"
msgstr "Không thể tìm thấy chi tiết cho kênh DVB %s"
#, fuzzy, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr "Không thể tìm thấy chi tiết cho kênh DVB %s"
#, fuzzy, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Failed to set properties for channel '%s'"
msgstr "Không thể tìm thấy chi tiết cho kênh DVB %s"
#, fuzzy, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr "Không thể tìm thấy tập tin cấu hình kênh DVB"
-msgid "DVB channel configuration file doesn't contain any channels"
+#, fuzzy
+msgid "Channel configuration file doesn't contain any channels"
msgstr "Tập tin cấu hình kênh DVB chẳng chứa kênh nào cả"
#~ msgid "Internal data flow error."
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index cbe0a8c..896c82c 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 25cc2f2..9a6fc5b 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -9,7 +9,7 @@
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-09-30 12:19+0300\n"
+"POT-Creation-Date: 2016-11-01 17:49+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"
@@ -123,30 +123,32 @@
msgid "Could not open file \"%s\" for reading."
msgstr "无法以读方式打开文件“%s”。"
-msgid "Couldn't find DVB channel configuration file"
+#, fuzzy
+msgid "Couldn't find channel configuration file"
msgstr "无法找到DVB通道配置文件"
-#, c-format
-msgid "Couldn't load DVB channel configuration file: %s"
+#, fuzzy, c-format
+msgid "Couldn't load channel configuration file: '%s'"
msgstr "无法加载DVB通道配置文件:%s"
-#, c-format
-msgid "Couldn't find details for DVB channel %s"
+#, fuzzy, c-format
+msgid "Couldn't find details for channel '%s'"
msgstr "无法获取DVB通道 %s 的详细信息"
#, fuzzy, c-format
-msgid "No properties for the DVB channel %s"
+msgid "No properties for channel '%s'"
msgstr "无法获取DVB通道 %s 的详细信息"
#, fuzzy, c-format
-msgid "Failed to set properties for the DVB channel %s"
+msgid "Failed to set properties for channel '%s'"
msgstr "无法获取DVB通道 %s 的详细信息"
#, fuzzy, c-format
-msgid "Couldn't find DVB channel configuration file: %s"
+msgid "Couldn't find channel configuration file: '%s'"
msgstr "无法找到DVB通道配置文件"
-msgid "DVB channel configuration file doesn't contain any channels"
+#, fuzzy
+msgid "Channel configuration file doesn't contain any channels"
msgstr "DVB通道配置文件不包含任何通道"
#~ msgid "Internal data flow error."
diff --git a/sys/directsound/gstdirectsoundsrc.c b/sys/directsound/gstdirectsoundsrc.c
index 8687e86..3977466 100644
--- a/sys/directsound/gstdirectsoundsrc.c
+++ b/sys/directsound/gstdirectsoundsrc.c
@@ -818,7 +818,7 @@
if (mmres != MMSYSERR_NOERROR)
continue;
- mmres = mixerGetDevCaps (GPOINTER_TO_UINT (dsoundsrc->mixer),
+ mmres = mixerGetDevCaps ((UINT_PTR)dsoundsrc->mixer,
mixer_caps, sizeof (MIXERCAPS));
if (mmres != MMSYSERR_NOERROR) {
diff --git a/sys/dvb/cam.h b/sys/dvb/cam.h
index 1a79ffb..5645ca3 100644
--- a/sys/dvb/cam.h
+++ b/sys/dvb/cam.h
@@ -1,7 +1,7 @@
/*
- * cam.h -
+ * cam.h
* Copyright (C) 2007 Alessandro Decina
- *
+ *
* Authors:
* Alessandro Decina <alessandro@nnva.org>
*
diff --git a/sys/dvb/camapplication.h b/sys/dvb/camapplication.h
index 4347185..35b4400 100644
--- a/sys/dvb/camapplication.h
+++ b/sys/dvb/camapplication.h
@@ -1,7 +1,7 @@
/*
* camapplication.h - GStreamer CAM (EN50221) Application Layer
* Copyright (C) 2007 Alessandro Decina
- *
+ *
* Authors:
* Alessandro Decina <alessandro@nnva.org>
*
@@ -78,7 +78,7 @@
void _cam_al_application_init (CamALApplication *application);
void _cam_al_application_destroy (CamALApplication *application);
-CamReturn cam_al_application_write (CamALApplication *application,
+CamReturn cam_al_application_write (CamALApplication *application,
CamSLSession *session, guint tag, guint8 *buffer,
guint buffer_size, guint body_length);
#endif /* CAM_APPLICATION_LAYER_H */
diff --git a/sys/dvb/camapplicationinfo.h b/sys/dvb/camapplicationinfo.h
index c0b27dc..2c319a2 100644
--- a/sys/dvb/camapplicationinfo.h
+++ b/sys/dvb/camapplicationinfo.h
@@ -1,7 +1,7 @@
/*
* camapplicationinfo.h - CAM (EN50221) Application Info resource
* Copyright (C) 2007 Alessandro Decina
- *
+ *
* Authors:
* Alessandro Decina <alessandro@nnva.org>
*
diff --git a/sys/dvb/camconditionalaccess.h b/sys/dvb/camconditionalaccess.h
index 92e94af..8d5bb4e 100644
--- a/sys/dvb/camconditionalaccess.h
+++ b/sys/dvb/camconditionalaccess.h
@@ -1,7 +1,7 @@
/*
* camconditionalaccess.h - CAM (EN50221) Conditional Access resource
* Copyright (C) 2007 Alessandro Decina
- *
+ *
* Authors:
* Alessandro Decina <alessandro@nnva.org>
*
diff --git a/sys/dvb/camdevice.h b/sys/dvb/camdevice.h
index f3b359c..f87899d 100644
--- a/sys/dvb/camdevice.h
+++ b/sys/dvb/camdevice.h
@@ -1,7 +1,7 @@
/*
* camdevice.h - GStreamer hardware CAM interface
* Copyright (C) 2007 Alessandro Decina
- *
+ *
* Authors:
* Alessandro Decina <alessandro@nnva.org>
*
diff --git a/sys/dvb/camresourcemanager.h b/sys/dvb/camresourcemanager.h
index e618c6b..4b5220f 100644
--- a/sys/dvb/camresourcemanager.h
+++ b/sys/dvb/camresourcemanager.h
@@ -1,7 +1,7 @@
/*
* camresourcemanager.h - GStreamer CAM (EN50221) Resource Manager
* Copyright (C) 2007 Alessandro Decina
- *
+ *
* Authors:
* Alessandro Decina <alessandro@nnva.org>
*
diff --git a/sys/dvb/camsession.h b/sys/dvb/camsession.h
index 2701e1e..f3e0804 100644
--- a/sys/dvb/camsession.h
+++ b/sys/dvb/camsession.h
@@ -1,7 +1,7 @@
/*
* camsession.h - GStreamer CAM (EN50221) Session Layer
* Copyright (C) 2007 Alessandro Decina
- *
+ *
* Authors:
* Alessandro Decina <alessandro@nnva.org>
*
@@ -53,10 +53,10 @@
struct _CamSL
{
CamTL *tl;
-
+
GHashTable *sessions;
guint session_ids;
-
+
/* callbacks */
CamReturn (*open_session_request) (CamSL *sl, CamSLSession *session,
CamSLResourceStatus *status);
@@ -64,7 +64,7 @@
CamReturn (*session_closed) (CamSL *sl, CamSLSession *session);
CamReturn (*session_data) (CamSL *sl, CamSLSession *session,
guint8 *data, guint length);
-
+
gpointer user_data;
};
@@ -72,10 +72,10 @@
{
CamSL *sl;
CamTLConnection *connection;
-
+
guint resource_id;
guint16 session_nb;
-
+
CamSLSessionState state;
gpointer user_data;
@@ -86,7 +86,7 @@
CamReturn cam_sl_create_session (CamSL *sl, CamTLConnection *connection,
guint resource_id, CamSLSession **session);
-CamReturn cam_sl_session_close (CamSLSession *session);
+CamReturn cam_sl_session_close (CamSLSession *session);
void cam_sl_calc_buffer_size (CamSL *sl,
guint body_length, guint *buffer_size, guint *offset);
diff --git a/sys/dvb/camswclient.h b/sys/dvb/camswclient.h
index 299e268..7166b45 100644
--- a/sys/dvb/camswclient.h
+++ b/sys/dvb/camswclient.h
@@ -1,7 +1,7 @@
/*
* camswclient.h - GStreamer softcam client
* Copyright (C) 2007 Alessandro Decina
- *
+ *
* Authors:
* Alessandro Decina <alessandro@nnva.org>
*
diff --git a/sys/dvb/camtransport.h b/sys/dvb/camtransport.h
index a1b899b..e0ea240 100644
--- a/sys/dvb/camtransport.h
+++ b/sys/dvb/camtransport.h
@@ -1,7 +1,7 @@
/*
* camtransport.h - GStreamer CAM (EN50221) transport layer
* Copyright (C) 2007 Alessandro Decina
- *
+ *
* Authors:
* Alessandro Decina <alessandro@nnva.org>
*
@@ -53,9 +53,9 @@
guint connection_ids;
GHashTable *connections;
-
+
guint expected_tpdus;
-
+
/* buffer containing module data */
guint8 buffer [HOST_BUFFER_SIZE];
/* number of bytes written in the buffer */
@@ -64,14 +64,14 @@
guint8 *body;
/* length of the body part */
guint body_length;
-
+
/* callbacks */
void (*request_connection) (CamTL *tl, CamTLConnection *connection);
void (*connection_created) (CamTL *tl, CamTLConnection *connection);
void (*connection_deleted) (CamTL *tl, CamTLConnection *connection);
CamReturn (*connection_data) (CamTL *tl, CamTLConnection *connection,
guint8 *data, guint length);
-
+
/* used by the upper layer to extend this layer */
gpointer user_data;
};
diff --git a/sys/dvb/camutils.h b/sys/dvb/camutils.h
index 67b0ca3..1ad9c37 100644
--- a/sys/dvb/camutils.h
+++ b/sys/dvb/camutils.h
@@ -1,7 +1,7 @@
/*
* camutils.h - GStreamer CAM (EN50221) support
* Copyright (C) 2007 Alessandro Decina
- *
+ *
* Authors:
* Alessandro Decina <alessandro@nnva.org>
*
diff --git a/sys/dvb/dvbbasebin.c b/sys/dvb/dvbbasebin.c
index c05f65e..f02cda0 100644
--- a/sys/dvb/dvbbasebin.c
+++ b/sys/dvb/dvbbasebin.c
@@ -5,7 +5,7 @@
*
* Authors:
* Alessandro Decina <alessandro@nnva.org>
- * Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
+ * Reynaldo H. Verdejo Pinochet <reynaldo@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
@@ -342,7 +342,7 @@
"Source/Bin/Video",
"Access descramble and split DVB streams",
"Alessandro Decina <alessandro@nnva.org>\n"
- "Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>");
+ "Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>");
gobject_class = G_OBJECT_CLASS (klass);
gobject_class->set_property = dvb_base_bin_set_property;
diff --git a/sys/dvb/gstdvbsrc.c b/sys/dvb/gstdvbsrc.c
index 3376a05..be2d76d 100644
--- a/sys/dvb/gstdvbsrc.c
+++ b/sys/dvb/gstdvbsrc.c
@@ -2,7 +2,7 @@
* Copyright (C) 2006 Zaheer Abbas Merali <zaheerabbas at merali
* dot org>
* Copyright (C) 2014 Samsung Electronics. All rights reserved.
- * @Author: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
+ * @Author: Reynaldo H. Verdejo Pinochet <reynaldo@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
@@ -130,6 +130,8 @@
#define GST_CAT_DEFAULT (gstdvbsrc_debug)
/**
+ * NUM_DTV_PROPS:
+ *
* Can't be greater than DTV_IOCTL_MAX_MSGS but we are
* not using more than 25 for the largest use case (ISDB-T).
*
@@ -564,6 +566,8 @@
static gboolean gst_dvbsrc_is_valid_bandwidth (guint delsys, guint bw);
/**
+ * LOOP_WHILE_EINTR:
+ *
* This loop should be safe enough considering:
*
* 1.- EINTR suggest the next ioctl might succeed
@@ -627,7 +631,7 @@
"Digital Video Broadcast Source",
"P2P-VCR, C-Lab, University of Paderborn, "
"Zaheer Abbas Merali <zaheerabbas at merali dot org>\n"
- "Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>");
+ "Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>");
gstbasesrc_class->start = GST_DEBUG_FUNCPTR (gst_dvbsrc_start);
gstbasesrc_class->stop = GST_DEBUG_FUNCPTR (gst_dvbsrc_stop);
@@ -1984,7 +1988,7 @@
return FALSE;
}
if (!gst_dvbsrc_tune (src)) {
- GST_ERROR_OBJECT (src, "Not able to lock on to the dvb channel");
+ GST_ERROR_OBJECT (src, "Not able to lock on channel");
goto fail;
}
if (!gst_dvbsrc_open_dvr (src)) {
@@ -2078,8 +2082,8 @@
break;
#endif
default:
- GST_FIXME ("No delsys/transmission-mode sanity checks implemented for "
- "this delivery system");
+ GST_FIXME ("No transmission-mode sanity checks implemented for this "
+ "delivery system");
return TRUE;
}
return FALSE;
@@ -2108,8 +2112,8 @@
return TRUE;
break;
default:
- GST_FIXME ("No delsys/modulation sanity checks implemented for this "
- "delivery system");
+ GST_FIXME ("No modulation sanity checks implemented for this delivery "
+ "system");
return TRUE;
}
return FALSE;
@@ -2318,12 +2322,12 @@
/* If set, confirm the choosen delivery system is actually
* supported by the hardware */
if (object->delsys != SYS_UNDEFINED) {
- GST_DEBUG_OBJECT (object, "Confirming delsys '%u' is supported",
+ GST_DEBUG_OBJECT (object, "Confirming delivery system '%u' is supported",
object->delsys);
if (!g_list_find (object->supported_delsys,
GINT_TO_POINTER (object->delsys))) {
- GST_WARNING_OBJECT (object, "Adapter does not support delsys '%u'",
- object->delsys);
+ GST_WARNING_OBJECT (object, "Adapter does not support delivery system "
+ "'%u'", object->delsys);
return FALSE;
}
}
@@ -2489,11 +2493,9 @@
/* first 3 entries are reserved */
n = 3;
- /**
- * We are not dropping out but issuing a warning in case of wrong
+ /* We are not dropping out but issuing a warning in case of wrong
* parameter combinations as failover behavior should be mandated
- * by the driver. Worst case scenario it will just fail at tuning.
- */
+ * by the driver. Worst case scenario it will just fail at tuning. */
switch (object->delsys) {
case SYS_DVBS:
diff --git a/sys/dvb/gstdvbsrc.h b/sys/dvb/gstdvbsrc.h
index e504ea8..da6b5bc 100644
--- a/sys/dvb/gstdvbsrc.h
+++ b/sys/dvb/gstdvbsrc.h
@@ -2,7 +2,7 @@
* Copyright (C) 2006 Zaheer Abbas Merali <zaheerabbas at merali
* dot org>
* Copyright (C) 2014 Samsung Electronics. All rights reserved.
- * @Author: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
+ * @Author: Reynaldo H. Verdejo Pinochet <reynaldo@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
diff --git a/sys/dvb/parsechannels.c b/sys/dvb/parsechannels.c
index e39cd94..14e6b5e 100644
--- a/sys/dvb/parsechannels.c
+++ b/sys/dvb/parsechannels.c
@@ -37,6 +37,9 @@
#include <linux/dvb/frontend.h>
+GST_DEBUG_CATEGORY_EXTERN (dvb_base_bin_debug);
+#define GST_CAT_DEFAULT dvb_base_bin_debug
+
typedef enum
{
CHANNEL_CONF_FORMAT_NONE,
@@ -44,25 +47,111 @@
CHANNEL_CONF_FORMAT_ZAP
} GstDvbChannelConfFormat;
+typedef gboolean (*GstDvbV5ChannelsConfPropSetFunction) (GstElement *
+ dvbbasebin, const gchar * property, GKeyFile * kf,
+ const gchar * channel_name, const gchar * key);
+
+typedef struct
+{
+ const gchar *conf_property;
+ const gchar *elem_property;
+ GstDvbV5ChannelsConfPropSetFunction set_func;
+} GstDvbV5ChannelsConfToPropertyMap;
+
static gboolean parse_and_configure_from_v5_conf_file (GstElement * dvbbasebin,
const gchar * filename, const gchar * channel_name, GError ** error);
static gboolean parse_and_configure_from_zap_conf_file (GstElement * dvbbasebin,
const gchar * filename, const gchar * channel_name, GError ** error);
static GstDvbChannelConfFormat detect_file_format (const gchar * filename);
+static gboolean gst_dvb_base_bin_conf_set_string (GstElement * dvbbasebin,
+ const gchar * property, GKeyFile * kf, const gchar * channel_name,
+ const gchar * key);
+static gboolean gst_dvb_base_bin_conf_set_uint (GstElement * dvbbasebin,
+ const gchar * property, GKeyFile * kf, const gchar * channel_name,
+ const gchar * key);
+static gboolean gst_dvb_base_bin_conf_set_int (GstElement * dvbbasebin,
+ const gchar * property, GKeyFile * kf, const gchar * channel_name,
+ const gchar * key);
+static gboolean gst_dvb_base_bin_conf_set_inversion (GstElement * dvbbasebin,
+ const gchar * property, GKeyFile * kf, const gchar * channel_name,
+ const gchar * key);
+static gboolean gst_dvb_base_bin_conf_set_guard (GstElement * dvbbasebin,
+ const gchar * property, GKeyFile * kf, const gchar * channel_name,
+ const gchar * key);
+static gboolean gst_dvb_base_bin_conf_set_trans_mode (GstElement * dvbbasebin,
+ const gchar * property, GKeyFile * kf, const gchar * channel_name,
+ const gchar * key);
+static gboolean gst_dvb_base_bin_conf_set_code_rate (GstElement * dvbbasebin,
+ const gchar * property, GKeyFile * kf, const gchar * channel_name,
+ const gchar * key);
+static gboolean gst_dvb_base_bin_conf_set_delsys (GstElement * dvbbasebin,
+ const gchar * property, GKeyFile * kf, const gchar * channel_name,
+ const gchar * key);
+static gboolean gst_dvb_base_bin_conf_set_hierarchy (GstElement * dvbbasebin,
+ const gchar * property, GKeyFile * kf, const gchar * channel_name,
+ const gchar * key);
+static gboolean gst_dvb_base_bin_conf_set_modulation (GstElement * dvbbasebin,
+ const gchar * property, GKeyFile * kf, const gchar * channel_name,
+ const gchar * key);
+static GHashTable *parse_channels_conf_from_zap_file (GstElement * dvbbasebin,
+ const gchar * filename, GError ** error);
+static gboolean remove_channel_from_hash (gpointer key, gpointer value,
+ gpointer user_data);
+static void destroy_channels_hash (GHashTable * channels);
-GST_DEBUG_CATEGORY_EXTERN (dvb_base_bin_debug);
-#define GST_CAT_DEFAULT dvb_base_bin_debug
+GstDvbV5ChannelsConfToPropertyMap dvbv5_prop_map[] = {
+ {"SERVICE_ID", "program-numbers", gst_dvb_base_bin_conf_set_string},
+ {"FREQUENCY", "frequency", gst_dvb_base_bin_conf_set_uint},
+ {"BANDWIDTH_HZ", "bandwidth-hz", gst_dvb_base_bin_conf_set_uint},
+ {"INVERSION", "inversion", gst_dvb_base_bin_conf_set_inversion},
+ {"GUARD_INTERVAL", "guard", gst_dvb_base_bin_conf_set_guard},
+ {"TRANSMISSION_MODE", "trans-mode", gst_dvb_base_bin_conf_set_trans_mode},
+ {"HIERARCHY", "hierarchy", gst_dvb_base_bin_conf_set_hierarchy},
+ {"MODULATION", "modulation", gst_dvb_base_bin_conf_set_modulation},
+ {"CODE_RATE_HP", "code-rate-hp", gst_dvb_base_bin_conf_set_code_rate},
+ {"CODE_RATE_LP", "code-rate-lp", gst_dvb_base_bin_conf_set_code_rate},
+ {"ISDBT_LAYER_ENABLED", "isdbt-layer-enabled",
+ gst_dvb_base_bin_conf_set_uint},
+ {"ISDBT_PARTIAL_RECEPTION", "isdbt-partial-reception",
+ gst_dvb_base_bin_conf_set_int},
+ {"ISDBT_SOUND_BROADCASTING", "isdbt-sound-broadcasting",
+ gst_dvb_base_bin_conf_set_int},
+ {"ISDBT_SB_SUBCHANNEL_ID", "isdbt-sb-subchannel-id",
+ gst_dvb_base_bin_conf_set_int},
+ {"ISDBT_SB_SEGMENT_IDX", "isdbt-sb-segment-idx",
+ gst_dvb_base_bin_conf_set_int},
+ {"ISDBT_SB_SEGMENT_COUNT", "isdbt-sb-segment-count", gst_dvb_base_bin_conf_set_int}, /* Range in files start from 0, property starts from 1 */
+ {"ISDBT_LAYERA_FEC", "isdbt-layera-fec", gst_dvb_base_bin_conf_set_code_rate},
+ {"ISDBT_LAYERA_MODULATION", "isdbt-layera-modulation",
+ gst_dvb_base_bin_conf_set_modulation},
+ {"ISDBT_LAYERA_SEGMENT_COUNT", "isdbt-layera-segment-count",
+ gst_dvb_base_bin_conf_set_int},
+ {"ISDBT_LAYERA_TIME_INTERLEAVING", "isdbt-layera-time-interleaving",
+ gst_dvb_base_bin_conf_set_int},
+ {"ISDBT_LAYERB_FEC", "isdbt-layerb-fec", gst_dvb_base_bin_conf_set_code_rate},
+ {"ISDBT_LAYERB_MODULATION", "isdbt-layerb-modulation",
+ gst_dvb_base_bin_conf_set_modulation},
+ {"ISDBT_LAYERB_SEGMENT_COUNT", "isdbt-layerb-segment-count",
+ gst_dvb_base_bin_conf_set_int},
+ {"ISDBT_LAYERB_TIME_INTERLEAVING", "isdbt-layerb-time-interleaving",
+ gst_dvb_base_bin_conf_set_int},
+ {"ISDBT_LAYERC_FEC", "isdbt-layerc-fec", gst_dvb_base_bin_conf_set_code_rate},
+ {"ISDBT_LAYERC_MODULATION", "isdbt-layerc-modulation",
+ gst_dvb_base_bin_conf_set_modulation},
+ {"ISDBT_LAYERC_SEGMENT_COUNT", "isdbt-layerc-segment-count",
+ gst_dvb_base_bin_conf_set_int},
+ {"ISDBT_LAYERC_TIME_INTERLEAVING", "isdbt-layerc-time-interleaving",
+ gst_dvb_base_bin_conf_set_int},
+ {"DELIVERY_SYSTEM", "delsys", gst_dvb_base_bin_conf_set_delsys},
+ {NULL,}
+};
/* TODO:
* Store the channels hash table around instead of constantly parsing it
* Detect when the file changed on disk
*/
-typedef gboolean (*GstDvbV5ChannelsConfPropSetFunction) (GstElement *
- dvbbasebin, const gchar * property, GKeyFile * kf,
- const gchar * channel_name, const gchar * key);
-
static gint
gst_dvb_base_bin_find_string_in_array (const gchar ** array, const gchar * str)
{
@@ -90,7 +179,7 @@
v = gst_dvb_base_bin_find_string_in_array (strings, str);
if (v == -1) {
GST_WARNING_OBJECT (dvbbasebin, "Unexpected value '%s' for property "
- "'%s', using default: %d", str, property, default_value);
+ "'%s', using default: '%d'", str, property, default_value);
v = default_value;
}
@@ -185,8 +274,8 @@
const gchar * key)
{
const gchar *guards[] = {
- "32", "16", "8", "4", "auto",
- "128", "19/128", "19/256",
+ "1/32", "1/16", "1/8", "1/4", "auto",
+ "1/128", "19/128", "19/256",
"PN420", "PN595", "PN945", NULL
};
return gst_dvb_base_bin_conf_set_property_from_string_array (dvbbasebin,
@@ -236,6 +325,18 @@
}
static gboolean
+gst_dvb_base_bin_conf_set_hierarchy (GstElement * dvbbasebin,
+ const gchar * property, GKeyFile * kf, const gchar * channel_name,
+ const gchar * key)
+{
+ const gchar *hierarchies[] = {
+ "NONE", "1", "2", "4", "AUTO", NULL
+ };
+ return gst_dvb_base_bin_conf_set_property_from_string_array (dvbbasebin,
+ property, kf, channel_name, key, hierarchies, 4);
+}
+
+static gboolean
gst_dvb_base_bin_conf_set_modulation (GstElement * dvbbasebin,
const gchar * property, GKeyFile * kf, const gchar * channel_name,
const gchar * key)
@@ -250,57 +351,7 @@
property, kf, channel_name, key, modulations, 6);
}
-typedef struct
-{
- const gchar *conf_property;
- const gchar *elem_property;
- GstDvbV5ChannelsConfPropSetFunction set_func;
-} GstDvbV5ChannelsConfToPropertyMap;
-
-GstDvbV5ChannelsConfToPropertyMap dvbv5_prop_map[] = {
- {"SERVICE_ID", "program-numbers", gst_dvb_base_bin_conf_set_string},
- {"FREQUENCY", "frequency", gst_dvb_base_bin_conf_set_uint},
- {"BANDWIDTH_HZ", "bandwidth-hz", gst_dvb_base_bin_conf_set_uint},
- {"INVERSION", "inversion", gst_dvb_base_bin_conf_set_inversion},
- {"GUARD_INTERVAL", "guard", gst_dvb_base_bin_conf_set_guard},
- {"TRANSMISSION_MODE", "trans-mode", gst_dvb_base_bin_conf_set_trans_mode},
- {"MODULATION", "modulation", gst_dvb_base_bin_conf_set_modulation},
- {"ISDBT_LAYER_ENABLED", "isdbt-layer-enabled",
- gst_dvb_base_bin_conf_set_uint},
- {"ISDBT_PARTIAL_RECEPTION", "isdbt-partial-reception",
- gst_dvb_base_bin_conf_set_int},
- {"ISDBT_SOUND_BROADCASTING", "isdbt-sound-broadcasting",
- gst_dvb_base_bin_conf_set_int},
- {"ISDBT_SB_SUBCHANNEL_ID", "isdbt-sb-subchannel-id",
- gst_dvb_base_bin_conf_set_int},
- {"ISDBT_SB_SEGMENT_IDX", "isdbt-sb-segment-idx",
- gst_dvb_base_bin_conf_set_int},
- {"ISDBT_SB_SEGMENT_COUNT", "isdbt-sb-segment-count", gst_dvb_base_bin_conf_set_int}, /* Range in files start from 0, property starts from 1 */
- {"ISDBT_LAYERA_FEC", "isdbt-layera-fec", gst_dvb_base_bin_conf_set_code_rate},
- {"ISDBT_LAYERA_MODULATION", "isdbt-layera-modulation",
- gst_dvb_base_bin_conf_set_modulation},
- {"ISDBT_LAYERA_SEGMENT_COUNT", "isdbt-layera-segment-count",
- gst_dvb_base_bin_conf_set_int},
- {"ISDBT_LAYERA_TIME_INTERLEAVING", "isdbt-layera-time-interleaving",
- gst_dvb_base_bin_conf_set_int},
- {"ISDBT_LAYERB_FEC", "isdbt-layerb-fec", gst_dvb_base_bin_conf_set_code_rate},
- {"ISDBT_LAYERB_MODULATION", "isdbt-layerb-modulation",
- gst_dvb_base_bin_conf_set_modulation},
- {"ISDBT_LAYERB_SEGMENT_COUNT", "isdbt-layerb-segment-count",
- gst_dvb_base_bin_conf_set_int},
- {"ISDBT_LAYERB_TIME_INTERLEAVING", "isdbt-layerb-time-interleaving",
- gst_dvb_base_bin_conf_set_int},
- {"ISDBT_LAYERC_FEC", "isdbt-layerc-fec", gst_dvb_base_bin_conf_set_code_rate},
- {"ISDBT_LAYERC_MODULATION", "isdbt-layerc-modulation",
- gst_dvb_base_bin_conf_set_modulation},
- {"ISDBT_LAYERC_SEGMENT_COUNT", "isdbt-layerc-segment-count",
- gst_dvb_base_bin_conf_set_int},
- {"ISDBT_LAYERC_TIME_INTERLEAVING", "isdbt-layerc-time-interleaving",
- gst_dvb_base_bin_conf_set_int},
- {"DELIVERY_SYSTEM", "delsys", gst_dvb_base_bin_conf_set_delsys},
- {NULL,}
-};
-
+/* FIXME: is channel_name guaranteed to be ASCII or UTF-8? */
static gboolean
parse_and_configure_from_v5_conf_file (GstElement * dvbbasebin,
const gchar * filename, const gchar * channel_name, GError ** error)
@@ -356,19 +407,18 @@
(err->domain == G_KEY_FILE_ERROR
&& err->code == G_KEY_FILE_ERROR_NOT_FOUND)) {
g_set_error (error, GST_RESOURCE_ERROR, GST_RESOURCE_ERROR_NOT_FOUND,
- _("Couldn't find DVB channel configuration file"));
+ _("Couldn't find channel configuration file"));
} else {
g_set_error (error, GST_RESOURCE_ERROR, GST_RESOURCE_ERROR_READ,
- _("Couldn't load DVB channel configuration file: %s"), err->message);
+ _("Couldn't load channel configuration file: '%s'"), err->message);
}
g_clear_error (&err);
return FALSE;
unknown_channel:
{
- /* FIXME: is channel name guaranteed to be ASCII or UTF-8? */
g_set_error (error, GST_RESOURCE_ERROR, GST_RESOURCE_ERROR_NOT_FOUND,
- _("Couldn't find details for DVB channel %s"), channel_name);
+ _("Couldn't find details for channel '%s'"), channel_name);
g_key_file_unref (keyfile);
g_clear_error (&err);
return FALSE;
@@ -376,9 +426,8 @@
no_properties:
{
- /* FIXME: is channel name guaranteed to be ASCII or UTF-8? */
g_set_error (error, GST_RESOURCE_ERROR, GST_RESOURCE_ERROR_NOT_FOUND,
- _("No properties for the DVB channel %s"), channel_name);
+ _("No properties for channel '%s'"), channel_name);
g_key_file_unref (keyfile);
g_clear_error (&err);
return FALSE;
@@ -386,19 +435,17 @@
property_error:
{
- /* FIXME: is channel name guaranteed to be ASCII or UTF-8? */
g_set_error (error, GST_RESOURCE_ERROR, GST_RESOURCE_ERROR_FAILED,
- _("Failed to set properties for the DVB channel %s"), channel_name);
+ _("Failed to set properties for channel '%s'"), channel_name);
g_key_file_unref (keyfile);
g_clear_error (&err);
return FALSE;
}
}
-/* this will do zap style channels.conf only for the moment */
static GHashTable *
-parse_channels_conf_from_file (GstElement * dvbbasebin, const gchar * filename,
- GError ** error)
+parse_channels_conf_from_zap_file (GstElement * dvbbasebin,
+ const gchar * filename, GError ** error)
{
gchar *contents;
gchar **lines;
@@ -465,10 +512,8 @@
g_hash_table_insert (params, g_strdup (satellite[j - 2]),
g_strdup (fields[j]));
}
- /**
- * Some ZAP format variations store freqs in MHz
- * but we internally use kHz for DVB-S/S2.
- */
+ /* Some ZAP format variations store freqs in MHz
+ * but we internally use kHz for DVB-S/S2. */
if (strlen (fields[1]) < 6) {
g_hash_table_insert (params, g_strdup ("frequency"),
g_strdup_printf ("%d", atoi (fields[1]) * 1000));
@@ -512,17 +557,17 @@
open_fail:
if (err->code == G_FILE_ERROR_NOENT) {
g_set_error (error, GST_RESOURCE_ERROR, GST_RESOURCE_ERROR_NOT_FOUND,
- _("Couldn't find DVB channel configuration file: %s"), err->message);
+ _("Couldn't find channel configuration file: '%s'"), err->message);
} else {
g_set_error (error, GST_RESOURCE_ERROR, GST_RESOURCE_ERROR_READ,
- _("Couldn't load DVB channel configuration file: %s"), err->message);
+ _("Couldn't load channel configuration file: '%s'"), err->message);
}
g_clear_error (&err);
return NULL;
no_channels:
g_set_error (error, GST_RESOURCE_ERROR, GST_RESOURCE_ERROR_FAILED,
- _("DVB channel configuration file doesn't contain any channels"));
+ _("Channel configuration file doesn't contain any channels"));
g_hash_table_unref (res);
return NULL;
}
@@ -542,6 +587,7 @@
g_hash_table_foreach_remove (channels, remove_channel_from_hash, NULL);
}
+/* FIXME: is channel_name guaranteed to be ASCII or UTF-8? */
static gboolean
parse_and_configure_from_zap_conf_file (GstElement * dvbbasebin,
const gchar * filename, const gchar * channel_name, GError ** error)
@@ -550,18 +596,16 @@
GHashTable *channels, *params;
gchar *type;
- /**
- * Assumptions are made here about a format that is loosely
+ /* Assumptions are made here about a format that is loosely
* defined. Particularly, we assume a given delivery system
* out of counting the number of fields per line. dvbsrc has
* smarter code to auto-detect a delivery system based on
* known-correct combinations of parameters so if you ever
* encounter cases where the delivery system is being
* wrongly set here, just remove the offending
- * g_object_set line and let dvbsrc work his magic out.
- */
+ * g_object_set line and let dvbsrc work his magic out. */
- channels = parse_channels_conf_from_file (dvbbasebin, filename, error);
+ channels = parse_channels_conf_from_zap_file (dvbbasebin, filename, error);
if (!channels)
goto beach;
@@ -798,9 +842,8 @@
unknown_channel:
{
- /* FIXME: is channel name guaranteed to be ASCII or UTF-8? */
g_set_error (error, GST_RESOURCE_ERROR, GST_RESOURCE_ERROR_NOT_FOUND,
- _("Couldn't find details for DVB channel %s"), channel_name);
+ _("Couldn't find details for channel '%s'"), channel_name);
destroy_channels_hash (channels);
return FALSE;
}
diff --git a/tests/check/libs/gstglcolorconvert.c b/tests/check/libs/gstglcolorconvert.c
index d891c8b..98ec48f 100644
--- a/tests/check/libs/gstglcolorconvert.c
+++ b/tests/check/libs/gstglcolorconvert.c
@@ -85,14 +85,21 @@
}
static void
-teardown (void)
+_check_gl_error (GstGLContext * context, gpointer data)
{
GLuint error = context->gl_vtable->GetError ();
fail_if (error != GL_NONE, "GL error 0x%x encountered during processing\n",
error);
+}
+static void
+teardown (void)
+{
gst_object_unref (convert);
gst_object_unref (window);
+
+ gst_gl_context_thread_add (context, (GstGLContextThreadFunc) _check_gl_error,
+ NULL);
gst_object_unref (context);
gst_object_unref (display);
}
diff --git a/tests/check/libs/gstglupload.c b/tests/check/libs/gstglupload.c
index 7c52a85..707adb6 100644
--- a/tests/check/libs/gstglupload.c
+++ b/tests/check/libs/gstglupload.c
@@ -86,14 +86,21 @@
}
static void
-teardown (void)
+_check_gl_error (GstGLContext * context, gpointer data)
{
GLuint error = context->gl_vtable->GetError ();
fail_if (error != GL_NONE, "GL error 0x%x encountered during processing\n",
error);
+}
+static void
+teardown (void)
+{
gst_object_unref (upload);
gst_object_unref (window);
+
+ gst_gl_context_thread_add (context, (GstGLContextThreadFunc) _check_gl_error,
+ NULL);
gst_object_unref (context);
gst_object_unref (display);
if (shader)
diff --git a/win32/common/config.h b/win32/common/config.h
index 20cbc17..381fff4 100644
--- a/win32/common/config.h
+++ b/win32/common/config.h
@@ -86,7 +86,7 @@
#define GST_PACKAGE_ORIGIN "Unknown package origin"
/* GStreamer package release date/time for plugins as YYYY-MM-DD */
-#define GST_PACKAGE_RELEASE_DATETIME "2016-09-30"
+#define GST_PACKAGE_RELEASE_DATETIME "2016-11-01"
/* Define if static plugins should be built */
#undef GST_PLUGIN_BUILD_STATIC
@@ -737,7 +737,7 @@
#define PACKAGE_NAME "GStreamer Bad Plug-ins"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GStreamer Bad Plug-ins 1.9.90"
+#define PACKAGE_STRING "GStreamer Bad Plug-ins 1.10.0"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "gst-plugins-bad"
@@ -746,7 +746,7 @@
#undef PACKAGE_URL
/* Define to the version of this package. */
-#define PACKAGE_VERSION "1.9.90"
+#define PACKAGE_VERSION "1.10.0"
/* directory where plugins are located */
#ifdef _DEBUG
@@ -790,7 +790,7 @@
#undef USE_EGL_RPI
/* Version number of package */
-#define VERSION "1.9.90"
+#define VERSION "1.10.0"
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
significant byte first (like Motorola and SPARC, unlike Intel). */