bin: Let gst_bin_send_event() send events to ghost pads as well
bin: query sink elements and source pads of the bin

gst_bin_query() now forwards the query to the source pads as well if
none of the sinks of the bin satisfied the query. This helps in the
case of DURATION queries done a bin containing a source element.

Fixes bug 638749
adapter: Add gst_adapter_prev_[pd]ts_at_offset()

Original patch written by Michael Smith <msmith@rdio.com>.

API: gst_adapter_prev_pts_at_offset()
API: gst_adapter_prev_dts_at_offset()
baseparse: add gst_base_parse_set_ts_at_offset()

Sets the buffer timestamps based on last seen timestamps at a
particular offset into the frame.

API: gst_base_parse_set_ts_at_offset()
baseparse: Fix doc typo
update exports for baseparse API changes
structure: Make sure that subsets have all fields of the superset

"video/x-h264,parsed=(boolean)true" is not a superset of
"video/x-h264,stream-format=(string)byte-stream,alignment=(string)nal"
for example.

https://bugzilla.gnome.org/show_bug.cgi?id=693365
bin: The latency query should return TRUE by default, different to other queries

Fixes unit test failures caused by f3d268de7f7fb1161778a9a95e0d54d8c89ef626
value: Remove set-style bitmask intersection/union/subtraction functions

Set operations on the bitmasks don't make much sense and result
in invalid caps when used as a channel-mask. They are now handled
exactly like integers.

This functionality was not used anywhere except for tests.

https://bugzilla.gnome.org/show_bug.cgi?id=691370
message: accept NULL error argument in gst_message_parse_{error,warning,info}

And simplify code a bit while at it.

https://bugzilla.gnome.org/show_bug.cgi?id=693704
docs: fix advanced-metadata code example in manual

https://bugzilla.gnome.org/show_bug.cgi?id=690751
docs: flesh out gst-launch-1.0 man page a little

Fix up default location of the registry.

Mention more options for GST_DEBUG (wildcards and
named debug levels).

Explain what to do with the dot files that can be
produced by setting GST_DEBUG_DUMP_DOT_DIR.

https://bugzilla.gnome.org/show_bug.cgi?id=693607
docs: flesh our 'Running GStreamer' bits a bit

https://bugzilla.gnome.org/show_bug.cgi?id=693607
gst-launch: Use g_unix_signal_add() to handle keyboard interruption

Current implementation uses a traditional signal handler and a 250ms
timeout callback in the event loop.  Adding a GSource with
g_unix_signal_add() to the GMainLoop is a much more elegant solution.
The signal handler with this approach can send a message to the bus
directly rather than set a flag as all dispatching intricacies are handled
by GLib.

https://bugzilla.gnome.org/show_bug.cgi?id=693481
utils: Use gst_pad_get_pad_template() in gst_element_get_compatible_pad_template()

motivation comes from: /* FIXME: why not gst_pad_get_pad_template (pad); */
this code path is quite nicer, we now only revert to creating the template
if gst_pad_get_pad_template fails.

with this fork, we gain a non-allocation of GstCaps *templcaps

https://bugzilla.gnome.org/show_bug.cgi?id=692508
docs: fix location in user's home directory where GStreamer looks for plugins

It's based on the xdg user data dir now in 1.0.
allocator: improve fallback copy function

Only use the allocator of the copied memory when we can use the default
_alloc function on it. Otherwise we will have to use the default
allocator for the copy.
Revert "utils: Use gst_pad_get_pad_template() in gst_element_get_compatible_pad_template()"

This reverts commit 1a1a9e143fb0e155d7627aa8e489cd5d04bc093c.

This breaks the pipelines/tagschecking unit test for some reason
(fakesrc ! capsfilter ! qtmux linking fails now). It might be
a bug in the unit test of course, but someone will need to
investigate this. Reverting for now.

https://bugzilla.gnome.org/show_bug.cgi?id=692508
buffer: add option to deep copy a buffer

Add a buffer copy flag to force a memory copy in all cases.
buffer: add since marker for new COPY_DEEP buffer flag