resindvd: Send stream-start event before anything else on the mpeg demuxer srcpads
tsdemux: fix program-number functionality

Setting the program-number property does not affect which program
is actually being demuxed.

Moving the initialization of the program_number from
gst_ts_demux_reset to gst_ts_demux_init seems to fix this issue.

https://bugzilla.gnome.org/show_bug.cgi?id=690934
tsdemux: disentangle requested program number from active program number

The program_number attribute was overloaded, trying to indicate both
the currently playing program, and the program requested via the
"program-number" property.  The end result was that setting the
property didn't work (see #690934).

I added a new requested_program_number field rather than reviving the
current_program_number field because it seemed this would result in
fewer changes overall and be less confusing.  It breaks symmetry with
the "program-number" property, but it retains parallels with the likes
of program->program_number.

Because gst_ts_demux_reset is called after the properties have been
parsed, requested_program_number is initialised in gst_ts_demux_init.
Whether this is exactly the right place, I don't know.
mpegvideoparse: Only map input buffer once

Instead of constantly map/unmapping it a bit everywhere, we pass along
to all functions the GstMapInfo.

Makes mpeg video frame parsing 6% faster

https://bugzilla.gnome.org/show_bug.cgi?id=702330
decklink: add "device-number" to select from multiple devices

https://bugzilla.gnome.org/show_bug.cgi?id=704505
decklink: actually enable decklinksink

https://bugzilla.gnome.org/show_bug.cgi?id=704505
hls: fix for assert failure when using encrypted HLS streams

When using an HLS encrypted stream, an assertion failure is thrown:
(gst-launch-1.0:31028): GLib-GObject-WARNING **: cannot register
existing type `GstFragment'

(gst-launch-1.0:31028): GLib-CRITICAL **: g_once_init_leave: assertion
`result != 0' failed

Eventually tracked this down to the call gst_fragment_new()
in function gst_hls_demux_decrypt_fragment.

The GstFragment class is defined in ext/hls/gstfragment.c and in
gst-libs/gst/uridownloader/gstfragment.c. Having two class definitions
with the same name causes the assert failure when trying to allocate
GstFragment. Deleting the version from hls and editing the
Makefile.am solves this assert failure.

https://bugzilla.gnome.org/show_bug.cgi?id=704555
h264parse: Don't abort on invalid streams

Just return an error
interlace: fix negotiation if filter caps are passed to query_caps

Make videotestsrc ! interlace ! $anything work again. Problem
was that upstream filter caps were passed which contained
interlace-mode=progressive, which doesn't intersect too well
with interlace's source pad template caps, leading to
not-negotiated errors.
dash: Add support for group-id in the stream-start event
hlsdemux: Add support for group-id in the stream-start event
resindvd: Add support for group-id in the stream-start event
mssdemux: Add support for group-id in the stream-start event
midiparse: Add support for group-id in the stream-start event
mpegdemux: Add support for group-id in the stream-start event
tsparse: Add support for group-id in the stream-start event
tsdemux: Add support for group-id in the stream-start event
mxfdemux: Add support for group-id in the stream-start event
decklink: Add support for group-id in the stream-start event
applemedia: add AudioToolbox based audio decoder