playback-test: allow seeking outside of the range

For download buffer, allow seeking outside of the already downloaded
area.
alsa: Make clang happy with our g_strdup_vprintf() wrapper
oggmux: Fix typo in header include guard

clang does not like this.
playback-test: Fix types for comparisons

Storing a 64 bit integer in a 32 bit integer and then checking
for the error cases might not be ideal.

error: comparison of constant -9223372036854775808 with
expression of type 'guint' (aka 'unsigned int') is always true
videoconvert: Fix compiler warning in unit test

error: implicit conversion from enumeration type
'GstFormat' to different enumeration type 'GstVideoFormat'
videoscale: Fix compiler warning in unit test

error: implicit conversion from enumeration type
'GstFormat' to different enumeration type 'GstVideoFormat'
audiosrc: Fix typo in docs

We read *from* the audio device, not to it.
subtitleoverlay: Remove unused function
playbin: Fix memory leak in unit test
playbin: Fix memory leak in autoplugging code

We should not leak element factories ideally.
playbin: First try to get the pad's current caps, then query caps

The caps query might give us ANY caps while the pad has fixed caps
configured currently.
tests: Don't build disabled plugins' check tests

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723492
uridecodebin: Don't leak pad references
oggmux: properly flush when seeking at the beginning

Reset all internal status when collect pads forwards a flush-stop
from the pads to be able to start the stream again.
tools: gst-play: add volume control
playsink: Only remove the complete text chain if the text pad goes away

If the text pads does not go away we just set the overlay to silent, which
allows us to immediately re-enable subs later again. However before this
change we also released the streamsynchronizer text pads, which deadlocked
because there was still dataflow going on. Just do this only if we remove
the complete chain.

https://bugzilla.gnome.org/show_bug.cgi?id=683504
encodebin: refactor tests

Add a new test to demo how to get missing plugin message.
Split some tests that unneccesarily munge unrelated checks into one test.
audio: map channels=1,channel-mask=0 to MONO instead of NONE

Fixes problem in audioconvert, which would end up using
a mixmatrix when converting between different mono format
because it thinks MONO positioning is different from
unpositioned channels, which is not the case in this
special case. The mixmatrix would end up being 0.0 so
audioconvert would convert to silence samples.

https://bugzilla.gnome.org/show_bug.cgi?id=724509
audioconvert: never do mixing for 1->1 channel conversions

MONO and NONE position are the same, for example, but in
general there isn't much to do here for such a conversion.

Fixes problem in audioconvert, which would end up using
a mixmatrix when converting between different mono format
because it thinks MONO positioning is different from
unpositioned channels, which is not the case in this
special case. The mixmatrix would end up being 0.0 so
audioconvert would convert to silence samples.

https://bugzilla.gnome.org/show_bug.cgi?id=724509
playbin: Keep inputselector around until we release its pads

Otherwise there's an interesting race condition when we destroy
the inputselector (actually it will be destroyed later when its state
change message gets destroyed) and afterwards release its sinkpad.

This is the code path when the last channel is removed from the
input selector.

Gave this warning sometimes, for chained oggs or whenever else
we change decode groups:
GStreamer-CRITICAL **: Padname '':sink_0 does not belong to element inputselector0 when removing