platform/upstream/gst-plugins-good.git
10 years agoaacparse: Fix memory leak in the test
Sebastian Dröge [Wed, 16 Apr 2014 15:35:42 +0000 (17:35 +0200)]
aacparse: Fix memory leak in the test

10 years agovideomixer: Create hashtable only when we actually use it
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.

10 years agovideomixer: Chain up to the parent class' dispose function
Sebastian Dröge [Wed, 16 Apr 2014 15:30:59 +0000 (17:30 +0200)]
videomixer: Chain up to the parent class' dispose function

10 years agov4l2videodec: Initialise ioctl struct with zeroes before passing it to ioctl()
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()

10 years agoudpsrc: correct LOG msg for -1
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>
10 years agointerleave: Fix negotiation to work at all again
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.

10 years agooss4: Maximum number of channels support is 8
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

10 years agoosxvideosink: Set rank to MARGINAL
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.

10 years agortph264depay: only guess AU boundaries when aren't indicated by marker
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

10 years agopngdec: enable libpng interlaced picture handling
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

10 years agosouphttpsrc: Only keep-alive the connection in stop() if we have finished all previou...
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.

10 years agodvdec: Don't set bogus timestamp/duration
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

10 years agodvdec: Properly refuse incoming stream without framerate
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

10 years agosouphttpsrc: Also retry on unexpected network failures
Sebastian Dröge [Thu, 10 Apr 2014 14:35:28 +0000 (16:35 +0200)]
souphttpsrc: Also retry on unexpected network failures

10 years agosouphttpsrc: New property to specify the maximum number of retries before we give up
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

10 years agosouphttpsrc: Change default timeout to 15 seconds
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.

10 years agoqtdemux: replace duplicated variable when parsing trex atom
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

10 years agosouphttpsrc: Use GST_FLOW_FLUSHING when flushing, not GST_FLOW_EOS
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

10 years agoqtdemux: Properly return stream flags when parsing trex atom
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

10 years agoosxvideosink: use the video frame API instead of the video meta API
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

10 years agoosxvideosink: advertize video meta API support
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

10 years agointerleave: Add missing break in switch statement
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

10 years agotests: souphttpsrc: use SoupKnownStatusCode if needed
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

10 years agoavidemux: use frames, not bytes, for position query in VBR streams
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

10 years agosmpte: fix copy/paste error causing unmap on wrong buffer
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

10 years agodeinterlace: guard against finding no suitable pattern
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

10 years agortspsrc: update for new MIKEY API
Wim Taymans [Fri, 4 Apr 2014 15:38:14 +0000 (17:38 +0200)]
rtspsrc: update for new MIKEY API

10 years agortspsrc: send sender SSRC in the MIKEY message
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.

10 years agortspsrc: make random number for the CSB
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

10 years agortspsrc: don't put spaces in keymgmt header
Wim Taymans [Wed, 26 Mar 2014 11:10:44 +0000 (12:10 +0100)]
rtspsrc: don't put spaces in keymgmt header

10 years agortspsrc: create and send the RTCP encryption key
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.

10 years agortspsrc: free the srtpdec element
Wim Taymans [Thu, 3 Apr 2014 10:18:39 +0000 (12:18 +0200)]
rtspsrc: free the srtpdec element

10 years agortspsrc: cleanup stream_free function
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.

10 years agojitterbuffer: demote warning to debug
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.

10 years agov4l2: Fix support for caps without width, height, framerate or format
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

10 years agoavidemux: Always set PTS=DTS on raw video streams
Thibault Saunier [Mon, 31 Mar 2014 16:34:13 +0000 (18:34 +0200)]
avidemux: Always set PTS=DTS on raw video streams

10 years agoavidemux: Always set pixel-aspect-ratio 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.

10 years agomatroska-mux: add mapping for Opus audio
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.

10 years agomatroska-demux: add mapping for Opus audio codec
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

10 years agov4l2src: Fix support for mpegts streams
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+.

10 years agov4l2: attempt to fix infinite (for small version of infinite) loop
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

10 years agortpmanager: copy sticky events when exposing pads in more places
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

10 years agov4l2: fix distcheck
Rico Tzschichholz [Fri, 28 Mar 2014 19:11:36 +0000 (20:11 +0100)]
v4l2: fix distcheck

Make sure ext/*.h are dist'ed

10 years agoximagesrc: only extrapolate alpha mask for 32-bit depth
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

10 years agoximagesrc: Add ARGB/BGRA support
Nicolas Dufresne [Fri, 21 Mar 2014 17:03:17 +0000 (13:03 -0400)]
ximagesrc: Add ARGB/BGRA support

10 years agojpegpay: consider header len when calculating payload len
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

10 years agojpegdec: All frames are sync points
Sebastian Dröge [Wed, 26 Mar 2014 07:03:22 +0000 (08:03 +0100)]
jpegdec: All frames are sync points

10 years agopngdec: 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

10 years agomatroskademux: segment closing not needed in 1.x
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.

10 years agomatroskademux: early sending pending codec-data for all streams
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

10 years agomatroskamux: handle both sticky and non-sticky custom event
Mark Nauwelaerts [Sat, 22 Mar 2014 16:01:27 +0000 (17:01 +0100)]
matroskamux: handle both sticky and non-sticky custom event

10 years agortspsrc: only expose streams on dataflow
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.

10 years agortspsrc: copy sticky events to ghostpad
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

10 years agortspsrc: srtp handling
Wim Taymans [Mon, 24 Mar 2014 13:25:43 +0000 (14:25 +0100)]
rtspsrc: srtp handling

10 years agortspsrc: set SSRC on caps if known
Wim Taymans [Tue, 25 Mar 2014 09:23:00 +0000 (10:23 +0100)]
rtspsrc: set SSRC on caps if known

10 years agortspsrc: put caps on udpsrc instead of using the signals
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.

10 years agortspsrc: use profile to set rtcp caps
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

10 years agortspsrc: set udpsrc to READY
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

10 years agoudpsrc: improve caps handling
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.

10 years agoudpsrc: open/close socket in NULL<->READY state
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).

10 years agortspsrc: free caps in ptmap array
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

10 years agortspsrc: handle NULL rtpmap and parse error better
Wim Taymans [Thu, 20 Mar 2014 10:12:51 +0000 (11:12 +0100)]
rtspsrc: handle NULL rtpmap and parse error better

10 years agoconfigure: Don't check for gudev if video4linux2 is not present
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

10 years agoconfigure: Don't fail if gudev 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.

10 years agov4l2: Implement GstDeviceMonitor subclass
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

10 years agopulse: Add device monitors
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

10 years agov4l2: Remove GstPropertyProbe leftovers
Olivier Crête [Sun, 16 Mar 2014 23:24:26 +0000 (19:24 -0400)]
v4l2: Remove GstPropertyProbe leftovers

10 years agovideomixer: Port to new collectpads API
Mathieu Duponchelle [Wed, 19 Feb 2014 02:04:03 +0000 (03:04 +0100)]
videomixer: Port to new collectpads API

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

10 years agov4l2: Add types compatiblity for other OS
Nicolas Dufresne [Sun, 16 Mar 2014 14:26:04 +0000 (15:26 +0100)]
v4l2: Add types compatiblity for other OS

Adds type compatiblity with other OS like BSD. This uses types mapping macro to
avoid conflict with existing defined types. We resuse glib types as these are
already available on supported platforms. This is GCC only because of the
le32 type that uses bitwise attribute.

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

10 years agopulse: fix format info to caps conversion for mulaw
Tim-Philipp Müller [Sun, 16 Mar 2014 15:55:00 +0000 (15:55 +0000)]
pulse: fix format info to caps conversion for mulaw

10 years agopulse: Make gst_pulse_format_info_to_caps() shared
Olivier Crête [Tue, 13 Aug 2013 16:10:42 +0000 (12:10 -0400)]
pulse: Make gst_pulse_format_info_to_caps() shared

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

10 years agov4l2: Fix typo V4L_DIR intead of V4L2_DIR
Nicolas Dufresne [Sat, 15 Mar 2014 17:41:16 +0000 (18:41 +0100)]
v4l2: Fix typo V4L_DIR intead of V4L2_DIR

10 years agov4l2-build: Set HAVE_GST_V4L2 if headers are present
Nicolas Dufresne [Sat, 15 Mar 2014 17:05:32 +0000 (18:05 +0100)]
v4l2-build: Set HAVE_GST_V4L2 if headers are present

The name of HAVE_ need to match the USE_. Now set HAVE_GST_V4L2 if
videodev2.h is found.

10 years agov4l2: Actually build the plugin
Nicolas Dufresne [Sat, 15 Mar 2014 15:47:51 +0000 (16:47 +0100)]
v4l2: Actually build the plugin

The checks were removed inadvertedly in previous patch and not replaced.
Re-introduce the configure checks and some of the checks in order to enable
this plugin again. We only check if videodev2.h exist on the platform to
avoid building on Windows or OSX, though we build against our own copy. This
was breaking the build on built-bot.

10 years agotranslation: PO file changes caused by POTFILE.in update
Nicolas Dufresne [Sat, 15 Mar 2014 12:47:42 +0000 (13:47 +0100)]
translation: PO file changes caused by POTFILE.in update

10 years agov4l2: Remove XV support
Nicolas Dufresne [Sat, 15 Mar 2014 12:17:21 +0000 (13:17 +0100)]
v4l2: Remove XV support

XV support for v4l2 never became upstream and ended up being
commented out with an undef for a long time now.

10 years agov4l2: Use a copy of videodev2.h header
Nicolas Dufresne [Sat, 15 Mar 2014 10:13:05 +0000 (11:13 +0100)]
v4l2: Use a copy of videodev2.h header

With years the amount of ifdef have grown up and we are not even sure if the
old code path compiles. Each time we need to update the v4l2 framework to add
the new feature, we break compilation on older kernel. With exception of two
controls in the video orientation control, this patch get rid of all ifdef by
including the latest version of videodev2.h inside GStreamer.

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

10 years agosouphttpsrc: Add properties for selecting SSL/TLS certificate checking
Sebastian Dröge [Wed, 12 Mar 2014 14:32:55 +0000 (15:32 +0100)]
souphttpsrc: Add properties for selecting SSL/TLS certificate checking

And by default properly check certificates against the system's CA
certificates. Everything else is not a good default at all.

10 years agomatroskademux: fix assert on fps lower than 1
Per x Johansson [Tue, 11 Mar 2014 13:56:30 +0000 (14:56 +0100)]
matroskademux: fix assert on fps lower than 1

Fixes assert caused by gst_duration_to_fraction calling
gst_util_uint64_scale_int with a denominator of 0 when fps is less
than 1.

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

10 years agovideomixer2: store video info with buffers to keep it in sync
Thiago Santos [Tue, 11 Mar 2014 03:46:06 +0000 (00:46 -0300)]
videomixer2: store video info with buffers to keep it in sync

Instead the queued buffer might have an old caps while the pad
is already storing the information for a new caps. Mixing those
while handling buffers will often lead to issues

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

10 years agov4l2: Fix typo contol -> control
William Manley [Sun, 9 Mar 2014 00:29:58 +0000 (19:29 -0500)]
v4l2: Fix typo contol -> control

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

10 years agov4l2: Normalise control names in the same way as v4l2-ctl
William Manley [Tue, 4 Mar 2014 01:15:49 +0000 (01:15 +0000)]
v4l2: Normalise control names in the same way as v4l2-ctl

V4L2 kernel drivers allow configuration of the hardware settings via a
mechanism called controls.  These can be referred to by name such as
"Brightness" and "White Balance Temperature".  The user-space command line
client for setting these controls (v4l2-ctl) normalises these names such
that they only contain lower case alphanumeric characters and the
underscore '_'.  e.g:

    Kernel                     v4l2-ctl
    ----------------------------------------------------
    Brightness                 brightness
    White Balance Temperature  white_balance_temperature
    Focus (absolute)           focus_absolute

GStreamer seems to want to follow this pattern but failed for controls with
more than one consecutive non-alphanum character.  e.g. GStreamer would
produce "focus__absolute_" rather than "focus_absolute".

This commit fixes that issue.  Backwards compatibility is preserved by
normalising all control names before comparison.

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

10 years agosouphttpsrc: Make sure to not return EOS immediately if we finished a range request
Sebastian Dröge [Fri, 7 Mar 2014 15:17:29 +0000 (16:17 +0100)]
souphttpsrc: Make sure to not return EOS immediately if we finished a range request

Only return EOS the next time create() is called, if at all. basesrc
should already take care of not calling it again.

Also always return immediately if the previous flow return was
not OK. This indicates an error somewhere.

10 years agortp: Remove caps restrictions from RTP depayloader sink caps
Olivier Crête [Thu, 6 Mar 2014 17:06:43 +0000 (12:06 -0500)]
rtp: Remove caps restrictions from RTP depayloader sink caps

Remove caps restrictions that correspond to the default and are not
required in SDP. With the new usage of having pads require a subset
of the caps, they will make the negotiation fail.

10 years agortpspeexdepay: Remove caps restrictions for depayloader
Olivier Crête [Thu, 6 Mar 2014 16:02:09 +0000 (11:02 -0500)]
rtpspeexdepay: Remove caps restrictions for depayloader

The "encoding-params" is optional in the SDP, because we now require
a subset of the caps, it would fail caps negotiatioin if it wasn't present.
So removed it from the template caps.

10 years agosouphttpsrc: Don't forget to quit mainloop after we cancelled when we got data after...
Sebastian Dröge [Thu, 6 Mar 2014 12:38:09 +0000 (13:38 +0100)]
souphttpsrc: Don't forget to quit mainloop after we cancelled when we got data after the stop position

10 years agosouphttpsrc: If we had a stop position, allow for the server to finish our connection...
Sebastian Dröge [Thu, 6 Mar 2014 12:35:47 +0000 (13:35 +0100)]
souphttpsrc: If we had a stop position, allow for the server to finish our connection instead of just cancelling

Otherwise keep-alive does not make much sense and also the server will have
confusing things in the logs.

10 years agortspsrc: skip streams with same control url
Wim Taymans [Thu, 6 Mar 2014 11:24:01 +0000 (12:24 +0100)]
rtspsrc: skip streams with same control url

Keep track of what streams we did the SETUP for. We only need to
configure caps, wait for pads and push events on setup streams. We can
remove the disabled state of the stream and simplify some checks.
After we setup a stream, skip the other streams that have the same
control url. Use a skipped flag to mark streams that should be skipped.

10 years agortspsrc: remove obsolete code
Wim Taymans [Thu, 6 Mar 2014 11:22:47 +0000 (12:22 +0100)]
rtspsrc: remove obsolete code

10 years agortspsrc: just use the SDP index as the stream id
Wim Taymans [Wed, 5 Mar 2014 15:19:19 +0000 (16:19 +0100)]
rtspsrc: just use the SDP index as the stream id

Use the index of the media stream in the SDP as the stream id instead of
keeping a separate counter.

10 years agoosxvideo: fix build on Mac OSX Mavericks and put new window in front
Thijs Vermeir [Wed, 5 Mar 2014 12:35:19 +0000 (13:35 +0100)]
osxvideo: fix build on Mac OSX Mavericks and put new window in front

GetCurrentProcess/SetFrontProcess/TransformProcessType was deprecated
and now removed in Mac OSX 10.9. orderFrontRegardless is used to make
the video window the most front window.

10 years agoAdd docs directory to spec file
Christian Fredrik Kalager Schaller [Wed, 5 Mar 2014 16:33:56 +0000 (17:33 +0100)]
Add docs directory to spec file

10 years agortspsrc: handle NULL control urls better
Wim Taymans [Wed, 5 Mar 2014 14:44:25 +0000 (15:44 +0100)]
rtspsrc: handle NULL control urls better

10 years agosession: small cleanups
Wim Taymans [Wed, 5 Mar 2014 13:28:26 +0000 (14:28 +0100)]
session: small cleanups

It's nicer to explicitly check for NULL on pointer types to make it
clear that it's a pointer and not a boolean.

10 years agosession: handle unknown SSRC in FIR
Wim Taymans [Wed, 5 Mar 2014 13:26:02 +0000 (14:26 +0100)]
session: handle unknown SSRC in FIR

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

10 years agortspsrc: fix seeking
Alessandro Decina [Wed, 5 Mar 2014 10:39:09 +0000 (11:39 +0100)]
rtspsrc: fix seeking

Call gst_rtspsrc_connection_flush (src, FALSE) to reset connections as
non-flushing before sending PAUSE and PLAY with the new npt range. Without this
patch, those commands would fail with EINTR as the connections were still
flushing.

10 years agoavidemux: expose xsub as a subtitle instead of as a video
Thiago Santos [Mon, 3 Mar 2014 19:39:26 +0000 (16:39 -0300)]
avidemux: expose xsub as a subtitle instead of as a video

It is placed inside a 'vids' struct, so it was being exposed on
a pad named video_%d. XSUB are subtitles and this patch adds
an special case for it to be exposed in a subpicture_%d pad

10 years agoavidemux: do not try to add a tag with tag_name set to NULL
Thiago Santos [Mon, 3 Mar 2014 19:38:45 +0000 (16:38 -0300)]
avidemux: do not try to add a tag with tag_name set to NULL

This can happen if there are subtitles in the stream, leading to
an assertion

10 years agortspsrc: Add support for multiple payload types
Wim Taymans [Tue, 4 Mar 2014 15:40:34 +0000 (16:40 +0100)]
rtspsrc: Add support for multiple payload types

A media stream can have multiple payload types. Parse all the payload
types and collect the caps information. We then have to store the
pt<->caps mapping instead of 1 pt and 1 caps.
Parse the profile from the SDP and use that to negotiate the transport
instead of always using AVP.
Rework how we do some tweaks for ASF and Realmedia.

10 years agortspsrc: refactor payload handling
Wim Taymans [Tue, 4 Mar 2014 10:34:39 +0000 (11:34 +0100)]
rtspsrc: refactor payload handling