platform/upstream/gstreamer.git
10 years agopool-nego: Correctly reset the configuration
Nicolas Dufresne [Thu, 8 May 2014 18:12:16 +0000 (14:12 -0400)]
pool-nego: Correctly reset the configuration

When pool cannot be used, correctly reset the configuration before
configuration a default pool.

10 years agopool-nego: Retry setting configuration with modified config
Nicolas Dufresne [Tue, 15 Apr 2014 18:17:00 +0000 (14:17 -0400)]
pool-nego: Retry setting configuration with modified config

Buffer pool set_config() may return FALSE if requested configuration needed
small changes. Reget the config and try setting it again (validating the
changes first). This ensure we have a configured pool if possible.

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

10 years agobufferpool: Add an helper to validate config
Nicolas Dufresne [Thu, 8 May 2014 16:47:43 +0000 (12:47 -0400)]
bufferpool: Add an helper to validate config

When we call gst_buffer_pool_set_config() the pool may return FALSE and
slightly change the parameters. This helper is useful to do the minial required
validation before accepting the modified configuration.

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

10 years agobufferpool: Update the configure even if set_config() returned false
Nicolas Dufresne [Tue, 8 Apr 2014 23:27:55 +0000 (19:27 -0400)]
bufferpool: Update the configure even if set_config() returned false

According to the documentation, when set_config() return false, it should be
possible to read the modified version of the config. This patch fixes the
implementation so it is now according to the documentation.

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

10 years agobufferpool: Add support for reconfiguring a pool
Nicolas Dufresne [Tue, 6 May 2014 19:35:14 +0000 (15:35 -0400)]
bufferpool: Add support for reconfiguring a pool

If a pool config is being configured again, check if the configuration have changed.
If not, skip that step. Finally, if the pool is active, try deactivating it.

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

10 years agovalue: Add support for GstAllocationParams comparision
Nicolas Dufresne [Tue, 6 May 2014 20:59:34 +0000 (16:59 -0400)]
value: Add support for GstAllocationParams comparision

This is useful to compare buffer pool configuaration.

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

10 years agovalue: Add support for GObject comparising in structures
Nicolas Dufresne [Tue, 6 May 2014 20:46:55 +0000 (16:46 -0400)]
value: Add support for GObject comparising in structures

This is useful to allow comparing pool configuration where a GstAllocator
is set.

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

10 years agoplugin: fix case where gst_plugin_load_file() didn't set the error on failure
Tim-Philipp Müller [Thu, 8 May 2014 16:50:50 +0000 (17:50 +0100)]
plugin: fix case where gst_plugin_load_file() didn't set the error on failure

10 years agosparsefile: add some Since markers to docs
Tim-Philipp Müller [Thu, 8 May 2014 15:30:55 +0000 (16:30 +0100)]
sparsefile: add some Since markers to docs

10 years agosparsefile: sprinkle G_BEGIN_DECLS / G_END_DECLS
Tim-Philipp Müller [Thu, 8 May 2014 15:25:55 +0000 (16:25 +0100)]
sparsefile: sprinkle G_BEGIN_DECLS / G_END_DECLS

for c++, and remove outdated comment, and add
new unit test to .gitignore.

10 years agodownloadbuffer: small cleanups
Wim Taymans [Thu, 8 May 2014 14:49:53 +0000 (16:49 +0200)]
downloadbuffer: small cleanups

10 years agodownloadbuffer: update docs
Wim Taymans [Thu, 8 May 2014 12:51:12 +0000 (14:51 +0200)]
downloadbuffer: update docs

10 years agowin32: update def
Wim Taymans [Thu, 8 May 2014 12:50:42 +0000 (14:50 +0200)]
win32: update def

10 years agoAdd new downloadbuffer element
Wim Taymans [Fri, 21 Feb 2014 15:32:52 +0000 (16:32 +0100)]
Add new downloadbuffer element

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

10 years agopads: update docs for request pads
Wim Taymans [Fri, 2 May 2014 15:42:58 +0000 (17:42 +0200)]
pads: update docs for request pads

We would like to encourage the use of gst_element_request_pad()

10 years agocheck: use _exit() instead of exit() in fail_unless() so we exit immediately
Tim-Philipp Müller [Fri, 2 May 2014 16:02:37 +0000 (17:02 +0100)]
check: use _exit() instead of exit() in fail_unless() so we exit immediately

exit() will call atexit handlers, which may try to
clean up things or wait for things to get cleaned up,
which we don't want or need. We just want to stop
and let the parent know about the failure as quickly
as possible in case fork() is used.

Fixes timeouts on assert failures in checks where
an exit handler waits for things to stop, but they
don't stop because they haven't been shut down,
and they haven't been shut down because there's no
simple way to do so on failures.

http://sourceforge.net/p/check/patches/50/

10 years agovalue: init flag mask more correctly
Tim-Philipp Müller [Sun, 4 May 2014 13:52:01 +0000 (14:52 +0100)]
value: init flag mask more correctly

10 years agofilesrc: g_memmove() is deprecated
Руслан Ижбулатов [Sun, 4 May 2014 13:32:46 +0000 (13:32 +0000)]
filesrc: g_memmove() is deprecated

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

10 years agoBack to development
Sebastian Dröge [Sat, 3 May 2014 18:48:22 +0000 (20:48 +0200)]
Back to development

10 years agoRelease 1.3.1 1.3.1
Sebastian Dröge [Sat, 3 May 2014 15:41:41 +0000 (17:41 +0200)]
Release 1.3.1

10 years agoUpdate .po files
Sebastian Dröge [Sat, 3 May 2014 15:34:08 +0000 (17:34 +0200)]
Update .po files

10 years agopo: Update translations
Sebastian Dröge [Sat, 3 May 2014 15:20:46 +0000 (17:20 +0200)]
po: Update translations

10 years agodocs: add new device probing API to docs table of contents
Tim-Philipp Müller [Sat, 3 May 2014 11:14:43 +0000 (12:14 +0100)]
docs: add new device probing API to docs table of contents

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

10 years agodoc: Add GstDevice* to gstreamer-sections.txt
Nicolas Dufresne [Sat, 3 May 2014 02:22:03 +0000 (22:22 -0400)]
doc: Add GstDevice* to gstreamer-sections.txt

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

10 years agoAutomatic update of common submodule
Sebastian Dröge [Sat, 3 May 2014 08:14:40 +0000 (10:14 +0200)]
Automatic update of common submodule

From bcb1518 to 211fa5f

10 years agobasesink: Always render prepared buffer
Nicolas Dufresne [Thu, 1 May 2014 14:37:18 +0000 (10:37 -0400)]
basesink: Always render prepared buffer

Currently, if prepare() takes too much time, we skip the call to render().
The side effect of this, is that we endup starving the render(). The solution
in this patch is to always render frames that are on time before prepare() is
executed. This will maximize the number of frames we display and smoothly
degrade the rendering performance.

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

10 years agoscripts/git-version.sh: add more modules
Luis de Bethencourt [Thu, 1 May 2014 18:52:24 +0000 (14:52 -0400)]
scripts/git-version.sh: add more modules

Add more git repositories to check (so git-version.sh is consistent with
gst-uninstalled) and display the date of the last commit, which is more valuable
information than the last commit's hash.

10 years agobin: Always first post the state-changed message for PAUSED->READY before posting...
Sebastian Dröge [Thu, 1 May 2014 16:42:47 +0000 (18:42 +0200)]
bin: Always first post the state-changed message for PAUSED->READY before posting any pending EOS message

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

10 years agobasesink: Add test for checking that EOS always comes after the state change to PLAYING
Sebastian Dröge [Thu, 17 Apr 2014 19:10:55 +0000 (21:10 +0200)]
basesink: Add test for checking that EOS always comes after the state change to PLAYING

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

10 years agobufferpool: fix log message of buffer pointer
Stian Selnes [Tue, 15 Apr 2014 13:55:25 +0000 (15:55 +0200)]
bufferpool: fix log message of buffer pointer

10 years agoscripts/git-version.sh: remove unused variable
Luis de Bethencourt [Wed, 30 Apr 2014 22:20:28 +0000 (18:20 -0400)]
scripts/git-version.sh: remove unused variable

10 years agoscripts/git-version.sh: fix mistaken comments
Luis de Bethencourt [Wed, 30 Apr 2014 14:47:19 +0000 (10:47 -0400)]
scripts/git-version.sh: fix mistaken comments

10 years agomultiqueue: avoid signaling overrun on the first segment
Thiago Santos [Mon, 28 Apr 2014 16:02:11 +0000 (13:02 -0300)]
multiqueue: avoid signaling overrun on the first segment

When the first segment has position != 0 and position > max-size-time
it will immediatelly cause the multiqueue to signal overrun.

This can happen easily with adaptive streams when switching bitrates
and starting a new group. The segment for this new group will have
a position that is much greater than 0 and will lead to this issue.
This is particularly harmful when the adaptive stream uses mpegts
that doesn't emit no-more-pads and it might happen that only one
of the stream pads was added when the multiqueue overruns and gets
the group ready for exposing. So the user will only get audio or
video.

The solution is to fallback to the sink segment while the source pad
has no segment.

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

10 years agodocs: enhancements to porting guide documentation
Xavi Artigas [Mon, 28 Apr 2014 08:14:50 +0000 (10:14 +0200)]
docs: enhancements to porting guide documentation

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

10 years agoquery: Add boolean to URI query to specify if a redirect is permanent or not
Sebastian Dröge [Mon, 28 Apr 2014 07:43:32 +0000 (09:43 +0200)]
query: Add boolean to URI query to specify if a redirect is permanent or not

10 years agofunnel: Check if the last pad was set
Srimanta Panda [Fri, 25 Apr 2014 07:38:00 +0000 (07:38 +0000)]
funnel: Check if the last pad was set

If no data is coming but only EOS is sent from all of the sinkpad, it is not
forwarding the EOS.

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

10 years agodocs: add docs for various GstPad macros
Felipe Ortiz [Sat, 26 Apr 2014 16:02:18 +0000 (17:02 +0100)]
docs: add docs for various GstPad macros

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

10 years agoRevert "docs: add docs for various GstPad macros"
Tim-Philipp Müller [Sat, 26 Apr 2014 22:12:13 +0000 (23:12 +0100)]
Revert "docs: add docs for various GstPad macros"

This reverts commit d17438d5fd321daec4adbeb28a8fb5d5e07298dc.

This commit featured the wrong author, sorry.

10 years agodocs: remove outdated and pointless 'Last reviewed' lines from docs
Tim-Philipp Müller [Sat, 26 Apr 2014 20:21:51 +0000 (21:21 +0100)]
docs: remove outdated and pointless 'Last reviewed' lines from docs

They are very confusing for people, and more often than not
also just not very accurate. Seeing 'last reviewed: 2005' in
your docs is not very confidence-inspiring. Let's just remove
those comments.

10 years agobuffer: Only set TAG_MEMORY if the memory has been replaced
Nicolas Dufresne [Wed, 26 Mar 2014 19:56:08 +0000 (15:56 -0400)]
buffer: Only set TAG_MEMORY if the memory has been replaced

Currently we set TAG_MEMORY as soon a resize changes the size of one
of the memory. This has the side effect that buffer pool cannot know if
the memory have simply been resized, or if the memorys has been replaced.
This make it hard to actually implement _reset(). Instead, only set the
TAG_MEMORY if one or more memory has been replaced, and do a light
sanity check of the size.

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

10 years agodocs: add docs for various GstPad macros
Showayb Zahda [Sat, 26 Apr 2014 16:02:18 +0000 (17:02 +0100)]
docs: add docs for various GstPad macros

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

10 years agobin: When going to READY make sure to always deactivate pads
Sebastian Dröge [Fri, 25 Apr 2014 13:38:39 +0000 (15:38 +0200)]
bin: When going to READY make sure to always deactivate pads

We might not have reached PAUSED yet because of an async error,
but nonetheless we want to make sure that the pads are always
deactivated in READY state.

10 years agobin: Don't left-shift into the sign bit, the result is undefined
Sebastian Dröge [Tue, 22 Apr 2014 16:23:15 +0000 (18:23 +0200)]
bin: Don't left-shift into the sign bit, the result is undefined

10 years agovalue: Use an unsigned 64 bit integer as a mask
Sebastian Dröge [Tue, 22 Apr 2014 16:16:10 +0000 (18:16 +0200)]
value: Use an unsigned 64 bit integer as a mask

We shift the mask to the right later and shifting the result
of shifting over the sign bit is undefined.

10 years agobasesrc: Make sure to always hold the LIVE_LOCK when going to the flushing label
Sebastian Dröge [Sun, 20 Apr 2014 09:59:02 +0000 (11:59 +0200)]
basesrc: Make sure to always hold the LIVE_LOCK when going to the flushing label

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

10 years agofunnel: Handle end of stream event on sink pad
Srimanta Panda [Fri, 11 Apr 2014 17:52:02 +0000 (19:52 +0200)]
funnel: Handle end of stream event on sink pad

Handle end of stream events on sink pad. Check all the sink pad
has received eos before forwarding to source pad.

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

10 years agogstvalue: Prevent division or modulo by zero
Edward Hervey [Sat, 5 Apr 2014 09:37:53 +0000 (11:37 +0200)]
gstvalue: Prevent division or modulo by zero

The step can end up being zero if the underlying value isn't a valid
range GValue.

In those cases, return FALSE.

We don't use g_return*_if_fail since it will already have been triggered
by the above-mentionned _get_step() functions.

CID #1037132

10 years agolibs: g-ir-scanner: do not hardcode libtool path
Antoine Jacoutot [Wed, 9 Apr 2014 14:44:07 +0000 (16:44 +0200)]
libs: g-ir-scanner: do not hardcode libtool path

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

10 years agomemory/buffer: Initialise GstMapInfo to zeroes if mapping fails
Sebastian Dröge [Wed, 16 Apr 2014 17:49:56 +0000 (19:49 +0200)]
memory/buffer: Initialise GstMapInfo to zeroes if mapping fails

This should allow for more meaningful errors. Dereferencing NULL
is more useful information than dereferencing a random address
happened to be on the stack.

10 years agopreset: Unref return value of gst_child_proxy_get_child_by_index() instead of leaking it
Sebastian Dröge [Wed, 16 Apr 2014 15:49:06 +0000 (17:49 +0200)]
preset: Unref return value of gst_child_proxy_get_child_by_index() instead of leaking it

10 years agopreset: Automatic code style fixes
Sebastian Dröge [Wed, 16 Apr 2014 15:48:57 +0000 (17:48 +0200)]
preset: Automatic code style fixes

10 years agoqueue2: fix event/preroll deadlock differently
Vincent Penquerc'h [Wed, 16 Apr 2014 14:17:04 +0000 (15:17 +0100)]
queue2: fix event/preroll deadlock differently

The qlock is released between popping a buffer from the queue
and pushing it. When this buffer causes the sink to wait in
preroll, this lets a query see that the queue is empty, and
push the query then wait for it to be serviced. However, this
will not be done till after peroll, and this will thus block.
If upstream was waiting on buffering to reach 100% before
switching to PLAYING, a deadlock would ensue.

This had been fixed recently by failing queries when the
queue2 was buffering, but this happens to break some other
case (playbin on a local http server and matroska), while
this patch works for both.

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

10 years agocheck: Fix exported symbol name
Edward Hervey [Wed, 16 Apr 2014 05:59:27 +0000 (07:59 +0200)]
check: Fix exported symbol name

it's _template and not _templ

10 years agopad: Add missing space in debug output
Sebastian Dröge [Tue, 15 Apr 2014 19:16:06 +0000 (21:16 +0200)]
pad: Add missing space in debug output

10 years agocheck: Add new API to set up pads from non-static pad templates
Sebastian Dröge [Tue, 15 Apr 2014 10:58:59 +0000 (12:58 +0200)]
check: Add new API to set up pads from non-static pad templates

10 years agocollectpads: Fix memory leak in unit test
Sebastian Dröge [Mon, 14 Apr 2014 19:35:52 +0000 (21:35 +0200)]
collectpads: Fix memory leak in unit test

10 years agotestclock: replace newly-added GstTestClockIDList structure with a simple GList
Tim-Philipp Müller [Sat, 12 Apr 2014 14:22:35 +0000 (15:22 +0100)]
testclock: replace newly-added GstTestClockIDList structure with a simple GList

Keep it simple. Likely also makes things easier for bindings,
and efficiency clearly has not been a consideration given how
the existing code handled these lists.

10 years agodocs: testclock: fix up Since markers
Tim-Philipp Müller [Sat, 12 Apr 2014 13:30:43 +0000 (14:30 +0100)]
docs: testclock: fix up Since markers

10 years agotestclock: add back gst_test_clock_wait_for_pending_id_count()
Tim-Philipp Müller [Fri, 11 Apr 2014 23:28:51 +0000 (00:28 +0100)]
testclock: add back gst_test_clock_wait_for_pending_id_count()

.. but deprecate it. ABI stability and all that.
It's a dangerous and racy function to use.

10 years agotestclock: remove unused variable
Tim-Philipp Müller [Sun, 23 Mar 2014 15:08:26 +0000 (15:08 +0000)]
testclock: remove unused variable

Fixes compiler warning.

10 years agotestclock: add support for waiting and releasing multiple GstClockIDs
Havard Graff [Mon, 16 Dec 2013 09:01:37 +0000 (10:01 +0100)]
testclock: add support for waiting and releasing multiple GstClockIDs

In order to be deterministic, multiple waiting GstClockIDs needs to be
released at the same time, or else one can get into the situation that
the one being released first can add itself back again before the next
one waiting is released.

Test added for new API and old tests rewritten to comply.

10 years agopad: don't access unowned and possibly already freed event
Linus Svensson [Tue, 1 Apr 2014 13:38:54 +0000 (15:38 +0200)]
pad: don't access unowned and possibly already freed event

Don't print the name of the event when ownership is given away.

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

10 years agoinspect: print structure values of properties
Wim Taymans [Sat, 12 Apr 2014 05:13:02 +0000 (07:13 +0200)]
inspect: print structure values of properties

10 years agoinput-selector: Hold pad object lock when changing tags
Jan Schmidt [Fri, 11 Apr 2014 12:38:25 +0000 (22:38 +1000)]
input-selector: Hold pad object lock when changing tags

Avoid spurious crashes when tags are retrieved just as
new ones arrive.

10 years agogstbuffer: Fix range iteration
Edward Hervey [Fri, 11 Apr 2014 11:45:21 +0000 (13:45 +0200)]
gstbuffer: Fix range iteration

We want to iterate over items idx to idx + length

We use the len variable as the corrected number of memory to iterate
and then properly go over all items.

Fixes the issue where specifying any idx different from 0 had no effect

Spotted by clang static analyzer

10 years agostructure: error out when trying to fixate a fraction near an invalid target
Vincent Penquerc'h [Wed, 9 Apr 2014 16:01:01 +0000 (17:01 +0100)]
structure: error out when trying to fixate a fraction near an invalid target

10 years agoevent: Update running time in QoS based on the pad offsets
Sebastian Dröge [Fri, 4 Apr 2014 15:28:23 +0000 (17:28 +0200)]
event: Update running time in QoS based on the pad offsets

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

10 years agopad: Apply pad offsets on all events, not just segment events
Sebastian Dröge [Fri, 4 Apr 2014 15:15:25 +0000 (17:15 +0200)]
pad: Apply pad offsets on all events, not just segment events

10 years agoevent: Add running-time-offset field to all events
Sebastian Dröge [Fri, 4 Apr 2014 15:06:18 +0000 (17:06 +0200)]
event: Add running-time-offset field to all events

Events passing through #GstPads that have a running time
offset set via gst_pad_set_offset() will get their offset
adjusted according to the pad's offset.

If the event contains any information that related to the
running time, this information will need to be updated
before usage with this offset.

10 years agoutils: avoid dividing by zero when multiplying y/z by 0/x
Vincent Penquerc'h [Wed, 9 Apr 2014 15:40:27 +0000 (16:40 +0100)]
utils: avoid dividing by zero when multiplying y/z by 0/x

The gcd of 0/x is 0, and this is then used as a denominator.

10 years agomultiqueue: And actually run the other tests again
Sebastian Dröge [Wed, 9 Apr 2014 14:01:09 +0000 (16:01 +0200)]
multiqueue: And actually run the other tests again

10 years agomultiqueue: Wake up the queues if limits are changing in a way that would unblock...
Sebastian Dröge [Wed, 9 Apr 2014 13:57:35 +0000 (15:57 +0200)]
multiqueue: Wake up the queues if limits are changing in a way that would unblock the queue

10 years agomultiqueue: Add test for checking if pads are waked up when limits are changed
Sebastian Dröge [Wed, 9 Apr 2014 13:42:48 +0000 (15:42 +0200)]
multiqueue: Add test for checking if pads are waked up when limits are changed

10 years agobaseparse: Fix memory leak
Jose Antonio Santos Cadenas [Wed, 9 Apr 2014 08:15:33 +0000 (10:15 +0200)]
baseparse: Fix memory leak

Queued frames were not released after being pushed, this
caused a leak of the GstBaseParseFrame structure.

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

10 years agoqueue2: use g_strerror() instead of strerror()
Tim-Philipp Müller [Mon, 7 Apr 2014 16:49:14 +0000 (17:49 +0100)]
queue2: use g_strerror() instead of strerror()

Need UTF-8 encoding.

10 years agoRevert "check: only call setpgid on valid child PIDs"
Tim-Philipp Müller [Mon, 7 Apr 2014 16:47:30 +0000 (17:47 +0100)]
Revert "check: only call setpgid on valid child PIDs"

This reverts commit b9313afc75b68d986e473b76b55543456857912b.

This should be fixed in upstream libcheck instead. We want
to keep diff of our local copy to upstream libcheck
to a minimum.

10 years agoqueue2: warn if we can't remove our temporary file
Vincent Penquerc'h [Mon, 7 Apr 2014 16:33:34 +0000 (17:33 +0100)]
queue2: warn if we can't remove our temporary file

It's not fatal though, so do not error out.

Coverity 1037121

10 years agocheck: only call setpgid on valid child PIDs
Vincent Penquerc'h [Mon, 7 Apr 2014 14:38:09 +0000 (15:38 +0100)]
check: only call setpgid on valid child PIDs

Coverity 206186

10 years agofilesrc: no need for a translated message for impossible error cases
Tim-Philipp Müller [Mon, 7 Apr 2014 14:38:17 +0000 (15:38 +0100)]
filesrc: no need for a translated message for impossible error cases

The message is too technical anyway, the default message works
just fine here as well.

10 years agofilesrc: catch failure to seek back to zero after seek test
Vincent Penquerc'h [Mon, 7 Apr 2014 14:18:32 +0000 (15:18 +0100)]
filesrc: catch failure to seek back to zero after seek test

This should never happen theoretically, but since a transient
failure would get us to silently read wrong data, it's worth
erroring out. And it silence this:

Coverity 206034

10 years agoparse: Don't dist the bison and flex generated headers
Sebastian Dröge [Mon, 7 Apr 2014 09:36:58 +0000 (11:36 +0200)]
parse: Don't dist the bison and flex generated headers

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

10 years agodebugutils: Handle caps field values being NULL
Sebastian Rasmussen [Sun, 6 Apr 2014 09:23:34 +0000 (11:23 +0200)]
debugutils: Handle caps field values being NULL

GST_DEBUG_BIN_TO_DOT_FILE() would cause a segfault whenever it encountered an
element's caps that had a field value being NULL. Such fields are successfully
handled e.g. by GST_*_OBJECT(), and with this patch so does
GST_DEBUG_BIN_TO_DOT_FILE(). Even if string fields with a NULL value are
not supposed to be valid in caps, such caps can be created.

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

10 years agobaseparse: Remove always-true-checks
Edward Hervey [Sat, 5 Apr 2014 09:44:01 +0000 (11:44 +0200)]
baseparse: Remove always-true-checks

a gsize is guaranteed to be positive on all systems since it's an
unsigned value.

CID #1037147

10 years agoadapter: Remove always-true-checks
Edward Hervey [Sat, 5 Apr 2014 09:44:01 +0000 (11:44 +0200)]
adapter: Remove always-true-checks

a gsize is guaranteed to be positive on all systems since it's an
unsigned value.

CID #1037145
CID #1037146

10 years agogstvalue: Prevent division or modulo by zero
Edward Hervey [Sat, 5 Apr 2014 09:37:53 +0000 (11:37 +0200)]
gstvalue: Prevent division or modulo by zero

The step can end up being zero if the underlying value isn't a valid
range GValue.

In those cases, return FALSE.

We don't use g_return*_if_fail since it will already have been triggered
by the above-mentionned _get_step() functions.

Spotted by Coverity.

10 years agogstvalue: Fix comparison of int/int64 range
Haakon Sporsheim [Tue, 25 Mar 2014 11:23:32 +0000 (12:23 +0100)]
gstvalue: Fix comparison of int/int64 range

Checking step three times seems unnecessary.
A similar bug was fixed for double range in
commit 3ea6b04c10b10fde9d62190068f274b940edef07

10 years agoinputselector: fix build with debug cached buffers enabled
Thiago Santos [Thu, 3 Apr 2014 21:17:03 +0000 (18:17 -0300)]
inputselector: fix build with debug cached buffers enabled

gstinputselector.c:818:5: error: format not a string literal
and no format arguments [-Werror=format-security]

10 years agobaseparse: Make sure to set the DISCONT flag on the first buffer of each GOP in rever...
Sebastian Dröge [Thu, 3 Apr 2014 18:31:16 +0000 (20:31 +0200)]
baseparse: Make sure to set the DISCONT flag on the first buffer of each GOP in reverse playback mode

10 years agobasesrc: removing duplicated inner if
Thiago Santos [Thu, 3 Apr 2014 16:20:11 +0000 (13:20 -0300)]
basesrc: removing duplicated inner if

The inner if replicates the same code of the outer and is useless
as flag_segment will always be true.

Found by coverity.

10 years agogst-launch.1: Playbin2 is dead, long live playbin
Edward Hervey [Thu, 3 Apr 2014 05:36:03 +0000 (07:36 +0200)]
gst-launch.1: Playbin2 is dead, long live playbin

Looks like that was the last remaining mention in core ...

10 years agogst-inspect: Add missing \n in output
Sebastian Dröge [Wed, 2 Apr 2014 21:52:10 +0000 (23:52 +0200)]
gst-inspect: Add missing \n in output

10 years agoscripts: gst-uninstalled: gst-plugins-gl libs got merged into -bad
Tim-Philipp Müller [Tue, 1 Apr 2014 14:35:24 +0000 (15:35 +0100)]
scripts: gst-uninstalled: gst-plugins-gl libs got merged into -bad

10 years agopad: Include event type in debug output when delaying a sticky event because of not...
Sebastian Dröge [Sat, 29 Mar 2014 09:18:34 +0000 (10:18 +0100)]
pad: Include event type in debug output when delaying a sticky event because of not-linked

10 years agobaseparse: Fix splitting and reversing of GOPs in reverse playback mode
Sebastian Dröge [Sat, 29 Mar 2014 09:16:12 +0000 (10:16 +0100)]
baseparse: Fix splitting and reversing of GOPs in reverse playback mode

We iterate the current discont group backwards and push each GOP forwards,
starting from the last one. However if the first buffer in the current
discont group is a keyframe, we will keep it around until next time,
which is far from ideal. Just push it.

10 years agolaunch: place the deep-notify on the right pipeline
Wim Taymans [Tue, 25 Mar 2014 11:38:07 +0000 (12:38 +0100)]
launch: place the deep-notify on the right pipeline

If the toplevel bin is not not a pipeline, we place the bin in a
pipeline. Also make sure that we connect to the deep-notify of this new
pipeline because we will g_signal_handler_disconnect() from it later.

10 years agobasesink: copy last_sample on DRAIN
Wim Taymans [Mon, 24 Mar 2014 15:34:27 +0000 (16:34 +0100)]
basesink: copy last_sample on DRAIN

Make sure we don't hold a ref to a buffer from before the DRAIN query by
making a copy of the last_buffer.

10 years agobuffer: don't clear TAG on NULL buffer
Wim Taymans [Mon, 24 Mar 2014 15:11:30 +0000 (16:11 +0100)]
buffer: don't clear TAG on NULL buffer

When the buffer fails to copy, don't clear the TAG on the NULL pointer.

10 years agoqueue2: fix event/preroll deadlock
Vincent Penquerc'h [Thu, 20 Mar 2014 10:14:33 +0000 (06:14 -0400)]
queue2: fix event/preroll deadlock

The qlock is released between popping a buffer from the queue
and pushing it. When this buffer causes the sink to wait in
preroll, this lets a query see that the queue is empty, and
push the query then wait for it to be serviced. However, this
will not be done till after peroll, and this will thus block.
If upstream was waiting on buffering to reach 100% before
switching to PLAYING, a deadlock would ensue.

We fix it by refusing the query when buffering, as per Wim's
recommendation on IRC.

10 years agotests: make netclientclock test faster and less flaky
Tim-Philipp Müller [Sun, 23 Mar 2014 12:53:55 +0000 (12:53 +0000)]
tests: make netclientclock test faster and less flaky

10 years agogst: init new flag types to pass make check
Wim Taymans [Fri, 21 Mar 2014 11:16:54 +0000 (12:16 +0100)]
gst: init new flag types to pass make check