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
Wim Taymans [Thu, 3 Apr 2014 10:16:25 +0000 (12:16 +0200)]
rtspsrc: cleanup stream_free function
There is no reason to NULL all fields, we will free the stream anyway.
Wim Taymans [Thu, 3 Apr 2014 10:07:31 +0000 (12:07 +0200)]
jitterbuffer: demote warning to debug
For TCP, it is normal that we don't have timestamps so don't WARN on
it.
Nicolas Dufresne [Sat, 29 Mar 2014 23:13:06 +0000 (19:13 -0400)]
v4l2: Fix support for caps without width, height, framerate or format
For format like mpegts, width and height is rarely in the negotiated caps. This
patch fixes failure when setting format, and prevent introducing width, height,
framerate and format to the caps when fixating.
https://bugzilla.gnome.org/show_bug.cgi?id=725860
Thibault Saunier [Mon, 31 Mar 2014 16:34:13 +0000 (18:34 +0200)]
avidemux: Always set PTS=DTS on raw video streams
Thibault Saunier [Mon, 31 Mar 2014 16:31:22 +0000 (18:31 +0200)]
avidemux: Always set pixel-aspect-ratio on raw video streams
That field is mandatory in caps and if it is not present in the
AVI container, it means square pixels thus 1/1.
Tim-Philipp Müller [Sun, 30 Mar 2014 00:35:07 +0000 (00:35 +0000)]
matroska-mux: add mapping for Opus audio
Might want to consider adding channels/rate
requirement to template caps, but requires
fixing up of encoder and parser first.
Tim-Philipp Müller [Sun, 30 Mar 2014 00:31:11 +0000 (00:31 +0000)]
matroska-demux: add mapping for Opus audio codec
https://bugzilla.gnome.org/show_bug.cgi?id=727305
William Manley [Sat, 29 Mar 2014 21:21:17 +0000 (17:21 -0400)]
v4l2src: Fix support for mpegts streams
It seems that GStreamer's mpegts elements (tsdemux, tsparse) require caps
`video/mpegts,systemstream=true`. As far as I can see the significance
of systemstream is to indicate that this is a container format rather than
an elementary stream. As this is the case (and I can't understand how it
could not be the case with mpegts) I add systemstream=true to v4l2src's
caps.
This allows v4l2src to be linked with tsdemux for playback from my
Hauppauge HD-PVR with the pipeline:
v4l2src ! queue ! tsdemux ! video/x-h264 ! decodebin ! xvimagesink
In combination with the next commit this fixes using Hauppauge HD-PVR with
GStreamer 1.0+.
Vincent Penquerc'h [Tue, 14 Jan 2014 14:48:42 +0000 (14:48 +0000)]
v4l2: attempt to fix infinite (for small version of infinite) loop
Tim-Philipp Müller [Sat, 29 Mar 2014 13:20:30 +0000 (13:20 +0000)]
rtpmanager: copy sticky events when exposing pads in more places
https://bugzilla.gnome.org/show_bug.cgi?id=724712
Rico Tzschichholz [Fri, 28 Mar 2014 19:11:36 +0000 (20:11 +0100)]
v4l2: fix distcheck
Make sure ext/*.h are dist'ed
Tim-Philipp Müller [Thu, 27 Mar 2014 19:51:50 +0000 (19:51 +0000)]
ximagesrc: only extrapolate alpha mask for 32-bit depth
Instead of passing bogus alpha mask values when there's no alpha.
https://bugzilla.gnome.org/show_bug.cgi?id=726833
Nicolas Dufresne [Fri, 21 Mar 2014 17:03:17 +0000 (13:03 -0400)]
ximagesrc: Add ARGB/BGRA support
Ognyan Tonchev [Thu, 20 Mar 2014 14:28:26 +0000 (15:28 +0100)]
jpegpay: consider header len when calculating payload len
Fixed https://bugzilla.gnome.org/show_bug.cgi?id=726777
Sebastian Dröge [Wed, 26 Mar 2014 07:03:22 +0000 (08:03 +0100)]
jpegdec: All frames are sync points
Sebastian Dröge [Wed, 26 Mar 2014 07:02:43 +0000 (08:02 +0100)]
pngdec: All frames are sync points
Mark Nauwelaerts [Sat, 22 Mar 2014 16:07:46 +0000 (17:07 +0100)]
matroskademux: segment closing not needed in 1.x
... as sender should keep track of segment base accumulation.
Rather, it may have some adverse effects as a spurious segment event,
e.g. in collectpads.
Mark Nauwelaerts [Sat, 22 Mar 2014 16:05:17 +0000 (17:05 +0100)]
matroskademux: early sending pending codec-data for all streams
... at least before syncing across all streams might cause some gap
activity on any of those streams, notably sparse streams.
See also #712134
Mark Nauwelaerts [Sat, 22 Mar 2014 16:01:27 +0000 (17:01 +0100)]
matroskamux: handle both sticky and non-sticky custom event
Wim Taymans [Tue, 25 Mar 2014 10:44:27 +0000 (11:44 +0100)]
rtspsrc: only expose streams on dataflow
Only probe on buffers, we don't want to expose the streams on events.
Wim Taymans [Tue, 25 Mar 2014 10:36:40 +0000 (11:36 +0100)]
rtspsrc: copy sticky events to ghostpad
When we expose internal pads as ghostpads, first copy the sticky events
so that we have the caps and segment etc.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724712
Wim Taymans [Mon, 24 Mar 2014 13:25:43 +0000 (14:25 +0100)]
rtspsrc: srtp handling
Wim Taymans [Tue, 25 Mar 2014 09:23:00 +0000 (10:23 +0100)]
rtspsrc: set SSRC on caps if known
Wim Taymans [Mon, 24 Mar 2014 15:58:25 +0000 (16:58 +0100)]
rtspsrc: put caps on udpsrc instead of using the signals
Try to avoid using the request-pt-map to get caps but set them directly
on the udpsrc element. That way, the caps get nicely transformed as they
pass through the different elements in the rtpbin, including the AUX and
decoder/encoder elements.
Wim Taymans [Mon, 24 Mar 2014 14:35:09 +0000 (15:35 +0100)]
rtspsrc: use profile to set rtcp caps
Use the negotiated profile to set x-rtcp or x-srtcp caps
Wim Taymans [Mon, 24 Mar 2014 14:34:26 +0000 (15:34 +0100)]
rtspsrc: set udpsrc to READY
READY is enough to allocate ports now
Wim Taymans [Mon, 24 Mar 2014 13:25:28 +0000 (14:25 +0100)]
udpsrc: improve caps handling
Protect caps with the lock.
Don't push the caps event from the set_property function but mark the
pad for reconfiguration so that it will renegotiate and push the new
caps event in the streaming thread.
Wim Taymans [Mon, 24 Mar 2014 14:15:34 +0000 (15:15 +0100)]
udpsrc: open/close socket in NULL<->READY state
We should open the socket when going to NULL<->READY and not in the
start/stop vemthod, which is called in READY<->PAUSED. This makes it
possible to allocate a socket without going to PAUSED (and starting the
negotiation).
Wim Taymans [Mon, 24 Mar 2014 13:35:01 +0000 (14:35 +0100)]
rtspsrc: free caps in ptmap array
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726696
Wim Taymans [Thu, 20 Mar 2014 10:12:51 +0000 (11:12 +0100)]
rtspsrc: handle NULL rtpmap and parse error better
Olivier Crête [Mon, 17 Mar 2014 03:46:22 +0000 (23:46 -0400)]
configure: Don't check for gudev if video4linux2 is not present
Olivier Crête [Mon, 17 Mar 2014 03:19:55 +0000 (23:19 -0400)]
configure: Don't fail if gudev is not present
PKG_CHECK_MODULES has the bad habit of failing the build if it doesn't
get what it wants, prevent that.
Olivier Crête [Fri, 2 Nov 2012 12:33:13 +0000 (13:33 +0100)]
v4l2: Implement GstDeviceMonitor subclass
https://bugzilla.gnome.org/show_bug.cgi?id=678402
Olivier Crête [Mon, 12 Aug 2013 15:49:21 +0000 (11:49 -0400)]
pulse: Add device monitors
https://bugzilla.gnome.org/show_bug.cgi?id=678402