platform/upstream/gstreamer.git
10 years agoqtdemux: Merge all the fourcc headers into one
Jan Schmidt [Wed, 20 Nov 2013 10:41:47 +0000 (21:41 +1100)]
qtdemux: Merge all the fourcc headers into one

Remove qtdemux_fourcc.h and ftypcc.h and put it all in fourcc.h

10 years agortpjitterbuffer: avoid mapping the buffer
Wim Taymans [Tue, 19 Nov 2013 09:10:51 +0000 (10:10 +0100)]
rtpjitterbuffer: avoid mapping the buffer

Reuse the parsed structure to get the timestamps.

10 years agortspsrc: fix 'make check'
Tim-Philipp Müller [Mon, 18 Nov 2013 17:13:49 +0000 (17:13 +0000)]
rtspsrc: fix 'make check'

Fix generic/states check. Also, g_return_if_fail() is
not for internal state checking.

10 years agodocs: get rid of 'Since: 0.10.x' markers
Tim-Philipp Müller [Mon, 18 Nov 2013 14:44:36 +0000 (14:44 +0000)]
docs: get rid of 'Since: 0.10.x' markers

And some gtk-doc markup fixes.

11 years agortpmanager: fix Since markers
Tim-Philipp Müller [Sat, 16 Nov 2013 12:15:14 +0000 (12:15 +0000)]
rtpmanager: fix Since markers

Should be next stable release series version

11 years agortpjitterbuffer: Fix stats property field names and documentation
George Kiagiadakis [Fri, 15 Nov 2013 11:48:07 +0000 (13:48 +0200)]
rtpjitterbuffer: Fix stats property field names and documentation

11 years agogstrtpsession: Implement a number of feedback packet statistics
Torrie Fischer [Fri, 15 Nov 2013 14:20:14 +0000 (15:20 +0100)]
gstrtpsession: Implement a number of feedback packet statistics

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

11 years agoqtdemux: remove math operation from loop
Thiago Santos [Wed, 13 Nov 2013 20:11:08 +0000 (17:11 -0300)]
qtdemux: remove math operation from loop

The elst_offset doesn't change inside the loop, so compute it
outside

11 years agoqtmux: fix playback regression
Stefan Sauer [Thu, 14 Nov 2013 19:54:32 +0000 (20:54 +0100)]
qtmux: fix playback regression

In ae1150e85cf99d7482933aa6f7e4f012fe45a3ec flipping a condition misaligned the
else branch, where for there condition that was change there is none.
Fixes #712303

11 years agortpjitterbuffer: rename property to 'stats'
Wim Taymans [Thu, 14 Nov 2013 08:20:06 +0000 (09:20 +0100)]
rtpjitterbuffer: rename property to 'stats'

This makes the unit test work.
We can later also add more stats, not specific to retransmission.

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

11 years agortpjitterbuffer: implement rtx statistics
Torrie Fischer [Tue, 12 Nov 2013 16:19:25 +0000 (11:19 -0500)]
rtpjitterbuffer: implement rtx statistics

11 years agov4l2object: print FOURCC_FORMAT when enumerating
Marc Leeman [Wed, 13 Nov 2013 10:42:21 +0000 (10:42 +0000)]
v4l2object: print FOURCC_FORMAT when enumerating

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

11 years agojitterbuffer: advance expected seqnum after dropping
Wim Taymans [Wed, 6 Nov 2013 11:40:06 +0000 (12:40 +0100)]
jitterbuffer: advance expected seqnum after dropping

After dropping a buffer, move our expected seqnum

Conflicts:
gst/rtpmanager/gstrtpjitterbuffer.c

11 years agogstpay: only send one caps
Wim Taymans [Mon, 4 Nov 2013 14:46:22 +0000 (15:46 +0100)]
gstpay: only send one caps

Only send one caps in a packet. Two caps can happen when setcaps is called and
the config-interval expires at the same time.

11 years agortspsrc: Use the synced buffer mode in auto mode if a clock provider is in the SDP
Sebastian Dröge [Wed, 13 Nov 2013 09:23:19 +0000 (10:23 +0100)]
rtspsrc: Use the synced buffer mode in auto mode if a clock provider is in the SDP

11 years agov4l2: init v4l2_buffer to 0x0 before ioctl
Marc Leeman [Fri, 8 Nov 2013 11:09:21 +0000 (11:09 +0000)]
v4l2: init v4l2_buffer to 0x0 before ioctl

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

11 years agortpsession: remove collision reconfigure event
Wim Taymans [Mon, 11 Nov 2013 14:27:18 +0000 (15:27 +0100)]
rtpsession: remove collision reconfigure event

Remove bogus reconfigure event on collision, we don't want to send the event on
the receiving RTP pad and the collision event is now handling this
case.

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

11 years agogstrtpsession: send custom upstream event "GstRTPCollision" on send_rtp_sink pad
Julien Isorce [Fri, 1 Nov 2013 17:04:28 +0000 (17:04 +0000)]
gstrtpsession: send custom upstream event "GstRTPCollision" on send_rtp_sink pad

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

11 years agocheck: add rtpsession test
Wim Taymans [Mon, 11 Nov 2013 13:25:51 +0000 (14:25 +0100)]
check: add rtpsession test

Add a basic rtpsession test to ensure that RR blocks are generated when
multiple SSRC senders are active.

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

11 years agoac3parse: correctly handle timestamps when parsing x-private1-ac3
Mark Nauwelaerts [Mon, 11 Nov 2013 12:17:25 +0000 (13:17 +0100)]
ac3parse: correctly handle timestamps when parsing x-private1-ac3

... the way it has always worked fine in a52dec.

11 years agortpjitterbuffer: fix crash when do-retransmission=true and a lot of buffers are lost
George Kiagiadakis [Tue, 5 Nov 2013 08:48:33 +0000 (10:48 +0200)]
rtpjitterbuffer: fix crash when do-retransmission=true and a lot of buffers are lost

The problem here was that the jitterbuffer lock was unlocked to push
the event, but that caused another thread to remove the timer currently
being processed, probably because the amount of rtx events
(and therefore timers) was getting too high. The solution is to
unlock and push the event only after timer processing has finished.

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

11 years agomatroskademux: Avoid division by zero assert in gst_matroska_demux_search_pos
Per x Johansson [Thu, 24 Oct 2013 11:16:42 +0000 (13:16 +0200)]
matroskademux: Avoid division by zero assert in gst_matroska_demux_search_pos

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

11 years agowavenc: generate a non-empty data header
Philippe Normand [Fri, 8 Nov 2013 16:59:24 +0000 (17:59 +0100)]
wavenc: generate a non-empty data header

Restore the behavior of the element to the state before commit
db29522a430e44450415ca3676abd1b77ee923d9. A non-empty header is
generated and when the EOS event is received the header is generated
again, this time with the correct size.

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

11 years agortpsource: update receiver stats for sender
Wim Taymans [Thu, 7 Nov 2013 15:17:16 +0000 (16:17 +0100)]
rtpsource: update receiver stats for sender

An internal sender in a session is also a receiver of its own packets so update
the receiver stats. Other senders in the session will use this info to generate
correct RB blocks in their SR reports.

11 years agortpsource: refactor receiver stats update
Wim Taymans [Thu, 7 Nov 2013 15:13:16 +0000 (16:13 +0100)]
rtpsource: refactor receiver stats update

11 years agoqtdemux: handle fragmented files with mdat before moofs
Thiago Santos [Fri, 25 Oct 2013 21:22:00 +0000 (18:22 -0300)]
qtdemux: handle fragmented files with mdat before moofs

Assume a file with atoms in the following order: moov, mdat, moof,
mdat, moof ...

The first moov usually doesn't contain any sample entries atoms (or
they are all set to 0 length), because the real samples are signaled
at the moofs. In push mode, qtdemux parses the moov and then finds the mdat,
but then it has 0 entries and assumes it is EOS.

This patch makes it continue parsing in case it is a fragmented file so that
it might find the moofs and play the media.

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

11 years agoqtdemux: When using a buffered mdat, store all received data for later use
Thiago Santos [Fri, 25 Oct 2013 14:42:37 +0000 (11:42 -0300)]
qtdemux: When using a buffered mdat, store all received data for later use

In push mode, when qtdemux can't use a seek to skip the mdat buffer it has
to buffer it for later use.

The issue is that after parsing the next moov/moof, there might be some
trailing bytes from the next atom in the file. This data was being discarded
along with the already parsed moov/moof and playback would fail to continue
after the contents of this moov/moof are played.

This is particularly bad on fragmented files that have the mdat before the
corresponding moof. So you'd get:

mdat|moof|mdat|moof ...

When a moof was received, it usually came with some extra bytes that would
belong to the next mdat (because upstream doesn't care about atoms alignment).
So those bytes were being discarded and playback would fail.

This patch makes qtdemux store those extra bytes to reuse them later after the
mdat is emptied.

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

11 years agomultiudpsink: Also use the bind-port property if no bind-address was given
Sebastian Dröge [Thu, 7 Nov 2013 08:49:55 +0000 (09:49 +0100)]
multiudpsink: Also use the bind-port property if no bind-address was given

11 years agoosxaudiosink: fix segfault when we can't get the channels layout
Andoni Morales Alastruey [Wed, 6 Nov 2013 23:51:12 +0000 (00:51 +0100)]
osxaudiosink: fix segfault when we can't get the channels layout

11 years agortpvp8pay: Make Picture ID mode configurable and default to no picture ID
Sebastian Dröge [Tue, 5 Nov 2013 16:26:49 +0000 (17:26 +0100)]
rtpvp8pay: Make Picture ID mode configurable and default to no picture ID

Some implementations (linphone) only support no picture at all in the
stream and will fail if one is provided.

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

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

From 865aa20 to dbedaa0

11 years agoAdd call to gst_rtp_h264_pay_clear_sps_pps() when receiving a STREAM_START event
Paul HENRYS [Tue, 29 Jan 2013 09:51:07 +0000 (10:51 +0100)]
Add call to gst_rtp_h264_pay_clear_sps_pps() when receiving a STREAM_START event

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

11 years agortsp: Add missing gio-2.0 deps and includes
Rico Tzschichholz [Sat, 2 Nov 2013 21:50:47 +0000 (22:50 +0100)]
rtsp: Add missing gio-2.0 deps and includes

11 years agoaudioiirfilter: Fix initialization coefficient handling
Sebastian Dröge [Fri, 1 Nov 2013 17:31:36 +0000 (18:31 +0100)]
audioiirfilter: Fix initialization coefficient handling

Broke unit test.

11 years agortspsrc: allow setting tls certificate validation flags
Aleix Conchillo Flaque [Thu, 31 Oct 2013 21:05:43 +0000 (14:05 -0700)]
rtspsrc: allow setting tls certificate validation flags

Added a new property "tls-validation-flags". If the url transport is
TLS, the validation flags will be set to the rtsp connection.

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

11 years agoaudioiirfilter: Don't crash if no filter coefficients are provided
Sebastian Dröge [Thu, 31 Oct 2013 21:43:49 +0000 (22:43 +0100)]
audioiirfilter: Don't crash if no filter coefficients are provided

...and by default use a identity filter.

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

11 years agowavpackenc: Fix writing of MD5 sums and other metadata blocks
Sebastian Dröge [Thu, 31 Oct 2013 18:15:12 +0000 (19:15 +0100)]
wavpackenc: Fix writing of MD5 sums and other metadata blocks

These don't have the FINAL_BLOCK flag set.

11 years agohdv1394src: Make it possible to select a camera by its GUID
Djalma Lúcio Soares da Silva [Thu, 31 Oct 2013 15:02:11 +0000 (13:02 -0200)]
hdv1394src: Make it possible to select a camera by its GUID

The source hdv1394src has the guid property that permits select a camera
connected from its GUID number.
However when this property is setted the selected camera is not changed.
The source continues using the default camera.

This problem was solved using the function iec61883_cmp_connect.
The reference for the function could be found here:
http://www.dennedy.org/libiec61883/API-iec61883-cmp-connect.html

The solution came from dvgrab source code.

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

11 years agotests: souphttpsrc: add explicit cast to silence warning
Thiago Santos [Thu, 31 Oct 2013 16:20:41 +0000 (13:20 -0300)]
tests: souphttpsrc: add explicit cast to silence warning

Silencing this warning:

elements/souphttpsrc.c:533:14: error: comparison between ‘SoupKnownStatusCode’ and ‘enum <anonymous>’ [-Werror=enum-compare]
   if (status != SOUP_STATUS_OK && !send_error_doc)

With gcc 4.8.2 (debian)

11 years agortspsrc: proxy new buffer mode
Wim Taymans [Thu, 31 Oct 2013 09:38:35 +0000 (10:38 +0100)]
rtspsrc: proxy new buffer mode

11 years agojitterbuffer: add new timestamp mode
Wim Taymans [Wed, 30 Oct 2013 15:49:36 +0000 (16:49 +0100)]
jitterbuffer: add new timestamp mode

Add a new timestamp mode that assumes the local and remote clock are
synchronized. It takes the first timestamp as a base time and then uses the RTP
timestamps for the output PTS.

11 years agomatroska-demux: Fix compiler warning
Sebastian Dröge [Wed, 30 Oct 2013 21:12:45 +0000 (22:12 +0100)]
matroska-demux: Fix compiler warning

matroska-demux.c: In function 'gst_matroska_demux_add_stream':
matroska-demux.c:1379:7: error: format '%u' expects argument of type 'unsigned int', but argument 4 has type 'guint64' [-Werror=format=]
       "%03u", context->uid);
       ^

11 years agovideomixer: remove unneeded guint comparaison
Matthieu Bouron [Mon, 28 Oct 2013 13:21:15 +0000 (13:21 +0000)]
videomixer: remove unneeded guint comparaison

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

11 years agoosxvideosink: fix missing selector name warnings
Matthieu Bouron [Mon, 28 Oct 2013 14:13:12 +0000 (14:13 +0000)]
osxvideosink: fix missing selector name warnings

The spaces matter in ObjC

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

11 years agoy4menc: fix uninitialized variable warning
Matthieu Bouron [Mon, 28 Oct 2013 13:31:34 +0000 (13:31 +0000)]
y4menc: fix uninitialized variable warning

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

11 years agoqtdemux: check if the end_time is defined before using it
Thiago Santos [Fri, 25 Oct 2013 14:30:36 +0000 (11:30 -0300)]
qtdemux: check if the end_time is defined before using it

Avoids sending EOS too soon because of overflow. Can happen on
fragmented mp4 playback.

11 years agoqtdemux: use correct unref function
Thiago Santos [Wed, 23 Oct 2013 16:38:20 +0000 (13:38 -0300)]
qtdemux: use correct unref function

Events aren't GstObjects, but GstMiniObjects

11 years agoqtdemux: rename chunks_are_chunks to chunks_are_samples and flip the logic
Stefan Sauer [Tue, 15 Oct 2013 06:16:20 +0000 (08:16 +0200)]
qtdemux: rename chunks_are_chunks to chunks_are_samples and flip the logic

As the variable name suggests, sometimes chunks are chunks. Rename the variable
to tell what they are when they are not chunks.

11 years agoqtdemux: fix typos and add more logging for unhandled parts
Stefan Sauer [Wed, 9 Oct 2013 06:04:20 +0000 (08:04 +0200)]
qtdemux: fix typos and add more logging for unhandled parts

11 years agomultiudpsink: Fix memory leak
Ognyan Tonchev [Mon, 14 Oct 2013 14:23:25 +0000 (16:23 +0200)]
multiudpsink: Fix memory leak

Unmap all GstMemory of the current buffer when flushing.

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

11 years agoflvmux: fix broken sample pipeline
Tim-Philipp Müller [Sat, 12 Oct 2013 19:44:31 +0000 (20:44 +0100)]
flvmux: fix broken sample pipeline

which was muxing raw audio and video into flvmux, which won't work,
even if there were converters.

11 years agoflvmux: require stream-format=raw for mpeg-2 too, but don't require framed field
Tim-Philipp Müller [Sat, 12 Oct 2013 19:37:41 +0000 (20:37 +0100)]
flvmux: require stream-format=raw for mpeg-2 too, but don't require framed field

raw implies that it's framed already. Fixes .. ! faac ! flvmux

11 years agosouphttpsrc: do not emit EOS when connection drops
Thiago Santos [Mon, 7 Oct 2013 17:27:21 +0000 (14:27 -0300)]
souphttpsrc: do not emit EOS when connection drops

If the pipeline is stalled for too long, souphttpsrc will block and
stop fetching data from the network. This can cause the connection to
drop and souphttpsrc would handle it as an EOS. This patch makes it
persist and try to fetch more data until the end of the content length
or until receiving an error that it is beyong limits in case the content
is unknown.

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

11 years agodvdec: Don't send segment event before caps
Sebastian Dröge [Thu, 10 Oct 2013 11:52:35 +0000 (13:52 +0200)]
dvdec: Don't send segment event before caps

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

11 years agodvdemux: Send stream-start, caps and segment events in the right order
Sebastian Dröge [Wed, 9 Oct 2013 15:46:33 +0000 (17:46 +0200)]
dvdemux: Send stream-start, caps and segment events in the right order

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

11 years agowavenc: A-Law and Mu-Law don't have width/depth/signed caps fields
Sebastian Dröge [Tue, 8 Oct 2013 09:28:04 +0000 (11:28 +0200)]
wavenc: A-Law and Mu-Law don't have width/depth/signed caps fields

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

11 years agodeinterlace: Fix handling of planar video formats in greedyh method
Sebastian Dröge [Mon, 7 Oct 2013 10:54:11 +0000 (12:54 +0200)]
deinterlace: Fix handling of planar video formats in greedyh method

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

11 years agomatroska: Trivial grammar fix on debug msg
Reynaldo H. Verdejo Pinochet [Sun, 6 Oct 2013 17:01:26 +0000 (10:01 -0700)]
matroska: Trivial grammar fix on debug msg

11 years agomatroskamux: Add context flag for WebM
Reynaldo H. Verdejo Pinochet [Sun, 6 Oct 2013 16:17:00 +0000 (09:17 -0700)]
matroskamux: Add context flag for WebM

WebM has a couple of specific requirements we need to handle.
Idea is to set this flag once and just rely on mux->is_webm
at run time instead of repeatedly figuring this out from
GST_MATROSKA_DOCTYPE_WEBM (which requires a strcmp()).

11 years agomatroska: Do not write SegmentUID for WebM mux
Reynaldo H. Verdejo Pinochet [Fri, 4 Oct 2013 21:42:59 +0000 (14:42 -0700)]
matroska: Do not write SegmentUID for WebM mux

WebM spec states SegmentUID is Unsupported. Files produced
with gstreamer without this change will spit an error like
this when passed to mkvalidator:

ERR201: Invalid 'SegmentUID' for profile 'webm' in Info at 192

11 years agomatroskademux: make dvd palette change event sticky
Matej Knopp [Fri, 4 Oct 2013 22:00:03 +0000 (00:00 +0200)]
matroskademux: make dvd palette change event sticky

So they don't get lost.

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

11 years agovideoflip: Add automatic flip mode driven by image-orientation tag
Nicolas Dufresne [Thu, 3 Oct 2013 20:39:26 +0000 (16:39 -0400)]
videoflip: Add automatic flip mode driven by image-orientation tag

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

11 years agov4l2bufferpool: O_CLOEXEC needs _GNU_SOURCE
Peter Korsgaard [Fri, 4 Oct 2013 11:34:09 +0000 (13:34 +0200)]
v4l2bufferpool: O_CLOEXEC needs _GNU_SOURCE

On some systems (E.G. uClibc and older Glibc versions), O_CLOEXEC is only
defined when _GNU_SOURCE is specified, so do so.

_GNU_SOURCE needs to be defined before any system headers are included,
so move the fcntl.h section up.

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

11 years agojitterbuffer: fix race in flush-start/flush-stop
Wim Taymans [Fri, 4 Oct 2013 10:11:56 +0000 (12:11 +0200)]
jitterbuffer: fix race in flush-start/flush-stop

When flush-stop arrives before we process the result of the _push() in the
loop function, we might pause even though we are not flushing anymore. Fix this
race by waiting for the srcpad loop function to completely pause after doing the
flush-start.

11 years agovideomixer: Update videoconvert copy
Mathieu Duponchelle [Thu, 3 Oct 2013 20:38:43 +0000 (22:38 +0200)]
videomixer: Update videoconvert copy

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

11 years agovideomixer: Check if the pad needs reconfiguration in collected
Mathieu Duponchelle [Thu, 3 Oct 2013 19:36:34 +0000 (21:36 +0200)]
videomixer: Check if the pad needs reconfiguration in collected

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

11 years agojpegdec: Relax sink caps
Matthieu Bouron [Thu, 3 Oct 2013 13:39:35 +0000 (14:39 +0100)]
jpegdec: Relax sink caps

Since jpegdec already parse the jpeg stream, the sink caps could be
relaxed. This will allow jpegdec to be selected in more case and in
particular when the jpeg typefinder does not find the width and height.

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

11 years agov4l2src: print probed caps as caps again in debug log
Tim-Philipp Müller [Thu, 3 Oct 2013 17:33:01 +0000 (18:33 +0100)]
v4l2src: print probed caps as caps again in debug log

This got lost during refactoring.

11 years agoqtdemux: Add support for the mp2v fourcc for MPEG-2 video
Sebastian Dröge [Thu, 3 Oct 2013 09:59:25 +0000 (11:59 +0200)]
qtdemux: Add support for the mp2v fourcc for MPEG-2 video

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

11 years agomatroskademux: Fix memory leak
Ognyan Tonchev [Wed, 2 Oct 2013 13:56:53 +0000 (15:56 +0200)]
matroskademux: Fix memory leak

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

11 years agoqtdemux: Add HEVC support
Sreerenj Balachandran [Mon, 30 Sep 2013 09:31:42 +0000 (12:31 +0300)]
qtdemux: Add HEVC support

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

11 years agortpgstpay: Fix memory leak
Ognyan Tonchev [Mon, 30 Sep 2013 10:24:32 +0000 (12:24 +0200)]
rtpgstpay: Fix memory leak

We were leaking the GList nodes of the pending buffers.

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

11 years agortpjitterbuffer: fix race when updating the next_seqnum
Wim Taymans [Mon, 30 Sep 2013 10:31:00 +0000 (12:31 +0200)]
rtpjitterbuffer: fix race when updating the next_seqnum

If we were not waiting for the missing seqnum when we insert the lost packet
event in the jitterbuffer, we end up not updating the next_seqnum and wait
forever for the lost packets to arrive. Instead, keep track of the amount of
packets contained by the jitterbuffer item and update the next expected
seqnum only after pushing the buffer/event. This makes sure we correctly handle
GAPS in the sequence numbers.

11 years agortpjitterbuffer: small debug improvement
Wim Taymans [Mon, 30 Sep 2013 10:30:23 +0000 (12:30 +0200)]
rtpjitterbuffer: small debug improvement

11 years agortpjitterbuffer: reset skew does not reset clock-rate
Wim Taymans [Mon, 30 Sep 2013 09:53:08 +0000 (11:53 +0200)]
rtpjitterbuffer: reset skew does not reset clock-rate

Don't reset the clock-rate when we reset the skew correction algorithm.
Reset the skew correction algorithm when we change the clock-rate.

11 years agortpjitterbuffer: pause timer when PAUSED
Wim Taymans [Mon, 30 Sep 2013 09:16:32 +0000 (11:16 +0200)]
rtpjitterbuffer: pause timer when PAUSED

Also pause the timer when we go to the PAUSED state. It is possible that we
don't have a clock or base-time in PAUSED to perform the timeouts.

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

11 years agomp4mux: Do not require framerate in peer video caps
Hans Månsson [Thu, 26 Sep 2013 18:41:26 +0000 (20:41 +0200)]
mp4mux: Do not require framerate in peer video caps

Remove the framerate restriction on the caps.

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

11 years agortspsrc: also go into the loop function after connect
Wim Taymans [Fri, 27 Sep 2013 13:05:04 +0000 (15:05 +0200)]
rtspsrc: also go into the loop function after connect

When we have opened the stream, go into the loop function so that we can
receive messages from the server.

11 years agomatroskademux: move the check for subtitle buffer being null terminated before valida...
Matej Knopp [Fri, 27 Sep 2013 10:53:06 +0000 (12:53 +0200)]
matroskademux: move the check for subtitle buffer being null terminated before validating UTF-8

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

11 years agortpjitterbuffer: don't calculate skew without rtptime
Wim Taymans [Thu, 26 Sep 2013 14:20:04 +0000 (16:20 +0200)]
rtpjitterbuffer: don't calculate skew without rtptime

Skip trying to calculate the skew when we don't have an rtptime.
It causes problems when lost packet events are placed in the jitterbuffer.

11 years agoconfigure: get rid of AS_SCRUB_INCLUDE
Tim-Philipp Müller [Wed, 25 Sep 2013 22:46:14 +0000 (23:46 +0100)]
configure: get rid of AS_SCRUB_INCLUDE

Should not be needed any more.

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

11 years agortspsrc: disable checks when linking pads
Wim Taymans [Wed, 25 Sep 2013 15:42:02 +0000 (17:42 +0200)]
rtspsrc: disable checks when linking pads

We know the pad links will work (and we don't check the return value
anyway).

11 years agortpbin: avoid some pad link checks
Wim Taymans [Wed, 25 Sep 2013 15:36:15 +0000 (17:36 +0200)]
rtpbin: avoid some pad link checks

Link pads without checks, we know it will work.

11 years agoqtmux: Don't error out if downstream is not seekable for non-fragmented variants
Sebastian Dröge [Wed, 25 Sep 2013 10:55:21 +0000 (12:55 +0200)]
qtmux: Don't error out if downstream is not seekable for non-fragmented variants

Doing so would be a regression over 1.0 and breaks the unit test.
However the result will be most likely unusable, so let's post
a warning message on the bus.

11 years agortpjitterbuffer: calculate some stats
Wim Taymans [Tue, 24 Sep 2013 02:02:09 +0000 (04:02 +0200)]
rtpjitterbuffer: calculate some stats

11 years agortpjitterbuffer: move send_lost_event function
Wim Taymans [Mon, 23 Sep 2013 15:05:44 +0000 (17:05 +0200)]
rtpjitterbuffer: move send_lost_event function

Move the send_lost_event function to the do_lost_event handling, there is no
need to have a separate function.

11 years agoqtdemux: add code to parse creation time earlier than 1970
Thiago Santos [Mon, 16 Sep 2013 14:20:51 +0000 (11:20 -0300)]
qtdemux: add code to parse creation time earlier than 1970

Use g_date_time seconds manipulation to allow to cover the quicktime
spec for creation_time. It uses seconds since 1904.

Both paths could be done using the generic approach of seconds since
1904 with GDateTime handling, but the first path using seconds from
1970 should be more commonly found and avoids a few objects creation and
ref/unref, so keep it there for performance.

Additionally, the code for handling seconds since 1970 changed from >
to >= because having 0 seconds since 1970 is also a valid case for that
path to handle.

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

11 years agomatroskademux: update stream->pos when sending buffers so that gap events are not...
Matej Knopp [Fri, 20 Sep 2013 22:55:26 +0000 (00:55 +0200)]
matroskademux: update stream->pos when sending buffers so that gap events are not sent unnecessarily

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

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

From 6b03ba7 to 865aa20

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

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

11 years agoRelease 1.2.0
Sebastian Dröge [Tue, 24 Sep 2013 12:21:08 +0000 (14:21 +0200)]
Release 1.2.0

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

11 years agoosxvideosink: fix segfault releasing the sink
Andoni Morales Alastruey [Fri, 20 Sep 2013 17:43:21 +0000 (19:43 +0200)]
osxvideosink: fix segfault releasing the sink

show_frame is deferred to the main thread and can be called
when the sink has been released, so we need to keep an extra ref
on ObjectiveC object helper.

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

11 years agov4l2bufferpool: Restore original GstMemory in buffer if it has been changed
Robert Krakora [Thu, 19 Sep 2013 21:11:34 +0000 (17:11 -0400)]
v4l2bufferpool: Restore original GstMemory in buffer if it has been changed

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

11 years agortpmanager: update docs
Wim Taymans [Mon, 23 Sep 2013 14:34:15 +0000 (16:34 +0200)]
rtpmanager: update docs

11 years agodocs: update docs with 1.0 element names
Wim Taymans [Mon, 23 Sep 2013 13:36:32 +0000 (15:36 +0200)]
docs: update docs with 1.0 element names

11 years agotests: add test for retransmission because of reordering
Wim Taymans [Mon, 23 Sep 2013 12:13:30 +0000 (14:13 +0200)]
tests: add test for retransmission because of reordering

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.