Vincent Penquerc'h [Fri, 2 May 2014 12:33:02 +0000 (13:33 +0100)]
matroska: blindly fix writing variable length negative values
Spotted while fixing something else in the area.
Nothing calls this with a negative value.
Vincent Penquerc'h [Fri, 2 May 2014 12:29:33 +0000 (13:29 +0100)]
matroska: do not lose the top bits when writing a > 32 bit value
Coverity 1139806
Vincent Penquerc'h [Fri, 2 May 2014 11:10:26 +0000 (12:10 +0100)]
videoflip: add missing break in switch
Coverity 1139755
Vincent Penquerc'h [Fri, 2 May 2014 10:39:39 +0000 (11:39 +0100)]
matroska: do not try to call gst_pad_query_default on a NULL pad
gst_matroska_parse_query can be called explicitely with a NULL pad.
If we reach this point with a NULL pad, fail the query.
Coverity 1139715
Vincent Penquerc'h [Fri, 2 May 2014 10:28:01 +0000 (11:28 +0100)]
matroska: do not return GST_FLOW_OK if we did not get a buffer
Coverity 1139714 (which will likely come back in another guise,
as the _read_init call can have a failing _map)
Vincent Penquerc'h [Fri, 2 May 2014 10:20:33 +0000 (11:20 +0100)]
matroska: catch failure to map buffer
Avoids dereferencing NULL.
Coverity 1139712
Vincent Penquerc'h [Fri, 2 May 2014 09:52:44 +0000 (10:52 +0100)]
avimux: refuse caps with invalid framerate
Coverity 1139701
Vincent Penquerc'h [Fri, 2 May 2014 09:21:09 +0000 (10:21 +0100)]
qtmux: handle 0 size packets without dividing by 0
Coverity 1139691
Vincent Penquerc'h [Fri, 2 May 2014 08:49:32 +0000 (09:49 +0100)]
qtdemux: guard against invalid frame size to avoid division by 0
Coverity 1139690
Vincent Penquerc'h [Fri, 2 May 2014 08:49:17 +0000 (09:49 +0100)]
qtdemux: trivial typo fix
Vincent Penquerc'h [Fri, 2 May 2014 08:43:54 +0000 (09:43 +0100)]
speexdec: remove dead code
fpp can never equal 0 here, or the loop would not execute at all.
Zero fpp was possible before as the loop condition was allowing
it specifically, but no more.
Coverity 1139681
Vincent Penquerc'h [Fri, 2 May 2014 08:41:19 +0000 (09:41 +0100)]
oss4: remove dead mixer code
This was partly removed in the port to 0.11. If still needed,
it's still there in the history.
Coverity 1139687
Vincent Penquerc'h [Fri, 2 May 2014 08:33:51 +0000 (09:33 +0100)]
oss4: fix a missing unlock and a return-only-when-assertions-enabled
Spotted on the side while looking at another issue.
Nicolas Dufresne [Fri, 7 Mar 2014 22:31:29 +0000 (17:31 -0500)]
v4l2: Correctly map RGB32 format
In v4l2 specification, RGB32 has the alpha, or pading, first, not last.
See http://linuxtv.org/downloads/v4l-dvb-apis/packed-rgb.html .
https://bugzilla.gnome.org/show_bug.cgi?id=540941
Vincent Penquerc'h [Wed, 30 Apr 2014 17:06:40 +0000 (18:06 +0100)]
flacdec: remove dead code
For 8 bit width, we always have depth==gdepth==width==8.
Coverity 1139678
Vincent Penquerc'h [Wed, 30 Apr 2014 16:48:53 +0000 (17:48 +0100)]
mpegaudioparse: remove dead code
A stricer check is already done earlier, and integer overflows
do not seem possible here.
Coverity 1139675
Vincent Penquerc'h [Wed, 30 Apr 2014 13:50:44 +0000 (14:50 +0100)]
rtpvrawpay: guard against pathological "no space" condition
Even if one woul hope one pixel can fit in a MTU, ensure we do not
overwrite a buffer if this is not the case.
Spotted while looking at Coverity 1208786
Vincent Penquerc'h [Wed, 30 Apr 2014 10:52:10 +0000 (11:52 +0100)]
rtpjpegdepay: sanity check for NULL qtable
Can happen (at least in crafted stream)
Coverity 1208778
Tim-Philipp Müller [Wed, 30 Apr 2014 00:08:41 +0000 (01:08 +0100)]
wavparse: pass on tags from upstream if there are any
Don't just ignore upstream tags from e.g. an ID3 tag before
the .wav data, pass them on downstream.
https://bugzilla.gnome.org/show_bug.cgi?id=729223
Wim Taymans [Tue, 29 Apr 2014 14:26:53 +0000 (16:26 +0200)]
rtpjitterbuffer: optimize timer update
When we are not doing retransmission, we just need to find the current
seqnum so we can stop when we found it.
Wim Taymans [Tue, 29 Apr 2014 14:21:44 +0000 (16:21 +0200)]
rtpjitterbuffer: small optimizations
Small optimizations where we can.
Add some more debug.
Wim Taymans [Tue, 29 Apr 2014 14:16:17 +0000 (16:16 +0200)]
rtpjitterbuffer: signal when next_seqnum changed
Signal the pushing thread when the next_seqnum changed and we might be
able to push a buffer now.
Wim Taymans [Tue, 29 Apr 2014 14:12:29 +0000 (16:12 +0200)]
rtpjitterbuffer: only signal event when head changed
After adding a buffer, only signal the pushing thread when the head
buffer changed or else we cause a useless wakeup.
Wim Taymans [Tue, 29 Apr 2014 13:29:31 +0000 (15:29 +0200)]
rtpjitterbuffer: rework packet insert
Rework the packet queue so that the most common action (insert a packet
at the tail of the queue) goes very fast.
Report if a packet was inserted at the head instead of the tail so that
we can know when to retry _pop or _peek.
Wim Taymans [Mon, 28 Apr 2014 12:41:10 +0000 (14:41 +0200)]
rtpvraw: use plane pointers when needed
Pack/unpack planar formats to/from the first plane.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=729058
Sebastian Dröge [Mon, 28 Apr 2014 07:47:10 +0000 (09:47 +0200)]
souphttpsrc: Remember if a redirect is permanent or not and store it in the query
Nicolas Dufresne [Mon, 28 Apr 2014 01:57:31 +0000 (21:57 -0400)]
goom: Remove french comment saying to prefix functions
All non-static function in this file are already prefixed with goom_.
Tim-Philipp Müller [Sun, 27 Apr 2014 23:20:47 +0000 (00:20 +0100)]
goom: fix compilation on ios-arm7-10.9 and osx-x86_64
uint is not a standard type, and the rest of the code uses
Uint which is locally typedefed to unsigned int.
https://bugzilla.gnome.org/show_bug.cgi?id=729067
Luis de Bethencourt [Sun, 27 Apr 2014 22:29:11 +0000 (18:29 -0400)]
goom: fix undefined behaviour of left-shift
Don't left-shift into the sign bit, the result is undefined and potentially
an overflow could flip the sign.
Luis de Bethencourt [Sun, 27 Apr 2014 00:51:36 +0000 (20:51 -0400)]
qtdemux: check return from qt_demux_video_caps
Now qtdemux_video_caps() can return NULL. We need to check this return before
using it's value.
https://bugzilla.gnome.org/show_bug.cgi?id=728987
Tim-Philipp Müller [Sat, 26 Apr 2014 22:35:17 +0000 (23:35 +0100)]
docs: remove outdated and pointless 'Last reviewed' lines from docs
They are very confusing for people, and more often than not
also just not very accurate. Seeing 'last reviewed: 2005' in
your docs is not very confidence-inspiring. Let's just remove
those comments.
Luis de Bethencourt [Fri, 25 Apr 2014 21:58:42 +0000 (17:58 -0400)]
qtdemux: initialize caps pointer to null
Make sure the caps pointer returns initialized when using it in
qtdemux_parse_tree ().
https://bugzilla.gnome.org/show_bug.cgi?id=728987
Jan Schmidt [Tue, 22 Apr 2014 07:07:38 +0000 (17:07 +1000)]
rtpjitterbuffer: Clear last_pt on flush-stop.
Otherwise, we don't recheck the buffer caps for clock-rate
properly on the next chain.
Sebastian Dröge [Tue, 22 Apr 2014 15:29:02 +0000 (17:29 +0200)]
deinterlace: Fix compiler warning
gstdeinterlace.c: In function 'gst_deinterlace_output_frame':
gstdeinterlace.c:1537:57: error: 'pattern.length' may be used uninitialized in this function [-Werror=maybe-uninitialized]
This actually is always initialized before it is used there, but
let's just silence gcc here.
Vincent Penquerc'h [Mon, 21 Apr 2014 14:58:45 +0000 (15:58 +0100)]
rtpmux: fix buffer list drop check
While porting to 0.11, the check was mistakenly made constant,
instead of testing for the return value of process_buffer_locked.
Coverity 1139663
Vincent Penquerc'h [Mon, 21 Apr 2014 12:44:15 +0000 (13:44 +0100)]
matroska: fix content encoding scope validity check
It's 3 bits, and http://matroska.org/technical/specs/index.html
says it can't be 0.
Coverity 1139660
Vincent Penquerc'h [Mon, 21 Apr 2014 12:34:37 +0000 (13:34 +0100)]
matroskamux: fix PAR fraction sanity check
It was checking par_num twice, and never par_denum.
Coverity 1139634
Vincent Penquerc'h [Mon, 21 Apr 2014 12:32:40 +0000 (13:32 +0100)]
multiidpsink: warn when setsockopt fails
This doesn't seem to be fatal, but it's good to let the user know
in the logs.
Coverity 1139630
Vincent Penquerc'h [Mon, 21 Apr 2014 12:27:24 +0000 (13:27 +0100)]
interlace: catch failure to create audio info from caps
Coverity 1139627, 1139628
Göran Jönsson [Thu, 13 Mar 2014 08:37:48 +0000 (09:37 +0100)]
gstrtph264pay: Reset sps pps variable when state change.
Reset last_spspps and sps/pps arrays when state transition
GST_STATE_CHANGE_PAUSED_TO_READY.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726015
Wim Taymans [Fri, 18 Apr 2014 09:11:14 +0000 (11:11 +0200)]
jitterbuffer: improve EOS handling
Make a new method to disable the jitterbuffer buffering.
Rework the update_estimated_eos() method. Calculate how much time
there is left to play. If we have less than the delay of the
jitterbuffer, we disabled buffering because we might never be able to
fill the complete jitterbuffer again.
If we receive an EOS event, disable buffering. We will drain the
buffer and eventually push the EOS event out.
When we reach the estimated NPT timeout and we didn't receive an EOS
event, make one and queue it so that it can be pushed.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=728017
Wim Taymans [Fri, 18 Apr 2014 08:21:27 +0000 (10:21 +0200)]
rtpsession: send reconfigure when internal-ssrc changes
When the internal-ssrc property changes, we want to send a reconfigure
upstream to make payloaders use the new suggested ssrc.
Using the internal-ssrc property to change the SSRC of a stream is not a
good idea and doesn't work when there are multiple senders, we want to
set the SSRC directly on the payloaders. Therefore, deprecate this
property.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725361
Wim Taymans [Fri, 18 Apr 2014 02:23:26 +0000 (04:23 +0200)]
jitterbuffer: assume a full buffer when eos
Rework the logic to make buffering messages a little, make sure we
don't make the same message multiple times.
Consider the buffer full when EOS was received.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=728017
Sebastian Dröge [Thu, 17 Apr 2014 16:07:09 +0000 (18:07 +0200)]
rtprtx: Don't forget to unmap rtp buffer in the test
Sebastian Dröge [Thu, 17 Apr 2014 15:58:58 +0000 (17:58 +0200)]
rtprtxsend: Require clock-rate in the caps and handle no ssrc in the caps properly
Sebastian Dröge [Thu, 17 Apr 2014 15:43:12 +0000 (17:43 +0200)]
rtprtx: Provide an ssrc in the test
And increase timeout to allow all tests to run in valgrind.
Sebastian Dröge [Thu, 17 Apr 2014 15:33:46 +0000 (17:33 +0200)]
rtpsession: Fix memory leaks in test
Sebastian Dröge [Thu, 17 Apr 2014 15:26:36 +0000 (17:26 +0200)]
rtpjitterbuffer: Fix hundreds of memory leaks in the test
Sebastian Dröge [Thu, 17 Apr 2014 15:00:37 +0000 (17:00 +0200)]
rtpjitterbuffer: Unref clock id when waiting for the clock is interrupted
Sebastian Dröge [Thu, 17 Apr 2014 14:39:59 +0000 (16:39 +0200)]
rtpcollision: Fix memory leaks in unit test
Tim-Philipp Müller [Wed, 16 Apr 2014 20:40:45 +0000 (21:40 +0100)]
videomixer: name collectpads object based on videomixer name
Makes it easier to track things in debug logs when there
are multiple mixers and muxers.
Tim-Philipp Müller [Wed, 16 Apr 2014 20:37:12 +0000 (21:37 +0100)]
videomixer: better logging of incoming events
The pad and parent names are already logged as part of logging
the object. Instead log the full event details.
Sebastian Dröge [Wed, 16 Apr 2014 17:03:47 +0000 (19:03 +0200)]
videomixer: Fix memory leak in unit test
Sebastian Dröge [Wed, 16 Apr 2014 16:49:43 +0000 (18:49 +0200)]
level: Use the correct number of samples to iterate over the input array
Fixes invalid memory accesses and accesses to uninitialised data.
Sebastian Dröge [Wed, 16 Apr 2014 16:00:49 +0000 (18:00 +0200)]
icydemux: Unref dropped events
Vincent Penquerc'h [Wed, 16 Apr 2014 16:29:30 +0000 (17:29 +0100)]
matroska: fix check for amount of data to read
History shows length==0 should set data to NULL and return,
so we do that too instead of trying to read nothing.
Coverity 206205
Vincent Penquerc'h [Wed, 16 Apr 2014 16:25:44 +0000 (17:25 +0100)]
deinterlace: fix sign comparison
history_count is unsigned, so the whole comparison will be made
as unsigned, and fail to reject what it was meant to.
Coverity 206204
Vincent Penquerc'h [Wed, 16 Apr 2014 16:04:50 +0000 (17:04 +0100)]
avidemux: remove dead code
sub may not be NULL in this switch, there is a bail out just
before it if so.
Coverity 206098
Vincent Penquerc'h [Wed, 16 Apr 2014 15:59:43 +0000 (16:59 +0100)]
flacparse: remove dead code
The block_size == 0 was shortcut earlier, and the variable is not
modified in the meantime.
Coverity 206097
Vincent Penquerc'h [Wed, 16 Apr 2014 15:56:54 +0000 (16:56 +0100)]
videomixer: remove dead code
While it seems to keep a compile time selection, I traced it
to some code copied from videoconvert, where it was removed,
with the following comment:
Also remove the high-quality I420 to BGRA fast-path as it needs
the same fix, which causes an additional instruction, which causes
orc to emit more than 96 variables, which then just crashes.
This can only be fixed in orc by breaking ABI and allowing more
variables.
Thus, I remove it here as well.
Coverity 206064
Vincent Penquerc'h [Wed, 16 Apr 2014 15:50:30 +0000 (16:50 +0100)]
isomp4: fix incorrect masking for multiple tags
Coverity 206058
Vincent Penquerc'h [Wed, 16 Apr 2014 15:45:08 +0000 (16:45 +0100)]
isomp4: fix wrong atom flags set when adding samples
Coverity 206057
Vincent Penquerc'h [Wed, 16 Apr 2014 15:40:02 +0000 (16:40 +0100)]
audiofx: fix comparison of delta time to a threshold
Coverity 206055
Vincent Penquerc'h [Wed, 16 Apr 2014 15:32:26 +0000 (16:32 +0100)]
wavparse: do not rely on call failure keeping return data unmodified
This is clearer this way too.
Coverity 206029
Vincent Penquerc'h [Wed, 16 Apr 2014 15:28:49 +0000 (16:28 +0100)]
isomp4: catch fseek error
Coverity 206028
Vincent Penquerc'h [Wed, 16 Apr 2014 15:25:44 +0000 (16:25 +0100)]
isomp4: report failures to caller
Coverity 206027
Wim Taymans [Wed, 16 Apr 2014 16:05:46 +0000 (18:05 +0200)]
rtpjitterbuffer: refuse serialied query when buffering
When we are buffering, we can't block and wait for the serialized query
to complete because the jitterbuffer will not try to forward the query
while buffering. Instead, just refuse the query.
Wim Taymans [Wed, 16 Apr 2014 14:51:15 +0000 (16:51 +0200)]
rtpjitterbuffer: don't free the serialized query
We should never free a serialized query in the queue, it is the upstream
caller that will free it.
Sebastian Dröge [Wed, 16 Apr 2014 15:35:42 +0000 (17:35 +0200)]
aacparse: Fix memory leak in the test
Sebastian Dröge [Wed, 16 Apr 2014 15:33:46 +0000 (17:33 +0200)]
videomixer: Create hashtable only when we actually use it
In error cases we previously returned without freeing it.
Sebastian Dröge [Wed, 16 Apr 2014 15:30:59 +0000 (17:30 +0200)]
videomixer: Chain up to the parent class' dispose function
Sebastian Dröge [Wed, 16 Apr 2014 15:23:27 +0000 (17:23 +0200)]
v4l2videodec: Initialise ioctl struct with zeroes before passing it to ioctl()
Marc Leeman [Wed, 16 Apr 2014 11:47:43 +0000 (13:47 +0200)]
udpsrc: correct LOG msg for -1
Signed-off-by: Marc Leeman <marc.leeman@gmail.com>
Sebastian Dröge [Tue, 15 Apr 2014 19:36:30 +0000 (21:36 +0200)]
interleave: Fix negotiation to work at all again
The caps query handling function for the sinkpads was called for
the srcpad, and the sinkpads had none. This commit moves it to the
right pad, but nonetheless the negotiation still looks wrong.
This makes the test pass again after the recent coverity fix
and also allows interleave to work again, but someone should
really review the negotiation code and fix it.
Edward Hervey [Sun, 13 Apr 2014 07:03:41 +0000 (09:03 +0200)]
oss4: Maximum number of channels support is 8
Avoids doing potential overwrites in ch_layout (which only has 8
fields).
CID #1139826
Sebastian Dröge [Sat, 12 Apr 2014 20:16:37 +0000 (22:16 +0200)]
osxvideosink: Set rank to MARGINAL
If available we prefer using glimagesink over osxvideosink. It supports
more formats and in general has more features than osxvideosink.
Josep Torra [Fri, 11 Apr 2014 16:19:49 +0000 (18:19 +0200)]
rtph264depay: only guess AU boundaries when aren't indicated by marker
The marker bit isn't mandatory and we had in place code to guess AU
boundaries by detecting a new picture start. This guessing code
didn't work with interlaced content that has proper marker bits
to indicate the AU boundaries. It was leaking the first field buffer
and producing a corrupted output.
fixes: https://bugzilla.gnome.org/show_bug.cgi?id=728041
Rafał Mużyło [Thu, 10 Apr 2014 13:38:19 +0000 (10:38 -0300)]
pngdec: enable libpng interlaced picture handling
Makes libpng deinterlace Adam7 interlaced pictures
by default. It is the only interlaced format available
and if the picture isn't interlaced the code should behave
as before.
https://bugzilla.gnome.org/show_bug.cgi?id=726161
Sebastian Dröge [Fri, 11 Apr 2014 11:27:42 +0000 (13:27 +0200)]
souphttpsrc: Only keep-alive the connection in stop() if we have finished all previous messages
After cancelling a request we need to create a new connection.
Edward Hervey [Fri, 11 Apr 2014 09:54:12 +0000 (11:54 +0200)]
dvdec: Don't set bogus timestamp/duration
This will happen if we have an incoming stream with a non-TIME segment
Could be improved later to figure out proper pts/duration.
CID #1199702
CID #1199703
Edward Hervey [Fri, 11 Apr 2014 09:53:42 +0000 (11:53 +0200)]
dvdec: Properly refuse incoming stream without framerate
The return value wasn't properly propagated back if the caps
didn't contain a framerate
Sebastian Dröge [Thu, 10 Apr 2014 14:35:28 +0000 (16:35 +0200)]
souphttpsrc: Also retry on unexpected network failures
Sebastian Dröge [Thu, 10 Apr 2014 13:45:41 +0000 (15:45 +0200)]
souphttpsrc: New property to specify the maximum number of retries before we give up
Alexander Zallesov [Thu, 13 Mar 2014 09:56:11 +0000 (10:56 +0100)]
souphttpsrc: Change default timeout to 15 seconds
If nothing happens after 15 seconds, chances are good that
our connection will never will work. Stop after 15 seconds
instead of waiting until the system's default timeout, which
can be > 1 minute.
Jimmy Ohn [Wed, 9 Apr 2014 08:30:54 +0000 (17:30 +0900)]
qtdemux: replace duplicated variable when parsing trex atom
https://bugzilla.gnome.org/show_bug.cgi?id=727878
Sebastian Dröge [Wed, 9 Apr 2014 08:56:29 +0000 (10:56 +0200)]
souphttpsrc: Use GST_FLOW_FLUSHING when flushing, not GST_FLOW_EOS
... and reset it properly after flushing is done. Fixes playback
in many cases when buffering is used.
https://bugzilla.gnome.org/show_bug.cgi?id=727821
Sebastian Dröge [Wed, 9 Apr 2014 06:58:04 +0000 (08:58 +0200)]
qtdemux: Properly return stream flags when parsing trex atom
https://bugzilla.gnome.org/show_bug.cgi?id=727867
Matthieu Bouron [Wed, 19 Mar 2014 19:18:11 +0000 (19:18 +0000)]
osxvideosink: use the video frame API instead of the video meta API
https://bugzilla.gnome.org/show_bug.cgi?id=726738
Matthieu Bouron [Wed, 19 Mar 2014 18:47:39 +0000 (18:47 +0000)]
osxvideosink: advertize video meta API support
https://bugzilla.gnome.org/show_bug.cgi?id=726737
Edward Hervey [Tue, 8 Apr 2014 09:31:06 +0000 (11:31 +0200)]
interleave: Add missing break in switch statement
The caps query is handled entirely already before.
CID #1139757
Reynaldo H. Verdejo Pinochet [Sun, 6 Apr 2014 21:03:11 +0000 (18:03 -0300)]
tests: souphttpsrc: use SoupKnownStatusCode if needed
From libsoup docs:
Prior to 2.44 SoupStatus was called SoupKnownStatusCode,
but the individual values have always had the names they
have now.
Fixes:
https://bugzilla.gnome.org/show_bug.cgi?id=727329
Vincent Penquerc'h [Mon, 7 Apr 2014 11:58:23 +0000 (12:58 +0100)]
avidemux: use frames, not bytes, for position query in VBR streams
Coverity 1139648
Vincent Penquerc'h [Mon, 7 Apr 2014 11:42:14 +0000 (12:42 +0100)]
smpte: fix copy/paste error causing unmap on wrong buffer
Coverity 1139647
Vincent Penquerc'h [Mon, 7 Apr 2014 11:16:17 +0000 (12:16 +0100)]
deinterlace: guard against finding no suitable pattern
The code handles a -1 pattern index, and it seems plausible
that a pattern might be found later, so it seems best to not
send an element error here.
Coverity 1139766
Wim Taymans [Fri, 4 Apr 2014 15:38:14 +0000 (17:38 +0200)]
rtspsrc: update for new MIKEY API
Wim Taymans [Thu, 3 Apr 2014 15:40:01 +0000 (17:40 +0200)]
rtspsrc: send sender SSRC in the MIKEY message
Allocate a new SSRC for our RTCP messages back to the server and set
this in the MIKEY message.
Wim Taymans [Thu, 3 Apr 2014 15:39:30 +0000 (17:39 +0200)]
rtspsrc: make random number for the CSB
As recommended in the RFC
Wim Taymans [Wed, 26 Mar 2014 11:10:44 +0000 (12:10 +0100)]
rtspsrc: don't put spaces in keymgmt header
Wim Taymans [Tue, 25 Mar 2014 16:47:49 +0000 (17:47 +0100)]
rtspsrc: create and send the RTCP encryption key
Create and make a key for encrypting the RTCP packets back to the server
and wrap this in a MIKEY message that we send as a header in the SETUP
request.
Wim Taymans [Thu, 3 Apr 2014 10:18:39 +0000 (12:18 +0200)]
rtspsrc: free the srtpdec element