George Kiagiadakis
a498d3fe6e
adder: remove non-interleaved layout from caps
...
adder needs more than just trivial work to support planar buffers properly
because it currently reads sub-buffers from GstCollectPads in order for all
of them to have matching sizes. In planar mode, this means it would truncate
some channels and mix them up in strange ways. It only works if all input
buffers in all sink pads have matching sizes.
2018-07-11 16:56:50 +03:00
Stefan Sauer
2bf83de168
adder: comment and formatting cleanups
...
Log a few more details. Update method comments. Remove some extra blank lines.
2017-07-23 13:13:14 +02:00
Tim-Philipp Müller
88fea7c511
adder: fix docs typo
2017-07-14 13:48:53 +01:00
Tim-Philipp Müller
cb5a2dcfbb
adder: document caps negotiation raciness and workaround
...
https://bugzilla.gnome.org/show_bug.cgi?id=777915
2017-07-14 13:40:07 +01:00
Thibault Saunier
099ac9faf2
docs: Convert gtkdoc comments to markdown
...
Modernizing the documentation, making it simpler to read an
modify and allowing us to possibly switch to hotdoc in the
future.
2017-03-10 18:19:17 -03:00
Stefan Sauer
66148a770c
adder: ensure the discont flag is correct
...
Previously it happened that reused buffer caused the discont to be on the wrong
buffers.
2017-02-10 21:41:29 +01:00
Vineeth TM
44b70ca3a1
base: use new gst_element_class_add_static_pad_template()
...
https://bugzilla.gnome.org/show_bug.cgi?id=763075
2016-03-24 14:25:41 +02:00
Tim-Philipp Müller
ec5c93f169
docs: update element example pipelines
...
- gst-launch -> gst-launch-1.0
- use autoaudiosink and audiovideosink more often
- review pipeline examples and descriptions
2015-05-10 11:38:19 +01:00
Arun Raghavan
dfdbc1c379
adder: Drop custom latency querying logic
...
The default latency query handler now implements the same logic already.
2015-02-27 00:52:05 +05:30
Sebastian Dröge
8547594727
Improve and fix LATENCY query handling
...
This now follows the design docs everywhere, especially the maximum latency
handling.
https://bugzilla.gnome.org/show_bug.cgi?id=744106
2015-02-11 17:53:49 +02:00
Sebastian Dröge
90eb93c2ef
Don't compare booleans for equality to TRUE and FALSE
...
TRUE is 1, but every other non-zero value is also considered true. Comparing
for equality with TRUE would only consider 1 but not the others.
2014-12-01 09:51:12 +01:00
Tim-Philipp Müller
bcb8068e27
docs: remove outdated and pointless 'Last reviewed' lines from docs
...
They are very confusing for people, and more often than not
also just not very accurate. Seeing 'last reviewed: 2005' in
your docs is not very confidence-inspiring. Let's just remove
those comments.
2014-04-26 23:28:57 +01:00
Mathieu Duponchelle
6954d2167c
adder: rework the logic to check if eos has to be sent.
...
Checking the size available was incorrect, and the infos
for per-pad EOS are available.
Same logic as audiomixer.
fixes: https://bugzilla.gnome.org/show_bug.cgi?id=727025
2014-04-08 13:48:27 +02:00
Stefan Sauer
6cc7204f95
adder: 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:30:28 +01:00
MathieuDuponchelle
f330c01412
adder: 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-09-28 13:32:58 +02:00
Mathieu Duponchelle
663f71a5dd
adder: send pending segment out before checking for EOS
...
Otherwise there would be cases where it would not send its segment
out when the first collected after getting it would already yield EOS.
https://bugzilla.gnome.org/show_bug.cgi?id=708590
2013-09-24 10:04:37 +02:00
Thibault Saunier
4afdc04089
adder: Raw buffers DTS should always be CLOCK_TIME_NONE
2013-08-06 15:11:05 +02:00
Thibault Saunier
a174ff25bc
adder: set DTS and PTS, sync on DTS
2013-08-06 12:25:44 +02:00
Thibault Saunier
38790e5757
adder: Do not send flush_start event with the stream lock taken
...
FLUSH_START is not serialized, so the lock should not be taken when
sending it.
2013-07-04 22:10:13 -04:00
Sebastian Dröge
15375861b5
adder: Reject segments that have a different rate than the output segment
...
adder does no rate conversion.
2013-06-09 19:20:20 +02:00
Sebastian Dröge
cc5a476fc6
adder: Add GstChildProxy interface for the sinkpads
...
This allows to set the sinkpad properties more easily.
Next step: Implement proper synchronization in adder, almost done!
2013-05-30 23:56:52 +02:00
Sebastian Dröge
349174b48e
adder: Hold object lock in setcaps a bit longer to prevent race conditions
2013-05-30 23:56:52 +02:00
Sebastian Dröge
dde8d8919d
adder: Simplify segment event handling
...
We don't care about upstream segments but generate our own. This
makes the code more similar to videomixer again.
2013-05-30 23:56:52 +02:00
Sebastian Dröge
2953810ba5
adder: Use gst_audio_info_is_equal() to check if we get the same caps
2013-05-30 23:56:52 +02:00
Sebastian Dröge
0693b78e86
adder: Don't calls gst_pad_set_caps() on sinkpads
...
It doesn't make much sense and the CAPS query handling
on the sinkpads should handle this.
2013-05-30 23:56:52 +02:00
Sebastian Dröge
5e63a0f674
adder: Set GAP flag on silence buffers we created
2013-05-30 23:56:52 +02:00
Sebastian Dröge
667b856cbc
adder: Remove caching of the processing function
...
The compiler will generate a hashtable from the switch-case, and
we need to call functions explicitely for the volume!=1.0 cases
anyway.
2013-05-30 23:56:52 +02:00
Sebastian Dröge
a76ade2d78
adder: Add support for per-stream volumes
2013-05-30 23:56:52 +02:00
Sebastian Dröge
addb07bc58
adder: Add optimized orc code for F64 processing
2013-05-30 23:56:52 +02:00
Sebastian Dröge
308c8fef68
adder: The output buffer must be readable and writable
2013-05-30 23:56:51 +02:00
Sebastian Dröge
509246cbac
adder: Add support for muting individual pads
2013-05-30 23:56:51 +02:00
Sebastian Dröge
3974379a7f
adder: Sync pad properties with the GstController
2013-05-30 23:56:51 +02:00
Sebastian Dröge
561ce54b27
adder: Add custom GstPad subclass to hold additional data and properties
...
This will later allow to set per-stream volumes and mute status.
2013-05-30 23:56:51 +02:00
Thibault Saunier
372eddf00e
adder: Get collectpad stream lock when fowarding flush events
...
Fixes #698410
2013-05-02 12:29:48 +01:00
Thibault Saunier
fbe80a688d
adder: Do not try to wait for flush_stop after receiving a segment event
...
+ Add a simple test
2013-04-21 16:11:41 +02:00
Stefan Sauer
60ccc2f17f
adder: add a missing break
2013-03-11 22:46:45 +01:00
Stefan Sauer
e2d0a1835b
adder: don't discard the flush-start events
...
This reverts one more part of a86ca535c8
and
hopefully fixes #694553 for good.
2013-02-27 22:07:11 +01:00
Stefan Sauer
13e8c9878a
adder: fix looping
...
Use gst_segment_do_seek() and clip position before updating the segment.
2013-02-27 22:07:11 +01:00
Stefan Sauer
8ea1f331b3
adder: remove defines we don#t use anymore
2013-02-27 22:07:11 +01:00
Stefan Sauer
1504153012
adder: mark pending flush-stop on segment event
...
Also add more debug logging. Fixes #694553 .
2013-02-25 19:55:00 +01:00
Stefan Sauer
a86ca535c8
adder: ensure sending a flush-stop after flush-start
...
Previously adder was only sending the flush-stop, when it saw the flushing seek.
If one sends a flushing see direcly to an element upstream of adder, it would
fail to unflush the downstream pads.
2013-02-21 10:11:32 +01:00
Stefan Sauer
cff9fccc69
adder: use the collect_pads_query func
...
We were setting the query-func on the sink-pad, which got overwritten when
adding the new pad to collect pads. Instead register our query-func with the
collect pads object. This fixes filter caps. Add a test for it.
2013-02-13 21:11:41 +01:00
Tim-Philipp Müller
5f59b4f7ee
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 23:05:09 +00:00
Tim-Philipp Müller
cec6d634b6
adder: send stream-start event, and send caps event after stream-start
...
Delay sending of caps event so that it is sent only after
the stream-start event.
2012-09-23 13:31:17 +01:00
Stefan Sauer
b9054de15c
collectpads: remove gst_collect_pads_add_pad_full
...
Rename gst_collect_pads_add_pad_full() to gst_collect_pads_add_pad() and fix all
invocations.
2012-09-12 21:03:21 +02:00
Tim-Philipp Müller
24478261a2
adder: send CAPS event downstream fixing not-negotiated errors
...
Make sure to send a CAPS event downstream when we get our
first input caps. This fixes not-negotiated errors and
adder use with downstream elements other than fakesink.
Even gst-launch-1.0 audiotestsrc ! adder ! pulsesink works now.
Also, flag the other sink pads as FIXED_CAPS when we receive
the first CAPS event on one of the sink pads (in addition to
setting those caps on the the sink pads), so that a caps query
will just return the fixed caps from now on.
There's still a race between other upstreams checking if
caps are accepted and sending a first buffer with possibly
different caps than the first caps we receive on some other
pad, but such is life.
Also need to take into account optional fields better/properly.
https://bugzilla.gnome.org/show_bug.cgi?id=679545
2012-08-05 00:41:10 +01:00
Wim Taymans
ebb4116412
adder: prefix orc functions with adder_orc_
2012-07-23 17:27:46 +02:00
Mark Nauwelaerts
a008aa0b46
collectpads2: rename to collectpads
2012-04-17 15:09:58 +02:00
Mark Nauwelaerts
b1a90e43c8
adder: correctly adjust to modified collectpads2 event handling
2012-04-17 13:50:29 +02:00
Mark Nauwelaerts
1f995a1c7e
adder: chain up to collectpads event handler
2012-04-16 16:30:38 +02:00