Olivier Crête
cc3f418516
aggregator: Replace event lock with pad's object lock
...
Reduce the number of locks simplify code, what is protects
is exposed, but the lock was not.
Also means adding an _unlocked version of gst_aggregator_pad_steal_buffer().
https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-01-29 10:24:18 +01:00
Tim-Philipp Müller
2054d94d50
audiomixer: update for aggregator start/stop vfunc change
2014-12-30 18:01:34 +00:00
Tim-Philipp Müller
4a38668d99
audiomixer: fix output-block-size property description
2014-12-30 15:32:46 +00:00
Nirbheek Chauhan
eedb25c3b4
audiomixer: Document the pad properties
2014-12-27 11:02:36 +00:00
Sebastian Dröge
be7034d1f7
audiomixer: If getting a timeout before having caps, just advance our position
...
This can happen if this is a live pipeline and no source produced any buffer
and sent no caps until the an output buffer should've been produced according
to the latency.
2014-12-23 12:24:48 +01:00
Sebastian Dröge
0e8604f4ee
audiomixer: Make sure to release the current buffer in reset()
...
If we didn't output the last one in aggregate because we were shutting down
earlier we might otherwise leak it.
2014-12-23 12:15:50 +01:00
Sebastian Dröge
7c575af6df
audiomixer: Change blocksize property to output-buffer-duration in time format
...
This makes the interface of audiomixer independent of the actual caps.
2014-12-23 11:45:50 +01:00
Sebastian Dröge
8244e78d19
audiomixer: Use the src query implementation of aggregator as the default case
2014-12-22 22:12:02 +01:00
Stefan Sauer
23da373c63
audiomixer: fix build flag order
...
Have the libraries/inlcudes from plugins-bad first to avoid picking up the installed version.
Fixes the build when the local api changed.
2014-12-21 07:47:25 -05:00
Sebastian Dröge
f9739870ce
audiomixer: Track discont-time per pad instead of globally
...
We do discont handling per pad, not per element!
2014-12-19 14:40:33 +01:00
Sebastian Dröge
654d201375
audiomixer: We're only EOS if all our pads are actually EOS
...
Having a buffer or not on the pad is irrelevant.
2014-12-18 23:33:58 +01:00
Sebastian Dröge
0d38b2212c
audiomixer: The pad's size is always supposed to be the whole buffer size
...
And the offset the offset into that buffer. Changing the size will
cause all kinds of assumptions to fail and cause crashes.
2014-12-18 22:42:14 +01:00
Sebastian Dröge
06a4e80be9
aggregator: Add function to allow subclasses to set their own latency
...
For audiomixer this is one blocksize, for videoaggregator this should
be the duration of one output frame.
2014-12-17 19:51:32 +01:00
Sebastian Dröge
27bcbf0a80
audiomixer: Make sure to not have pads being behind the current offset
...
We would break sync between the different streams then.
2014-12-17 19:37:22 +01:00
Sebastian Dröge
d4c4af699e
aggregator: Add a timeout parameter to ::aggregate()
...
When this is TRUE, we really have to produce output. This happens
in live mixing mode when we have to output something for the current
time, no matter if we have enough input or not.
2014-12-17 18:41:41 +01:00
Sebastian Dröge
2764f2baf1
audiomixer: Implement get_next_time()
2014-12-16 17:37:12 +01:00
Thibault Saunier
d2cea992c0
audiomixer: Do not try to resize a buffer to a negative size on EOS
2014-11-27 19:10:58 +01:00
Vineeth T M
aec1f2a001
audiomixer: critical error for blocksize, timeout min/max values
...
Audiomixer blocksize, cant be 0, hence adjusting the minimum value to 1
timeout value of aggregator is defined with MAX of MAXINT64,
but it cannot cross G_MAXLONG * GST_SECOND - 1
Hence changed the max value of the same
https://bugzilla.gnome.org/show_bug.cgi?id=738845
2014-10-21 10:58:48 +02:00
Matthew Waters
b9db635f48
aggregator: add latency query handling
2014-10-09 23:52:11 +11:00
Thibault Saunier
33fbf7f16d
audiomixer: Handle seek event in READY state
2014-10-06 18:57:28 +02:00
Thibault Saunier
27b8d981c7
audiomixer: Set the sinkpad segments basetime after seeking
...
Otherwise stream offset and running time comparison will not be
correct, leading to segfaults after seeks
2014-10-06 18:57:28 +02:00
Thibault Saunier
dd65d70f65
audiomixer: Port to GstAggregator
...
https://bugzilla.gnome.org/show_bug.cgi?id=737183
Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>
2014-10-06 18:57:28 +02:00
Sebastian Dröge
b2ce00c55d
Release 1.3.1
2014-05-03 19:57:57 +02:00
Stefan Sauer
2a1add634c
audiomixer: set a group-id on the stream-start event
...
Set a default group-id to fix a warning printed by the sink.
2014-03-11 22:36:44 +01:00
Sebastian Dröge
dfd23a3182
audiomixer: Remove some useless assignments and skip the current part of the buffer if the pad is muted
2014-01-16 12:19:57 +01:00
Sebastian Dröge
aa3eb10cee
audiomixer: Fix and simplify overlap calculation
2014-01-15 23:30:57 +01:00
Sebastian Dröge
30c93d504c
audiomixer: Also resync timestamps on the RESYNC flag
2013-12-19 21:59:09 +01:00
Sebastian Dröge
24ba7af5fa
audiomixer: Fix EOS handling if we have some pending data
2013-11-07 14:12:00 +01:00
Sebastian Dröge
fefda44161
audiomixer: Don't take channel mask in consideration in mono or stereo
...
This could cause negotiation to fail.
https://bugzilla.gnome.org/show_bug.cgi?id=708633
2013-11-06 15:50:08 +01:00
Sebastian Dröge
caeaade700
audiomixer: Add new element based on adder that does synchronized audio mixing
2013-11-06 15:35:38 +01:00