rtsp: dispatch when initial buffer has data

When we have data in the inital buffer, dispath the read function to read it
even if the socket has no data to read.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702652
videodecoder: Fix drop frame handling at startup

In the unlikely case that the decoder drops a frame before the first
input frame is outputted, use the input segment (since it wasn't
carried over to the output segment yet)

https://bugzilla.gnome.org/show_bug.cgi?id=702502
pbutils: Add VP9 description
ogg: Add Daala support
ogg: The Daala headers are little endian, not big endian
audiodecoder: Don't return not-negotiated if flushing

If the pad is flushing after a failed negotiation, return GST_FLOW_FLUSHING.

https://bugzilla.gnome.org/show_bug.cgi?id=701763
rtsp: make read uncancelable when reading a message

When we start to read a message, we need to continue reading until the end of
the message or else we lose track and cause parse errors. Use a variable
may_cancel to avoid cancelation after we read the first byte until we have
the complete message.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=703088
rtpbasepayload: Do not leak the event when segment is delayed

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=703119
videotestsrc: do not leak lines

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=703177
xmptag: Add a debug category

Instead of using the default category
pbutils: descriptions: Allow smart codec tag handling

We already have internally the information on what type of stream (audio,
video, container, subtitle, ...) a certain caps is.
Instead of forcing callers to specify which CODEC_TAG category a certain
caps is, use that information to make a smart choice.

Does not break previous behaviour of gst_pb_utils_add_codec_description_to_tag_list
(if tag is specified it will be used, if caps is invalid it will be rejected,
...).

https://bugzilla.gnome.org/show_bug.cgi?id=702215
audioencoder: Don't return not-negotiated if flushing

If the pad is flushing after a failed negotiation, return
GST_FLOW_FLUSHING instead from finish_frame().

https://bugzilla.gnome.org/show_bug.cgi?id=701763
video(enc|dec)oder: Don't return not-negotiated if flushing

If the pad is flushing after a failed negotiation, return
GST_FLOW_FLUSHING instead from finish_frame().

https://bugzilla.gnome.org/show_bug.cgi?id=701763
typefind: avoid too low mpeg/ts probability on small amount of data

With the current test, we get into problems when we try to typefind
a MPEG stream from a small amount of data, which can happen when
we get data pushed from a HTTP source. We thus make a second test
to give higher probability if all the potential headers were either
pack or pes headers (ie, no potential header was unrecognized).

This fixes an issue with a MPEG1/MP2 stream being properly discovered
as video/mpeg from a file, but as audio/mpeg from souphttpsrc.

https://bugzilla.gnome.org/show_bug.cgi?id=703256
videoencoder: Send all pending events with type < CAPS before sending caps.

https://bugzilla.gnome.org/show_bug.cgi?id=703196
videodecoder: Send all pending events with type < CAPS before sending caps
pbutils: allow describing unfixed caps if they share the same media type

Caps description and missing plugin code does not really need caps to
be fixed, and indeed they may not be if giving encodebin unfixed caps
that correspond to an unknown encoder or muxer.

So we relax the check, and allow unfixed caps if all the structures
refer to the same media type.
playbin: Only intersect to check if a sink can handle raw caps

Doing a subset check requires fixed caps, which we might not have here.

https://bugs.webkit.org/show_bug.cgi?id=116042
playbin: Post an error message if a stream combiner doesn't return a request pad.
playbin: Improve debug output regarding sink selection