pipeline: Reset start time in READY->PAUSED before chaining up

Otherwise bin will change the state of the child elements without
distributing the new start time.
pipeline: Reset the start time when going from PAUSED to READY too
pipeline: Add unit test for resetting of the start time

Also check if this properly affects basesink elements to not
report the old start time but the real current position when
setting to PAUSED again.
funnel: Fix for racy EOS event handling

When eos events are forwarded simultaneouly from two sinkpads on
funnel, it doesnot forward the eos to sourcepad. The reason is
sticky events are stored after the event callbacks are returned.
Therefore while one is about to store the sticky events on the its
sinkpad, other sinkpad starts checking for the eos events on all other
sinkpads and assumes eos is not present yet.

https://bugzilla.gnome.org/show_bug.cgi?id=732851
gstvalue: add GstTagList compare function

When serializing GstStructures from events in GDP it will add a taglist
as a GstStructure field, having the compare function allows comparison of
GstStructures to check if the serialized/deserialized version matches the
original one, among other cases.

https://bugzilla.gnome.org/show_bug.cgi?id=733131
tests: gststructure: serialization of tag event structure

Adds a test that checks that the serialization of a tag event structure
works without problems

https://bugzilla.gnome.org/show_bug.cgi?id=733131
tests: taglist: add basic test for taglists serialization

Make sure it works with empty taglists
tests: tag: add the empty taglist serialization test

Adds the test to the appropriate and already existing file.
Revert "tests: taglist: add basic test for taglists serialization"

This reverts commit 85d23d19b7de40541d63b0bc76d8b646c321af26.

There was already a gsttag.c tests file, this test has been merged
in it in the previous commit
scripts: Use git pull --rebase

No point introducing redundant merge commits.
private: allow internal access to the debug base-time

Moving the extern to the head lets us access this from other parts as well. This
is neeed in the tracer branch.
bufferlist: pre-allocate buffer array in one go with the buffer list

We can now create and free a buffer list with one slice alloc/free
call in most cases, instead of one slice alloc/free for the list,
one slice alloc/free for the GArray, and one malloc/free for the
GArray array. In practice we know the max size of our buffer list
from the start, so can avoid reallocs.

https://bugzilla.gnome.org/show_bug.cgi?id=732284
bytereader: add gst_byte_reader_masked_scan_uint32_peek

Adds gst_byte_reader_masked_scan_uint32_peek just like
GstAdapter has a _peek and non _peek version

Upgraded tests to check that the returned value is correct in the
_peek version

API: gst_byte_reader_masked_scan_uint32_peek

https://bugzilla.gnome.org/show_bug.cgi?id=728356
typefindelement: remove prototype for function that no longer exists
gst: include atomicqueue.h again in gst.h

It's a public header of gstreamer core, so #include <gst/gst.h>
should make the API available.
poll: Prevent false-negative from WAKE_EVENT() on W32

SetEvent() seems to not call SetLastError(0) internally, so checking last
error after calling SetEvent() may return the error from an earlier W32 API
call. Fix this by calling SetlastError(0) explicitly.

Currently WAKE_EVENT() code is cramped into a macro and doesn't look to be
entirely correct. Particularly, it does not check the return value of
SetEvent(), only the thread-local W32 error value. It is likely that SetEvent()
actually just returns non-zero value, but the code mistakenly thinks that the
call has failed, because GetLastError() seems to indicate so.

https://bugzilla.gnome.org/show_bug.cgi?id=733805
gst-launch: Support SIGINT (Ctrl+C) on W32

W32 has no SIGINT, but it does have SetConsoleCtrlHandler(), which sets up
a handler for Ctrl+C.

https://bugzilla.gnome.org/show_bug.cgi?id=733814
parse: Unref reference to enclosing bins

Previously all reference to enclosing bins of an element were leaked
when doing delaying setting a property.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=733697
multiqueue: avoid using infinite buffers limit if finite is requested

If the current max-buffers limit it infinite and a finite value is
requested, switch to the MAX (requested, current-value) to set some
limit but not below what we know that we've needed so far.

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

https://bugzilla.gnome.org/show_bug.cgi?id=733837
bufferpool: Add missing error checking to default_alloc_buffer()

default_alloc_buffer() calls gst_buffer_new_allocate() but does not check for
failed allocation.

This patch makes default_alloc_buffer() return an error (GST_FLOW_ERROR) if
buffer allocation fails.

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