platform/upstream/gst-plugins-good.git
9 years agoosxaudio: Fix string format warning on 32-bit
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.

9 years agortpsession: Fix another instance of sticky event misordering warnings
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

9 years agortpsession: Also start the RTCP send thread when receiving RTP or RTCP
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).

9 years agortprtxsend: Add support for buffer lists
Sebastian Dröge [Thu, 19 Mar 2015 10:54:12 +0000 (11:54 +0100)]
rtprtxsend: Add support for buffer lists

9 years agortprtxqueue: Implement support for buffer lists
Sebastian Dröge [Thu, 19 Mar 2015 10:39:38 +0000 (11:39 +0100)]
rtprtxqueue: Implement support for buffer lists

9 years agortspsrc: Improve trace readability
Nicolas Dufresne [Wed, 18 Mar 2015 21:32:36 +0000 (17:32 -0400)]
rtspsrc: Improve trace readability

Change the command number into strings.

9 years agoflvdemux: Don't repeatedly warn after no_more_pads (v2)
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

9 years agoflvdemux: Introduce constant for no-more-pads threshold
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

9 years agoflvdemux: Fix warning to contain 'video'
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

9 years agomatroskademux: for dts only stream set pts=dts for intra only formats
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

9 years agomatroskademux: fix sending of tags
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

9 years agortspsrc: properly escape percent sign in documentation
Ramiro Polla [Fri, 13 Mar 2015 18:26:06 +0000 (18:26 +0000)]
rtspsrc: properly escape percent sign in documentation

9 years agortpdtmfmux: 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

9 years agov4l2src: delay renegotiation until it is likely buffers were reclaimed
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

9 years agov4l2object: add gst_v4l2_object_try_format
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

9 years agomultiudpsink: fix crash with GST_DEBUG enabled
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.

9 years agolevel: Don't read over the end of the input memory
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

9 years agoRemove a couple of superfluous trailing semi-colons
Jan Schmidt [Wed, 11 Mar 2015 14:37:08 +0000 (01:37 +1100)]
Remove a couple of superfluous trailing semi-colons

9 years agoFix double semicolons
Tim-Philipp Müller [Tue, 10 Mar 2015 09:31:20 +0000 (09:31 +0000)]
Fix double semicolons

9 years agosplitmux: Shut down element before downward state change
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.

9 years agoosxaudio: stream format is an SPDIF-only field
Ilya Konstantinov [Mon, 9 Mar 2015 20:58:05 +0000 (22:58 +0200)]
osxaudio: stream format is an SPDIF-only field

9 years agoosxaudio: fix spaces
Ilya Konstantinov [Mon, 9 Mar 2015 20:53:41 +0000 (22:53 +0200)]
osxaudio: fix spaces

9 years agoosxaudio: add type check macro
Ilya Konstantinov [Mon, 9 Mar 2015 20:52:46 +0000 (22:52 +0200)]
osxaudio: add type check macro

9 years agoosxaudio: rename gst_core_audio_set_channels_layout()
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().

9 years agoosxaudio: remove unused finalize
Ilya Konstantinov [Mon, 9 Mar 2015 20:30:28 +0000 (22:30 +0200)]
osxaudio: remove unused finalize

9 years agovp9enc: remove duplicate declaration of function
Luis de Bethencourt [Mon, 9 Mar 2015 16:25:43 +0000 (16:25 +0000)]
vp9enc: remove duplicate declaration of function

9 years agortph264depay: remove unused value
Luis de Bethencourt [Mon, 9 Mar 2015 16:22:29 +0000 (16:22 +0000)]
rtph264depay: remove unused value

CID #1226474

9 years agortph263pay: fix leak
Luis de Bethencourt [Mon, 9 Mar 2015 16:14:34 +0000 (16:14 +0000)]
rtph263pay: fix leak

CID 1212156

9 years agortph263pay: remove uneeded variable
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.

9 years agovp[89]enc: Reset the encoder when flushing
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

9 years agomatroska: error mode if can't push buffer
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.

9 years agomatroska: unused value
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

9 years agortpjitterbuffer: Drop packets with sequence numbers before the seqnum-base
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.

9 years agortspsrc: Don't include payload type in the caps for framesize
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

9 years agortpjitterbuffer: Don't forget to unlock the mutex when receiving GAPs in TCP streams
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

9 years agopulsesink: Make sure to filter caps in all cases during CAPS query
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.

9 years agov4l2bufferpool: Don't update buffer for OUTPUT
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

9 years agosouphttpclientsink: Implement cookies property
Sebastian Dröge [Sun, 8 Mar 2015 17:04:34 +0000 (18:04 +0100)]
souphttpclientsink: Implement cookies property

9 years agosouphttpclientsink: Implement automatic-redirect property
Sebastian Dröge [Sun, 8 Mar 2015 17:02:51 +0000 (18:02 +0100)]
souphttpclientsink: Implement automatic-redirect property

9 years agosouphttpclientsink: Implement proxy support
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.

9 years agoavidemux: resurrect some flow return handling
Mark Nauwelaerts [Sat, 21 Feb 2015 19:05:24 +0000 (20:05 +0100)]
avidemux: resurrect some flow return handling

9 years agoaacparse: fix LOAS parsing issue
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

9 years agodirectsoundsink: fix modulo math with ringbuffer parameters
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

9 years agosplitmuxsink: Protect property variables with the object lock.
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

9 years agocheck: add jitterbuffer unit test
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

9 years agortspsrc: Fix handling of interleaved (TCP) streams
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

9 years agovp[89]dec: Drop frames that have no output buffer because of errors
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.

9 years agortspsrc: Don't unref caps we don't own
Sebastian Dröge [Thu, 5 Mar 2015 08:56:23 +0000 (09:56 +0100)]
rtspsrc: Don't unref caps we don't own

9 years agortspsrc: Push RTCP caps on the RTCP pads
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.

9 years agortspsrc: Make sure to send SEGMENT events on all pads
Sebastian Dröge [Thu, 5 Mar 2015 08:35:32 +0000 (09:35 +0100)]
rtspsrc: Make sure to send SEGMENT events on all pads

9 years agortp: Add Full Intra Request (FIR) packets to statistics
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

9 years agortp: Add Packet Loss Indication (PLI) to statistics
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

9 years agomatroskamux: Remove duration accumulation logic
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

9 years agomatroska: Add an helper method to get buffer timestamps
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

9 years agortpsession: Add explanation why we have space for 32 hash tables
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.

9 years agoRevert "rtpsession: Do not use an array of maps if they are not being used"
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?

9 years agortpsession: Do not use an array of maps if they are not being used
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

9 years agoavidemux: remove not needed code
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

9 years agotests: gdkpixbufoverlay-test: replace deprecated function
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.

9 years agotests: gdkpixbufoverlay-test: fix compilation against newer gdk-pixbuf
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.

9 years agoosxaudiosrc: Allow caps renegotiation
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>).

9 years agoosxaudiosink: Allow renegotiating caps
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

9 years agov4l2allocator: fix fd leak in DMABUF import mode.
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

9 years agovp8enc: Use 0 as duration for the EOS "frame"
Sebastian Dröge [Mon, 2 Mar 2015 14:06:09 +0000 (15:06 +0100)]
vp8enc: Use 0 as duration for the EOS "frame"

9 years agovp{8,9}enc: Tell the encoder about actual timestamps and durations of frames
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.

9 years agovpxdec: Fix calculation of width in bytes
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.

9 years agovpxdec: Don't memcpy in frame map failed
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.

9 years agov4l2bufferpool: Add missing break
Nicolas Dufresne [Sun, 1 Mar 2015 18:48:45 +0000 (13:48 -0500)]
v4l2bufferpool: Add missing break

This is cosmetic change.

9 years agov4l2: Workaround driver not setting field correctly
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.

9 years agoqtdemux: fix key unit seek
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

9 years agodocs/plugins: Updates
Edward Hervey [Fri, 27 Feb 2015 08:38:01 +0000 (09:38 +0100)]
docs/plugins: Updates

9 years agomatroskamux/demux: initialize dts_only
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

9 years agomatroskamux: store DTS for V_MS/VFW/FOURCC streams
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

9 years agomultifile: attempt to fix docs build issue on build bot
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

9 years agointerleave: Drop custom latency query handling
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.

9 years agovideomixer: Drop custom latency querying logic
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.

9 years agortpvorbispay: fix payloader description and author e-mail
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

9 years agov4l2: query crop configuration after each call of S_CROP
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

9 years agomatroskademux: V_MS/VFW/FOURCC streams have DTS instead of PTS
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

9 years agov4l2bufferpool: Check corruption flag on the right buffer
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

9 years agov4l2object: set colorspace in caps for capture devices
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

9 years agov4l2bufferpool: fix import_userptr() in single-planar API when n_planes > 1
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

9 years agov4l2allocator: let bufferpool calculate image size when importing userptr
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

9 years agov4l2object: recognize and distinguish all bayer arrangements
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

9 years agov4l2bufferpool: set v4l2_buffer.field when queuing buffer in an output device
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

9 years agoosxaudiosrc: iOS resampling causes stuttering
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

9 years agortspsrc: improve error message when unauthorized
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

9 years agoximagesrc: remove pointless g_return_val_if_fail()
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().

9 years agoqtdemux: All segment resulting from a seek should have the same seqnum
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

9 years agov4l2: Enable copy when no known allocation params
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.

9 years agov4l2bufferpool: Update allocator flags
Nicolas Dufresne [Fri, 20 Feb 2015 04:08:34 +0000 (23:08 -0500)]
v4l2bufferpool: Update allocator flags

When we hit emulated formats, we disable CREATE_BUFS since libv4l2
cope very badly with it. Also clear the allocator flags so we will
never try to allocate more buffers. This fixes failure when the copy
threshold is reached as we where calling CREATE_BUFS, which lead to
libv4l2 instability.

9 years agov4l2bufferpool: Use specific debug category
Nicolas Dufresne [Fri, 20 Feb 2015 04:07:23 +0000 (23:07 -0500)]
v4l2bufferpool: Use specific debug category

The pool has grown enough that it is now handy to seperate v4l2object
trace from v4l2bufferpool trace.

9 years agortpvp8pay: default encoding name to VP8
Vincent Penquerc'h [Thu, 19 Feb 2015 14:29:02 +0000 (14:29 +0000)]
rtpvp8pay: default encoding name to VP8

https://bugzilla.gnome.org/show_bug.cgi?id=737810

9 years agortpvp8pay: make caps writable before truncating them
Vincent Penquerc'h [Thu, 19 Feb 2015 14:06:51 +0000 (14:06 +0000)]
rtpvp8pay: make caps writable before truncating them

https://bugzilla.gnome.org/show_bug.cgi?id=737810

9 years agortpvp8pay: negotiate encoding name
Vincent Penquerc'h [Thu, 5 Feb 2015 10:29:26 +0000 (10:29 +0000)]
rtpvp8pay: negotiate encoding name

Chrome uses a different one than gstreamer.

https://bugzilla.gnome.org/show_bug.cgi?id=737810

9 years agortpsession: Send initial events on sync_rtcp pad when using RTP/RTCP muxing
Sebastian Dröge [Thu, 19 Feb 2015 10:35:07 +0000 (12:35 +0200)]
rtpsession: Send initial events on sync_rtcp pad when using RTP/RTCP muxing

Otherwise we will just send buffers on the pad without any events beforehand
and will get g_warnings() about that.

9 years agojack: case missing break statement
Luis de Bethencourt [Thu, 19 Feb 2015 11:20:51 +0000 (11:20 +0000)]
jack: case missing break statement

commit b1098c2ea5eabea7af08ce51d22b867eaed2bbe2 added a new case in
gst_jack_audio_src_get_property() but forgot to add the break statement to it.

9 years agoRevert "v4l2: fraction is reversed"
Luis de Bethencourt [Wed, 18 Feb 2015 19:18:00 +0000 (19:18 +0000)]
Revert "v4l2: fraction is reversed"

This reverts commit b91fe36644b15ae070d72b9e8a9c7087e82aef12.

9 years agov4l2: fraction is reversed
Luis de Bethencourt [Wed, 18 Feb 2015 17:49:29 +0000 (17:49 +0000)]
v4l2: fraction is reversed

In the fraction 1 / 2. 1 is the numerator and 2 is the denominator.
The arguments of fraction gst_value_set_fractions() are value,
numerator and denominator.
Also, gst_value_set_fraction() fails if denominator is 0 for obvious
reasons.

9 years agov4l2pool: Deactivate other pool
Nicolas Dufresne [Wed, 18 Feb 2015 01:26:55 +0000 (20:26 -0500)]
v4l2pool: Deactivate other pool

When importing buffers from a downstream pool, we need to deactivate
that pool to ensure it will be usable again later. Relying on the
refcount to reach zero does not work, since elements like xvimagesink
keeps a reference on their proposed pool.