playsinkconvertbin: only intersect with the filter at the end

Otherwise we might change some capsfeatures from ANY to the specific
value from the filter and do not filter those out in case the
sink doesn't support them

https://bugzilla.gnome.org/show_bug.cgi?id=734822
spec: add gst-device-monitor-1.0 to RPM .spec file

https://bugzilla.gnome.org/show_bug.cgi?id=734944
audiodecoder: Don't ignore ::start/stop return values
typefinding: tighten checks for 'freeform mp3' a little

Freeform mp3s typically have bitrates higher than the
otherwise max allowed rate. Prevents misdetection of
some truetype font files as mp3.

https://bugzilla.gnome.org/show_bug.cgi?id=732923
decodebin: Remove error case that resulted in two error messages

We already send one in gst_decode_bin_expose() for this case. Only
if we're unable to typefind the caps another error message is needed.
decodebin: Initialize local variables for every retry
decodebin: Include information from the error messages of tried but failed elements in the missing plugin errors
audiodecoder: Fix broken boolean expression

We can seek with end_type==NONE and end_type==SET && end_position=-1. The
check for end_type!=NONE made the second condition impossible.

CID 1226439
videodecoder: Fix broken boolean expression

We can seek with end_type==NONE and end_type==SET && end_position=-1. The
check for end_type!=NONE made the second condition impossible.

CID 1226440
playsinkconvertbin: setcaps() always returns TRUE and the return value is unused

Change it to a void return value. The caps are forwarded afterwards via
gst_pad_event_default() and not inside this function.

CID 1226477
rtspconnection: Protect readsrc, writesrc and controllsrc with a mutex

Fixes a crash when controlsrc, readsrc or writesrc are modified from
gst_rtsp_source_dispatch_read/write and gst_rtsp_watch_reset at the
same time.

https://bugzilla.gnome.org/show_bug.cgi?id=735569
riff: Recognize RF64 as RIFF file

https://bugzilla.gnome.org/show_bug.cgi?id=735631
encoding: remove assignment that's no longer needed

CID 1231980
textoverlay: remove code that can't be reached

If this code could ever be reached, it would leak
memory (CID 1231978), but gst_caps_get_features()
never returns NULL, so that can't happen.
oggdemux: accumulate base time

Base time should be accumulated so non flushing seeks have the expected base.
Not accumulating result in segments appearing as "too late" and so are not
played by the sink.

https://bugzilla.gnome.org/show_bug.cgi?id=735509
textoverlay: Don't hold any mutexes while calling negotiate

It's not done in any other code calling negotiate and will cause deadlocks
as it is sending events and queries in the pipeline.

Specifically this pipeline was deadlocking:
gst-launch-1.0 videotestsrc ! textoverlay ! textoverlay ! fakesink
oggdemux: don't set segment.base in pad_submit_packet()

Setting segment.base in the segment sent from gst_ogg_demux_handle_page() is
enough to ensure that chained oggs are played corretly (see bgo#706569).

Tweaking the base in gst_ogg_pad_submit_packet() as well result in delays when
playing a file with start != -1.

https://bugzilla.gnome.org/show_bug.cgi?id=735808
basetextoverlay: properly fallback to non-overlay caps

When downstream claims to accept the overlay meta but fails to
provide it in the allocation query, properly fallback to setting
a new caps without the overlay meta as that is not going to be used.

Only do this if the original caps doesn't have the overlay already,
otherwise there isn't much that can be done.

https://bugzilla.gnome.org/show_bug.cgi?id=735800
tests: textoverlay: add test to reproduce fakesink scenario

Adds a new test to textoverlay to make sure it can properly handle
elements that have ANY caps but fail to add the overlay meta in
the allocation query.

This test verifies that textoverlay won't use the caps features even
knowing that the overlay meta is accepted when querying the downstream
caps because it also needs downstream to confirm by putting the meta
in the allocation query.

https://bugzilla.gnome.org/show_bug.cgi?id=735800
decodebin: Include codec description for missing plugins in the error message

If we had plugins and an error occurred we only include the error message
caused by this, otherwise we will include the codec description as generated
from the caps.

This allows to detect which exact codec was missing instead of getting a
generic "no suitable decoders found" error message.