platform/upstream/gstreamer.git
10 years agoaudiomixer: Don't take channel mask in consideration in mono or stereo
Sebastian Dröge [Wed, 6 Nov 2013 14:50:08 +0000 (15:50 +0100)]
audiomixer: Don't take channel mask in consideration in mono or stereo

This could cause negotiation to fail.

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

10 years agoaudiomixer: Add test to the .gitignore file
Sebastian Dröge [Wed, 6 Nov 2013 14:31:31 +0000 (15:31 +0100)]
audiomixer: Add test to the .gitignore file

10 years agoaudiomixer: Add simply synchronization test
Sebastian Dröge [Wed, 6 Nov 2013 14:18:58 +0000 (15:18 +0100)]
audiomixer: Add simply synchronization test

10 years agoaudiomixer: Add new element based on adder that does synchronized audio mixing
Sebastian Dröge [Wed, 6 Nov 2013 14:18:50 +0000 (15:18 +0100)]
audiomixer: Add new element based on adder that does synchronized audio mixing

10 years agoAutomatic update of common submodule
Tim-Philipp Müller [Tue, 5 Nov 2013 11:19:37 +0000 (11:19 +0000)]
Automatic update of common submodule

From 865aa20 to dbedaa0

10 years agoeglglessink: Query upstream first to get a EGLDisplay
Sebastian Dröge [Mon, 4 Nov 2013 18:58:35 +0000 (19:58 +0100)]
eglglessink: Query upstream first to get a EGLDisplay

10 years agoapplemedia-nonpublic: Link with gmodule for g_module_open() and others
Sebastian Dröge [Mon, 4 Nov 2013 09:04:59 +0000 (10:04 +0100)]
applemedia-nonpublic: Link with gmodule for g_module_open() and others

10 years agoapplemedia: Link with gmodule for g_module_open() and others
Sebastian Dröge [Mon, 4 Nov 2013 09:04:42 +0000 (10:04 +0100)]
applemedia: Link with gmodule for g_module_open() and others

10 years agoconfigure: Always define AM_CONDITIONAL USE_EGLGLES
Sebastian Dröge [Fri, 1 Nov 2013 21:32:32 +0000 (22:32 +0100)]
configure: Always define AM_CONDITIONAL USE_EGLGLES

10 years agocurl: curlsftpsink - new libcurl-based sink element for SFTP
L. Sorin [Fri, 4 Oct 2013 10:48:10 +0000 (12:48 +0200)]
curl: curlsftpsink - new libcurl-based sink element for SFTP

Note: SFTP = SSH File Transfer Protocol
The sink acts as a client and uploads data to the SFTP server.

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

10 years agocdaudio: Remove cdaudio plugin
Reynaldo H. Verdejo Pinochet [Thu, 31 Oct 2013 20:36:25 +0000 (13:36 -0700)]
cdaudio: Remove cdaudio plugin

This element is being removed due to it been
considered obsolete and the functionaily it
provides no longer needed.

Details on the decision can be found here:

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

Fixes:

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

10 years agoyadif: Fix compiler warning caused by specifying const twice
Sebastian Dröge [Fri, 1 Nov 2013 09:41:16 +0000 (10:41 +0100)]
yadif: Fix compiler warning caused by specifying const twice

  yadif.c:49:24: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier]
  DECLARE_ASM_CONST (16, const xmm_reg, pb_1) = {
                       ^
  yadif.c:33:50: note: expanded from macro 'DECLARE_ASM_CONST'
  #define DECLARE_ASM_CONST(n,t,v)    static const t __attribute__((used)) __attribute__ ((aligned (n))) v
                                                 ^
  yadif.c:52:24: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier]
  DECLARE_ASM_CONST (16, const xmm_reg, pw_1) = {
                       ^
  yadif.c:33:50: note: expanded from macro 'DECLARE_ASM_CONST'
  #define DECLARE_ASM_CONST(n,t,v)    static const t __attribute__((used)) __attribute__ ((aligned (n)))

10 years agoyadif: Fix build with XCode
Sebastian Dröge [Fri, 1 Nov 2013 09:40:06 +0000 (10:40 +0100)]
yadif: Fix build with XCode

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

10 years agoh264parse: Remove the explicit PAR calculation based on VUI headers
Sreerenj Balachandran [Mon, 28 Oct 2013 13:04:16 +0000 (15:04 +0200)]
h264parse: Remove the explicit PAR calculation based on VUI headers

The PAR calculation based on VUI headers is already doing by the
h264 codecparser and we does't need to duplicate those code.

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

10 years agorotate: Fix angle property help text
Antonio Ospite [Thu, 17 Oct 2013 10:05:44 +0000 (12:05 +0200)]
rotate: Fix angle property help text

The help text of the angle property was probably copied from the circle
plugin, fix it to mention the rotation determined by the angle.

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

10 years agocdaudio: port to 1.X
Reynaldo H. Verdejo Pinochet [Thu, 31 Oct 2013 01:48:08 +0000 (18:48 -0700)]
cdaudio: port to 1.X

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

10 years agoandroidmedia: fix rank for more software decoders
Andoni Morales Alastruey [Wed, 30 Oct 2013 17:25:50 +0000 (18:25 +0100)]
androidmedia: fix rank for more software decoders

In Galaxy S4 the codecs list contains some OMX.SEC.foo.sw.dec
as software decoders

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

10 years agogeometrictransform: Fix setting black background for AYUV buffers
Antonio Ospite [Thu, 17 Oct 2013 10:53:31 +0000 (12:53 +0200)]
geometrictransform: Fix setting black background for AYUV buffers

When the frame buffer is AYUV writing all zeros does not set it to
black, in YUV colorspace 0x10 is the black level for luminance and 0x80
is the black level for chrominance.

Fix setting the background to black when the out_frame format is AYUV;
in all the other supported formats zeroing the data with memset is still
the right thing to do.

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

10 years agoapplemedia-nonpublic: fix plugin name
Matthieu Bouron [Wed, 23 Oct 2013 22:34:27 +0000 (23:34 +0100)]
applemedia-nonpublic: fix plugin name

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

10 years agovtenc: use proper release callback type in CVPixelBufferCreateWithPlanarBytes
Matthieu Bouron [Wed, 23 Oct 2013 16:22:16 +0000 (17:22 +0100)]
vtenc: use proper release callback type in CVPixelBufferCreateWithPlanarBytes

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

10 years agoavfvideosrc: fix truncated line
Matthieu Bouron [Fri, 20 Sep 2013 23:20:36 +0000 (00:20 +0100)]
avfvideosrc: fix truncated line

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

10 years agoeglglessink: remove unused functions in the eagl backend
Andoni Morales Alastruey [Wed, 30 Oct 2013 15:20:56 +0000 (16:20 +0100)]
eglglessink: remove unused functions in the eagl backend

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

10 years agoandroidmedia: fix access to invalid buffers in the decoding loop
Andoni Morales Alastruey [Fri, 18 Oct 2013 09:54:12 +0000 (11:54 +0200)]
androidmedia: fix access to invalid buffers in the decoding loop

Flushing the decoder invalidates all buffers, so it should be done
after quiting the decoding loop. Otherwise we can jump into
"failed_release" and stop everything

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

10 years agoh264parse: Unify value setting
Edward Hervey [Mon, 28 Oct 2013 08:33:47 +0000 (09:33 +0100)]
h264parse: Unify value setting

the initial par_n = par_d = 0; was always overwritten since the switch/case
handles all values

And remove the 0 case (it's the same handling as default)

10 years agoh264parse: Avoid ending up with undefined values
Edward Hervey [Mon, 28 Oct 2013 08:33:16 +0000 (09:33 +0100)]
h264parse: Avoid ending up with undefined values

If caps aren't fixed, we'd end up with undefined values for format
and align.

10 years agotsdemux: Demote GST_ERROR to GST_WARNING
Edward Hervey [Fri, 11 Oct 2013 09:23:16 +0000 (11:23 +0200)]
tsdemux: Demote GST_ERROR to GST_WARNING

discontinuities are not errors per-se and we handle them correctly.

10 years agohlsdemux: fix memory leak in gst_hls_demux_get_next_fragment
Alex Ashley [Fri, 25 Oct 2013 10:11:30 +0000 (11:11 +0100)]
hlsdemux: fix memory leak in gst_hls_demux_get_next_fragment

This patch fixes three memory leaks in hlsdemux, one that occurs
during normal operation and two that occur during error conditions.

The gst_hls_demux_get_next_fragment function calls
gst_fragment_get_buffer which increments the reference count
on the buffer but gst_hls_demux_get_next_fragment never calls unref on
the buffer. This means that the reference count for each downloaded
fragment never gets to zero and so its memory is never released.

This patch adds a call to gst_buffer_unref after the flags have been
updated on the buffer.

There is a leak-on-error in gst_hls_demux_decrypt_fragment if it fails
to download the key file. If the key fails to download, null is
returned without doing an unref on the encrypted fragment. The
semantics of gst_hls_demux_decrypt_fragment is that it takes ownership
of the encrypted fragment and releases it before returning.

There is a leak-on-error in gst_hls_src_buf_to_utf8_playlist in the
unlikely event that the gst_buffer_map fails. In the "happy path"
operation of gst_hls_src_buf_to_utf8_playlist the buffer gets an unref
before the function returns, therefore the error condition must do the
same.

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

10 years agompegtsmux: fix uninitialized variable warning
Matthieu Bouron [Wed, 23 Oct 2013 16:11:20 +0000 (17:11 +0100)]
mpegtsmux: fix uninitialized variable warning

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

10 years agompegtsdemux: fix uninitialized variable warning
Matthieu Bouron [Wed, 23 Oct 2013 15:58:49 +0000 (16:58 +0100)]
mpegtsdemux: fix uninitialized variable warning

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

10 years agoandroidmedia: make gst_amc_avc_profile_from_string recognize alt name
Chen Jie [Fri, 18 Oct 2013 02:12:56 +0000 (10:12 +0800)]
androidmedia: make gst_amc_avc_profile_from_string recognize alt name

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

10 years agopitch: Fix inverted condition in setcaps
Olivier Crête [Sat, 12 Oct 2013 20:04:25 +0000 (16:04 -0400)]
pitch: Fix inverted condition in setcaps

10 years agompegtspacketizer: Skip packets with corrupted length
Edward Hervey [Fri, 11 Oct 2013 08:32:52 +0000 (10:32 +0200)]
mpegtspacketizer: Skip packets with corrupted length

This is similar to what we do for packets with payload

10 years agotsdemux: Refactor language tag extraction
Edward Hervey [Fri, 11 Oct 2013 08:29:20 +0000 (10:29 +0200)]
tsdemux: Refactor language tag extraction

subtitling descriptor needs to be used with a different method to extract
language codes.

10 years agompegts: Add support for parsing DVB Subtitling descriptor (0x59)
Edward Hervey [Fri, 11 Oct 2013 08:21:25 +0000 (10:21 +0200)]
mpegts: Add support for parsing DVB Subtitling descriptor (0x59)

Essentially works in the same vein as the iso639 descriptor code

10 years agompegts: Fix assertion fault in ISO 639 parsing
Jesper Larsen [Thu, 10 Oct 2013 20:46:48 +0000 (22:46 +0200)]
mpegts: Fix assertion fault in ISO 639 parsing

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

10 years agospeed: Fix some bytes-per-frame vs. bytes-per-sample mixups
Sebastian Dröge [Wed, 9 Oct 2013 15:18:41 +0000 (17:18 +0200)]
speed: Fix some bytes-per-frame vs. bytes-per-sample mixups

Otherwise we will crash when handling multiple channels and
miscalculate timestamps.

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

10 years agoconfigure: Make sure to try window-system-agnostic EGL if nothing was auto-detected
Sebastian Dröge [Tue, 8 Oct 2013 09:10:49 +0000 (11:10 +0200)]
configure: Make sure to try window-system-agnostic EGL if nothing was auto-detected

10 years agompegpsdemux: log time format as name instead of the number
Stefan Sauer [Tue, 8 Oct 2013 05:56:11 +0000 (07:56 +0200)]
mpegpsdemux: log time format as name instead of the number

10 years agoegl: Allow disabling gstreamer-egl library
Gilles Dartiguelongue [Sun, 6 Oct 2013 15:37:38 +0000 (17:37 +0200)]
egl: Allow disabling gstreamer-egl library

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

10 years agotsdemux: Use mpegts-lib for ISO 639 language tags
Jesper Larsen [Sat, 5 Oct 2013 12:45:33 +0000 (14:45 +0200)]
tsdemux: Use mpegts-lib for ISO 639 language tags

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

10 years agotsdemux: Return descriptor in get_descriptor
Jesper Larsen [Sat, 5 Oct 2013 12:45:32 +0000 (14:45 +0200)]
tsdemux: Return descriptor in get_descriptor

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

10 years agompegts: Add ISO 639 parsing functions
Jesper Larsen [Sat, 5 Oct 2013 12:45:31 +0000 (14:45 +0200)]
mpegts: Add ISO 639 parsing functions

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

10 years agodvdspu: handle sticky dvd events
Matej Knopp [Fri, 4 Oct 2013 22:00:52 +0000 (00:00 +0200)]
dvdspu: handle sticky dvd events

palette-changed events are now sticky.

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

10 years agohlsdemux: Small improvement on always valid if condition
Thiago Santos [Thu, 3 Oct 2013 10:57:17 +0000 (07:57 -0300)]
hlsdemux: Small improvement on always valid if condition

No need to check for !cancelled as the above if guarantees it
to be true

10 years agohlsdemux: Do not call _stop holding the updates lock
Thiago Santos [Thu, 3 Oct 2013 10:56:21 +0000 (07:56 -0300)]
hlsdemux: Do not call _stop holding the updates lock

It will cause a deadlock and the calers for _get_next_fragment
will already call _stop if required when _get_next_fragment fails.

Fixes #690148

10 years agodashdemux: Improve if cause readability
Greg Rutz [Wed, 12 Jun 2013 16:50:51 +0000 (10:50 -0600)]
dashdemux: Improve if cause readability

Fixed up the error-handling code when downloading fragments.
Modifed the error-handling code to use positive logic when
testing for cancellation of the download loop.

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

10 years agodashdemux: actually return true on latency query
Thiago Santos [Thu, 26 Sep 2013 20:05:24 +0000 (17:05 -0300)]
dashdemux: actually return true on latency query

Do not forget to set the return for latency query

10 years agodashdemux: stop fetching live fragments that don't yet exist
Alex Ashley [Thu, 26 Sep 2013 19:13:33 +0000 (16:13 -0300)]
dashdemux: stop fetching live fragments that don't yet exist

There is an issue for live streams where download_loop will keep
downloading segments until it gets a 404 error for a segment
that has not yet been published. This is a problem because this
request for a segment that doesn't exist will propagate all the
way back to the origin server(s). This means that dashdemux causes
extra load on the origin server(s) for segments that aren't yet
available.

This patch uses availabilityStartTime, period
and the host's idea of UTC to decide if a fragment is available to
be requested from an HTTP server and filter out requests for fragments
that are not yet available.

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

10 years agoh264parse: Fix conversion to AVC if a SPS/PPS not from the first indizes is used
Sebastian Dröge [Thu, 3 Oct 2013 11:26:06 +0000 (13:26 +0200)]
h264parse: Fix conversion to AVC if a SPS/PPS not from the first indizes is used

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

10 years agoopenjpeg: Port OpenJPEG plugin to the 2.0 API
Sebastian Dröge [Wed, 2 Oct 2013 08:55:30 +0000 (10:55 +0200)]
openjpeg: Port OpenJPEG plugin to the 2.0 API

10 years agovtenc: Add support for I420
Dominik Röttsches [Wed, 2 Oct 2013 02:49:43 +0000 (05:49 +0300)]
vtenc: Add support for I420

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

10 years agovtenc: Use correct strides, etc from the GstVideoFrame
Dominik Röttsches [Wed, 2 Oct 2013 02:49:34 +0000 (05:49 +0300)]
vtenc: Use correct strides, etc from the GstVideoFrame

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

10 years agocodecparsers: h264: store quantization matrices in zig-zag order
Sreerenj Balachandran [Tue, 20 Aug 2013 14:03:38 +0000 (17:03 +0300)]
codecparsers: h264: store quantization matrices in zig-zag order

Quantizer matrices are encoded in zigzag scan order in the bitstream,
so always parse it as it is.

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

10 years agowin32: update with the new file libgstcodecparsers.def
Sreerenj Balachandran [Wed, 2 Oct 2013 08:40:05 +0000 (11:40 +0300)]
win32: update with the new file libgstcodecparsers.def

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

10 years agocodecparsers: h264: add helpers to convert quantization matrices
Sreerenj Balachandran [Wed, 2 Oct 2013 08:24:58 +0000 (11:24 +0300)]
codecparsers: h264: add helpers to convert quantization matrices

Add utility functions to convert quantization matrices from zig-zag scan
order into raster scan order and vice-versa

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

10 years agoAdd gstreamer-mpegts pkg-config file.
Brendan Long [Mon, 30 Sep 2013 21:32:55 +0000 (15:32 -0600)]
Add gstreamer-mpegts pkg-config file.

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

10 years agoopencv: don't unref NULL caps in finalize
Tim-Philipp Müller [Sun, 29 Sep 2013 22:43:23 +0000 (23:43 +0100)]
opencv: don't unref NULL caps in finalize

Fixes gst-inspect-1.0 -a and generic states unit test.

10 years agoiosassetsrc: Port to 1.0 and fix some bugs on the way
Sebastian Dröge [Thu, 26 Sep 2013 11:37:09 +0000 (13:37 +0200)]
iosassetsrc: Port to 1.0 and fix some bugs on the way

10 years agoiosassetsrc: Add new element from the GStreamer SDK project
Andoni Morales Alastruey [Thu, 26 Sep 2013 11:21:59 +0000 (13:21 +0200)]
iosassetsrc: Add new element from the GStreamer SDK project

10 years agoeglglessink: Port iOS part to 1.0
Sebastian Dröge [Mon, 23 Sep 2013 12:36:40 +0000 (14:36 +0200)]
eglglessink: Port iOS part to 1.0

10 years agoconfigure: Fix iOS check for eglglessink
Sebastian Dröge [Mon, 23 Sep 2013 11:20:46 +0000 (13:20 +0200)]
configure: Fix iOS check for eglglessink

10 years agoapplemedia: avfvideosrc is not ported to 1.0 yet
Sebastian Dröge [Mon, 23 Sep 2013 09:35:56 +0000 (11:35 +0200)]
applemedia: avfvideosrc is not ported to 1.0 yet

10 years agoliveadder: round when calculation length from duration
Michael Olbrich [Wed, 18 Sep 2013 15:51:26 +0000 (17:51 +0200)]
liveadder: round when calculation length from duration

liveadder sometimes calculates the offsets incorrectly before adding. The
resulting errors can easily be heard when mixing silence with a sine.
I'm not sure what the exact conditions are to trigger this, but it definitively
happens when the buffers of two streams have a different duration and buffer
length and duration don't match exactly for one stream because of rounding
errors (e.g.  duration=0:00:00.021333333)

I have to admit, I got lost in the math somewhere but it seems that not
rounding in gst_live_adder_length_from_duration() causes 1 sample overlaps in
consecutive buffers from the same stream.
When using gst_util_uint64_scale_int_round() instead of just truncating the
sine sound correctly again.

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

10 years agohlssink: Use floats for the EXTINF duration values
Javier Jardón [Wed, 25 Sep 2013 14:22:12 +0000 (15:22 +0100)]
hlssink: Use floats for the EXTINF duration values

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

10 years agohlssink: Write EXT-X-VERSION tag in the playlist file
Javier Jardón [Wed, 25 Sep 2013 14:18:39 +0000 (15:18 +0100)]
hlssink: Write EXT-X-VERSION tag in the playlist file

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

10 years agocheck: Update uvch264demux for behaviour change
Edward Hervey [Thu, 19 Sep 2013 12:53:46 +0000 (14:53 +0200)]
check: Update uvch264demux for behaviour change

Since 006e7a3428bd097fc6e6c648332bff583dd434f9 we no longer error out on
incomplete aux segment.

10 years agompegts: Add SCTE/EISS sections and table types
Steve Maynard [Fri, 27 Sep 2013 14:45:00 +0000 (14:45 +0000)]
mpegts: Add SCTE/EISS sections and table types

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

10 years agotsdemux: Wait for valid PCR/offset obvervations
Edward Hervey [Mon, 29 Jul 2013 06:10:07 +0000 (08:10 +0200)]
tsdemux: Wait for valid PCR/offset obvervations

It is quite possible that we might get PTS/DTS before the first
PCR/Offset observation.

In order to end up with valid timestamp we wait until at least one
stream was able to get a proper running-time for any PTS/DTS.
Until then, we queue up the pending buffers to push out.

Once we see a first valid timestamp, we re-evaluate the amount of
running-time elapsed (based on returned inital running-time and amount
of data/DTS queued up) for any given stream.

Taking the biggest amount of elapsed time, we set that on the packetizer
as the initial offset and recalculate all pending buffers running-time
PTS/DTS.

Note: The buffer queueing system can also be used later on for the
dvb fast start proposal (where we queue up all stream packets before
seeing PAT/PMT and then push them once we know if they belong to the
chosen program).

10 years agoexamples: Add descriptor dumping
Edward Hervey [Sun, 7 Jul 2013 13:04:18 +0000 (15:04 +0200)]
examples: Add descriptor dumping

10 years agompegtsdemux: New PCR<=>Offset estimation code
Edward Hervey [Fri, 26 Jul 2013 05:54:30 +0000 (07:54 +0200)]
mpegtsdemux: New PCR<=>Offset estimation code

This allows:
* Better duration estimation
* More accurate PCR location
* Overall more accurate running-time location and calculation

Location and values of PCR are recorded in groups (PCROffsetGroup)
with notable PCR/Offset observations in them (when bitrate changed
for example). PCR and offset are stored as 32bit values to
reduce memory usage (they are differences against that group's
first_{pcr|offset}.

Those groups each contain a global PCR offset (pcr_offset) which
indicates how far in the stream that group is.

Whenever new PCR values are observed, we store them in a sliding
window estimator (PCROffsetGroupCurrent).

When a reset/wrapover/gap is detected, we close the current group with
current values and start a new one (the pcr_offset of that new group
is also calculated).

When a notable change in bitrate is observed (+/- 10%), we record
new values in the current group. This is a compromise between
storing all PCR/offset observations and none, while at the same time
providing better information for running-time<=>offset calculation
in VBR streams.

Whenever a new non-contiguous group is start (due to seeking for example)
we re-evaluate the pcr_offset of each groups. This allows detecting as
quickly as possible PCR wrapover/reset.

When wanting to find the offset of a certain running-time, one can
iterate the groups by looking at the pcr_offset (which in essence *is*
the running-time of that group in the overall stream).
Once a group (or neighbouring groups if the running-time is between two
groups) is found, once can use the recorded values to find the most
accurate offset.

Right now this code is only used in pull-mode , but could also
be activated later on for any seekable stream, like live timeshift
with queue2.

Future improvements:
* some heuristics to "compress" the stored values in groups so as to keep
  the memory usage down while still keeping a decent amount of notable
  points.
* After a seek compare expected and obtained PCR/Offset and if the
  difference is too big, re-calculate position with newly observed
  values and seek to that more accurate position.

Note that this code will *not* provide keyframe-accurate seeking, but
will allow a much more accurate PCR/running-time/offset location on
any random stream.
For past (observed) values it will be as accurate as can be.
For future values it will be better than the current situation.
Finally the more you seek, the more accurate your positioning will be.

10 years agompegtspacketizer: No longer use a private struct
Edward Hervey [Fri, 5 Jul 2013 15:11:46 +0000 (17:11 +0200)]
mpegtspacketizer: No longer use a private struct

These are not public headers, it just adds complexity for no reason

10 years agohlsdemux: Fix dereferencing of NULL pointer
Alex Ashley [Thu, 26 Sep 2013 15:51:25 +0000 (16:51 +0100)]
hlsdemux: Fix dereferencing of NULL pointer

On some live HLS streams, gst_hls_demux_switch_playlist causes
assertion failures because it tried to dereference a NULL fragment.
This is because g_queue_peek_tail sometimes was returning NULL and
this case was not being checked.

This patch does two things:
* move the g_queue_peek_tail inside the semaphore protection
* check if q_queue_peek_tail returns NULL

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

10 years agompegtsparse: Queue buffers until we have enough to know the caps
Sebastian Dröge [Fri, 27 Sep 2013 14:10:54 +0000 (16:10 +0200)]
mpegtsparse: Queue buffers until we have enough to know the caps

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

10 years agompegtspacketizer: rework TS packet sync and extraction
Arnaud Vrac [Mon, 16 Sep 2013 09:46:27 +0000 (11:46 +0200)]
mpegtspacketizer: rework TS packet sync and extraction

The previous code could enter an infinite loop because the adapter state
could get out of sync with its mapped data state after sync was lost.
The code was pretty confusing so it's been rewritten to be clearer.

The easiest way to reproduce the infinite loop is to use the breakmydata
element before tsdemux to trigger a resync.

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

10 years agotsdemux: fix buffer overflow
Arnaud Vrac [Mon, 16 Sep 2013 09:42:48 +0000 (11:42 +0200)]
tsdemux: fix buffer overflow

This can happen with a corrupt TS file, found with breakmydata element
plugged before tsdemux.

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

10 years agoconfigure: remove AS_SCRUB_INCLUDE
Tim-Philipp Müller [Wed, 25 Sep 2013 22:57:42 +0000 (23:57 +0100)]
configure: remove AS_SCRUB_INCLUDE

Shouldn't be needed any more.

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

10 years agobluez: Fix compilation on big endian systems
Sebastian Dröge [Wed, 25 Sep 2013 18:25:03 +0000 (20:25 +0200)]
bluez: Fix compilation on big endian systems

10 years agoAutomatic update of common submodule
Tim-Philipp Müller [Tue, 24 Sep 2013 17:31:10 +0000 (18:31 +0100)]
Automatic update of common submodule

From 6b03ba7 to 865aa20

10 years agoconfigure: Actually use 1.3.0.1 as version to make configure happy
Sebastian Dröge [Tue, 24 Sep 2013 13:05:28 +0000 (15:05 +0200)]
configure: Actually use 1.3.0.1 as version to make configure happy

10 years agoBack to development
Sebastian Dröge [Tue, 24 Sep 2013 13:00:27 +0000 (15:00 +0200)]
Back to development

10 years agoRelease 1.2.0
Sebastian Dröge [Tue, 24 Sep 2013 12:37:58 +0000 (14:37 +0200)]
Release 1.2.0

10 years agoUpdate .po files
Sebastian Dröge [Tue, 24 Sep 2013 12:37:29 +0000 (14:37 +0200)]
Update .po files

10 years agosdpdemux: Change rank to NONE until it can be autoplugged properly
Sebastian Dröge [Mon, 23 Sep 2013 14:18:43 +0000 (16:18 +0200)]
sdpdemux: Change rank to NONE until it can be autoplugged properly

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

10 years agoAutomatic update of common submodule
Edward Hervey [Fri, 20 Sep 2013 14:17:14 +0000 (16:17 +0200)]
Automatic update of common submodule

From b613661 to 6b03ba7

10 years agoaudiofxbad: Change plugin name to audiofxbad from audiochannelmix
Sebastian Dröge [Thu, 19 Sep 2013 18:17:01 +0000 (20:17 +0200)]
audiofxbad: Change plugin name to audiofxbad from audiochannelmix

10 years agodash/smoothstreaming: Remove unused debug category with the same name
Sebastian Dröge [Thu, 19 Sep 2013 18:09:26 +0000 (20:09 +0200)]
dash/smoothstreaming: Remove unused debug category with the same name

It caused static linking to fail.

10 years agoAutomatic update of common submodule
Tim-Philipp Müller [Thu, 19 Sep 2013 17:43:28 +0000 (18:43 +0100)]
Automatic update of common submodule

From 74a6857 to b613661

10 years agoAutomatic update of common submodule
Tim-Philipp Müller [Thu, 19 Sep 2013 16:36:03 +0000 (17:36 +0100)]
Automatic update of common submodule

From 098c0d7 to 74a6857

10 years agoeglglessink: Fix static linking for Android by passing --tag=CC to libtool
Sebastian Dröge [Thu, 19 Sep 2013 14:44:48 +0000 (16:44 +0200)]
eglglessink: Fix static linking for Android by passing --tag=CC to libtool

10 years agoBack to development
Sebastian Dröge [Thu, 19 Sep 2013 09:35:01 +0000 (11:35 +0200)]
Back to development

10 years agoRelease 1.1.90
Sebastian Dröge [Thu, 19 Sep 2013 08:50:47 +0000 (10:50 +0200)]
Release 1.1.90

10 years agoUpdate .po files
Sebastian Dröge [Thu, 19 Sep 2013 08:46:27 +0000 (10:46 +0200)]
Update .po files

10 years agopo: Update translations
Sebastian Dröge [Thu, 19 Sep 2013 07:46:34 +0000 (09:46 +0200)]
po: Update translations

10 years agoeglglessink: Update for new GstContext API
Sebastian Dröge [Wed, 18 Sep 2013 20:36:51 +0000 (22:36 +0200)]
eglglessink: Update for new GstContext API

10 years agoegl: Update for new GstContext API
Sebastian Dröge [Wed, 18 Sep 2013 20:24:07 +0000 (22:24 +0200)]
egl: Update for new GstContext API

10 years agohlsdemux: Reset GstUriDownloader cancellation when restarting to play
Olivier Crête [Tue, 17 Sep 2013 21:41:39 +0000 (17:41 -0400)]
hlsdemux: Reset GstUriDownloader cancellation when restarting to play

10 years agompegtspacketizer: Correct condition check for current next indicator
Sudip Jain [Sun, 15 Sep 2013 11:39:16 +0000 (17:09 +0530)]
mpegtspacketizer: Correct condition check for current next indicator

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

10 years agorawparse: fix event order
Wim Taymans [Thu, 12 Sep 2013 10:03:45 +0000 (12:03 +0200)]
rawparse: fix event order

Delay forwarding the segment event until we pushed caps.
Send STREAM_START in pull mode.

10 years agoamcvideodec: Don't put the level restrictions on the sinkpad caps
Sebastian Dröge [Thu, 12 Sep 2013 11:21:37 +0000 (13:21 +0200)]
amcvideodec: Don't put the level restrictions on the sinkpad caps

They tend to be inaccurate and having them in the sinkpad caps
prevents playback of files that would otherwise play fine.

10 years agotsdemux: respect seqnums on seeks
Thiago Santos [Tue, 10 Sep 2013 21:51:52 +0000 (18:51 -0300)]
tsdemux: respect seqnums on seeks

Pass the seqnum to other events that are consequence of the
original seek event