Commit graph

21325 commits

Author SHA1 Message Date
Sebastian Dröge
0e58e86c4c eglimage: Only register debug category if dmabuf support is enabled
It's not used otherwise currently and causes compiler warnings.
2016-06-23 16:00:00 +03:00
Nicolas Dufresne
c551a853b3 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.
2016-06-23 08:04:18 -04:00
Nicolas Dufresne
86aa3b5f9c 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.
2016-06-22 22:34:25 -04:00
Nicolas Dufresne
fb8662eb5c 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.
2016-06-22 22:34:25 -04:00
Nicolas Dufresne
89b193c0a9 webrtcdsp: Style fix 2016-06-22 22:34:25 -04:00
Alessandro Decina
9a026799f0 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.
2016-06-23 11:45:27 +10:00
Matthew Waters
ba69afdc47 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
2016-06-22 14:26:05 +10:00
Nicolas Dufresne
c4c780187a Add missing file to gitignore 2016-06-21 13:46:00 -04:00
Nicolas Dufresne
951157c2a5 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.
2016-06-21 13:46:00 -04:00
Nicolas Dufresne
e016989a80 doc: Add .cpp files to doc parser
Also, complete the list of directory that need to be visited.
2016-06-21 13:46:00 -04:00
Nicolas Dufresne
398f7059fc 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
2016-06-21 13:46:00 -04:00
Nicolas Dufresne
cf6a517d41 Automatic update of common submodule
From ac2f647 to f363b32
2016-06-21 11:46:44 -04:00
Wang Xin-yu (王昕宇)
6ed2ca373a glcontext/wgl: try wglCreateContextAttribsARB even not gl3 core profile
https://bugzilla.gnome.org/show_bug.cgi?id=764018
2016-06-21 22:57:13 +10:00
Matthew Waters
8a67cd90b3 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.
2016-06-21 22:57:00 +10:00
Matthew Waters
d3f3787d64 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
2016-06-21 21:27:47 +10:00
Nirbheek Chauhan
28f0df681c 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
2016-06-21 11:32:29 +01:00
Nirbheek Chauhan
a2cd9b0f0c win32: Add missing def files for libraries 2016-06-21 11:32:29 +01:00
Nirbheek Chauhan
36332faf14 build: Factor out endian-order RGB formats
MSVC seems to ignore preprocessor conditionals inside static pad templates
2016-06-21 11:32:29 +01:00
Aaron Boxer
74dcb59025 openjpegdec: use sampling field to determine RGB channel
https://bugzilla.gnome.org/show_bug.cgi?id=767402
2016-06-21 11:43:04 +03:00
Guillaume Desmottes
9106bf573a 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
2016-06-21 10:57:18 +03:00
Guillaume Desmottes
0d6359d4a2 glimagesink: fix query leak in test
https://bugzilla.gnome.org/show_bug.cgi?id=766663
2016-06-21 10:52:47 +03:00
Guillaume Desmottes
e071510b12 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
2016-06-21 10:52:47 +03:00
Guillaume Desmottes
6a02c8a109 glupload: fix shader leak in test
https://bugzilla.gnome.org/show_bug.cgi?id=766663
2016-06-21 10:52:47 +03:00
Guillaume Desmottes
bebe4ca7ab 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
2016-06-21 10:52:47 +03:00
Guillaume Desmottes
9694e7e820 camerabin: fix element leak in test
https://bugzilla.gnome.org/show_bug.cgi?id=766663
2016-06-21 10:52:47 +03:00
Guillaume Desmottes
a68534d094 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
2016-06-21 10:52:47 +03:00
Guillaume Desmottes
fc5cb1ec13 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
2016-06-21 10:52:47 +03:00
Guillaume Desmottes
2ec2e15a2a audiointerleave: fix message leaks by flushing the bus
https://bugzilla.gnome.org/show_bug.cgi?id=766663
2016-06-21 10:52:47 +03:00
Guillaume Desmottes
172529e151 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
2016-06-21 10:52:47 +03:00
Guillaume Desmottes
e925a8acf0 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
2016-06-21 10:52:47 +03:00
Michael Olbrich
378051d80a 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
2016-06-21 10:45:43 +03:00
Joan Pau Beltran
dc762166f3 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
2016-06-20 21:46:23 +01:00
Reynaldo H. Verdejo Pinochet
eb0a785841 dvbsrc: do not rely on temp var for fail detection
Use errno instead as local var might be overwritten
before the check.
2016-06-17 15:58:09 -07:00
Reynaldo H. Verdejo Pinochet
1824703c81 dvbsrc: rework set_pids()
- Reflow to avoid unneeded nesting
- Free aux pids array earlier
- Adjust debug output to deliver more meaningful information
2016-06-17 15:58:09 -07:00
Reynaldo H. Verdejo Pinochet
13efbf35d9 dvbsrc: drop pointless debug msg 2016-06-17 15:58:09 -07:00
Reynaldo H. Verdejo Pinochet
ea272f0bac codecparsers: drop all otherwizes 2016-06-17 15:58:09 -07:00
Aaron Boxer
81e3b998be jpeg2000parse: support j2c format
https://bugzilla.gnome.org/show_bug.cgi?id=767512
2016-06-17 23:08:37 +03:00
Matthew Waters
05b24c128a tests/glcontext: link against gstvideo for gst_video_info_*
fixes make distcheck complaining about it.
2016-06-16 01:54:16 +10:00
Sergey Borovkov
180405714c qml: Enable qmlglsink for eglfs
https://bugzilla.gnome.org/show_bug.cgi?id=763044
2016-06-16 01:49:16 +10:00
Matthew Waters
14c6fece09 qmlglsink: propagate GL context creation failure upwards
Otherwise an application cannot know if the qmlglsink will be displaying frames
incorrectly/at all.
2016-06-16 01:49:16 +10:00
Matthew Waters
ef508b8461 qmlglsink: also allow wayland-egl as a platform name 2016-06-16 01:49:16 +10:00
Haihua Hu
3903406304 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
2016-06-16 01:49:16 +10:00
Matthew Waters
8c9b231db1 tests/glcontext: update test for gen,del_texture removal 2016-06-16 00:47:42 +10:00
Stefan Sauer
976cb234bc ladspa: simplify registry cache structure creation
Create and fill structure in one go.
2016-06-15 12:14:30 +02:00
Haihua Hu
5e8a650130 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
2016-06-15 19:18:15 +10:00
Matthew Waters
861ce43cd8 glsl: add some debugging 2016-06-15 18:10:59 +10:00
Matthew Waters
27e4288de4 glutils: remove unused functions for texture creation/deletion
Everyone uses GstGLMemory now and any future code should as well.
2016-06-15 16:08:57 +10:00
Matthew Waters
216b8eea6c glfilter: remove unused class fields in/out_tex_id
The functionality is not used by any subclass nor are the values set anywhere.
2016-06-15 15:47:47 +10:00
Matthew Waters
4010faf4a1 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.
2016-06-15 15:08:39 +10:00
Matthew Waters
6b7f94abb2 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.
2016-06-15 14:40:40 +10:00