Nirbheek Chauhan [Thu, 23 Nov 2017 21:09:43 +0000 (02:39 +0530)]
meson: Use new find_program fallback syntax
We use this syntax in libs/gst/helpers/meson.build already.
Sebastian Dröge [Mon, 4 Dec 2017 16:08:39 +0000 (18:08 +0200)]
gst: gst_element_remove_pad() is transfer none for the pad
While the refcount of the pad is decreased, it's the refcount that is
owned by the parent (i.e. the element) and not the one passed in by the
caller.
Fixes a memory leak in bindings.
Tim-Philipp Müller [Mon, 4 Dec 2017 11:24:47 +0000 (11:24 +0000)]
aggregator: add finish_buffer() vfunc
So subclasses can override the finish behaviour
and/or decorate or modify buffers before they
get pushed out.
https://bugzilla.gnome.org/show_bug.cgi?id=760981
Tim-Philipp Müller [Mon, 4 Dec 2017 12:29:05 +0000 (12:29 +0000)]
aggregator: disable tag merging and forwarding for now
Subclasses should handle this for now.
Jan Alexander Steffens (heftig) [Mon, 6 Nov 2017 19:23:12 +0000 (20:23 +0100)]
devicemonitor: Avoid maybe-uninitialized compiler warning
On Arch Linux x86_64, gcc 7.2.0-3, -Og -g3:
gstdevicemonitor.c: In function ‘bus_sync_message’:
gstdevicemonitor.c:276:8: error: ‘matches’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
This commit also simplifies the code a bit.
https://bugzilla.gnome.org/show_bug.cgi?id=789983
Sebastian Dröge [Sun, 3 Dec 2017 12:48:22 +0000 (14:48 +0200)]
gst: Annotate various strings as type filename if they represent a path/filename
Tim-Philipp Müller [Sat, 2 Dec 2017 15:44:48 +0000 (15:44 +0000)]
aggregator: hook up to docs
Tim-Philipp Müller [Sat, 2 Dec 2017 15:24:22 +0000 (15:24 +0000)]
aggregator: hook up to build system
https://bugzilla.gnome.org/show_bug.cgi?id=739010
Tim-Philipp Müller [Sat, 2 Dec 2017 15:12:25 +0000 (15:12 +0000)]
Move GstAggregator from -bad to core
Merge branch 'aggregator-move'
https://bugzilla.gnome.org/show_bug.cgi?id=739010
Mathieu Duponchelle [Mon, 6 Nov 2017 20:07:51 +0000 (21:07 +0100)]
aggregator: Remove klass->sinkpads_type
This posed problems for the python bindings (and possibly others).
Instead, subclasses now use add_pad_template_with_gtype.
https://bugzilla.gnome.org/show_bug.cgi?id=789986
Tim-Philipp Müller [Thu, 2 Nov 2017 18:32:55 +0000 (18:32 +0000)]
aggregator: add doc blurb for gst_aggregator_pad_is_eos()
Tim-Philipp Müller [Thu, 2 Nov 2017 16:05:12 +0000 (16:05 +0000)]
aggregator: also remove now-unused PadForeachFunc declaration
https://bugzilla.gnome.org/show_bug.cgi?id=785679
Olivier Crête [Wed, 2 Aug 2017 16:08:26 +0000 (12:08 -0400)]
aggregator: Remove pad iterator function
Use new gst_element_foreach_sink_pad() from core instead.
https://bugzilla.gnome.org/show_bug.cgi?id=785679
Tim-Philipp Müller [Thu, 2 Nov 2017 12:46:26 +0000 (12:46 +0000)]
aggregator: use new gst_element_foreach_sink_pad()
Instead of gst_aggregator_iterate_sinkpads() which will
soon be removed.
https://bugzilla.gnome.org/show_bug.cgi?id=785679
Stefan Sauer [Wed, 1 Nov 2017 14:18:08 +0000 (15:18 +0100)]
aggregator: add more comments
Stefan Sauer [Mon, 23 Oct 2017 09:52:38 +0000 (11:52 +0200)]
tests: comment and logging cleanups for audiomixer and aggregator
Remove some references to 'collectpads'. Logs pads through the object variants.
Add some more comments. Remove a left over comment.
Stefan Sauer [Sun, 22 Oct 2017 17:43:17 +0000 (19:43 +0200)]
aggregator: fix type for latency property (int64 -> GStClockTime)
The value is used as GstClockTiem in the code. Adapt the hack^H^H^H^Hcode
in live-adder.
Olivier Crête [Thu, 13 Jul 2017 23:03:19 +0000 (19:03 -0400)]
aggregator: Don't take flush lock from output thread
Instead just take it in the chain function.
https://bugzilla.gnome.org/show_bug.cgi?id=784911
Olivier Crête [Thu, 13 Jul 2017 22:38:34 +0000 (18:38 -0400)]
aggregator: Don't block if adding to the tail of the queue
If we're adding to the tail of the queue, it's because we're converting
a gap event, so don't block there it means we're calling from the output
thread.
https://bugzilla.gnome.org/show_bug.cgi?id=784911
Stefan Sauer [Tue, 17 Oct 2017 06:03:02 +0000 (08:03 +0200)]
aggregator: review code related to time level
Add a comment for when the state matters. Use a local var for priv in
update_time_level() to improve readability. Move the our_latency local
var below the query results checks.
Stefan Sauer [Tue, 17 Oct 2017 05:51:51 +0000 (07:51 +0200)]
aggregator: init latency values with 0 instead of FALSE
Stefan Sauer [Sun, 15 Oct 2017 18:46:09 +0000 (20:46 +0200)]
aggregator: code cleanup for event and query func
Only look up klass for non serialized events/queries. For events remove
superfluous assignment for the return value in the flushing case.
Stefan Sauer [Sun, 15 Oct 2017 15:46:45 +0000 (17:46 +0200)]
aggregator: simplify pad_event_func for FLUSH_STOP events
We want to skip serialization for FLUSH_STOP events (apparently). We can
simplify the code to add it to the top-level conditions. There was nothing
done in the first code path if the event was FLUSH_STOP.
Stefan Sauer [Sun, 15 Oct 2017 14:57:13 +0000 (16:57 +0200)]
aggregator: drop special casing for eos
Just queue it like any other serialized event. This way we don't need to
check if there still are buffers in the queue.
Validated with the tests and gst-launch-1.0 pipelines.
Stefan Sauer [Sun, 15 Oct 2017 14:51:21 +0000 (16:51 +0200)]
aggregator: add a doc-blob for the event_func
Stefan Sauer [Sun, 15 Oct 2017 14:48:21 +0000 (16:48 +0200)]
aggregator: rename a local variable
The variable tracks wheter the queue is not empty, but num_buffers==0. That
means we have events or queries to process. Rename accordingly.
Stefan Sauer [Sun, 15 Oct 2017 10:17:42 +0000 (12:17 +0200)]
aggregator: remove commented code
The SEGMENT_DONE event does not require any special treatment. This is
commented out in
6efc106a67.
Stefan Sauer [Sun, 15 Oct 2017 10:14:28 +0000 (12:14 +0200)]
aggregator: move the comment for the locks to the lock macros
Looks like some code was inserted afterwards.
Stefan Sauer [Sun, 15 Oct 2017 08:44:44 +0000 (10:44 +0200)]
aggregator: improve section docs
Mention how data ends up in the queues. Document the relation of the pad
functions and the class vmethods to get events and queries.
Stefan Sauer [Sat, 14 Oct 2017 16:18:44 +0000 (18:18 +0200)]
aggregator: add two more tests for a sequence of data
This verifies that we handle events and queries at the head of the queue and
then buffers.
Stefan Sauer [Sat, 14 Oct 2017 11:26:02 +0000 (13:26 +0200)]
aggregator: refactor the test helper
Make the test helpers use a queue. This lets us also test sequences of events,
queries and data.
Stefan Sauer [Sat, 14 Oct 2017 10:08:19 +0000 (12:08 +0200)]
aggregator: test cleanup
Remove gst_init() from a few tests. Use _OBJECT variants in logging. Remove
arbitrary extra blank lines. Make push_event() more like push_buffer() - set
the event to NULL and add cleanup to _chain_data_clear().
Stefan Sauer [Tue, 3 Oct 2017 10:36:10 +0000 (12:36 +0200)]
aggregator: cleanup event forwarding
Don't copy the whole event struct. Set the input params when we call the
forwarding helper. Initialize the internal fields and return values in the
helper.
Stefan Sauer [Tue, 3 Oct 2017 10:08:42 +0000 (12:08 +0200)]
aggregator: simplify src_event
Avoid extra ref/unref, we have a ref and do_seek unrefs. Just return the result
as we have. This lets us remove the local var plus the label.
Stefan Sauer [Sun, 17 Sep 2017 19:37:03 +0000 (12:37 -0700)]
aggregator: register func for do_events_and_queries
This fixes logging the func ptr from _iterate_sinkpads().
Stefan Sauer [Sun, 17 Sep 2017 19:30:37 +0000 (12:30 -0700)]
aggregator: only set clipped_buffer to NULL if needed
Stefan Sauer [Sun, 17 Sep 2017 19:25:37 +0000 (12:25 -0700)]
aggregator: rename check_events
This function also handles queries. Update the code to loop until all events and
queuries are handled.
Stefan Sauer [Sun, 17 Sep 2017 19:24:54 +0000 (12:24 -0700)]
aggregator: add a few more comments to PadPrivate struct
Stefan Sauer [Sun, 17 Sep 2017 18:39:12 +0000 (11:39 -0700)]
aggregator: rename buffers field to data
The queue stores buffers, events and queries.
Stefan Sauer [Sun, 17 Sep 2017 17:18:56 +0000 (10:18 -0700)]
aggregator: documentaion fixes
Fix typos and remove params docs, where the param was moved.
Edward Hervey [Tue, 5 Sep 2017 12:26:52 +0000 (14:26 +0200)]
check: Fix usage of dual probes
Using two (or more) probes on the same pad where one of the probe
returns HANDLED or DROP is tricky since the other probes might
not be called.
Instead use regular probes and a proper pad (the sinkpad already existed,
it only required to be activated and have a dummy chain function for
the events/buffers to be received/handled properly)
Stefan Sauer [Sun, 30 Jul 2017 10:17:57 +0000 (12:17 +0200)]
aggregator: log all events
We already log a few events explicitly, just log them all with more detail.
Tim-Philipp Müller [Sat, 29 Jul 2017 15:54:38 +0000 (16:54 +0100)]
aggregator: fix header formatting
Sebastian Dröge [Mon, 24 Jul 2017 15:38:57 +0000 (18:38 +0300)]
aggregator: Remove the GAP event from the queue before queueing up the GAP buffer
Otherwise check_events() will not remove the GAP event (as the queue
tail is not the event anymore but the GAP buffer), then the GAP buffer
is handled, then the GAP event is handled again, ... forever.
Tim-Philipp Müller [Mon, 17 Jul 2017 23:30:51 +0000 (00:30 +0100)]
aggregator: mark symbols explicitly for export with GST_EXPORT
Stefan Sauer [Thu, 13 Jul 2017 20:00:58 +0000 (22:00 +0200)]
aggregator: remove duplicated code fragment
This code already runs above when (event || query).
Stefan Sauer [Thu, 13 Jul 2017 19:55:55 +0000 (21:55 +0200)]
aggregator: code cleanups
Fix comment typos, some copy'n'paste in logging. Add more doc comments.
Mathieu Duponchelle [Thu, 13 Apr 2017 20:11:55 +0000 (22:11 +0200)]
aggregator: Invalidate pad's tail position ...
when dequeuing a segment event.
https://bugzilla.gnome.org/show_bug.cgi?id=784593
Stefan Sauer [Sat, 1 Jul 2017 18:23:25 +0000 (20:23 +0200)]
aggregator: fix "'aggclass' may be used uninitialized in this function"
Olivier Crête [Mon, 22 May 2017 22:53:57 +0000 (00:53 +0200)]
aggregator: Process serialized queries through the queue
This ensures that they really get processed in order with
buffers. Just waiting for the queue to be empty is sometimes not
enough as the buffers are dropped from the pad before the result is
pushed to the next element, sometimes resulting in surprising
re-ordering.
Olivier Crête [Mon, 22 May 2017 22:53:23 +0000 (00:53 +0200)]
aggregator: Set flow to FLUSHING on pad stop
Fixes a rare race where the pad is being stopped while doing a query.
Olivier Crête [Fri, 18 Nov 2016 19:44:16 +0000 (14:44 -0500)]
aggregator: Request pad templates which are not request pad
https://bugzilla.gnome.org/show_bug.cgi?id=782920
Olivier Crête [Fri, 18 Nov 2016 19:41:54 +0000 (14:41 -0500)]
aggregator: Don't restrict sink pad names
Sink pads could have other names than sink_%u
https://bugzilla.gnome.org/show_bug.cgi?id=782920
Olivier Crête [Sun, 21 May 2017 13:19:17 +0000 (15:19 +0200)]
aggregator: Implement propose allocation
https://bugzilla.gnome.org/show_bug.cgi?id=782918
Olivier Crête [Sun, 21 May 2017 12:34:13 +0000 (14:34 +0200)]
aggregator: Check for the result of caps events
https://bugzilla.gnome.org/show_bug.cgi?id=782918
Olivier Crête [Sun, 21 May 2017 12:28:00 +0000 (14:28 +0200)]
aggregator: Caps event always goes to the aggregate thread
So no need to check it here.
https://bugzilla.gnome.org/show_bug.cgi?id=782918
Olivier Crête [Sat, 20 May 2017 14:58:54 +0000 (16:58 +0200)]
aggregator: Add downstream allocation query
https://bugzilla.gnome.org/show_bug.cgi?id=746529
Olivier Crête [Sat, 20 May 2017 13:56:16 +0000 (15:56 +0200)]
aggregator: Remove unused GST_FLOW_NOT_HANDLED
Matthew Waters [Sat, 20 May 2017 12:24:57 +0000 (14:24 +0200)]
aggregator: add simple support for caps handling
Modelled off the videoaggregator caps handling as that seems the most
mature aggregtor-using implementation that has caps handling there is.
https://bugzilla.gnome.org/show_bug.cgi?id=776931
Nicolas Dufresne [Sat, 20 May 2017 11:10:53 +0000 (13:10 +0200)]
aggregator: Reset upstream latency on first buffer
In the case an aggregator is created and pads are requested but only
linked later, we end up never updating the upstream latency.
This was because latency queries on pads that are not linked succeed,
so we never did a new query once a live source has been linked, so the
thread was never started.
https://bugzilla.gnome.org/show_bug.cgi?id=757548
Olivier Crête [Sat, 14 May 2016 13:52:37 +0000 (15:52 +0200)]
aggregator: Always handle sync'ed events on output thread
Having all synchronized events always be handled on the output
thread should make synchronization easier.
https://bugzilla.gnome.org/show_bug.cgi?id=781673
Olivier Crête [Wed, 6 Jul 2016 20:39:17 +0000 (16:39 -0400)]
aggregator: Delay clipping to output thread
This is required because the synchronized events like caps or segments
may only be processed on the output thread.
https://bugzilla.gnome.org/show_bug.cgi?id=781673
Olivier Crête [Thu, 7 Jul 2016 20:13:57 +0000 (16:13 -0400)]
aggregator: Make pad eos as soon as all buffers are processed, dont way for events
https://bugzilla.gnome.org/show_bug.cgi?id=781673
Olivier Crête [Thu, 7 Jul 2016 15:47:40 +0000 (11:47 -0400)]
aggregator: Only count buffers when declaring queue full
https://bugzilla.gnome.org/show_bug.cgi?id=781673
Olivier Crête [Wed, 6 Jul 2016 20:41:44 +0000 (16:41 -0400)]
aggregator: Simplify clip function
The return value was ignored anyway
https://bugzilla.gnome.org/show_bug.cgi?id=781673
Olivier Crête [Sun, 15 May 2016 13:04:58 +0000 (16:04 +0300)]
aggregator: Only declare first buffer on actual buffer
The function needs to be unlocked if any data is received, but only
end the first buffer processing on an actual buffer, synchronized events
don't matter on the first buffer processing.
https://bugzilla.gnome.org/show_bug.cgi?id=781673
Olivier Crête [Wed, 10 May 2017 00:20:07 +0000 (20:20 -0400)]
aggregator: Set initial position on first buffer
Set the initial position on the first buffer, otherwise the queue
will grow without limits before the output thread is started.
https://bugzilla.gnome.org/show_bug.cgi?id=781673
Olivier Crête [Wed, 10 May 2017 00:06:29 +0000 (20:06 -0400)]
aggregator: Reset the pad's first buffer flag with the rest
There is not reason to have separate code to reset this one.
https://bugzilla.gnome.org/show_bug.cgi?id=781673
Olivier Crête [Wed, 10 May 2017 00:05:55 +0000 (20:05 -0400)]
aggregator: Reset pad on init
Factor out the pad reset code from the flushing and use it on init as well
https://bugzilla.gnome.org/show_bug.cgi?id=781673
Olivier Crête [Wed, 10 May 2017 00:13:58 +0000 (20:13 -0400)]
aggregator: Fix indentation
https://bugzilla.gnome.org/show_bug.cgi?id=781673
Thibault Saunier [Wed, 8 Mar 2017 18:01:13 +0000 (15:01 -0300)]
docs: Port all docstring to gtk-doc markdown
Thibault Saunier [Wed, 12 Apr 2017 15:06:52 +0000 (12:06 -0300)]
aggregator: Make instance var name match between .c and .h
Making GI happy
Vincent Penquerc'h [Fri, 7 Apr 2017 09:19:43 +0000 (10:19 +0100)]
gstaggregator: fix event use after free
https://bugzilla.gnome.org/show_bug.cgi?id=781017
Thibault Saunier [Tue, 6 Sep 2016 19:05:53 +0000 (16:05 -0300)]
aggregator: Use the event_full function for GstAggregatorPads
Allowing us to tell GstPad why we are failing an event, which might
be because we are 'flushing' even if the sinkpad is not in flush state
at that point.
Nicolas Dufresne [Wed, 25 May 2016 17:38:47 +0000 (13:38 -0400)]
Revert "aggregator: Start the task when linked"
This reverts commit
302580c3815136d29479c3a8cae611d6e2ff3709.
Nicolas Dufresne [Wed, 13 Apr 2016 20:30:28 +0000 (16:30 -0400)]
aggregator: Start the task when linked
Until now we would start the task when the pad is activated. Part of the
activiation concist of testing if the pipeline is live or not.
Unfortunatly, this is often too soon, as it's likely that the pad get
activated before it is fully linked in dynamic pipeline.
Instead, start the task when the first serialized event arrive. This is
a safe moment as we know that the upstream chain is complete and just
like the pad activation, the pads are locked, hence cannot change.
https://bugzilla.gnome.org/show_bug.cgi?id=757548
Nicolas Dufresne [Fri, 22 Apr 2016 14:15:39 +0000 (10:15 -0400)]
aggregator: Check all pads for data when live
When live, we still need to inspect all pads queue in order to determin
if we have received the first buffer or not.
https://bugzilla.gnome.org/show_bug.cgi?id=765431
Nicolas Dufresne [Fri, 15 Apr 2016 20:51:17 +0000 (16:51 -0400)]
aggregator: Fix locking when using the clock
This fixes a race where we check if there is a clock, then it get
removed and we endup calling gst_clock_new_single_shot_id() with a NULL
pointer instead of a valid clock and also calling gst_object_unref()
with a NULL pointer later.
https://bugzilla.gnome.org/show_bug.cgi?id=757548
Aurélien Zanelli [Sun, 3 Apr 2016 15:56:06 +0000 (17:56 +0200)]
aggregator: remove duplicated test of flow_return in pad_chain_internal
https://bugzilla.gnome.org/show_bug.cgi?id=764549
Sebastian Dröge [Mon, 28 Mar 2016 10:52:07 +0000 (13:52 +0300)]
aggregator: Fix leak in unit test
GST_PAD_PROBE_HANDLED means that we should've unreffed the probe data,
it was handled by us in one way or another.
Nirbheek Chauhan [Sun, 27 Mar 2016 13:36:50 +0000 (19:06 +0530)]
aggregator: Fix strcmp test for sink template
Nirbheek Chauhan [Sun, 27 Mar 2016 13:11:30 +0000 (18:41 +0530)]
aggregator: Don't try to be too smart while allocating pad names
Previously, while allocating the pad number for a new pad, aggregator was
maintaining an interesting relationship between the pad count and the pad
number.
If you requested a sink pad called "sink_6", padcount (which is badly named and
actually means number-of-pads-minus-one) would be set to 6. Which means that if
you then requested a sink pad called "sink_0", it would be assigned the name
"sink_6" again, which fails the non-uniqueness test inside gstelement.c.
This can be fixed by instead setting padcount to be 7 in that case, but this
breaks manual management of pad names by the application since it then becomes
impossible to request a pad called "sink_2". Instead, we fix this by always
directly using the requested name as the sink pad name. Uniqueness of the pad
name is tested separately inside gstreamer core. If no name is requested, we use
the next available pad number.
Note that this is important since the sinkpad numbering in aggregator is not
meaningless. Videoaggregator uses it to decide the Z-order of video frames.
Vineeth TM [Fri, 4 Mar 2016 06:50:26 +0000 (15:50 +0900)]
bad: use new gst_element_class_add_static_pad_template()
https://bugzilla.gnome.org/show_bug.cgi?id=763081
Hyunjun Ko [Mon, 9 Nov 2015 07:08:30 +0000 (16:08 +0900)]
tests:aggregator: fix tc failure and correct check value
Failure by this commit
2dfa548f3645844082c3db65d96d87255701b3ad, which is
to append hooks instead of prepend.
Because of this change, aggretated_cb is not called and leads to failure.
And correct to check flush stop value instead of flush start value
https://bugzilla.gnome.org/show_bug.cgi?id=757801
Luis de Bethencourt [Thu, 5 Nov 2015 12:36:48 +0000 (12:36 +0000)]
aggregator: use GST_STIME_FORMAT for GstClockTimeDiff
No need to manually handle negative value of deadline, GST_STIME_FORMAT does
exactly this.
Stefan Sauer [Wed, 4 Nov 2015 03:09:33 +0000 (19:09 -0800)]
aggregator: don't compare templ instance pointers
One can pass the PadTemplate from the element_class or the one from the factory.
While they have the same content, the addresses are different.
Olivier Crête [Tue, 3 Nov 2015 19:41:57 +0000 (14:41 -0500)]
aggregator: Set to running in a single place
Only set to running when the thread is actually started.
Olivier Crête [Tue, 3 Nov 2015 19:37:26 +0000 (14:37 -0500)]
aggregator: Document more locking
Olivier Crête [Tue, 3 Nov 2015 01:10:35 +0000 (20:10 -0500)]
aggregator: Hold object lock while manipulating the segment
Make sure the object lock is held when aggregator->segment is
modified.
Olivier Crête [Tue, 3 Nov 2015 00:05:01 +0000 (19:05 -0500)]
aggregator: Remove dead code
This code will never be called as max>=min in all cases. If the upstream
latency query returned min>max, the function already returned and all
values that are added to those have max>= min.
Sebastian Dröge [Fri, 23 Oct 2015 12:42:24 +0000 (15:42 +0300)]
aggregator: Add create_new_pad() vfunc to allow subclasses to override the default behaviour
Not all aggregator subclasses will have a single pad template called sink_%u
and might do something special depending on what the application requests.
https://bugzilla.gnome.org/show_bug.cgi?id=757018
Sebastian Dröge [Wed, 30 Sep 2015 17:05:35 +0000 (19:05 +0200)]
aggregator: Convert GST_ERROR_OBJECT() for seek events to GST_DEBUG_OBJECT()
Sebastian Dröge [Wed, 30 Sep 2015 17:03:05 +0000 (19:03 +0200)]
aggregator: For the start time selection, only set the segment position
segment.time and segment.start can stay the same, and were always the same
before anyway because of a mistake.
https://bugzilla.gnome.org/show_bug.cgi?id=755623
Sebastian Dröge [Mon, 31 Aug 2015 13:12:40 +0000 (16:12 +0300)]
aggregator: Don't forward QOS events to sinkpads that had no buffer yet
Otherwise they will receive a QOS event that has earliest_time=0 (because we
can't have negative timestamps), and consider their buffer as too late
https://bugzilla.gnome.org/show_bug.cgi?id=754356
Olivier Crête [Thu, 17 Sep 2015 23:42:34 +0000 (19:42 -0400)]
aggregator: Keep at least two buffers in the queue in live mode
When in live mode, the queue needs to hold the currently processed
buffer and one more at least.
https://bugzilla.gnome.org/show_bug.cgi?id=754851
Sebastian Dröge [Fri, 11 Sep 2015 10:21:50 +0000 (12:21 +0200)]
aggregator: Document that get_next_time() should return running time
https://bugzilla.gnome.org/show_bug.cgi?id=753196
Olivier Crête [Sat, 29 Aug 2015 03:05:20 +0000 (23:05 -0400)]
aggregator: Also ignore start-time on seek from gst_element_send_event()
https://bugzilla.gnome.org/show_bug.cgi?id=753806
Olivier Crête [Thu, 2 Jul 2015 23:34:43 +0000 (19:34 -0400)]
tests: Add test for seeking live pipelines
https://bugzilla.gnome.org/show_bug.cgi?id=745768
Olivier Crête [Thu, 2 Jul 2015 23:19:33 +0000 (19:19 -0400)]
tests: Make source live to re-enable aggregator timeout tests
The live mode is only enabled if one of the sources if live.
https://bugzilla.gnome.org/show_bug.cgi?id=745768
Olivier Crête [Sat, 7 Mar 2015 00:50:08 +0000 (19:50 -0500)]
aggregator: Queue "latency" buffers at each sink pad.
In the case where you have a source giving the GstAggregator smaller
buffers than it uses, when it reaches a timeout, it will consume the
first buffer, then try to read another buffer for the pad. If the
previous element is not fast enough, it may get the next buffer even
though it may be queued just before. To prevent that race, the easiest
solution is to move the queue inside the GstAggregatorPad itself. It
also means that there is no need for strange code cause by increasing
the min latency without increasing the max latency proportionally.
This also means queuing the synchronized events and possibly acting
on them on the src task.
https://bugzilla.gnome.org/show_bug.cgi?id=745768