platform/upstream/gstreamer.git
11 years agortpjitterbuffer: always store lost event in jitterbuffer
Wim Taymans [Mon, 23 Sep 2013 12:12:03 +0000 (14:12 +0200)]
rtpjitterbuffer: always store lost event in jitterbuffer

Always prepare a lost event in the jitterbuffer, it is to wake up and make the
pushing thread continue. We drop the event when we are not supposed to push lost
events downstream.

11 years agortpjitterbuffer: schedule lost event differently
Wim Taymans [Mon, 23 Sep 2013 09:18:46 +0000 (11:18 +0200)]
rtpjitterbuffer: schedule lost event differently

Schedule the lost event by placing it inside the jitterbuffer with the seqnum
that was lost so that the pushing thread can interleave and push it properly.

11 years agotests: remove timeouts from check
Wim Taymans [Mon, 23 Sep 2013 09:17:34 +0000 (11:17 +0200)]
tests: remove timeouts from check

Timeouts make the test unreliable and are not needed.

11 years agortpjitterbuffer: remove list debug
Wim Taymans [Mon, 23 Sep 2013 09:15:30 +0000 (11:15 +0200)]
rtpjitterbuffer: remove list debug

11 years agortpjitterbuffer: add type to the item
Wim Taymans [Mon, 23 Sep 2013 09:14:01 +0000 (11:14 +0200)]
rtpjitterbuffer: add type to the item

So that the upper layer can know what data is contained in the item.

11 years agortpjitterbuffer: fix flush
Wim Taymans [Mon, 23 Sep 2013 07:58:32 +0000 (09:58 +0200)]
rtpjitterbuffer: fix flush

Pass function to flush to properly free the queue items.

11 years agortpjitterbuffer: append seqnum -1 packets
Wim Taymans [Fri, 20 Sep 2013 22:08:20 +0000 (00:08 +0200)]
rtpjitterbuffer: append seqnum -1 packets

11 years agortpjitterbuffer: use structure to hold packet information
Wim Taymans [Fri, 20 Sep 2013 21:48:20 +0000 (23:48 +0200)]
rtpjitterbuffer: use structure to hold packet information

Make the jitterbuffer operate on a structure containing all the packet
information. This avoids mapping the buffer multiple times just to get the RTP
information. It will also make it possible to store other miniobjects such as
events later.

11 years agortpjitterbuffer: update expected timer when possible
Wim Taymans [Fri, 20 Sep 2013 15:48:52 +0000 (17:48 +0200)]
rtpjitterbuffer: update expected timer when possible

When we receive a packet and we have some missing packets, we can update their
estimated arrival times based on the timestamp difference.

11 years agortpjitterbuffer: fix order of timeout events
Wim Taymans [Fri, 20 Sep 2013 15:18:27 +0000 (17:18 +0200)]
rtpjitterbuffer: fix order of timeout events

Improve the order of the timeout events, if there are timers with the same
timeout, we want to trigger the lowest seqnum first. For this we need to loop
over the complete array of timers to find the best one before triggering the
timeout.

11 years agortpjitterbuffer: send lost event before signaling next buffer
Wim Taymans [Fri, 20 Sep 2013 14:58:38 +0000 (16:58 +0200)]
rtpjitterbuffer: send lost event before signaling next buffer

First send the lost event, then update the next_seqnum counter and then
send the signal to the pushing thread that it can retry to push a buffer. This
avoids pushing out buffers before the lost event is pushed.

11 years agojitterbuffer: configure clock-rate on jitterbuffer
Wim Taymans [Fri, 20 Sep 2013 13:35:25 +0000 (15:35 +0200)]
jitterbuffer: configure clock-rate on jitterbuffer

Add a get and setter to configure the clock-rate in the jitterbuffer instead of
passing it as an argument to the insert method.

11 years agotests: add test for packet delay and retransmission
Wim Taymans [Fri, 20 Sep 2013 10:29:39 +0000 (12:29 +0200)]
tests: add test for packet delay and retransmission

11 years agortpjitterbuffer: add option to reset retransmission timers
Wim Taymans [Fri, 20 Sep 2013 10:27:26 +0000 (12:27 +0200)]
rtpjitterbuffer: add option to reset retransmission timers

11 years agortpjitterbuffer: stop the timer thread
Wim Taymans [Fri, 20 Sep 2013 10:25:43 +0000 (12:25 +0200)]
rtpjitterbuffer: stop the timer thread

The timeout code could release the lock so we need to check if we are allowed to
wait for the clock some more.

11 years agortpjitterbuffer: unlock only once
Wim Taymans [Fri, 20 Sep 2013 10:25:12 +0000 (12:25 +0200)]
rtpjitterbuffer: unlock only once

11 years agotests: check both PTS and DTS
Wim Taymans [Fri, 20 Sep 2013 09:30:04 +0000 (11:30 +0200)]
tests: check both PTS and DTS

11 years agotests: add unit-test for multiple missing packets
Wim Taymans [Fri, 20 Sep 2013 08:55:03 +0000 (10:55 +0200)]
tests: add unit-test for multiple missing packets

Check if multiple missing packets generate retransmission events and that the
retranmission requests are canceled when the missing packet arrives.

11 years agortpjitterbuffer: improve flush and shutdown
Wim Taymans [Fri, 20 Sep 2013 08:53:29 +0000 (10:53 +0200)]
rtpjitterbuffer: improve flush and shutdown

There is no need to unschedule the timer in flush-start, flush-stop will remove
the timers and unschedule.
Unschedule the current timer before attempting to join the timer thread.

11 years agotests: improve debug
Wim Taymans [Fri, 20 Sep 2013 08:43:53 +0000 (10:43 +0200)]
tests: improve debug

11 years agortpjitterbuffer: set correct expected time
Wim Taymans [Fri, 20 Sep 2013 08:42:27 +0000 (10:42 +0200)]
rtpjitterbuffer: set correct expected time

When we already have a timer for a packet, skip it but don't forget to adjust
the dts to the expected dts of the next packet.

11 years agojitterbuffer: improve debug
Wim Taymans [Fri, 20 Sep 2013 08:41:59 +0000 (10:41 +0200)]
jitterbuffer: improve debug

11 years agoalpha: use POFFSET instead of OFFSET
Wim Taymans [Thu, 19 Sep 2013 14:55:25 +0000 (16:55 +0200)]
alpha: use POFFSET instead of OFFSET

Use the more correct POFFSET macro to get the offset of a component in its
plane. The offset macro gives the offset of the component relative to the start
of the frame.

11 years agogoom: Fix MMX assembly compilation with clang
Sebastian Dröge [Sat, 21 Sep 2013 16:46:29 +0000 (18:46 +0200)]
goom: Fix MMX assembly compilation with clang

clang does not want or need a clobber list for emms:
error: clobbers must be last on the x87 stack

Patch taken from the FreeBSD ports, provided by
Dan McGregor <dan.mcgregor@usask.ca>

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

From b613661 to 6b03ba7

11 years agomatroska-demux: Make sure that subtitle buffers are \0-terminated
Sebastian Dröge [Fri, 20 Sep 2013 08:19:22 +0000 (10:19 +0200)]
matroska-demux: Make sure that subtitle buffers are \0-terminated

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

11 years agoqtmux: handle issues correctly when downstream is not seekable
Andoni Morales Alastruey [Tue, 17 Sep 2013 10:17:54 +0000 (12:17 +0200)]
qtmux: handle issues correctly when downstream is not seekable

The streamable property only make sense for fragmented formats.
For regular MP4, when downstream is not seekable we can't rewrite
the headers, so qtmux can only work with fast-start=TRUE, where
the headers are written finishing the file.
For fragmented MP4, when streamable is not seekable and the streamable
property is FALSE, we must enforce streamable=TRUE warning the user
about this change

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

11 years agoqtmux: make "streamable" TRUE as default
Andoni Morales Alastruey [Tue, 17 Sep 2013 10:06:06 +0000 (12:06 +0200)]
qtmux: make "streamable" TRUE as default

The most common use case for fragmented MP4 (Dash and Smooth Streaming)
is producing streamable content (even for VOD). streamable=FALSE would only
be used to generate fragmented MP4 with and index of MOOF's that could
be reproduced without a playlist/manifest
https://bugzilla.gnome.org/show_bug.cgi?id=707242

11 years agoqtmux: deprecate the streamable property for non-fragmented MP4
Andoni Morales Alastruey [Tue, 17 Sep 2013 10:01:30 +0000 (12:01 +0200)]
qtmux: deprecate the streamable property for non-fragmented MP4

The streamable property only makes sense for fragmented MP4.
https://bugzilla.gnome.org/show_bug.cgi?id=707242

11 years agov4l2: Remove commented out line
Olivier Crête [Thu, 19 Sep 2013 21:08:19 +0000 (17:08 -0400)]
v4l2: Remove commented out line

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

From 74a6857 to b613661

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

From 098c0d7 to 74a6857

11 years agoalpha: don't assume planar formats have just 1 block
Wim Taymans [Thu, 19 Sep 2013 14:50:44 +0000 (16:50 +0200)]
alpha: don't assume planar formats have just 1 block

Don't assume planar formats have just one memory block with the data but use the
macros to access the right memory block where a component can be found.

11 years agotests: add retransmission jitterbuffer test
Wim Taymans [Thu, 19 Sep 2013 12:14:52 +0000 (14:14 +0200)]
tests: add retransmission jitterbuffer test

Store both DTS and PTS on buffers.
Make a queue for srcpad events.
Activate pads after linking so that we don't get RECONFIGURE events.
Add test for retransmission.

11 years agortpjitterbuffer: keep delay as a separate variable in timer
Wim Taymans [Thu, 19 Sep 2013 12:12:18 +0000 (14:12 +0200)]
rtpjitterbuffer: keep delay as a separate variable in timer

Keep a separate delay in the timer so that we still know the original timestamp
of the packet that this timer refers to. We can then place the correct
running-time in the Retransmission event.

11 years agortpjitterbuffer: fix writability of properties
Wim Taymans [Thu, 19 Sep 2013 12:08:56 +0000 (14:08 +0200)]
rtpjitterbuffer: fix writability of properties

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

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

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

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

11 years agov4l2bufferpool: dmabuf is not a singleton anymore
Olivier Crête [Wed, 11 Sep 2013 18:27:02 +0000 (14:27 -0400)]
v4l2bufferpool: dmabuf is not a singleton anymore

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

11 years agosouphttpsrc: do not do http requests in READY
Thiago Santos [Mon, 16 Sep 2013 16:53:45 +0000 (13:53 -0300)]
souphttpsrc: do not do http requests in READY

HEAD requests to discover if the server is seekable shouldn't be done in
READY as it might lock the main thread that is doing the state change.

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

11 years agortpjitterbuffer: reevaluate the current timer after timeout
Wim Taymans [Wed, 18 Sep 2013 14:32:28 +0000 (16:32 +0200)]
rtpjitterbuffer: reevaluate the current timer after timeout

When we trigger the timeout logic of a timer, reevaluate it because it is
possible that it still has the lowest timeout.

11 years agortpjitterbuffer: don't update time when unscheduled
Wim Taymans [Wed, 18 Sep 2013 14:31:26 +0000 (16:31 +0200)]
rtpjitterbuffer: don't update time when unscheduled

Don't try to estimate the current time when we got unscheduled.

11 years agortpjitterbuffer: init packet spacing on first buffer
Wim Taymans [Wed, 18 Sep 2013 14:29:37 +0000 (16:29 +0200)]
rtpjitterbuffer: init packet spacing on first buffer

Already init the packet spacing variables on the first buffer so that we can
calculate the spacing on the second buffer already.

11 years agotests: fix comments
Wim Taymans [Wed, 18 Sep 2013 13:08:45 +0000 (15:08 +0200)]
tests: fix comments

11 years agortpjitterbuffer: push the lost event from the timer thread
Wim Taymans [Wed, 18 Sep 2013 12:57:09 +0000 (14:57 +0200)]
rtpjitterbuffer: push the lost event from the timer thread

Instead of pushing the lost event from the chain function, schedule a timeout
that will push the lost event from the timer thread. This avoid blocking the
upstream thread while we push and sync the event.

11 years agortpjitterbuffer: add another test
Wim Taymans [Wed, 18 Sep 2013 12:23:55 +0000 (14:23 +0200)]
rtpjitterbuffer: add another test

The test is modified slightly because the late lost packets are only
generated now when a large gap is received.

11 years agortpjitterbuffer: round gap duration to multiple of duration
Wim Taymans [Wed, 18 Sep 2013 12:12:47 +0000 (14:12 +0200)]
rtpjitterbuffer: round gap duration to multiple of duration

Make sure the gap duration in the lost event is a multiple of the packet
duration.
Enable another test.

11 years agortpjitterbuffer: keep track of duration
Wim Taymans [Wed, 18 Sep 2013 10:29:38 +0000 (12:29 +0200)]
rtpjitterbuffer: keep track of duration

Keep track of the estimated duration of missing packets and use it in the lost
event.
Enable another unit test

11 years agortpjitterbuffer: handle large gaps with one lost event
Wim Taymans [Wed, 18 Sep 2013 09:59:28 +0000 (11:59 +0200)]
rtpjitterbuffer: handle large gaps with one lost event

When we have a large number of missing packets, generate one lost event for all
the packets that have no chance of being pushed out in time.
Fix and activate unit test for large gaps.

11 years agortpjitterbuffer: refactor lost event sending
Wim Taymans [Wed, 18 Sep 2013 09:56:38 +0000 (11:56 +0200)]
rtpjitterbuffer: refactor lost event sending

Also make sure we only increment the expected seqnum and last
output timestamp.

11 years agojitterbuffer: refactor timeout triggers
Wim Taymans [Tue, 17 Sep 2013 21:21:09 +0000 (23:21 +0200)]
jitterbuffer: refactor timeout triggers

11 years agojitterbuffer: simplify the timeout code
Wim Taymans [Tue, 17 Sep 2013 21:03:45 +0000 (23:03 +0200)]
jitterbuffer: simplify the timeout code

Keep track of the current time in the timeout loop.
Loop over all timers and trigger all the expired ones, we can do this in the
same loop that selects the new best timer.

11 years agojitterbuffer: rearrange timer update code
Wim Taymans [Tue, 17 Sep 2013 21:01:17 +0000 (23:01 +0200)]
jitterbuffer: rearrange timer update code

Also update the timers when retransmission is disabled. We need to
do this because when we added LOST timers when we detected missing packets and
we need to remove those timers when the packet finally arrives.

11 years agovideomixer: link to libm for maths stuff
Tim-Philipp Müller [Tue, 17 Sep 2013 21:02:04 +0000 (22:02 +0100)]
videomixer: link to libm for maths stuff

Fixes undefined references to rint and pow on ubuntu
build bot.

11 years agojitterbuffer: release lock on shutdown
Wim Taymans [Tue, 17 Sep 2013 13:19:42 +0000 (15:19 +0200)]
jitterbuffer: release lock on shutdown

11 years agocheck: change for videomixer renamed orc file
Wim Taymans [Tue, 17 Sep 2013 13:11:41 +0000 (15:11 +0200)]
check: change for videomixer renamed orc file

11 years agoqtmux: remove MAX_TOLERATED_LATENESS
Matej Knopp [Sat, 14 Sep 2013 14:03:20 +0000 (16:03 +0200)]
qtmux: remove MAX_TOLERATED_LATENESS

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

11 years agoexamples: we don't need the queue anymore
Wim Taymans [Mon, 16 Sep 2013 13:54:37 +0000 (15:54 +0200)]
examples: we don't need the queue anymore

11 years agojitterbuffer: use separate thread for timeouts
Wim Taymans [Mon, 16 Sep 2013 13:53:47 +0000 (15:53 +0200)]
jitterbuffer: use separate thread for timeouts

Use a separate thread for scheduling the timeouts instead of using the
downstream streaming thread that might block at any time.

11 years agoqtmux: set first_ts to DTS for streams that have DTS
Matej Knopp [Sat, 14 Sep 2013 13:56:04 +0000 (15:56 +0200)]
qtmux: set first_ts to DTS for streams that have DTS

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

11 years agoqtmux: make sure duration is a valid number for last buffer
Matej Knopp [Sat, 14 Sep 2013 13:55:22 +0000 (15:55 +0200)]
qtmux: make sure duration is a valid number for last buffer

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

11 years agoqtmux: use segment.start or last buffer end time in case of missing DTS
Matej Knopp [Sat, 14 Sep 2013 13:54:29 +0000 (15:54 +0200)]
qtmux: use segment.start or last buffer end time in case of missing DTS

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

11 years agoRevert qtmux: Use buffer PTS if DTS is not set"
Matej Knopp [Tue, 3 Sep 2013 16:14:04 +0000 (18:14 +0200)]
Revert qtmux: Use buffer PTS if DTS is not set"

This reverts commit f72c3cf71fde622067f41f31a53978ba4c94469d.

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

11 years agovideomixer: Update orc generated files
Sebastian Dröge [Mon, 16 Sep 2013 09:03:06 +0000 (11:03 +0200)]
videomixer: Update orc generated files

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

11 years agortpsession: Demux RTCP buffers from the RTP stream
Olivier Crête [Fri, 13 Sep 2013 14:25:49 +0000 (16:25 +0200)]
rtpsession: Demux RTCP buffers from the RTP stream

If there are RTCP buffers in the RTP stream, process them as
RTCP. This way, we want receive streams following RFC 5761

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

11 years agortp: Remove bogus extra caps from L24 template.
Jan Schmidt [Fri, 13 Sep 2013 13:26:21 +0000 (23:26 +1000)]
rtp: Remove bogus extra caps from L24 template.

The extra caps entry in the template was making it sometimes
get plugged for any dynamically allocated payload type.

11 years agortpbin: use PacketInfo for the sender
Wim Taymans [Fri, 13 Sep 2013 10:40:41 +0000 (12:40 +0200)]
rtpbin: use PacketInfo for the sender

Avoid mapping the packet multiple times when sending RTP.

11 years agortpbin: store more in the PacketInfo
Wim Taymans [Fri, 13 Sep 2013 10:22:36 +0000 (12:22 +0200)]
rtpbin: store more in the PacketInfo

Store all info in the PacketInfo so that we can avoid mapping the packet
multiple times.

11 years agosession: store more in the PacketInfo structure
Wim Taymans [Fri, 13 Sep 2013 09:32:52 +0000 (11:32 +0200)]
session: store more in the PacketInfo structure

11 years agortpbin: RTPArrivalStats -> RTPPacketInfo
Wim Taymans [Fri, 13 Sep 2013 09:08:55 +0000 (11:08 +0200)]
rtpbin: RTPArrivalStats -> RTPPacketInfo

Rename a structure because we are also going to use this for the sender
bits.

11 years agosource: small cleanups
Wim Taymans [Fri, 13 Sep 2013 08:55:31 +0000 (10:55 +0200)]
source: small cleanups

11 years agoqtdemux: only update stop position if seek requests it
Thiago Santos [Thu, 12 Sep 2013 16:31:01 +0000 (13:31 -0300)]
qtdemux: only update stop position if seek requests it

Check for GST_SEEK_TYPE_NONE for stop poistion and only update
the stop time if it is requested. Otherwise just maintain whatever
was stored at the segment

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

11 years agortp: Add missing headers tp fix make dist
Rico Tzschichholz [Fri, 13 Sep 2013 06:53:25 +0000 (08:53 +0200)]
rtp: Add missing headers tp fix make dist

In addition to a956a6ceb2deb87cc1361aee1d6626449f46dab2

11 years agoflacparse: Make sure we have enough data to read image tags
Sebastian Dröge [Thu, 12 Sep 2013 13:07:48 +0000 (15:07 +0200)]
flacparse: Make sure we have enough data to read image tags

Thanks to iputinei for reporting this on IRC.

11 years agojitterbuffer: handle segments with non-0 start
Wim Taymans [Thu, 12 Sep 2013 13:01:36 +0000 (15:01 +0200)]
jitterbuffer: handle segments with non-0 start

We keep the DTS and PTS in running-time inside the jitterbuffer. Make sure to
transform it back to a buffer timestamp before pushing out the buffer.

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

11 years agomatroskademux: Fix off-by-one in validation of UTF-8
Seán de Búrca [Wed, 11 Sep 2013 19:11:58 +0000 (13:11 -0600)]
matroskademux: Fix off-by-one in validation of UTF-8

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

11 years agovideomixer: Do not check if caps are empty when they are NULL
Thibault Saunier [Wed, 11 Sep 2013 17:32:17 +0000 (14:32 -0300)]
videomixer: Do not check if caps are empty when they are NULL

In the case the caps are actually NULL, we should just concider it the
same way as empty caps in that case.

11 years agovideomixer: fix build if orc is not installed
Seán de Búrca [Tue, 10 Sep 2013 22:44:53 +0000 (16:44 -0600)]
videomixer: fix build if orc is not installed

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

11 years agomatroskademux: Preserve seqnum when pushing seek upstream
Thiago Santos [Tue, 10 Sep 2013 20:57:49 +0000 (17:57 -0300)]
matroskademux: Preserve seqnum when pushing seek upstream

After converting a seek from time to bytes, use the same seqnum
on the event that goes upstream

11 years agoqtdemux: track streams that are EOS on push mode to finish earlier
Thiago Santos [Thu, 5 Sep 2013 03:17:16 +0000 (00:17 -0300)]
qtdemux: track streams that are EOS on push mode to finish earlier

When the segment has a defined stop position, qtdemux should check
when streams reach this position and mark those as EOS. When all
streams are EOS it will return GST_FLOW_EOS to upstream to allow
the pipeline to finish instead of continuously consume buffers
from upstream that are not useful for the segment.

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

11 years agoqtdemux: preserve stop of segment when doing seeks in push mode
Thiago Santos [Wed, 4 Sep 2013 18:34:35 +0000 (15:34 -0300)]
qtdemux: preserve stop of segment when doing seeks in push mode

When handling seeks in push mode, qtdemux converts the seek to bytes
and pushes upstream. It needs to keep track of the seek and the
subsequent segment to be able to map them back to the requested
seek time and properly preserve the segment stop of the seek.

This is done by using the start offset in bytes of the seek,
that should be the same of the segment from upstream. And this
is also backwards compatible with what qtdemux already was using.

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

11 years agovideomixer: Add colorspace conversion
Mathieu Duponchelle [Fri, 26 Jul 2013 17:40:53 +0000 (19:40 +0200)]
videomixer: Add colorspace conversion

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

11 years agovideomixer: Don't send reconfigure event when formats or PAR are different
Mathieu Duponchelle [Tue, 6 Aug 2013 13:38:39 +0000 (15:38 +0200)]
videomixer: Don't send reconfigure event when formats or PAR are different

It is racy with multiple pads.

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

11 years agovideomixer: Bundle private copies of videoconvert code
Mathieu Duponchelle [Thu, 25 Jul 2013 11:49:57 +0000 (13:49 +0200)]
videomixer: Bundle private copies of videoconvert code

Ideally, this would be part of libgstvideo.
Prefixes videoconvert symbols with videomixer_.

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

11 years agov4l2: Use newly #defined metadata names.
Mathieu Duponchelle [Wed, 21 Aug 2013 22:03:48 +0000 (00:03 +0200)]
v4l2: Use newly #defined metadata names.

11 years agortspsrc: only wait if we flushed
Wim Taymans [Mon, 9 Sep 2013 13:11:51 +0000 (15:11 +0200)]
rtspsrc: only wait if we flushed

Only wait for the STREAM_LOCK when we flushed something when sending
a command for PAUSED or PLAYING.

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

11 years agortspsrc: return when a flush was issued
Wim Taymans [Mon, 9 Sep 2013 13:09:41 +0000 (15:09 +0200)]
rtspsrc: return when a flush was issued

Make gst_rtspsrc_loop_send_cmd() return TRUE when the current
action has been flushed

11 years agortp: add L24 pay and depayloader
David Holroyd [Mon, 9 Sep 2013 09:16:40 +0000 (11:16 +0200)]
rtp: add L24 pay and depayloader

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

11 years agov4l2bufferpool: Fix missing condition in previous commit
Sebastian Dröge [Mon, 9 Sep 2013 12:46:42 +0000 (14:46 +0200)]
v4l2bufferpool: Fix missing condition in previous commit

11 years agov4l2bufferpool: Also fix strides for other semi-planar video formats
Sebastian Dröge [Mon, 9 Sep 2013 12:44:58 +0000 (14:44 +0200)]
v4l2bufferpool: Also fix strides for other semi-planar video formats

11 years agov4l2bufferpool: Fix stride for NV12/NV21
Andreea Fulger [Mon, 9 Sep 2013 12:41:42 +0000 (14:41 +0200)]
v4l2bufferpool: Fix stride for NV12/NV21

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

11 years agomatroskademux: fix leaking buffer and caps
Matej Knopp [Sat, 7 Sep 2013 14:37:03 +0000 (16:37 +0200)]
matroskademux: fix leaking buffer and caps

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

11 years agoudpsrc: fix build on win32
Tim-Philipp Müller [Thu, 5 Sep 2013 18:46:37 +0000 (19:46 +0100)]
udpsrc: fix build on win32

gstudpsrc.c:855:15: error: #if with no expression

11 years agoavidemux: handle unseekable streams
Wim Taymans [Wed, 4 Sep 2013 13:50:42 +0000 (15:50 +0200)]
avidemux: handle unseekable streams

Handle streams that we can't seek in and ignore them in the
seek logic.

11 years agoavidemux: only check video compression for video streams
Wim Taymans [Wed, 4 Sep 2013 13:25:39 +0000 (15:25 +0200)]
avidemux: only check video compression for video streams

Or else we might deref a stream with a NULL strf.vids and segfault

11 years agoqtdemux: Add support for the avc3 sample entry format of the AVC file format
Alex Ashley [Tue, 18 Jun 2013 12:27:20 +0000 (13:27 +0100)]
qtdemux: Add support for the avc3 sample entry format of the AVC file format

Amendment 2 of ISO/IEC 14496-15 (AVC file format) is defining a new
structure for fragmented MP4 called "avc3". The principal difference
between AVC1 and AVC3 is the location of the codec initialisation
data (e.g. SPS, PPS). In AVC1 this data is placed in the initial
MOOV box (moov.trak.mdia.minf.stbl.stsd.avc1) but in AVC3 this data
goes in the first sample of every fragment (i.e. the first sample in
each mdat box).  The principal reason for avc3 is to make it easier
for client implementations, because it removes the requirement to
insert the SPS+PPS in to the decoder pipeline every time there is a
representation change.

This commit adds support for the "avc3" atom, which is almost identical
to the "avc1" atom, except it does not contain any SPS or PPS data.

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

11 years agovideomixer: Don't set EOS to FALSE when the collectpad *is* EOS
Mathieu Duponchelle [Tue, 3 Sep 2013 22:27:50 +0000 (00:27 +0200)]
videomixer: Don't set EOS to FALSE when the collectpad *is* EOS

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

11 years agoflacparse: cleanup on error after state change
Matej Knopp [Tue, 3 Sep 2013 15:32:41 +0000 (17:32 +0200)]
flacparse: cleanup on error after state change

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