platform/upstream/gstreamer.git
6 years agomeson: Build playout example
Nicolas Dufresne [Fri, 24 Nov 2017 20:17:02 +0000 (15:17 -0500)]
meson: Build playout example

6 years agoh265parse: early set src caps when input not byte-stream
Guillaume Desmottes [Wed, 22 Nov 2017 13:35:31 +0000 (14:35 +0100)]
h265parse: early set src caps when input not byte-stream

When input is not in byte-stream format there is no need to wait for the first
buffer before setting src caps. We already have all the information from the
input codec_data.

This allow us to already configure downstream elements allowing them,
for example, to already allocate their internal buffers as they know
the format of the input they are about to receive.

Same change as the one I just did in h264parse.

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

6 years agoh264parse: early set src caps when input is avc
Guillaume Desmottes [Wed, 22 Nov 2017 13:35:31 +0000 (14:35 +0100)]
h264parse: early set src caps when input is avc

When input is in AVC format there is no need to wait for the first buffer
before setting src caps. We already have all the information from the
input codec_data.

This allow us to already configure downstream elements allowing them,
for example, to already allocate their internal buffers as they know
the format of the input they are about to receive.

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

6 years agouvch264src: Check return values of all xu_query calls
Edward Hervey [Fri, 24 Nov 2017 07:06:52 +0000 (08:06 +0100)]
uvch264src: Check return values of all xu_query calls

And use warnings/returns like for other calls

CID #1373414
CID #1373417

6 years agogtk: Fix possibility of NULL variable
Edward Hervey [Fri, 24 Nov 2017 07:00:21 +0000 (08:00 +0100)]
gtk: Fix possibility of NULL variable

It's quite unlikely since it's initialized in instance initialization.

CID #1417721

6 years agodc1394src: Remove logically dead code
Edward Hervey [Fri, 24 Nov 2017 06:57:49 +0000 (07:57 +0100)]
dc1394src: Remove logically dead code

buffer would always be NULL in the error case. Simplify and just
return GST_FLOW_ERROR

CID #1417216

6 years agoviv-fb: Don't destroy the native FB display
Jan Schmidt [Thu, 23 Nov 2017 12:01:52 +0000 (23:01 +1100)]
viv-fb: Don't destroy the native FB display

It causes crashes in applications because the result of
fbGetDisplay() might be in use elsewhere in the application
and Vivante doesn't seem to do any refcounting

6 years agoRevert "gl: Use GstGLDisplayEGL directly instead of creating a GstGLDisplayVIVFb...
Jan Schmidt [Thu, 23 Nov 2017 11:58:40 +0000 (22:58 +1100)]
Revert "gl: Use GstGLDisplayEGL directly instead of creating a GstGLDisplayVIVFb subclass"

This reverts commit 47fd4d391e775c11f529705bb0f457a9d25ba5e7.

This patch is incorrect. It doesn't actually compile, and causes a crash
because the viv-fb window implementation needs a native EGL handle
to pass to fbCreateWindow, but the GstGLDisplayEGL handleis actually
an EGLDisplay now (and gets cast to the wrong type)

6 years ago3dvideo example: Correct video overlay for HiDPI
Jan Schmidt [Thu, 23 Nov 2017 14:37:48 +0000 (01:37 +1100)]
3dvideo example: Correct video overlay for HiDPI

Use the GTK scaling factor to scale the video allocation
so video displays correctly on hi-dpi screens

6 years agomeson: remove outdated comment in build file
Tim-Philipp Müller [Thu, 23 Nov 2017 10:15:49 +0000 (11:15 +0100)]
meson: remove outdated comment in build file

6 years agomsdkdec: keep draining even if a finish_task fails
Hyunjun Ko [Thu, 23 Nov 2017 03:38:11 +0000 (12:38 +0900)]
msdkdec: keep draining even if a finish_task fails

Should continue draining so that it could try to
discard the rest of pending frames even if a finish_task fails.

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

6 years agoopencv: Update version for building plugins
Mario Alfredo Carrillo Arevalo [Fri, 10 Nov 2017 19:32:17 +0000 (13:32 -0600)]
opencv: Update version for building plugins

This commit allows to build the OpenCV plugin with OpenCV >= 2.3.0 to < 3.4.0.

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

6 years agodvb: Fix previous commit
Edward Hervey [Thu, 23 Nov 2017 07:14:06 +0000 (08:14 +0100)]
dvb: Fix previous commit

strlen on strings (and not sizeof) *sigh*

6 years agodvb: Fix sock_addr usage (for real)
Edward Hervey [Thu, 23 Nov 2017 07:12:03 +0000 (08:12 +0100)]
dvb: Fix sock_addr usage (for real)

It was great checking that the string was not too big ... but
it's better if we actually copy the proper amount of bytes :)

CID #206004

6 years agoipcpipeline: Don't leak structure
Edward Hervey [Thu, 23 Nov 2017 07:09:36 +0000 (08:09 +0100)]
ipcpipeline: Don't leak structure

CID #1416131

6 years agoipcpipeline: Simplify usage of g_cond_wait_until()
Edward Hervey [Thu, 23 Nov 2017 07:05:48 +0000 (08:05 +0100)]
ipcpipeline: Simplify usage of g_cond_wait_until()

It will return FALSE if a timeout happened. So don't check if we
timed out afterwards, just use the return value.

CID #1416347

6 years agoipcpipeline: Check the proper value
Edward Hervey [Thu, 23 Nov 2017 07:02:58 +0000 (08:02 +0100)]
ipcpipeline: Check the proper value

The code is meant to check the *peer* state change return value
(and not the sink's one).

CID #1416128

6 years agopo: update POTFILES.in
Piotr Drąg [Wed, 22 Nov 2017 16:37:02 +0000 (17:37 +0100)]
po: update POTFILES.in

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

6 years agocurlhttpsrc: Don't leak structure
Edward Hervey [Wed, 22 Nov 2017 15:53:17 +0000 (16:53 +0100)]
curlhttpsrc: Don't leak structure

CID #1415716

6 years agoaggregator: Remove klass->sinkpads_type
Mathieu Duponchelle [Mon, 6 Nov 2017 20:07:51 +0000 (21:07 +0100)]
aggregator: Remove klass->sinkpads_type

This posed problems for the python bindings (and possibly others).

Instead, subclasses now use add_pad_template_with_gtype.

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

6 years agoh265parse: put downstream caps first if possible on sink caps
Guillaume Desmottes [Mon, 20 Nov 2017 16:54:54 +0000 (17:54 +0100)]
h265parse: put downstream caps first if possible on sink caps

Try prioritizing downstream's caps over upstream's if possible so the
parser can configured in "passthrough" if possible and save it from
doing useless conversions.

Exact same change as the one I just did in h264parse.

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

6 years agoh264parse: put downstream caps first if possible on sink caps
Guillaume Desmottes [Mon, 20 Nov 2017 16:54:54 +0000 (17:54 +0100)]
h264parse: put downstream caps first if possible on sink caps

Try prioritizing downstream's caps over upstream's if possible so the
parser can configured in "passthrough" if possible and save it from
doing useless conversions.

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

6 years agomsdkdec: fix buffer leaks during drain and a leak of videobufferpool
Hyunjun Ko [Wed, 22 Nov 2017 02:33:54 +0000 (11:33 +0900)]
msdkdec: fix buffer leaks during drain and a leak of videobufferpool

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

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

6 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

6 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

6 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()

6 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

6 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

6 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

6 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

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

6 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

6 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

6 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.

6 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

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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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.

6 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.

6 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

6 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

6 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

6 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

6 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

6 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

6 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.

6 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

6 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

6 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

6 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

6 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