David Schleef [Thu, 26 Mar 2015 20:42:02 +0000 (13:42 -0700)]
wavparse: Fix up comments regarding DTS
Nicolas Dufresne [Wed, 25 Mar 2015 19:11:34 +0000 (15:11 -0400)]
rtspsrc: Fix segment in TCP mode
It is expected that buffers are time-stamped with running time. Set
a segment accordingly. In this case we pick 0,-1 as this is what udpsrc
would do. Depayloaders will update the segment to reflect the playback
position.
https://bugzilla.gnome.org/show_bug.cgi?id=635701
David Schleef [Thu, 26 Mar 2015 19:21:25 +0000 (12:21 -0700)]
wavparse: be more strict about typefinding DTS
Code now matches comments.
Nicolas Dufresne [Wed, 25 Mar 2015 19:10:53 +0000 (15:10 -0400)]
rtspsrc: Remove useless function
This function didn't do anything special, let's not use a function for
that.
Nicolas Dufresne [Fri, 20 Mar 2015 17:03:09 +0000 (13:03 -0400)]
rtpjitter: Account for rtx_retry in overflow check
As rtx_retry is part of the substraction, we need to take it into
account, otherwise we may endup with a big value.
Julien Isorce [Tue, 24 Mar 2015 23:15:15 +0000 (23:15 +0000)]
osxvideosink: check for deprecated constants prior to OSX 10.10
cocoawindow.m:339:5: error: 'NSOpenGLPFAWindow'
is deprecated: first deprecated in OS X 10.9
cocoawindow.m:576:7: error: 'NSOpenGLPFAFullScreen'
is deprecated: first deprecated in OS X 10.6
cocoawindow.m:605:24: error: 'setFullScreen'
is deprecated: first deprecated in OS X 10.7
Nicolas Dufresne [Tue, 24 Mar 2015 20:51:12 +0000 (16:51 -0400)]
rtspsrc: Fix seeking query
The segment start/stop in the query is meant to represent the seekable
portion of the stream. It does not match the segment start/stop. Instead
export 0 to duration.
Sebastian Dröge [Tue, 24 Mar 2015 15:18:53 +0000 (16:18 +0100)]
flvdemux: Only set caps once if they don't change
Previously we were setting new caps with the same content for every H264 or
AAC codec_data we found in the stream, spamming everything and causing
renegotiations.
Sebastian Dröge [Tue, 24 Mar 2015 11:46:19 +0000 (12:46 +0100)]
flvdemux: Don't create AAC/H264 caps without codec_data
Instead delay creating the caps until we read the codec_data from the stream,
or fail if we get normal data before the codec_data.
AAC raw caps and H264 avc caps always need codec_data, setting caps on the pad
without them is going to make negotiation fail most of the time. Even if we
later set new caps with the codec_data, that's usually going to be too late.
https://bugzilla.gnome.org/show_bug.cgi?id=746682
Sebastian Dröge [Tue, 24 Mar 2015 14:39:22 +0000 (15:39 +0100)]
flvdemux: Fix indention
Ilya Konstantinov [Sun, 22 Mar 2015 11:23:44 +0000 (13:23 +0200)]
osxaudio: Fix string format warning on 32-bit
UInt32 (Darwin, not C99's uint32_t) is 'unsigned long' on 32-bit
platforms.
Sebastian Dröge [Sat, 21 Mar 2015 16:50:40 +0000 (17:50 +0100)]
rtpsession: Fix another instance of sticky event misordering warnings
Make sure that the sync_src pad has caps before the segment event.
Otherwise we might get a segment event before caps from the receive
RTCP pad, and then later when receiving RTCP packets will set caps.
This will results in a sticky event misordering warning
This fixes warnings in the rtpaux unit test but also in the
rtpaux and rtx examples in tests/examples/rtp
https://bugzilla.gnome.org/show_bug.cgi?id=746445
Sebastian Dröge [Sat, 21 Mar 2015 16:18:47 +0000 (17:18 +0100)]
rtpsession: Also start the RTCP send thread when receiving RTP or RTCP
Before we only started it when either:
- there is no send RTP stream
or
- we received an RTP packet for sending
This could mean that if the send RTP pads are connected but never receive any
RTP data, and the same session is also used for receiving RTP/RTCP, we would
never start the RTCP thread and would never send RTCP for the receiving part
of the session.
This can be reproduced with a pipeline like:
gst-launch-1.0 rtpbin name=rtpbin \
udpsrc port=5000 ! "application/x-rtp, media=video, clock-rate=90000, encoding-name=H264" ! rtpbin.recv_rtp_sink_0 \
udpsrc port=5001 ! rtpbin.recv_rtcp_sink_0 \
rtpbin.send_rtcp_src_0 ! fakesink name=rtcp_fakesink silent=false async=false sync=false \
rtpbin.recv_rtp_src_0_2553225531_96 ! decodebin ! xvimagesink \
fakesrc ! valve drop=true ! rtpbin.send_rtp_sink_0 \
rtpbin.send_rtp_src_0 ! fakesink name=rtp_fakesink silent=false async=false sync=false -v
Before this change the rtcp_fakesink would never send RTCP for the receiving
part of the session (i.e. no receiver reports!), after the change it does.
And before and after this change it would send RTCP for the receiving part of
the session if the sender part was omitted (the last two lines).
Sebastian Dröge [Thu, 19 Mar 2015 10:54:12 +0000 (11:54 +0100)]
rtprtxsend: Add support for buffer lists
Sebastian Dröge [Thu, 19 Mar 2015 10:39:38 +0000 (11:39 +0100)]
rtprtxqueue: Implement support for buffer lists
Nicolas Dufresne [Wed, 18 Mar 2015 21:32:36 +0000 (17:32 -0400)]
rtspsrc: Improve trace readability
Change the command number into strings.
Jan Alexander Steffens (heftig) [Tue, 20 Jan 2015 09:18:56 +0000 (10:18 +0100)]
flvdemux: Don't repeatedly warn after no_more_pads (v2)
This can get rather spammy for such a high log level.
Only warn once per stream.
https://bugzilla.gnome.org/show_bug.cgi?id=746274
Jan Alexander Steffens (heftig) [Mon, 16 Mar 2015 10:23:52 +0000 (11:23 +0100)]
flvdemux: Introduce constant for no-more-pads threshold
https://bugzilla.gnome.org/show_bug.cgi?id=746274
Jan Alexander Steffens (heftig) [Tue, 20 Jan 2015 09:18:29 +0000 (10:18 +0100)]
flvdemux: Fix warning to contain 'video'
https://bugzilla.gnome.org/show_bug.cgi?id=746274
Nicola Murino [Wed, 11 Mar 2015 20:25:40 +0000 (21:25 +0100)]
matroskademux: for dts only stream set pts=dts for intra only formats
https://bugzilla.gnome.org/show_bug.cgi?id=745192
Ramiro Polla [Sat, 14 Mar 2015 15:39:09 +0000 (16:39 +0100)]
matroskademux: fix sending of tags
* Fix critical when new tags are found after segment event has already
been sent.
* Send global tags before stream tags.
* Split sending of tags out of gst_matroska_demux_send_event() into its
own function.
https://bugzilla.gnome.org/show_bug.cgi?id=745973
Ramiro Polla [Fri, 13 Mar 2015 18:26:06 +0000 (18:26 +0000)]
rtspsrc: properly escape percent sign in documentation
Ramiro Polla [Fri, 13 Mar 2015 18:26:44 +0000 (18:26 +0000)]
rtpdtmfmux: properly escape percent sign in documentation
Thiago Santos [Fri, 13 Mar 2015 18:48:03 +0000 (18:48 +0000)]
v4l2src: delay renegotiation until it is likely buffers were reclaimed
Allow renegotiation to happen when buffers have returned after an allocation
query. As the allocation query is serialized, all buffers from the pool
should have returned and we can stop it to create a new one for the
new format
https://bugzilla.gnome.org/show_bug.cgi?id=682770
Thiago Santos [Fri, 13 Mar 2015 18:47:55 +0000 (18:47 +0000)]
v4l2object: add gst_v4l2_object_try_format
Similar to set_format but it uses TRY_FMT instead of S_FMT
https://bugzilla.gnome.org/show_bug.cgi?id=682770
Tim-Philipp Müller [Fri, 13 Mar 2015 18:38:42 +0000 (18:38 +0000)]
multiudpsink: fix crash with GST_DEBUG enabled
g_inet_socket_address_get_address() does not give
us a ref to the address, so don't unref it.
Sebastian Dröge [Thu, 12 Mar 2015 13:49:56 +0000 (13:49 +0000)]
level: Don't read over the end of the input memory
Previously we advanced the in_data pointer by bps for every channel, and then
later again for block_size*bps. This caused us to be one sample further than
expected if an input buffer covered two analysis frames. And in the end lead
to completely bogus values reported by level.
https://bugzilla.gnome.org/show_bug.cgi?id=746065
Jan Schmidt [Wed, 11 Mar 2015 14:37:08 +0000 (01:37 +1100)]
Remove a couple of superfluous trailing semi-colons
Tim-Philipp Müller [Tue, 10 Mar 2015 09:31:20 +0000 (09:31 +0000)]
Fix double semicolons
Jan Schmidt [Tue, 10 Mar 2015 04:46:40 +0000 (15:46 +1100)]
splitmux: Shut down element before downward state change
Make sure the state change won't hang trying to shut down pads
by making sure the streaming has stopped before chaining up.
Ilya Konstantinov [Mon, 9 Mar 2015 20:58:05 +0000 (22:58 +0200)]
osxaudio: stream format is an SPDIF-only field
Ilya Konstantinov [Mon, 9 Mar 2015 20:53:41 +0000 (22:53 +0200)]
osxaudio: fix spaces
Ilya Konstantinov [Mon, 9 Mar 2015 20:52:46 +0000 (22:52 +0200)]
osxaudio: add type check macro
Ilya Konstantinov [Mon, 9 Mar 2015 20:51:51 +0000 (22:51 +0200)]
osxaudio: rename gst_core_audio_set_channels_layout()
to gst_core_audio_get_channel_layout().
Ilya Konstantinov [Mon, 9 Mar 2015 20:30:28 +0000 (22:30 +0200)]
osxaudio: remove unused finalize
Luis de Bethencourt [Mon, 9 Mar 2015 16:25:43 +0000 (16:25 +0000)]
vp9enc: remove duplicate declaration of function
Luis de Bethencourt [Mon, 9 Mar 2015 16:22:29 +0000 (16:22 +0000)]
rtph264depay: remove unused value
CID #1226474
Luis de Bethencourt [Mon, 9 Mar 2015 16:14:34 +0000 (16:14 +0000)]
rtph263pay: fix leak
CID 1212156
Luis de Bethencourt [Mon, 9 Mar 2015 15:58:33 +0000 (15:58 +0000)]
rtph263pay: remove uneeded variable
We just need to save the ebit information in case there is an error decoding.
Sebastian Dröge [Mon, 9 Mar 2015 15:46:02 +0000 (16:46 +0100)]
vp[89]enc: Reset the encoder when flushing
https://bugzilla.gnome.org/show_bug.cgi?id=745704
Luis de Bethencourt [Mon, 9 Mar 2015 12:51:17 +0000 (12:51 +0000)]
matroska: error mode if can't push buffer
If gst_pad_push() fails, inform and return flow error.
Luis de Bethencourt [Mon, 9 Mar 2015 12:13:34 +0000 (12:13 +0000)]
matroska: unused value
Value set in ret will be overwritten just before exiting the function.
CID #1226469
Sebastian Dröge [Mon, 9 Mar 2015 10:10:35 +0000 (11:10 +0100)]
rtpjitterbuffer: Drop packets with sequence numbers before the seqnum-base
These are outside the expected range of sequence numbers and should be
clipped, especially for RTSP they might belong to packets from before a seek
or a previous stream in general.
Linus Svensson [Thu, 27 Feb 2014 09:52:16 +0000 (10:52 +0100)]
rtspsrc: Don't include payload type in the caps for framesize
When the sdp media attribute framesize are converted to caps
the <payload> should not be included.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725335
Sebastian Dröge [Mon, 9 Mar 2015 09:05:14 +0000 (10:05 +0100)]
rtpjitterbuffer: Don't forget to unlock the mutex when receiving GAPs in TCP streams
Arun Raghavan [Mon, 9 Mar 2015 05:54:58 +0000 (11:24 +0530)]
pulsesink: Make sure to filter caps in all cases during CAPS query
We were skipping the filter step while returning template caps, for
example.
Nicolas Dufresne [Sun, 8 Mar 2015 21:15:53 +0000 (21:15 +0000)]
v4l2bufferpool: Don't update buffer for OUTPUT
For output device, we should not update the buffer with flags and
timestamp when we dequeue. The information in the v4l2_buffer is not
meaningful and it breaks the case where the buffer is rendered at
multiple places.
https://bugzilla.gnome.org/show_bug.cgi?id=745438
Sebastian Dröge [Sun, 8 Mar 2015 17:04:34 +0000 (18:04 +0100)]
souphttpclientsink: Implement cookies property
Sebastian Dröge [Sun, 8 Mar 2015 17:02:51 +0000 (18:02 +0100)]
souphttpclientsink: Implement automatic-redirect property
Sebastian Dröge [Sun, 8 Mar 2015 16:54:07 +0000 (17:54 +0100)]
souphttpclientsink: Implement proxy support
The properties were there before, but not used anywhere.
Mark Nauwelaerts [Sat, 21 Feb 2015 19:05:24 +0000 (20:05 +0100)]
avidemux: resurrect some flow return handling
Nicolas Huet [Wed, 4 Mar 2015 09:27:17 +0000 (10:27 +0100)]
aacparse: fix LOAS parsing issue
Fix missing index in syncword searching
https://bugzilla.gnome.org/show_bug.cgi?id=745585
Thiago Santos [Thu, 5 Mar 2015 20:54:43 +0000 (17:54 -0300)]
directsoundsink: fix modulo math with ringbuffer parameters
To get a multiple of bpf use a subtraction and not an addition
https://bugzilla.gnome.org/show_bug.cgi?id=745684
Jan Schmidt [Fri, 6 Mar 2015 13:55:47 +0000 (00:55 +1100)]
splitmuxsink: Protect property variables with the object lock.
Use the object lock instead of the splitmux lock to protect
internal property variables, so they're not locked when
switching to a new file.
https://bugzilla.gnome.org/show_bug.cgi?id=744420
Wim Taymans [Fri, 6 Mar 2015 10:39:39 +0000 (11:39 +0100)]
check: add jitterbuffer unit test
See https://bugzilla.gnome.org/show_bug.cgi?id=745539
Sebastian Dröge [Thu, 5 Mar 2015 08:18:52 +0000 (09:18 +0100)]
rtspsrc: Fix handling of interleaved (TCP) streams
We need to set up the transport in any case, not just if we have a container
stream or a non-interleaved stream. Only if we have an interleaved stream and
are retrying, we should not set up the stream again.
https://bugzilla.gnome.org/show_bug.cgi?id=745599
Sebastian Dröge [Thu, 5 Mar 2015 09:00:33 +0000 (10:00 +0100)]
vp[89]dec: Drop frames that have no output buffer because of errors
finish_frame() assumes that there is an output buffer.
Sebastian Dröge [Thu, 5 Mar 2015 08:56:23 +0000 (09:56 +0100)]
rtspsrc: Don't unref caps we don't own
Sebastian Dröge [Thu, 5 Mar 2015 08:46:17 +0000 (09:46 +0100)]
rtspsrc: Push RTCP caps on the RTCP pads
Otherwise we will get not-negotiated later from rtpbin, and will never be able
to send RTCP packets back to the server. Note that error flow returns from the
RTCP pads are ignored, that's why it didn't fail more visible before.
Sebastian Dröge [Thu, 5 Mar 2015 08:35:32 +0000 (09:35 +0100)]
rtspsrc: Make sure to send SEGMENT events on all pads
Santiago Carot-Nemesio [Tue, 3 Mar 2015 15:23:15 +0000 (16:23 +0100)]
rtp: Add Full Intra Request (FIR) packets to statistics
https://bugzilla.gnome.org/show_bug.cgi?id=745587
Santiago Carot-Nemesio [Tue, 3 Mar 2015 15:01:53 +0000 (16:01 +0100)]
rtp: Add Packet Loss Indication (PLI) to statistics
This is helpful to provide statistics in the format defined in
http://w3c.github.io/webrtc-stats/#dictionary-rtcrtpstreamstats-members.
https://bugzilla.gnome.org/show_bug.cgi?id=745587
Nicola Murino [Tue, 3 Mar 2015 18:19:50 +0000 (19:19 +0100)]
matroskamux: Remove duration accumulation logic
Duration accumulation can cause rounding errors and generate wrong
duration with different buffers that share the same timestamp.
https://bugzilla.gnome.org/show_bug.cgi?id=745192
Nicola Murino [Tue, 3 Mar 2015 17:40:16 +0000 (18:40 +0100)]
matroska: Add an helper method to get buffer timestamps
... and replace GST_BUFFER_TIMESTAMP that always return PTS with this method
that return PTS or DTS based on stream type.
https://bugzilla.gnome.org/show_bug.cgi?id=745192
Sebastian Dröge [Wed, 4 Mar 2015 10:28:12 +0000 (11:28 +0100)]
rtpsession: Add explanation why we have space for 32 hash tables
And also create only one, there's no need yet to create all 32 until
we implement RFC2762.
Sebastian Dröge [Wed, 4 Mar 2015 10:26:57 +0000 (11:26 +0100)]
Revert "rtpsession: Do not use an array of maps if they are not being used"
This reverts commit
1591adf4cd843d13d8622a30c619425691a84128.
https://bugzilla.gnome.org/show_bug.cgi?id=745586#c1:
It's the beginning of an implementation of RFC 2762, which is needed for
large multicast groups. The implementation is not yet complete but why
not leave what is there and implement RFC 2762 instead?
Santiago Carot-Nemesio [Wed, 4 Mar 2015 09:35:12 +0000 (10:35 +0100)]
rtpsession: Do not use an array of maps if they are not being used
rtpsession declares an array of maps to store srrcs but only the
the key 0 is being used. This patch replaces the array of maps
for just one map and remove useless parameters in rtpsession
https://bugzilla.gnome.org/show_bug.cgi?id=745586
Jimmy Ohn [Fri, 27 Feb 2015 09:12:09 +0000 (18:12 +0900)]
avidemux: remove not needed code
In gst_avi_demux_handle_src_query, there is not needed code.
We already check about stream is vbr or not at the upper line.
o, we don't need to check this condition becase stream is not
vbr 100% in this case.
https://bugzilla.gnome.org/show_bug.cgi?id=745276
Tim-Philipp Müller [Tue, 3 Mar 2015 23:25:35 +0000 (23:25 +0000)]
tests: gdkpixbufoverlay-test: replace deprecated function
Just avoid using the deprecated function entirely,
it's easy enough. Defining the macro is not enough.
Tim-Philipp Müller [Tue, 3 Mar 2015 19:04:48 +0000 (19:04 +0000)]
tests: gdkpixbufoverlay-test: fix compilation against newer gdk-pixbuf
gdk_pixbuf_new_from_inline() has been deprecated in favour
of GResource.
Arun Raghavan [Tue, 3 Mar 2015 13:09:15 +0000 (18:39 +0530)]
osxaudiosrc: Allow caps renegotiation
The ringbuffer does allow renegotiation, so we do not have to report
fixed caps once it is acquired (based on a similar patch for the sink
side by Ilya Konstantinov <ilya.konstantinov@gmail.com>).
Ilya Konstantinov [Sat, 21 Feb 2015 12:41:08 +0000 (14:41 +0200)]
osxaudiosink: Allow renegotiating caps
Once osxaudiosink's device is open, it fixates on the initial caps and
refuses to accept new caps. This is erroneous since the Audio Unit is
can accept a new ASBD, and GstAudioRingBuffer supports reconfiguration
as well.
https://bugzilla.gnome.org/show_bug.cgi?id=743925
Gwenole Beauchesne [Mon, 2 Mar 2015 11:04:00 +0000 (12:04 +0100)]
v4l2allocator: fix fd leak in DMABUF import mode.
Ensure gst_v4l2_buffer_pool_release_buffer() releases the associated
GstV4l2MemoryGroup. In particular, this allows for closing the DMABUF
handles prior to instantiating new ones.
https://bugzilla.gnome.org/show_bug.cgi?id=745443
Sebastian Dröge [Mon, 2 Mar 2015 14:06:09 +0000 (15:06 +0100)]
vp8enc: Use 0 as duration for the EOS "frame"
Sebastian Dröge [Mon, 2 Mar 2015 14:02:20 +0000 (15:02 +0100)]
vp{8,9}enc: Tell the encoder about actual timestamps and durations of frames
... instead of just counting frames. The values are supposed to be in timebase
units, not frame units. This fixes various quality problems with VP8/VP9
encoding and in general makes the encoder behave better.
Thanks to Nirbheek Chauhan for noticing this bug.
Nicolas Dufresne [Sun, 1 Mar 2015 18:56:17 +0000 (13:56 -0500)]
vpxdec: Fix calculation of width in bytes
Right now we only support I420, but vpx seems to support more formats.
This will prevent hard to find bug in the future.
Nicolas Dufresne [Sun, 1 Mar 2015 18:52:50 +0000 (13:52 -0500)]
vpxdec: Don't memcpy in frame map failed
This avoid a crash if mapping the frame failed.
Nicolas Dufresne [Sun, 1 Mar 2015 18:48:45 +0000 (13:48 -0500)]
v4l2bufferpool: Add missing break
This is cosmetic change.
Nicolas Dufresne [Sun, 1 Mar 2015 18:46:18 +0000 (13:46 -0500)]
v4l2: Workaround driver not setting field correctly
As it's very common, handle driver not setting field in buffers
by using the field value from the format. This workaround a long time
bug in UVC driver. For even buggier driver, we simply assume
progressive as before. We also only warn once, to avoid spamming.
Matej Knopp [Sat, 28 Feb 2015 17:10:06 +0000 (18:10 +0100)]
qtdemux: fix key unit seek
Unlike many other seek flags, the KEY_UNIT seek
flag is not copied over into the GstSegment,
since it's only relevant for the seek itself,
so we need to pass it explicitly to the seek
handler here.
https://bugzilla.gnome.org/show_bug.cgi?id=745339
Edward Hervey [Fri, 27 Feb 2015 08:38:01 +0000 (09:38 +0100)]
docs/plugins: Updates
Nicola Murino [Thu, 26 Feb 2015 22:41:47 +0000 (23:41 +0100)]
matroskamux/demux: initialize dts_only
https://bugzilla.gnome.org/show_bug.cgi?id=745192
Nicola Murino [Thu, 26 Feb 2015 22:28:11 +0000 (23:28 +0100)]
matroskamux: store DTS for V_MS/VFW/FOURCC streams
https://bugzilla.gnome.org/show_bug.cgi?id=745192
Tim-Philipp Müller [Thu, 26 Feb 2015 19:48:33 +0000 (19:48 +0000)]
multifile: attempt to fix docs build issue on build bot
Arun Raghavan [Thu, 26 Feb 2015 19:11:46 +0000 (00:41 +0530)]
interleave: Drop custom latency query handling
This is implemented by the default query handler now.
Arun Raghavan [Thu, 26 Feb 2015 19:10:05 +0000 (00:40 +0530)]
videomixer: Drop custom latency querying logic
This is now implemented in the default latency query handler.
Sebastian Rasmussen [Thu, 26 Feb 2015 15:10:41 +0000 (16:10 +0100)]
rtpvorbispay: fix payloader description and author e-mail
https://bugzilla.gnome.org/show_bug.cgi?id=745226
Aurélien Zanelli [Fri, 5 Sep 2014 14:34:26 +0000 (16:34 +0200)]
v4l2: query crop configuration after each call of S_CROP
S_CROP ioctl is write-only and the device can adjust crop rectangle so
we query back the crop configuration after each S_CROP to know what has
been done.
https://bugzilla.gnome.org/show_bug.cgi?id=736133
Matej Knopp [Thu, 26 Feb 2015 01:12:18 +0000 (02:12 +0100)]
matroskademux: V_MS/VFW/FOURCC streams have DTS instead of PTS
When such stream is present demuxer should set DTS on buffers instead
of PTS. This is consistent with how VLC and libav/ffmpeg handle VFW
streams.
Sample file
https://s3.amazonaws.com/MatejK/Samples/Matroska-VFW-DTS-Only.mkv
https://bugzilla.gnome.org/show_bug.cgi?id=745192
Aleix Conchillo Flaqué [Thu, 26 Feb 2015 00:45:11 +0000 (16:45 -0800)]
v4l2bufferpool: Check corruption flag on the right buffer
We where checking the buffer we are copying to instead of the buffer we
are copying from.
https://bugzilla.gnome.org/show_bug.cgi?id=740040
Aurélien Zanelli [Mon, 19 Jan 2015 14:29:24 +0000 (15:29 +0100)]
v4l2object: set colorspace in caps for capture devices
This information is set by the driver for a capture device, and so could
be forwarded to pipeline by setting the colorimetry in caps.
https://bugzilla.gnome.org/show_bug.cgi?id=743186
Aurélien Zanelli [Mon, 6 Oct 2014 15:30:06 +0000 (17:30 +0200)]
v4l2bufferpool: fix import_userptr() in single-planar API when n_planes > 1
In the V4L2 single-planar API, when format is semi-planar/planar,
drivers expect the planes to be contiguous in memory.
So this commit change the way we handle semi-planar/planar format
(n_planes > 1) when we use the single-planar API (group->n_mem == 1).
To check that planes are contiguous and have expected size, ie: no
padding. We test the fact that plane 'i' start address + plane 'i'
expected size equals to plane 'i + 1' start address. If not, we return
in error.
Math are done in bufferpool rather than in allocator because the
former is aware of video info.
https://bugzilla.gnome.org/show_bug.cgi?id=738013
Aurélien Zanelli [Fri, 23 Jan 2015 09:15:46 +0000 (10:15 +0100)]
v4l2allocator: let bufferpool calculate image size when importing userptr
Offset are relative to the buffer and there is no guarantee substracting
them will give us the plane size. So we let bufferpool make the math as
it is more aware of video info than allocator and pass a size array to
allocator import function.
Pointed out by Nicolas Dufresne <nicolas.dufresne@collabora.com>
https://bugzilla.gnome.org/show_bug.cgi?id=738013
Philippe De Muyter [Thu, 11 Dec 2014 15:13:15 +0000 (16:13 +0100)]
v4l2object: recognize and distinguish all bayer arrangements
Up to now, v4l2src recognized only "bggr" amongst the bayer arrangements.
Recognize now also the "rggb", "gbrg" and "grbg" arrangements.
https://bugzilla.gnome.org/show_bug.cgi?id=742363
Aurélien Zanelli [Thu, 15 Jan 2015 15:11:53 +0000 (16:11 +0100)]
v4l2bufferpool: set v4l2_buffer.field when queuing buffer in an output device
According to the current specification, application must set this field
for an output device.
https://bugzilla.gnome.org/show_bug.cgi?id=743013
Ilya Konstantinov [Tue, 24 Feb 2015 03:57:24 +0000 (05:57 +0200)]
osxaudiosrc: iOS resampling causes stuttering
Fixes stuttering audio when iOS AU is resampling. To make AU resample,
one has to request a rate that differs from AVAudioSession's
sampleRate. The resampling itself is not the culprit, but rather our
API misuse.
AudioUnitRender modifies the mDataByteSize members with the
actual read bytes count. Therefore, they must be reinitialized
before each AudioUnitRender. (The buffers themselves can be
preallocated.)
The "stutter" was caused by one AudioUnitRender making the buffer
too small for other AudioUnitRender invocations, making them fail
with -50 (paramErr). By way of luck, when AU didn't resample, all
AudioUnitRender invocations read the same number of bytes.
(This patch addresses some non-interleaved audio concerns, but
at this moment the elements do not support non-interleaved audio
and non-interleaved is untested.)
https://bugzilla.gnome.org/show_bug.cgi?id=744922
Krzysztof Kotlenga [Sun, 22 Feb 2015 00:49:52 +0000 (01:49 +0100)]
rtspsrc: improve error message when unauthorized
Make use of NOT_AUTHORIZED error code instead of falling back to generic
READ error.
https://bugzilla.gnome.org/show_bug.cgi?id=601733
Tim-Philipp Müller [Mon, 23 Feb 2015 20:06:25 +0000 (20:06 +0000)]
ximagesrc: remove pointless g_return_val_if_fail()
ximage won't ever be NULL here because the dispose
function is called via ximage->dispose().
Thibault Saunier [Mon, 23 Feb 2015 18:40:25 +0000 (19:40 +0100)]
qtdemux: All segment resulting from a seek should have the same seqnum
https://bugzilla.gnome.org/show_bug.cgi?id=744983
Nicolas Dufresne [Fri, 20 Feb 2015 04:12:31 +0000 (23:12 -0500)]
v4l2: Enable copy when no known allocation params
When there is no allocation parameters in the query, enable copy
threshold. When this threshold is reached, the buffer pool will start
copying when the pool reaches a critical level. If the driver supports
CREATE_BUFS, this will be used instead.