Tim-Philipp Müller [Fri, 24 Oct 2014 23:56:02 +0000 (00:56 +0100)]
tests: fix rgvolume test on big-endian systems
Tim-Philipp Müller [Fri, 24 Oct 2014 23:53:39 +0000 (00:53 +0100)]
tests: fix mulawdec/mulawenc test for big endian systems
Tim-Philipp Müller [Fri, 24 Oct 2014 22:48:30 +0000 (23:48 +0100)]
interleave: intersect result with filter caps in caps query
Fixes crash in audiotestsrc because of an unsupported format
getting negotiated on big-endian systems with
audiotestsrc ! interleave ! audioconvert ! wavenc
Tim-Philipp Müller [Thu, 23 Oct 2014 14:46:13 +0000 (15:46 +0100)]
pulse: remove some unused typedefs
Ananda [Wed, 22 Oct 2014 13:28:44 +0000 (15:28 +0200)]
speex: Fix segfault when resetting the codecs multiple times
https://bugzilla.gnome.org/show_bug.cgi?id=738793
Arun Raghavan [Wed, 22 Oct 2014 17:20:54 +0000 (22:50 +0530)]
pulsesink: Temporarily disable stream status posting
We need a mechanism in PulseAudio to allow running code outside the
mainloop lock. Then we'd be able to post to the bus (taking the
GST_OBJECT_LOCK), without worrying about locking order with the mainloop
lock, which is the current cause of deadlocks while trying to post the
stream status messages.
https://bugzilla.gnome.org/show_bug.cgi?id=736071
Wim Taymans [Wed, 22 Oct 2014 13:04:24 +0000 (15:04 +0200)]
rtpjitterbuffer: limit the retry frequency
When the RTT and jitter are very low (such as on a local network), the
calculated retransmission timeout is very small. Set some sensible lower
boundary to the timeout by adding a new property. We use the packet
spacing as a lower boundary by default.
Miguel París Díaz [Wed, 22 Oct 2014 11:40:58 +0000 (13:40 +0200)]
gstrtpjitterbuffer: add "rtx-min-delay" property
This property is useful to set a min time to wait before sending a
retransmission event.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=735378
Wim Taymans [Wed, 22 Oct 2014 11:29:48 +0000 (13:29 +0200)]
jitterbuffer: Refactor code
Refactor some code dealing with calculating various timeouts.
See https://bugzilla.gnome.org/show_bug.cgi?id=735378
Miguel París Díaz [Fri, 10 Oct 2014 17:50:06 +0000 (19:50 +0200)]
rtpsession: fix Early Feedback Transmission
In early retransmission we are allowed to schedule 1 regular RTCP packet
at an earlier time. When we do that, we need to set allow_early to FALSE
and ignore/drop (or merge) all future requests for early transmission.
We now first check if we can schedule an early RTCP and if we can,
actually prepare the data for the next RTCP interval.
After we send the next regular RTCP after the early RTCP, we set
allow_early to TRUE again to allow more early requests.
Remove the condition for the immediate feedback for now.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=738319
Tim-Philipp Müller [Tue, 21 Oct 2014 12:01:32 +0000 (13:01 +0100)]
Automatic update of common submodule
From a8c8939 to 84d06cd
Wim Taymans [Tue, 21 Oct 2014 11:10:24 +0000 (13:10 +0200)]
rtpjitterbuffer: make debug line less confusing
Stefan Sauer [Tue, 21 Oct 2014 10:58:13 +0000 (12:58 +0200)]
Automatic update of common submodule
From 36388a1 to a8c8939
Wim Taymans [Wed, 2 Jul 2014 15:50:35 +0000 (17:50 +0200)]
jitterbuffer: rework resync handling
Add a need-resync state, this is when we need to try to lock on to a
time/RTPtime pair.
Always check the RTP timestamps and if they go backwards, mark ourselves
as need-resync.
Only resync when need-resync is TRUE and we have a valid time. Otherwise
we keep the old values. This avoids locking on to an invalid time and
causing us to timestamp everything with -1.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=730417
Aleix Conchillo Flaqué [Sat, 4 Oct 2014 00:28:06 +0000 (17:28 -0700)]
rtspsrc: set full stream caps on internal src TCP pads
Set the complete stream caps on the TCP internal src pads. Otherwise,
ptdemux will not properly detect the caps change.
https://bugzilla.gnome.org/show_bug.cgi?id=737868
Sjoerd Simons [Fri, 17 Oct 2014 20:23:27 +0000 (22:23 +0200)]
rtpmux: Don't set PROXY_CAPS flag on the src pad
rtpmux behaves like a funnel in that it forwards whatever upstream is
sending buffers. So setting proxy caps doesn't make sense as the
upstream don't have to have compatible caps, thus resulting in an empty
caps set as a result of a caps query. Instead set fixed caps just
as funnel does.
https://bugzilla.gnome.org/show_bug.cgi?id=738722
Vineeth T M [Mon, 20 Oct 2014 06:27:38 +0000 (11:57 +0530)]
videobox: critical error when element properties set as max/min
left, right, top, bottom can be set from range of -
2147483648 to
2147483647
when i launch the videobox element with that values, it gives a critical error
(gst-check-1.0:29869): GStreamer-CRITICAL **: gst_value_set_int_range_step: assertion 'start < end' failed
This happens because min cannot be equal to max.
https://bugzilla.gnome.org/show_bug.cgi?id=738838
Tim-Philipp Müller [Wed, 15 Oct 2014 16:45:24 +0000 (17:45 +0100)]
Revert "rtp: add h265 RTP payloader + depayloader"
This reverts commit
d06ba9051f904a7eb482c07a97a1827169158663.
This breaks the build, as it depends on parser API in -bad.
Jurgen Slowack [Wed, 15 Oct 2014 15:34:50 +0000 (17:34 +0200)]
rtp: add h265 RTP payloader + depayloader
Peter G. Baum [Sun, 5 Oct 2014 19:24:27 +0000 (21:24 +0200)]
wavenc: Support RF64 format
https://bugzilla.gnome.org/show_bug.cgi?id=725145
David Sansome [Sat, 11 Oct 2014 00:18:42 +0000 (11:18 +1100)]
equalizer: Don't call iirequalizer's transform_ip in passthrough mode
It tries to map the read-only buffer with GST_MAP_READWRITE and crashes.
https://bugzilla.gnome.org/show_bug.cgi?id=737886
Olivier Crête [Fri, 10 Oct 2014 22:30:07 +0000 (18:30 -0400)]
rtpsource: Rename seqnum-base to seqnum-offset in caps
This was modified back in 1.0 in GstRtpBasePayload
Olivier Crête [Fri, 10 Oct 2014 22:11:19 +0000 (18:11 -0400)]
rtpdtmfsrc: clock-base and seqnum-base -> timestamp-offset and seqnum-offset
These were renamed in GstRTPBasePayload in 1.0
Olivier Crête [Fri, 10 Oct 2014 21:30:24 +0000 (17:30 -0400)]
rtpmux: clock-base and seqnum-base -> timestamp-offset and seqnum-offset
These were renamed in GstRTPBasePayload in 1.0
Luis de Bethencourt [Mon, 6 Oct 2014 13:23:22 +0000 (14:23 +0100)]
goom2k1: removing block of code that does nothing
The loop in zoomFilterSetResolution is meant to change the values in the
zf->firedec[] array. Each iteration writes the value of decc onto the arrya,
but no conditions that change the value of decc are ever met and the array is
filled with zero for each element. Which is the initial state of the
array before the loop begins.
The loop does nothing.
https://bugzilla.gnome.org/show_bug.cgi?id=728353
Stefan Sauer [Sat, 4 Oct 2014 15:17:13 +0000 (17:17 +0200)]
rtpjitterbuffer: don't log all clock_rate changes as warnings.
We never initialize clock_rate explicitly, therefore it is 0 by default. The
parameter is a uint32 and the only caller ensure that it is >0, therefore it
won't become -1 ever.
Nirbheek Chauhan [Thu, 2 Oct 2014 08:56:08 +0000 (14:26 +0530)]
souphttpclientsink: Fix lifetime of stream headers and queued buffers
Stream headers are updated whenever ::set_caps is called, so we can't assume
they'll be valid before the message body is written out. We *can* assume that
for queued buffers, but SOUP_MEMORY_STATIC is still wrong for those.
Also, add some debug logging for stream header interactions.
https://bugzilla.gnome.org/show_bug.cgi?id=737771
Matej Knopp [Thu, 2 Oct 2014 01:26:22 +0000 (03:26 +0200)]
aacparse: fix memory leak when prepending ADTS headers
https://bugzilla.gnome.org/show_bug.cgi?id=737761
Antonio Ospite [Tue, 23 Sep 2014 08:48:09 +0000 (10:48 +0200)]
interleave: interleave samples following the Default Channel Ordering
In order to have a full mapping between channel positions in the audio
stream and loudspeaker positions, the channel-mask alone is not enough:
the channels must be interleaved following some Default Channel Ordering
as mentioned in the WAVEFORMATEXTENSIBLE[1] specification.
As a Default Channel Ordering use the one implied by
GstAudioChannelPosition which follows the ordering defined in SMPTE
2036-2-2008[2].
NOTE that the relative order in the Top Layer is not exactly the same as
the one from the WAVEFORMATEXTENSIBLE[1] specification; let's hope users
using so may channels are already aware of such discrepancies.
[1] http://msdn.microsoft.com/en-us/library/windows/hardware/dn653308%28v=vs.85%29.aspx
[2] http://www.itu.int/dms_pub/itu-r/opb/rep/R-REP-BS.2159-2-2011-PDF-E.pdf
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=737127
Sebastian Dröge [Thu, 2 Oct 2014 07:10:11 +0000 (10:10 +0300)]
wavenc: Send CAPS event after the pad was activated
Otherwise the CAPS event will be dropped and we never configure any caps at
all, leading to weird behaviour in many situations. Especially header
rewriting is not going to work if a capsfilter is after wavenc.
https://bugzilla.gnome.org/show_bug.cgi?id=737735
Nirbheek Chauhan [Wed, 1 Oct 2014 17:42:30 +0000 (23:12 +0530)]
souphttpclientsink: Add some more useful debug logging
Nirbheek Chauhan [Wed, 1 Oct 2014 17:35:03 +0000 (23:05 +0530)]
souphttpclientsink: Free queued buffers in ::reset
::render sets a new callback for writing out new buffers only if there aren't
already buffers queued for writing with a previously-scheduled callback.
However, if the previously-scheduled callback is interrupted by a state change
(either manually or due to an error) and there are still buffers in the queue,
restarting the pipeline will result in buffers being queued forever, and no
callbacks will ever be scheduled, and no buffers will be written out.
https://bugzilla.gnome.org/show_bug.cgi?id=737739
Sebastian Dröge [Wed, 1 Oct 2014 14:29:29 +0000 (17:29 +0300)]
videomixer: Actually use the correct GstVideoInfo for conversion
Sebastian Dröge [Wed, 1 Oct 2014 14:24:59 +0000 (17:24 +0300)]
videomixer: Revert the last commit and handle resolutions differences properly
This is about converting the format, not about converting any widths and
heights. Subclasses are expected to handler different resolutions themselves,
like the videomixers already do properly.
Sebastian Dröge [Wed, 1 Oct 2014 14:12:59 +0000 (17:12 +0300)]
videomixer: GstVideoConverter currently can't rescale and will assert
Leads to ugly assertions instead of properly erroring out:
CRITICAL **: gst_video_converter_new: assertion 'in_info->width == out_info->width' failed
Sebastian Dröge [Tue, 30 Sep 2014 08:35:12 +0000 (11:35 +0300)]
vp8enc/vp9enc: Protect the encoder with a mutex in all situations
Sebastian Dröge [Tue, 30 Sep 2014 08:31:43 +0000 (11:31 +0300)]
vp9enc: Allow caps renegotiation
https://bugzilla.gnome.org/show_bug.cgi?id=726329
Sebastian Dröge [Tue, 30 Sep 2014 08:28:39 +0000 (11:28 +0300)]
vp8enc: finish() and drain() should return a GstFlowReturn
Jose Antonio Santos Cadenas [Fri, 14 Mar 2014 11:59:02 +0000 (12:59 +0100)]
vp8enc: Allow caps renegotiation
https://bugzilla.gnome.org/show_bug.cgi?id=726329
Aurélien Zanelli [Mon, 29 Sep 2014 09:49:45 +0000 (11:49 +0200)]
v4l2object: set colorspace for output devices
When the v4l2 device is an output device, the application shall set the
colorspace. So map GStreamer colorimetry info to V4L2 colorspace and set
on set_format. In case we have no colorimetry information, we try to
guess it according to pixel format and video size.
https://bugzilla.gnome.org/show_bug.cgi?id=737579
Arun Raghavan [Mon, 29 Sep 2014 17:18:16 +0000 (22:48 +0530)]
pulse: Add some documentation about threading and synchronisation
This gives a quick introduction to how the pulsesink/pulsesrc code
interacts with the pa_threaded_mainloop that we start up to communicate
with the server.
Arun Raghavan [Mon, 29 Sep 2014 14:48:08 +0000 (20:18 +0530)]
pulsesink: Make emitting stream status messages synchronous
The stream status messages are emitted in the PA mainloop thread, which
means the mainloop lock is taken, followed by the Gst object lock (by
gst_element_post_message()). In all other locations, the order of
locking is reversed (this is unavoidable in a bunch of cases where the
object lock is taken by GstBaseSink or GstAudioBaseSink, and then we get
control to take the mainloop lock).
The only way to guarantee that the defer callback for stream status
messages doesn't deadlock is to either stop posting those messages, or
make sure that the message emission is completed before we proceed to
any point that might take the object lock before the mainloop lock
(which is what we do after this patch).
https://bugzilla.gnome.org/show_bug.cgi?id=736071
Antonio Ospite [Tue, 16 Sep 2014 10:12:49 +0000 (12:12 +0200)]
wavenc: print channel masks in hexadecimal
Tim-Philipp Müller [Sat, 27 Sep 2014 15:01:21 +0000 (16:01 +0100)]
v4l2: remove redundant struct declaration
Sebastian Dröge [Fri, 26 Sep 2014 10:46:16 +0000 (13:46 +0300)]
rtspsrc: Fix compiler warnings
gstrtspsrc.c:7939:11: error: implicit conversion from enumeration type 'GstSDPResult' to different enumeration type
'GstRTSPResult' [-Werror,-Wenum-conversion]
res = gst_sdp_message_new (&sdp);
~ ^~~~~~~~~~~~~~~~~~~~~~~~~~
gstrtspsrc.c:7944:11: error: implicit conversion from enumeration type 'GstSDPResult' to different enumeration type
'GstRTSPResult' [-Werror,-Wenum-conversion]
res = gst_sdp_message_parse_uri (uri, sdp);
~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jonas Holmberg [Thu, 25 Sep 2014 13:01:14 +0000 (15:01 +0200)]
matroskademux: make demuxer reusable
Remove pads from flow combiner and reset last
flow return to FLOW_OK by resetting the flow combiner.
This prevents FLOW_FLUSHING when trying to re-use the
demuxer after setting it back to NULL/READY state.
https://bugzilla.gnome.org/show_bug.cgi?id=737359
Wim Taymans [Wed, 24 Sep 2014 14:46:36 +0000 (16:46 +0200)]
videomixer: use video library code instead of copy
Sanjay NM [Thu, 18 Sep 2014 11:09:19 +0000 (16:39 +0530)]
audioparsers: Added index check before using the index
https://bugzilla.gnome.org/show_bug.cgi?id=736878
Matej Knopp [Tue, 23 Sep 2014 21:33:37 +0000 (23:33 +0200)]
qtmux: Do not infer DTS on buffers from sparse streams.
DTS delta is used to calculate sample duration. If buffer has missing DTS, we take either segment start or previous buffer end time, whichever is later.
This must only be done for non sparse streams, sparse streams can have gaps between buffers (which is handled later by adding extra empty buffer with duration that fills the gap)
https://bugzilla.gnome.org/show_bug.cgi?id=737095
Sanjay NM [Thu, 18 Sep 2014 11:38:37 +0000 (17:08 +0530)]
goom: Clarified precedence between % and ?
https://bugzilla.gnome.org/show_bug.cgi?id=736887
Sanjay NM [Thu, 18 Sep 2014 12:29:31 +0000 (17:59 +0530)]
rtsp: clarify expression so operator precedence is clear
https://bugzilla.gnome.org/show_bug.cgi?id=736903
Sanjay NM [Thu, 18 Sep 2014 10:34:03 +0000 (16:04 +0530)]
Miscellaneous minor cleanups
Fix redundant variables and assignments,
and unreachable breaks.
https://bugzilla.gnome.org/show_bug.cgi?id=736875
https://bugzilla.gnome.org/show_bug.cgi?id=736876
https://bugzilla.gnome.org/show_bug.cgi?id=736879
https://bugzilla.gnome.org/show_bug.cgi?id=736880
https://bugzilla.gnome.org/show_bug.cgi?id=736881
https://bugzilla.gnome.org/show_bug.cgi?id=736888
https://bugzilla.gnome.org/show_bug.cgi?id=736890
https://bugzilla.gnome.org/show_bug.cgi?id=736892
https://bugzilla.gnome.org/show_bug.cgi?id=736893
https://bugzilla.gnome.org/show_bug.cgi?id=736894
Tim-Philipp Müller [Tue, 23 Sep 2014 23:12:14 +0000 (00:12 +0100)]
videobox: remove duplicate assignments
https://bugzilla.gnome.org/show_bug.cgi?id=736897
Sebastian Dröge [Tue, 23 Sep 2014 19:55:48 +0000 (22:55 +0300)]
flacparse: Only calculate with durations != -1
Matej Knopp [Tue, 23 Sep 2014 17:08:48 +0000 (19:08 +0200)]
qtmux: collect pad for sparse stream should be created with lock set to false
Avoids waiting for buffers from sparse streams
https://bugzilla.gnome.org/show_bug.cgi?id=737095
Matej Knopp [Tue, 23 Sep 2014 17:07:25 +0000 (19:07 +0200)]
qtmux: fix subtitle buffer duration and strip null termination
Strip the \0 off the subtitle as we already know the size and also remember
to set the duration as buffer copying doesn't do it.
https://bugzilla.gnome.org/show_bug.cgi?id=737095
Matej Knopp [Tue, 23 Sep 2014 17:06:18 +0000 (19:06 +0200)]
qtmux: move subtitle layer above video and set alternate group
layer -1 is above video, that is 0
And having all subtitles in alternate group 2 means that only one
should be selected at a time.
https://bugzilla.gnome.org/show_bug.cgi?id=737095
Edward Hervey [Tue, 23 Sep 2014 07:47:31 +0000 (09:47 +0200)]
check/soup: Temporarily disable G_ENABLE_DIAGNOSTIC
The SOUP_SERVER_PORT property has been deprecated in recent libsoup
versions.
Edward Hervey [Tue, 23 Sep 2014 07:43:05 +0000 (09:43 +0200)]
check/soup: Define minimum version required
To avoid deprecation warnings
Matej Knopp [Fri, 19 Sep 2014 17:14:28 +0000 (19:14 +0200)]
qtdemux: Handle mp4a without ESDS atom
https://bugzilla.gnome.org/show_bug.cgi?id=736986
Linus Svensson [Mon, 22 Sep 2014 14:15:27 +0000 (16:15 +0200)]
ximagesrc: Fix build problem without XFIXES
Sanjay NM [Fri, 19 Sep 2014 09:04:13 +0000 (14:34 +0530)]
dtmf: Removed unused structure members
https://bugzilla.gnome.org/show_bug.cgi?id=736883
Reynaldo H. Verdejo Pinochet [Thu, 11 Sep 2014 16:48:44 +0000 (13:48 -0300)]
isomp4: fix wrong DAR calculation for PAR <= 1
CID #1226452
https://bugzilla.gnome.org/show_bug.cgi?id=736396
Sanjay NM [Thu, 18 Sep 2014 11:29:52 +0000 (16:59 +0530)]
flv: Removed unreachable break statements
https://bugzilla.gnome.org/show_bug.cgi?id=736884
Ognyan Tonchev [Wed, 17 Sep 2014 14:37:11 +0000 (16:37 +0200)]
rtpbin: do not leak encsink pad in error case
https://bugzilla.gnome.org/show_bug.cgi?id=736807
Ognyan Tonchev [Wed, 17 Sep 2014 14:23:21 +0000 (16:23 +0200)]
multipartdemux: do not leak new stream event
https://bugzilla.gnome.org/show_bug.cgi?id=736805
Ravi Kiran K N [Mon, 15 Sep 2014 03:38:18 +0000 (09:08 +0530)]
y4menc: port y4menc to use GstVideoEncoder base class
https://bugzilla.gnome.org/show_bug.cgi?id=735085
Sebastian Dröge [Wed, 17 Sep 2014 10:55:18 +0000 (13:55 +0300)]
osxaudio: OSStatus is not a fourcc, so don't print it as one...
Ognyan Tonchev [Tue, 16 Sep 2014 12:26:08 +0000 (14:26 +0200)]
flacparse: do not leak uid after parsing TOC event
https://bugzilla.gnome.org/show_bug.cgi?id=736739
Sebastian Dröge [Tue, 16 Sep 2014 19:47:13 +0000 (22:47 +0300)]
rtpvrawdepay: Declare some more required caps fields in the sink template caps
Now only missing are width and height, which are expressed as strings
for RTP... so we can't put them into the template caps.
Vineeth T M [Tue, 16 Sep 2014 11:16:07 +0000 (16:46 +0530)]
gdkpixbufdec: modify wrong packetized mode logic
packetized mode is being set when framerate is being set
which is not correct. Changing the same by checking the
input segement format. If input segment is in TIME it is
Packetized, and if it is in BYTES it is not.
https://bugzilla.gnome.org/show_bug.cgi?id=736252
Sebastian Dröge [Tue, 16 Sep 2014 08:26:22 +0000 (11:26 +0300)]
jpegdec: Remove unused variable and use correct decoder variable name
Sebastian Dröge [Tue, 16 Sep 2014 08:25:42 +0000 (11:25 +0300)]
pngdec: Remove unused variable
Vineeth T M [Tue, 16 Sep 2014 07:54:15 +0000 (13:24 +0530)]
jpeggdec: modify wrong packetized mode logic
packetized mode is being set when framerate is being set
which is not correct. Changing the same by checking the
input segement format. If input segment is in TIME it is
Packetized, and if it is in BYTES it is not.
https://bugzilla.gnome.org/show_bug.cgi?id=736252
Vineeth T M [Tue, 16 Sep 2014 07:53:16 +0000 (13:23 +0530)]
pngdec: modify wrong packetized mode logic
packetized mode is being set when framerate is being set
which is not correct. Changing the same by checking the
input segement format. If input segment is in TIME it is
Packetized, and if it is in BYTES it is not.
https://bugzilla.gnome.org/show_bug.cgi?id=736252
Antonio Ospite [Mon, 15 Sep 2014 12:39:41 +0000 (14:39 +0200)]
ximagesrc: Remove unused screen-num property
The screen number can be still specified as part of the display-name
property (e.g. for screen 1 of display 0 use display-name=":0.1").
https://bugzilla.gnome.org/show_bug.cgi?id=736122
Antonio Ospite [Thu, 4 Sep 2014 14:10:51 +0000 (16:10 +0200)]
ximagesrc: Draw the cursor only when it is active in the capturing region
Use XQueryPointer to check that the pointer is actually active inside
the capturing region.
This prevents drawing the cursor when the pointer is partially outside
of the captured region but not active inside the region; in particular
this avoids drawing the "window resize" cursor shapes to the captured
image when the mouse pointer crosses a window border.
NOTE that this is not only an optimization, this also happen to fix
a serious problem in multi-screen setups.
Because XFixes gives no information of what screen the pointer is on,
ximagesrc was always drawing the cursor on the captured screen even if
the mouse pointer was on another screen.
For example, when capturing from screen 1 (i.e. display-name=":0.1") the
cursor was drawn in the captured image even when the mouse pointer was
actually on screen 0, which is wrong and visually confusing.
https://bugzilla.gnome.org/show_bug.cgi?id=690646
Antonio Ospite [Fri, 5 Sep 2014 09:33:31 +0000 (11:33 +0200)]
ximagesrc: Fix drawing the cursor when it is outside the capturing region
When the cursor is partially or totally out of the capturing region on
the top side or on the left side, it gets drawn fully inside of the
region with its coordinates rounded up to the left or to the top border.
This is immediately noticeable when using the xid property to capture
a specific window.
To fix the issue, allow negative cx and cx coordinates when checking the
boundaries before drawing the cursor.
NOTE that the boundaries checking calculations still allows the cursor
to be drawn when it is only partially outside of the capturing region,
but this makes sense and gives a more pleasing visual behaviour.
https://bugzilla.gnome.org/show_bug.cgi?id=690646
Antonio Ospite [Thu, 4 Sep 2014 22:15:30 +0000 (00:15 +0200)]
ximagesrc: Fix the destination coordinates of the cursor
XFixes provides the cursor coordinates relative to the root window, this
is not taken into account when using the xid property to capture
a specific window, the result is that the cursor gets drawn at the wrong
position.
In order to fix this consider the window location when calculating the
cursor position in the destination image.
https://bugzilla.gnome.org/show_bug.cgi?id=690646
Peter Korsgaard [Mon, 15 Sep 2014 12:51:24 +0000 (14:51 +0200)]
v4l2allocator: O_CLOEXEC needs _GNU_SOURCE
Similar to
94f3d6fc / bz 709423
On some systems (E.G. uClibc and older Glibc versions), O_CLOEXEC is only
defined when _GNU_SOURCE is specified, so do so.
https://bugzilla.gnome.org/show_bug.cgi?id=736670
Wim Taymans [Mon, 15 Sep 2014 16:11:37 +0000 (18:11 +0200)]
capssetter: update to 1.0 transform_caps sematics
In 1.0, we pass the complete caps to transform_caps to allow for better
optimizations. Make this function actually work on non-simple caps
instead of just ignoring the configured filter caps.
Peter G. Baum [Mon, 8 Sep 2014 12:06:00 +0000 (14:06 +0200)]
wavenc: use WAVE_FORMAT_EXTENSIBLE for more than 2 channels
https://bugzilla.gnome.org/show_bug.cgi?id=733444
Sebastian Dröge [Fri, 12 Sep 2014 12:06:50 +0000 (15:06 +0300)]
wavparse: Fix parsing of adtl chunks
We have to skip 12 bytes of data for the chunk, and the data size
passed to the sub-chunk parsing functions should have 4 bytes less
than the data size.
Also when parsing the sub-chunks, check if we actually have enough
data to read instead of just crashing.
https://bugzilla.gnome.org/show_bug.cgi?id=736266
Sanjay NM [Fri, 12 Sep 2014 05:25:23 +0000 (10:55 +0530)]
udp: include string.h for memcmp and memset
https://bugzilla.gnome.org//show_bug.cgi?id=736528
Anuj Jaiswal [Fri, 12 Sep 2014 08:06:18 +0000 (13:36 +0530)]
matroskamux: don't bitwise OR the same flag twice
https://bugzilla.gnome.org//show_bug.cgi?id=736543
Tim-Philipp Müller [Fri, 12 Sep 2014 09:35:36 +0000 (10:35 +0100)]
matroskademux: handle real audio 28_8
Fixes duplicate check for 14_4.
https://bugzilla.gnome.org//show_bug.cgi?id=736543
Anuj Jaiswal [Thu, 11 Sep 2014 09:16:09 +0000 (14:46 +0530)]
multifilesink: don't OR the same flag twice
https://bugzilla.gnome.org/show_bug.cgi?id=736462
Sebastian Dröge [Thu, 11 Sep 2014 09:52:11 +0000 (12:52 +0300)]
souphttpsrc: If the server reports "Accept-Ranges: none" don't try range requests
Ognyan Tonchev [Wed, 10 Sep 2014 07:50:45 +0000 (09:50 +0200)]
v4l2sink: Unref pool after usage
https://bugzilla.gnome.org/show_bug.cgi?id=736384
Nicolas Dufresne [Tue, 9 Sep 2014 23:03:50 +0000 (19:03 -0400)]
v4l2transform: Don't rank it for now
This will prevent the converter to be picked automatically in case
someone implement dynamic converter selection support. I'd like this
to be ranked only for known device, as it's hard to be sure a device is
a converter suited for general purpose. Re-negotiation is also needed
before we can rank it.
https://bugzilla.gnome.org/show_bug.cgi?id=733607
Nicolas Dufresne [Fri, 5 Sep 2014 12:29:20 +0000 (08:29 -0400)]
v4l2: Detect bad drivers timestamps
Even though the UVC driver do a great deal of effort to prevent bad
timestamp to be sent to userspace, there still exist UVC hardware that
are so buggy that the timestamp endup nearly random. This code detect
and ignore timestamp from these drivers, making these camera usable.
This has been tested on both invalid and valid cameras, making sure it
does not trigger for valid cameras.
https://bugzilla.gnome.org/show_bug.cgi?id=732910
Nicolas Dufresne [Fri, 29 Aug 2014 21:09:30 +0000 (17:09 -0400)]
v4l2allocator: Workaround driver that don't support REQBUFS(0)
There is still around 18 drivers not yet ported to videobuf2. These driver
don't support freeing buffetrs through REQBUFS(0) hence for these the
memory type probing fails. In order to gain back our previous behaviour in
presence of these, we implement a workaround that assuming MMAP is
supported. Note that an allocator is only created for device with
STREAMING support in the device capabilities. In such case one of MMAP,
USERPTR and DMABUF is required. Though DMABUF came afterward, so is
not an option and in practice none of these drivers will only do USERPTR.
https://bugzilla.gnome.org/show_bug.cgi?id=735660
Also-by: Hans de Goede <hdegoede@redhat.com>
Nicolas Dufresne [Thu, 4 Sep 2014 19:11:40 +0000 (15:11 -0400)]
v4l2: Merge min_buffers_for* variable into one
Reuse the same min_buffers variable for both capture and output, this
reduce the length of lines and make the code more readable.
https://bugzilla.gnome.org/show_bug.cgi?id=736072
Aurélien Zanelli [Thu, 4 Sep 2014 16:35:46 +0000 (18:35 +0200)]
v4l2: set min_latency for output device according to required minimum number of buffers
Since we can get the minimum number of buffers needed by an output
device to work, use it to set min_latency which will determine how many
buffers are queued.
https://bugzilla.gnome.org/show_bug.cgi?id=736072
Tim-Philipp Müller [Tue, 9 Sep 2014 15:10:56 +0000 (16:10 +0100)]
tests: udpsrc: add check to make sure multiple memory chunks are used
Tim-Philipp Müller [Tue, 9 Sep 2014 14:55:18 +0000 (15:55 +0100)]
tests: udpsrc: wait for buffers with GCond instead of sleeping
Avoids half-second sleep for no reason.
Tim-Philipp Müller [Tue, 9 Sep 2014 14:31:32 +0000 (15:31 +0100)]
tests: udpsrc: split out socket setup
Tim-Philipp Müller [Tue, 9 Sep 2014 12:46:56 +0000 (13:46 +0100)]
udpsrc: more efficient memory handling
Drop use of g_socket_get_available_bytes() which is
not useful on all systems (where it returns the size
of the entire buffer not that of the next pending
packet), and is yet another syscall and apparently
very inefficient on Windows in the UDP case.
Instead, when reading UDP packets, use the more featureful
g_socket_receive_message() call that allows to read into
scattered memory, and allocate one memory chunk which is
likely to be large enough for a packet, while also providing
a larger allocated memory chunk just in case the packet
is larger than expected. If the received data fits into the
first chunk, we'll just add that to the buffer we return
and re-use the fallback buffer for next time, otherwise we
add both chunks to the buffer.
This reduces memory waste more reliably on systems where
get_available_bytes() doesn't work properly.
In a multimedia streaming scenario, incoming UDP packets
are almost never fragmented and thus almost always smaller
than the MTU size, which is also why we don't try to do
something smarter with more fallback memory chunks of
different sizes. The fallback scenario is just for when
someone built a broken sender pipeline (not using a
payloader or somesuch)
https://bugzilla.gnome.org/show_bug.cgi?id=610364
Tim-Philipp Müller [Tue, 9 Sep 2014 11:15:43 +0000 (12:15 +0100)]
udpsrc: rework memory allocation bits and ensure we always have two chunks of memories to read into
First chunk is the likely/expected buffer size, second is as
fallback in case the packet is larger in the end.
Next step: actually use these.
Tim-Philipp Müller [Tue, 9 Sep 2014 08:42:15 +0000 (09:42 +0100)]
udpsrc: track max packet size and save allocator negotiated by GstBaseSrc