Stefan Sauer [Wed, 10 Sep 2014 05:55:33 +0000 (07:55 +0200)]
rusage: implement windowing of cpuload
Add a local help to the rusage plugin that supports windowing of values. We want
to generalize this for use in other plugins.
Stefan Sauer [Thu, 4 Sep 2014 08:11:52 +0000 (10:11 +0200)]
rusage: announce the data format
Rusage will now announce what is meassures and how it is logged. Use the new format in stats.
Cleanup the the code and naming.
Stefan Sauer [Mon, 28 Jul 2014 20:08:49 +0000 (22:08 +0200)]
stats: improve cpu load meassurements
Rename variables for clarity. Handle the initial disparity between debug time
and the time already spent in the proc and main thread.
Stefan Sauer [Fri, 18 Jul 2014 06:09:32 +0000 (08:09 +0200)]
design: update tracer design
Stefan Sauer [Mon, 28 Jul 2014 06:49:38 +0000 (08:49 +0200)]
quarks: revert the quark changes, we not using them anymore
Stefan Sauer [Fri, 18 Jul 2014 05:49:38 +0000 (07:49 +0200)]
tracer: split into tracer and tracerutils
Keep tracer base class in tracer and move core support into the utils module.
Add a unstable-api guard to the tracer.h so that external modules would need to
acknowledge the status by setting GST_USE_UNSTABLE_API.
Stefan Sauer [Wed, 16 Jul 2014 16:48:52 +0000 (18:48 +0200)]
docs: add gtk-doc blobs
Stefan Sauer [Thu, 20 Feb 2014 10:15:20 +0000 (11:15 +0100)]
latency: take stop time when buffer is handled
Now we meassure time from 'before buffer transfer on src' to when the 'buffer is processed on sink'.
Stefan Sauer [Tue, 15 Jul 2014 07:49:23 +0000 (09:49 +0200)]
tracers: add a logging helper to remove identical copies from the tracers
Stefan Sauer [Tue, 18 Feb 2014 15:15:44 +0000 (16:15 +0100)]
tracers: tweak the get_real_pad_parent()
By using the we ended up on the actual element, not the parent.
Stefan Sauer [Tue, 18 Feb 2014 10:06:10 +0000 (11:06 +0100)]
tracers: add a new latency tracer
Add a new tracer with pushes extra events to meassure src-to-sink processing latency.
Stefan Sauer [Mon, 17 Feb 2014 17:30:24 +0000 (18:30 +0100)]
design: update design docs
Add new tracer idea.
Stefan Sauer [Fri, 22 Nov 2013 18:10:04 +0000 (19:10 +0100)]
gst-stats: use the rusage stats
Add cpuload info from rusage traces.
Stefan Sauer [Wed, 20 Nov 2013 07:22:58 +0000 (08:22 +0100)]
rusage: add a new rusage tracer
The tracer hooks up to all probes and logs resource usage figures.
Stefan Sauer [Tue, 15 Jul 2014 08:20:22 +0000 (10:20 +0200)]
gst-stats: filter complete thread section if we have no pads
Stefan Sauer [Tue, 19 Nov 2013 07:04:38 +0000 (08:04 +0100)]
stats: improve the handling of parentage
Log new object after we did the check for parents.
Stefan Sauer [Sun, 17 Nov 2013 10:37:14 +0000 (11:37 +0100)]
stats: print thread key for stats and filter empty pad-sections
Stefan Sauer [Sun, 17 Nov 2013 10:15:36 +0000 (11:15 +0100)]
stats: update buffer flags
Remove some buffer flags that were leftovers from 0.10 and handle new 1.0 buffer
flags.
Stefan Sauer [Mon, 4 Nov 2013 19:11:09 +0000 (20:11 +0100)]
stats: add a stats frontend
Parse the log and collect data from tracer messages.
Stefan Sauer [Fri, 15 Nov 2013 08:36:21 +0000 (09:36 +0100)]
tracer: use the same timebase as the logging
Stefan Sauer [Wed, 16 Jul 2014 07:22:37 +0000 (09:22 +0200)]
design: update design
Stefan Sauer [Wed, 16 Jul 2014 07:41:48 +0000 (09:41 +0200)]
log: add query log category
Stefan Sauer [Sat, 2 Nov 2013 17:24:56 +0000 (18:24 +0100)]
tracer: parse parameters
Stefan Sauer [Wed, 16 Jul 2014 07:22:14 +0000 (09:22 +0200)]
tracer: add more hooks and handle it in the plugins
Stefan Sauer [Wed, 30 Oct 2013 07:19:41 +0000 (08:19 +0100)]
stats: handle buffer lists
Stefan Sauer [Wed, 30 Oct 2013 07:04:27 +0000 (08:04 +0100)]
log: make the log tracer more verbose again
Define log formats per message type and print details.
Stefan Sauer [Mon, 28 Oct 2013 20:59:19 +0000 (21:59 +0100)]
tracer: use a macros for the enabled check
Avoid a function call and check the variables from the macro.
Stefan Sauer [Mon, 28 Oct 2013 20:39:52 +0000 (21:39 +0100)]
tracer: use macros for hooks
Wrap the hook with a pre and post macro. This looks less intrusive than the
previous version, although it is a little less optimized.
Stefan Sauer [Mon, 28 Oct 2013 20:28:18 +0000 (21:28 +0100)]
tracer: pass the timestamp directly
Avoid the structure mashalling (and weird field naming).
Stefan Sauer [Mon, 28 Oct 2013 07:08:20 +0000 (08:08 +0100)]
stats: add a tracer that collects pipeline statistics
This is more or less equiv to the the statistics in gst-tracelib.
Stefan Sauer [Mon, 28 Oct 2013 07:07:52 +0000 (08:07 +0100)]
log: add cast macro
Stefan Sauer [Sun, 27 Oct 2013 19:43:25 +0000 (20:43 +0100)]
tracer: pass the instance to the vmethod
Stefan Sauer [Sun, 27 Oct 2013 16:05:52 +0000 (17:05 +0100)]
design: more planning
Stefan Sauer [Sun, 27 Oct 2013 16:04:32 +0000 (17:04 +0100)]
tracer: switch to quarks and add another hook for buffer flow
Use pre-defines quarks as this will be called quite often.
Stefan Sauer [Sun, 27 Oct 2013 11:45:54 +0000 (12:45 +0100)]
tracer: add the hook-id to the invoke signature
Tracers that subscribe to multiple hooks can know what hook was used.
Stefan Sauer [Sat, 26 Oct 2013 20:05:13 +0000 (22:05 +0200)]
inspect: add support for the new factory
Handle tracer modules.
Stefan Sauer [Thu, 24 Oct 2013 12:47:48 +0000 (14:47 +0200)]
tracer: initial prototype for the tracing subsystem
Vineeth TM [Mon, 5 Oct 2015 02:12:47 +0000 (11:12 +0900)]
tests/gst-launch: Fix sample memory leak
When sample is got using gst_tag_list_get_sample_index, it should
be free'd.
https://bugzilla.gnome.org/show_bug.cgi?id=756069
Sebastian Dröge [Fri, 2 Oct 2015 19:17:04 +0000 (22:17 +0300)]
Update GLib dependency to 2.40.0
Vineeth TM [Thu, 20 Aug 2015 07:21:59 +0000 (16:21 +0900)]
gstreamer: Fix memory leaks when context parse fails
When g_option_context_parse fails, context and error variables are not getting free'd
which results in memory leaks. Free'ing the same.
And replacing g_error_free with g_clear_error, which checks if the error being passed
is not NULL and sets the variable to NULL on free'ing.
https://bugzilla.gnome.org/show_bug.cgi?id=753851
Jan Alexander Steffens (heftig) [Wed, 23 Sep 2015 21:03:29 +0000 (23:03 +0200)]
timedvaluecontrolsource: Use g_sequence_lookup where possible
When looking for exact matches in the sequence, this results
in much simpler code than when using g_sequence_search.
https://bugzilla.gnome.org/show_bug.cgi?id=755498
Stefan Sauer [Thu, 1 Oct 2015 20:09:58 +0000 (22:09 +0200)]
interpolationcontrolsource: fix write over the array size
The '++' got incidentially added during the refactoring in
2fe3939ce7ea84c45dd922e7f1097dd07f11fc5d.
Stefan Sauer [Wed, 30 Sep 2015 15:29:16 +0000 (17:29 +0200)]
controlpoint: change the padding to be of arch-independent size
The default padding I introduced in
d4f81fb4e62d34a4c1dabc65b23ede7ce7694c63 is
actually only 4 pointers and on 32bit platforms already smaller than the union.
Replace it with a fixed 64byte padding. Don't add the normal padding for now.
Fixes #755822
Luis de Bethencourt [Fri, 21 Aug 2015 16:42:52 +0000 (17:42 +0100)]
gstreamer-uninstalled: add path for OpenCV haar cascade files
Some OpenCV plugins use haar cascade files that are included in the
GStreamer sources. To be able to use these from uninstalled, they need
to be found through an environment variable.
Adding this environment variable pointing to haar cascade files to
gst-uninstalled.
Tim-Philipp Müller [Mon, 28 Sep 2015 15:01:55 +0000 (16:01 +0100)]
check: fix 'format string is not a string literal' warning with clang
Broke this when I removed the G_GNUC_PRINTF in a previous
commit to fix indentation, since it was not really needed.
Turns out unlike gcc clang warns though if a non-literal
format string is passed then. Fix indentation differently.
http://clang.llvm.org/docs/AttributeReference.html#format-gnu-format
Stefan Sauer [Mon, 28 Sep 2015 14:45:47 +0000 (16:45 +0200)]
tests: fix the manual tests by setting the right env-vars
Stefan Sauer [Mon, 28 Sep 2015 14:22:36 +0000 (16:22 +0200)]
directcontrolbinding: fix formatting
Stefan Sauer [Mon, 28 Sep 2015 14:21:55 +0000 (16:21 +0200)]
index: mark two structs that don't have abi padding
Stefan Sauer [Mon, 28 Sep 2015 14:19:40 +0000 (16:19 +0200)]
controller: add the missing abi padding
While this technically is an abi break, we decided to do this:
1) the struct is documented to be internal
2) the struct is alloced and freed inside the library
3) there are no public methods that receive or return instances
4) the only code known to use this struct are classes containd here
Matthew Waters [Wed, 23 Sep 2015 14:04:48 +0000 (00:04 +1000)]
bin: implement context propagation when adding elements
When adding an element to a bin we need to propagate the GstContext's
to/from the element.
This moves the GstContext list from GstBin to GstElement and adds
convenience functions to get the currently set list of GstContext's.
This does not deal with the collection of GstContext's propagated
using GST_CONTEXT_QUERY. Element subclasses are advised to call
gst_element_set_context if they need to propagate GstContext's
received from the context query.
https://bugzilla.gnome.org/show_bug.cgi?id=705579
Stefan Sauer [Mon, 7 Sep 2015 07:39:32 +0000 (09:39 +0200)]
interpolationcontrolsource: add cubic_mono interpolation
This new mode won't overshoot the min/max y values set by the control-points.
Fixes #754678
API: GST_INTERPOLATION_MODE_CUBIC_MONO
Stefan Sauer [Mon, 7 Sep 2015 07:37:05 +0000 (09:37 +0200)]
interpolationcontrolsource: refactor code
Extract common code that looks up the control-points around the timestamp. Add
some comments for future investigation.
Stefan Sauer [Fri, 4 Sep 2015 14:38:37 +0000 (16:38 +0200)]
tests/examples: add a demo for the interpolation control source modes
This is in preparation for new modes to be added. In particullar it demonstrates
how the cubic splines overshoot the range.
Thiago Santos [Wed, 9 Sep 2015 14:55:28 +0000 (11:55 -0300)]
capsfilter: remove proxying of accept-caps downstream
The design is to only do a local check
Thiago Santos [Tue, 25 Aug 2015 22:37:30 +0000 (19:37 -0300)]
pad: don't fallback to caps queries with proxy pads
A proxy-pad should always proxy the caps related queries
and events to its down or upstream peers on the other side
of the element. Falling back to a caps query seems wrong.
https://bugzilla.gnome.org/show_bug.cgi?id=754112
Tim-Philipp Müller [Sat, 26 Sep 2015 10:03:24 +0000 (11:03 +0100)]
harness: minor doc fixes
Vivia Nikolaidou [Wed, 2 Sep 2015 14:58:38 +0000 (17:58 +0300)]
segment: Replaced gst_segment_to_position with gst_segment_position_from_running_time
gst_segment_to_position might cause confusion, especially with the addition of
gst_segment_position_from_stream_time . Deprecated gst_segment_to_position
now, and replaced it with gst_segment_position_from_running_time.
Also added unit tests.
Vivia Nikolaidou [Wed, 2 Sep 2015 14:38:25 +0000 (17:38 +0300)]
segment: Added unit tests for gst_segment_position_from_stream_time
Vivia Nikolaidou [Fri, 25 Sep 2015 12:57:16 +0000 (15:57 +0300)]
segment: gst_segment_to_stream_time: Renamed 'result' to 'stream_time'
Renamed the "result" variable to "stream_time" for better readability.
Vivia Nikolaidou [Fri, 25 Sep 2015 12:56:45 +0000 (15:56 +0300)]
segment: Added gst_segment_position_from_stream_time()
gst_segment_position_from_stream_time() will convert stream time into a
position in the segment so that gst_segment_to_stream_time() with that
position returns the same stream time. It will return -1 if the stream time
given is not inside the segment.
Vivia Nikolaidou [Wed, 2 Sep 2015 13:36:35 +0000 (16:36 +0300)]
segment: Rewording of struct field descriptions
The new wording makes it easier to understand exactly what each field of the
GstSegment struct represents.
Sebastian Dröge [Mon, 31 Aug 2015 12:35:11 +0000 (15:35 +0300)]
event: Make sure that timestamp + diff in QoS events is never smaller than 0
When a running-time-offset is stored in the event, it could become smaller
than 0 although the event is otherwise correct. This can happen when pad
offsets are used.
To prevent this, we set the timestamp to -diff, so that in the end the sum of
both is exactly 0.
https://bugzilla.gnome.org/show_bug.cgi?id=754356
Sebastian Dröge [Wed, 16 Sep 2015 21:40:44 +0000 (23:40 +0200)]
uri: Add test for correct absolute URI handling in gst_uri_from_string_with_base()
If the second parameter is an absolute URI, the base should have no effect and
the second parameter should be returned again.
https://bugzilla.gnome.org/show_bug.cgi?id=755134
Sebastian Dröge [Fri, 25 Sep 2015 21:51:03 +0000 (23:51 +0200)]
Back to development
Sebastian Dröge [Fri, 25 Sep 2015 21:14:33 +0000 (23:14 +0200)]
Release 1.6.0
Sebastian Dröge [Fri, 25 Sep 2015 20:41:16 +0000 (22:41 +0200)]
Update .po files
Vineeth TM [Fri, 25 Sep 2015 01:18:07 +0000 (10:18 +0900)]
ptpclock: Fix error leak during failures
https://bugzilla.gnome.org/show_bug.cgi?id=755607
Stian Selnes [Mon, 21 Sep 2015 11:58:51 +0000 (13:58 +0200)]
funnel: Fix racy state change
Iterator may need to be resynced, for instance if pads are released
during state change.
got_eos should be protected by the object lock of the element, not of
the pad, as is the case throughout the rest of the funnel code.
https://bugzilla.gnome.org/show_bug.cgi?id=755343
Stian Selnes [Mon, 21 Sep 2015 13:22:19 +0000 (15:22 +0200)]
bin: element: Ignore activate result for removed pads on state change
This fixes a race where a state change may return failure if it has
request pads that are deactivated and removed (and thus have no
parent) at the same time as the element changes state and (de)activates
its pads.
https://bugzilla.gnome.org/show_bug.cgi?id=755342
Havard Graff [Thu, 24 Sep 2015 08:23:14 +0000 (10:23 +0200)]
harness: don't crash when adding a sink-harness without h->sinkpad
https://bugzilla.gnome.org/show_bug.cgi?id=755511
Sebastian Dröge [Wed, 23 Sep 2015 18:31:48 +0000 (20:31 +0200)]
basetransform: Print buffer PTS when submitting an input buffer
Eunhae Choi [Mon, 21 Sep 2015 05:58:46 +0000 (14:58 +0900)]
inputselector: Fix buffer leak in sync_streams & cache_buffers mode
After doing gst_pad_push() in case of sync_streams and cache_buffers,
if the buffer can not be kept in cache, it should be unreffed to avoid
memory leackage.
https://bugzilla.gnome.org/show_bug.cgi?id=755141
Vikram Fugro [Sat, 19 Sep 2015 11:27:26 +0000 (16:57 +0530)]
gst: Documentation typo fix in caps & pad APIs
gst_caps_can_intersect() & GST_PAD_IS_ACCEPT_INTERSECT()
documentation typo fix.
https://bugzilla.gnome.org/show_bug.cgi?id=755257
Sebastian Dröge [Fri, 18 Sep 2015 17:07:18 +0000 (19:07 +0200)]
Release 1.5.91
Sebastian Dröge [Fri, 18 Sep 2015 17:07:10 +0000 (19:07 +0200)]
Update .po files
Sebastian Dröge [Fri, 18 Sep 2015 09:49:03 +0000 (11:49 +0200)]
po: Update translations
Vineeth TM [Tue, 15 Sep 2015 01:56:40 +0000 (10:56 +0900)]
downloadbuffer, benchmarks: fix error leaks in failure code paths
https://bugzilla.gnome.org/show_bug.cgi?id=755019
Vineeth TM [Tue, 15 Sep 2015 01:52:55 +0000 (10:52 +0900)]
check: Fix indentation
https://bugzilla.gnome.org/show_bug.cgi?id=755019
Tim-Philipp Müller [Tue, 15 Sep 2015 17:05:11 +0000 (18:05 +0100)]
bufferpool: sprinkle some allow-none and out annotations for g-i
Vineeth TM [Mon, 14 Sep 2015 02:01:11 +0000 (11:01 +0900)]
bin: fix typo in log message when threadpool alloc fails
https://bugzilla.gnome.org/show_bug.cgi?id=754975
Igor Rondarev [Fri, 11 Sep 2015 14:58:48 +0000 (17:58 +0300)]
configure: Check for socketpair() in -lsocket too
On e.g. QNX it is in an external library, not libc.
https://bugzilla.gnome.org/show_bug.cgi?id=754875
Arun Raghavan [Wed, 9 Sep 2015 07:40:04 +0000 (13:10 +0530)]
Revert "docs: Make sure gst_debug_bin_to_dot_data() is documented"
This reverts commit
0dffeb03018d12be522c2d97aaaf8102153bd7c0.
The commit is erroneous and documents the function twice.
Arun Raghavan [Thu, 23 Jul 2015 06:48:51 +0000 (12:18 +0530)]
docs: Make sure gst_debug_bin_to_dot_data() is documented
Thanks to Nirbheek Chauhan <nirbheek@centricular.com> for pointing this
out.
Stian Selnes [Wed, 5 Aug 2015 08:07:50 +0000 (10:07 +0200)]
harness: Fix race for gst_harness_element_ref
In order for gst_harness_new_full to be MT-safe the increase and
decrease of HARNESS_REF must be MT-safe. This allows for creating
multiple harnesses from different threads wrapping the same element.
https://bugzilla.gnome.org/show_bug.cgi?id=754661
Stian Selnes [Wed, 5 Aug 2015 07:59:39 +0000 (09:59 +0200)]
harness: Allow-none for custom stress init func
It should be allowed to not have a function to initialize the user data
since it's often not necessary; it may already be initialized.
https://bugzilla.gnome.org/show_bug.cgi?id=754661
Tim-Philipp Müller [Sun, 6 Sep 2015 08:58:09 +0000 (09:58 +0100)]
docs: remove signal that no longer exists from docs
Tim-Philipp Müller [Sat, 5 Sep 2015 10:20:49 +0000 (11:20 +0100)]
po: update for translated string changes
Tim-Philipp Müller [Sat, 5 Sep 2015 10:18:27 +0000 (11:18 +0100)]
tools: gst-launch: fix --exclude command line option
This has not worked (as in: crashed) since 2005, so
perhaps it should just be removed instead.
Tim-Philipp Müller [Mon, 31 Aug 2015 11:07:10 +0000 (12:07 +0100)]
Revert "queue2: Process SEEKING query"
This caused problems with oggdemux when queue2 was
operating in queue mode and the souphttpsrc upstream
is not seekable because the server doesn't support
range requests. It would then still claim seekability
and then things go wrong from there.
This reverts commit
7b0b93dafe4ac547552cdb66ade5d8aa0405e7b4.
https://bugzilla.gnome.org/show_bug.cgi?id=753887
Havard Graff [Sat, 29 Aug 2015 18:14:44 +0000 (20:14 +0200)]
harness: misc bugfixes
1. Get a list of pad templates from the element class, not the
factory. This allows us to interact with test-elements that does
not have a factory.
2. Use the pad_template_caps in caps-queries when caps is not set
explicitly on the pad. Not doing so is simply wrong, and prohibits
interactions with special templates used for testing.
https://bugzilla.gnome.org/show_bug.cgi?id=754193
Thiago Santos [Wed, 26 Aug 2015 12:29:05 +0000 (09:29 -0300)]
tests: event: fix build failure
gst/gstevent.c:250:5: error: ‘for’ loop initial declarations are only
allowed in C99 or C11 mode
Vivia Nikolaidou [Mon, 24 Aug 2015 18:04:37 +0000 (21:04 +0300)]
bin: Make sure we don't add/remove a bin to/from itself
Doing so would deadlock from trying to acquire the object lock twice
https://bugzilla.gnome.org/show_bug.cgi?id=754036
Nicolas Dufresne [Fri, 21 Aug 2015 21:28:48 +0000 (14:28 -0700)]
basetransform: Reconfigure before propose_allocation
There exist cases where a reconfigure event was propagated from
downstream, but caps didn't change. In this case, we would
reconfigure only when the next buffer arrives. The problem is that
due to the allocation query being cached, the return query parameters
endup outdated.
In this patch we refactor the reconfigurating code into a function, and
along with reconfiguring when a new buffer comes in, we also reconfigure
when a query allocation arrives.
https://bugzilla.gnome.org/show_bug.cgi?id=753850
Nicolas Dufresne [Fri, 7 Aug 2015 19:39:59 +0000 (15:39 -0400)]
basesrc-test: Fix race testing segment update
As this test is using a short sleep (GST_USECOND, which is 10ms
in microsecond), sometimes that EOS event is received before the
loop in basesrc have run _do_seek() and pushed the update segment.
To solve this issue, we wait for the initial segment (and flush it)
then we wait for the second segment before sending EOS.
https://bugzilla.gnome.org/show_bug.cgi?id=753365
Thibault Saunier [Wed, 19 Aug 2015 09:46:07 +0000 (11:46 +0200)]
bin: Add NLE to GST_PLUGIN_PATH
Sebastian Dröge [Wed, 19 Aug 2015 09:50:56 +0000 (12:50 +0300)]
Release 1.5.90
Sebastian Dröge [Wed, 19 Aug 2015 09:33:41 +0000 (12:33 +0300)]
Update .po files
Sebastian Dröge [Wed, 19 Aug 2015 08:17:29 +0000 (11:17 +0300)]
po: Update translations
Tim-Philipp Müller [Tue, 18 Aug 2015 14:44:02 +0000 (15:44 +0100)]
baseparse: avoid tag list spam if upstream provides bitrate tags already
Explicitly keep track again whether upstream tags or parser tags
already contain bitrate information, and only force a tag update
for a bitrate if we are actually going to add the bitrate to the
taglist later. This fixes constant re-sending of the same taglist,
because upstream provided a bitrate already and we didn't add it,
so we didn't save the 'posted' bitrate, which would then in turn
again trigger the 'bitrate has changed too much, update tags'
code path. Fixes tag spam with m4a files for example.
https://bugzilla.gnome.org/show_bug.cgi?id=679768
Stefan Sauer [Mon, 17 Aug 2015 20:06:11 +0000 (22:06 +0200)]
debugutils: bring the dot style a bit closer to what we use in the docs
Use round corners for bins and elements. Put sink pads on the left and src pads
on the right of elements.