pbutils: fix missing plugin description for missing elements

CID: 1226445
decodebin: Consider the caps after the capsfilter after parsers for autoplugging

Otherwise we might try to continue autoplugging e.g. for a specific
stream-format although the parser could convert to something else, thus giving
us potentially less options for decoders.
decodebin: Only continue autoplugging once the pad has final caps

If the caps query returned us fixed caps this doesn't mean yet
that these caps are actually complete (fields might be missing).

It allows to do us some decisions, but the selection of the next
element should be delayed as only complete caps allow proper selection
of the next element.
decodebin: Remove ERROR message filter after we set the element to PAUSED

This allows us to catch more errors gracefully and switch to an alternative
element instead.
decodebin: Only link elements further after setting them to PAUSED

They might fail to go to PAUSED, and when connecting them further
we might already expose their srcpads on decodebin if we're unlucky.
This prevents us to handle failures going to PAUSED gracefully.
decodebin: Send sticky events to the new element after setting it to PAUSED

... and if this fails for whatever reason we skip the element and instead
try with the next element. This allows us to handle elements that fail
when setting caps on them by just skipping to the next alternative element.
decodebin: Link Parser/Converter directly and already connect to pad-added and other signals before setting elements to PAUSED

otherwise we're going to
a) start Parser/Converter before they are linked to their capsfilter,
   breaking their negotiation of a proper stream format
b) start demuxers without having connected to their pad-added signals. We
   miss pads and in the worst case don't link any pads at all
playbin-complex: Change template name from %d to the more common %u
playbin: Create new sources after chaining up to the parent class

Otherwise we start the new sources already before the parent class
got ready to start.
uridecodebin: Create new sources after chaining up to the parent class

Otherwise we start the new sources already before the parent class
got ready to start.
playbin: Fix unit test for last change

It will successfully asynchronously go to PAUSED now and
later fail.
videodecoder: Handle CAPS events immediately instead of delaying them

https://bugzilla.gnome.org/show_bug.cgi?id=733147
audiodecoder: Handle CAPS events immediately instead of delaying them

https://bugzilla.gnome.org/show_bug.cgi?id=733147
discoverer: prettier image tag printing

Rather than dumping the serialized sample value, the code now
prints the number of bytes in the buffer, then the caps in a
human-readable format.

https://bugzilla.gnome.org/show_bug.cgi?id=733482
discoverer: Fix code style a bit

if (...)
  one_line;
else if (...) {
  many_lines;
} else
  one_line;

looks a bit confusing.
discoverer: Pretty-print topology tags

Call the code used in properties for topology tags too.
Side-effect achieved: more tags printed, buffers (e.g. images) shortened.
uridecodebin: Go asynchronously from READY to PAUSED

We now add all our elements to uridecodebin *after*
GstBin::change_state(READY->PAUSED), so we need to post async-start
and async-done messages ourselves if we want to work async.

https://bugzilla.gnome.org/show_bug.cgi?id=733495
playbin: Go asynchronously from READY to PAUSED

We now add all our elements to uridecodebin *after*
GstBin::change_state(READY->PAUSED), so we need to post async-start
and async-done messages ourselves if we want to work async.

https://bugzilla.gnome.org/show_bug.cgi?id=733495
decodebin: Don't unref caps for which we don't own a reference... get one first

https://bugzilla.gnome.org/show_bug.cgi?id=733615
videoencoder: Don't delay set_format

This prevent implementing allocation query, as the format need to be
known in order to determin the size and number of buffers needed.

Note: This may lead to few regressions that will need fixing

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