Sebastian Dröge [Wed, 9 Apr 2014 14:01:09 +0000 (16:01 +0200)]
multiqueue: And actually run the other tests again
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
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
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
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.
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.
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
Vincent Penquerc'h [Mon, 7 Apr 2014 14:38:09 +0000 (15:38 +0100)]
check: only call setpgid on valid child PIDs
Coverity 206186
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.
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
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
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
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
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
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.
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
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]
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
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.
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 ...
Sebastian Dröge [Wed, 2 Apr 2014 21:52:10 +0000 (23:52 +0200)]
gst-inspect: Add missing \n in output
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
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
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.
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.
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.
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.
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.
Tim-Philipp Müller [Sun, 23 Mar 2014 12:53:55 +0000 (12:53 +0000)]
tests: make netclientclock test faster and less flaky
Wim Taymans [Fri, 21 Mar 2014 11:16:54 +0000 (12:16 +0100)]
gst: init new flag types to pass make check
Sebastian Dröge [Wed, 19 Mar 2014 08:33:53 +0000 (09:33 +0100)]
queue2: Update buffering status and maybe post buffering message right when enabling buffering
Sebastian Dröge [Wed, 19 Mar 2014 08:32:45 +0000 (09:32 +0100)]
multiqueue: Update buffering status and maybe post buffering message right when enabling buffering
Sebastian Dröge [Tue, 18 Mar 2014 17:12:16 +0000 (18:12 +0100)]
fakesink: Update positions we're checking for after a state is lost
Sebastian Dröge [Tue, 18 Mar 2014 17:11:15 +0000 (18:11 +0100)]
basesink: Update start time when we lose our state
Otherwise we report not the correct position while the state is lost.
Sebastian Dröge [Tue, 18 Mar 2014 15:47:42 +0000 (16:47 +0100)]
basesink: Don't clip the reported position in PAUSED to after the last buffer end timestamp
Otherwise we jump forward when pausing, and go backwards a bit again
when resuming playback.
Edward Hervey [Mon, 17 Mar 2014 09:05:31 +0000 (10:05 +0100)]
win32: Update exports for GstToc loop
Edward Hervey [Mon, 17 Mar 2014 09:05:18 +0000 (10:05 +0100)]
win32: Update export for gst*device symbols
Edward Hervey [Mon, 17 Mar 2014 08:51:45 +0000 (09:51 +0100)]
devicemonitor: Use local includes and use gst_private before anything
Should fix build issues on BSD
Olivier Crête [Mon, 17 Mar 2014 00:50:53 +0000 (20:50 -0400)]
gst-inpect: Print device monitor
Olivier Crête [Sun, 16 Mar 2014 19:56:59 +0000 (15:56 -0400)]
device: Add "klass" to GstDevices
Olivier Crête [Sun, 16 Mar 2014 22:02:56 +0000 (18:02 -0400)]
devicemonitor: Make classes into pure strings
Instead of having strings & flags, make them just strings
Jan Schmidt [Sun, 16 Mar 2014 19:29:27 +0000 (06:29 +1100)]
Fix extended message handling with gst_bus_pop_timed_filtered()
Make sure extended message types don't get accidentally matched
when not asked for in the mask
Jan Schmidt [Sun, 16 Mar 2014 18:24:12 +0000 (05:24 +1100)]
gstbin: Avoid pointless object lock forwarding messages.
Every instance of calling bin_do_message_forward() first took the
object lock, so that bin_do_message_forward() could drop it and
then reclaim. Instead, only take the object lock afterward where
needed.
Mathieu Duponchelle [Wed, 19 Feb 2014 01:27:36 +0000 (02:27 +0100)]
collectpads: When seek flushed, immediately set eospads to 0
This prevents situations where a first branch would get seeked and
receive a buffer before all branches got seeked, and thus collected
would get called based on EOS from the previous segment.
As a consequence, during the process of seeking, don't decrease
the eospads number when a FLUSH_STOP is received.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724571
Sebastian Dröge [Sun, 16 Mar 2014 16:47:06 +0000 (17:47 +0100)]
collectpads: Unref peer pad
Mathieu Duponchelle [Sun, 16 Feb 2014 19:35:09 +0000 (20:35 +0100)]
collectpads: Forward seek events to the peer directly
Taken from the adder seek handling code.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726461
Stefan Sauer [Thu, 2 Jan 2014 21:30:11 +0000 (22:30 +0100)]
toc: expand GstTocEntry with loop fields
Add loop_type and repeat_count fields to GstTocEntry plus setters and getters.
This allows to represent edit-lists in a toc as well as loops in instruemnts (wav, xi).
API: gst_toc_entry_set_loop
API: gst_toc_entry_get_loop
Tim-Philipp Müller [Sun, 16 Mar 2014 15:19:49 +0000 (15:19 +0000)]
globaldevicemonitor: update for new message API
https://bugzilla.gnome.org/show_bug.cgi?id=678402
Olivier Crête [Wed, 9 Jan 2013 02:30:44 +0000 (21:30 -0500)]
globaldevicemonitor: Add device monitor aggregator
https://bugzilla.gnome.org/show_bug.cgi?id=678402
Tim-Philipp Müller [Sun, 16 Mar 2014 14:08:45 +0000 (14:08 +0000)]
tests: add test for extended message types and gst_bus_timed_pop_filtered
Tim-Philipp Müller [Sun, 16 Mar 2014 14:08:00 +0000 (14:08 +0000)]
message, bus: do extended message types slightly differently
https://bugzilla.gnome.org/show_bug.cgi?id=678402
Tim-Philipp Müller [Sun, 16 Mar 2014 14:07:35 +0000 (14:07 +0000)]
gst: fix indentation
Olivier Crête [Tue, 16 Oct 2012 16:27:04 +0000 (12:27 -0400)]
devicemonitor: Add GstDeviceMonitor and related
Also add GstDevice and GstDeviceMonitorFactory
And add code to the registry to save them
https://bugzilla.gnome.org/show_bug.cgi?id=678402
Olivier Crête [Wed, 14 Aug 2013 19:56:11 +0000 (15:56 -0400)]
message: Add GST_MESSAGE_EXTENDED
https://bugzilla.gnome.org/show_bug.cgi?id=678402
Stefan Sauer [Sun, 16 Mar 2014 10:05:56 +0000 (11:05 +0100)]
pad: actually return data.ret
The return value from gst_pad_forward() is the aggregated return value from the callback and the callback returns FALSE to continue iterating.
Stefan Sauer [Sat, 15 Mar 2014 14:54:33 +0000 (15:54 +0100)]
pad: forward return value from gst_pad_forward
Instead of ignoring the return value and always return TRUE pass the already agregated result back.
Thiago Santos [Sat, 15 Mar 2014 16:57:19 +0000 (13:57 -0300)]
win32: fix make-check by running 'make update-exports'
Thiago Santos [Fri, 14 Mar 2014 16:32:17 +0000 (13:32 -0300)]
tests: multiqueue: fix eos count on test for not-linked case
From the test case:
/* This test creates a multiqueue with 2 streams. One receives
* a constant flow of buffers, the other only gets one buffer, and then
* new-segment events, and returns not-linked. The multiqueue should not fill.
*/
If one of the queues goes EOS and the other returns NOT_LINKED the stream
can be considerered EOS as a NOT_LINKED means that one of the branches has no
sink downstream that will block the EOS message posting.
https://bugzilla.gnome.org/show_bug.cgi?id=725917
Sebastian Rasmussen [Sat, 1 Mar 2014 22:18:44 +0000 (23:18 +0100)]
adapter: Adapt gst_adapter_copy() for bindings
This is done by introducing a new gst_adapter_copy_bytes() call that
returns a GBytes structure.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725476
Tim-Philipp Müller [Fri, 14 Mar 2014 18:40:31 +0000 (18:40 +0000)]
docs: fix multiqueue docs for new template names foo_%d -> foo_%u
https://bugzilla.gnome.org/show_bug.cgi?id=726358
Tim-Philipp Müller [Tue, 11 Mar 2014 21:55:46 +0000 (21:55 +0000)]
docs: update plugin docs
Tim-Philipp Müller [Tue, 11 Mar 2014 21:44:39 +0000 (21:44 +0000)]
pad: simplify gst_pad_link_get_name() and fix Since marker
Has added benefit that compiler might warn if more values
are added to the enum.
Stefan Sauer [Tue, 11 Mar 2014 20:46:14 +0000 (21:46 +0100)]
pad: add debug helper for GstPadLinkReturn names
Add a helper like gst_flow_get_name() for GstPadLinkReturn. Use this in core.
API: gst_pad_link_get_name()
Stefan Sauer [Tue, 11 Mar 2014 20:12:15 +0000 (21:12 +0100)]
tee: use store_sticky events add add more logging
Use the pad as object for logging to get more context. Use
gst_pad_store_sticky_event() instead of sending the event. This avoids a warning
as here the pad is not yet linked and we actually don't want to send anyway.
Thiago Santos [Mon, 10 Mar 2014 13:00:28 +0000 (10:00 -0300)]
queue2: if buffering is disabled while buffering, post 100% message
Avoids stall waiting for buffering to reach 100%
Thiago Santos [Mon, 10 Mar 2014 12:49:09 +0000 (09:49 -0300)]
queue2: remove unused variable
buffering_iteration was never used
Thiago Santos [Mon, 10 Mar 2014 12:49:07 +0000 (09:49 -0300)]
queue: queue2: preserve last flow result when pushing events
Avoids mistakenly returning _OK when downstream is still
_NOT_LINKED on subsequent received pad pushes
https://bugzilla.gnome.org/show_bug.cgi?id=725917
Thiago Santos [Mon, 10 Mar 2014 12:49:05 +0000 (09:49 -0300)]
multiqueue: if buffering is disabled while buffering, post 100% message
Avoids stall waiting for buffering to reach 100%
Thiago Santos [Mon, 10 Mar 2014 12:48:58 +0000 (09:48 -0300)]
multiqueue: do not reset last push result when pushing events
Use the last result as a default when pushing a item from a single queue,
otherwise the status gets reset to _OK when pushing events.
This causes problems when mistakenly activating a not-linked stream
that is being ignored upstream as it is not being used (adaptive
scenarios), it will make the multiqueue post a buffering message
on a pad that won't receive buffers
https://bugzilla.gnome.org/show_bug.cgi?id=725917
Tim-Philipp Müller [Fri, 7 Mar 2014 20:43:44 +0000 (20:43 +0000)]
buffer: invert meaning of GST_BUFFER_FLAG_TAG_MEMORY
It's nicer to only have it set when something noteworthy
happened and otherwise unset.
https://bugzilla.gnome.org/show_bug.cgi?id=725862
Stefan Sauer [Thu, 6 Mar 2014 21:51:57 +0000 (22:51 +0100)]
pad: fix gst_pad_add_probe() return value docs
Also fix comment typos and add more detail in the logs.
Tim-Philipp Müller [Thu, 6 Mar 2014 20:40:46 +0000 (20:40 +0000)]
fakesink, identity, fakesrc: fix debug printing if TAG_MEMORY buffer flag
The IN_CAPS flag does not exist any more.
George Kiagiadakis [Thu, 6 Mar 2014 11:01:40 +0000 (13:01 +0200)]
ghostpad: use gst_pad_get_peer to acquire a reference to the target pad
This ensures that the lock of the internal pad is held while referencing
it's peer (= the target pad), which ensures that the peer is not
going to be unlinked/destroyed in the meantime.
https://bugzilla.gnome.org/show_bug.cgi?id=725809
George Kiagiadakis [Thu, 6 Mar 2014 10:40:23 +0000 (12:40 +0200)]
ghostpad: hold a reference to the target pad while unlinking it
https://bugzilla.gnome.org/show_bug.cgi?id=725809
Sebastian Rasmussen [Sun, 2 Mar 2014 04:08:24 +0000 (05:08 +0100)]
.gitignore: Ignore gcov intermediate files
https://bugzilla.gnome.org/show_bug.cgi?id=725478
Sebastian Rasmussen [Sun, 2 Mar 2014 16:55:45 +0000 (17:55 +0100)]
docs: Fix typos and remove unknown annotations
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725517
Stefan Sauer [Fri, 28 Feb 2014 19:53:38 +0000 (20:53 +0100)]
docs: use the new markdown for ordered list.
This was plain text that had all list items one after the other (including a
repeated number). Now it will atleast look good when processed with gtk-doc
1.20.
Sebastian Dröge [Fri, 28 Feb 2014 08:34:19 +0000 (09:34 +0100)]
Automatic update of common submodule
From fe1672e to bcb1518
Reynaldo H. Verdejo Pinochet [Fri, 28 Feb 2014 01:26:30 +0000 (22:26 -0300)]
docs: fix problems introduced by
c068b225fef5a9bf0
- Fix failing build
- Drop added trailing whitespace
Stefan Sauer [Thu, 27 Feb 2014 17:27:37 +0000 (18:27 +0100)]
buffer: add return values to g_return_if_fail
FIxes previous commit.
Stefan Sauer [Thu, 27 Feb 2014 17:06:56 +0000 (18:06 +0100)]
docs: convert the examples to use gtk-doc markup, instead of docbook
The gtk-doc markup is less intrusive and better handled when creating docs for
language bindings. The titles (where used) where not adding much.
Wim Taymans [Thu, 27 Feb 2014 15:46:11 +0000 (16:46 +0100)]
docs: add some more new API do docs
Wim Taymans [Thu, 27 Feb 2014 15:40:34 +0000 (16:40 +0100)]
bufferpool: only release buffers with writable memory
Check if the memory is writable before releasing the buffer into the
pool again.
Add unit test for this scenario.
Wim Taymans [Thu, 27 Feb 2014 15:39:50 +0000 (16:39 +0100)]
buffer: add function to check writability of memory
Check if memory is writable in a buffer and thus is exclusively owned by
this buffer.
Wim Taymans [Thu, 27 Feb 2014 14:14:59 +0000 (15:14 +0100)]
bufferpool: Use TAG_MEMORY to check memory before releasing
Tag allocated buffers with TAG_MEMORY. When they are released later,
only add them back to the pool if the tag is still there and the memory
has not been changed, otherwise throw the buffer away.
Add unit test to check various scenarios.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724481
Wim Taymans [Thu, 27 Feb 2014 13:35:09 +0000 (14:35 +0100)]
buffer: add a new flag to track memory changes
Add a flag to check if the memory changed in a buffer.
Wim Taymans [Wed, 26 Feb 2014 14:36:42 +0000 (15:36 +0100)]
buffer: remove wrong comment
Refcount and writability are not related for memory objects.
Wim Taymans [Tue, 25 Feb 2014 16:46:49 +0000 (17:46 +0100)]
bufferpool: refactor free_buffer
Make a do_free_buffer method to also decrements the number of allocated
buffers. Stop will now be successful when all buffers are freed.
Stefan Sauer [Wed, 26 Feb 2014 21:10:28 +0000 (22:10 +0100)]
Automatic update of common submodule
From 1a07da9 to fe1672e
Stefan Sauer [Wed, 26 Feb 2014 19:24:41 +0000 (20:24 +0100)]
debugutils: add a legend to pipeline dumps
We use a couple of symbols to represent states/flags. Add a short explanation for them.
Olivier Crête [Wed, 31 Jul 2013 07:26:26 +0000 (09:26 +0200)]
debugutils: Print if there is a task started from a pad
https://bugzilla.gnome.org/show_bug.cgi?id=705189
Sebastian Dröge [Tue, 25 Feb 2014 15:11:20 +0000 (16:11 +0100)]
structure: Use get_uint64() in gst_structure_get_clock_time()
Its code is identical.
Sebastian Dröge [Tue, 25 Feb 2014 14:41:45 +0000 (15:41 +0100)]
structure: Add getters for int64 and uint64 values
Thiago Santos [Thu, 20 Feb 2014 00:17:27 +0000 (21:17 -0300)]
basesrc: Do not send eos when seeking after last buffer
If pushing the last buffer triggers a seek from downstream, do not
go into EOS if a new segment was requested.
Contains unit test
https://bugzilla.gnome.org/show_bug.cgi?id=724757
Tim-Philipp Müller [Fri, 21 Feb 2014 09:03:50 +0000 (09:03 +0000)]
gst-uninstalled: remove insanity and the old gst-openmax
Thibault Saunier [Thu, 20 Feb 2014 17:47:42 +0000 (18:47 +0100)]
gst-uninstalled: Add paths to gst-devtools/validate
Sebastian Dröge [Thu, 20 Feb 2014 14:34:36 +0000 (15:34 +0100)]
multiqueue: If we only have a single pad, don't consider all pads not linked and grow the queue indefinitely
Stefan Sauer [Wed, 19 Feb 2014 09:57:33 +0000 (10:57 +0100)]
check: also use the glob on GST_CHECKS when forcing to run broken tests
GST_CHECKS can be simply "test*" to run run all tests (including those that are
marked broken). Update the sparse comments a bit to tell how this works.
Wim Taymans [Tue, 18 Feb 2014 14:46:32 +0000 (15:46 +0100)]
queue2: don't truncate the temp file on shutdown
We want to keep the downloaded file untruncated so that we can use it
again later.
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=724373
Wim Taymans [Tue, 18 Feb 2014 13:21:20 +0000 (14:21 +0100)]
queue2: Fix merging of ranges
Make a method to get the seeking threshold. If data is further away from
this threshold we want to perform a seek upstream.
When the current downloaded range can merge with the next range,
actually include the data of the next range into the current range
instead of discarding it. Also decide if we seek to the write position
of the merged range or continue reading.