mpegtspacketizer: Handle early PTS conversion

When handling the PTS/DTS conversion in new groups, there's a possibility
that the PTS might be smaller than the first PCR value observed, due to
re-ordering.

When using the current group, only apply the wraparound correction when we
are certain it is one (i.e. differs by more than a second) and not when it's
just a small difference (like out-of-order PTS).

https://bugzilla.gnome.org/show_bug.cgi?id=731088
mpegtspacketizer: Fix duration evaluation in push mode

When working in push mode, we need to be able to evaluate the duration
based on a single group of observations.

To do that we use the current group values
mpegtspacketizer: Fix debug statement
tsdemux: Remove unused variable

The seeksegment was no longer used since the switch to calculating segments
when we see data.
mpegtspacketizer: Use first group for handling reference pcr

If _set_current_pcr_offset gets called after a flushing seek, we ended
up using the current group for delta calculation ... whereas we should
be using the first group to calculate shifts.

Also add an early exit if there are no changes to apply
glimagesink: replace pointer properties with signals

Based on patch by Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

https://bugzilla.gnome.org/show_bug.cgi?id=704507
gl/examples: Port to using signals instead of properties

Based on patch by Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

https://bugzilla.gnome.org/show_bug.cgi?id=704507
glmixer: lock the size of mix->frames to the number of pads

Fixes a segfault with decodebin ! glmixer where the request pads on
both sides were being requested after the state change to PAUSED.

Also fixes dynamically adding and removing pads while glmixer is
in a state >= PAUSED.
glfilterapp: remove the reshape/draw properties

The reshape property was never used.
Replace the draw property with a signal.

Based on patch by Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

https://bugzilla.gnome.org/show_bug.cgi?id=704507
gl/examples: add the srcdir and builddir includes

And remove references to $(GST_PLUGINS_GL_*)
gl/examples: remove spurious include for doublecube example
gl/examples: add GST_PLUGINS_BASE_CFLAGS
glmixer: send the stream-start event

and the caps event after.

https://bugzilla.gnome.org/show_bug.cgi?id=730944
codecparsers: add C++ guards for MPEG-4 and VP8 parsers.

Fix MPEG-4 and VP8 APIs to export their external symbols as pure C
symbols, i.e. un-mangled for C++.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
codecparsers: h264: fix quantization matrix conversion routine names.

Fix routine names for zigzag/raster scan order conversion routines for
quantization matrices. This ought to use the gst_h264_quant_matrix_*()
naming convention instead of gst_h264_video_quant_matrix_*(), which
derived from the MPEG-2 function names.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
aiffparse: bail out early when bytes per sample is not set

This should always be set for valid files when we get there,
and checking this avoids having ad hoc checks further down
in several places.

Coverity 1139698
hls: fix build with GLib 2.32

Provide internal copy of g_list_copy_deep() until we
bump the GLib requirement.

https://bugzilla.gnome.org/show_bug.cgi?id=731555
dvbsrc: do not try to close negative file descriptors

Interestingly, Coverity implies that close takes an unsigned
argument, while my close(2) man page shows it taking a signed
argument. I guess it may be platforms specific.

Coverity 1214602
tsdemux: implement proper seeking for h264 streams.

Co-Authored by: Thibault Saunier <tsaunier@gnome.org>

From a high level perspective, the new process for seeking h264
streams is as follows:

1) Rewind the stream until we find the first I-slice of a frame,
   and mark its offset in the stream.
2) Rewind the stream until we find SPS and PPS informations,
   to make sure the subsequent parser is up to date.
3) Accumulate optionnal SEI NAL units on the way.
4) Push the SPS, PPS and SEI units before the new keyframe.

https://bugzilla.gnome.org/show_bug.cgi?id=675132
gl/examples: update for TEXTURE_2D change