Tim-Philipp Müller [Fri, 1 Jul 2016 11:20:14 +0000 (12:20 +0100)]
codecparsers: jpeg2000: don't allow 0 value for array access with i-1
Tim-Philipp Müller [Fri, 1 Jul 2016 11:15:28 +0000 (12:15 +0100)]
codecparsers: jpeg2000: fix possible out-of-bounds array access
sizeof(array) != G_N_ELEMENTS(array).
CID 1362900
Sebastian Dröge [Thu, 30 Jun 2016 21:38:26 +0000 (23:38 +0200)]
openh264enc: Set frame timestamps before sending to the encoder
Sebastian Dröge [Thu, 30 Jun 2016 21:35:33 +0000 (23:35 +0200)]
openh264enc: Fix initial time-per-frame calculation
Sebastian Dröge [Thu, 30 Jun 2016 21:33:38 +0000 (23:33 +0200)]
openh264enc: Remove meaningless drop bitrate handling
This doesn't even have a property.
Sebastian Dröge [Thu, 30 Jun 2016 21:29:13 +0000 (23:29 +0200)]
openh264enc: Expose maximum bitrate setting
Sebastian Dröge [Thu, 30 Jun 2016 21:19:26 +0000 (23:19 +0200)]
openh264enc: Actually hook up the rate-control property
Sebastian Dröge [Thu, 30 Jun 2016 21:06:29 +0000 (23:06 +0200)]
openh264enc: Use a constant SPS/PPS ID no matter if openh264 older or newer than 1.4 is used
Sebastian Dröge [Thu, 30 Jun 2016 21:02:49 +0000 (23:02 +0200)]
openh264enc: Make slice settings more explicit and don't set any number if not a fixed number of slices is selected
Nicolas Dufresne [Wed, 29 Jun 2016 19:56:47 +0000 (15:56 -0400)]
webrtcdsp: Rewrite echo data synchronization
The previous code would run out of sync if there was packet lost
or clock skews. When that happened, the echo cancellation feature would
completely stop working. As this is crucial for audio calls, this patch
re-implement synchronization completely.
Instead of letting it drift until next discont, we now synchronize
against the record data at every iteration. This way we simply never
let the stream drift for longer then 10ms period. We also shorter the
delay by using the latency up the probe (basically excluding the sink
latency. This is a decent delay to avoid starving in the probe queue.
https://bugzilla.gnome.org/show_bug.cgi?id=768009
Nicolas Dufresne [Wed, 29 Jun 2016 19:55:19 +0000 (15:55 -0400)]
webrtcdsp: We now fail if there is no echo probe
When echo cancel is enabled, we now fail the pipeline if there is
not echo probe. For this reason there is no need to check if probe
pointer is set anymore.
Matthew Waters [Thu, 30 Jun 2016 11:50:12 +0000 (21:50 +1000)]
glviewconvert: fix transformation matrix usage
Calling glUniformMatrix before the shader is bound is invalid and
would result in errors like:
GL_INVALID_OPERATION in glUniformMatrix(program not linked)
Move glUniformMatrix() to after the gst_gl_shader_use() call.
Javier Martinez Canillas [Tue, 28 Jun 2016 20:07:43 +0000 (16:07 -0400)]
kmssink: fallback to universal planes if no overlay plane is found
Without setting the DRM_CLIENT_CAP_UNIVERSAL_PLANES capability bit, only
overlay planes are made available for compatibility with legacy clients.
But if a CRTC doesn't have an overlay plane associated, then kmssink is
not able to find a plane for the CRTC and the pipeline will fail, i.e:
ERROR kmssink gstkmssink.c:482:gst_kms_sink_start:<kmssink0> Could not find a plane for crtc
If no overlay planes were found for a given CRTC, fallback to universal
planes so DRM will also return primary planes that can be used instead.
https://bugzilla.gnome.org/show_bug.cgi?id=768183
Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Javier Martinez Canillas [Wed, 29 Jun 2016 00:51:56 +0000 (20:51 -0400)]
kmssink: add a plane-id property
Without setting the DRM_CLIENT_CAP_UNIVERSAL_PLANES capability bit, only
overlay planes are made available for compatibility with legacy clients.
But if a CRTC doesn't have an overlay plane associated, then kmssink is
not able to find a plane for the CRTC and the pipeline will fail, i.e:
ERROR kmssink gstkmssink.c:482:gst_kms_sink_start:<kmssink0> Could not find a plane for crtc
This patch adds a plane-id property to the kmssink element so a specific
plane can be used in case that a CRTC has only a primary plane associated.
https://bugzilla.gnome.org/show_bug.cgi?id=768183
Sebastian Dröge [Thu, 30 Jun 2016 08:33:30 +0000 (10:33 +0200)]
openh264enc: Remove broken byte-stream to avc conversion and just output byte-stream as generated by the encoder
The byte-stream to avc conversion did not consider NAL sizes bigger than 2^16,
multiple layers, multiple NALs per layer, and various other things. This
caused corrupted streams in higher bitrates and other circumstances.
Let's just forward byte-stream as generated by the encoder and let h264parse
handle conversion to avc if needed. That way we only have to keep around one
version of the conversion and don't have to fix it in multiple places.
Edward Hervey [Wed, 29 Jun 2016 16:36:56 +0000 (18:36 +0200)]
h264parse: Drop filler data
When skipping data, check if they are filler bytes. If so, drop the
data instead of skipping. We don't want to output filler bytes, but they
shouldn't cause a discontinuity.
https://bugzilla.gnome.org/show_bug.cgi?id=768125
Sebastian Dröge [Thu, 30 Jun 2016 06:31:20 +0000 (08:31 +0200)]
dvbbasebin: Use a non-timer GstPoll
set_flushing() causes inconsistent states on timer polls and also signals a
g_critical() nowadays because of that.
Matthew Waters [Thu, 30 Jun 2016 04:04:36 +0000 (14:04 +1000)]
glupload: fix raw data uploader with addition of GstVideoGLTextureType
Fixes regression from
989200820d43c78fb179d7984827800d83787390
https://bugzilla.gnome.org/show_bug.cgi?id=768217
Olivier Crête [Thu, 30 Jun 2016 03:55:18 +0000 (23:55 -0400)]
glvideoconvert: RG/LA is available in OpenGL ES 3, so let that through
Matthew Waters [Wed, 29 Jun 2016 08:35:17 +0000 (18:35 +1000)]
vtdec: use L/LA textures on GLES2 as well
Matthew Waters [Fri, 24 Jun 2016 03:41:11 +0000 (13:41 +1000)]
Revert "Revert "gl/eagl: try getting a gles3 context""
This reverts commit
eb142736318463e6e553c21707ba0d716f85a46f.
vtdec now successfully outputs textures that can be converted by
glcolorconvert in GLES3 contexts.
Matthew Waters [Fri, 24 Jun 2016 14:05:37 +0000 (00:05 +1000)]
vtdec: add support for zerocopy decoding with GLES 3.x
It seems that Red/RG textures aren't supported anymore for zerocopy decoding
with GLES 3.x. Instead use Luminance/Luminance Alpha textures which are.
Matthew Waters [Tue, 28 Jun 2016 03:51:22 +0000 (13:51 +1000)]
glmemory: add the texture type to allocate to parameters
Rather than assuming something. e.g. zerocopy on iOS with GLES3 requires
the use of Luminance/Luminance Alpha formats and does not work with
Red/RG textures.
Matthew Waters [Tue, 28 Jun 2016 03:09:51 +0000 (13:09 +1000)]
glcolorconvert: don't assume Red/RG textures will be used
Take the used texture type from the memory instead.
Fixes conversion from multi-planar YUV formats with two components per plane
(NV12, NV21, YUY2, UYVY, GRAY16_*, etc) with Luminance Alpha input textures.
This is also needed for zerocopy decoding on iOS with GLES 3.x.
Matthew Waters [Tue, 28 Jun 2016 03:02:32 +0000 (13:02 +1000)]
glcontext: correct precondition for get_gl_version
The intention was to assert if both maj and min were NULL (as there would be no
point calling the function). Instead if either maj or min were NULL, the assert
would occur.
Fix that.
Sebastian Dröge [Tue, 28 Jun 2016 16:26:29 +0000 (19:26 +0300)]
d3dvideosink: Replace some more gst_caps_to_string() with GST_PTR_FORMAT
https://bugzilla.gnome.org/show_bug.cgi?id=768146
Jonathan Roy [Tue, 28 Jun 2016 15:50:59 +0000 (11:50 -0400)]
d3dvideosink: leak on caps string
https://bugzilla.gnome.org/show_bug.cgi?id=768146
Luis de Bethencourt [Tue, 28 Jun 2016 10:08:22 +0000 (11:08 +0100)]
jpeg2000parse: fix typo in sampling check
Fixing small typo that changes the value of the return.
Olivier Crête [Tue, 28 Jun 2016 01:36:50 +0000 (21:36 -0400)]
tests: Ignore kmssink for state change test
It can only be put to READY if the DRM stuff is available.
Haihua Hu [Mon, 27 Jun 2016 10:15:08 +0000 (18:15 +0800)]
qmlglsink: Fix build error when don't have QPA installed.
Check header file existance and wrap the header file include
in the necessary #ifdef to avoid build error.
https://bugzilla.gnome.org/show_bug.cgi?id=767553
Reynaldo H. Verdejo Pinochet [Sat, 25 Jun 2016 01:14:06 +0000 (18:14 -0700)]
dvbbasebin: make sure we have an error in case of parsing failure
Drop a redundant comment and rellocate another one while at it.
Reynaldo H. Verdejo Pinochet [Wed, 22 Jun 2016 23:14:33 +0000 (16:14 -0700)]
dvb/parsechannels: implement channels.conf format autodetection
Simple autodetection avoids having to call the parsers
one after the other.
Reynaldo H. Verdejo Pinochet [Tue, 21 Jun 2016 23:08:57 +0000 (16:08 -0700)]
dvb/parsechannels: rename v5/zap parsers for congruency
Add function prototypes while at it.
Reynaldo H. Verdejo Pinochet [Wed, 13 Apr 2016 04:04:25 +0000 (21:04 -0700)]
dvb/parsechannels: fix modulation names
Some names were incorrect. Authoritative source for
the dvbv5 format taken from v4l-utils' lib/libdvbv5/dvb-v5.c
Aditionally, add the missing setter mapping for the
modulation param.
This change makes ATSC work.
https://bugzilla.gnome.org/show_bug.cgi?id=764957
Thiago Santos [Thu, 25 Feb 2016 00:44:40 +0000 (21:44 -0300)]
dvbbasebin: also accept DVBv5 channels.conf format
Confirmed working with ISDB-T & ATSC conf files.
https://bugzilla.gnome.org/show_bug.cgi?id=764957
Reynaldo H. Verdejo Pinochet [Tue, 21 Jun 2016 18:48:36 +0000 (11:48 -0700)]
dvbsrc: fix ISDB-T property descriptions
Drop some stale trailing whitespace while at it.
Reynaldo H. Verdejo Pinochet [Tue, 21 Jun 2016 18:32:07 +0000 (11:32 -0700)]
dvbsrc: fix misplaced space on doc block
Jan Schmidt [Mon, 9 May 2016 17:32:59 +0000 (03:32 +1000)]
h264parse: When input alignment=AU, always drain each packet.
If the input alignment claims AU alignment, each received
buffer should contain a complete video frame, so never hold over parts
of buffers for later processing. Also reduces latency, as packets
are parsed/converted and output immediately instead of 1 buffer
later.
Fixes a problem where an (arguably disallowed) padding byte on the
end of a buffer is detected as an extra byte in the following
start code, and messes up the timestamping that should apply to
that start code.
Tim-Philipp Müller [Fri, 24 Jun 2016 12:05:24 +0000 (13:05 +0100)]
win32: update codecparsers .def file for new symbols
Tim-Philipp Müller [Fri, 24 Jun 2016 08:41:18 +0000 (09:41 +0100)]
openjpeg: fix more broken includes
Tim-Philipp Müller [Fri, 24 Jun 2016 08:39:00 +0000 (09:39 +0100)]
videoparsers: fix broken include
Aaron Boxer [Tue, 21 Jun 2016 16:41:46 +0000 (12:41 -0400)]
jpeg2000parse: use enums for colorspace and sampling, rather than strings
Also, move gstjpeg2000sampling to codecparsers project
https://bugzilla.gnome.org/show_bug.cgi?id=767908
Nirbheek Chauhan [Thu, 23 Jun 2016 20:27:13 +0000 (01:57 +0530)]
configure: Need to add -DGST_STATIC_COMPILATION when building only statically
https://bugzilla.gnome.org/show_bug.cgi?id=767463
Sebastian Dröge [Thu, 23 Jun 2016 12:57:58 +0000 (15:57 +0300)]
eglimage: Only register debug category if dmabuf support is enabled
It's not used otherwise currently and causes compiler warnings.
Nicolas Dufresne [Thu, 23 Jun 2016 02:28:03 +0000 (22:28 -0400)]
webrtcdsp: Offset timestamp with duration
The saved timestamp is used to compute the delay of the probe data.
As it's used at the following incoming buffer, it needs to be offset
with the duration of the buffer to represent the end position. Also,
properly initialize the saved timestamp and protect against TIME_NONE.
Nicolas Dufresne [Thu, 23 Jun 2016 01:54:13 +0000 (21:54 -0400)]
webrtcdsp: Synchronize with delays
Until now, we were synchronizing both DSP and Probe adapter by
waiting and clipping the probe adapter data. This increases the CPU
usage, can cause copies if the audio is not 10ms aligned and the worst
is that it prevents the processing from compensating for inaccurate
latency. This is also a step forward toward supporting playback
filters.
Nicolas Dufresne [Thu, 23 Jun 2016 01:45:08 +0000 (21:45 -0400)]
webrtdsp: Remove restriction on channels number
Unlike 0.1, in 0.2 the reverse stream can have different number of
channels. Remove the check that restrict it.
Nicolas Dufresne [Thu, 23 Jun 2016 01:44:35 +0000 (21:44 -0400)]
webrtcdsp: Style fix
Alessandro Decina [Thu, 16 Jun 2016 04:18:18 +0000 (14:18 +1000)]
vtdec: minimize renegotiation to make hw decoding more reliable
The hardware decoder can become (temporarily) unavailable across
VTDecompressionSessionCreate/Destroy calls. During negotiation if the currently
configured caps are still accepted by downstream we keep using them so we don't
have to destroy and recreate the decoding session.
This indirectly fixes https://bugzilla.gnome.org/show_bug.cgi?id=767429, by
making vtdec stick to GLMemory.
Matthew Waters [Thu, 16 Jun 2016 05:13:02 +0000 (15:13 +1000)]
qmlglsink: add win32 support
The current state of c++ ABI's on Window's and Gst's/Qt's conflicting
mingw builds means that we cannot use mingw for building the qt plugin.
Instead, a qmake .pro file is provided that is expected to be used with the
msvc binaries provided by Qt like so:
(with the PATH environment variable containing the path to the qt biniaries
and PKG_CONFIG_PATH containing the path to GStreamer modules)
cd /path/to/sources/gst-plugins-bad/ext/qt
qmake -tp vc
Then open the resulting VS project and build the library. Then
cp debug/libgstqtsink.dll /path/to/prefix/lib/gstreamer-1.0/libgstqtsink.cll
https://bugzilla.gnome.org/show_bug.cgi?id=761260
Nicolas Dufresne [Tue, 21 Jun 2016 15:40:22 +0000 (11:40 -0400)]
Add missing file to gitignore
Nicolas Dufresne [Mon, 20 Jun 2016 22:52:00 +0000 (18:52 -0400)]
doc: Automatic update
This is an automatic update with manual merges of running
"make update" in the doc/plugins directory. This should help
later maintenance of the plugins doc. A lot of plugin are
not referenced yet in the doc. Will come later.
Nicolas Dufresne [Mon, 20 Jun 2016 20:30:19 +0000 (16:30 -0400)]
doc: Add .cpp files to doc parser
Also, complete the list of directory that need to be visited.
Nicolas Dufresne [Mon, 6 Jun 2016 19:10:05 +0000 (15:10 -0400)]
webrtcdsp: Add WebRTC Audio Processing support
This DSP library can be used to enhance voice signal for real time
communication call. In implements multiple filters like noise reduction,
high pass filter, echo cancellation, automatic gain control, etc.
The webrtcdsp element can be used along, or with the help of the
webrtcechoprobe if echo cancellation is enabled. The echo probe should
be placed as close as possible to the audio sink, while the DSP is
generally place close to the audio capture. For local testing, one can
use an echo loop pipeline like the following:
autoaudiosrc ! webrtcdsp ! webrtcechoprobe ! autoaudiosink
This pipeline should produce a single echo rather then repeated echo.
Those elements works if they are placed in the same top level pipeline.
https://bugzilla.gnome.org/show_bug.cgi?id=767800
Nicolas Dufresne [Tue, 21 Jun 2016 15:46:44 +0000 (11:46 -0400)]
Automatic update of common submodule
From ac2f647 to f363b32
Wang Xin-yu (王昕宇) [Tue, 22 Mar 2016 08:51:53 +0000 (16:51 +0800)]
glcontext/wgl: try wglCreateContextAttribsARB even not gl3 core profile
https://bugzilla.gnome.org/show_bug.cgi?id=764018
Matthew Waters [Tue, 21 Jun 2016 08:28:46 +0000 (18:28 +1000)]
glcontext: fix get_current_gl_api() on win32
Another case of incorrect calling conventions.
Using this function on win32 would corrupt the stack pointer and end in
massive hilarity.
Matthew Waters [Wed, 15 Jun 2016 02:47:05 +0000 (12:47 +1000)]
glsl: fixup external-oes shaders by mangling the required extension
Newer devices require using a different GLSL extension for accessing
external-oes textures in a shader using the texture() functions.
While the GL_OES_EGL_image_external_essl3 should supposedly be supported
on a any GLES3 android device, the extension was defined after a lot of the
older drivers were built so they will not know about it. Thus there are two
possible interpretations of which of texture[2D]() should be supported for
external-oes textures. Strict adherence to the GL_OES_EGL_image_external
extension spec which uses texture2D() or following GLES3's pattern, also
allowing texture() as a function for accessing external-oes textures
This adds another mangling pass to convert
#extension GL_OES_EGL_image_external : ...
into
#extension GL_OES_EGL_image_external_essl3 : ...
on GLES3 and when the GL_OES_EGL_image_external_essl3 extension is supported.
Only uses texture() when the GLES3 and the GL_OES_EGL_image_external_essl3
extension is supported for external-oes textures.
Uses GLES2 + texture2D() + GL_OES_EGL_image_external in all other external-oes
cases.
https://bugzilla.gnome.org/show_bug.cgi?id=766993
Nirbheek Chauhan [Tue, 24 May 2016 10:56:24 +0000 (16:26 +0530)]
winks: Port to MSVC and pretend to be Windows XP
strcasecmp is not defined on MSVC, so just use the glib wrapper. Also pretend to
be Windows XP explicitly since the API we use was deprecated and removed
(ifdef-ed) from the SDK after this version of Windows. This will be especially
relevant once we stop supporting Windows XP soon:
https://bugzilla.gnome.org/show_bug.cgi?id=756866
Nirbheek Chauhan [Tue, 1 Mar 2016 20:47:54 +0000 (02:17 +0530)]
win32: Add missing def files for libraries
Nirbheek Chauhan [Tue, 1 Mar 2016 19:25:15 +0000 (00:55 +0530)]
build: Factor out endian-order RGB formats
MSVC seems to ignore preprocessor conditionals inside static pad templates
Aaron Boxer [Tue, 14 Jun 2016 02:29:39 +0000 (22:29 -0400)]
openjpegdec: use sampling field to determine RGB channel
https://bugzilla.gnome.org/show_bug.cgi?id=767402
Guillaume Desmottes [Thu, 2 Jun 2016 11:53:38 +0000 (13:53 +0200)]
templatematch: fix buffer leak in test
Need to call gst_check_drop_buffers() to unref the buffers exchanged
during the test.
https://bugzilla.gnome.org/show_bug.cgi?id=767159
Guillaume Desmottes [Thu, 19 May 2016 10:31:56 +0000 (13:31 +0300)]
glimagesink: fix query leak in test
https://bugzilla.gnome.org/show_bug.cgi?id=766663
Guillaume Desmottes [Thu, 19 May 2016 10:29:15 +0000 (13:29 +0300)]
glimagesink: properly setup/teardown tests
tcase_add_checked_fixture() is suppose to call the setup and teardown
functions so the tests don't have to do it manually.
https://bugzilla.gnome.org/show_bug.cgi?id=766663
Guillaume Desmottes [Thu, 19 May 2016 10:09:41 +0000 (13:09 +0300)]
glupload: fix shader leak in test
https://bugzilla.gnome.org/show_bug.cgi?id=766663
Guillaume Desmottes [Thu, 19 May 2016 09:51:17 +0000 (12:51 +0300)]
uvch264demux: fix buffer leaks in test
The mock chain functions aren't unreffing the buffers so the caller
should do it.
https://bugzilla.gnome.org/show_bug.cgi?id=766663
Guillaume Desmottes [Thu, 19 May 2016 09:36:42 +0000 (12:36 +0300)]
camerabin: fix element leak in test
https://bugzilla.gnome.org/show_bug.cgi?id=766663
Guillaume Desmottes [Thu, 19 May 2016 08:19:57 +0000 (11:19 +0300)]
fix buffer leaks in tests
gst_check_drop_buffers() release the buffers exchanged during the test.
https://bugzilla.gnome.org/show_bug.cgi?id=766663
Guillaume Desmottes [Thu, 19 May 2016 08:19:20 +0000 (11:19 +0300)]
fix event leaks in tests
The events are supposed to be unreffed when finishing the test, not
reffed.
https://bugzilla.gnome.org/show_bug.cgi?id=766663
Guillaume Desmottes [Thu, 19 May 2016 08:19:01 +0000 (11:19 +0300)]
audiointerleave: fix message leaks by flushing the bus
https://bugzilla.gnome.org/show_bug.cgi?id=766663
Guillaume Desmottes [Thu, 19 May 2016 08:16:37 +0000 (11:16 +0300)]
audioaggregator: fix buffer leak
If the pad was still owning a buffer when being destroyed it was leaked.
Fix a leak with the test_flush_start_flush_stop test.
https://bugzilla.gnome.org/show_bug.cgi?id=766663
Guillaume Desmottes [Wed, 18 May 2016 13:58:44 +0000 (16:58 +0300)]
autoconvert: fix factories leak in test
The factories returned by gst_registry_find_feature() have to be
unreffed.
https://bugzilla.gnome.org/show_bug.cgi?id=766663
Michael Olbrich [Fri, 17 Jun 2016 12:58:44 +0000 (14:58 +0200)]
h264parse: fix default time_offset_length
The default value for time_offset_length should be 24, see
section E2.2 of the H264 spec.
https://bugzilla.gnome.org/show_bug.cgi?id=767792
Joan Pau Beltran [Fri, 17 Jun 2016 12:31:42 +0000 (14:31 +0200)]
dc1394src: check for disabled transmission in _stop_cam
For symetry with _start_cam, check that the transmission
is effectively disabled in _stop_cam.
https://bugzilla.gnome.org/show_bug.cgi?id=763026
Reynaldo H. Verdejo Pinochet [Fri, 17 Jun 2016 22:32:08 +0000 (15:32 -0700)]
dvbsrc: do not rely on temp var for fail detection
Use errno instead as local var might be overwritten
before the check.
Reynaldo H. Verdejo Pinochet [Tue, 14 Jun 2016 22:29:08 +0000 (15:29 -0700)]
dvbsrc: rework set_pids()
- Reflow to avoid unneeded nesting
- Free aux pids array earlier
- Adjust debug output to deliver more meaningful information
Reynaldo H. Verdejo Pinochet [Tue, 14 Jun 2016 21:24:35 +0000 (14:24 -0700)]
dvbsrc: drop pointless debug msg
Reynaldo H. Verdejo Pinochet [Thu, 9 Jun 2016 23:05:39 +0000 (16:05 -0700)]
codecparsers: drop all otherwizes
Aaron Boxer [Sun, 12 Jun 2016 17:53:18 +0000 (13:53 -0400)]
jpeg2000parse: support j2c format
https://bugzilla.gnome.org/show_bug.cgi?id=767512
Matthew Waters [Wed, 15 Jun 2016 15:54:16 +0000 (01:54 +1000)]
tests/glcontext: link against gstvideo for gst_video_info_*
fixes make distcheck complaining about it.
Sergey Borovkov [Thu, 14 Apr 2016 15:14:32 +0000 (18:14 +0300)]
qml: Enable qmlglsink for eglfs
https://bugzilla.gnome.org/show_bug.cgi?id=763044
Matthew Waters [Wed, 15 Jun 2016 14:44:48 +0000 (00:44 +1000)]
qmlglsink: propagate GL context creation failure upwards
Otherwise an application cannot know if the qmlglsink will be displaying frames
incorrectly/at all.
Matthew Waters [Wed, 15 Jun 2016 14:44:16 +0000 (00:44 +1000)]
qmlglsink: also allow wayland-egl as a platform name
Haihua Hu [Sun, 12 Jun 2016 07:35:28 +0000 (15:35 +0800)]
qmlglsink: Add Wayland support
Don't use gstgldisplay to get wayland display. Should use QPA on wayland
to get wayland display for QT.
https://bugzilla.gnome.org/show_bug.cgi?id=767553
Matthew Waters [Wed, 15 Jun 2016 14:46:57 +0000 (00:46 +1000)]
tests/glcontext: update test for gen,del_texture removal
Stefan Sauer [Tue, 14 Jun 2016 20:12:18 +0000 (22:12 +0200)]
ladspa: simplify registry cache structure creation
Create and fill structure in one go.
Haihua Hu [Tue, 14 Jun 2016 05:48:09 +0000 (13:48 +0800)]
gleffects: fix little rectangle that appears at the center of squeeze and tunnel effects
These two shader will calculate the vector length and use it as denominator.
But length could be zero which will cause undefine behaviour. Add protection for
this condition
https://bugzilla.gnome.org/show_bug.cgi?id=767635
Matthew Waters [Wed, 15 Jun 2016 08:10:59 +0000 (18:10 +1000)]
glsl: add some debugging
Matthew Waters [Wed, 15 Jun 2016 06:08:57 +0000 (16:08 +1000)]
glutils: remove unused functions for texture creation/deletion
Everyone uses GstGLMemory now and any future code should as well.
Matthew Waters [Wed, 15 Jun 2016 05:47:47 +0000 (15:47 +1000)]
glfilter: remove unused class fields in/out_tex_id
The functionality is not used by any subclass nor are the values set anywhere.
Matthew Waters [Wed, 15 Jun 2016 05:08:39 +0000 (15:08 +1000)]
gldeinterlace: remove dead code accessing filter->in_tex_id
It's not set by anyone or anything and gldeinterlace is the only user of it now.
Matthew Waters [Wed, 15 Jun 2016 04:40:40 +0000 (14:40 +1000)]
gl/upload/meta: remove unneeded texture deletion
The textures are managed by the GstGLMemory inside the output buffer. Freeing
them prematurely may result in a use-after-free.
Aleix Conchillo Flaqué [Mon, 30 May 2016 12:10:23 +0000 (14:10 +0200)]
srtpenc: remove get-rollover-counter signal and add stats property
We remove get-rollover-counter signal in favor of the "stats"
property. The "stats" property is a GstStructure with caps
application/x-srtp-encoder-stats that contains an array of
structures with caps application/x-srtp-stream.
Each stream structure contains "ssrc" and "roc" fields.
https://bugzilla.gnome.org/show_bug.cgi?id=733265
Mats Lindestam [Wed, 25 May 2016 10:55:36 +0000 (12:55 +0200)]
h264parse: support for handling of config-interval = -1
Added support for handling of config-interval = -1.
config-inteval = -1 represents resending SPS and PPS for each
I-/IDR-frame.
https://bugzilla.gnome.org/show_bug.cgi?id=766803
Mats Lindestam [Wed, 25 May 2016 10:45:17 +0000 (12:45 +0200)]
h264parse: refactored handling of SPS/PPS when pushing frames
https://bugzilla.gnome.org/show_bug.cgi?id=766803
Mats Lindestam [Wed, 25 May 2016 09:54:55 +0000 (11:54 +0200)]
h264parse: change "config-interval" property type from uint to int
So we can use -1 as special value like in rtph264pay.
https://bugzilla.gnome.org/show_bug.cgi?id=766803
Sebastian Dröge [Mon, 13 Jun 2016 06:20:22 +0000 (09:20 +0300)]
avfassetsrc: Don't escape the URI before passing it to NSURL
The URI must already be escaped by the caller, we don't support passing around
invalid (unescaped) URIs via the GstURIHandler interface.
Also it will escape too much of the URI in this case, e.g.
ipod-library://item/item.m4a?id=
3143338395173862951
becomes
ipod-library://item/item.m4a%3Fid%
3D3143338395173862951
https://bugzilla.gnome.org/show_bug.cgi?id=767492
Sebastian Dröge [Mon, 13 Jun 2016 06:20:02 +0000 (09:20 +0300)]
iosassetsrc: Print the correct URI if it was rejected
We were printing the previously set URI instead of the new one.
Sebastian Rasmussen [Wed, 8 Jun 2016 23:20:36 +0000 (01:20 +0200)]
curlsmtpsink: Lock and don't send final boundary upon error
Previously GstCurlSmtpSink could cause the pipeline thread to end up
waiting for a stopped thread to perform work.
The scenario was that the sink could be rendering a buffer and waiting
for the curl transfer thread to have sent the data. As soon as the
transfer thread has copied all data to curl's data buffer in
gst_curl_base_sink_transfer_read_cb() then the render call would stop
waiting and return GST_FLOW_OK. While this takes place the transfer
thread may suffer from an error e.g. due gst_poll_wait() timing out.
This causes the transfer thread to record the error, claim (it is not
really true since there was an error) that the data has been sent and
that a response has been received by trying to signal the pipeline
thread (but this has already stopped waiting). Finally the transfer
thread stops itself. A short while later the pipeline thread may attempt
to push an EOS event into GstCurlSmtpSink. Since there is no check in
gst_curl_smtp_sink_event() to check if the sink has suffered from any
error it may attempt to add a final boundary and ask the, now deceased,
transfer thread to transfer the new data. Next the sink element would
have waited for the transfer to complete (using a different mechanism
than normal transfers through GstCurlBaseSink). In this case there was
an error check to avoid waiting if an error had already been seen.
Finally GstCurlSmtpSink would chain up to GstCurlBaseSink which would
then block waiting for a response (normally this would be prevented by
the transfer thread suffering the error claiming that it had been
received, but GstCurlSmtpSink clobbered this flag after the fact).
Now GstCurlSmtpSink avoids this by locking over the entire event handing
(preventing simultaneous changes to flags by the two threads) and also
by avoiding to initiate transfer of final boundary if an error has
already been seen.
Also add GST_FIXME() for remaining similar issue where the pipeline
thread may block indefinitely waiting for transfer thread to transfer
data but the transfer thread errors out and fails to notify the pipeline
thread that the transfer failed.
https://bugzilla.gnome.org/show_bug.cgi?id=767501