decodebin2: activate ghost pad before targetting

Activate the decodebin2 pad before setting the target. This makes sure
that the events are copied.
tcp: fix compilation with MSVC

error C2440 at line 165 of gsttcpserversink.c
type cast error: cannot convert from GSocket* to GstMultiSinkHandle
tools: gst-play: quit on Q or Esc key
theoraparse: Fix event handling

Send CAPS event before any SEGMENT events or any other events
that must come in order after the CAPS event.
decodebin2: copy sticky events
uridecodebin: copy sticky events
videodecoder: fix spelling error in debug message
videodecoder: make _release_frame external API

... so subclasses can release a frame all the way (also from frame list)
without having to pass through _finish_frame or _drop_frame.
The latter may not be applicable, or may or may not have already
been called for the frame in question.

See https://bugzilla.gnome.org/show_bug.cgi?id=693772
videodecoder: add new API to docs and defs
audiodecoder: use segment start as fallback ts if no other available

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=709965
convertframe: Fix trivial memory leak in debug statement

gst_element_get_name() requires the caller to g_free() the return value

https://bugzilla.gnome.org/show_bug.cgi?id=719850
audiodecoder: no fallback to segment start for reverse playback

See https://bugzilla.gnome.org/show_bug.cgi?id=709965
videoencoder: Return not-negotiated if we don't have caps when the first buffer arrives

Otherwise things like filesrc ! jpegenc ! fakesink just crash with
a segmentation fault because subclasses expect caps to be there.
videodecoder: Add API to allow subclasses to specify that they needs caps before any buffers
audiodecoder: Use FALSE instead of 0
theoradec: Use new gst_video_decoder_set_needs_format() API
videodec/enc: clear reconfigure flag if negotiate succeeds

So that it avoids to send an allocation query twice.
One from an early call to gst_video_encoder_negotiate from a
subclass, then one from gst_video_encoder_allocate_output_frame.
Which means that previously gst_video_encoder_negotiate was not
clearing the GST_PAD_FLAG_NEED_RECONFIGURE even on success.

Fixes bug https://bugzilla.gnome.org/show_bug.cgi?id=719684
audiodec/enc: clear reconfigure flag if negotiate succeeds

So that it avoids to send an allocation query twice.
One from an early call to gst_audio_encoder_negotiate from a
subclass, then one from gst_audio_encoder_allocate_output_buffer.
Which means that previously gst_audio_encoder_negotiate was not
clearing the GST_PAD_FLAG_NEED_RECONFIGURE even on success.

Fixes bug https://bugzilla.gnome.org/show_bug.cgi?id=719684
audiobasesink: handle the RESYNC flag

Also resync when a buffer with the RESYNC flag is seen.
docs: add missing files for distribution

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