Commit graph

200 commits

Author SHA1 Message Date
Wim Taymans
b44a5c8dc7 adder: don't hold object lock when calling peer elements
Do not hold the object lock while we call methods on peer elements as this can
lead to deadlocks.

Fixes #608179
2010-01-28 17:43:47 +01:00
Wim Taymans
775636e734 adder: be a lot smarter with buffer management
Detect EOS faster.
Try to reuse one of the input buffer as the output buffer. This usually works
and avoids an allocation and a memcpy.
Be smarter with GAP buffers so that they don't get mixed or cleared at all. Also
try to use a GAP buffer as the output buffer when all input buffers are GAP
buffers.
2009-12-24 19:56:55 +01:00
Wim Taymans
59ace1b9ee adder: use collectpads clipping function
Install a clipping function in the collectpads and use the audio clipping helper
function to perform clipping to the segment boundaries.

Fixes #590265
2009-12-24 16:30:23 +01:00
Wim Taymans
66ae01eced adder: fix juvenile comment 2009-12-24 13:58:52 +01:00
Stefan Kost
3d73a7458a adder: make events succeed, if they succed on atleast one pad 2009-11-19 21:28:23 +02:00
Tim-Philipp Müller
6f4c1ac583 Remove GST_DEBUG_FUNCPTR where they're pointless
There's not much point in using GST_DEBUG_FUNCPTR with GObject
virtual functions such as get_property, set_propery, finalize and
dispose, since they'll never be used by anyone anyway. Saves a
few bytes and possibly a sixteenth of a polar bear.
2009-10-28 00:59:35 +00:00
Stefan Kost
e7368354d5 adder: improve caps filter functionality. Fixes #590146.
Also use the capsfilter if there is no src-peer as the caps constrain what
we can do. Don't create any_caps as a default, as we check for NULL to skip the
filtering. This is a (small) performance regression as we always intersect
otherwise.
2009-08-31 22:48:01 +03:00
Edward Hervey
8cd1b5209b gst: Remove dead assignments and resulting unused variables 2009-08-08 15:54:02 +02:00
Stefan Kost
7205bbc031 adder: reset pending flush-stop flag in state_changed. (mostly) Fixes #590146. 2009-07-30 13:45:42 +03:00
Edward Hervey
3708ca37a8 gstadder: Don't forget to free pending events on flush/dispose.
Fixes #588747
2009-07-20 12:42:32 +02:00
Edward Hervey
50b0cf2c03 adder: Collect incoming tag events and send them after newsegment. Fixes #588747 2009-07-19 10:49:17 +02:00
Stefan Kost
94baad7490 adder: add since tags to docs 2009-07-10 23:27:11 +01:00
Stefan Kost
725bd20045 adder: add a caps-property to avoid to need to plug a capsfilter afterwards
Adder can only handle one common format accross the pads. Thus one needed to add
a capsfilter afterwards and manage the caps. Now one can simply set the caps on
the property.
2009-07-10 20:06:28 +01:00
Stefan Kost
da27fd57e8 adder: keep sending newsegments after seeking
Adder sends with timestamps from 0 upwards. After seeking we need to send
new-segments to get correct positions-queries.
2009-07-06 22:35:14 +01:00
Edward Hervey
c3adf88621 adder: Call set_flushing(TRUE) for flushing seeks *when* the streaming is stopped.
This ensures that collectpads' cookie is properly updated so that when the streaming
threads will restart and be checking for the flushing status of all pads there will
be no inconsistent state.
2009-07-05 21:32:20 +02:00
Wim Taymans
09737d728b adder: only unflush when we flushed before
Ass suggested by Stefan Kost:
Keep track of when the sinkpad was set to flushing and unflush the pad when an
upstream flushing seek failed.
2009-06-23 18:08:44 +02:00
Wim Taymans
85dbf93515 adder: more seeking fixes.
When a seek failed upstream, make sure the adder sinkpad is set unflushing again
so that streaming can continue.
We only have a pending segment when we flushed.
Set the flush_stop_pending flag inside the appropriate locks and before we
attempt to perform the upstream seek.
Add some more comments.
Use the right lock to protect the flags in flush_stop.

See #585708
2009-06-17 11:22:51 +02:00
Stefan Kost
fd36634f88 adder: send flush_stop when seeking failed
At least do the fix to sent the flush_stop when seeking failed to ensure we
keep no pads flushing. before it was send when the seeking worked which is just
plain wrong and was not the intention.
2009-06-15 11:45:19 +03:00
Wim Taymans
45084bf579 adder: send flush-stop earlier
When no flush-stop has been sent by upstream, we have to send one ourselves to
continue playback. Do this as soon as the collect function is called instead of
after we possibly pushed segment events (that got then flushed out)
2009-06-12 16:31:00 +02:00
Stefan Kost
4228ba0c6b adder: only send flush_stop when seek failed
This is still not the ultimate fix. Added some comment to explain the troubles.
2009-05-19 18:44:01 +03:00
Stefan Kost
ef56ebad48 adder: send flush_stop to match flush_start
Adder was relying that something else sends a flush stop. When using adder with
a livesource it was not getting a flush_stop and thus all pads downstream where
keept flushing. Mark a pending flush_stop and send it when we are working on
the new segment back in the streaming thread.
2009-05-19 16:49:35 +03:00
Stefan Kost
c94f952056 adder: add more logging and return value checking 2009-05-19 01:13:34 +03:00
Stefan Kost
705b01aa93 adder: handle the return value from iterator_fold 2009-05-19 01:11:45 +03:00
Stefan Kost
591fbbcea7 adder: use the pad in logging as objects
Helps to differenciate between source and sinks pads.
2009-05-19 01:03:44 +03:00
Stefan Kost
e633c46e95 adder: log details in getcaps like in setcaps 2009-03-10 21:14:43 +02:00
Stefan Kost
79771eaba7 adder: add variants for unsigned to fix warnings for unneeded check
For unsigned int out+in can't be < 0.
2009-03-05 12:27:16 +02:00
Jan Schmidt
6b1e08f277 Don't do void pointer arithmetic. 2009-01-30 17:16:39 +00:00
Stefan Kost
5a30245c38 gst/adder/: Cleanup variable names to make the adder-loop easier to understand.
Original commit message from CVS:
* gst/adder/Makefile.am:
* gst/adder/gstadder.c:
Cleanup variable names to make the adder-loop easier to understand.
Also try to use liboil to spee it up, but ifdef it out as it does not
make any change for me (Intel pentim M (sse,sse2) please try on other
systems).
2008-12-17 08:51:34 +00:00
Thomas Vander Stichele
9b6f3ad0c8 gst/adder/gstadder.c: Change author string after seeing output of gst-inspector.
Original commit message from CVS:
* gst/adder/gstadder.c:
Change author string after seeing output of gst-inspector.
2008-11-10 13:55:08 +00:00
Stefan Kost
2cd4c7e2b9 Don't install static libs for plugins. Fixes #550851 for base.
Original commit message from CVS:
* ext/alsa/Makefile.am:
* ext/cdparanoia/Makefile.am:
* ext/gio/Makefile.am:
* ext/gnomevfs/Makefile.am:
* ext/libvisual/Makefile.am:
* ext/ogg/Makefile.am:
* ext/pango/Makefile.am:
* ext/theora/Makefile.am:
* ext/vorbis/Makefile.am:
* gst/adder/Makefile.am:
* gst/audioconvert/Makefile.am:
* gst/audiorate/Makefile.am:
* gst/audioresample/Makefile.am:
* gst/audiotestsrc/Makefile.am:
* gst/ffmpegcolorspace/Makefile.am:
* gst/gdp/Makefile.am:
* gst/playback/Makefile.am:
* gst/subparse/Makefile.am:
* gst/tcp/Makefile.am:
* gst/typefind/Makefile.am:
* gst/videorate/Makefile.am:
* gst/videoscale/Makefile.am:
* gst/videotestsrc/Makefile.am:
* gst/volume/Makefile.am:
* sys/v4l/Makefile.am:
* sys/ximage/Makefile.am:
* sys/xvimage/Makefile.am:
Don't install static libs for plugins. Fixes #550851 for base.
2008-10-16 15:07:00 +00:00
Stefan Kost
7c2a26c9ed gst/adder/gstadder.c: Cleanup lots of empty lines that came from gst-indent going havoc before I added the INDENT_ON/...
Original commit message from CVS:
* gst/adder/gstadder.c:
Cleanup lots of empty lines that came from gst-indent going havoc
before I added the INDENT_ON/OFF marker some time agao.
2008-08-01 13:06:59 +00:00
Stefan Kost
2b33c755b6 Cleanup Plugin docs. Link to signals and properties. Fix sub-section titles. Drop mentining that all our example pipe...
Original commit message from CVS:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-overrides.txt:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* docs/plugins/gst-plugins-base-plugins.args:
* docs/plugins/gst-plugins-base-plugins.hierarchy:
* docs/plugins/gst-plugins-base-plugins.interfaces:
* docs/plugins/gst-plugins-base-plugins.prerequisites:
* docs/plugins/gst-plugins-base-plugins.signals:
* docs/plugins/inspect/plugin-adder.xml:
* docs/plugins/inspect/plugin-alsa.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-decodebin.xml:
* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
* docs/plugins/inspect/plugin-gdp.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-queue2.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-video4linux.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:
* ext/alsa/gstalsamixer.c:
* ext/alsa/gstalsasink.c:
* ext/alsa/gstalsasrc.c:
* ext/gio/gstgiosink.c:
* ext/gio/gstgiosrc.c:
* ext/gio/gstgiostreamsink.c:
* ext/gio/gstgiostreamsrc.c:
* ext/gnomevfs/gstgnomevfssink.c:
* ext/gnomevfs/gstgnomevfssrc.c:
* ext/ogg/gstoggdemux.c:
* ext/ogg/gstoggmux.c:
* ext/pango/gstclockoverlay.c:
* ext/pango/gsttextoverlay.c:
* ext/pango/gsttextrender.c:
* ext/pango/gsttimeoverlay.c:
* ext/theora/theoradec.c:
* ext/theora/theoraenc.c:
* ext/theora/theoraparse.c:
* ext/vorbis/vorbisdec.c:
* ext/vorbis/vorbisenc.c:
* ext/vorbis/vorbisparse.c:
* ext/vorbis/vorbistag.c:
* gst/adder/gstadder.c:
* gst/audioconvert/gstaudioconvert.c:
* gst/audioresample/gstaudioresample.c:
* gst/audiotestsrc/gstaudiotestsrc.c:
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
* gst/gdp/gstgdpdepay.c:
* gst/gdp/gstgdppay.c:
* gst/playback/gstdecodebin2.c:
* gst/playback/gstplaybin.c:
* gst/playback/gstplaybin2.c:
* gst/playback/gstqueue2.c:
* gst/playback/gsturidecodebin.c:
* gst/tcp/gstmultifdsink.c:
* gst/tcp/gsttcpserversink.c:
* gst/videorate/gstvideorate.c:
* gst/videoscale/gstvideoscale.c:
* gst/videotestsrc/gstvideotestsrc.c:
* gst/volume/gstvolume.c:
* sys/ximage/ximagesink.c:
* sys/xvimage/xvimagesink.c:
Cleanup Plugin docs. Link to signals and properties. Fix sub-section
titles. Drop mentining that all our example pipelines are "simple"
pipelines.
2008-07-10 21:06:06 +00:00
Stefan Kost
e0d27d23cc gst/adder/gstadder.c: Use GST_DEBUG_FUNCPTR and remove some extra vlnak lines.
Original commit message from CVS:
* gst/adder/gstadder.c:
Use GST_DEBUG_FUNCPTR and remove some extra vlnak lines.
2008-06-29 13:45:27 +00:00
Sebastian Dröge
1d37b272ce gst/adder/gstadder.c: When using gst_element_iterate_pads() one has to unref every pad after usage.
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_query_duration),
(gst_adder_query_latency):
When using gst_element_iterate_pads() one has to unref every pad
after usage.
2008-06-02 12:20:35 +00:00
Sebastian Dröge
57c3aa9b66 gst/adder/gstadder.c: Implement latency query.
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_query_duration),
(gst_adder_query_latency), (gst_adder_query):
Implement latency query.
2008-05-28 08:14:47 +00:00
Sebastian Dröge
4ccac97b40 gst/adder/gstadder.c: Correctly resync the iterator if gst_iterator_next() returns
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_query_duration):
Correctly resync the iterator if gst_iterator_next() returns
GST_ITERATOR_RESYNC.
2008-05-27 18:10:00 +00:00
Sebastian Dröge
e66b0a6642 gst/adder/gstadder.c: Adder also doesn't support audio/x-raw-int with width!=depth so don't claim this on the pad tem...
Original commit message from CVS:
* gst/adder/gstadder.c:
Adder also doesn't support audio/x-raw-int with width!=depth so don't
claim this on the pad template caps.
2008-05-21 05:48:05 +00:00
Sebastian Dröge
05cf63634e gst/adder/gstadder.c: Adder doesn't support 24 bit samples so don't claim it supports them in the pad template caps.
Original commit message from CVS:
* gst/adder/gstadder.c:
Adder doesn't support 24 bit samples so don't claim it supports them
in the pad template caps.
2008-05-16 21:12:02 +00:00
Sebastian Dröge
6720c5beb8 gst/adder/gstadder.c: Correctly declare the supported endianness on the pad templates and check for correct endiannes...
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_setcaps),
(gst_adder_class_init):
Correctly declare the supported endianness on the pad templates
and check for correct endianness in the set caps function. Adder
only supports native endianness.
Also use gst_element_class_set_details_simple().
2008-05-14 10:58:52 +00:00
Stefan Kost
054842ca82 configure.ac: Require CVS of core for new API in collectpads.
Original commit message from CVS:
* configure.ac:
Require CVS of core for new API in collectpads.
* gst/adder/gstadder.c:
Use new API to make adder sparse stream aware.
2008-02-18 13:51:34 +00:00
Wim Taymans
d42ca1fd83 gst/adder/gstadder.c: Make getcaps more robust by not using the proxycaps function. This makes sure that we don't end...
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_sink_getcaps),
(gst_adder_request_new_pad):
Make getcaps more robust by not using the proxycaps function. This makes
sure that we don't end up recursively calling getcaps upstream.
See #316248.
2007-07-03 11:52:47 +00:00
Stefan Kost
736a5c082f gst/adder/gstadder.c (gst_adder_src_event, gst_adder_collected, gst_adder_change_state): gst/adder/gstadder.h (bps, o...
Original commit message from CVS:
* gst/adder/gstadder.c (gst_adder_src_event, gst_adder_collected,
gst_adder_change_state):
* gst/adder/gstadder.h (bps, offset, collect_event, segment,
segment_pending, segment_position, segment_rate):
Handle playback-rate on adder.
2007-05-08 19:24:01 +00:00
Stefan Kost
64a9674bd2 gst/: gst/audiotestsrc/gstaudiotestsrc.c
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
* gst/adder/gstadder.c:
* gst/audiotestsrc/gstaudiotestsrc.c
(gst_audio_test_src_create_white_noise):
* gst/videotestsrc/gstvideotestsrc.c:
* gst/volume/gstvolume.c (VOLUME_UNITY_INT16,
VOLUME_UNITY_INT16_BIT_SHIFT, VOLUME_MAX_DOUBLE,
volume_sink_template, volume_src_template, gst_volume_init,
volume_process_double, volume_process_int16,
volume_process_int16_clamp):
Doc fixes and formatting.
2007-05-04 13:10:07 +00:00
Stefan Kost
d24aff28b2 gst/adder/gstadder.c: Fix non-flushing segmented seeks, Fixes #340060 for me
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_setcaps), (gst_adder_src_event),
(gst_adder_sink_event), (gst_adder_collected):
Fix non-flushing segmented seeks, Fixes #340060 for me
2007-04-23 20:04:28 +00:00
Stefan Kost
b2f9c0f289 More docs coverage and some ChangeLog surgery (add missing names)
Original commit message from CVS:
* ext/cdparanoia/gstcdparanoiasrc.h:
* ext/ogg/gstoggdemux.h:
* gst-libs/gst/audio/audio.c: (gst_audio_frame_byte_size),
(gst_audio_frame_length), (gst_audio_duration_from_pad_buffer),
(gst_audio_is_buffer_framed), (gst_audio_structure_set_int):
* gst-libs/gst/audio/audio.h:
* gst-libs/gst/audio/gstaudiofilter.h:
* gst-libs/gst/interfaces/videoorientation.h:
* gst/adder/gstadder.h:
More docs coverage and some ChangeLog surgery (add missing names)
2007-02-15 15:17:23 +00:00
Thomas Vander Stichele
95ada43982 configure.ac: split out GST_CFLAGS into GST_PLUGINS_BASE_CFLAGS and GST_CFLAGS so that GST_BASE_CFLAGS can go inbetwe...
Original commit message from CVS:
* configure.ac:
split out GST_CFLAGS into GST_PLUGINS_BASE_CFLAGS and GST_CFLAGS
so that GST_BASE_CFLAGS can go inbetween them, making sure
we use uninstalled gst-libs headers
* docs/libs/Makefile.am:
* ext/alsa/Makefile.am:
* ext/cdparanoia/Makefile.am:
* ext/gnomevfs/Makefile.am:
* ext/libvisual/Makefile.am:
* ext/ogg/Makefile.am:
* ext/theora/Makefile.am:
* ext/vorbis/Makefile.am:
* gst-libs/gst/audio/Makefile.am:
* gst-libs/gst/cdda/Makefile.am:
* gst-libs/gst/interfaces/Makefile.am:
* gst-libs/gst/riff/Makefile.am:
* gst-libs/gst/rtp/Makefile.am:
* gst-libs/gst/tag/Makefile.am:
* gst/adder/Makefile.am:
* gst/audioconvert/Makefile.am:
* gst/audiorate/Makefile.am:
* gst/audioresample/Makefile.am:
* gst/playback/Makefile.am:
* gst/tcp/Makefile.am:
* gst/videoscale/Makefile.am:
* gst/volume/Makefile.am:
* sys/ximage/Makefile.am:
* sys/xvimage/Makefile.am:
* tests/icles/Makefile.am:
adapt
2007-01-04 12:49:48 +00:00
Stefan Kost
fae581d596 gst/: remove obsolete _factory_init protos
Original commit message from CVS:
* gst/adder/gstadder.h:
* gst/audiotestsrc/gstaudiotestsrc.h:
remove obsolete _factory_init protos
2006-11-24 08:56:10 +00:00
Tim-Philipp Müller
6863a09803 gst/adder/gstadder.c: Fix build.
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_src_event):
Fix build.
2006-08-31 14:37:33 +00:00
Edward Hervey
814b9a530e gst/adder/gstadder.*: Remember the start position asked in the incoming seeks, so we can output GST_EVENT_NEW_SEGMENT...
Original commit message from CVS:
* gst/adder/gstadder.c: (forward_event_func),
(gst_adder_src_event), (gst_adder_collected),
(gst_adder_change_state):
* gst/adder/gstadder.h:
Remember the start position asked in the incoming seeks, so we can
output GST_EVENT_NEW_SEGMENT with a correct position value (instead
of assuming it will always be 0).
2006-08-31 12:39:17 +00:00
Wim Taymans
977f089d84 gst/adder/gstadder.c: Don't clip float values. Fixes #350900.
Original commit message from CVS:
* gst/adder/gstadder.c:
Don't clip float values. Fixes #350900.
2006-08-11 15:53:43 +00:00
Wim Taymans
157124eacb gst/adder/gstadder.c: Fix leak in duration query.
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_setcaps),
(gst_adder_query_duration):
Fix leak in duration query.
Reflow some docs and notes.
2006-07-28 14:14:58 +00:00
Wim Taymans
28cbbee0fb gst/adder/gstadder.*: Implement release_request_pad.
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_class_init), (gst_adder_init),
(gst_adder_request_new_pad), (gst_adder_release_pad):
* gst/adder/gstadder.h:
Implement release_request_pad.
Make padcounter atomic.
* tests/check/elements/adder.c: (GST_START_TEST), (adder_suite):
Added check for release_pad in adder.
2006-05-30 16:07:50 +00:00
Wim Taymans
444f73582d gst/adder/gstadder.c: Don't leak pad name.
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_request_new_pad):
Don't leak pad name.
2006-05-29 17:19:48 +00:00
Wim Taymans
b375dde1a7 gst/adder/gstadder.c: Fix adder seeking.
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_query_duration),
(forward_event_func), (forward_event), (gst_adder_src_event):
Fix adder seeking.
Make query/seeking code threadsafe.
* tests/check/Makefile.am:
* tests/check/elements/adder.c: (test_event_message_received),
(GST_START_TEST), (test_play_twice_message_received):
Fix adder test case.
2006-05-29 15:49:53 +00:00
Stefan Kost
213de86586 gst/adder/gstadder.c: Make it easier to copy&paste
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_get_type):
Make it easier to copy&paste
* gst/volume/Makefile.am:
* gst/volume/gstvolume.c: (volume_update_real_volume),
(gst_volume_set_volume), (gst_volume_set_mute),
(gst_volume_class_init), (volume_process_int16), (volume_set_caps),
(volume_transform_ip), (volume_update_mute),
(volume_update_volume):
* gst/volume/gstvolume.h:
Add own debug category, move duplicate code to helper function, fix
property texts, add more comments and prepare ffor liboil-goodness
* tests/check/Makefile.am:
* tests/check/elements/volume.c: (GST_START_TEST), (volume_suite):
add test for mute and passtrough case, be a bit more verbose to track
failure
* tests/check/generic/states.c: (GST_START_TEST):
catch elements that fail to instantiate
2006-05-28 19:42:27 +00:00
Wim Taymans
f96d80accc gst/adder/gstadder.*: Updated some docs. Added comments and FIXMEs all over the place.
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_setcaps),
(gst_adder_query_duration), (gst_adder_query), (forward_event),
(gst_adder_src_event), (gst_adder_sink_event),
(gst_adder_class_init), (gst_adder_finalize),
(gst_adder_request_new_pad), (gst_adder_collected):
* gst/adder/gstadder.h:
Updated some docs. Added comments and FIXMEs all over the place.
Improve debugging info.
Fix leak on finalize by not calling the parent.
Implement duration query.
Make event forwarding threadsafe.
Correctly send NEWSEGMENT at start and after flush.
Handle EOS correctly.
Post error when not negotiated.
* tests/check/elements/adder.c: (GST_START_TEST):
Added FIXME in the test.
2006-05-10 11:54:36 +00:00
Wim Taymans
758b974cbb gst/adder/gstadder.*: Remove bogus segment merging and forwarding, we don't care about timestamps anyway and we just ...
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_request_new_pad),
(gst_adder_collected):
* gst/adder/gstadder.h:
Remove bogus segment merging and forwarding, we don't
care about timestamps anyway and we just produce a
continuous stream.
Also create a nice NEWSEGMENT event when we start.
Use _scale_int some more.
2006-05-09 16:14:49 +00:00
Stefan Kost
458c6c06b8 Add sink-event handling to adder. It tries to merge incomming newsegment-events. Added test to check if segment_done ...
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_sink_event),
(gst_adder_request_new_pad), (gst_adder_change_state):
* gst/adder/gstadder.h:
* tests/check/Makefile.am:
* tests/check/elements/adder.c: (event_loop), (GST_START_TEST),
(adder_suite), (main):
Add sink-event handling to adder. It tries to merge incomming
newsegment-events. Added test to check if segment_done is comming
through.
2006-05-07 16:39:36 +00:00
Stefan Kost
fab87c6e15 gst/adder/gstadder.c: send events from src-pad to all sink-pads fixes #338657
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_setcaps), (gst_adder_src_event),
(gst_adder_init):
send events from src-pad to all sink-pads fixes #338657
2006-04-28 19:17:06 +00:00
Stefan Kost
d3d0358bfa use DEBUG_FUNCPTR for collectpads
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_init):
* gst/adder/gstadder.c: (gst_adder_init):
use DEBUG_FUNCPTR for collectpads
2006-03-24 17:11:53 +00:00
Stefan Kost
2d826700fa Add docs for adder, use GST_ELEMENT_DETAILS macro, define GstElementDetails at the top
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* ext/cdparanoia/gstcdparanoiasrc.c:
* ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_base_init),
(gst_gnome_vfs_sink_class_init):
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_base_init):
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_base_init):
* ext/ogg/gstoggmux.c:
* ext/ogg/gstoggparse.c: (gst_ogg_parse_base_init):
* ext/ogg/gstogmparse.c: (gst_ogm_audio_parse_base_init),
(gst_ogm_video_parse_base_init), (gst_ogm_text_parse_base_init):
* ext/pango/gsttextoverlay.c:
* ext/pango/gsttextrender.c:
* ext/theora/theoradec.c:
* ext/theora/theoraenc.c:
* ext/vorbis/vorbisdec.c:
* ext/vorbis/vorbisenc.c:
* gst-libs/gst/audio/gstaudiofilter.c:
(gst_audio_filter_base_init):
* gst-libs/gst/audio/gstaudiofiltertemplate.c:
(gst_audio_filter_template_base_init):
* gst/adder/gstadder.c: (gst_adder_get_type):
* gst/adder/gstadder.h:
* gst/audioconvert/gstaudioconvert.c:
* gst/audiotestsrc/gstaudiotestsrc.c:
(gst_audiostestsrc_wave_get_type), (gst_audio_test_src_class_init),
(gst_audio_test_src_create):
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
* gst/playback/gstdecodebin.c:
* gst/playback/gstplaybin.c:
* gst/playback/gststreamselector.c:
(gst_stream_selector_base_init):
* gst/subparse/gstsubparse.c: (gst_sub_parse_base_init):
* gst/volume/gstvolume.c:
* sys/v4l/gstv4lmjpegsink.c:
* sys/v4l/gstv4lmjpegsrc.c:
* tests/check/libs/cddabasesrc.c:
* tests/old/examples/gob/gst-identity2.gob:
Add docs for adder, use GST_ELEMENT_DETAILS macro,
define GstElementDetails at the top
2006-03-24 10:42:11 +00:00
Christophe Fergeau
66db4c0a0a closes #333510.
Original commit message from CVS:
* ext/pango/gsttextoverlay.c: (gst_text_overlay_init):
* ext/pango/gsttextrender.c: (gst_text_render_init):
* gst/adder/gstadder.c: (gst_adder_init):
Don't leak padtemplates, patch by Christophe Fergeau,
closes #333510.
2006-03-09 15:05:03 +00:00
Tim-Philipp Müller
41e4f03f9b Pass unhandled queries upstream instead of just dropping them (#326447). Also, fix supported query types list for som...
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_query_types),
(gst_ogg_pad_src_query):
* ext/ogg/gstogmparse.c: (gst_ogm_parse_sink_query):
* ext/theora/theoradec.c: (theora_dec_src_query),
(theora_dec_sink_query):
* ext/vorbis/vorbisdec.c: (vorbis_dec_src_query),
(vorbis_dec_sink_query):
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_src_query),
(gst_vorbisenc_sink_query):
* gst/adder/gstadder.c: (gst_adder_query):
Pass unhandled queries upstream instead of just
dropping them (#326447). Also, fix supported
query types list for some elements.
2006-02-01 11:56:11 +00:00
Thomas Vander Stichele
5f83aa7dfa expand tabs
Original commit message from CVS:
expand tabs
2005-12-06 19:42:02 +00:00
Andy Wingo
f405e12b4a *.*: Ran scripts/update-macros. Oh yes.
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

* *.h:
* *.c: Ran scripts/update-macros. Oh yes.
2005-11-21 16:35:24 +00:00
Tim-Philipp Müller
46db91babf Update for gst_collectpads_foo() to gst_collect_pads_foo()
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_init),
(gst_ogg_mux_request_new_pad), (gst_ogg_mux_queue_pads),
(gst_ogg_mux_clear_collectpads), (gst_ogg_mux_change_state):
* gst/adder/gstadder.c: (gst_adder_init),
(gst_adder_request_new_pad), (gst_adder_collected),
(gst_adder_change_state):
Update for gst_collectpads_foo() to gst_collect_pads_foo()
API change.
2005-11-21 11:54:16 +00:00
Thomas Vander Stichele
44ae8114e6 Fix a whole set of pad template leaks
Original commit message from CVS:
Fix a whole set of pad template leaks
2005-11-16 18:21:46 +00:00
Wim Taymans
2de274ea2c gst/adder/gstadder.c: Fix timestamps and fix deadlock when stopping the collectpads.
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_query), (gst_adder_collected),
(gst_adder_change_state):
Fix timestamps and fix deadlock when stopping the collectpads.
2005-10-27 09:54:06 +00:00
Wim Taymans
f88e6c08fd Query API update.
Original commit message from CVS:
* examples/seeking/seek.c: (make_avi_msmpeg4v3_mp3_pipeline),
(query_positions_elems), (query_positions_pads), (update_scale),
(do_seek), (set_update_scale), (message_received), (main):
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_src_query),
(gst_ogg_demux_perform_seek), (gst_ogg_demux_find_chains),
(gst_ogg_demux_loop):
* ext/ogg/gstogmparse.c: (gst_ogm_parse_sink_query):
* ext/theora/theoradec.c: (theora_dec_src_query),
(theora_dec_sink_event):
* ext/vorbis/vorbisdec.c: (vorbis_dec_src_query),
(vorbis_dec_sink_event), (vorbis_handle_data_packet):
* gst/adder/gstadder.c: (gst_adder_query):
* gst/audiotestsrc/gstaudiotestsrc.c: (gst_audiotestsrc_src_query):
* gst/playback/test3.c: (update_scale):
* gst/playback/test5.c: (new_pad), (no_more_pads), (start_finding),
(dump_element_stats), (main):
* gst/playback/test6.c: (main):
* gst/sine/gstsinesrc.c: (gst_sinesrc_src_query):
Query API update.
2005-10-19 15:55:33 +00:00
Thomas Vander Stichele
4f8f42b0b6 restructure configure.ac, use correct libtool LDFLAGS, fix up defines
Original commit message from CVS:
restructure configure.ac, use correct libtool LDFLAGS, fix up defines
2005-10-16 13:54:44 +00:00
Tim-Philipp Müller
23375d3a0e gst/adder/gstadder.c: Add query function to source pad, so adder reports the correct time/sample position when querie...
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_query), (gst_adder_class_init),
(gst_adder_init), (gst_adder_request_new_pad),
(gst_adder_change_state):
Add query function to source pad, so adder reports the correct
time/sample position when queried (#315457); fix state change
function; use GST_DEBUG_FUNCPTR() for pad functions.
2005-10-09 08:56:54 +00:00
Stefan Kost
894bd068a4 gst/adder/gstadder.c: fix adder for float elements
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_collected):
fix adder for float elements
2005-09-28 18:59:19 +00:00
Andy Wingo
6665c3084c All plugins updated for element state changes.
Original commit message from CVS:
2005-09-02  Andy Wingo  <wingo@pobox.com>

* All plugins updated for element state changes.
2005-09-02 15:43:18 +00:00
Thomas Vander Stichele
46e443bdd5 debugging fixes
Original commit message from CVS:
debugging fixes
2005-08-24 18:40:27 +00:00
Thomas Vander Stichele
29569738a6 first stab at documenting elements
Original commit message from CVS:
first stab at documenting elements
2005-08-05 17:13:10 +00:00
Jan Schmidt
b34c0e7e53 configure.ac: When testing for X libs, use the X CFlags
Original commit message from CVS:
* configure.ac:
When testing for X libs, use the X CFlags
* gst/adder/gstadder.c: (gst_adder_change_state):
Stop the collectpads before calling parent state change function
on PAUSED->READY, otherwise we deadlock deactivating pads.
2005-08-01 21:14:22 +00:00
Thomas Vander Stichele
1ea0574af4 make GST_PLUGIN_LDFLAGS only be flags; GST_LIBS should be added manually to each Makefile.am so we are sure it goes
Original commit message from CVS:
make GST_PLUGIN_LDFLAGS only be flags; GST_LIBS should be
added manually to each Makefile.am so we are sure it goes
*last* and doesn't add -L flags before linking in libs of our
own, like, say, internal .la libs, that then accidentally pick
up the installed copy.
2005-07-13 17:58:07 +00:00
Andy Wingo
d0bc038021 *.c: Don't cast to GstObject before reffing/unreffing.
Original commit message from CVS:
2005-06-28  Andy Wingo  <wingo@pobox.com>

* *.c: Don't cast to GstObject before reffing/unreffing.
2005-06-28 10:16:13 +00:00
Andy Wingo
790c059867 gst/: Some GCC4 fixes
Original commit message from CVS:
2005-05-05  Andy Wingo  <wingo@pobox.com>

* gst-libs/gst/tag/gstid3tag.c: (gst_tag_list_new_from_id3v1):
* gst-libs/gst/tag/gstvorbistag.c:
(gst_tag_list_from_vorbiscomment_buffer), (gst_vorbis_tag_chain):
* gst/adder/gstadder.h:
* gst/audioconvert/gstchannelmix.c:
(gst_audio_convert_fill_one_other):
* gst/audiorate/gstaudiorate.c: (gst_audiorate_setcaps),
(gst_audiorate_init), (gst_audiorate_chain):
* gst/playback/gstplaybasebin.c: (setup_source):
* gst/playback/test3.c: (update_scale):
Some GCC4 fixes

* po/af.po:
* po/az.po:
* po/cs.po:
* po/en_GB.po:
* po/hu.po:
* po/it.po:
* po/nb.po:
* po/nl.po:
* po/or.po:
* po/sq.po:
* po/sr.po:
* po/sv.po:
* po/uk.po:
* po/vi.po: Foo
2005-05-05 14:57:20 +00:00
Wim Taymans
80d4778bd4 gst/adder/: Ported adder as an example of a mixer element using collect pads. Needs more negotiation work.
Original commit message from CVS:
* gst/adder/Makefile.am:
* gst/adder/gstadder.c: (gst_adder_setcaps),
(gst_adder_class_init), (gst_adder_init),
(gst_adder_request_new_pad), (gst_adder_collected),
(gst_adder_change_state):
* gst/adder/gstadder.h:
Ported adder as an example of a mixer element using
collect pads. Needs more negotiation work.
2005-05-05 09:46:03 +00:00
David Schleef
129c7e8af1 configure.ac: Remove idct and resample libs
Original commit message from CVS:
* configure.ac: Remove idct and resample libs
* gst-libs/gst/Makefile.am: same
Remove usage of gst_library_load():
* ext/alsa/gstalsaplugin.c: (plugin_init):
* ext/libvisual/visual.c: (plugin_init):
* ext/ogg/gstogg.c: (plugin_init):
* ext/theora/theora.c: (plugin_init):
* ext/vorbis/vorbis.c: (plugin_init):
* gst-libs/gst/audio/gstaudiofiltertemplate.c: (plugin_init):
* gst/audioscale/gstaudioscale.c:
* gst/adder/gstadder.c: (plugin_init):
* gst/audioconvert/plugin.c: (plugin_init):
* sys/ximage/ximagesink.c: (plugin_init):
* sys/xvimage/xvimagesink.c: (plugin_init):
* gst/tcp/gsttcpplugin.c: (plugin_init):
Link plugins against libraries:
* ext/ogg/Makefile.am:
* ext/theora/Makefile.am:
* ext/vorbis/Makefile.am:
* gst/audioconvert/Makefile.am:
Create proper libraries:
* gst-libs/gst/riff/Makefile.am:
* gst-libs/gst/audio/Makefile.am:
* gst-libs/gst/video/Makefile.am:
Move resample library to audioscale plugin directory:
* gst-libs/gst/resample/Makefile.am:
* gst-libs/gst/resample/README:
* gst-libs/gst/resample/dtof.c:
* gst-libs/gst/resample/dtos.c:
* gst-libs/gst/resample/functable.c:
* gst-libs/gst/resample/private.h:
* gst-libs/gst/resample/resample.c:
* gst-libs/gst/resample/resample.h:
* gst-libs/gst/resample/resample.vcproj:
* gst-libs/gst/resample/test.c:
* gst/audioscale/Makefile.am:
* gst/audioscale/README:
* gst/audioscale/dtof.c:
* gst/audioscale/dtos.c:
* gst/audioscale/functable.c:
* gst/audioscale/private.h:
* gst/audioscale/resample.c:
* gst/audioscale/resample.h:
* gst/audioscale/test.c:
Move tagedit library to gst-libs:
* gst-libs/gst/tag/Makefile.am:
* gst-libs/gst/tag/gstid3tag.c:
* gst-libs/gst/tag/gsttagediting.c:
* gst-libs/gst/tag/gsttageditingprivate.h:
* gst-libs/gst/tag/gstvorbistag.c:
* gst/tags/Makefile.am:
* gst/tags/gstid3tag.c:
* gst/tags/gstvorbistag.c:
Fix for core changes:
* gst/sine/gstsinesrc.c: (gst_sinesrc_class_init),
(gst_sinesrc_init), (gst_sinesrc_src_fixate), (gst_sinesrc_link),
(gst_sinesrc_getrange):
2005-04-25 00:23:06 +00:00
Benjamin Otte
f2bbca6587 gst/adder/gstadder.c: fix adder a bit so it doesn't screw up with events as much anymore
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_loop):
fix adder a bit so it doesn't screw up with events as much anymore
2005-01-12 18:30:39 +00:00
Ronald S. Bultje
dd935da004 ext/alsa/: Re-commit ALSA switches.
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_build_list):
* ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_new):
Re-commit ALSA switches.
* gst/adder/gstadder.c: (gst_adder_loop):
64-bit fix (#151416).
* gst/debug/progressreport.c: (gst_progressreport_report):
64-bit fix (#151419).
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_contents):
64-bit fix (#151420).
* gst/playback/test3.c: (update_scale):
64-bit fix (#151421).
2004-08-31 14:12:49 +00:00
Steve Lhomme
7b86915b8a more working plugins
Original commit message from CVS:
more working plugins
2004-07-27 21:41:30 +00:00
Steve Lhomme
a6c379fd7a rename GStreamer-0.8.lib to libgstreamer.lib
Original commit message from CVS:
rename GStreamer-0.8.lib to libgstreamer.lib
2004-07-27 09:57:33 +00:00
Steve Lhomme
6c8a44d0c9 avoid problems with math.h, fix release dependancy
Original commit message from CVS:
avoid problems with math.h, fix release dependancy
2004-07-27 09:48:51 +00:00
Steve Lhomme
17615126c2 more plugins supported under windows
Original commit message from CVS:
more plugins supported under windows
2004-07-26 13:20:10 +00:00
Thomas Vander Stichele
c750d9bd49 don't assert in state change
Original commit message from CVS:
don't assert in state change
2004-07-09 10:56:51 +00:00
Benjamin Otte
5b6ffe42de gst/adder/gstadder.c: properly error out when no negotiation has happened yet. (fixes #143032)
Original commit message from CVS:
reviewed by Benjamin Otte  <otte@gnome.org>
* gst/adder/gstadder.c: (gst_adder_loop):
properly error out when no negotiation has happened yet. (fixes
#143032)
2004-06-06 23:43:15 +00:00
Stéphane Loeuillet
1f1a7cbe84 first batch : remove ',' at end of enums as they could confuse older gcc, foreign compilers (forte) and gtk-doc
Original commit message from CVS:

first batch :
remove ',' at end of enums as they could confuse older gcc, foreign compilers (forte) and gtk-doc
2004-05-21 22:39:30 +00:00
Thomas Vander Stichele
a4c1edf3cb avoid SIGFPE, throw error
Original commit message from CVS:
avoid SIGFPE, throw error
2004-04-01 11:40:45 +00:00
Thomas Vander Stichele
a9d2e74cd3 fixing CLAMPING
Original commit message from CVS:
fixing CLAMPING
2004-03-31 17:11:14 +00:00
Thomas Vander Stichele
f83cb187de don't mix tabs and spaces
Original commit message from CVS:
don't mix tabs and spaces
2004-03-15 19:32:28 +00:00
Johan Dahlin
bf07c7cc9b *.h: Revert indenting
Original commit message from CVS:
* *.h: Revert indenting
2004-03-15 16:32:55 +00:00
Thomas Vander Stichele
4df3f18839 gst-indent
Original commit message from CVS:
gst-indent
2004-03-14 22:34:34 +00:00
Thomas Vander Stichele
8336c47f0c change NULL to (NULL) for GST_ELEMENT_ERROR
Original commit message from CVS:
change NULL to (NULL) for GST_ELEMENT_ERROR
Make sure errors end with "."
2004-02-02 17:23:33 +00:00
Thomas Vander Stichele
03caa97b73 GST_ELEMENT_ERROR
Original commit message from CVS:
GST_ELEMENT_ERROR
2004-01-29 23:20:45 +00:00
David Schleef
e4593b1536 gst/ac3parse/gstac3parse.c: update to checklist 5
Original commit message from CVS:
* gst/ac3parse/gstac3parse.c: update to checklist 5
* gst/adder/gstadder.c: rewrite negotiation.  update to checklist 5
* gst/audioconvert/gstaudioconvert.c: update to checklist 5
* gst/audioscale/gstaudioscale.c: same
* gst/auparse/gstauparse.c: same
* gst/avi/gstavidemux.c: same
2004-01-27 09:00:01 +00:00
Thomas Vander Stichele
11cb1a9f92 fix non-compilation
Original commit message from CVS:
fix non-compilation
2004-01-22 13:22:02 +00:00
David Schleef
75da519525 ext/swfdec/gstswfdec.*: Fix negotiation.
Original commit message from CVS:
* ext/swfdec/gstswfdec.c: (gst_swfdec_video_getcaps),
(gst_swfdec_video_link), (copy_image), (gst_swfdec_loop),
(gst_swfdec_init), (gst_swfdec_change_state):
* ext/swfdec/gstswfdec.h:
Fix negotiation.
* gst/adder/gstadder.c: (gst_adder_link), (gst_adder_init),
(gst_adder_request_new_pad): Fix negotiation.
* gst/goom/gstgoom.c: (gst_goom_init), (gst_goom_src_fixate):
Add a fixate function.
* gst/intfloat/gstfloat2int.c:
* gst/intfloat/gstfloat2int.h:
* gst/intfloat/gstint2float.c:
* gst/intfloat/gstint2float.h:
Completely rewrite the negotiation.  Doesn't quite work yet,
due to some buffer-frames problem.
2004-01-22 03:25:16 +00:00