platform/upstream/gst-plugins-base.git
10 years agooggdemux: do not dereference NULL pad in warning message
Vincent Penquerc'h [Thu, 10 Apr 2014 09:22:43 +0000 (10:22 +0100)]
oggdemux: do not dereference NULL pad in warning message

Coverity 1197695

10 years agovideo-event: Update the running times in the force-keyunit events from the pad offsets
Sebastian Dröge [Thu, 10 Apr 2014 07:18:05 +0000 (09:18 +0200)]
video-event: Update the running times in the force-keyunit events from the pad offsets

10 years agodecodebin: In adaptive streaming mode, only have a fixed buffer limit for the non...
Sebastian Dröge [Wed, 9 Apr 2014 14:03:15 +0000 (16:03 +0200)]
decodebin: In adaptive streaming mode, only have a fixed buffer limit for the non-buffering multiqueue

10 years agosdp: guard against address parse errors.
Wim Taymans [Tue, 8 Apr 2014 13:43:50 +0000 (15:43 +0200)]
sdp: guard against address parse errors.

10 years agoadder: rework the logic to check if eos has to be sent.
Mathieu Duponchelle [Tue, 25 Mar 2014 16:11:34 +0000 (17:11 +0100)]
adder: rework the logic to check if eos has to be sent.

Checking the size available was incorrect, and the infos
for per-pad EOS are available.

Same logic as audiomixer.

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

10 years agoaudioringbuffer: parse channels field from compressed audio caps
Josep Torra [Tue, 8 Apr 2014 10:46:21 +0000 (12:46 +0200)]
audioringbuffer: parse channels field from compressed audio caps

Also parse channels as an optional field in the caps for compressed
audio formats.

10 years agosubtitleoverlay: Consider all caps for overlays, not just the first.
Jan Schmidt [Sun, 6 Apr 2014 12:26:20 +0000 (22:26 +1000)]
subtitleoverlay: Consider all caps for overlays, not just the first.

Check all supported caps on the overlay video pad, not just the
first of (possibly) many.

10 years agotools: update gst-play-1.0 man page
Tim-Philipp Müller [Sat, 5 Apr 2014 12:25:46 +0000 (13:25 +0100)]
tools: update gst-play-1.0 man page

10 years agovideodecoder: do not deactivate the bufferpool, just unref
Thiago Santos [Wed, 2 Apr 2014 10:20:43 +0000 (07:20 -0300)]
videodecoder: do not deactivate the bufferpool, just unref

Videodecoder does late renegotiation, it will wait for the next
buffer before renegotiating its caps and bufferpool. It might happen
that downstream element switched from passthrough to non-passthrough
and sent a reconfigure upstream (that caused this renegotiation).
This downstream element will ask the video sink below for the bufferpool
with an allocation query and will get the same bufferpool that
videodecoder is holding, too.

When renegotiating, if videodecoder deactivates its bufferpool it
might be deactivating the bufferpool that some element downstream
is using and cause the pipeline to fail.

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

10 years agoaudiobasesink: clip start samples to match clipped start time
Vincent Penquerc'h [Mon, 24 Feb 2014 16:17:05 +0000 (11:17 -0500)]
audiobasesink: clip start samples to match clipped start time

Clock slaving can clip start time to zero, giving us a shorted
duration than we originally got. To keep in sync, we must then
discard the samples falling before that zero timestamp.

This possibly fixes random distortion caused by constant PA
underflows which are never resynced.

10 years agomikey: Fix the KEMAC payload
Wim Taymans [Fri, 4 Apr 2014 15:36:04 +0000 (17:36 +0200)]
mikey: Fix the KEMAC payload

The KEMAC payload actually needs to have subpayloads and the key should
go into the KEY_DATA subpayload. Add support for subpayloads and
implement the KEY_DATA payload.
Add some pointers to the conversion functions that allow us to add
encryption and decryption later.

10 years agoplaybin: Drop reference to any source element in NULL state
Jan Schmidt [Thu, 3 Apr 2014 15:14:50 +0000 (02:14 +1100)]
playbin: Drop reference to any source element in NULL state

Drop the reference instead of waiting for either finalize(), or
for a new source when reused. Everyone else already forgot about
the old source.

10 years agortspconnection: Added gst_rtsp_watch_set_flushing to list.
Göran Jönsson [Tue, 1 Apr 2014 08:38:23 +0000 (10:38 +0200)]
rtspconnection: Added gst_rtsp_watch_set_flushing to list.

Added gst_rtsp_watch_set_flushing to list in file
libgstrtsp.def

10 years agovideodecoder: Always drain the decoder after a discont group in reverse playback...
Sebastian Dröge [Sun, 30 Mar 2014 16:26:59 +0000 (18:26 +0200)]
videodecoder: Always drain the decoder after a discont group in reverse playback mode

10 years agovideodecoder: Flush the decoder once per discont group, not once per keyframe
Sebastian Dröge [Sun, 30 Mar 2014 15:54:11 +0000 (17:54 +0200)]
videodecoder: Flush the decoder once per discont group, not once per keyframe

10 years agovideodecoder: Handle reverse playback with multiple GOPs per discont group properly
Sebastian Dröge [Sun, 30 Mar 2014 15:54:11 +0000 (17:54 +0200)]
videodecoder: Handle reverse playback with multiple GOPs per discont group properly

baseparse will reverse each GOP for us already, so the segment events can
be after our keyframe. Make sure to get it and all other relevant sticky
events before starting to decode.

10 years agovideodecoder: Log event types of events that are pushed downstream
Sebastian Dröge [Sat, 29 Mar 2014 09:23:05 +0000 (10:23 +0100)]
videodecoder: Log event types of events that are pushed downstream

10 years agovideodecoder: In reverse playback mode we need to finish the subclass after passing...
Sebastian Dröge [Thu, 27 Mar 2014 19:15:01 +0000 (20:15 +0100)]
videodecoder: In reverse playback mode we need to finish the subclass after passing all frames to it

10 years agortspconnection: add flush method
Wim Taymans [Fri, 28 Mar 2014 08:32:20 +0000 (09:32 +0100)]
rtspconnection: add flush method

Add a method to set/unset the flushing state that makes _wait_backlog()
unlock.

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

10 years agoximagesink: only extrapolate alpha mask for 32-bit depth
Nicolas Dufresne [Thu, 27 Mar 2014 20:43:10 +0000 (16:43 -0400)]
ximagesink: 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=727188

10 years agomikey: fix return values of g_return_*
Wim Taymans [Tue, 25 Mar 2014 10:14:51 +0000 (11:14 +0100)]
mikey: fix return values of g_return_*

10 years agortsptransport: UDP is also default for SAVP and AVPF
Wim Taymans [Tue, 25 Mar 2014 10:07:34 +0000 (11:07 +0100)]
rtsptransport: UDP is also default for SAVP and AVPF

10 years agodocs: add MIKEY docs
Wim Taymans [Thu, 20 Mar 2014 11:29:33 +0000 (12:29 +0100)]
docs: add MIKEY docs

10 years agomikey: add MIKEY parsing helpers
Wim Taymans [Sat, 15 Mar 2014 17:46:52 +0000 (18:46 +0100)]
mikey: add MIKEY parsing helpers

MIKEY is defined in RFC 3830 and is used to exchange SRTP encryption
parameters between a sender and a receiver in a secure way.
This library implements a subset of the features, enough to implement
RFC 4567, using MIKEY in SDP and RTSP.

10 years agortspconnection: Fix minor memory leaks in error handling
Ognyan Tonchev [Sun, 16 Mar 2014 16:04:44 +0000 (17:04 +0100)]
rtspconnection: Fix minor memory leaks in error handling

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

10 years agortspconnection: Fix connection_poll()
Ognyan Tonchev [Sun, 16 Mar 2014 16:06:02 +0000 (17:06 +0100)]
rtspconnection: Fix connection_poll()

* Only check for conditions we are interested in.
* Makes no sense to specify G_IO_ERR and G_IO_HUP in condition, they
  will always be reported if they are true.
* Do not create timed source if timeout is NULL.
* Correctly wait for sources to be dispatched, context_iteration() is
  not guaranteed to always block even if set to do so.

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

10 years agortpbasepayload: add pt and ssrc to stats
Wim Taymans [Thu, 20 Mar 2014 08:18:31 +0000 (09:18 +0100)]
rtpbasepayload: add pt and ssrc to stats

10 years agotests: decodebin: port old decodebin2 test for parser and decoder linking
Thiago Santos [Sun, 16 Mar 2014 11:34:30 +0000 (08:34 -0300)]
tests: decodebin: port old decodebin2 test for parser and decoder linking

They were in the old decodebin2.c tests file and were never ported.
Now we can get rid of decodebin2.c

10 years agoplayback: Add video-/audio-filter properties
Arun Raghavan [Sun, 16 Mar 2014 16:00:38 +0000 (17:00 +0100)]
playback: Add video-/audio-filter properties

This provides an audio-filter and video-filter property to allow
applications to set filter elements/bins. The idea is that these will
e
applied if possible -- for non-raw sinks, the filters will be skipped.

If the application wishes to force the application of the filters, this
can be done by setting the new flag introduced on playsink -
GST_PLAY_FLAG_FORCE_FILTERS.

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

10 years agoRevert "playback: Add video-/audio-filter properties"
Sebastian Dröge [Sun, 16 Mar 2014 17:38:25 +0000 (18:38 +0100)]
Revert "playback: Add video-/audio-filter properties"

This reverts commit fb8fdedb4f4649aa33700bbc720131c1678df49f.

10 years agoplayback: Add video-/audio-filter properties
Arun Raghavan [Sat, 15 Mar 2014 15:05:22 +0000 (16:05 +0100)]
playback: Add video-/audio-filter properties

This provides an audio-filter and video-filter property to allow
applications to set filter elements/bins. The idea is that these will be
applied if possible -- for non-raw sinks, the filters will be skipped.

If the application wishes to force the application of the filters, this
can be done by setting the new flag introduced on playsink -
GST_PLAY_FLAG_FORCE_FILTERS.

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

10 years agortspconnection: Silence a compiler warning
Руслан Ижбулатов [Sat, 15 Mar 2014 20:21:32 +0000 (20:21 +0000)]
rtspconnection: Silence a compiler warning

Cast the argument into (const char *) on W32, as winsock2 expects it.

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

10 years agoplaysink: Fix documentation for what the audio chain looks like
Arun Raghavan [Sat, 15 Mar 2014 10:24:23 +0000 (11:24 +0100)]
playsink: Fix documentation for what the audio chain looks like

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

10 years agodocs: update plugin docs and remove old properties and signals
Tim-Philipp Müller [Tue, 11 Mar 2014 21:58:49 +0000 (21:58 +0000)]
docs: update plugin docs and remove old properties and signals

Re-generate .args and .signals file from scratch so that
old signals that no longer exist (such as the 'new-decoded-pad'
signal on decodebin) no longer show up in the documentation.

10 years agoadder: set a group-id on the stream-start event
Stefan Sauer [Tue, 11 Mar 2014 21:15:13 +0000 (22:15 +0100)]
adder: set a group-id on the stream-start event

Set a default group-id to fix a warning printed by the sink.

10 years agoAdd new header file
Christian Fredrik Kalager Schaller [Tue, 11 Mar 2014 16:39:54 +0000 (17:39 +0100)]
Add new header file

10 years agooggmux: implement vp8 granulepos function
Thiago Santos [Thu, 6 Mar 2014 15:59:08 +0000 (12:59 -0300)]
oggmux: implement vp8 granulepos function

Add an extra function to the oggstream map to inform it about
the incoming buffers. This way oggmux can keep a count on the
vp8 invisible frames and calculate the granulepos correctly.

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

10 years agooggmux: create vp8 header data if not provided in caps
Thiago Santos [Wed, 5 Mar 2014 19:34:42 +0000 (16:34 -0300)]
oggmux: create vp8 header data if not provided in caps

vp8 stream header shouldn't be assumed to be provided in caps always
as this would repeat the same code in all demuxers/encoders. Instead,
make oggmux generate them if they are not supplied.

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

10 years agortspconnection: gst_rtsp_watch_wait_backlog
Göran Jönsson [Thu, 6 Mar 2014 12:55:17 +0000 (13:55 +0100)]
rtspconnection: gst_rtsp_watch_wait_backlog

New method that wait until there is room in backlog queue.

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

10 years agortspconnection: GstRTSPWatch func for tunnel GET response
David Svensson Fors [Thu, 6 Mar 2014 12:50:27 +0000 (13:50 +0100)]
rtspconnection: GstRTSPWatch func for tunnel GET response

Add a callback in GstRTSPWatch where the response to HTTP GET for
tunneled connections can be modified.

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

10 years agortspdefs: add RFC 4567 headers and status code
Wim Taymans [Thu, 6 Mar 2014 14:34:47 +0000 (15:34 +0100)]
rtspdefs: add RFC 4567 headers and status code

This new Header and status code is used for SRTP

10 years agodecodebin: Buffer up to 5 seconds in multiqueue buffering mode
Sebastian Dröge [Fri, 7 Mar 2014 16:09:24 +0000 (17:09 +0100)]
decodebin: Buffer up to 5 seconds in multiqueue buffering mode

2 seconds might be too small for some container formats, e.g.
MPEGTS with some video codec and AAC/ADTS audio with 700ms
long buffers. The video branch of multiqueue can run full while
the audio branch is completely empty, especially because there
are usually more queues downstream on the audio branch.

10 years agodecodebin: Keep the number of buffers after an adaptive streaming demuxer lower
Sebastian Dröge [Thu, 6 Mar 2014 21:37:44 +0000 (22:37 +0100)]
decodebin: Keep the number of buffers after an adaptive streaming demuxer lower

Usually these buffers are multiple seconds large, and having a maximum
of 5 buffers in the multiqueue there can use a lot of memory. Lower
this to 2 for adaptive streaming demuxers.

10 years agodecodebin: Simplify adaptive streaming demuxer code a bit
Sebastian Dröge [Thu, 6 Mar 2014 21:28:46 +0000 (22:28 +0100)]
decodebin: Simplify adaptive streaming demuxer code a bit

10 years agopango: demote debug WARNING to LOG for variable framerate video input
Adrien Schwartzentruber [Thu, 6 Mar 2014 17:49:09 +0000 (17:49 +0000)]
pango: demote debug WARNING to LOG for variable framerate video input

No need why we need to warn about that, it's perfectly allowed.

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

10 years agotests: add textoverlay passthrough with composition feature unit tests
Matthieu Bouron [Thu, 30 Jan 2014 15:41:49 +0000 (15:41 +0000)]
tests: add textoverlay passthrough with composition feature unit tests

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

10 years agopango: basetextoverlay: handle video/x-raw(ANY) if downstream supports the GstVideoOv...
Matthieu Bouron [Thu, 23 Jan 2014 12:20:05 +0000 (12:20 +0000)]
pango: basetextoverlay: handle video/x-raw(ANY) if downstream supports the GstVideoOverlayCompositionMeta API

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

10 years agovideo-overlay-composition: add GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION
Matthieu Bouron [Thu, 23 Jan 2014 12:19:13 +0000 (12:19 +0000)]
video-overlay-composition: add GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION

10 years agodocs: Removing GnomeVFS left bits
Andres Gomez [Tue, 4 Mar 2014 14:51:58 +0000 (16:51 +0200)]
docs: Removing GnomeVFS left bits

gnomevfs was removed time ago but there are still some left bits.

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

10 years agotypefindfunctions: lower H.263 typefinder max probability
Tim-Philipp Müller [Wed, 5 Mar 2014 00:35:30 +0000 (00:35 +0000)]
typefindfunctions: lower H.263 typefinder max probability

The typefinder returns LIKELY for as little as one possible
sync and no bad sync (not even taking into account how much
data was looked at for that). It's generally just not fit
for purpose, so should just not return anything like LIKELY
at all ever, even more so since it only recognises one out
of ten H263 files, and likes to mis-detect mp3s as H263.

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

10 years agortspconnection: Call closed() when GET is closed in tunneled mode
Ognyan Tonchev [Sun, 2 Mar 2014 10:58:58 +0000 (11:58 +0100)]
rtspconnection: Call closed() when GET is closed in tunneled mode

This patch adds read source on the write socket in tunneled
mode and we get a callback when client disconnects the GET
channel.

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

10 years agovideoformat: Remove duplicate/incorrect section
Sebastian Rasmussen [Sun, 2 Mar 2014 11:58:21 +0000 (12:58 +0100)]
videoformat: Remove duplicate/incorrect section

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

10 years agodocs: Add annotations for return values
Sebastian Rasmussen [Sun, 2 Mar 2014 11:54:08 +0000 (12:54 +0100)]
docs: Add annotations for return values

Rephrase and clarify some return value descriptions

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

10 years agodocs: Fix argument and annotation typos
Sebastian Rasmussen [Sun, 2 Mar 2014 04:06:07 +0000 (05:06 +0100)]
docs: Fix argument and annotation typos

 * colorbalance: Fix misspelled annotation
 * rtsp: Replace incorrectly documented function argument
 * sdp: Escape @ character to avoid gtk-doc warning
 * video-*: Add missing annotation colon
 * videodecoder/video-color: Fix function argument typos
 * videoutils: Remove unknown annotation field

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

10 years ago.gitignore: Ignore gcov intermediate files
Sebastian Rasmussen [Sun, 2 Mar 2014 04:09:05 +0000 (05:09 +0100)]
.gitignore: Ignore gcov intermediate files

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

10 years agoAutomatic update of common submodule
Sebastian Dröge [Fri, 28 Feb 2014 08:34:31 +0000 (09:34 +0100)]
Automatic update of common submodule

From fe1672e to bcb1518

10 years agoplaybin: improve autoplug_query_caps return
Matthieu Bouron [Thu, 20 Feb 2014 20:01:30 +0000 (20:01 +0000)]
playbin: improve autoplug_query_caps return

Makes autoplug_query_caps return
downstream_caps + intersect_first(filter_caps, element_caps)

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

10 years agoAutomatic update of common submodule
Stefan Sauer [Wed, 26 Feb 2014 21:11:01 +0000 (22:11 +0100)]
Automatic update of common submodule

From 1a07da9 to fe1672e

10 years agortsp: fix build with older GLib versions
Tim-Philipp Müller [Wed, 26 Feb 2014 11:43:06 +0000 (11:43 +0000)]
rtsp: fix build with older GLib versions

The gio/gnetworking.h header is only available since glib 2.36

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

10 years agortspconnection: Add missing include
Ognyan Tonchev [Wed, 26 Feb 2014 10:45:24 +0000 (11:45 +0100)]
rtspconnection: Add missing include

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

10 years agoplaysinkconvertbin: improve gst_play_sink_convert_bin_getcaps return
Matthieu Bouron [Fri, 21 Feb 2014 14:01:37 +0000 (14:01 +0000)]
playsinkconvertbin: improve gst_play_sink_convert_bin_getcaps return

If we have the peer caps and a caps filter, return peer_caps +
intersect_first (filter, converter_caps) instead of
intersect_first (filter, peer_caps + converter_caps) and preservers
downstream caps preference order.

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

10 years agotests: Refactor RTP basepayloading test into pay/depay parts
Sebastian Rasmussen [Thu, 30 Jan 2014 23:06:18 +0000 (00:06 +0100)]
tests: Refactor RTP basepayloading test into pay/depay parts

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

10 years agortpbasepayload: Let caps event also configure seqnum-offset
Sebastian Rasmussen [Thu, 30 Jan 2014 23:19:16 +0000 (00:19 +0100)]
rtpbasepayload: Let caps event also configure seqnum-offset

Previously the sequence number kept track of by GstRTPBasePayload would
only be set when going from READY to PAUSED state. This meant that a
downstream element that attempted to configure a basepayloader by
setting seqnum-offset e.g. in its sinkpad's caps template would have
trouble configuring the basepayloader. The reason was that the caps
event which arrives with the desired value for seqnum-offset did not
arrive at the basepayloader until caps negotiation took place,
significantly later than the transition from READY to PAUSED.

The result after this patch is that the default value for the
seqnum-offset property, or later set values for this property, will take
effect when going from READY to PAUSED like before. In addition the an
arriving caps event will also affect the basepayloaders configured
sequence number as the event arrives.

10 years agortpbasepayload: Fix payload type property boundary value
Sebastian Rasmussen [Thu, 30 Jan 2014 23:18:35 +0000 (00:18 +0100)]
rtpbasepayload: Fix payload type property boundary value

The payload type field in an RTP packet header is 7 bits wide, hence the
boundary values ought to be 0x00 and 0x7f, not the previously stated
values 0x00 and 0x80.

10 years agortpbasedepayload: Fix typos in comments
Sebastian Rasmussen [Thu, 30 Jan 2014 23:06:30 +0000 (00:06 +0100)]
rtpbasedepayload: Fix typos in comments

10 years agodocs: add GstVideoPool to docs
Tim-Philipp Müller [Fri, 21 Feb 2014 19:28:55 +0000 (19:28 +0000)]
docs: add GstVideoPool to docs

10 years agodecodebin: If we have a demuxer without dynamic srcpads, just assume no-more-pads
Sebastian Dröge [Fri, 21 Feb 2014 08:53:09 +0000 (09:53 +0100)]
decodebin: If we have a demuxer without dynamic srcpads, just assume no-more-pads

Otherwise we will wait until the multiqueue after the demuxer will
overrun, which is clearly not needed then.

10 years agodecodebin: Also make sure to not duplicate an element factory after a group
Sebastian Dröge [Fri, 21 Feb 2014 08:43:38 +0000 (09:43 +0100)]
decodebin: Also make sure to not duplicate an element factory after a group

If we are using an adaptive stream demuxer, which outputs a non-container
stream, we are putting another multiqueue after the *parser* following
the adaptive stream demuxer. We do not want to add another instance of
the same parser right after this multiqueue.

10 years agodecodebin: During pre-rolling always use the auto-preroll limits on multiqueues
Sebastian Dröge [Thu, 20 Feb 2014 14:38:48 +0000 (15:38 +0100)]
decodebin: During pre-rolling always use the auto-preroll limits on multiqueues

Even if we're buffering in the multiqueues.

10 years agodecodebin: Pass through the seekability information when setting multiqueue limits
Sebastian Dröge [Thu, 20 Feb 2014 14:37:54 +0000 (15:37 +0100)]
decodebin: Pass through the seekability information when setting multiqueue limits

10 years agodecodebin: During exposing of pads don't set the multiqueue limits multiple times...
Sebastian Dröge [Thu, 20 Feb 2014 14:36:47 +0000 (15:36 +0100)]
decodebin: During exposing of pads don't set the multiqueue limits multiple times to different values

Instead just set them once in the very end to the correct values.

10 years agodecodebin: Only enable multiqueue buffering once we're pre-rolled
Sebastian Dröge [Thu, 20 Feb 2014 14:07:26 +0000 (15:07 +0100)]
decodebin: Only enable multiqueue buffering once we're pre-rolled

Otherwise we will emit buffering messages not just from the last
multiqueue but also from previous multiqueues... confusing the
application with different percentages during pre-rolling.

10 years agodecodebin: Make sure that we always have a second multiqueue for adaptive streaming...
Sebastian Dröge [Thu, 20 Feb 2014 14:02:09 +0000 (15:02 +0100)]
decodebin: Make sure that we always have a second multiqueue for adaptive streaming demuxers

For adaptive streaming demuxer we insert a multiqueue after
this demuxer. This multiqueue will get one fragment per buffer.
Now for the case where we have a container stream inside these
buffers, another demuxer will be plugged and after this second
demuxer there will be a second multiqueue. This second multiqueue
will get smaller buffers and will be the one emitting buffering
messages.
If we don't have a container stream inside the fragment buffers,
we'll insert a multiqueue below right after the next element after
the adaptive streaming demuxer. This is going to be a parser or
decoder, and will output smaller buffers.

10 years agouridecodebin: Always use buffering in multiqueue for adaptive streams
Sebastian Dröge [Wed, 19 Feb 2014 09:21:16 +0000 (10:21 +0100)]
uridecodebin: Always use buffering in multiqueue for adaptive streams

10 years agouridecodebin: Only add a queue2 for buffering for non-adaptive streaming streams
Sebastian Dröge [Wed, 19 Feb 2014 09:06:13 +0000 (10:06 +0100)]
uridecodebin: Only add a queue2 for buffering for non-adaptive streaming streams

10 years agouridecodebin: pass on the buffering property for adaptive streams
Thiago Santos [Wed, 6 Feb 2013 11:46:58 +0000 (08:46 -0300)]
uridecodebin: pass on the buffering property for adaptive streams

Adaptive streams should download its data inside the demuxer, so
we want to use multiqueue's buffering messages to control the
pipeline flow and avoid losing sync if download rates are low;

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

10 years agotests: add new unit tests to .gitignore
Tim-Philipp Müller [Fri, 21 Feb 2014 19:07:59 +0000 (19:07 +0000)]
tests: add new unit tests to .gitignore

10 years agortspconnection: New unit test
Ognyan Tonchev [Wed, 19 Feb 2014 12:54:17 +0000 (13:54 +0100)]
rtspconnection: New unit test

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

10 years agortspconnection: Remove read child source when POST is disconnected
Ognyan Tonchev [Wed, 19 Feb 2014 12:53:06 +0000 (13:53 +0100)]
rtspconnection: Remove read child source when POST is disconnected

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

10 years agodefs: update for new rtspconnection symbols
Aleix Conchillo Flaqué [Thu, 20 Feb 2014 00:10:25 +0000 (16:10 -0800)]
defs: update for new rtspconnection symbols

10 years agooggdemux: allow file to go until the end in push mode
Thiago Santos [Wed, 19 Feb 2014 04:55:50 +0000 (01:55 -0300)]
oggdemux: allow file to go until the end in push mode

When seeking back to original state after duration seeks, let
upstream know that we want the whole file, including the last
byte that wasn't requested on the duration seeks.

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

10 years agooggdemux: remove unused instance variable event
Thiago Santos [Thu, 20 Feb 2014 02:54:59 +0000 (23:54 -0300)]
oggdemux: remove unused instance variable event

It is never set to anything

10 years agortspconnection: allow specifying a certificate database
Aleix Conchillo Flaqué [Mon, 17 Feb 2014 01:39:35 +0000 (17:39 -0800)]
rtspconnection: allow specifying a certificate database

Two new functions have been added,
gst_rtsp_connection_set_tls_database() and
gst_rtsp_connection_get_tls_database(). The certificate database will be
used when a certificate can't be verified with the default database.

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

10 years agortspconnection: get rid of superfluous whitespaces
Aleix Conchillo Flaqué [Mon, 17 Feb 2014 07:55:17 +0000 (23:55 -0800)]
rtspconnection: get rid of superfluous whitespaces

10 years agoencodebin: simplify tests
Stefan Sauer [Tue, 18 Feb 2014 19:48:57 +0000 (20:48 +0100)]
encodebin: simplify tests

Also use the profile helper for the ogg profile here.

10 years agovideo: Fix NV12_64Z32 default offset and size
Nicolas Dufresne [Tue, 18 Feb 2014 18:08:09 +0000 (13:08 -0500)]
video: Fix NV12_64Z32 default offset and size

This was a regression introduced by f52fd7a68, where we started using
the stride to encode the dimensions in tiles. This patch simply updates
offset and size calculation as described in the documentation,
part-mediatype-video-raw.txt.

10 years agoplaybin: Keep inputselector around until we release its pads
Sebastian Dröge [Tue, 18 Feb 2014 14:02:57 +0000 (15:02 +0100)]
playbin: Keep inputselector around until we release its pads

Otherwise there's an interesting race condition when we destroy
the inputselector (actually it will be destroyed later when its state
change message gets destroyed) and afterwards release its sinkpad.

This is the code path when the last channel is removed from the
input selector.

Gave this warning sometimes, for chained oggs or whenever else
we change decode groups:
GStreamer-CRITICAL **: Padname '':sink_0 does not belong to element inputselector0 when removing

10 years agoaudioconvert: never do mixing for 1->1 channel conversions
Tim-Philipp Müller [Tue, 18 Feb 2014 10:42:04 +0000 (10:42 +0000)]
audioconvert: never do mixing for 1->1 channel conversions

MONO and NONE position are the same, for example, but in
general there isn't much to do here for such a conversion.

Fixes problem in audioconvert, which would end up using
a mixmatrix when converting between different mono format
because it thinks MONO positioning is different from
unpositioned channels, which is not the case in this
special case. The mixmatrix would end up being 0.0 so
audioconvert would convert to silence samples.

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

10 years agoaudio: map channels=1,channel-mask=0 to MONO instead of NONE
Rafał Mużyło [Tue, 18 Feb 2014 10:32:46 +0000 (10:32 +0000)]
audio: map channels=1,channel-mask=0 to MONO instead of NONE

Fixes problem in audioconvert, which would end up using
a mixmatrix when converting between different mono format
because it thinks MONO positioning is different from
unpositioned channels, which is not the case in this
special case. The mixmatrix would end up being 0.0 so
audioconvert would convert to silence samples.

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

10 years agoencodebin: refactor tests
Stefan Sauer [Sun, 16 Feb 2014 20:24:29 +0000 (21:24 +0100)]
encodebin: refactor tests

Add a new test to demo how to get missing plugin message.
Split some tests that unneccesarily munge unrelated checks into one test.

10 years agoplaysink: Only remove the complete text chain if the text pad goes away
Sebastian Dröge [Sun, 16 Feb 2014 14:32:47 +0000 (15:32 +0100)]
playsink: Only remove the complete text chain if the text pad goes away

If the text pads does not go away we just set the overlay to silent, which
allows us to immediately re-enable subs later again. However before this
change we also released the streamsynchronizer text pads, which deadlocked
because there was still dataflow going on. Just do this only if we remove
the complete chain.

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

10 years agotools: gst-play: add volume control
Tim-Philipp Müller [Fri, 14 Feb 2014 20:16:04 +0000 (20:16 +0000)]
tools: gst-play: add volume control

10 years agooggmux: properly flush when seeking at the beginning
Thiago Santos [Thu, 13 Feb 2014 19:03:01 +0000 (16:03 -0300)]
oggmux: properly flush when seeking at the beginning

Reset all internal status when collect pads forwards a flush-stop
from the pads to be able to start the stream again.

10 years agouridecodebin: Don't leak pad references
Sebastian Dröge [Wed, 12 Feb 2014 16:34:32 +0000 (17:34 +0100)]
uridecodebin: Don't leak pad references

10 years agotests: Don't build disabled plugins' check tests
Sebastian Rasmussen [Sun, 2 Feb 2014 22:59:36 +0000 (23:59 +0100)]
tests: Don't build disabled plugins' check tests

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

10 years agoplaybin: First try to get the pad's current caps, then query caps
Sebastian Dröge [Tue, 11 Feb 2014 15:35:45 +0000 (16:35 +0100)]
playbin: First try to get the pad's current caps, then query caps

The caps query might give us ANY caps while the pad has fixed caps
configured currently.

10 years agoplaybin: Fix memory leak in autoplugging code
Sebastian Dröge [Mon, 10 Feb 2014 15:33:50 +0000 (16:33 +0100)]
playbin: Fix memory leak in autoplugging code

We should not leak element factories ideally.

10 years agoplaybin: Fix memory leak in unit test
Sebastian Dröge [Mon, 10 Feb 2014 15:33:35 +0000 (16:33 +0100)]
playbin: Fix memory leak in unit test

10 years agosubtitleoverlay: Remove unused function
Sebastian Dröge [Sun, 9 Feb 2014 22:17:03 +0000 (23:17 +0100)]
subtitleoverlay: Remove unused function

10 years agoaudiosrc: Fix typo in docs
Sebastian Dröge [Sun, 9 Feb 2014 10:28:48 +0000 (11:28 +0100)]
audiosrc: Fix typo in docs

We read *from* the audio device, not to it.