platform/upstream/gstreamer.git
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

7 years agoqt: update qmake .pro file
Tim-Philipp Müller [Fri, 13 Oct 2017 11:25:22 +0000 (12:25 +0100)]
qt: update qmake .pro file

Update for renaming of plugin file, and add some
missing source files.

7 years agovideoaggregator: use GstFlowReturn for flow returns
Tim-Philipp Müller [Fri, 13 Oct 2017 10:46:09 +0000 (11:46 +0100)]
videoaggregator: use GstFlowReturn for flow returns

7 years agodecklink: Print one "dropped N old frames" message, not one per frame
Vivia Nikolaidou [Tue, 10 Oct 2017 15:03:15 +0000 (18:03 +0300)]
decklink: Print one "dropped N old frames" message, not one per frame

If we drop many frames at once, printing one message per video frame and
one per audio packet would cause a lot of disk IO. Just print a total at
the end.

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

7 years agokmssink: Fix crash on NULL dmabuf allocator pointer
Nicolas Dufresne [Fri, 6 Oct 2017 19:07:58 +0000 (15:07 -0400)]
kmssink: Fix crash on NULL dmabuf allocator pointer

Now that we are doing lazy allocation, we may endup calling _stop()
before the allocator was created. As a side effect, we need to nul-check
the pointer before calling it's method (_clear_cache()).

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

7 years agomxfdemux: Fix memory leak in error case
Ponnam Srinivas [Wed, 4 Oct 2017 10:59:52 +0000 (16:29 +0530)]
mxfdemux: Fix memory leak in error case

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

7 years agokms: Fix compilation error when libdrm < 2.4.68
U. Artie Eoff [Fri, 6 Oct 2017 00:28:30 +0000 (17:28 -0700)]
kms: Fix compilation error when libdrm < 2.4.68

DRM_RDWR was not defined until libdrm 2.4.68.  However,
in configure.ac we only require libdrm >= 2.4.55.

Seems silly to to bump minimum libdrm version for a simple
define.  Thus, define DRM_RDWR if it's not defined.

This fixes compilation error introduced in:

commit 922031b0f98bf5c7b01f4431d1c08617f65865f7
Author: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Date:   Tue Sep 12 12:07:13 2017 -0400

    kms: Export DMABuf from Dumb buffer when possible

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

Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
7 years agokmsallocator: Update GstVideoInfo.size when extrapolating
Nicolas Dufresne [Thu, 5 Oct 2017 19:46:20 +0000 (15:46 -0400)]
kmsallocator: Update GstVideoInfo.size when extrapolating

When we guess the strides, we need to also update the GstVideoInfo.size
otherwise the memory size will be set to something smaller then needed.
This was causing crash with the DMABuf exportation, since we would not
mmap() a large enough buffer.

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

7 years agokms: Export DMABuf from Dumb buffer when possible
Nicolas Dufresne [Tue, 12 Sep 2017 16:07:13 +0000 (12:07 -0400)]
kms: Export DMABuf from Dumb buffer when possible

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

7 years agokmssink: Move the mem cache into the allocator
Nicolas Dufresne [Tue, 12 Sep 2017 14:36:51 +0000 (10:36 -0400)]
kmssink: Move the mem cache into the allocator

No functional change, the cache will be later reused by the buffer
pool to keep track of the kmssink memory when exporting dmabuf.

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

7 years agokmsbufferpool: Don't check allocator pointer twice
Nicolas Dufresne [Mon, 11 Sep 2017 20:32:32 +0000 (16:32 -0400)]
kmsbufferpool: Don't check allocator pointer twice

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

7 years agokmsbufferpool: Removed unused member fd
Nicolas Dufresne [Mon, 11 Sep 2017 20:32:15 +0000 (16:32 -0400)]
kmsbufferpool: Removed unused member fd

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

7 years agokmssink: Check if we can prime export
Nicolas Dufresne [Mon, 11 Sep 2017 19:00:53 +0000 (15:00 -0400)]
kmssink: Check if we can prime export

This will be used later to decide if a DMABuf allocator should be
exposed.

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

7 years agoaudioaggregator: remove buffer!=NULL check
Stefan Sauer [Thu, 5 Oct 2017 15:54:34 +0000 (17:54 +0200)]
audioaggregator: remove buffer!=NULL check

Acording to the logic this cannot happen (we already check this before). So
add a assert like we do above and remove the check. This make it clearer that
we check for the offset range.
Also remove a dead assignment since we reassign this a few lines below.

7 years agoaudioaggreator: update docs
Stefan Sauer [Thu, 5 Oct 2017 15:52:37 +0000 (17:52 +0200)]
audioaggreator: update docs

Remove wrote references to collectpads. Document the units.

7 years agomeson: remove vs_module_defs
Havard Graff [Wed, 4 Oct 2017 12:29:20 +0000 (14:29 +0200)]
meson: remove vs_module_defs

The GST_EXPORT should handle it.

7 years agomeson: Fix namespace and add some missing args in the gir generation
Rico Tzschichholz [Thu, 5 Oct 2017 12:30:43 +0000 (14:30 +0200)]
meson: Fix namespace and add some missing args in the gir generation

7 years agoaudioaggregator: pass blocksize to mix_buffer()
Stefan Sauer [Thu, 5 Oct 2017 06:11:29 +0000 (08:11 +0200)]
audioaggregator: pass blocksize to mix_buffer()

No need to recalc the value twice per run. Establishes that it is the same
value.

7 years agoaudioaggregator: rename _fill_buffer() to _queue_new_buffer()
Stefan Sauer [Thu, 5 Oct 2017 06:12:45 +0000 (08:12 +0200)]
audioaggregator: rename _fill_buffer() to _queue_new_buffer()

It does not fill a buffer. Rename it and add a short comment.

7 years agoaggregator: cleanup event forwarding
Stefan Sauer [Tue, 3 Oct 2017 10:36:10 +0000 (12:36 +0200)]
aggregator: cleanup event forwarding

Don't copy the whole event struct. Set the input params when we call the
forwarding helper. Initialize the internal fields and return values in the
helper.

7 years agoaggregator: simplify src_event
Stefan Sauer [Tue, 3 Oct 2017 10:08:42 +0000 (12:08 +0200)]
aggregator: simplify src_event

Avoid extra ref/unref, we have a ref and do_seek unrefs. Just return the result
as we have. This lets us remove the local var plus the label.

7 years agomeson: Define GST_USE_UNSTABLE_API in the build system
Nicolas Dufresne [Wed, 4 Oct 2017 14:00:48 +0000 (10:00 -0400)]
meson: Define GST_USE_UNSTABLE_API in the build system

This way meson and autotools both do the same thing and we don't need to
modify the code after all.

7 years agoFix autotools build broken by 25dee2f2cb21d3fdd
Reynaldo H. Verdejo Pinochet [Tue, 3 Oct 2017 22:26:34 +0000 (15:26 -0700)]
Fix autotools build broken by 25dee2f2cb21d3fdd

Build fails on GST_USE_UNSTABLE_API being redefined

7 years agoUse proper GtkDoc notation for NULL/FALSE/TRUE
Reynaldo H. Verdejo Pinochet [Mon, 2 Oct 2017 21:28:26 +0000 (14:28 -0700)]
Use proper GtkDoc notation for NULL/FALSE/TRUE

7 years agoadaptivedemux: fix typos
Reynaldo H. Verdejo Pinochet [Tue, 26 Sep 2017 23:46:10 +0000 (16:46 -0700)]
adaptivedemux: fix typos

7 years agomeson: Build tsparser example
Nicolas Dufresne [Tue, 3 Oct 2017 21:16:15 +0000 (17:16 -0400)]
meson: Build tsparser example

7 years agotsparses: Define GST_USE_UNSTABLE_API
Nicolas Dufresne [Tue, 3 Oct 2017 21:14:53 +0000 (17:14 -0400)]
tsparses: Define GST_USE_UNSTABLE_API

This example is entirely based on unstable API, this avoids the expected
compilation warning.

7 years agogl: Use GstGLDisplayEGL directly instead of creating a GstGLDisplayVIVFb subclass
Cassandra Rommel [Mon, 2 Oct 2017 19:35:48 +0000 (12:35 -0700)]
gl: Use GstGLDisplayEGL directly instead of creating a GstGLDisplayVIVFb subclass

This simplifies the code a lot without any functional changes apart from
not closing the display connection. Closing the display connection is
not safe to do as it is shared between all other code in the same
process and no reference counting or anything happens at the platform
layer.

7 years agoaudioaggregator: reduce variable scope
Stefan Sauer [Mon, 2 Oct 2017 14:57:21 +0000 (16:57 +0200)]
audioaggregator: reduce variable scope

This is a non-functional change that makes the code more alike to the previous
check. I should be more obvious when we drop a buffer.

7 years agoaudioaggregator: update comment for aggregate
Stefan Sauer [Mon, 2 Oct 2017 07:40:50 +0000 (09:40 +0200)]
audioaggregator: update comment for aggregate

Replace collect-pads left-over. Remove first paragraph, we're not doing this.
Remove 3), 4) since this is not per pad.

7 years agoglcontext_egl: Add gstglwindow header
Justin Kim [Mon, 2 Oct 2017 07:22:26 +0000 (16:22 +0900)]
glcontext_egl: Add gstglwindow header

Otherwise, compiler complains implicit function declaration warning.

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

7 years agoaudiobuffersplit: Drain pending samples if the caps are changing
Sebastian Dröge [Tue, 12 Sep 2017 13:43:26 +0000 (16:43 +0300)]
audiobuffersplit: Drain pending samples if the caps are changing

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

7 years agoaudiobuffersplit: Use new GstAudioStreamAlign API
Sebastian Dröge [Tue, 12 Sep 2017 13:41:18 +0000 (16:41 +0300)]
audiobuffersplit: Use new GstAudioStreamAlign API

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

7 years agoglfilter: Unmap video frame in error case
Ponnam Srinivas [Thu, 28 Sep 2017 10:50:53 +0000 (16:20 +0530)]
glfilter: Unmap video frame in error case

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

7 years agodecklinkaudio/videosrc: Put hardware reference timestamp in a reference timestamp...
Sebastian Dröge [Thu, 28 Sep 2017 10:55:18 +0000 (13:55 +0300)]
decklinkaudio/videosrc: Put hardware reference timestamp in a reference timestamp meta

This can be useful to know on multi-channel cards which frames from
different channels were captured at the same time.

7 years agoglmixer: Unmap video frame in error case
Ponnam Srinivas [Mon, 25 Sep 2017 11:50:58 +0000 (17:20 +0530)]
glmixer: Unmap video frame in error case

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

7 years agowebpenc: Unmap video frame in failed case
Ponnam Srinivas [Thu, 21 Sep 2017 12:43:19 +0000 (18:13 +0530)]
webpenc: Unmap video frame in failed case

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

7 years agoautoconvert: Fix two memory leaks on error conditions
James Stevenson [Fri, 22 Sep 2017 07:10:44 +0000 (08:10 +0100)]
autoconvert: Fix two memory leaks on error conditions

Both the sink_chain and sink_chain_list will neither pass
or free the buffer if the internal src pad doesn't exist yet.

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

7 years agodecklink: Free the correct memory in our own buffer pool
Sebastian Dröge [Thu, 21 Sep 2017 11:40:06 +0000 (14:40 +0300)]
decklink: Free the correct memory in our own buffer pool

The buffer itself is 128 bytes into the allocated memory area, to be
able to store the size and other metadata before it. Freeing the buffer
directly will make malloc moderately unhappy.

7 years agotests/check: disable all ipcpipeline tests until I find a way to make them run reliably
George Kiagiadakis [Thu, 21 Sep 2017 08:46:22 +0000 (11:46 +0300)]
tests/check: disable all ipcpipeline tests until I find a way to make them run reliably

7 years agoglvidemixer: need reconfigure output gemotry after caps renegotiated
Haihua Hu [Wed, 20 Sep 2017 12:00:03 +0000 (20:00 +0800)]
glvidemixer: need reconfigure output gemotry after caps renegotiated

7 years agoRevert "glvideomixer: need update output geometry after src caps reconfigure"
Matthew Waters [Thu, 21 Sep 2017 01:59:22 +0000 (11:59 +1000)]
Revert "glvideomixer: need update output geometry after src caps reconfigure"

This reverts commit d6e538dc5651fb03c85d7c7614bcf6c689f2db2f.

7 years agoglvideomixer: need update output geometry after src caps reconfigure
Haihua Hu [Mon, 18 Sep 2017 07:42:00 +0000 (15:42 +0800)]
glvideomixer: need update output geometry after src caps reconfigure

Need update output geometry when sink caps changed and use
gst_structure_set to update caps if structure is fixed

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

7 years agottmlparse: Ensure default showBackground behaviour is enacted
Chris Bass [Tue, 19 Sep 2017 14:37:42 +0000 (15:37 +0100)]
ttmlparse: Ensure default showBackground behaviour is enacted

Ensure that region backgrounds are always show when tts:showBackground
is not explicitly set, in accordance with the default behavour given in
the TTML spec.

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

7 years agonvdec: Correctly set the discontinuity flag
Per-Erik Brodin [Wed, 20 Sep 2017 00:18:48 +0000 (17:18 -0700)]
nvdec: Correctly set the discontinuity flag

Instead of clearing the "valid timestamp" flag, which would result in a
timestamp mismatch after a discontinuity.

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

7 years agogl/viv-fb: transform screen coordinate to viewport coordinate
Haihua Hu [Mon, 11 Sep 2017 08:00:24 +0000 (16:00 +0800)]
gl/viv-fb: transform screen coordinate to viewport coordinate

In y direction, screen coordinate are opposite to viewport coordinate.

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

7 years agogl/viv-fb: fix wrong pos (x,y) calculate in queue_resize
Haihua Hu [Mon, 11 Sep 2017 07:12:53 +0000 (15:12 +0800)]
gl/viv-fb: fix wrong pos (x,y) calculate in queue_resize

queue_resize viewport coordinate calculate is wrong and
force queue_resize when do _set_render_rectangle in case
user input pos changed

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

7 years agoglimagesink: expose should do redisplay all the time
Haihua Hu [Mon, 11 Sep 2017 08:11:19 +0000 (16:11 +0800)]
glimagesink: expose should do redisplay all the time

when using internal window, window resize should work
when pause state, but expose only do redisplay when
window_id is valid. So expose should do redisplay all
the time.

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

7 years agoaudioaggregator: fix typo in comment
Stefan Sauer [Mon, 18 Sep 2017 04:05:03 +0000 (21:05 -0700)]
audioaggregator: fix typo in comment

7 years agoaggregator: register func for do_events_and_queries
Stefan Sauer [Sun, 17 Sep 2017 19:37:03 +0000 (12:37 -0700)]
aggregator: register func for do_events_and_queries

This fixes logging the func ptr from _iterate_sinkpads().

7 years agoaggregator: only set clipped_buffer to NULL if needed
Stefan Sauer [Sun, 17 Sep 2017 19:30:37 +0000 (12:30 -0700)]
aggregator: only set clipped_buffer to NULL if needed

7 years agoaggregator: rename check_events
Stefan Sauer [Sun, 17 Sep 2017 19:25:37 +0000 (12:25 -0700)]
aggregator: rename check_events

This function also handles queries. Update the code to loop until all events and
queuries are handled.

7 years agoaggregator: add a few more comments to PadPrivate struct
Stefan Sauer [Sun, 17 Sep 2017 19:24:54 +0000 (12:24 -0700)]
aggregator: add a few more comments to PadPrivate struct

7 years agoaggregator: rename buffers field to data
Stefan Sauer [Sun, 17 Sep 2017 18:39:12 +0000 (11:39 -0700)]
aggregator: rename buffers field to data

The queue stores buffers, events and queries.

7 years agoaggregator: documentaion fixes
Stefan Sauer [Sun, 17 Sep 2017 17:18:56 +0000 (10:18 -0700)]
aggregator: documentaion fixes

Fix typos and remove params docs, where the param was moved.

7 years agotests: simplify audiomixer test
Stefan Sauer [Sun, 10 Sep 2017 18:55:07 +0000 (20:55 +0200)]
tests: simplify audiomixer test

Use _link_many() and reuse a helper to reduce the test code.

7 years agomssdemux: fix caps leak in error code path
Tim-Philipp Müller [Fri, 15 Sep 2017 19:34:28 +0000 (20:34 +0100)]
mssdemux: fix caps leak in error code path

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

7 years agoplayer: introduce helper method to remove seek source
Philippe Renon [Fri, 15 Sep 2017 13:04:02 +0000 (15:04 +0200)]
player: introduce helper method to remove seek source

this incidentally fixes a missing g_source_destroy() call in _main()

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

7 years agoplayer: remove duplicate state_ret check in play internal
Philippe Renon [Fri, 15 Sep 2017 12:58:56 +0000 (14:58 +0200)]
player: remove duplicate state_ret check in play internal

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

7 years agoqmlglsink: Expose itemInitialized as property
Jochen Henneberg [Wed, 6 Sep 2017 07:59:56 +0000 (07:59 +0000)]
qmlglsink: Expose itemInitialized as property

Instead of just signalling when ready exposing the state
as a property allows us to bind at any time if player is
loaded async.

7 years agokmssink: Don't leak the dumb buffer on drain
Nicolas Dufresne [Fri, 8 Sep 2017 14:16:12 +0000 (10:16 -0400)]
kmssink: Don't leak the dumb buffer on drain

7 years agokmssink: Don't assume buffer pool won't touch buf pointer
Nicolas Dufresne [Fri, 8 Sep 2017 13:28:19 +0000 (09:28 -0400)]
kmssink: Don't assume buffer pool won't touch buf pointer

Just for extra safety, let's not assume that gst_buffer_pool_acquire()
won't ever touch the buf pointer.

7 years agokms: fix crash if bo allocation failed when copying to dumb buffer
Guillaume Desmottes [Fri, 8 Sep 2017 12:57:06 +0000 (14:57 +0200)]
kms: fix crash if bo allocation failed when copying to dumb buffer

If bo allocation failed we destroy the buffer and return GST_FLOW_ERROR,
but the @buffer pointer was still pointing to the address of the
destroyed buffer. gst_kms_sink_copy_to_dumb_buffer() was then trying to
unref it when bailing out causing a crash.

Leave @buffer untouched if allocation failed to fix the crash.
Also remove the check on *buffer being not NULL as gst_buffer_new()
will abort if it failed.

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

7 years agoqt: fix build with qmake
Tim-Philipp Müller [Thu, 7 Sep 2017 08:39:13 +0000 (09:39 +0100)]
qt: fix build with qmake

Move the package defines for GST_PLUGIN_DEFINE from the
command line into the source file to avoid quoting issues
(-DPACKAGE_NAME="foo" means the quotes won't actually make
it to the compiler and then it no longer gets a string constant).

7 years agodfbvideosink: Pass the VideoInfo to gst_video_info_from_caps
Thibault Saunier [Wed, 6 Sep 2017 19:04:49 +0000 (16:04 -0300)]
dfbvideosink: Pass the VideoInfo to gst_video_info_from_caps

Fixing the build

7 years agoRequest minimum buffer even if need_pool is FALSE
Nicolas Dufresne [Tue, 5 Sep 2017 20:20:44 +0000 (16:20 -0400)]
Request minimum buffer even if need_pool is FALSE

When tee is used, it will not request a pool, but still it wants to
know how many buffers are required.

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

7 years agohlsdemux: fix compilation with OpenSSL 1.1.0
George Kiagiadakis [Tue, 5 Sep 2017 12:07:03 +0000 (15:07 +0300)]
hlsdemux: fix compilation with OpenSSL 1.1.0

OpenSSL 1.1.0 no longer allows stack-allocated structures;
it hides the implementation behind typedefs

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

7 years agocheck: Fix usage of dual probes
Edward Hervey [Tue, 5 Sep 2017 12:26:52 +0000 (14:26 +0200)]
check: Fix usage of dual probes

Using two (or more) probes on the same pad where one of the probe
returns HANDLED or DROP is tricky since the other probes might
not be called.

Instead use regular probes and a proper pad (the sinkpad already existed,
it only required to be activated and have a dummy chain function for
the events/buffers to be received/handled properly)

7 years agoamc: actually use the provided application class loader
Matthew Waters [Thu, 31 Aug 2017 08:56:37 +0000 (18:56 +1000)]
amc: actually use the provided application class loader

For the camera and sensor

Fixes a couple of ClassNotFound java exceptions when initializing GStreamer
off the main thread.

7 years agogl/wayland: call eglTerminate() before wl_display_disconnect()
Matthew Waters [Tue, 5 Sep 2017 06:14:02 +0000 (16:14 +1000)]
gl/wayland: call eglTerminate() before wl_display_disconnect()

Calling these two functions in the wrong order will result in
use-after-free inside wayland.

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

7 years agogtkglsink: expose the created display and context correctly
Matthew Waters [Fri, 1 Sep 2017 05:00:12 +0000 (15:00 +1000)]
gtkglsink: expose the created display and context correctly

1. Propagate the GstGLDisplay we create
2. Add the created GstGLContext to the propagated GstGLDisplay

Otherwise with multi-branch GL pipelines involving gtkglsink, things
will fall apart and errors will be genarated somewhere.

7 years agosbcenc: Fix typo in docs
Sebastian Dröge [Tue, 5 Sep 2017 07:56:12 +0000 (10:56 +0300)]
sbcenc: Fix typo in docs

7 years agoplugin: Rename libde265 to de265 for consistency
Edward Hervey [Tue, 5 Sep 2017 07:51:41 +0000 (09:51 +0200)]
plugin: Rename libde265 to de265 for consistency

And avoids it being blacklisted

7 years agoexamples: Makefile.am: add ipcpipeline in SUBDIRS if enabled
George Kiagiadakis [Mon, 4 Sep 2017 13:13:41 +0000 (16:13 +0300)]
examples: Makefile.am: add ipcpipeline in SUBDIRS if enabled

7 years agoipcpipeline: cleanup header includes
George Kiagiadakis [Mon, 4 Sep 2017 13:00:02 +0000 (16:00 +0300)]
ipcpipeline: cleanup header includes

We are only using read(), write(), memcpy(), strlen() and errno
in ipcpipelinecomm.c. Everything else is glib/gstreamer.

7 years agoipcpipeline: use GstPoll instead of select() to watch for socket activity
George Kiagiadakis [Mon, 4 Sep 2017 12:52:03 +0000 (15:52 +0300)]
ipcpipeline: use GstPoll instead of select() to watch for socket activity

... and make that code more readable in the process

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

7 years agoexamples: ipcpipeline: get rid of yet another use of SOCK_NONBLOCK
George Kiagiadakis [Mon, 4 Sep 2017 07:39:58 +0000 (10:39 +0300)]
examples: ipcpipeline: get rid of yet another use of SOCK_NONBLOCK

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

7 years agoopencv: allow compilation against 3.3.0
Nicola Murino [Mon, 4 Sep 2017 06:30:58 +0000 (08:30 +0200)]
opencv: allow compilation against 3.3.0

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

7 years agoqt: Only include qtgui-config.h on qt >= 5.9.0
Edward Hervey [Fri, 1 Sep 2017 13:56:04 +0000 (15:56 +0200)]
qt: Only include qtgui-config.h on qt >= 5.9.0

The file does not exist in previous versions

7 years agotsdemux: Make jp2k handling more robust and efficient
Edward Hervey [Wed, 30 Aug 2017 06:37:04 +0000 (08:37 +0200)]
tsdemux: Make jp2k handling more robust and efficient

* Avoid copying the pending data and instead create a buffer directly from
  that data with the appropriate offset.
* Locate the jp2k magic to determine the exact location of the (first) frame
  data instead of assuming that the header is of an expected size

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

7 years agotsdemux: Handle quirk in jp2k es header handling
Edward Hervey [Tue, 29 Aug 2017 09:14:59 +0000 (11:14 +0200)]
tsdemux: Handle quirk in jp2k es header handling

The jp2k specification (ITU-T T.800) specifies that the 'brat' box
has two fields and the second one (AUF2) can be set to 0 for progressive
streams.

The problem is that the mpeg-ts specification (ITU-T H.222.0 06/2012)
says that the AUF2 field is only present if the stream is interlaced

In order to cope with both situation, accept those next 32bit if the
stream is marked as progressive and those bits contain 0

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

7 years agoexamples: ipcpipeline: do not use the linux-specific SOCK_NONBLOCK flag
George Kiagiadakis [Thu, 31 Aug 2017 12:07:45 +0000 (15:07 +0300)]
examples: ipcpipeline: do not use the linux-specific SOCK_NONBLOCK flag

Use fcntl() instead to set O_NONBLOCK, which is portable.

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

7 years agotests: ipcpipeline: provide pipe2() on systems that don't have it
George Kiagiadakis [Thu, 31 Aug 2017 11:57:34 +0000 (14:57 +0300)]
tests: ipcpipeline: provide pipe2() on systems that don't have it

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

7 years agoqt: the defines for QT_OPENGL_ES_2 have moved
Matthew Waters [Thu, 31 Aug 2017 04:40:44 +0000 (14:40 +1000)]
qt: the defines for QT_OPENGL_ES_2 have moved

Update the includes to account for that

7 years agoqt: ensure GL_DRAW_FRAMEBUFFER
Jochen Henneberg [Wed, 26 Apr 2017 11:50:41 +0000 (13:50 +0200)]
qt: ensure GL_DRAW_FRAMEBUFFER

7 years agotests: ipcpipeline: make the state_changes test more deterministic
George Kiagiadakis [Wed, 30 Aug 2017 15:11:27 +0000 (18:11 +0300)]
tests: ipcpipeline: make the state_changes test more deterministic

Watching the STATE_CHANGED messages is way more deterministic than
polling the state.

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

7 years agotests: ipcpipeline: fix broken exclusivity checks
George Kiagiadakis [Wed, 30 Aug 2017 13:37:21 +0000 (16:37 +0300)]
tests: ipcpipeline: fix broken exclusivity checks

In most cases we want to stop the pipeline just once, but we have
to do this from code that runs in the streaming threads and in case
we have multiple streams, we need to make sure that we do this only
once. The previous checks were broken, this should fix it.

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

7 years agotests: ipcpipeline: attempt to make tags test more deterministic
George Kiagiadakis [Wed, 30 Aug 2017 11:37:32 +0000 (14:37 +0300)]
tests: ipcpipeline: attempt to make tags test more deterministic

Instead of using a timeout and pushing the tags from an outside
thread, use a pad probe and push them from the streaming thread.

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