Commit graph

20 commits

Author SHA1 Message Date
Sebastian Dröge
bf3896b2bd 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
bc418c7a85 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
eff64c7ddc 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
06f6d3c65c 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
46f713c598 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
d508b39952 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
cf90f534f1 audiomixer: Implement get_next_time() 2014-12-16 17:37:12 +01:00
Thibault Saunier
d5a171cae9 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
d38e242a72 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
57c8272c75 aggregator: add latency query handling 2014-10-09 23:52:11 +11:00
Thibault Saunier
22da31f42a audiomixer: Handle seek event in READY state 2014-10-06 18:57:28 +02:00
Thibault Saunier
c158e019c1 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
183f4b3227 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
Stefan Sauer
ec17e33f64 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
ee15c8fd1f 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
c29e04674a audiomixer: Fix and simplify overlap calculation 2014-01-15 23:30:57 +01:00
Sebastian Dröge
a1f95f5625 audiomixer: Also resync timestamps on the RESYNC flag 2013-12-19 21:59:09 +01:00
Sebastian Dröge
9fa3fb9434 audiomixer: Fix EOS handling if we have some pending data 2013-11-07 14:12:00 +01:00
Sebastian Dröge
4cf0fc0054 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
39459b2f30 audiomixer: Add new element based on adder that does synchronized audio mixing 2013-11-06 15:35:38 +01:00