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
Tim-Philipp Müller
3c6a3ad629
Use new gst_element_class_set_static_metadata()
2012-04-10 00:45:16 +01:00
Sebastian Dröge
ad42b16375
gst: Update for GST_PLUGIN_DEFINE() API change
2012-04-05 15:11:05 +02:00
Mark Nauwelaerts
481b1beece
adder: event handling and leak fixes
2012-04-03 18:31:24 +02:00
Wim Taymans
dd819ddc6b
orc: avoid precompilation
...
Avoid compiling all the functions at startup but compile only what's needed when
needed.
2012-03-20 15:37:42 +01:00
Sebastian Dröge
f7939bb43f
Merge branch 'master' into 0.11
...
Conflicts:
NEWS
RELEASE
configure.ac
docs/plugins/gst-plugins-base-plugins.args
docs/plugins/gst-plugins-base-plugins.hierarchy
docs/plugins/gst-plugins-base-plugins.interfaces
docs/plugins/inspect/plugin-adder.xml
docs/plugins/inspect/plugin-alsa.xml
docs/plugins/inspect/plugin-app.xml
docs/plugins/inspect/plugin-audioconvert.xml
docs/plugins/inspect/plugin-audiorate.xml
docs/plugins/inspect/plugin-audioresample.xml
docs/plugins/inspect/plugin-audiotestsrc.xml
docs/plugins/inspect/plugin-cdparanoia.xml
docs/plugins/inspect/plugin-encoding.xml
docs/plugins/inspect/plugin-ffmpegcolorspace.xml
docs/plugins/inspect/plugin-gdp.xml
docs/plugins/inspect/plugin-gio.xml
docs/plugins/inspect/plugin-gnomevfs.xml
docs/plugins/inspect/plugin-libvisual.xml
docs/plugins/inspect/plugin-ogg.xml
docs/plugins/inspect/plugin-pango.xml
docs/plugins/inspect/plugin-playback.xml
docs/plugins/inspect/plugin-subparse.xml
docs/plugins/inspect/plugin-tcp.xml
docs/plugins/inspect/plugin-theora.xml
docs/plugins/inspect/plugin-typefindfunctions.xml
docs/plugins/inspect/plugin-uridecodebin.xml
docs/plugins/inspect/plugin-videorate.xml
docs/plugins/inspect/plugin-videoscale.xml
docs/plugins/inspect/plugin-videotestsrc.xml
docs/plugins/inspect/plugin-volume.xml
docs/plugins/inspect/plugin-vorbis.xml
docs/plugins/inspect/plugin-ximagesink.xml
docs/plugins/inspect/plugin-xvimagesink.xml
gst-libs/gst/app/gstappsink.c
gst-libs/gst/audio/mixer.c
gst-libs/gst/audio/mixer.h
gst-libs/gst/tag/gstxmptag.c
gst-libs/gst/video/colorbalance.c
gst-libs/gst/video/colorbalance.h
gst/adder/gstadder.c
gst/playback/gstplaybasebin.c
gst/playback/gstplaybin2.c
gst/playback/gstplaysink.c
gst/videoscale/gstvideoscale.c
tests/check/elements/videoscale.c
tests/examples/seek/seek.c
tests/examples/v4l/probe.c
win32/common/_stdint.h
win32/common/audio-enumtypes.c
win32/common/config.h
2012-03-02 10:00:55 +01:00
Stefan Sauer
44ff1b3b89
adder: drop newsegment events on sink-pads
...
Adder is sending an own newsegment event on the src pad.
2012-02-29 21:54:49 +01:00
Stefan Sauer
ce1b1d82e3
adder: sink event handling fix
...
Turn _sink_event() into the collectpads event function and merge the logic from
the recently added gst_adder_event. Drop flush_start events as we allready
handle them on the src-pad side. Fixes #670850 .
2012-02-28 20:54:54 +01:00
Stefan Sauer
3975c10907
adder: include event name in log message
2012-02-27 12:04:38 +01:00
Olivier Crête
e391118125
Use macros to register boxed types thread safely
2012-01-28 14:53:21 +00:00
Sebastian Dröge
c07271ea02
adder: Update for new collectpads2 event handling API
2012-01-26 10:45:53 +01:00
Edward Hervey
0c60a5c7a3
adder: Remove deprecation disabling
...
It's actually fixed in 0.11
2012-01-25 15:02:09 +01:00
Edward Hervey
47fc70ea79
Suppress deprecations in selected files
2012-01-25 14:49:44 +01:00