platform/upstream/gst-plugins-good.git
9 years agortph263depay: Make sure payload is large enough
Stian Selnes [Wed, 8 Jul 2015 10:02:22 +0000 (12:02 +0200)]
rtph263depay: Make sure payload is large enough

Plus new unit test.

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

9 years agortpklvdepay: fix printf format compiler warning
Vineeth TM [Tue, 7 Jul 2015 23:59:49 +0000 (08:59 +0900)]
rtpklvdepay: fix printf format compiler warning

v_len is of type guint64, but while print the value(16 + len_size + v_len)
G_GSIZE_FORMAT is being used instead of G_GUINT64_FORMAT

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

9 years agodocs: add new RTP elements to docs
Tim-Philipp Müller [Tue, 7 Jul 2015 19:25:47 +0000 (20:25 +0100)]
docs: add new RTP elements to docs

9 years agotests: rtp-payloading: add basic unit test for KLV payloading
Tim-Philipp Müller [Tue, 7 Jul 2015 19:07:31 +0000 (20:07 +0100)]
tests: rtp-payloading: add basic unit test for KLV payloading

Also make it so that the mtu is always set if specified, not
only in case of the rather weird bufferlist test code path.
This allows us to easily make the payloader fragment a payload
across multiple output packets by setting a small MTU on it.

9 years agortpklvdepay: improve start detection and handle fragmented KLV units
Tim-Philipp Müller [Tue, 7 Jul 2015 18:58:42 +0000 (19:58 +0100)]
rtpklvdepay: improve start detection and handle fragmented KLV units

9 years agortp: add SMPTE 336M KLV metadata depayloader
Tim-Philipp Müller [Sun, 5 Jul 2015 19:25:10 +0000 (20:25 +0100)]
rtp: add SMPTE 336M KLV metadata depayloader

http://tools.ietf.org/html/rfc6597

9 years agortp: add SMPTE 336M KLV metadata payloader
Tim-Philipp Müller [Sat, 9 Aug 2014 09:08:42 +0000 (10:08 +0100)]
rtp: add SMPTE 336M KLV metadata payloader

http://tools.ietf.org/html/rfc6597

9 years agodocs: fix "Symbol name not found at the start of the comment block"
Stefan Sauer [Tue, 7 Jul 2015 14:59:20 +0000 (16:59 +0200)]
docs: fix "Symbol name not found at the start of the comment block"

Add symbols or change comment into a regular comment.

9 years agodocs: remove outdated doc strings
Stefan Sauer [Tue, 7 Jul 2015 14:58:53 +0000 (16:58 +0200)]
docs: remove outdated doc strings

9 years agodocs: add missing plugins and ensure master doc is sorted
Stefan Sauer [Fri, 3 Jul 2015 21:10:40 +0000 (23:10 +0200)]
docs: add missing plugins and ensure master doc is sorted

9 years agoRevert "imagefreeze: Remove impossible error condition"
Luis de Bethencourt [Tue, 7 Jul 2015 14:54:41 +0000 (15:54 +0100)]
Revert "imagefreeze: Remove impossible error condition"

This reverts commit d46631c5c7312ad613397f8238c7a9714ae3ae94.

pad only handle EOS events but not EOS flow, and will push the buffer again
resulting in an assertion error. So we should not handle the buffer
and return EOS flow.

9 years agortpg729depay: unmap rtp buffer in error path
Tim-Philipp Müller [Tue, 7 Jul 2015 14:50:50 +0000 (15:50 +0100)]
rtpg729depay: unmap rtp buffer in error path

9 years agortpg729pay: fix buffer leak
Tim-Philipp Müller [Tue, 7 Jul 2015 14:48:40 +0000 (15:48 +0100)]
rtpg729pay: fix buffer leak

The handle_buffer vfunc takes ownership of the input buffer.
Fixes elements/rtp-payloading under valgrind.

9 years agogoom: Initialised variables to remove compiler warnings
Tobias Mueller [Thu, 2 Jul 2015 06:52:43 +0000 (08:52 +0200)]
goom: Initialised variables to remove compiler warnings

goom_core.c: In function 'goom_update':
goom_core.c:685:5: error: 'param2' may be used uninitialized in this function [-Werror=maybe-uninitialized]
     goom_lines_switch_to (goomInfo->gmline2, mode, param2, amplitude, couleur);
     ^
goom_core.c:684:5: error: 'param1' may be used uninitialized in this function [-Werror=maybe-uninitialized]
     goom_lines_switch_to (goomInfo->gmline1, mode, param1, amplitude, couleur);
     ^

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

9 years agortph261pay: fix indentation
Tim-Philipp Müller [Tue, 7 Jul 2015 08:18:39 +0000 (09:18 +0100)]
rtph261pay: fix indentation

9 years agortph261pay: Fix uninitialized variable compiler error
Jimmy Ohn [Mon, 6 Jul 2015 10:11:00 +0000 (19:11 +0900)]
rtph261pay: Fix uninitialized variable compiler error

endpos variable does not correctly understand in the
4.6.3 GCC version. So compile error appears when we do
compile rtph261pay using jhbuild.
This patch is fixed the compile error in 4.6.3 GCC version.

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

9 years agoflvdemux: Handle seek flags properly
Jan Alexander Steffens (heftig) [Wed, 12 Nov 2014 11:08:58 +0000 (12:08 +0100)]
flvdemux: Handle seek flags properly

Allows for non-keyframe seeks.

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

9 years agoqtdemux: avoid looping reading the 'moof' atom forever
Thiago Santos [Tue, 24 Feb 2015 13:50:52 +0000 (10:50 -0300)]
qtdemux: avoid looping reading the 'moof' atom forever

It gets stuck if it only finds a moof and no mfra/mfro or moov
atoms. Skip the moof to continue the parsing to have it either
play or error out.

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

9 years agoflacdec: improve error handling
Vineeth TM [Fri, 26 Jun 2015 04:24:17 +0000 (13:24 +0900)]
flacdec: improve error handling

for files which have corrupted header, libflac is not able to
process the metadata properly. We just try to ignore the error
and continue with the processing, since metadata parsing is not
making much of a difference to libflac

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

9 years agoximagesrc: add meta transform function
Hyunjun Ko [Mon, 6 Jul 2015 11:16:38 +0000 (20:16 +0900)]
ximagesrc: add meta transform function

ximage metadata can't be transformed or copied, but provide an empty
transformation function instead of NULL to allow unconditional calling
of metas' transform functions.

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

9 years agortph263pdepay: init debug category
Stian Selnes [Mon, 16 Jun 2014 14:14:28 +0000 (16:14 +0200)]
rtph263pdepay: init debug category

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

9 years agortpv8depay: ignore reserved bit in payload descriptor
Stian Selnes [Fri, 20 Jun 2014 08:59:14 +0000 (10:59 +0200)]
rtpv8depay: ignore reserved bit in payload descriptor

Draft 16 of "RTP Payload Format for VP8" states in section 4.2 that:

R: Bit reserved for future use.  MUST be set to zero and MUST be
   ignored by the receiver.

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

9 years agortph261pay: rtph261depay: Add documentation
Stian Selnes [Sat, 4 Jul 2015 18:56:42 +0000 (20:56 +0200)]
rtph261pay: rtph261depay: Add documentation

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

9 years agoAutomatic update of common submodule
Stefan Sauer [Fri, 3 Jul 2015 19:58:14 +0000 (21:58 +0200)]
Automatic update of common submodule

From f74b2df to 9aed1d7

9 years agortph261pay: Fix compiler warning
Sebastian Dröge [Fri, 3 Jul 2015 12:29:16 +0000 (14:29 +0200)]
rtph261pay: Fix compiler warning

gstrtph261pay.c: In function 'gst_rtp_h261_pay_class_init':
gstrtph261pay.c:1003:17: error: variable 'gobject_class' set but not used [-Werror=unused-but-set-variable]
   GObjectClass *gobject_class;

9 years agortph261depay: Let the base class push the buffer so it can deal with the flow return
Sebastian Dröge [Fri, 3 Jul 2015 12:03:05 +0000 (14:03 +0200)]
rtph261depay: Let the base class push the buffer so it can deal with the flow return

9 years agortph261pay: Remove unused adapter
Sebastian Dröge [Fri, 3 Jul 2015 12:11:35 +0000 (14:11 +0200)]
rtph261pay: Remove unused adapter

9 years agospeexpay: Directly attach payload to the output buffer instead of copying it
Sebastian Dröge [Fri, 3 Jul 2015 11:17:24 +0000 (13:17 +0200)]
speexpay: Directly attach payload to the output buffer instead of copying it

9 years agosbcpay: Attach payload directly to the output instead of copying
Sebastian Dröge [Fri, 3 Jul 2015 11:07:20 +0000 (13:07 +0200)]
sbcpay: Attach payload directly to the output instead of copying

9 years agortp: add H.261 RTP payloader and depayloader
Stian Selnes [Mon, 1 Dec 2014 13:18:40 +0000 (14:18 +0100)]
rtp: add H.261 RTP payloader and depayloader

Implementation according to RFC 4587.

Payloader create fragments on MB boundaries in order to match MTU size
the best it can. Some decoders/depayloaders in the wild are very strict
about receiving a continuous bit-stream (e.g. no no-op bits between
frames), so the payloader will shift the compressed bit-stream of a
frame to align with the last significant bit of the previous frame.

Depayloader does not try to be fancy in case of packet loss. It simply
drops all packets for a frame if there is a loss, keeping it simple.

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

9 years agortpmpvdepay: Don't forget to unmap the input buffer
Sebastian Dröge [Fri, 3 Jul 2015 10:18:52 +0000 (12:18 +0200)]
rtpmpvdepay: Don't forget to unmap the input buffer

9 years agortpmpvpay: Create buffer lists instead of pushing each buffer individually
Sebastian Dröge [Fri, 3 Jul 2015 10:14:47 +0000 (12:14 +0200)]
rtpmpvpay: Create buffer lists instead of pushing each buffer individually

9 years agortpmpapay: Use buffer lists instead of pushing each fragment individually
Sebastian Dröge [Fri, 3 Jul 2015 10:03:59 +0000 (12:03 +0200)]
rtpmpapay: Use buffer lists instead of pushing each fragment individually

9 years agortpmp4apay: Create buffer lists and don't copy payload memory
Sebastian Dröge [Fri, 3 Jul 2015 08:51:57 +0000 (10:51 +0200)]
rtpmp4apay: Create buffer lists and don't copy payload memory

9 years agortpjitterbuffer: Consider timers len to compare with RTP_MAX_DROPOUT
Miguel París Díaz [Mon, 29 Jun 2015 14:14:18 +0000 (16:14 +0200)]
rtpjitterbuffer: Consider timers len to compare with RTP_MAX_DROPOUT

When there are a lot of small gaps, we can consider that there is
a big gap (too losses) to reset the buffer.

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

9 years agortpjitterbuffer: If possible, always update the current time before looping over...
Sebastian Dröge [Mon, 29 Jun 2015 13:53:52 +0000 (15:53 +0200)]
rtpjitterbuffer: If possible, always update the current time before looping over all timers

If we have a clock, update "now" now with the very latest running time we have.
If timers are unscheduled below we otherwise wouldn't update now (it's only updated
when timers expire), and also for the very first loop iteration now would otherwise
always be 0.

Also the time is used for the timeout functions, e.g. to calculate any times
for the next timeouts and we would otherwise pass too old times there.

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

9 years agov4l2transform: fix memory leak
Luis de Bethencourt [Thu, 2 Jul 2015 13:34:57 +0000 (14:34 +0100)]
v4l2transform: fix memory leak

tmp needs to be freed before going out of scope in 'done'.

CID #1308954

9 years agortph263ppay: Generate buffer lists and attach the payload directly instead of copying it
Sebastian Dröge [Thu, 2 Jul 2015 10:23:45 +0000 (12:23 +0200)]
rtph263ppay: Generate buffer lists and attach the payload directly instead of copying it

9 years agortph263pdepay: Simplify code a bit and do less direct memcpy and let GstBuffer do...
Sebastian Dröge [Thu, 2 Jul 2015 07:48:02 +0000 (09:48 +0200)]
rtph263pdepay: Simplify code a bit and do less direct memcpy and let GstBuffer do that for us

9 years agortph263pay: Stop using an adapter and directly use the buffer
Sebastian Dröge [Thu, 2 Jul 2015 07:17:59 +0000 (09:17 +0200)]
rtph263pay: Stop using an adapter and directly use the buffer

We always pushed one buffer into the adapter, then handled exactly that one
buffer and flushed it from the adapter. Now also don't memcpy() the actual
payload but just attach the input buffer's data to the output buffer.

This code still needs some serious refactoring/rewriting.

9 years agortpgsmpay: Remove non-existing includes for now
Sebastian Dröge [Wed, 1 Jul 2015 19:57:28 +0000 (21:57 +0200)]
rtpgsmpay: Remove non-existing includes for now

git add -p mistake.

9 years agortpgstpay: Use the return value of gst_buffer_append()
Sebastian Dröge [Wed, 1 Jul 2015 17:29:07 +0000 (19:29 +0200)]
rtpgstpay: Use the return value of gst_buffer_append()

9 years agortpgsmpay: Attach payload to the output buffer instead of copying it
Sebastian Dröge [Wed, 1 Jul 2015 17:19:13 +0000 (19:19 +0200)]
rtpgsmpay: Attach payload to the output buffer instead of copying it

9 years agortpg729pay: Attach payload directly to output buffers instead of copying
Sebastian Dröge [Wed, 1 Jul 2015 15:58:56 +0000 (17:58 +0200)]
rtpg729pay: Attach payload directly to output buffers instead of copying

9 years agortpg723pay: Attach payload buffer to the output instead of copying
Sebastian Dröge [Wed, 1 Jul 2015 15:43:51 +0000 (17:43 +0200)]
rtpg723pay: Attach payload buffer to the output instead of copying

9 years agortpdvdepay: Map the output buffer once instead of once every 80 bytes
Sebastian Dröge [Wed, 1 Jul 2015 15:30:39 +0000 (17:30 +0200)]
rtpdvdepay: Map the output buffer once instead of once every 80 bytes

9 years agoavidemux: fix return type of index_entry_offset_search()
Jimmy Ohn [Wed, 1 Jul 2015 12:46:46 +0000 (21:46 +0900)]
avidemux: fix return type of index_entry_offset_search()

It's a compare function and may return a negative value,
so should for correctness and consistency return a signed
integer.

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

9 years agortpjitterbuffer: refactor handle_next_buffer
Miguel París Díaz [Wed, 1 Jul 2015 12:12:57 +0000 (14:12 +0200)]
rtpjitterbuffer: refactor handle_next_buffer

The goal of this patch is making handle_next_buffer function
more readable avoiding unnecesary gotos and adding other
cosmetic changes.

9 years agortpac3pay: Attach the payload to the output buffer instead of copying it
Sebastian Dröge [Wed, 1 Jul 2015 13:40:25 +0000 (15:40 +0200)]
rtpac3pay: Attach the payload to the output buffer instead of copying it

Might also want to produce buffer lists here if needed.

9 years agortp: Fix indention
Sebastian Dröge [Wed, 1 Jul 2015 13:38:47 +0000 (15:38 +0200)]
rtp: Fix indention

9 years agortp: Add examples with VTS/ATS for VP8/OPUS
Sebastian Dröge [Wed, 1 Jul 2015 10:37:11 +0000 (12:37 +0200)]
rtp: Add examples with VTS/ATS for VP8/OPUS

Let's have an example with modern codecs.

9 years agortph264pay: Use GST_WARNING_OBJECT() instead of GST_WARNING()
Sebastian Dröge [Tue, 30 Jun 2015 16:11:33 +0000 (18:11 +0200)]
rtph264pay: Use GST_WARNING_OBJECT() instead of GST_WARNING()

9 years agovp8depay: Don't lock/map every non-keyframe buffer twice
Sebastian Dröge [Tue, 30 Jun 2015 12:06:20 +0000 (14:06 +0200)]
vp8depay: Don't lock/map every non-keyframe buffer twice

Just copy the complete header instead of first looking at the first byte
and then at the remaining 10 bytes.

9 years agov4l2: document fallthrough cases
Luis de Bethencourt [Mon, 29 Jun 2015 15:05:44 +0000 (16:05 +0100)]
v4l2: document fallthrough cases

Pacify coverity and document fallthrough cases in switch statements.

CID #1308948, #1308947, #1308946

9 years agoRevert "rtpjitterbuffer: If we have an immediate timeout, don't try to find an earlie...
Sebastian Dröge [Mon, 29 Jun 2015 08:36:58 +0000 (10:36 +0200)]
Revert "rtpjitterbuffer: If we have an immediate timeout, don't try to find an earlier timeout"

This reverts commit 0c21cd7177ea883c710999147ddcedb19004d182.

If we have multiple immediate timers, we want to first handle the one with the
lowest sequence number... which would be broken now.

Instead of this we should just use a GSequence for the timers, and have them
sorted first by timestamp, and for equal timestamps by sequence number. Then
we would always only have to take the very first timer from the list and never
have to look at any others.

9 years agortpjitterbuffer: If we have an immediate timeout, don't try to find an earlier timeout
Sebastian Dröge [Mon, 29 Jun 2015 08:14:05 +0000 (10:14 +0200)]
rtpjitterbuffer: If we have an immediate timeout, don't try to find an earlier timeout

If we have lots of such immediate timeouts, we would otherwise have quadratic
runtime in the number of timeouts.

9 years agosplitmuxsrc: sticky events are sent automatically from the pad
Thiago Santos [Fri, 19 Jun 2015 21:01:03 +0000 (18:01 -0300)]
splitmuxsrc: sticky events are sent automatically from the pad

No need to send them explicitly from the element

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

9 years agosplitmuxsrc: make sure to push sticky events before adding pad
Thiago Santos [Fri, 19 Jun 2015 21:00:40 +0000 (18:00 -0300)]
splitmuxsrc: make sure to push sticky events before adding pad

It allows the caps to be set on the pad before being added for
dynamic autoplugging to work.

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

9 years agortspsrc: Add new ntp-time-source property and deprecate use-pipeline-clock property
Hyunjun Ko [Thu, 25 Jun 2015 15:05:29 +0000 (00:05 +0900)]
rtspsrc: Add new ntp-time-source property and deprecate use-pipeline-clock property

Enable to use new ntp-time-source property of rtpbin

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

9 years agortpbin/session: fix description
Hyunjun Ko [Thu, 25 Jun 2015 14:19:58 +0000 (23:19 +0900)]
rtpbin/session: fix description

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

9 years agodocs: decodebin2 -> decodebin
Luis de Bethencourt [Thu, 25 Jun 2015 09:57:25 +0000 (10:57 +0100)]
docs: decodebin2 -> decodebin

9 years agodeinterlace: update example pipeline
Luis de Bethencourt [Thu, 25 Jun 2015 09:47:06 +0000 (10:47 +0100)]
deinterlace: update example pipeline

Update reference to decodebin2 to decodebin

9 years agodeinterlace: remove dead assignments
Luis de Bethencourt [Thu, 25 Jun 2015 09:45:35 +0000 (10:45 +0100)]
deinterlace: remove dead assignments

Values in fields_required and same_buffer are overwritten before used. Removing
assignment

9 years agomikmod: remove ancient unported plugin
Tim-Philipp Müller [Thu, 25 Jun 2015 09:06:07 +0000 (10:06 +0100)]
mikmod: remove ancient unported plugin

This hasn't been touched in 11 years, and
clearly no one's been missing it.

9 years agoqtdemux: does not detect orientation
Gilbok Lee [Tue, 23 Jun 2015 11:15:13 +0000 (20:15 +0900)]
qtdemux: does not detect orientation

Most files don't contain the values for transposing the coordinates
back to the positive quadrant so qtdemux was ignoring the rotation
tag. To be able to properly handle those files qtdemux will also ignore
the transposing values to only detect the rotation using the values
abde from the transformation matrix:

[a b c]
[d e f]
[g h i]

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

9 years agoBack to development
Sebastian Dröge [Wed, 24 Jun 2015 22:04:16 +0000 (00:04 +0200)]
Back to development

9 years agoRelease 1.5.2
Sebastian Dröge [Wed, 24 Jun 2015 21:30:41 +0000 (23:30 +0200)]
Release 1.5.2

9 years agoUpdate .po files
Sebastian Dröge [Wed, 24 Jun 2015 20:56:12 +0000 (22:56 +0200)]
Update .po files

9 years agopo: Update translations
Sebastian Dröge [Wed, 24 Jun 2015 09:15:00 +0000 (11:15 +0200)]
po: Update translations

9 years agoqtmux: Correctly test each segments
Nicolas Dufresne [Tue, 23 Jun 2015 22:42:59 +0000 (18:42 -0400)]
qtmux: Correctly test each segments

In presence of gaps, qtdemux will emit multiple segments. The
second segment start should match the CTTS.

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

9 years agoqtmux: Correctly calculate the elst media start
Nicolas Dufresne [Tue, 23 Jun 2015 21:54:31 +0000 (17:54 -0400)]
qtmux: Correctly calculate the elst media start

The media start has nothing to do with the shift we have applied
but with the value of the first PTS. This is defined as:

  Dt(0) = 0
  Ct(0) = Dt(0) + CTTS(0)

So the media start is always the first CTTS.

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

9 years agoqtdemux: accumulate previous edts entries into segment.base
Thiago Santos [Tue, 23 Jun 2015 14:49:32 +0000 (11:49 -0300)]
qtdemux: accumulate previous edts entries into segment.base

Allows playing edts editted files with proper synchronization of
streams. This patch fixes the regression introduced by
bf95f93c0189aa04f18e264b86b6527e431c5d53 that was added to fix
segment seeks handling.

Having the accumulated_base separated from the main segment.base
allows handling both segment seeks and edts editted files.

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

9 years agoqtdemux: improve some debug messages
Thiago Santos [Tue, 23 Jun 2015 03:56:16 +0000 (00:56 -0300)]
qtdemux: improve some debug messages

Those messages are about the stream, use the pad as the
debug object to make it clear from the logs

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

9 years agoqtmux: store last_dts of the first buffer
Thiago Santos [Tue, 23 Jun 2015 01:22:09 +0000 (22:22 -0300)]
qtmux: store last_dts of the first buffer

Buffers need not to start at running-time 0 so the last_dts needs
to be the value of the first buffer's dts as it is used to compute
the duration of the buffers. If it was left at 0 the first buffer
would have a larger duration when it shouldn't

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

9 years agoflacparse: fix possible memory leak
Vineeth TM [Tue, 23 Jun 2015 08:11:57 +0000 (17:11 +0900)]
flacparse: fix possible memory leak

when buffer is stored to seektable, and stop gets called due to
corrupt flac file, then the seektable is not being released

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

9 years agoRevert "splitmuxsink: Mask async-start/done while switching files."
Jan Schmidt [Tue, 23 Jun 2015 06:28:40 +0000 (16:28 +1000)]
Revert "splitmuxsink: Mask async-start/done while switching files."

This reverts commit d61e5393f110ed482815d77807245d78b52eff46.

Causes failures muxing larger GOP sizes for some reason. Reverting
while I figure it out

9 years agosplitmuxsrc: Fix startup and shutdown races.
Jan Schmidt [Thu, 18 Jun 2015 13:22:06 +0000 (23:22 +1000)]
splitmuxsrc: Fix startup and shutdown races.

Fix 2 startup races when things happen too quickly, and 1
at shutdown by holding a ref to the pads in use until the
loop functions exit.

Handle errors activating file parts and publish them on
the bus.

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

9 years agosplitmuxsink: Mask async-start/done while switching files.
Jan Schmidt [Wed, 17 Jun 2015 23:26:13 +0000 (09:26 +1000)]
splitmuxsink: Mask async-start/done while switching files.

Sometimes, extra async-start/done from the internal sink
while the element is still starting up can cause splitmuxsink
to stall in PAUSED state when it has been set to PLAYING
by the app. Drop the child's async-start/done messages while
switching, so they don't cause state changes at the
splitmuxsink level.

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

9 years agomatroska-demux: Use gst_video_multiview_guess_half_aspect()
Jan Schmidt [Mon, 15 Jun 2015 06:12:10 +0000 (16:12 +1000)]
matroska-demux: Use gst_video_multiview_guess_half_aspect()

Use the gst_video_multiview_guess_half_aspect() utility function
to set the half-aspect flag (or not) on stereoscopic frame-packed
videos.

9 years agoqtdemux: Move multiview caps calculations, add half-aspect heuristics
Jan Schmidt [Mon, 15 Jun 2015 06:10:37 +0000 (16:10 +1000)]
qtdemux: Move multiview caps calculations, add half-aspect heuristics

Move the multiview caps calculations to the configure_stream()
function, so the rest of the video info is available, and
use the gst_video_multiview_guess_half_aspect() function to
determine if the half-aspect flag should be set on frame-packed
video.

9 years agoqtdemux: Add cslg support
Nicolas Dufresne [Thu, 18 Jun 2015 20:06:02 +0000 (16:06 -0400)]
qtdemux: Add cslg support

The cslg atom provide information about the DTS shift. This is
needed in recent version of ctts atom where the offset can be
negative. When cslg is missing, we parse the CTTS table as proposed
in the spec to calculate these values.

In this implementation, we only need to know the shift. As GStreamer
cannot transport negative timestamps, we shift the timestamps forward
using that value and adapt the segment to compensate. This patch also
removes bogus offset of ctts_soffset, this offset shall be included
in the edit list.

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

9 years agoqtmux: Test gaps at start of stream
Nicolas Dufresne [Fri, 19 Jun 2015 22:37:59 +0000 (18:37 -0400)]
qtmux: Test gaps at start of stream

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

9 years agoqtmux: Use PTS to figure-out presence of gaps
Nicolas Dufresne [Fri, 19 Jun 2015 22:40:43 +0000 (18:40 -0400)]
qtmux: Use PTS to figure-out presence of gaps

We need to look at the presentation timestamp in order to conclude if
there is a gap at the start of a stream.

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

9 years agoqtmux: Set edit list to compensate DTS shift
Nicolas Dufresne [Fri, 19 Jun 2015 20:45:02 +0000 (16:45 -0400)]
qtmux: Set edit list to compensate DTS shift

We shift DTS forward to avoid negative timestamps which cannot be
represented with version 0 of the CTTS table. To stick with that
version (backward compatibility), the spec recommend using an
edit list entry to move back the presentation time to where it
should be.

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

9 years agoflvmux: Insert AVC end of sequence
Nicolas Dufresne [Mon, 22 Jun 2015 18:35:52 +0000 (14:35 -0400)]
flvmux: Insert AVC end of sequence

This FLV specific mark is needed to prevent Flow Player (most likely
all Flash base player) from going into buffering state when near EOS.

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

9 years agomatroska: remove useless check
Vineeth TM [Mon, 22 Jun 2015 04:05:29 +0000 (13:05 +0900)]
matroska: remove useless check

No need to check for context availability while freeing. We are inside
inside a code block with a condition that dereferences context.
if (context->type == 0 ...

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

9 years agolzo: fix memory leak
Vineeth T M [Mon, 22 Jun 2015 10:35:57 +0000 (19:35 +0900)]
lzo: fix memory leak

the opened file is not being closed during test, which will result
in memory leak.

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

9 years agomikmod_reader: Possible null pointer dereference:
Vineeth T M [Mon, 22 Jun 2015 10:30:58 +0000 (19:30 +0900)]
mikmod_reader: Possible null pointer dereference:

gst_reader variable is being used before actually checking if it
allocated properly

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

9 years agortpjitterbuffer: Minor clean-up
Sangkyu Park [Mon, 22 Jun 2015 10:45:14 +0000 (19:45 +0900)]
rtpjitterbuffer: Minor clean-up

1. Fix the code which is wrong coding style.
2. Fix a typing error of comment.

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

9 years agortpsource: Do not try to push NULL buffers
Jose Antonio Santos Cadenas [Mon, 22 Jun 2015 09:28:13 +0000 (11:28 +0200)]
rtpsource: Do not try to push NULL buffers

If update_receiver_stats() fails, we can't really do anything with this buffer
anymore and have to drop it. This happens if there's a big seqnum
discontinuity for example.

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

9 years agoflvdemux: trivial cleanup
Vineeth TM [Mon, 22 Jun 2015 04:10:02 +0000 (13:10 +0900)]
flvdemux: trivial cleanup

trivial patch to add proper ( while checking for if(G_UNLIKELY())

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

9 years agodcaparse: initialize size variable
Vineeth TM [Mon, 22 Jun 2015 04:16:08 +0000 (13:16 +0900)]
dcaparse: initialize size variable

size can be used in cleanup without being initialized. Hence
setting it to 0 when declaring

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

9 years agompegaudioparse: initialze bpf variable
Vineeth TM [Mon, 22 Jun 2015 04:13:29 +0000 (13:13 +0900)]
mpegaudioparse: initialze bpf variable

bpf variable might be used in cleanup without being intialized.

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

9 years agortprtxqueue: reverse pending list before pushing buffers
Miguel París Díaz [Fri, 19 Jun 2015 12:50:59 +0000 (14:50 +0200)]
rtprtxqueue: reverse pending list before pushing buffers

With this we send the RTX buffers in the same order
that they were requested.

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

9 years agoflvmux: Fix DTS validity check
Nicolas Dufresne [Sun, 21 Jun 2015 23:22:10 +0000 (19:22 -0400)]
flvmux: Fix DTS validity check

This check was up-side-down, causing a bad timestamp at start
and then all timestamp being delayed.

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

9 years agocslg: Add Composition Shift Least Greatest Atom
Nicolas Dufresne [Wed, 17 Jun 2015 19:19:47 +0000 (15:19 -0400)]
cslg: Add Composition Shift Least Greatest Atom

This simply add fourcc and dump function for the cslg Atom.

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

9 years agoctts_dump: Fix signess issues
Nicolas Dufresne [Wed, 17 Jun 2015 19:18:38 +0000 (15:18 -0400)]
ctts_dump: Fix signess issues

It didn't bug, but use correct signess in traces. The number of
entries is unsigned while the offset can be signed according to
recent spec.

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

9 years agoAutomatic update of common submodule
Nicolas Dufresne [Tue, 16 Jun 2015 21:48:08 +0000 (17:48 -0400)]
Automatic update of common submodule

From 6015d26 to f74b2df

9 years agortpjitterbuffer: gst_rtp_buffer_ext_timestamp() modifies its first argument, keep...
Sebastian Dröge [Tue, 16 Jun 2015 09:43:39 +0000 (11:43 +0200)]
rtpjitterbuffer: gst_rtp_buffer_ext_timestamp() modifies its first argument, keep a copy around

9 years agortpjitterbuffer: Compare ext RTP times, not plain RTP time and ext RTP time when...
Sebastian Dröge [Tue, 16 Jun 2015 08:30:34 +0000 (10:30 +0200)]
rtpjitterbuffer: Compare ext RTP times, not plain RTP time and ext RTP time when calculating elapsed time

Otherwise all RTP times after a wraparound would be considered as going
backwards, they will always be smaller than the ext RTP time.