platform/upstream/gstreamer.git
7 years agodtls: port to OpenSSL 1.1.0
Daiki Ueno [Wed, 26 Oct 2016 12:51:01 +0000 (14:51 +0200)]
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

7 years agorawparse: pass flow returns upstream
Tim-Philipp Müller [Sat, 29 Oct 2016 10:31:28 +0000 (11:31 +0100)]
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.

7 years agobuild: Also need to define GST_EXPORTS for Autotools
Nirbheek Chauhan [Fri, 28 Oct 2016 01:47:56 +0000 (07:17 +0530)]
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.

7 years agogstgl: Re-enable WINAPI on _MSC_VER
Nirbheek Chauhan [Fri, 28 Oct 2016 00:53:02 +0000 (06:23 +0530)]
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.

7 years agoJust remove win32/common/libgstgl.def
Nirbheek Chauhan [Thu, 27 Oct 2016 17:39:38 +0000 (23:09 +0530)]
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.

7 years agoplugins: Use explicit type conversion from enums
Nirbheek Chauhan [Thu, 27 Oct 2016 03:55:20 +0000 (09:25 +0530)]
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.

7 years agoExplicitly define float constants as float
Nirbheek Chauhan [Thu, 27 Oct 2016 03:41:26 +0000 (09:11 +0530)]
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.

7 years agoFix incorrect return type in several functions
Nirbheek Chauhan [Thu, 27 Oct 2016 03:38:41 +0000 (09:08 +0530)]
Fix incorrect return type in several functions

All these should return GstFlowReturn, not gboolean

7 years agomeson: Don't warn about C4146 with MSVC
Nirbheek Chauhan [Thu, 27 Oct 2016 03:36:33 +0000 (09:06 +0530)]
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.

7 years agogstgl: Add GST_EXPORT to all symbols used on Windows
Nirbheek Chauhan [Thu, 27 Oct 2016 02:47:58 +0000 (08:17 +0530)]
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

7 years agomeson: Add support for building WGL on Windows
Nirbheek Chauhan [Thu, 27 Oct 2016 01:59:36 +0000 (07:29 +0530)]
meson: Add support for building WGL on Windows

Currently only tested with MSVC.

7 years agoext/gl: Don't define boolean on Windows with MSVC
Nirbheek Chauhan [Thu, 27 Oct 2016 03:40:03 +0000 (09:10 +0530)]
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

7 years agogstgl: Porting fixes for MSVC with Meson
Nirbheek Chauhan [Thu, 27 Oct 2016 02:00:19 +0000 (07:30 +0530)]
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.

7 years agodvb/parsechannels: collapse notes on channel_name encoding conflict
Reynaldo H. Verdejo Pinochet [Mon, 24 Oct 2016 05:13:33 +0000 (22:13 -0700)]
dvb/parsechannels: collapse notes on channel_name encoding conflict

7 years agodvb/parsechannels: rename ZAP parser for clarity
Reynaldo H. Verdejo Pinochet [Mon, 24 Oct 2016 05:00:30 +0000 (22:00 -0700)]
dvb/parsechannels: rename ZAP parser for clarity

This function only does ZAP parsing. Additionally, remove redundant
comment while at it.

7 years agodvb: fix gtk-doc syntax for wrongly formatted comments
Reynaldo H. Verdejo Pinochet [Mon, 24 Oct 2016 04:37:46 +0000 (21:37 -0700)]
dvb: fix gtk-doc syntax for wrongly formatted comments

7 years agomeson: hls: Only build when any crypto_dep is found
Scott D Phillips [Fri, 21 Oct 2016 07:37:03 +0000 (00:37 -0700)]
meson: hls: Only build when any crypto_dep is found

https://bugzilla.gnome.org/show_bug.cgi?id=773114

7 years agomeson: directsound: Add ole32 library dependency
Scott D Phillips [Fri, 21 Oct 2016 07:39:32 +0000 (00:39 -0700)]
meson: directsound: Add ole32 library dependency

https://bugzilla.gnome.org/show_bug.cgi?id=773114

7 years agomeson: winscreencap depends on gstvideo
Scott D Phillips [Mon, 17 Oct 2016 16:35:41 +0000 (09:35 -0700)]
meson: winscreencap depends on gstvideo

https://bugzilla.gnome.org/show_bug.cgi?id=773114

7 years agomeson: Remove gstreamer-check-1.0 dependency
Scott D Phillips [Fri, 21 Oct 2016 07:35:09 +0000 (00:35 -0700)]
meson: Remove gstreamer-check-1.0 dependency

It will later be added under tests/check

https://bugzilla.gnome.org/show_bug.cgi?id=773114

7 years agoglsyncmeta: don't glFinish() everytime a sync point is set
Matthew Waters [Fri, 21 Oct 2016 02:10:47 +0000 (13:10 +1100)]
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.

7 years agodash: do not use invalid stream duration
Thiago Santos [Sat, 16 Jul 2016 18:29:42 +0000 (15:29 -0300)]
dash: do not use invalid stream duration

If it is is unknown, consider it infinite

https://bugzilla.gnome.org/show_bug.cgi?id=768460

7 years agodash: properly inherit segmentlist from period
Thiago Santos [Sat, 16 Jul 2016 18:15:21 +0000 (15:15 -0300)]
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

7 years agomeson: gl: add support for building with dispmanx on the rpi
Matthew Waters [Wed, 19 Oct 2016 05:11:58 +0000 (16:11 +1100)]
meson: gl: add support for building with dispmanx on the rpi

7 years agogl/eglimage: Fix passing the destroy function to gst_egl_image_new_wrapped
Matthew Waters [Tue, 18 Oct 2016 11:29:19 +0000 (22:29 +1100)]
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

7 years agomeson: Add missing gstvideo dep to segmentclip
Nirbheek Chauhan [Tue, 18 Oct 2016 07:31:04 +0000 (13:01 +0530)]
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

7 years agoImplemented gst_video_overlay_set_window_handle()
Munez [Tue, 11 Oct 2016 11:36:23 +0000 (17:06 +0530)]
Implemented gst_video_overlay_set_window_handle()

https://bugzilla.gnome.org/show_bug.cgi?id=772608

7 years agomeson: gl: fix detection of glx without gl
Matthew Waters [Tue, 18 Oct 2016 03:11:26 +0000 (14:11 +1100)]
meson: gl: fix detection of glx without gl

We need to check for libGL if we may use desktop OpenGL *or* GLX.

7 years agomeson: gl: fix incorrect error string
Matthew Waters [Tue, 18 Oct 2016 03:10:32 +0000 (14:10 +1100)]
meson: gl: fix incorrect error string

Use the winsys variable for an incorrect winsys provided

7 years agoqt: Fix failing build on RPI
Sergey Borovkov [Sun, 16 Oct 2016 10:40:22 +0000 (12:40 +0200)]
qt: Fix failing build on RPI

https://bugzilla.gnome.org/show_bug.cgi?id=773026

7 years agogl/dispmanx: egl_show should resize the window only if there is no render rectangle set
Munez [Tue, 11 Oct 2016 11:28:48 +0000 (16:58 +0530)]
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

7 years agogl/dispmanx: Fix set_render_rectangle typo
Munez [Tue, 11 Oct 2016 11:25:17 +0000 (16:55 +0530)]
gl/dispmanx: Fix set_render_rectangle typo

https://bugzilla.gnome.org/show_bug.cgi?id=772698

7 years agompegtsmux: fix buffer size mismatch in M2TS mode
Vincent Penquerc'h [Fri, 18 Mar 2016 14:09:37 +0000 (14:09 +0000)]
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.

7 years agomeson: Don't set c_std to gnu99
Nirbheek Chauhan [Sat, 15 Oct 2016 16:49:02 +0000 (22:19 +0530)]
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.

7 years agodvbsrc: fix 'delivery system'-related messages
Reynaldo H. Verdejo Pinochet [Fri, 14 Oct 2016 21:41:42 +0000 (14:41 -0700)]
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

7 years agobayer: fix _transform_caps method to preserve fields in given caps
Joan Pau Beltran [Tue, 11 Oct 2016 16:48:06 +0000 (18:48 +0200)]
bayer: fix _transform_caps method to preserve fields in given caps

https://bugzilla.gnome.org/show_bug.cgi?id=758717

7 years agowaylandsink: Properly configure internal pool
Arun Raghavan [Thu, 29 Sep 2016 16:49:39 +0000 (12:49 -0400)]
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.

7 years agocommon: sync to latest revision
Tim-Philipp Müller [Wed, 12 Oct 2016 17:20:27 +0000 (18:20 +0100)]
common: sync to latest revision

Fixes accidental common change when commit patch.

7 years agompegtsdemux: Implement efficient program updates
Edward Hervey [Tue, 11 Oct 2016 09:11:16 +0000 (11:11 +0200)]
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

7 years agompegtsdemux: Ensure we always get an upstream stream-id
Edward Hervey [Wed, 12 Oct 2016 12:35:21 +0000 (14:35 +0200)]
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

7 years agompegtsdemux: Fix issues with GST_DISABLE_GST_DEBUG
Edward Hervey [Tue, 11 Oct 2016 14:47:37 +0000 (16:47 +0200)]
mpegtsdemux: Fix issues with GST_DISABLE_GST_DEBUG

Some variables were hidden or unused

7 years agompegtsdemux: Switch to using GstStream/GstStreamCollection
Edward Hervey [Wed, 29 Jul 2015 13:52:05 +0000 (15:52 +0200)]
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.

7 years agompegtsbase: Remove duplicated code
Edward Hervey [Tue, 11 Oct 2016 08:50:17 +0000 (10:50 +0200)]
mpegtsbase: Remove duplicated code

Just have one function to check for private section streams

7 years agoadaptivedemux: fix buffer size print format
Arnaud Vrac [Mon, 10 Oct 2016 15:00:39 +0000 (17:00 +0200)]
adaptivedemux: fix buffer size print format

https://bugzilla.gnome.org/show_bug.cgi?id=772706

7 years agohlsdemux: fix hls demux stream type inheritance
Arnaud Vrac [Mon, 10 Oct 2016 14:52:58 +0000 (16:52 +0200)]
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

7 years agodvb/parsechannels: parse guard interval as a fraction
Reynaldo H. Verdejo Pinochet [Sun, 9 Oct 2016 13:42:30 +0000 (06:42 -0700)]
dvb/parsechannels: parse guard interval as a fraction

Fixes wrong default failover when parsing libdvbv5 formatted
channel configuration files.

7 years agodvb/parsechannels: add prototypes and reorganize for clarity
Reynaldo H. Verdejo Pinochet [Sun, 9 Oct 2016 10:23:19 +0000 (03:23 -0700)]
dvb/parsechannels: add prototypes and reorganize for clarity

7 years agoUpdate my email address
Reynaldo H. Verdejo Pinochet [Sat, 8 Oct 2016 14:18:15 +0000 (07:18 -0700)]
Update my email address

7 years agodvb: drop trailing whitespace and c&p leftovers
Reynaldo H. Verdejo Pinochet [Sat, 8 Oct 2016 12:33:34 +0000 (05:33 -0700)]
dvb: drop trailing whitespace and c&p leftovers

7 years agodvb/parsechannels: parse DVB-T hierarchy from v5 config file
Reynaldo H. Verdejo Pinochet [Sat, 8 Oct 2016 12:20:47 +0000 (05:20 -0700)]
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.

7 years agodvb/parsechannels: parse DVB-T lp and hp code rates
Reynaldo H. Verdejo Pinochet [Sat, 8 Oct 2016 11:55:20 +0000 (04:55 -0700)]
dvb/parsechannels: parse DVB-T lp and hp code rates

7 years agompegts: Also clear packetizer on TIME DISCONT
Edward Hervey [Sat, 8 Oct 2016 12:08:06 +0000 (14:08 +0200)]
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

7 years agoadaptivedemux: Calculate values before queue2
Edward Hervey [Sun, 2 Oct 2016 07:34:51 +0000 (09:34 +0200)]
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

7 years agoopencv: Fix memory leak by gst_caps_to_string
Jimmy Ohn [Thu, 6 Oct 2016 06:54:00 +0000 (15:54 +0900)]
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

7 years agoglwindow: don't use g_thread_join() to join the navigation thread
Matthew Waters [Wed, 5 Oct 2016 07:32:09 +0000 (18:32 +1100)]
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 ()

7 years agogluploadelement: fix leak of upload library object
Matthew Waters [Wed, 5 Oct 2016 07:28:48 +0000 (18:28 +1100)]
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.

7 years agovkdisplay: hold a weakref on the list of windows
Matthew Waters [Wed, 5 Oct 2016 01:11:19 +0000 (12:11 +1100)]
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

7 years agovkdevice: only unref the gstcontext query if non-NULL
Matthew Waters [Wed, 5 Oct 2016 00:37:04 +0000 (11:37 +1100)]
vkdevice: only unref the gstcontext query if non-NULL

Fixes an assertion in make -C tests/check generic/states.check

7 years agotests/gl: make sure all GL commands are executed on the GL thread
Matthew Waters [Thu, 29 Sep 2016 01:45:57 +0000 (11:45 +1000)]
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

7 years agogl/win32: remove egl implementation
Matthew Waters [Wed, 28 Sep 2016 08:04:21 +0000 (18:04 +1000)]
gl/win32: remove egl implementation

It hasn't been used in ages and is dead code.

7 years agotsdemux: Add conditions to identify ATSC EAC3
Wonchul Lee [Tue, 13 Sep 2016 13:07:05 +0000 (22:07 +0900)]
tsdemux: Add conditions to identify ATSC EAC3

https://bugzilla.gnome.org/show_bug.cgi?id=770528

7 years agodvb/parsechannels: make parsing errors delsys-neutral
Reynaldo H. Verdejo Pinochet [Mon, 26 Sep 2016 22:23:52 +0000 (15:23 -0700)]
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.

7 years agomeson: Setup pre-commit hooks when configuring
Thibault Saunier [Fri, 30 Sep 2016 14:35:41 +0000 (11:35 -0300)]
meson: Setup pre-commit hooks when configuring

7 years agomeson: update version
Tim-Philipp Müller [Fri, 30 Sep 2016 10:41:34 +0000 (11:41 +0100)]
meson: update version

7 years agoplayer: Remove Return documentation for function returning void
Sebastian Dröge [Fri, 30 Sep 2016 10:42:06 +0000 (13:42 +0300)]
player: Remove Return documentation for function returning void

7 years agoRelease 1.9.90
Sebastian Dröge [Fri, 30 Sep 2016 10:02:55 +0000 (13:02 +0300)]
Release 1.9.90

7 years agoUpdate .po files
Sebastian Dröge [Fri, 30 Sep 2016 09:19:32 +0000 (12:19 +0300)]
Update .po files

7 years agopo: Update translations
Sebastian Dröge [Fri, 30 Sep 2016 08:44:47 +0000 (11:44 +0300)]
po: Update translations

7 years agowaylandsink: Actually use buffer pool config after setting it up
Arun Raghavan [Thu, 29 Sep 2016 16:12:24 +0000 (21:42 +0530)]
waylandsink: Actually use buffer pool config after setting it up

CID: 1373420

7 years agofix for https://bugzilla.gnome.org/show_bug.cgi?id=771871
Sergey Mamonov [Thu, 29 Sep 2016 10:36:11 +0000 (13:36 +0300)]
fix for https://bugzilla.gnome.org/show_bug.cgi?id=771871

7 years agoa2dpsink: Drop some dead-code
Arun Raghavan [Thu, 29 Sep 2016 16:15:50 +0000 (21:45 +0530)]
a2dpsink: Drop some dead-code

Left over from the last cleanup.

CID: 1373418

7 years agofdkaacenc: fix accessing freed memory
Vincent Penquerc'h [Thu, 29 Sep 2016 13:32:15 +0000 (14:32 +0100)]
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

7 years agofdkaacdec: avoid memory corruption on decoding error
Vincent Penquerc'h [Thu, 29 Sep 2016 13:31:37 +0000 (14:31 +0100)]
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

7 years agofdkaacenc: fix buffer leak
Vincent Penquerc'h [Thu, 29 Sep 2016 13:29:46 +0000 (14:29 +0100)]
fdkaacenc: fix buffer leak

https://bugzilla.gnome.org/show_bug.cgi?id=772186

7 years agofdkaacenc: set framed=true on src caps
Vincent Penquerc'h [Wed, 28 Sep 2016 08:44:58 +0000 (09:44 +0100)]
fdkaacenc: set framed=true on src caps

This fixes muxing in MPEG TS.

https://bugzilla.gnome.org/show_bug.cgi?id=772108

7 years agogl/dispmanx: Implements set_render_rectangle to adjust the position of window
Gwang Yoon Hwang [Thu, 5 May 2016 06:53:57 +0000 (15:53 +0900)]
gl/dispmanx: Implements set_render_rectangle to adjust the position of window

We cannot set the x, y coordinate of the video frame at the dispmanx at
this point. We need to teach dispmanx backend to understand about
set_render_rectangle API to draw a video with other UI.

This patch keeps the current behavior which places video frame at the
center of the display if there is no set_render_rectangle call to the
dispmanx window.

https://bugzilla.gnome.org/show_bug.cgi?id=766018

7 years agogl: add necessary padding bytes to all public structs
Matthew Waters [Wed, 28 Sep 2016 05:20:25 +0000 (15:20 +1000)]
gl: add necessary padding bytes to all public structs

7 years agofdkaacenc: set transmux on the fdkaac lib
Vincent Penquerc'h [Tue, 27 Sep 2016 15:17:00 +0000 (16:17 +0100)]
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

7 years agofdkaacdec: do not error out of out of sync return
Vincent Penquerc'h [Tue, 27 Sep 2016 15:15:44 +0000 (16:15 +0100)]
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

7 years agofdkaac: fix error with AOT_MP2_AAC_LC removed from libfdkaac API
Vincent Penquerc'h [Tue, 27 Sep 2016 08:08:51 +0000 (09:08 +0100)]
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

7 years agomeson: bluez: fix build
Tim-Philipp Müller [Mon, 26 Sep 2016 15:30:02 +0000 (16:30 +0100)]
meson: bluez: fix build

7 years agodecklink: Update to SDK 10.8
Sebastian Dröge [Mon, 26 Sep 2016 13:38:04 +0000 (16:38 +0300)]
decklink: Update to SDK 10.8

OSX and Linux only, Windows needs someone on Windows to convert the .idl
files to C source code.

7 years agofdkaac: fix mixup setting interleaved output
Olivier Crête [Mon, 26 Sep 2016 10:41:42 +0000 (11:41 +0100)]
fdkaac: fix mixup setting interleaved output

https://bugzilla.gnome.org/show_bug.cgi?id=770455

7 years agoplayer: Only report the initial duration if the query was successful
Sebastian Dröge [Mon, 26 Sep 2016 10:26:36 +0000 (13:26 +0300)]
player: Only report the initial duration if the query was successful

7 years agoh265parse: Fix parsing of multiple NALs in the hvcC box
Kyungyong Kim [Mon, 26 Sep 2016 02:15:25 +0000 (11:15 +0900)]
h265parse: Fix parsing of multiple NALs in the hvcC box

https://bugzilla.gnome.org/show_bug.cgi?id=771970

7 years agobluez: dist new header file
Tim-Philipp Müller [Sun, 25 Sep 2016 16:38:15 +0000 (17:38 +0100)]
bluez: dist new header file

Fixes distcheck.

7 years agoa2dpsink: Don't try to set device caps on avdtpsink
Arun Raghavan [Sat, 24 Sep 2016 17:09:38 +0000 (22:39 +0530)]
a2dpsink: Don't try to set device caps on avdtpsink

We can't actually configure the transport, so we should only be working
with whatever we get.

7 years agoavdtpsink: Chain event handling up to basesink
Arun Raghavan [Fri, 23 Sep 2016 11:01:50 +0000 (16:31 +0530)]
avdtpsink: Chain event handling up to basesink

7 years agobluez: Clean up and make a2dpsink functional again
Arun Raghavan [Fri, 23 Sep 2016 10:34:43 +0000 (16:04 +0530)]
bluez: Clean up and make a2dpsink functional again

Was crashing, and had a lot of cruft (like a capsfilter and a fakesink)
that was no longer required.

7 years agoavdtpsrc: Add support for AVRCP metadata
Arun Raghavan [Thu, 15 Sep 2016 12:19:15 +0000 (17:49 +0530)]
avdtpsrc: Add support for AVRCP metadata

Metadata from AVRCP is emitted as tags, and the duration from AVRCP is
used in queries by avdtpsrc.

7 years agoopenjpegdec: Properly offset and shift for all formats when converting
Sebastian Dröge [Sat, 24 Sep 2016 14:49:10 +0000 (10:49 -0400)]
openjpegdec: Properly offset and shift for all formats when converting

And while at it, also clean up some code.

7 years agojpeg2000parse: Don't pass NULL strings to the colorspace / sampling parsing functions
Sebastian Dröge [Sat, 24 Sep 2016 14:05:16 +0000 (10:05 -0400)]
jpeg2000parse: Don't pass NULL strings to the colorspace / sampling parsing functions

They assert on NULL.

7 years agowaylandsink: Don't leak GValues in getcaps
Nicolas Dufresne [Fri, 23 Sep 2016 19:49:21 +0000 (15:49 -0400)]
waylandsink: Don't leak GValues in getcaps

7 years agowaylandsink: Update our window size on configure event
Nicolas Dufresne [Thu, 22 Sep 2016 22:55:23 +0000 (18:55 -0400)]
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

7 years agowaylandsink: Remove atomic operation
Nicolas Dufresne [Thu, 22 Sep 2016 22:53:22 +0000 (18:53 -0400)]
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.

7 years agowaylandsink: Do not pre-configure proposed pool
Nicolas Dufresne [Thu, 22 Sep 2016 19:37:41 +0000 (15:37 -0400)]
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.

7 years agowaylandsink: Properly draw black border in absence of viewporter
Nicolas Dufresne [Thu, 22 Sep 2016 19:35:44 +0000 (15:35 -0400)]
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.

7 years agodx9screencapsrc: throw error for invalid screen index
Florian Zwoch [Thu, 22 Sep 2016 08:55:03 +0000 (10:55 +0200)]
dx9screencapsrc: throw error for invalid screen index

Currently dx9screencapsrc prints a verbose warning in case the screen
index is out of range for the current number of detected monitors. This
value is then dropped.

However there is no initial indication (beside the console print) if it
worked or not. This may result in capturing an unwanted screen as it
would capture the last set index that was not rejected.

This patch sets the index regardless. Instead, the element throws an
error when it tries to run or getting caps for an invalid index.

https://bugzilla.gnome.org/show_bug.cgi?id=771817

7 years agogldisplay: also free the GWeakRef when removing dead contexts
Matthew Waters [Thu, 22 Sep 2016 08:19:36 +0000 (18:19 +1000)]
gldisplay: also free the GWeakRef when removing dead contexts

Otherwise we leak GWeakRef's.

Found with make -C tests/check libs/gstglcontext.valgrind

7 years agowayland/Makefile.am: add missing libs
Martin Kelly [Wed, 21 Sep 2016 22:51:52 +0000 (15:51 -0700)]
wayland/Makefile.am: add missing libs

libgstwayland is missing a dependency on $(GST_PLUGINS_BASE_LIBS), so add it.

https://bugzilla.gnome.org/show_bug.cgi?id=771794