Commit graph

5590 commits

Author SHA1 Message Date
Matthew Waters
ea167c533e vkswapper: Use the trash list to free resources after they've been used
This allows further parallelism and removes a device wait from the end of
the render code.
2016-11-03 16:58:35 +11:00
Matthew Waters
0f800095e1 vulkan: add a trash object
This allows pushing the destruction of vulkan resources after the signalling
of an vulkan event.  The event facilitates knowing when a specific point in the
vulkan queue has been reached.  Only after the event has been signaled can
vulkan resources be freed and/or reused.
2016-11-03 16:58:35 +11:00
Matthew Waters
af8c4589ba vulkan: add a simple refcountable fence wrapper 2016-11-03 16:58:35 +11:00
Matthew Waters
41a6448918 gl: GST_GL_TYPE -> GST_TYPE_GL
Some deprecated symbols are kept for backwards compatibility
2016-11-03 16:16:12 +11:00
Sebastian Dröge
8eef23eb38 ttml: Add meson.build 2016-11-02 20:14:39 +02:00
Sebastian Dröge
2bcb928e30 fdkaac: Add meson.build 2016-11-02 20:14:23 +02:00
Sebastian Dröge
31317fd666 dtls: Fix compiler warnings with openssl 1.1 or newer
- DTLSv1_method() is deprecated, and since 1.0.2 replaced by
  DTLS_method().
- CRYPTO_set_locking_callback() and CRYPTO_set_id_callback() are
  no-ops (empty macros) since 1.1 and are not supposed to be used
  anymore.

gstdtlsagent.c: In function ‘gst_dtls_agent_init’:
gstdtlsagent.c:173:3: error: ‘DTLSv1_method’ is deprecated [-Werror=deprecated-declarations]
   priv->ssl_context = SSL_CTX_new (DTLSv1_method ());
   ^~~~
In file included from /usr/include/openssl/ct.h:13:0,
                 from /usr/include/openssl/ssl.h:61,
                 from gstdtlsagent.c:40:
/usr/include/openssl/ssl.h:1614:1: note: declared here
 DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_method(void)) /* DTLSv1.0 */
 ^
At top level:
gstdtlsagent.c:103:1: error: ‘ssl_thread_id_function’ defined but not used [-Werror=unused-function]
 ssl_thread_id_function (void)
 ^~~~~~~~~~~~~~~~~~~~~~
gstdtlsagent.c:73:1: error: ‘ssl_locking_function’ defined but not used [-Werror=unused-function]
 ssl_locking_function (gint mode, gint lock_num, const gchar * file, gint line)
 ^~~~~~~~~~~~~~~~~~~~
2016-11-02 14:04:19 +02:00
Olivier Crête
c35b918ce1 dtls: Downgrade locking debug 2016-11-01 14:57:21 -04:00
Chris Bass
d82ae6949f ttml: Add plugin that supports TTML subtitles
Add a parser (ttmlparse) and renderer (ttmlrender) element that handle
subtitles that use the EBU-TT-D profile of TTML1.

https://bugzilla.gnome.org/show_bug.cgi?id=758232
2016-11-01 20:46:46 +02:00
Vincent Penquerc'h
d125d6b18c srtpdec: add stats readonly property, similar to srtpenc
https://bugzilla.gnome.org/show_bug.cgi?id=772357
2016-11-01 19:37:50 +02:00
Michael Olbrich
c2920ec3ea 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-31 14:03:06 +02:00
sezero
ae2a5f1ba9 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-31 12:50:56 +02:00
Daiki Ueno
e938933167 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-31 12:49:11 +02:00
Nirbheek Chauhan
bb0a83b018 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 23:06:26 +05:30
Nirbheek Chauhan
f790863755 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 23:06:26 +05:30
Nirbheek Chauhan
83df90ed6c Fix incorrect return type in several functions
All these should return GstFlowReturn, not gboolean
2016-10-27 23:06:26 +05:30
Nirbheek Chauhan
49ab51dc7d 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 23:06:25 +05:30
Scott D Phillips
67d0eefb81 meson: hls: Only build when any crypto_dep is found
https://bugzilla.gnome.org/show_bug.cgi?id=773114
2016-10-24 00:51:21 +01:00
Thiago Santos
a94eef9357 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-10-20 11:17:34 -03:00
Thiago Santos
6eef9971be 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-20 11:17:32 -03:00
Matthew Waters
c36ea6f56f meson: gl: add support for building with dispmanx on the rpi 2016-10-19 17:10:48 +11:00
Sergey Borovkov
950a7945e4 qt: Fix failing build on RPI
https://bugzilla.gnome.org/show_bug.cgi?id=773026
2016-10-18 11:25:03 +11:00
Arun Raghavan
312c8c9f7c 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-13 12:10:51 -04:00
Arnaud Vrac
e2dea99dc9 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-11 09:48:54 +01:00
Jimmy Ohn
701e54cecf 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-06 13:30:17 +03:00
Matthew Waters
1ffe22240a 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 18:28:48 +11:00
Matthew Waters
4e3cb77fa8 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 12:20:52 +11:00
Matthew Waters
1b3de55eb1 vkdevice: only unref the gstcontext query if non-NULL
Fixes an assertion in make -C tests/check generic/states.check
2016-10-05 12:20:52 +11:00
Arun Raghavan
cd8f463345 waylandsink: Actually use buffer pool config after setting it up
CID: 1373420
2016-09-30 12:59:20 +05:30
Sergey Mamonov
e98575417c fix for https://bugzilla.gnome.org/show_bug.cgi?id=771871 2016-09-29 19:59:28 +02:00
Vincent Penquerc'h
ce59031b10 fdkaacenc: fix accessing freed memory
The buffer data is not always copied in _Fill, and will be
read in _DecodeFrame. We unmap at the end of the function,
whether we get there via failure or early out, and keep a
ref to the buffer to ensure we can use it to unmap the
memory even after _finish_frame is called, as it unrefs
the buffer.

Note that there is an access beyond the allocated buffer,
which is only apparent when playing from souphttpsrc (ie,
not from filesrc). This appears to be a bug in the bit
reading code in libfdkaac AFAICT.

https://bugzilla.gnome.org/show_bug.cgi?id=772186
2016-09-29 15:13:07 +01:00
Vincent Penquerc'h
58bb21c463 fdkaacdec: avoid memory corruption on decoding error
The buffer size is expected to be in multiples of the sample size,
not in bytes.

https://bugzilla.gnome.org/show_bug.cgi?id=772186
2016-09-29 15:13:07 +01:00
Vincent Penquerc'h
95de5bf193 fdkaacenc: fix buffer leak
https://bugzilla.gnome.org/show_bug.cgi?id=772186
2016-09-29 15:13:07 +01:00
Vincent Penquerc'h
20caebe6a1 fdkaacenc: set framed=true on src caps
This fixes muxing in MPEG TS.

https://bugzilla.gnome.org/show_bug.cgi?id=772108
2016-09-28 10:04:24 +01:00
Vincent Penquerc'h
28a5826fa4 fdkaacenc: set transmux on the fdkaac lib
Not doing so will fail to decode in a simple fdkaacenc ! fdkaacdec
pipeline, though would work if this goes through a file.

https://bugzilla.gnome.org/show_bug.cgi?id=772067
2016-09-27 17:20:18 +01:00
Vincent Penquerc'h
fed624a208 fdkaacdec: do not error out of out of sync return
The docs say we should continue feeding in data and decoding

https://bugzilla.gnome.org/show_bug.cgi?id=772067
2016-09-27 17:20:18 +01:00
Vincent Penquerc'h
a828b12ca8 fdkaac: fix error with AOT_MP2_AAC_LC removed from libfdkaac API
AOT_MP2_AAC_LC is a "pseudo AOT" which got removed after 0.1.4,
and maps to AOT_AAC_LC.

Remove mpegversion 2 from th caps to match.

https://bugzilla.gnome.org/show_bug.cgi?id=772067
2016-09-27 17:20:18 +01:00
Olivier Crête
1b0cdcdf3e fdkaac: fix mixup setting interleaved output
https://bugzilla.gnome.org/show_bug.cgi?id=770455
2016-09-26 11:43:22 +01:00
Sebastian Dröge
6e749f17da openjpegdec: Properly offset and shift for all formats when converting
And while at it, also clean up some code.
2016-09-24 10:49:10 -04:00
Nicolas Dufresne
31d0a2c1ea waylandsink: Don't leak GValues in getcaps 2016-09-23 16:48:34 -04:00
Nicolas Dufresne
f6b270d8eb waylandsink: Update our window size on configure event
This is specific to when the waylandsink is not being embedded. In
this patch we pass the render lock to the window so it can safely
call gst_wl_window_set_render_rectangle() with the new size.

https://bugzilla.gnome.org/show_bug.cgi?id=722343
2016-09-22 19:12:22 -04:00
Nicolas Dufresne
fdea1e1144 waylandsink: Remove atomic operation
We already take the render lock from the wlqueue thread in some other
place which indicates that there is no use of this atomic instead of
a proper locking mechanism.
2016-09-22 19:12:22 -04:00
Nicolas Dufresne
0859e201f6 waylandsink: Do not pre-configure proposed pool
Upstream must configure the pool before using it. Pre-configuring
the proposed pool could hide bugs in upstream elements.
2016-09-22 19:12:22 -04:00
Nicolas Dufresne
ecf88d0d43 waylandsink: Properly draw black border in absence of viewporter
When we don't have a viewporter (scaling support), we can't use the
1x1 scaleup image trick. Instead, we need to allocate a buffer with
the same size as the area that need to have black background.
2016-09-22 19:12:22 -04:00
Nicolas Dufresne
ba71a392a6 waylandsink: Destroy viewporter when done
https://bugzilla.gnome.org/show_bug.cgi?id=738079
2016-09-21 15:08:34 -04:00
Nicolas Dufresne
3378b1a259 waylandsink: Port to vmeta and GstVideoFrame
This add support for non-standard strides to be used. Note that
some extra work is needed for multi-plane format which may have
a different GstMemory object per plane. This is not currently a
problem since SHM interface is limited to 1 memory.
2016-09-21 11:02:40 -04:00
Nicolas Dufresne
74a7baa533 waylandsink: Don't propose multiple time the same buffer pool
The buffer pool API does not allow multiple of owner. This otherwise
lead to error when renegotiation take place. Aso consider the
allocation query "need_pool" boolean.
2016-09-21 11:02:40 -04:00
Nicolas Dufresne
9357047eaf waylandsink: Promote debug trace into error trace
Otherwise those error may go unseen making debugging much
harder.
2016-09-21 11:02:40 -04:00
Nicolas Dufresne
94a5652694 waylandsink: Factor-out the pool creation 2016-09-21 11:02:40 -04:00
Nicolas Dufresne
1c81b0bb6e waylansink: Implement _show_frame()
This fixes the property show-preroll-frame expose by the VideoSink base
class and removes redundant code.
2016-09-21 11:02:40 -04:00