platform/upstream/gst-plugins-base.git
9 years agopbutils: discoverer: Always set the pipeline back to NULL after an error
Thibault Saunier [Wed, 30 Jul 2014 13:23:39 +0000 (15:23 +0200)]
pbutils: discoverer: Always set the pipeline back to NULL after an error

Otherwize the pipeline would be in an wrong state and on the next
iteration any kind of error could happen

Everytime an error happens in a pipeline the application has to set the
pipeline back to NULL instead of READY.

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

9 years agodecodebin: add missing 'time' word to debug message
Thiago Santos [Tue, 29 Jul 2014 17:20:42 +0000 (14:20 -0300)]
decodebin: add missing 'time' word to debug message

It prints the buffers, bytes and time limits, but 'time' was missing
from the string.

9 years agoplaybin: Pass through NO_PREROLL state change returns
Sebastian Dröge [Mon, 28 Jul 2014 14:56:08 +0000 (16:56 +0200)]
playbin: Pass through NO_PREROLL state change returns

Fixes playback of live pipelines.

9 years agouridecodebin: Pass through NO_PREROLL state change returns
Sebastian Dröge [Mon, 28 Jul 2014 14:55:17 +0000 (16:55 +0200)]
uridecodebin: Pass through NO_PREROLL state change returns

Fixes playback of live pipelines.

9 years agoplaybin: fix 'attempt to unlock mutex that was not locked' in error code path
Tim-Philipp Müller [Sat, 26 Jul 2014 13:52:01 +0000 (14:52 +0100)]
playbin: fix 'attempt to unlock mutex that was not locked' in error code path

Fixes playbin unit test with latest GLib.

9 years agovideoencoder: Don't delay set_format
Nicolas Dufresne [Tue, 8 Jul 2014 20:59:37 +0000 (16:59 -0400)]
videoencoder: Don't delay set_format

This prevent implementing allocation query, as the format need to be
known in order to determin the size and number of buffers needed.

Note: This may lead to few regressions that will need fixing

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

9 years agodecodebin: Don't unref caps for which we don't own a reference... get one first
Sebastian Dröge [Wed, 23 Jul 2014 17:51:36 +0000 (19:51 +0200)]
decodebin: Don't unref caps for which we don't own a reference... get one first

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

9 years agoplaybin: Go asynchronously from READY to PAUSED
Sebastian Dröge [Wed, 23 Jul 2014 10:36:15 +0000 (12:36 +0200)]
playbin: Go asynchronously from READY to PAUSED

We now add all our elements to uridecodebin *after*
GstBin::change_state(READY->PAUSED), so we need to post async-start
and async-done messages ourselves if we want to work async.

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

9 years agouridecodebin: Go asynchronously from READY to PAUSED
Sebastian Dröge [Wed, 23 Jul 2014 10:27:36 +0000 (12:27 +0200)]
uridecodebin: Go asynchronously from READY to PAUSED

We now add all our elements to uridecodebin *after*
GstBin::change_state(READY->PAUSED), so we need to post async-start
and async-done messages ourselves if we want to work async.

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

10 years agodiscoverer: Pretty-print topology tags
Vivia Nikolaidou [Mon, 21 Jul 2014 12:54:05 +0000 (15:54 +0300)]
discoverer: Pretty-print topology tags

Call the code used in properties for topology tags too.
Side-effect achieved: more tags printed, buffers (e.g. images) shortened.

10 years agodiscoverer: Fix code style a bit
Sebastian Dröge [Mon, 21 Jul 2014 11:53:17 +0000 (13:53 +0200)]
discoverer: Fix code style a bit

if (...)
  one_line;
else if (...) {
  many_lines;
} else
  one_line;

looks a bit confusing.

10 years agodiscoverer: prettier image tag printing
Vivia Nikolaidou [Mon, 21 Jul 2014 10:48:31 +0000 (13:48 +0300)]
discoverer: prettier image tag printing

Rather than dumping the serialized sample value, the code now
prints the number of bytes in the buffer, then the caps in a
human-readable format.

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

10 years agoaudiodecoder: Handle CAPS events immediately instead of delaying them
Sebastian Dröge [Thu, 10 Jul 2014 10:39:46 +0000 (12:39 +0200)]
audiodecoder: Handle CAPS events immediately instead of delaying them

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

10 years agovideodecoder: Handle CAPS events immediately instead of delaying them
Sebastian Dröge [Fri, 11 Jul 2014 19:51:05 +0000 (21:51 +0200)]
videodecoder: Handle CAPS events immediately instead of delaying them

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

10 years agoplaybin: Fix unit test for last change
Sebastian Dröge [Tue, 15 Jul 2014 15:34:01 +0000 (17:34 +0200)]
playbin: Fix unit test for last change

It will successfully asynchronously go to PAUSED now and
later fail.

10 years agouridecodebin: Create new sources after chaining up to the parent class
Sebastian Dröge [Tue, 15 Jul 2014 15:23:24 +0000 (17:23 +0200)]
uridecodebin: Create new sources after chaining up to the parent class

Otherwise we start the new sources already before the parent class
got ready to start.

10 years agoplaybin: Create new sources after chaining up to the parent class
Sebastian Dröge [Tue, 15 Jul 2014 15:20:05 +0000 (17:20 +0200)]
playbin: Create new sources after chaining up to the parent class

Otherwise we start the new sources already before the parent class
got ready to start.

10 years agoplaybin-complex: Change template name from %d to the more common %u
Sebastian Dröge [Thu, 10 Jul 2014 14:26:08 +0000 (16:26 +0200)]
playbin-complex: Change template name from %d to the more common %u

10 years agodecodebin: Link Parser/Converter directly and already connect to pad-added and other...
Sebastian Dröge [Thu, 10 Jul 2014 14:24:36 +0000 (16:24 +0200)]
decodebin: Link Parser/Converter directly and already connect to pad-added and other signals before setting elements to PAUSED

otherwise we're going to
a) start Parser/Converter before they are linked to their capsfilter,
   breaking their negotiation of a proper stream format
b) start demuxers without having connected to their pad-added signals. We
   miss pads and in the worst case don't link any pads at all

10 years agodecodebin: Send sticky events to the new element after setting it to PAUSED
Sebastian Dröge [Thu, 10 Jul 2014 10:51:22 +0000 (12:51 +0200)]
decodebin: Send sticky events to the new element after setting it to PAUSED

... and if this fails for whatever reason we skip the element and instead
try with the next element. This allows us to handle elements that fail
when setting caps on them by just skipping to the next alternative element.

10 years agodecodebin: Only link elements further after setting them to PAUSED
Sebastian Dröge [Thu, 10 Jul 2014 10:50:17 +0000 (12:50 +0200)]
decodebin: Only link elements further after setting them to PAUSED

They might fail to go to PAUSED, and when connecting them further
we might already expose their srcpads on decodebin if we're unlucky.
This prevents us to handle failures going to PAUSED gracefully.

10 years agodecodebin: Remove ERROR message filter after we set the element to PAUSED
Sebastian Dröge [Thu, 10 Jul 2014 10:22:35 +0000 (12:22 +0200)]
decodebin: Remove ERROR message filter after we set the element to PAUSED

This allows us to catch more errors gracefully and switch to an alternative
element instead.

10 years agodecodebin: Only continue autoplugging once the pad has final caps
Sebastian Dröge [Thu, 10 Jul 2014 10:17:52 +0000 (12:17 +0200)]
decodebin: Only continue autoplugging once the pad has final caps

If the caps query returned us fixed caps this doesn't mean yet
that these caps are actually complete (fields might be missing).

It allows to do us some decisions, but the selection of the next
element should be delayed as only complete caps allow proper selection
of the next element.

10 years agodecodebin: Consider the caps after the capsfilter after parsers for autoplugging
Sebastian Dröge [Thu, 10 Jul 2014 10:03:46 +0000 (12:03 +0200)]
decodebin: Consider the caps after the capsfilter after parsers for autoplugging

Otherwise we might try to continue autoplugging e.g. for a specific
stream-format although the parser could convert to something else, thus giving
us potentially less options for decoders.

10 years agopbutils: fix missing plugin description for missing elements
Tim-Philipp Müller [Sun, 20 Jul 2014 23:17:38 +0000 (00:17 +0100)]
pbutils: fix missing plugin description for missing elements

CID: 1226445

10 years agoBack to development
Sebastian Dröge [Sat, 19 Jul 2014 16:04:35 +0000 (18:04 +0200)]
Back to development

10 years agoRelease 1.4.0 1.4.0
Sebastian Dröge [Sat, 19 Jul 2014 15:04:57 +0000 (17:04 +0200)]
Release 1.4.0

10 years agoUpdate .po files
Sebastian Dröge [Sat, 19 Jul 2014 14:27:43 +0000 (16:27 +0200)]
Update .po files

10 years agoappsrc: Fix memory leak with callback notify not being called in dispose
Youness Alaoui [Sat, 19 Jul 2014 01:19:03 +0000 (21:19 -0400)]
appsrc: Fix memory leak with callback notify not being called in dispose

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

10 years agopo: Update translations
Sebastian Dröge [Sat, 19 Jul 2014 10:29:56 +0000 (12:29 +0200)]
po: Update translations

10 years agoencoding-profile: Add example for using encoder presets with profiles
Nirbheek Chauhan [Fri, 18 Jul 2014 10:31:23 +0000 (16:01 +0530)]
encoding-profile: Add example for using encoder presets with profiles

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

10 years agoencoding-profile: Fix typos and old API in docs
Nirbheek Chauhan [Fri, 18 Jul 2014 10:16:05 +0000 (15:46 +0530)]
encoding-profile: Fix typos and old API in docs

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

10 years agoxvimagesink: fix property description string
Tim-Philipp Müller [Thu, 17 Jul 2014 13:36:16 +0000 (14:36 +0100)]
xvimagesink: fix property description string

Spotted by Josep Torra.

10 years agopo: update POTFILES
Piotr Drąg [Tue, 15 Jul 2014 14:56:30 +0000 (16:56 +0200)]
po: update POTFILES

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

10 years agoplaysink: Fix filter property getter
Arun Raghavan [Sat, 12 Jul 2014 05:03:30 +0000 (10:33 +0530)]
playsink: Fix filter property getter

The switch-case set was incomplete.

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

10 years agoRelease 1.3.91 1.3.91
Sebastian Dröge [Fri, 11 Jul 2014 09:21:29 +0000 (11:21 +0200)]
Release 1.3.91

10 years agoUpdate .po files
Sebastian Dröge [Fri, 11 Jul 2014 09:21:05 +0000 (11:21 +0200)]
Update .po files

10 years agolibvisual: Remove < 0.4 support
Edward Hervey [Fri, 11 Jul 2014 08:13:03 +0000 (10:13 +0200)]
libvisual: Remove < 0.4 support

And remove the version guards that went along with it

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

10 years agodmabuf: Ensure _get_fd() works even for shared memory
Nicolas Dufresne [Thu, 10 Jul 2014 22:17:47 +0000 (18:17 -0400)]
dmabuf: Ensure _get_fd() works even for shared memory

Fixes regression introduced by:

commit b60888fd4bcacd42bb4e27fa938272d6e72c5c32
Author: Michael Olbrich <m.olbrich@pengutronix.de>
Date:   Tue May 20 11:18:56 2014 +0200

    dmabuf: share the mapping with shared copies of the memory

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

10 years agopo: Update translations
Sebastian Dröge [Fri, 11 Jul 2014 06:51:58 +0000 (08:51 +0200)]
po: Update translations

10 years agosdp: add gstmikey.h to sdp.h
Evan Nemerson [Thu, 3 Jul 2014 20:46:08 +0000 (13:46 -0700)]
sdp: add gstmikey.h to sdp.h

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

10 years agoriff: Print invalid fourcc in error message in hex
Sebastian Rasmussen [Thu, 3 Jul 2014 16:32:02 +0000 (18:32 +0200)]
riff: Print invalid fourcc in error message in hex

Previously this was printed as characters which caused later processing
of the error message to sometimes warn about non-UTF-8 characters.

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

10 years agovideodecoder: parse any source data that is still available.
Gwenole Beauchesne [Fri, 20 Jun 2014 16:02:31 +0000 (18:02 +0200)]
videodecoder: parse any source data that is still available.

Fix gst_video_decoder_parse_available() to really parse any pending
source data that is still available in the adapter. This is a memory
optimization to avoid expansion of video packed added to the adapter,
but also a fix to EOS condition when the subclass parse() function
ultimately only needed to call into gvd_have_frame() and no additional
source bytes were consumed, i.e. gvd_add_to_frame() is not called.

This situation can occur when decoding H.264 streams in byte-stream/nal
mode for instance. A decoder always requires the next NAL unit to be
parsed so that to determine picture boundaries. When a new picture is
found, no byte is consumed (i.e. gvd_add_to_frame() is not called)
but gvd_have_frame() is called (i.e. priv->current_frame is gone).

Also make sure to avoid infinite loops caused by incorrect subclass
parse() implementations. This can occur when no byte gets consumed
and no appropriate indication (GST_VIDEO_DECODER_FLOW_NEED_DATA) is
returned.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10 years agotests: codec-select: fix compilation
Wim Taymans [Wed, 2 Jul 2014 13:50:23 +0000 (15:50 +0200)]
tests: codec-select: fix compilation

10 years agomikey: add more Since markers for new methods
Wim Taymans [Wed, 2 Jul 2014 13:49:38 +0000 (15:49 +0200)]
mikey: add more Since markers for new methods

10 years agomikey: make message and payload mini-objects
Wim Taymans [Wed, 2 Jul 2014 13:38:41 +0000 (15:38 +0200)]
mikey: make message and payload mini-objects

Make the MIKEY message and payload objects miniobjects so that they have
a GType and are refcounted.
We can reuse the dispose method to clear our payload objects.
Add some annotations.
Implement a copy function for the MIKEY message.
Fix the unit test.

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

10 years agotests: codec-select: Plug element name memory leak
Sebastian Rasmussen [Tue, 1 Jul 2014 22:21:00 +0000 (00:21 +0200)]
tests: codec-select: Plug element name memory leak

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

10 years agodocs: Assorted documentation and introspection fixes for new 1.4 API
Evan Nemerson [Tue, 1 Jul 2014 23:14:43 +0000 (16:14 -0700)]
docs: Assorted documentation and introspection fixes for new 1.4 API

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

10 years agortspconnection: also allow POST before GET
Wim Taymans [Tue, 1 Jul 2014 14:19:22 +0000 (16:19 +0200)]
rtspconnection: also allow POST before GET

Don't only allow GET and then POST request to setup tunneling over HTTP
but also allow POST and then GET.

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

10 years agolibvisual: Rename get_type() function to prevent conflicts with static linking
Sebastian Dröge [Sat, 28 Jun 2014 15:08:06 +0000 (17:08 +0200)]
libvisual: Rename get_type() function to prevent conflicts with static linking

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

10 years agoRelease 1.3.90 1.3.90
Sebastian Dröge [Sat, 28 Jun 2014 09:01:13 +0000 (11:01 +0200)]
Release 1.3.90

10 years agoUpdate .po files
Sebastian Dröge [Sat, 28 Jun 2014 08:56:36 +0000 (10:56 +0200)]
Update .po files

10 years agoplaysinkconvertbin: fix caps leak
Thiago Santos [Fri, 27 Jun 2014 17:24:10 +0000 (14:24 -0300)]
playsinkconvertbin: fix caps leak

Let go the reference to the converter caps after using it

10 years agotools: add gst-device-monitor-1.0 utility
Tim-Philipp Müller [Fri, 27 Jun 2014 09:41:55 +0000 (10:41 +0100)]
tools: add gst-device-monitor-1.0 utility

Just shows devices with basic info and exits. Or will
wait for more devices to show up or be removed with
the --follow option. It's also possible to pass filters
as command line arguments in the form DEVICE_CLASSES
or DEVICE_CLASSES:CAPS.

10 years agolibs: There is no G_TYPE_CHECK_INTERFACE_TYPE and G_TYPE_CHECK_INTERFACE_CAST
Sebastian Dröge [Thu, 26 Jun 2014 14:18:05 +0000 (16:18 +0200)]
libs: There is no G_TYPE_CHECK_INTERFACE_TYPE and G_TYPE_CHECK_INTERFACE_CAST

Remove the macros that used them, nobody could've used them anyway.

10 years agopbutils: handle more H.264 profiles and levels.
Gwenole Beauchesne [Thu, 26 Jun 2014 09:35:43 +0000 (11:35 +0200)]
pbutils: handle more H.264 profiles and levels.

Recognize H.264 Level 5.2, as exposed by modern 2160p30+ streams,
i.e. commonly known as 4K. Also add initial support for handling
Annex.G (SVC) profiles.

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

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
10 years agotypefind: Bump iso mp4 typefinder to PRIMARY. Add mp4 extension hint.
Jan Schmidt [Wed, 25 Jun 2014 18:27:31 +0000 (04:27 +1000)]
typefind: Bump iso mp4 typefinder to PRIMARY. Add mp4 extension hint.

Fixes a problem with at least one file being detected incorrectly as
DTS because there's DTS packets early enough in the file.

10 years agotests: fix vararg handling in rtpbasedepayload unit test
Tim-Philipp Müller [Mon, 23 Jun 2014 00:02:22 +0000 (01:02 +0100)]
tests: fix vararg handling in rtpbasedepayload unit test

Makes it pass on 32-bit systems.

10 years agotests: fix vararg handling in rtpbasepayload unit test
Tim-Philipp Müller [Sun, 22 Jun 2014 23:33:18 +0000 (00:33 +0100)]
tests: fix vararg handling in rtpbasepayload unit test

Makes it pass on 32-bit systems.

10 years agoplaysinkconvertbin: Filter out ANY capsfeatures from the converter caps
Sebastian Dröge [Sun, 22 Jun 2014 18:42:13 +0000 (20:42 +0200)]
playsinkconvertbin: Filter out ANY capsfeatures from the converter caps

We can't convert to ANY capsfeatures, they are only there so that we
can passthrough whatever downstream can support... but we definitely
don't want to return them to upstream.

10 years agoBack to development
Sebastian Dröge [Sun, 22 Jun 2014 17:36:14 +0000 (19:36 +0200)]
Back to development

10 years agoRelease 1.3.3 1.3.3
Sebastian Dröge [Sun, 22 Jun 2014 16:07:57 +0000 (18:07 +0200)]
Release 1.3.3

10 years agoUpdate .po files
Sebastian Dröge [Sun, 22 Jun 2014 15:25:42 +0000 (17:25 +0200)]
Update .po files

10 years agopo: Update translations
Sebastian Dröge [Sun, 22 Jun 2014 12:23:32 +0000 (14:23 +0200)]
po: Update translations

10 years agoaudiodecoder: Don't be too picky about the output frame counter
Sebastian Dröge [Fri, 20 Jun 2014 09:00:14 +0000 (11:00 +0200)]
audiodecoder: Don't be too picky about the output frame counter

With most decoder libraries, and especially when accessing codecs via
OpenMAX or similar APIs, we don't have the ability to properly related
the output buffers to a number of input samples. And could e.g. get
a fractional number of input buffers decoded at a time.

Previously this would in the end lead to an error message and stopped
playback. Change it to a warning message instead and try to handle it
gracefully. In theory the subclass can now get timestamp tracking
wrong if it completely misuses the API, but if on average it behaves
correct (and gst-omx and others do) it will continue to work properly.

Also add a test for the new behaviour.

We don't change it in the encoder yet as that requires more internal logic
changes AFAIU and I'm not aware of a case where this was a problem so far.

10 years agotcpserversrc: close the server socket after accepting a connection
Michael Olbrich [Thu, 12 Jun 2014 10:36:26 +0000 (12:36 +0200)]
tcpserversrc: close the server socket after accepting a connection

g_socket_accept() is only called once for a server socket. So
keeping the socket open ist just confusing possible clients.

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

10 years agotcpclientsrc: return FLUSHING when select() is canceled
Tim-Philipp Müller [Fri, 13 Jun 2014 09:04:47 +0000 (10:04 +0100)]
tcpclientsrc: return FLUSHING when select() is canceled

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

10 years agotcpserversrc: return FLOW_FLUSHING instead of an error when accept/select is canceled
Michael Olbrich [Thu, 12 Jun 2014 11:23:29 +0000 (13:23 +0200)]
tcpserversrc: return FLOW_FLUSHING instead of an error when accept/select is canceled

Canceling the accept/select happens when the source is shut down. This is
not an error and the GST_FLOW_ERROR causes problems when only part of the
pipeline is shut down.

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

10 years agomikey: Fix Wall to NTP conversion
Edward Hervey [Thu, 12 Jun 2014 09:55:59 +0000 (11:55 +0200)]
mikey: Fix Wall to NTP conversion

We are scaling from a unit in microseconds to a unit in ((1 << 32) per seconds).

We therefore scale the microseconds values by:

         value of a second in the target unit (1 << 32)
  --------------------------------------------------------------
  value of a second in the origin format (1 000 000 microsecond)

10 years agooggdemux: allow unset seek stop time in push mode
Vincent Penquerc'h [Fri, 6 Jun 2014 11:18:49 +0000 (12:18 +0100)]
oggdemux: allow unset seek stop time in push mode

10 years agodocs: add streamsynchronizer to documentation
Tim-Philipp Müller [Wed, 11 Jun 2014 11:50:23 +0000 (12:50 +0100)]
docs: add streamsynchronizer to documentation

10 years agodocs: add playsink element to documentation
Tim-Philipp Müller [Wed, 11 Jun 2014 11:43:35 +0000 (12:43 +0100)]
docs: add playsink element to documentation

10 years agodocs: add navigation interface to docs
Tim-Philipp Müller [Wed, 11 Jun 2014 09:53:50 +0000 (10:53 +0100)]
docs: add navigation interface to docs

10 years agoappsrc: add send_event handler for flushing
Thiago Santos [Tue, 10 Jun 2014 15:59:53 +0000 (12:59 -0300)]
appsrc: add send_event handler for flushing

Adds a send_event handling for allowing appsrc to flush its internal
data, allowing users to flush the pipeline without setting it to null.

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

10 years agovideoscale: vs_image: strides are a gsize
Thiago Santos [Tue, 10 Jun 2014 00:05:00 +0000 (21:05 -0300)]
videoscale: vs_image: strides are a gsize

The strides that are set from the GstVideoInfo structs are
a gsize. Using an int can cause overflows when dealing with large
enough images

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

10 years agovideo: avoid overflows when doing int operations for size
Thiago Santos [Mon, 9 Jun 2014 22:44:56 +0000 (19:44 -0300)]
video: avoid overflows when doing int operations for size

size is a gsize, so cast the operands to it to avoid overflows
and setting wrong value to the video size.

Includes tests.

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

10 years agotheoraenc: Remove unneeded check
Edward Hervey [Mon, 9 Jun 2014 08:53:03 +0000 (10:53 +0200)]
theoraenc: Remove unneeded check

running timestamps are guaranteed to be positive and valid since the
GstVideoEncoder base class will clip incoming buffers

CID #1139797

10 years agovorbisenc: add missing va_end in variadic function
Edward Hervey [Mon, 9 Jun 2014 08:38:53 +0000 (10:38 +0200)]
vorbisenc: add missing va_end in variadic function

Coverity 1139944

10 years agotests: fix uninitialized variable use in video decoder test
Vincent Penquerc'h [Fri, 6 Jun 2014 09:35:31 +0000 (10:35 +0100)]
tests: fix uninitialized variable use in video decoder test

10 years agouridecodebin: Also catch CODEC_NOT_FOUND errors and delay them until all decodebins...
Sebastian Dröge [Thu, 5 Jun 2014 13:35:31 +0000 (15:35 +0200)]
uridecodebin: Also catch CODEC_NOT_FOUND errors and delay them until all decodebins are done

10 years agouridecodebin: Ignore missing-plugin messages unless all decodebins post one
Sebastian Dröge [Wed, 4 Jun 2014 15:00:34 +0000 (17:00 +0200)]
uridecodebin: Ignore missing-plugin messages unless all decodebins post one

When playing RTSP streams there will be one decodebin per stream. If some of
them fail because of a missing plugin we should not fail completely but play
the supported streams at least.

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

10 years agodecodebin: Do async-done on expose errors too
Sebastian Dröge [Wed, 4 Jun 2014 12:14:14 +0000 (14:14 +0200)]
decodebin: Do async-done on expose errors too

10 years agodmabuf: fix checking mmap flags
Michael Olbrich [Tue, 20 May 2014 10:28:15 +0000 (12:28 +0200)]
dmabuf: fix checking mmap flags

A simple '&' is not sufficiant. With mmapping_flags == PROT_READ and
prot == PROT_READ|PROT_WRITE the check produces the wrong result.
Change the check to make sure that prot is a subset of mmapping_flags.

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

10 years agoalsasink: make gst-ident happy
Vincent Penquerc'h [Tue, 3 Jun 2014 14:16:44 +0000 (15:16 +0100)]
alsasink: make gst-ident happy

10 years agoalsasink: fix occasional crash intersecting invalid values
Vincent Penquerc'h [Tue, 3 Jun 2014 14:10:33 +0000 (15:10 +0100)]
alsasink: fix occasional crash intersecting invalid values

When a pipeline using alsasink and push mode upstream fails
to preroll, the following state will be the case:
- A loop upstream will be PAUSED, pushing a first buffer
- alsasink will be READY, pending PAUSED, because async

On error, the pipeline will switch to NULL. alsasink is in
READY, so goes to NULL immediately. It zeroes its cached
caps. Meanwhile, the upstream loop can cause a caps query,
conccurent with the state change. This will use those cached
caps. If the zeroing happens between the NULL test and the
dereferencing, GStreamer will critical down in the GstValue
code.

Since it appears that such a gap between states (PAUSED
and pushing upstream, and NULL downstream) is expected, we
need to protect the read/write access to the cached caps.

This fixes the critical.

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

10 years agovideodecoder: Keep still meaningfull pending events on FLUSH_STOP
Thibault Saunier [Mon, 14 Oct 2013 21:56:55 +0000 (18:56 -0300)]
videodecoder: Keep still meaningfull pending events on FLUSH_STOP

Only EOS and segment should be deleted in that case.

+ Add a testcase

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

10 years agoaudiodecoder: Keep still meaningfull pending events on FLUSH_STOP
Thibault Saunier [Mon, 14 Oct 2013 21:48:08 +0000 (18:48 -0300)]
audiodecoder: Keep still meaningfull pending events on FLUSH_STOP

Only EOS and segment should be deleted in that case.

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

10 years agovideoencoder: Keep still meaningfull pending events on FLUSH_STOP
Thibault Saunier [Mon, 14 Oct 2013 21:45:10 +0000 (18:45 -0300)]
videoencoder: Keep still meaningfull pending events on FLUSH_STOP

Only EOS and segment should be deleted in that case.

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

10 years agostreamsplitter: Keep still meaningfull pending events on FLUSH_STOP
Thibault Saunier [Thu, 10 Oct 2013 21:50:17 +0000 (18:50 -0300)]
streamsplitter: Keep still meaningfull pending events on FLUSH_STOP

Only EOS and segment should be deleted in that case.

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

10 years agoaudioencoder: Keep still meaningfull pending events on FLUSH_STOP
Thibault Saunier [Thu, 10 Oct 2013 21:48:47 +0000 (18:48 -0300)]
audioencoder: Keep still meaningfull pending events on FLUSH_STOP

Only EOS and segment should be deleted in that case.

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

10 years agooggstream: consider all opus packets as "keyframes"
Vincent Penquerc'h [Mon, 2 Jun 2014 11:40:27 +0000 (12:40 +0100)]
oggstream: consider all opus packets as "keyframes"

This lets oggdemux determine they are not delta units, and removes
spurious per packet warnings about being unable to determine the
packet's keyframeness.

10 years agomikey: Free MikeyPayload in error cases
Edward Hervey [Mon, 12 May 2014 15:13:50 +0000 (17:13 +0200)]
mikey: Free MikeyPayload in error cases

CID #1212136

10 years agodecodebin: aggregate buffering messages
Thiago Santos [Sun, 16 Mar 2014 17:27:30 +0000 (14:27 -0300)]
decodebin: aggregate buffering messages

Aggregate buffering messages to only post the lower value
to avoid setting pipeline to playing while any multiqueue
is still buffering.

There are 3 scenarios where the entries should be removed from
the list:

1) When decodebin is set to READY
2) When an element posts a 100% buffering (already implemented)
3) When a multiqueue is removed from decodebin.

For item 3 we don't need to handle it because this should only
happen when either 1 is hapenning or when it is playing a
chained file, for which number 2 should have happened for the
previous stream to finish

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

10 years agoaudio: Add a missing precondition to gst_audio_format_from_string()
Philip Withnall [Wed, 28 May 2014 09:23:24 +0000 (10:23 +0100)]
audio: Add a missing precondition to gst_audio_format_from_string()

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

10 years agotests: videodecoder: audiodecoder: add tests for eos after segment
Thiago Santos [Mon, 26 May 2014 23:57:30 +0000 (20:57 -0300)]
tests: videodecoder: audiodecoder: add tests for eos after segment

Tests that pushing a buffer after the segment returns EOS

10 years agovideodecoder: actually return the push result in backwards playback
Thiago Santos [Tue, 27 May 2014 00:24:07 +0000 (21:24 -0300)]
videodecoder: actually return the push result in backwards playback

It was always returning _OK regardless of what downstream returned

10 years agovideodecoder: return EOS when segment is over
Thiago Santos [Mon, 26 May 2014 15:44:48 +0000 (12:44 -0300)]
videodecoder: return EOS when segment is over

if a buffer is clipped by being completely out of segment, check if this
buffer is after the end of the segment and return EOS upstream

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

10 years agoaudiodecoder: return EOS when segment is over
Thiago Santos [Mon, 26 May 2014 15:44:38 +0000 (12:44 -0300)]
audiodecoder: return EOS when segment is over

if a buffer is clipped by being completely out of segment, check if this
buffer is after the end of the segment and return EOS upstream

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

10 years agooggdemux: use new gstutils helper GstFlowCombiner
Thiago Santos [Mon, 26 May 2014 14:45:29 +0000 (11:45 -0300)]
oggdemux: use new gstutils helper GstFlowCombiner

Fixes the handling of GST_FLOW_EOS by using the helper object
from gstutils that does the correct combination of flow returns.

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

10 years agotools: play: use cubic volume factor when adjusting volume
Tim-Philipp Müller [Fri, 23 May 2014 18:21:35 +0000 (19:21 +0100)]
tools: play: use cubic volume factor when adjusting volume

This is more natural and better-suited for a playback application.