rtspconnection: Fix connection_poll()

* Only check for conditions we are interested in.
* Makes no sense to specify G_IO_ERR and G_IO_HUP in condition, they
  will always be reported if they are true.
* Do not create timed source if timeout is NULL.
* Correctly wait for sources to be dispatched, context_iteration() is
  not guaranteed to always block even if set to do so.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726641
rtspconnection: Fix minor memory leaks in error handling

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726642
mikey: add MIKEY parsing helpers

MIKEY is defined in RFC 3830 and is used to exchange SRTP encryption
parameters between a sender and a receiver in a secure way.
This library implements a subset of the features, enough to implement
RFC 4567, using MIKEY in SDP and RTSP.
docs: add MIKEY docs
rtsptransport: UDP is also default for SAVP and AVPF
mikey: fix return values of g_return_*
ximagesink: only extrapolate alpha mask for 32-bit depth

Instead of passing bogus alpha mask values when there's no alpha.

https://bugzilla.gnome.org/show_bug.cgi?id=727188
rtspconnection: add flush method

Add a method to set/unset the flushing state that makes _wait_backlog()
unlock.

See https://bugzilla.gnome.org/show_bug.cgi?id=725898
videodecoder: In reverse playback mode we need to finish the subclass after passing all frames to it
videodecoder: Log event types of events that are pushed downstream
videodecoder: Handle reverse playback with multiple GOPs per discont group properly

baseparse will reverse each GOP for us already, so the segment events can
be after our keyframe. Make sure to get it and all other relevant sticky
events before starting to decode.
videodecoder: Flush the decoder once per discont group, not once per keyframe
videodecoder: Always drain the decoder after a discont group in reverse playback mode
rtspconnection: Added gst_rtsp_watch_set_flushing to list.

Added gst_rtsp_watch_set_flushing to list in file
libgstrtsp.def
playbin: Drop reference to any source element in NULL state

Drop the reference instead of waiting for either finalize(), or
for a new source when reused. Everyone else already forgot about
the old source.
mikey: Fix the KEMAC payload

The KEMAC payload actually needs to have subpayloads and the key should
go into the KEY_DATA subpayload. Add support for subpayloads and
implement the KEY_DATA payload.
Add some pointers to the conversion functions that allow us to add
encryption and decryption later.
audiobasesink: clip start samples to match clipped start time

Clock slaving can clip start time to zero, giving us a shorted
duration than we originally got. To keep in sync, we must then
discard the samples falling before that zero timestamp.

This possibly fixes random distortion caused by constant PA
underflows which are never resynced.
videodecoder: do not deactivate the bufferpool, just unref

Videodecoder does late renegotiation, it will wait for the next
buffer before renegotiating its caps and bufferpool. It might happen
that downstream element switched from passthrough to non-passthrough
and sent a reconfigure upstream (that caused this renegotiation).
This downstream element will ask the video sink below for the bufferpool
with an allocation query and will get the same bufferpool that
videodecoder is holding, too.

When renegotiating, if videodecoder deactivates its bufferpool it
might be deactivating the bufferpool that some element downstream
is using and cause the pipeline to fail.

https://bugzilla.gnome.org/show_bug.cgi?id=727498
tools: update gst-play-1.0 man page
subtitleoverlay: Consider all caps for overlays, not just the first.

Check all supported caps on the overlay video pad, not just the
first of (possibly) many.