Tim-Philipp Müller [Thu, 27 Feb 2014 00:11:42 +0000 (00:11 +0000)]
rtpmanager: re-enable -Werror
Tim-Philipp Müller [Thu, 27 Feb 2014 00:11:11 +0000 (00:11 +0000)]
rtpjitterbuffer: fix compiler warning
gstrtpjitterbuffer.c: In function 'gst_rtp_jitter_buffer_loop':
gstrtpjitterbuffer.c:2978:3: error: 'result' may be used uninitialized in this function
while (result == GST_FLOW_OK);
^
Stefan Sauer [Wed, 26 Feb 2014 21:11:41 +0000 (22:11 +0100)]
Automatic update of common submodule
From 1a07da9 to fe1672e
Sebastian Dröge [Wed, 26 Feb 2014 20:11:23 +0000 (21:11 +0100)]
rtpjitterbuffer: Fix uninitialized variable compiler warning
Jake Foytik [Wed, 26 Feb 2014 12:32:32 +0000 (07:32 -0500)]
rtpjitterbuffer: Remove raw comparisons of RTP sequence numbers
Several conditional statements perform comparison on RTP sequence
numbers without taking the sequence number rollover into account.
Instead, use the gst_rtp_buffer_compare_seqnum function to perform the
comparison.
https://bugzilla.gnome.org/show_bug.cgi?id=725159
Sebastian Rasmussen [Mon, 3 Feb 2014 00:44:21 +0000 (01:44 +0100)]
tests: Don't build disabled plugins' check tests
https://bugzilla.gnome.org/show_bug.cgi?id=723502
Stefan Sauer [Wed, 26 Feb 2014 10:29:45 +0000 (11:29 +0100)]
docs: install prebuilt plugin docs if gtk-doc is disabled
Sync to the Makefile.am from gst-plugin-base where it is done right.
Fixes #725034
Hugues Fruchet [Tue, 25 Feb 2014 21:10:54 +0000 (16:10 -0500)]
v4l2object: do not emit "parsed" caps for vp8
VP8 doesn't require parsing (vp8parse doesn't exist, so negotiation with demux fails
if "parsed" is set in caps).
https://bugzilla.gnome.org/show_bug.cgi?id=724636
Nicolas Dufresne [Tue, 11 Feb 2014 21:27:08 +0000 (16:27 -0500)]
v4l2: Don't require parser for VP8
Until GStreamer has one (see bug722760), we should not require a parser for VP8.
https://bugzilla.gnome.org/show_bug.cgi?id=722128
Nicolas Dufresne [Mon, 10 Feb 2014 22:08:25 +0000 (17:08 -0500)]
v4l2: CAPTURE_MPLANE is well tested now
https://bugzilla.gnome.org/show_bug.cgi?id=722128
Benjamin Gaignard [Wed, 18 Dec 2013 08:56:35 +0000 (09:56 +0100)]
v4l2videodec: Create one element per device
For each videoCdevice probe it input/output capabilities
if it match with video decoder requirement register a new element.
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
https://bugzilla.gnome.org/show_bug.cgi?id=722128
Nicolas Dufresne [Thu, 19 Dec 2013 20:26:52 +0000 (15:26 -0500)]
v4l2videodec: Calculate latency from device information
Decoders or other devices that expose a minimum buffers required produce
an first output. We use this information to calculate latency.
https://bugzilla.gnome.org/show_bug.cgi?id=722128
Nicolas Dufresne [Thu, 28 Nov 2013 22:14:18 +0000 (17:14 -0500)]
v4l2videodec: Implement v4l2videodec
Implement an element that can driver V4L2 M2M decoder device.
https://bugzilla.gnome.org/show_bug.cgi?id=722128
Göran Jönsson [Tue, 11 Feb 2014 11:41:29 +0000 (12:41 +0100)]
rtph264pay: only update last_spspps time if all sps/pps got sent successfully
This fixes an issue with gst-rtsp-server where no sps and pps are
sent for the first intra frame, because the payloader starts working
already when receiving DESCRIBE but there is no transports so it tries
to send sps and pps, but that fails with a FLUSHING flow. But the time
for last sent sps and pps would still be set, so when PLAY arrives and
the first intra frame is to be sent there is no sps and pps sent due to
that time since last sps pps is less than spspps_interval.
https://bugzilla.gnome.org/show_bug.cgi?id=724213
Santiago Carot-Nemesio [Tue, 25 Feb 2014 08:00:45 +0000 (09:00 +0100)]
rtspsrc: Fix deadlock when task creation is no successful
https://bugzilla.gnome.org/show_bug.cgi?id=725124
Stefan Sauer [Sat, 22 Feb 2014 19:19:49 +0000 (20:19 +0100)]
autodetect: demote candidate error to warning and plug fake{sink,src}
In the case where we have no suitable candidate we post a warning and plug a
fake-element. Do the same when non of the candidate work.
This is more consistent and plugin the fakesink as a fallback is probably
helpful for running unit tests without requiring hardware src/sink elements.
Fixes #722981
Mark Nauwelaerts [Sun, 23 Feb 2014 11:34:48 +0000 (12:34 +0100)]
v4l2: make some more controls configurable
... at least if one tries hard enough using extra-controls property.
Dan Kegel [Sun, 23 Feb 2014 09:39:20 +0000 (10:39 +0100)]
v4l2: Require mplanar support for now in configure
The code fails to compile without currently, see
https://bugzilla.gnome.org/show_bug.cgi?id=723446
It's better to disable it instead of failing compilation
until this is fixed properly.
Stefan Sauer [Sat, 22 Feb 2014 23:14:04 +0000 (00:14 +0100)]
jack: add some simple log handlers for jack
Add log handlers for jack that write to the gst debug log. This avoids spamming
the console when e.g. using autoaudiosink, having the jack elements installed,
but not running jack.
Mark Nauwelaerts [Sat, 22 Feb 2014 20:31:21 +0000 (21:31 +0100)]
v4l2src: handle old and odd driver behaviour when listing controls
Darryl Gamroth [Fri, 29 Nov 2013 00:54:58 +0000 (16:54 -0800)]
audiofxbaseiirfilter: check if coefficients are provided inside filter lock
https://bugzilla.gnome.org/show_bug.cgi?id=719524
Tim-Philipp Müller [Fri, 21 Feb 2014 19:46:44 +0000 (19:46 +0000)]
v4l2src: also unset INTERLACED flag on buffers if frame is not interlaced
https://bugzilla.gnome.org/show_bug.cgi?id=724899
Simon Farnsworth [Fri, 21 Feb 2014 14:31:59 +0000 (14:31 +0000)]
v4l2src: Flag interlaced buffers as interlaced.
We correctly indicate the field ordering on interlaced buffers, but fail to
flag them as containing interlaced video, which we need to do here because
we signal interlace-mode=mixed in our caps. This means that downstream
elements (like vaapipostproc from gstreamer-vaapi) don't recognise these
buffers as in need of deinterlacing.
Fix this by setting the interlaced flag on all interlaced buffers.
Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
https://bugzilla.gnome.org/show_bug.cgi?id=724899
Reynaldo H. Verdejo Pinochet [Wed, 19 Feb 2014 16:56:37 +0000 (13:56 -0300)]
aacparse: be more strict at ADTS header parsing
Adds two extra checks:
- Sampling frequency on header can't be 15.
- Frame size should be at least 9 or 7, depending
on whether CRC protection is present.
https://bugzilla.gnome.org/show_bug.cgi?id=724638
Reynaldo H. Verdejo Pinochet [Wed, 19 Feb 2014 16:35:59 +0000 (13:35 -0300)]
aacparse: make sure we have enough ADTS data
We need at least 6 bytes to pass over to _get_frame_len()
but we were just checking for a minimum of 2 bytes for the
syncword.
https://bugzilla.gnome.org/show_bug.cgi?id=724638
Stefan Sauer [Thu, 20 Feb 2014 21:52:57 +0000 (22:52 +0100)]
autodetect: check if the kid has a sync property
previously autovideosrc did not have a sync property and v4l2src has none either.
Stefan Sauer [Wed, 19 Feb 2014 20:55:52 +0000 (21:55 +0100)]
autodetect: use a common baseclass
This makes the actual elements super simple. We're using the ELEMENT_FLAG to
configure source/sink and a string for the Audio/Video type.
Aleix Conchillo Flaqué [Sat, 15 Feb 2014 01:14:42 +0000 (17:14 -0800)]
rtspsrc: add tls-database property
Add support for a new property: tls-database. If the property is set,
the certificate database will be given to the rtsp connection if TLS
protocol is being used. If the server certificate can't be verified with
the default database, this additional database will be used.
https://bugzilla.gnome.org/show_bug.cgi?id=724396
Thijs Vermeir [Wed, 19 Feb 2014 21:21:54 +0000 (22:21 +0100)]
osxaudio: remove unused variables
Stefan Sauer [Wed, 19 Feb 2014 20:26:03 +0000 (21:26 +0100)]
autodetect: extract common helper code
The function to generate the pretty names is basically the same. Use one and add
a parameter.
Stefan Sauer [Wed, 19 Feb 2014 20:01:39 +0000 (21:01 +0100)]
autodetect: improve the tests
Add fake audio/video sinks. Previously running the test might be flaky due to
the use of real elements (hardware in use), which we don't want to test here.
Add two more tests that check that the fakes are chosen.
Branislav Katreniak [Wed, 19 Feb 2014 14:19:30 +0000 (15:19 +0100)]
souphttpsrc: do not emit error when connection with unknown size ends
Commit
46fd12ae5ec53200b16dfd7f17048d6bc60fbfbc introduced connection
recovery. But when server does not specify content-size,
souphttpsrc tries to reconnect even after regular end of stream.
Http server replies with SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE
but souphttpsrc still emits error instead of EOS.
https://bugzilla.gnome.org/show_bug.cgi?id=724717
Signed-off-by: Branislav Katreniak <bkatreniak@nuvotechnologies.com>
Stefan Sauer [Wed, 19 Feb 2014 10:26:22 +0000 (11:26 +0100)]
autodetect: fix the disabled test
Use a shared helper for both tests. It turns out that the valgrind variant is
fine (maybe due to picking up pulsesink though).
Stefan Sauer [Wed, 19 Feb 2014 10:05:35 +0000 (11:05 +0100)]
autodetect: remove cruft from the test
Remove the obsolete version check and use the ignore macro for the disabled test.
Stefan Sauer [Tue, 18 Feb 2014 21:54:45 +0000 (22:54 +0100)]
docs: use docbook markup for xi:include
It turns out that the change in gtk-doc-1.20 which wraps the |[]| content in
CDATA break xi:inlcude examples. As in a whole jhbuild checkout these where
the only 4, we're fixing them instead.
Stefan Sauer [Tue, 18 Feb 2014 21:35:45 +0000 (22:35 +0100)]
isomp4mux: fix copy and paste
This fixes doc warnings.
Stefan Sauer [Tue, 18 Feb 2014 20:44:24 +0000 (21:44 +0100)]
docs: use the gtk-doc syntax to link to properties
Don't use docbook unless needed. Also stip other docbook tags in the the files we fix.
Stefan Sauer [Tue, 18 Feb 2014 10:28:18 +0000 (11:28 +0100)]
pulsesink: fix crash when getting the current-device in NULL->READY
The "goto unlock" is wrong as in this code path we haven't take the lock yet.
Fixes #724619
Sebastian Dröge [Fri, 14 Feb 2014 21:50:49 +0000 (22:50 +0100)]
soup: We need libsoup >= 2.40 for proper usage of the content decoder
Previous versions did not consider our chunk allocator and allocated
memory by themselves, which caused crashes and broken behaviour.
William Jon McCann [Fri, 14 Feb 2014 20:27:20 +0000 (15:27 -0500)]
docs: fix mismatched para tags
newer gtkdoc is more sensitive to mismatched docbook tags.
This fixes the build in master.
Wim Taymans [Fri, 14 Feb 2014 14:59:46 +0000 (15:59 +0100)]
rtpjitterbuffer: add support for serialized queries
See https://bugzilla.gnome.org/show_bug.cgi?id=723850
Wim Taymans [Fri, 14 Feb 2014 14:53:55 +0000 (15:53 +0100)]
tests: fix typecast to fix compilation
Wim Taymans [Fri, 14 Feb 2014 11:01:00 +0000 (12:01 +0100)]
rtpsession: proxy caps and allocation on RTP pads
recv_rtp_sink: allow proxying of the allocation query.
send_rtp_sink: allow proxying of caps and allocation. This allows us to
query caps downstream as well as get an allocator from downstream.
send_rtp_src: allow proxy of caps, this makes the caps query do
upstream.
See https://bugzilla.gnome.org/show_bug.cgi?id=723850
Thiago Santos [Thu, 13 Feb 2014 15:29:13 +0000 (12:29 -0300)]
qtdemux: handle tags in mac encoding
Check the charset from (C)*** tags and set the charset
to convert from MAC encoding if suitable.
https://bugzilla.gnome.org/show_bug.cgi?id=723166
Sebastian Dröge [Thu, 13 Feb 2014 11:09:13 +0000 (12:09 +0100)]
souphttpsrc: Use new automatic_eos API from basesrc
We want to notice ourselves that we're EOS. Otherwise we will
always cancel requests in the very end and confuse the server...
and also make it impossible to use persistent connections.
Sebastian Dröge [Thu, 13 Feb 2014 10:11:13 +0000 (11:11 +0100)]
souphttpsrc: Consistently use have_size instead of content_size!=0
Sebastian Dröge [Thu, 13 Feb 2014 09:30:09 +0000 (10:30 +0100)]
souphttpsrc: Free extra headers when finalizing the element
It's set as property by the application, we should not just reset
properties when going back to READY.
Sebastian Dröge [Thu, 13 Feb 2014 09:28:13 +0000 (10:28 +0100)]
souphttpsrc: Properly close the session when going back to NULL
Don't wait for that until the element is disposed.
Andoni Morales Alastruey [Thu, 28 Feb 2013 11:20:52 +0000 (12:20 +0100)]
souphttpsrc: add support for keep-alive sessions
https://bugzilla.gnome.org/show_bug.cgi?id=699926
Sebastian Dröge [Wed, 12 Feb 2014 12:00:13 +0000 (13:00 +0100)]
souphttpsrc: Add "compress" property to enable/disable automatic gzip/deflate content encoding handling
Sebastian Dröge [Wed, 12 Feb 2014 11:39:10 +0000 (12:39 +0100)]
souphttpsrc: Retry connection if we're finished before the content size only if we actually have a content size
https://bugzilla.gnome.org/show_bug.cgi?id=722185
Sebastian Dröge [Wed, 12 Feb 2014 09:08:50 +0000 (10:08 +0100)]
souputils: Fix compiler warning
gstsouputils.c:35:25: error: comparison of constant 9 with expression of type
'SoupLoggerLogLevel' is always false
[-Werror,-Wtautological-constant-out-of-range-compare]
Reynaldo H. Verdejo Pinochet [Wed, 8 Jan 2014 02:00:56 +0000 (23:00 -0300)]
souphttp*: add ability to do HTTP session logging
This changeset adds the loggin infrastructure and
mods both souphttpsrc and souphttclientsink to use it.
https://bugzilla.gnome.org/show_bug.cgi?id=721764
divhaere [Fri, 7 Feb 2014 13:00:15 +0000 (14:00 +0100)]
matroska: add support for GRAY8, BGR and RGB video colourspaces in V_UNCOMPRESSED codec
https://bugzilla.gnome.org/show_bug.cgi?id=723849
Sebastian Dröge [Tue, 11 Feb 2014 12:25:46 +0000 (13:25 +0100)]
souphttpsrc: Add mapping for NOT_FOUND and NOT_AUTHORIZED errors
Sebastian Dröge [Tue, 11 Feb 2014 12:25:22 +0000 (13:25 +0100)]
souphttpsrc: Don't duplicate status_code to GStreamer error mapping
Sebastian Dröge [Sun, 9 Feb 2014 22:38:44 +0000 (23:38 +0100)]
goom: Remove unused functions
Sebastian Dröge [Sun, 9 Feb 2014 22:21:20 +0000 (23:21 +0100)]
matroskaparse: Comment out some unused functions used only from the commented out pull-mode code
Sebastian Dröge [Sat, 8 Feb 2014 20:01:32 +0000 (21:01 +0100)]
id3v2mux: Fix another compiler warning
Sebastian Dröge [Sat, 8 Feb 2014 16:43:32 +0000 (17:43 +0100)]
souphttpsrc: Fix implicit enum conversion compiler warning
error: implicit conversion from enumeration type
'SoupStatus' to different enumeration type 'SoupKnownStatusCode'
Sebastian Dröge [Sat, 8 Feb 2014 16:41:21 +0000 (17:41 +0100)]
interleave: Fix unitialized variable compiler warning in test
error: variable 'mask' is used uninitialized
whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
Sebastian Dröge [Sat, 8 Feb 2014 16:27:51 +0000 (17:27 +0100)]
id3v2mux: Fix unitialized variable compiler warning
error: variable 'image_type' is used uninitialized
whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
Sebastian Dröge [Sat, 8 Feb 2014 16:25:27 +0000 (17:25 +0100)]
oss4: Fix typo in header include guard
error: 'GST_OSS4_AUDIO_H' is used as a header guard here,
followed by #define of a different macro [-Werror,-Wheader-guard]
Sebastian Dröge [Sat, 8 Feb 2014 16:24:06 +0000 (17:24 +0100)]
rtprtxsend: Fix unitialized variable compiler warning
variable 'rtx_ssrc' is used uninitialized whenever
'if' condition is false [-Werror,-Wsometimes-uninitialized]
Sebastian Dröge [Sat, 8 Feb 2014 16:21:19 +0000 (17:21 +0100)]
rtpac3depay: Remove unused variable
Sebastian Dröge [Sat, 8 Feb 2014 16:19:19 +0000 (17:19 +0100)]
flx: Fix typo in header include guard
error: '__GST_FLX_FMT__H__' is used as a header guard here,
followed by #define of a different macro [-Werror,-Wheader-guard]
Thiago Santos [Fri, 7 Feb 2014 13:07:41 +0000 (10:07 -0300)]
qtmux: remove have_dts flag from pads
It was used in the past in 0.10 when there was no explicit DTS
field in buffers, now we have it in 1.x series and we can
check it directly with GST_BUFFER_DTS_IS_VALID
Thiago Santos [Fri, 7 Feb 2014 04:49:26 +0000 (01:49 -0300)]
qtmux: improve support for sparse streams
Do not try to use subsequent buffer timestamps to calculate
sparse streams durations because the stream is sparse and
the buffers might not be 'time adjacent'. So rely on the
duration and give the option to the pad to provide
custom 'empty' buffers to represent the gaps in the
stream, this can vary on how the data is represented.
Right now, the only sparse stream supported is tx3g subtitles.
Thiago Santos [Thu, 6 Feb 2014 15:15:22 +0000 (12:15 -0300)]
qtmux: add support for text/x-raw subtitles
Adds it to mp4mux, qtmux and gppmux.
Buffers need to be prefixed with 2 bytes for the text length before
being muxed.
https://bugzilla.gnome.org/show_bug.cgi?id=581295
Thiago Santos [Thu, 6 Feb 2014 15:09:01 +0000 (12:09 -0300)]
qtmux: add support for the TX3G atoms
Adds functions for creating and setting values related to the
tx3g atom for raw text subtitle support.
QTFF spec has information on those atoms
https://bugzilla.gnome.org/show_bug.cgi?id=581295
Thiago Santos [Wed, 5 Feb 2014 13:27:54 +0000 (10:27 -0300)]
qtmux: add subtitle support to qtmuxmap structures
adds basic stubs for subtitle support around the qtmux and
qtmuxmap structures. Still no real subtitle implemented, but
basic functions in place
https://bugzilla.gnome.org/show_bug.cgi?id=581295
Reynaldo H. Verdejo Pinochet [Mon, 20 Jan 2014 20:31:14 +0000 (17:31 -0300)]
matroska: factor out read context init/reset
While at this, move _track_reset() to track-ids
so it can be called from the common read context
reset routine.
https://bugzilla.gnome.org/show_bug.cgi?id=722705
Wim Taymans [Thu, 6 Feb 2014 11:21:07 +0000 (12:21 +0100)]
effectv: fix doc section of revtv element
Edward Hervey [Wed, 5 Feb 2014 11:46:54 +0000 (12:46 +0100)]
osxvideo: Fix libtool usage
--tag=CC is needed for static build
Matthieu Bouron [Thu, 16 Jan 2014 11:26:41 +0000 (11:26 +0000)]
deinterlace: do not try set deinterlace method if passthrough is enabled
Fixes an issue with progressive content and unsupported video formats
for the deinterlace method.
https://bugzilla.gnome.org/show_bug.cgi?id=719636
Tim-Philipp Müller [Tue, 4 Feb 2014 20:26:56 +0000 (21:26 +0100)]
flacenc: order format in template caps by preference
To minimise risk of bad fixation, though audioconvert
at least should be smart enough to avoid it.
Dan Kegel [Sun, 2 Feb 2014 17:57:03 +0000 (09:57 -0800)]
v4l2: Remove obsolete definition GST_V4L2_MISSING_BUFDECL
The only use was removed by
9edc0c0365f79ab07ff2e65461c6696e3931a3f0
https://bugzilla.gnome.org/show_bug.cgi?id=723446
Rafał Mużyło [Tue, 4 Feb 2014 12:43:56 +0000 (13:43 +0100)]
gst: Don't use endianness-specific S8 audio format
It does not exist.
https://bugzilla.gnome.org/show_bug.cgi?id=723331
Julien Isorce [Fri, 31 Jan 2014 14:17:54 +0000 (14:17 +0000)]
cairooverlay: add support for RGB16
https://bugzilla.gnome.org/show_bug.cgi?id=723289
Per x Johansson [Thu, 30 Jan 2014 08:43:50 +0000 (09:43 +0100)]
matroskamux: Fix constantly growing used uid list
Moves the used uid list to the class to avoid having it grow forever.
https://bugzilla.gnome.org/show_bug.cgi?id=723269
Edward Hervey [Thu, 30 Jan 2014 09:44:05 +0000 (10:44 +0100)]
Automatic update of common submodule
From d48bed3 to 1a07da9
Mike Sheldon [Fri, 24 Jan 2014 01:52:08 +0000 (01:52 +0000)]
wavparse: Ignore Broadcast Wave Format (BWF) tags when searching for 'fmt' chunk
https://bugzilla.gnome.org/show_bug.cgi?id=723125
Edward Hervey [Wed, 29 Jan 2014 09:37:53 +0000 (10:37 +0100)]
check: Use fakesink sync=True instead of an audio sink
Ensures the test can run on systems without alsa (or any audio output for
that matter), and will avoid people running build slaves wondering what
the hell was beeping during the night :)
Mark Nauwelaerts [Mon, 27 Jan 2014 19:05:42 +0000 (20:05 +0100)]
ac3parse: custom get_sink_caps handling for private stream caps
... now that those are transformed rather than parsed, some transforming
of caps is required as well to make auto-plugging succeed.
Ryan Lortie [Sat, 25 Jan 2014 07:06:00 +0000 (02:06 -0500)]
v4l2: guard use of ENODATA with #ifdef
Not all systems with v4l have ENODATA defined, so check that we have it
before attempting to use it.
https://bugzilla.gnome.org/show_bug.cgi?id=722953
Sebastian Dröge [Fri, 24 Jan 2014 11:37:39 +0000 (12:37 +0100)]
Revert "rtspsrc: Proxy rtpjitterbuffer do-retransmission property"
This reverts commit
9f7b1128b1f00a2b87a232ff890867549ab95ba5.
This should be handled automatically be rtspsrc if the AVPF profile
is used, and manual enabling of it can be done with the new-manager
signal.
Wim Taymans [Fri, 24 Jan 2014 09:21:11 +0000 (10:21 +0100)]
rtspsrc: add signal to notify of new manager
So that you can configure and connect to signals on the rtpbin.
See https://bugzilla.gnome.org/show_bug.cgi?id=722866
Aleix Conchillo Flaqué [Thu, 23 Jan 2014 23:17:58 +0000 (15:17 -0800)]
rtspsrc: Proxy rtpjitterbuffer do-retransmission property
https://bugzilla.gnome.org/show_bug.cgi?id=722866
Wim Taymans [Tue, 21 Jan 2014 16:52:44 +0000 (17:52 +0100)]
rtpjitterbuffer: handle expected packet being an RTX packet
If the expected packet (do_next_seqnum is TRUE) is the one we requested
for retranmission earlier, do the logic to update the retransmission
statistics as well before setting up the timers for the next expected
packet.
Also reset the retransmission counter if the timer is reused for another
seqnum.
Wim Taymans [Tue, 21 Jan 2014 14:48:20 +0000 (15:48 +0100)]
rtpbin: add a caps accumulator for the request-pt-map signal
Add an accumulator that stops the signal emission as soon as a caps has
been retrieved. Otherwise the default handler would continue emitting
the signal and possibly overwrite the result with NULL again.
Wim Taymans [Tue, 21 Jan 2014 14:25:54 +0000 (15:25 +0100)]
rtxreceive: copy flags and timestamps from original buffer
Wim Taymans [Tue, 21 Jan 2014 14:24:52 +0000 (15:24 +0100)]
rtpjitterbuffer: ignore invalid timestamps in rtt calculation
When the input buffer does not have a valid timestamp, don't try to
calculate the round-trip-time.
Reynaldo H. Verdejo Pinochet [Thu, 16 Jan 2014 17:23:13 +0000 (14:23 -0300)]
matroskaparse: better default caps when none set
Uses information gathered during EBML parsing to
forge a more suitable set of caps instead of blindly
assuming everything is video/x-matroska.
For consistency, stream type reset was added to
matroska-demux too.
https://bugzilla.gnome.org/show_bug.cgi?id=722311
George Kiagiadakis [Wed, 15 Jan 2014 16:29:35 +0000 (17:29 +0100)]
tests: rtprtx::test_rtxreceive_data_reconstruction: remove useless code for triggering retransmission
There is no need anymore to push yet another buffer in rtxsend
in order to trigger the previously requested retransmissions
to actually happen.
George Kiagiadakis [Wed, 15 Jan 2014 16:27:19 +0000 (17:27 +0100)]
tests: rtprtx::test_rtxreceive_data_reconstruction: fix race condition
Now with rtprtxsend pushing rtx buffers from a different thread,
this is necessary to ensure that the result of the test is deterministic.
This code makes use of GstCheck's global GMutex and GCond that are
being used inside GstCheck's sink pad chain() function in order
to synchronize with it.
George Kiagiadakis [Wed, 15 Jan 2014 16:17:57 +0000 (17:17 +0100)]
tests: rtprtx::test_rtxsender_packet_retention: fix race condition
Now with rtprtxsend pushing rtx buffers from a different thread,
this is necessary to ensure that the result of the test is deterministic.
This code makes use of GstCheck's global GMutex and GCond that are
being used inside GstCheck's sink pad chain() function in order
to synchronize with it.
George Kiagiadakis [Wed, 15 Jan 2014 10:26:33 +0000 (11:26 +0100)]
tests: rtprtx::test_push_forward_seq: fix race condition
Now with rtprtxsend pushing rtx buffers from a different thread,
this is necessary to ensure that the result of the test is deterministic.
This code makes use of GstCheck's global GMutex and GCond that are
being used inside GstCheck's sink pad chain() function in order
to synchronize with it.
George Kiagiadakis [Wed, 15 Jan 2014 08:47:03 +0000 (09:47 +0100)]
tests: rtprtx::test_push_forward_seq: fix buffer refcounting
George Kiagiadakis [Tue, 21 Jan 2014 12:42:38 +0000 (13:42 +0100)]
rtprtxsend: ensure that no rtx buffers are sent after EOS
To do that, enqueue the EOS event to be sent from the srcpad task
thread and flush the queue right afterwards, so that no more rtx
buffers can be sent, even if there are more requests coming in.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=722370
George Kiagiadakis [Wed, 15 Jan 2014 08:46:14 +0000 (09:46 +0100)]
rtprtxsend: run a new GstTask on the src pad
The reason behind this is to minimize the retransmission delay.
Previously, when a NACK was received, rtprtxsend would put a
retransmission packet in a queue and it would send it from chain(),
i.e. only after a new buffer would arrive.
This unfortunately was causing big delays, in the order of 60-100 ms,
which can be critical for the receiver side.
By having a separate GstTask for pushing buffers out of rtxsend,
we can push buffers out right after receiving the event, without
waiting for chain() to get called.