mpegts: Install generated headers

https://bugzilla.gnome.org/show_bug.cgi?id=720673
pkgconfig: Don't include libraries in the generic gst-plugins-bad pc file
mpegvideoparse: Fix documentation of GstMpegVideoSequenceScalableMode
mssdemux: avoid downloading not-linked streams

When a stream gets a not-linked return, it will be marked as so and
won't download any more new fragments until a reconfigure event
is received. This will make mssdemux expose all pads, but only download
fragments for the streams that are actually being used.

Relying on the pads being linked/unlinked isn't enough in this scenario
as there might be an input-selector downstream that is actually discarding
buffers for a given linked pad.

When streams are switching, the old active stream can be blocked because
input-selector will block not-linked streams. In case the mssdemux's
stream loop is blocked pushing a buffer to a full queue downstream it will
never unblock as the queue will not drain (input-selector is blocking).

In this scenario, stream switching will deadlock as input-selector is
waiting for the newly active stream data and the stream_loop that would
push this data is blocked waiting for input-selector.

To solve this issue, whenever an stream is reactivated on a reconfigure
it will enter into the 'catch up mode', in this mode it can push buffers
from its download thread until it reaches the currrent GstSegment's position.
This works because this timestamp will always be behind or equal to the maximum
timestamp pushed for all streams, after pushing data for this timestamp,
the stream will go back to default and be pushed sequentially from the main
streaming thread. By this time, the input-selector should have already
released the thread.

https://bugzilla.gnome.org/show_bug.cgi?id=711849
mssdemux: remove stream locks

Simplify the locking by using a single lock instead of having one
lock per stream. This still works and is simpler to maintain.
mssdemux: improve flow return handling

Handle different flow returns both from the streaming and the
downloading loops
mssdemux: Improve logging

Show the stream's pad on log messages to make easier to debug
issues in the multiple threads
mssdemux: remove the stream loop task

Download and push from the same task, makes code a lot simpler
to maintain. Also pushing from separate threads avoids deadlocking
when gst_pad_push blocks due to downstream queues being full
mssmanifest: store the language of the stream

https://bugzilla.gnome.org/show_bug.cgi?id=712358
mssdemux: push language code tag

https://bugzilla.gnome.org/show_bug.cgi?id=712358
mssdemux: track segments per stream

As streams now flow independently, the GstSegment needs to be put
on each stream so they can track the position of each one correctly
instead of being mixed in a single segment
mssdemux: make sure streams stop properly on cancelled

specially when the gst_task_join is waiting for the task
to go stop and the task itself sets its back to paused, causing
a deadlock on exit.
mssdemux: also generate caps from audiotag attribute

Some audio will have its audio format defined by the AudioTag
instead of the Fourcc. Fallback to using AudioTag if Fourcc
isn't available
mssdemux: fix segfault when trying to access codec_data

Check if codec_data was obtained before trying to use it to
prevent a segfault
directfb: Add hack to fix compile with broken DirectFB define

Compilation breaks because some versions of DirectFB redefine
__no_instrument_function__, which is used in the G_GNUC_NO_INSTRUMENT
macro.
applemedia: vtdec: remove silly stride requirement

This is legacy from the 0.10 times, and it isn't clear how it was useful back
then also.'
applemedia: corevideobuffer: fix for planar formats