platform/upstream/gstreamer.git
6 years agomsdkenc: handle the MORE_DATA case
Hyunjun Ko [Tue, 21 Nov 2017 05:57:03 +0000 (14:57 +0900)]
msdkenc: handle the MORE_DATA case

If the driver requires more data, just unref the frame at the moment
then retreive/finish the frame after encoding is finished.

This also fixes a memory leak.

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

6 years agodecklinkvideosink: Print "Starting" instead of "Stopping" when starting
Sebastian Dröge [Wed, 22 Nov 2017 08:30:22 +0000 (10:30 +0200)]
decklinkvideosink: Print "Starting" instead of "Stopping" when starting

6 years agonvdec: implement flush/drain
Matthew Waters [Fri, 17 Nov 2017 06:09:22 +0000 (17:09 +1100)]
nvdec: implement flush/drain

Fixes outputted frame sequence when performing a seek

i.e. when seeking backwards, the first frame after the seek was a frame
from the future.  This would result in GstVideoDecoder essentially
marking all the timestamps as essentially bogus and the base class would
attempt to compensate.  A visible indication of this was 'decreasing timestamp'
warning after a seek.

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

6 years agocurl: fix meson build
Tim-Philipp Müller [Tue, 21 Nov 2017 19:56:38 +0000 (20:56 +0100)]
curl: fix meson build

Include libsdir so our i18n header there is found.

6 years agokmssink: Add Raspberry Pi (vc4) support
Nicolas Dufresne [Tue, 21 Nov 2017 17:03:38 +0000 (12:03 -0500)]
kmssink: Add Raspberry Pi (vc4) support

6 years agode265: Don't leak CodecState
Edward Hervey [Tue, 21 Nov 2017 15:43:03 +0000 (16:43 +0100)]
de265: Don't leak CodecState

Unref it in error case

CID #1417220

6 years agovulkan: Fix out-of-bound read
Edward Hervey [Tue, 21 Nov 2017 15:39:14 +0000 (16:39 +0100)]
vulkan: Fix out-of-bound read

G_N_ELEMENTS is the *number* of entries, not the maximum entry number

CID #1417215

6 years agocurlhttpsrc: Post an error message if no URI was set
Edward Hervey [Tue, 21 Nov 2017 15:30:35 +0000 (16:30 +0100)]
curlhttpsrc: Post an error message if no URI was set

Like for other sources

6 years agocurl: Add i18n
Edward Hervey [Tue, 21 Nov 2017 15:30:17 +0000 (16:30 +0100)]
curl: Add i18n

6 years agotests/srtp: Bump up timeout to 3mins for testcase
Edward Hervey [Tue, 21 Nov 2017 14:48:06 +0000 (15:48 +0100)]
tests/srtp: Bump up timeout to 3mins for testcase

This involves generating and processing 65536 packets, let's give it
time to actually complete that.

And a bit of debug to track what's going on.

6 years agosmoothstreaming: Handle invalid XML
Edward Hervey [Tue, 21 Nov 2017 14:33:57 +0000 (15:33 +0100)]
smoothstreaming: Handle invalid XML

Nothing guarantees the manifest is valid and will return a root node

6 years agocurlhttpsrc: Fix return value
Edward Hervey [Tue, 21 Nov 2017 14:33:08 +0000 (15:33 +0100)]
curlhttpsrc: Fix return value

The function returns a gchar * (and not a boolean)

6 years agocurlhttpsrc: Don't switch to PAUSED if not URI was specified
Edward Hervey [Tue, 21 Nov 2017 14:31:05 +0000 (15:31 +0100)]
curlhttpsrc: Don't switch to PAUSED if not URI was specified

Like for other sources

6 years agoall: Fix left-shift undefined behaviour
Edward Hervey [Mon, 20 Nov 2017 16:06:07 +0000 (17:06 +0100)]
all: Fix left-shift undefined behaviour

Cast to the target type before shifting (or use macro if available)

6 years agomsdkh264enc: Implement frame-packing SEI insertion for side-by-side and top-bottom
Sebastian Dröge [Tue, 31 Oct 2017 08:09:44 +0000 (10:09 +0200)]
msdkh264enc: Implement frame-packing SEI insertion for side-by-side and top-bottom

Ideally this would be supported directly in the Intel MediaSDK but
that's not the case nowadays.

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

6 years agomsdkenc: Fix handling of YUY2, UYVY, BGRA surfaces
Hyunjun Ko [Fri, 17 Nov 2017 08:49:16 +0000 (17:49 +0900)]
msdkenc: Fix handling of YUY2, UYVY, BGRA surfaces

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

6 years agomsdkenc: Add support for YV12, YUY2, UYVY and BGRA
Sebastian Dröge [Thu, 16 Nov 2017 09:32:52 +0000 (11:32 +0200)]
msdkenc: Add support for YV12, YUY2, UYVY and BGRA

By doing conversion with VPP to NV12 before the actual encoding.

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

6 years agohlsdemux: Fix memory leak caused by double buffer map
Jun Xie [Thu, 9 Nov 2017 04:36:44 +0000 (12:36 +0800)]
hlsdemux: Fix memory leak caused by double buffer map

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

6 years agosrt: add passphrase and key length properties
Justin Kim [Mon, 13 Nov 2017 14:01:58 +0000 (23:01 +0900)]
srt: add passphrase and key length properties

For stream encryption, both `passphrase` and `key-length`
properties are required.

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

6 years agoavwait: Deserialised timecodes set after caps event now get correct framerate
Vivia Nikolaidou [Tue, 14 Nov 2017 16:13:54 +0000 (18:13 +0200)]
avwait: Deserialised timecodes set after caps event now get correct framerate

A deserialised timecode has a framerate of 0/1 by default. That breaks
it when comparing the frames field with another timecode (incoming from
the frame). We were setting the framerate when receiving the caps event,
but not when setting the timecode in set_property, so it was broken for
timecodes set after the caps event.

Also checking if the fps_n we got from the caps event is != 0 before
setting it - also at the caps event.

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

6 years agotimecode: Fix incorrect wording in error message
Vivia Nikolaidou [Fri, 10 Nov 2017 15:21:43 +0000 (17:21 +0200)]
timecode: Fix incorrect wording in error message

6 years agoavwait: Better handling of deserialised timecode framerates
Vivia Nikolaidou [Fri, 10 Nov 2017 15:18:45 +0000 (17:18 +0200)]
avwait: Better handling of deserialised timecode framerates

Now that timecodes support proper serialisation / deserialisation, a
timecode might have an invalid fps_n / fps_d even without using the
target-time-code-string property. Detect those cases and set fps_n/fps_d
properly.

6 years agodecklink: Remove unused "bflags" variable
Vivia Nikolaidou [Thu, 9 Nov 2017 10:08:35 +0000 (12:08 +0200)]
decklink: Remove unused "bflags" variable

We are ignoring all its flags anyway, so let's remove it altogether.

6 years agodecklink: Ignore some driver-set timecode flags
Vivia Nikolaidou [Thu, 9 Nov 2017 09:44:17 +0000 (11:44 +0200)]
decklink: Ignore some driver-set timecode flags

The "fields" flag is ignored because currently GStreamer doesn't support
having only top or only bottom fields inside a frame. The "drop frame"
flag is ignored because some occurrences have been spotted where it
wasn't set while it should have been. In practice, when we have 29.97 or
59.94 FPS, it's always drop-frame.

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

6 years agodecklink: Don't crash when getting hw serial number doesn't return OK
Vivia Nikolaidou [Wed, 8 Nov 2017 22:16:21 +0000 (00:16 +0200)]
decklink: Don't crash when getting hw serial number doesn't return OK

If the return value isn't OK, it means we might be getting data that
points to an invalid memory address. That shouldn't make us crash.

6 years agosrt: Introduce SRT source and sink
Justin Kim [Mon, 31 Jul 2017 05:38:34 +0000 (14:38 +0900)]
srt: Introduce SRT source and sink

SRT[0] is an open source transport technology[1] that optimizes
streaming performance across unpredictable networks.

Although SRT is based on UDP, it works like connection-oriented
protocol. However, it doesn't mean that the SRT server or client
is necessarily to link to a receiver or a sender so, here, the
pairs of source and sink elements are introduced.

 - srtserversink: SRT server to feed SRT stream
 - srtclientsrc:  SRT client to get SRT stream from srtserversink

 - srtclientsink: SRT client to send SRT stream
 - srtserversrc:  SRT server to listen from srtclientsink

[0] https://github.com/Haivision/srt
[1] http://www.srtalliance.org/

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

6 years agoRevert "decklink: Detect gaps on incoming stream times, issue warnings"
Vivia Nikolaidou [Tue, 7 Nov 2017 19:12:42 +0000 (21:12 +0200)]
Revert "decklink: Detect gaps on incoming stream times, issue warnings"

This reverts commit c1294e10f99adf04a104397da735904634400464.

Was not ready to be pushed yet.

6 years agoRevert "debugutils: Added new jitterer element"
Vivia Nikolaidou [Tue, 7 Nov 2017 19:12:36 +0000 (21:12 +0200)]
Revert "debugutils: Added new jitterer element"

This reverts commit 595254f21b15702d95d5a7cf6e43d29f9c179f43.

Was not ready to be pushed yet.

6 years agoRevert "timecodestamper: LTC from audio"
Vivia Nikolaidou [Tue, 7 Nov 2017 19:12:32 +0000 (21:12 +0200)]
Revert "timecodestamper: LTC from audio"

This reverts commit c01afab9f7fa7e822dea38e358e92163e8d36282.

Was not ready to be pushed yet

6 years agoRevert "timecodestamper: Modify ltc-add to tc-add"
Vivia Nikolaidou [Tue, 7 Nov 2017 19:12:25 +0000 (21:12 +0200)]
Revert "timecodestamper: Modify ltc-add to tc-add"

This reverts commit 6552981b795a024d26bf509893d55970c2294c04.

Was not ready to be pushed yet

6 years agoavwait: Fix crash when explicitly setting end_tc to NULL
Vivia Nikolaidou [Tue, 7 Nov 2017 19:03:22 +0000 (21:03 +0200)]
avwait: Fix crash when explicitly setting end_tc to NULL

If end_tc is NULL, it means that we don't want avwait to stop at any
timecode. When explicitly setting end_tc to NULL, there is no point in
comparing end_tc with start_tc (to see if we'll reject end_tc for being
before start_tc), so the check in question is completely disabled
instead of letting it crash.

6 years agotimecodestamper: Modify ltc-add to tc-add
Georg Lippitsch [Mon, 2 Oct 2017 16:39:49 +0000 (18:39 +0200)]
timecodestamper: Modify ltc-add to tc-add

It is more general now and also adds TC to internal counter

6 years agotimecodestamper: LTC from audio
Georg Lippitsch [Tue, 13 Jun 2017 10:19:19 +0000 (13:19 +0300)]
timecodestamper: LTC from audio

Add support for parsing linear time code from
an audio source using libltc

https://github.com/x42/libltc

The user can now choose between 3 different and independently
running timecode sources. The old override-existing property
has been replaced by timecode-source.

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

6 years agodebugutils: Added new jitterer element
Vivia Nikolaidou [Wed, 6 Sep 2017 10:16:21 +0000 (13:16 +0300)]
debugutils: Added new jitterer element

This element can be configured to add jitter and/or drift to incoming
buffers' PTS, DTS, or both. Amplitude and average of jitter and drift
are configurable.

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

6 years agodecklink: Detect gaps on incoming stream times, issue warnings
Vivia Nikolaidou [Wed, 26 Apr 2017 16:05:21 +0000 (19:05 +0300)]
decklink: Detect gaps on incoming stream times, issue warnings

When we receive a video or audio buffer, we calculate the next stream
time based on the current stream time + buffer duration. If the next
buffer's stream time is after that, we issue a warning.

This happens because the stream time incoming from Decklink should be
really constant and without gaps. If there is a gap, it means that
something went wrong, e.g. the internal buffer pool is empty (too many
buffers queued up downstream).

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

6 years agogl/tests: add some simple shader testing
Matthew Waters [Tue, 7 Nov 2017 04:21:43 +0000 (15:21 +1100)]
gl/tests: add some simple shader testing

Making sure that the default shaders compile and are usable

6 years agogltestsrc: guard stop in gl thread
Matthew Waters [Tue, 7 Nov 2017 01:39:58 +0000 (12:39 +1100)]
gltestsrc: guard stop in gl thread

So we don't result in a critical when we've never created the GL context:

gst_gl_context_thread_add: assertion 'GST_IS_GL_CONTEXT (context)' failed

6 years agoglbasefilter: actually indicate start internally
Matthew Waters [Mon, 6 Nov 2017 13:07:42 +0000 (00:07 +1100)]
glbasefilter: actually indicate start internally

Otherwise when we stop, the necessary stop functions will not be called
and things may be leaked.

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

6 years agogltestsrc: free in the GL thread on stop
Matthew Waters [Mon, 6 Nov 2017 12:19:15 +0000 (23:19 +1100)]
gltestsrc: free in the GL thread on stop

Calling GL functions not on the GL thread may crash in some GL
implementations.

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

7 years agomsdk: fix to build msdkvp8dec with mfx_dispatch
Hyunjun Ko [Fri, 3 Nov 2017 01:55:28 +0000 (10:55 +0900)]
msdk: fix to build msdkvp8dec with mfx_dispatch

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

7 years agodvb: Fix sockaddr_un usage
Edward Hervey [Sat, 4 Nov 2017 06:49:24 +0000 (07:49 +0100)]
dvb: Fix sockaddr_un usage

The sun_path field needs to be NULL-terminated

CID #206004

7 years agoaggregator: add doc blurb for gst_aggregator_pad_is_eos()
Tim-Philipp Müller [Thu, 2 Nov 2017 18:32:55 +0000 (18:32 +0000)]
aggregator: add doc blurb for gst_aggregator_pad_is_eos()

7 years agoaggregator: also remove now-unused PadForeachFunc declaration
Tim-Philipp Müller [Thu, 2 Nov 2017 16:05:12 +0000 (16:05 +0000)]
aggregator: also remove now-unused PadForeachFunc declaration

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

7 years agoaggregator: Remove pad iterator function
Olivier Crête [Wed, 2 Aug 2017 16:08:26 +0000 (12:08 -0400)]
aggregator: Remove pad iterator function

Use new gst_element_foreach_sink_pad() from core instead.

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

7 years agoaggregator: use new gst_element_foreach_sink_pad()
Tim-Philipp Müller [Thu, 2 Nov 2017 12:46:26 +0000 (12:46 +0000)]
aggregator: use new gst_element_foreach_sink_pad()

Instead of gst_aggregator_iterate_sinkpads() which will
soon be removed.

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

7 years agovideoaggregator: use new gst_element_foreach_sink_pad()
Tim-Philipp Müller [Thu, 2 Nov 2017 12:46:26 +0000 (12:46 +0000)]
videoaggregator: use new gst_element_foreach_sink_pad()

Instead of gst_aggregator_iterate_sinkpads() which will
soon be removed.

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

7 years agovideoaggregator: add CAST macros
Tim-Philipp Müller [Thu, 2 Nov 2017 12:56:57 +0000 (12:56 +0000)]
videoaggregator: add CAST macros

7 years agoaudioaggregator: use new gst_element_foreach_sink_pad()
Tim-Philipp Müller [Thu, 2 Nov 2017 12:46:26 +0000 (12:46 +0000)]
audioaggregator: use new gst_element_foreach_sink_pad()

Instead of gst_aggregator_iterate_sinkpads() which will
soon be removed.

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

7 years agogl: use new gst_element_foreach_sink_pad()
Tim-Philipp Müller [Thu, 2 Nov 2017 12:17:38 +0000 (12:17 +0000)]
gl: use new gst_element_foreach_sink_pad()

Instead of gst_aggregator_iterate_sinkpads() which will
soon be removed.

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

7 years agovideoaggregator: drop ABI compat in padding for new struct member
Tim-Philipp Müller [Thu, 2 Nov 2017 11:57:24 +0000 (11:57 +0000)]
videoaggregator: drop ABI compat in padding for new struct member

Don't really have to do that while it's in -bad and most users
are in-tree anyway.

7 years agoaudioaggregator: make class padding larger
Tim-Philipp Müller [Mon, 23 Oct 2017 20:03:22 +0000 (22:03 +0200)]
audioaggregator: make class padding larger

7 years agoaggregator: add more comments
Stefan Sauer [Wed, 1 Nov 2017 14:18:08 +0000 (15:18 +0100)]
aggregator: add more comments

7 years agomsdk: adds msdkvp8dec
Hyunjun Ko [Mon, 30 Oct 2017 06:06:32 +0000 (15:06 +0900)]
msdk: adds msdkvp8dec

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

7 years agomsdk: Allow building against mfx_dispatcher
Sebastian Dröge [Mon, 30 Oct 2017 16:17:40 +0000 (18:17 +0200)]
msdk: Allow building against mfx_dispatcher

E.g. from https://github.com/lu-zero/mfx_dispatch

7 years agovtdec: destroy and create the GL context on start()/stop()
Matthew Waters [Fri, 22 Sep 2017 04:27:51 +0000 (14:27 +1000)]
vtdec: destroy and create the GL context on start()/stop()

Removes a reference count loop

7 years agovtdec: flush decoder on stop
Nicola Murino [Mon, 23 Oct 2017 08:42:51 +0000 (10:42 +0200)]
vtdec: flush decoder on stop

fix a memory leak if the decoder shut down before EOS

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

7 years agovtenc: flush encoder on stop
Nicola Murino [Mon, 23 Oct 2017 08:40:43 +0000 (10:40 +0200)]
vtenc: flush encoder on stop

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

7 years agogl/shader: allow setting non-square matrices as uniforms on gles platforms
Matthew Waters [Sat, 28 Oct 2017 10:34:08 +0000 (21:34 +1100)]
gl/shader: allow setting non-square matrices as uniforms on gles platforms

It is possible with GLES3

7 years agogl/query: split tests and fix some corresponding issues in usage
Matthew Waters [Sat, 28 Oct 2017 07:33:44 +0000 (18:33 +1100)]
gl/query: split tests and fix some corresponding issues in usage

7 years agoadaptivedemux: add replaced flag to not error out on bitrate change
Thiago Santos [Sat, 14 Oct 2017 20:22:18 +0000 (13:22 -0700)]
adaptivedemux: add replaced flag to not error out on bitrate change

When switching bitrates we set the old streams as cancelled, but it
could also be confused with a cancel due to other reasons (as an error)
and it would lead the element to stop the pipeline mistankely. This
would happen when the stream being replaced was waiting for a manifest
update on live. Ss make it sure that we are stopping for switching
bitrates to avoid erroring out.

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

7 years agoconfigure.ac: fix fdk-aac version check
Florent Thiéry [Wed, 25 Oct 2017 14:11:58 +0000 (16:11 +0200)]
configure.ac: fix fdk-aac version check

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

7 years agofdkaacenc: check fdk-aac version in meson.build
Mathieu Duponchelle [Wed, 25 Oct 2017 12:35:12 +0000 (14:35 +0200)]
fdkaacenc: check fdk-aac version in meson.build

configure.ac used to set -DHAVE_FDK_AAC_0_1_4 , which enables
7.1 support.

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

7 years agoavwait: Added end-timecode property
Vivia Nikolaidou [Tue, 24 Oct 2017 13:17:28 +0000 (16:17 +0300)]
avwait: Added end-timecode property

avwait can now be configured to stop when a given timecode has been
reached. It will start at the timecode indicated with start-timecode and
end at the timecode indicated with end-timecode. If end-timecode is
NULL (default), the previous functionality is preserved: keep going and
not end.

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

7 years agotests: comment and logging cleanups for audiomixer and aggregator
Stefan Sauer [Mon, 23 Oct 2017 09:52:38 +0000 (11:52 +0200)]
tests: comment and logging cleanups for audiomixer and aggregator

Remove some references to 'collectpads'. Logs pads through the object variants.
Add some more comments. Remove a left over comment.

7 years agoaggregator: fix type for latency property (int64 -> GStClockTime)
Stefan Sauer [Sun, 22 Oct 2017 17:43:17 +0000 (19:43 +0200)]
aggregator: fix type for latency property (int64 -> GStClockTime)

The value is used as GstClockTiem in the code. Adapt the hack^H^H^H^Hcode
in live-adder.

7 years agoaudioaggregator: Accept buffer with no data, but duration and gap flag
Olivier Crête [Thu, 13 Jul 2017 23:09:43 +0000 (19:09 -0400)]
audioaggregator: Accept buffer with no data, but duration and gap flag

These are produced from GAP events by the base class.

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

7 years agoaggregator: Don't take flush lock from output thread
Olivier Crête [Thu, 13 Jul 2017 23:03:19 +0000 (19:03 -0400)]
aggregator: Don't take flush lock from output thread

Instead just take it in the chain function.

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

7 years agoaggregator: Don't block if adding to the tail of the queue
Olivier Crête [Thu, 13 Jul 2017 22:38:34 +0000 (18:38 -0400)]
aggregator: Don't block if adding to the tail of the queue

If we're adding to the tail of the queue, it's because we're converting
a gap event, so don't block there it means we're calling from the output
thread.

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

7 years agoopenjpeg: Remove compatibility with openjpeg 2.0
Jan Alexander Steffens (heftig) [Fri, 20 Oct 2017 09:44:50 +0000 (11:44 +0200)]
openjpeg: Remove compatibility with openjpeg 2.0

Everyone seems to be shipping 2.1 as the oldest v2 version, even debian
oldstable (jessie).

Also remove an unneeded (debug?) #include <stdio.h>.

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

7 years agoopenjpeg: Support building with openjpeg 2.3, simpler
Jan Alexander Steffens (heftig) [Thu, 19 Oct 2017 14:36:17 +0000 (16:36 +0200)]
openjpeg: Support building with openjpeg 2.3, simpler

OpenJPEG 2.3 installs its headers to /usr/include/openjpeg-2.3. However,
since libopenjp2.pc seems to provide the right includedir CFLAGS at
least since version 2.1, instead of adding yet another version check,
just remove the subdir and the check for 2.2.

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

7 years agoRevert "openjpeg: Support building with openjpeg 2.3"
Jan Alexander Steffens (heftig) [Thu, 19 Oct 2017 14:26:45 +0000 (16:26 +0200)]
Revert "openjpeg: Support building with openjpeg 2.3"

This reverts commit ef4d6b93e6078b7056c51a928f5620b13e55e323.

A better fix follows.

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

7 years agoipcpipeline: work around gcc bug in struct initializers
Stefan Sauer [Fri, 20 Oct 2017 08:32:23 +0000 (10:32 +0200)]
ipcpipeline: work around gcc bug in struct initializers

Unfortunately we need to use an extra set of parenthesis for each data level.

For details see:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119
Affected versions are e.g.
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
which is the default on ubuntu-trusty. I looks like the fix was never
backported.

7 years agovtenc: fix memory leak
Nicola Murino [Wed, 27 Sep 2017 09:37:26 +0000 (11:37 +0200)]
vtenc: fix memory leak

finish encoding and clean buffers queue on flush. This avoid a memory leak
if the element shuts down before EOS

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

7 years agoUse value instead of version macro when testing for mac OS version
Jérôme Laheurte [Sun, 1 Oct 2017 17:04:15 +0000 (19:04 +0200)]
Use value instead of version macro when testing for mac OS version

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

7 years agolcms: Add LCMS ICC color correction element
Andreas Frisch [Thu, 19 Oct 2017 14:01:46 +0000 (16:01 +0200)]
lcms: Add LCMS ICC color correction element

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

7 years agom3u8: Refine sequence update debug messages
Jan Alexander Steffens (heftig) [Wed, 27 Sep 2017 07:17:07 +0000 (09:17 +0200)]
m3u8: Refine sequence update debug messages

Actually give some details about why it failed.

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

7 years agom3u8: Don't try to match URIs when we have media sequences
Jan Alexander Steffens (heftig) [Wed, 27 Sep 2017 07:27:12 +0000 (09:27 +0200)]
m3u8: Don't try to match URIs when we have media sequences

It is legal for a stream to reuse segments (marking discontinuities as
needed). Uplynk delivers such playlists for their placeholder loops.

Leave the URI scanning in place for playlists which have no
EXT-X-MEDIA-SEQUENCE tag. This should be harmless since the spec
requires these playlists to not be missing segments (RFC8216 6.2.2),
so we should be always matching on the first segment.

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

7 years agom3u8: Ignore empty playlists in check_media_seqnums
Jan Alexander Steffens (heftig) [Wed, 27 Sep 2017 07:39:02 +0000 (09:39 +0200)]
m3u8: Ignore empty playlists in check_media_seqnums

Let these error in the immediately following check in gst_m3u8_update.

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

7 years agom3u8: Split gst_m3u8_update_check_consistent_media_seqnums
Jan Alexander Steffens (heftig) [Fri, 15 Sep 2017 06:57:03 +0000 (08:57 +0200)]
m3u8: Split gst_m3u8_update_check_consistent_media_seqnums

The function was basically one big if-else. Move the branch to the
one caller.

Currently, it's never called with previous_files == NULL. Assert that
this continues.

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

7 years agom3u8: Simplify control flow for sequence update
Jan Alexander Steffens (heftig) [Fri, 15 Sep 2017 06:42:49 +0000 (08:42 +0200)]
m3u8: Simplify control flow for sequence update

Split the tail from the rest of the loop.

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

7 years agodecklink: Add read-only property to read the device serial number
Sebastian Dröge [Wed, 4 Oct 2017 11:53:35 +0000 (13:53 +0200)]
decklink: Add read-only property to read the device serial number

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

7 years agoaggregator: review code related to time level
Stefan Sauer [Tue, 17 Oct 2017 06:03:02 +0000 (08:03 +0200)]
aggregator: review code related to time level

Add a comment for when the state matters. Use a local var for priv in
update_time_level() to improve readability. Move the our_latency local
var below the query results checks.

7 years agoaggregator: init latency values with 0 instead of FALSE
Stefan Sauer [Tue, 17 Oct 2017 05:51:51 +0000 (07:51 +0200)]
aggregator: init latency values with 0 instead of FALSE

7 years agoopencv: Support smoothing only part of the image
Michał Górny [Mon, 9 Oct 2017 16:08:47 +0000 (18:08 +0200)]
opencv: Support smoothing only part of the image

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

7 years agoopencv: Add 'kernel' prefix to width/height
Michał Górny [Wed, 11 Oct 2017 20:03:24 +0000 (22:03 +0200)]
opencv: Add 'kernel' prefix to width/height

Rename width to kernel-width, and height to kernel-height to avoid
ambiguity in the name.

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

7 years agoopenjpeg: Support building with openjpeg 2.3
Thibault Saunier [Mon, 16 Oct 2017 08:43:28 +0000 (10:43 +0200)]
openjpeg: Support building with openjpeg 2.3

And avoid failling the build each time openjpeg releases a new version.

7 years agoaggregator: code cleanup for event and query func
Stefan Sauer [Sun, 15 Oct 2017 18:46:09 +0000 (20:46 +0200)]
aggregator: code cleanup for event and query func

Only look up klass for non serialized events/queries. For events remove
superfluous assignment for the return value in the flushing case.

7 years agoaggregator: simplify pad_event_func for FLUSH_STOP events
Stefan Sauer [Sun, 15 Oct 2017 15:46:45 +0000 (17:46 +0200)]
aggregator: simplify pad_event_func for FLUSH_STOP events

We want to skip serialization for FLUSH_STOP events (apparently). We can
simplify the code to add it to the top-level conditions. There was nothing
done in the first code path if the event was FLUSH_STOP.

7 years agoaggregator: drop special casing for eos
Stefan Sauer [Sun, 15 Oct 2017 14:57:13 +0000 (16:57 +0200)]
aggregator: drop special casing for eos

Just queue it like any other serialized event. This way we don't need to
check if there still are buffers in the queue.

Validated with the tests and gst-launch-1.0 pipelines.

7 years agoaggregator: add a doc-blob for the event_func
Stefan Sauer [Sun, 15 Oct 2017 14:51:21 +0000 (16:51 +0200)]
aggregator: add a doc-blob for the event_func

7 years agoaggregator: rename a local variable
Stefan Sauer [Sun, 15 Oct 2017 14:48:21 +0000 (16:48 +0200)]
aggregator: rename a local variable

The variable tracks wheter the queue is not empty, but num_buffers==0. That
means we have events or queries to process. Rename accordingly.

7 years agoaggregator: remove commented code
Stefan Sauer [Sun, 15 Oct 2017 10:17:42 +0000 (12:17 +0200)]
aggregator: remove commented code

The SEGMENT_DONE event does not require any special treatment. This is
commented out in 6efc106a67.

7 years agoaggregator: move the comment for the locks to the lock macros
Stefan Sauer [Sun, 15 Oct 2017 10:14:28 +0000 (12:14 +0200)]
aggregator: move the comment for the locks to the lock macros

Looks like some code was inserted afterwards.

7 years agoaggregator: improve section docs
Stefan Sauer [Sun, 15 Oct 2017 08:44:44 +0000 (10:44 +0200)]
aggregator: improve section docs

Mention how data ends up in the queues. Document the relation of the pad
functions and the class vmethods to get events and queries.

7 years agoaudioaggregator: improve readability in offset calculation
Stefan Sauer [Sun, 15 Oct 2017 08:29:20 +0000 (10:29 +0200)]
audioaggregator: improve readability in offset calculation

Don't reuse the offset variables will contain a sample offset for an
intermediate time value. Instead add a segment_pos variable of type
GstClockTime for this. Use The clock-time macros to check if we got
a valid time.

7 years agoaggregator: add two more tests for a sequence of data
Stefan Sauer [Sat, 14 Oct 2017 16:18:44 +0000 (18:18 +0200)]
aggregator: add two more tests for a sequence of data

This verifies that we handle events and queries at the head of the queue and
then buffers.

7 years agoaggregator: refactor the test helper
Stefan Sauer [Sat, 14 Oct 2017 11:26:02 +0000 (13:26 +0200)]
aggregator: refactor the test helper

Make the test helpers use a queue. This lets us also test sequences of events,
queries and data.

7 years agoaggregator: test cleanup
Stefan Sauer [Sat, 14 Oct 2017 10:08:19 +0000 (12:08 +0200)]
aggregator: test cleanup

Remove gst_init() from a few tests. Use _OBJECT variants in logging. Remove
arbitrary extra blank lines. Make push_event() more like push_buffer() - set
the event to NULL and add cleanup to _chain_data_clear().

7 years agoaudioaggregator: move comment to the place it is meant to be
Stefan Sauer [Thu, 5 Oct 2017 18:48:59 +0000 (20:48 +0200)]
audioaggregator: move comment to the place it is meant to be

This probably got shifted after some changes.

7 years agonvbaseenc: Fix Memory leak in error case
Ponnam Srinivas [Sat, 7 Oct 2017 09:27:44 +0000 (14:57 +0530)]
nvbaseenc: Fix Memory leak in error case

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