Commit graph

23 commits

Author SHA1 Message Date
Michael Smith
6a0a9fc01e Unref event if we don't forward it, unref pads when done with them. 2009-01-30 18:29:01 -08:00
Michael Smith
7f57d31ff9 gst/selector/gstinputselector.c: Ensure we emit notify::active-pad when auto-selecting a pad due to it having activit...
Original commit message from CVS:
* gst/selector/gstinputselector.c:
Ensure we emit notify::active-pad when auto-selecting a pad
due to it having activity and us not having an existing active
pad. Fixes #563147
2008-12-04 17:51:37 +00:00
Stefan Kost
a14e8e07df Don't install static libs for plugins. Fixes #550851 for -bad.
Original commit message from CVS:
* ext/alsaspdif/Makefile.am:
* ext/amrwb/Makefile.am:
* ext/apexsink/Makefile.am:
* ext/arts/Makefile.am:
* ext/artsd/Makefile.am:
* ext/audiofile/Makefile.am:
* ext/audioresample/Makefile.am:
* ext/bz2/Makefile.am:
* ext/cdaudio/Makefile.am:
* ext/celt/Makefile.am:
* ext/dc1394/Makefile.am:
* ext/dirac/Makefile.am:
* ext/directfb/Makefile.am:
* ext/divx/Makefile.am:
* ext/dts/Makefile.am:
* ext/faac/Makefile.am:
* ext/faad/Makefile.am:
* ext/gsm/Makefile.am:
* ext/hermes/Makefile.am:
* ext/ivorbis/Makefile.am:
* ext/jack/Makefile.am:
* ext/jp2k/Makefile.am:
* ext/ladspa/Makefile.am:
* ext/lcs/Makefile.am:
* ext/libfame/Makefile.am:
* ext/libmms/Makefile.am:
* ext/metadata/Makefile.am:
* ext/mpeg2enc/Makefile.am:
* ext/mplex/Makefile.am:
* ext/musepack/Makefile.am:
* ext/musicbrainz/Makefile.am:
* ext/mythtv/Makefile.am:
* ext/nas/Makefile.am:
* ext/neon/Makefile.am:
* ext/ofa/Makefile.am:
* ext/polyp/Makefile.am:
* ext/resindvd/Makefile.am:
* ext/sdl/Makefile.am:
* ext/shout/Makefile.am:
* ext/snapshot/Makefile.am:
* ext/sndfile/Makefile.am:
* ext/soundtouch/Makefile.am:
* ext/spc/Makefile.am:
* ext/swfdec/Makefile.am:
* ext/tarkin/Makefile.am:
* ext/theora/Makefile.am:
* ext/timidity/Makefile.am:
* ext/twolame/Makefile.am:
* ext/x264/Makefile.am:
* ext/xine/Makefile.am:
* ext/xvid/Makefile.am:
* gst-libs/gst/app/Makefile.am:
* gst-libs/gst/dshow/Makefile.am:
* gst/aiffparse/Makefile.am:
* gst/app/Makefile.am:
* gst/audiobuffer/Makefile.am:
* gst/bayer/Makefile.am:
* gst/cdxaparse/Makefile.am:
* gst/chart/Makefile.am:
* gst/colorspace/Makefile.am:
* gst/dccp/Makefile.am:
* gst/deinterlace/Makefile.am:
* gst/deinterlace2/Makefile.am:
* gst/dvdspu/Makefile.am:
* gst/festival/Makefile.am:
* gst/filter/Makefile.am:
* gst/flacparse/Makefile.am:
* gst/flv/Makefile.am:
* gst/games/Makefile.am:
* gst/h264parse/Makefile.am:
* gst/librfb/Makefile.am:
* gst/mixmatrix/Makefile.am:
* gst/modplug/Makefile.am:
* gst/mpeg1sys/Makefile.am:
* gst/mpeg4videoparse/Makefile.am:
* gst/mpegdemux/Makefile.am:
* gst/mpegtsmux/Makefile.am:
* gst/mpegvideoparse/Makefile.am:
* gst/mve/Makefile.am:
* gst/nsf/Makefile.am:
* gst/nuvdemux/Makefile.am:
* gst/overlay/Makefile.am:
* gst/passthrough/Makefile.am:
* gst/pcapparse/Makefile.am:
* gst/playondemand/Makefile.am:
* gst/rawparse/Makefile.am:
* gst/real/Makefile.am:
* gst/rtjpeg/Makefile.am:
* gst/rtpmanager/Makefile.am:
* gst/scaletempo/Makefile.am:
* gst/sdp/Makefile.am:
* gst/selector/Makefile.am:
* gst/smooth/Makefile.am:
* gst/smoothwave/Makefile.am:
* gst/speed/Makefile.am:
* gst/speexresample/Makefile.am:
* gst/stereo/Makefile.am:
* gst/subenc/Makefile.am:
* gst/tta/Makefile.am:
* gst/vbidec/Makefile.am:
* gst/videodrop/Makefile.am:
* gst/videosignal/Makefile.am:
* gst/virtualdub/Makefile.am:
* gst/vmnc/Makefile.am:
* gst/y4m/Makefile.am:
* sys/acmenc/Makefile.am:
* sys/cdrom/Makefile.am:
* sys/dshowdecwrapper/Makefile.am:
* sys/dshowsrcwrapper/Makefile.am:
* sys/dvb/Makefile.am:
* sys/dxr3/Makefile.am:
* sys/fbdev/Makefile.am:
* sys/oss4/Makefile.am:
* sys/qcam/Makefile.am:
* sys/qtwrapper/Makefile.am:
* sys/vcd/Makefile.am:
* sys/wininet/Makefile.am:
* win32/common/config.h:
Don't install static libs for plugins. Fixes #550851 for -bad.
2008-11-04 12:42:30 +00:00
Edward Hervey
f1c7c8cea0 gst/selector/gstinputselector.c: Gracefully handle the cases when we dont' have otherpad.
Original commit message from CVS:
* gst/selector/gstinputselector.c: (gst_input_selector_event),
(gst_input_selector_query):
Gracefully handle the cases when we dont' have otherpad.
Fixes #556430
2008-10-15 17:45:37 +00:00
Stefan Kost
ae65d3945b gst/selector/gstoutputselector.c: Choose right pad for sending events. Fixes #555244
Original commit message from CVS:
* gst/selector/gstoutputselector.c:
Choose right pad for sending events. Fixes #555244
2008-10-07 13:14:40 +00:00
Wim Taymans
5d1c162f06 gst/selector/gstinputselector.c: Reset the selector state when going to READY.
Original commit message from CVS:
* gst/selector/gstinputselector.c: (gst_selector_pad_reset),
(gst_input_selector_reset), (gst_input_selector_change_state):
Reset the selector state when going to READY.
2008-09-08 20:27:23 +00:00
Wim Taymans
7d9e7b68b9 gst/selector/gstinputselector.c: Reuse the get_linked_pads for both source and sinkpads because they are the same.
Original commit message from CVS:
* gst/selector/gstinputselector.c: (gst_input_selector_init),
(gst_input_selector_event), (gst_input_selector_query):
Reuse the get_linked_pads for both source and sinkpads because they are
the same.
Implement a custum event handler and get the internally linked pad
directly instead of relying on the default (slower) implementation.
2008-09-01 13:23:03 +00:00
Wim Taymans
001628d341 gst/selector/gstinputselector.c: Implement the LATENCY query in a better way by taking the latency of all sinkpads an...
Original commit message from CVS:
* gst/selector/gstinputselector.c: (gst_input_selector_init),
(gst_input_selector_query):
Implement the LATENCY query in a better way by taking the latency of all
sinkpads and taking the min/max instead of just taking a random pad.
2008-08-27 15:45:16 +00:00
Wim Taymans
e0f52ef74d gst/selector/gstinputselector.c: Move the select-all logic into the activation of the currently selected pad. We want...
Original commit message from CVS:
* gst/selector/gstinputselector.c: (gst_selector_pad_bufferalloc),
(gst_selector_pad_chain), (gst_input_selector_getcaps),
(gst_input_selector_activate_sinkpad):
Move the select-all logic into the activation of the currently selected
pad. We want to remember the last pad with activity in select-all mode.
Fix the getcaps function, we can produce the union of the upstream caps
in select-all mode, not the intersection like proxy_getcaps() does.
2008-08-05 09:05:35 +00:00
Stefan Kost
d190f3cf84 Use BOILERPLATE macro and update test to the latest api changes.
Original commit message from CVS:
* gst/selector/gstoutputselector.c:
* tests/icles/output-selector-test.c:
Use BOILERPLATE macro and update test to the latest api changes.
2008-06-19 13:18:24 +00:00
Stefan Kost
15b9246617 Do not use short_description in section docs for elements. We extract them from element details and there will be war...
Original commit message from CVS:
* ext/dc1394/gstdc1394.c:
* ext/ivorbis/vorbisdec.c:
* ext/jack/gstjackaudiosink.c:
* ext/metadata/gstmetadatademux.c:
* ext/mythtv/gstmythtvsrc.c:
* ext/theora/theoradec.c:
* gst-libs/gst/app/gstappsink.c:
* gst/bayer/gstbayer2rgb.c:
* gst/deinterlace/gstdeinterlace.c:
* gst/rawparse/gstaudioparse.c:
* gst/rawparse/gstvideoparse.c:
* gst/rtpmanager/gstrtpbin.c:
* gst/rtpmanager/gstrtpclient.c:
* gst/rtpmanager/gstrtpjitterbuffer.c:
* gst/rtpmanager/gstrtpptdemux.c:
* gst/rtpmanager/gstrtpsession.c:
* gst/rtpmanager/gstrtpssrcdemux.c:
* gst/selector/gstinputselector.c:
* gst/selector/gstoutputselector.c:
* gst/videosignal/gstvideoanalyse.c:
* gst/videosignal/gstvideodetect.c:
* gst/videosignal/gstvideomark.c:
* sys/oss4/oss4-mixer.c:
* sys/oss4/oss4-sink.c:
* sys/oss4/oss4-source.c:
Do not use short_description in section docs for elements. We extract
them from element details and there will be warnings if they differ.
Also fixing up the ChangeLog order.
2008-06-12 14:49:18 +00:00
Wim Taymans
29d918352b gst/selector/gstinputselector.c: Do g_object_notify() only when not holding the lock to get the property because othe...
Original commit message from CVS:
* gst/selector/gstinputselector.c:
(gst_input_selector_set_active_pad), (gst_input_selector_switch):
Do g_object_notify() only when not holding the lock to get the property
because otherwise we run into a deadlock with the deep-notify handlers
that are possibly installed.
2008-03-20 18:10:29 +00:00
Wim Taymans
1cb3f3903b gst/selector/gstinputselector.c: Release the selector lock when pad alloc happens on a non selected pad.
Original commit message from CVS:
* gst/selector/gstinputselector.c: (gst_selector_pad_class_init),
(gst_selector_pad_event), (gst_selector_pad_bufferalloc),
(gst_selector_pad_chain), (gst_input_selector_set_active_pad):
Release the selector lock when pad alloc happens on a non selected pad.
2008-03-20 17:48:49 +00:00
Wim Taymans
e20e15e5a2 gst/selector/gstinputselector.c: Add pad property to configure behaviour of the unselected pad, it can return OK or N...
Original commit message from CVS:
* gst/selector/gstinputselector.c: (gst_selector_pad_class_init),
(gst_selector_pad_init), (gst_selector_pad_set_property),
(gst_selector_pad_get_property), (gst_selector_pad_event),
(gst_selector_pad_bufferalloc), (gst_selector_pad_chain),
(gst_input_selector_set_active_pad):
Add pad property to configure behaviour of the unselected pad, it can
return OK or NOT_LINKED, based on the use case.
2008-03-20 17:07:07 +00:00
Wim Taymans
a00c9300d4 gst/selector/gstinputselector.*: Figure out the locking a bit more.
Original commit message from CVS:
* gst/selector/gstinputselector.c:
(gst_selector_pad_get_running_time), (gst_selector_pad_reset),
(gst_selector_pad_event), (gst_selector_pad_bufferalloc),
(gst_input_selector_wait), (gst_selector_pad_chain),
(gst_input_selector_class_init), (gst_input_selector_init),
(gst_input_selector_dispose), (gst_segment_set_start),
(gst_input_selector_set_active_pad),
(gst_input_selector_set_property),
(gst_input_selector_get_property),
(gst_input_selector_get_linked_pad),
(gst_input_selector_is_active_sinkpad),
(gst_input_selector_activate_sinkpad),
(gst_input_selector_request_new_pad),
(gst_input_selector_release_pad),
(gst_input_selector_change_state), (gst_input_selector_block),
(gst_input_selector_switch):
* gst/selector/gstinputselector.h:
Figure out the locking a bit more.
Mark buffers with discont after switching.
Fix initial segment forwarding, make sure to only forward one segment
regardless of what the sequence of buffers/segments is. See #522203.
Improve flushing when blocked.
Return NOT_LINKED when a stream is not selected.
Not API change for the switch signal in the docs.
Fix start/time/accum values of the new segment.
Correctly unlock and flush a blocking selector when going to READY.
2008-03-20 16:48:46 +00:00
Wim Taymans
665be109b1 gst/selector/gstinputselector.c: Add lots of debugging.
Original commit message from CVS:
* gst/selector/gstinputselector.c: (gst_selector_pad_event),
(gst_selector_pad_bufferalloc), (gst_selector_pad_chain),
(gst_input_selector_class_init),
(gst_input_selector_set_active_pad),
(gst_input_selector_set_property),
(gst_input_selector_push_pending_stop):
Add lots of debugging.
Fix time member in the newsegment event.
2008-03-14 17:22:21 +00:00
Wim Taymans
48d66c2c1f gst/selector/gstinputselector.*: Various cleanups.
Original commit message from CVS:
* gst/selector/gstinputselector.c: (gst_selector_pad_class_init),
(gst_selector_pad_finalize), (gst_selector_pad_get_property),
(gst_selector_pad_event), (gst_input_selector_class_init),
(gst_input_selector_init), (gst_input_selector_set_active_pad),
(gst_input_selector_set_property),
(gst_input_selector_get_property),
(gst_input_selector_request_new_pad),
(gst_input_selector_release_pad),
(gst_input_selector_push_pending_stop),
(gst_input_selector_switch):
* gst/selector/gstinputselector.h:
Various cleanups.
Added tags to the pads.
Select active pad based on the pad object instead of its name.
Fix refcount in set_active_pad.
Add property to get the number of pads.
* gst/selector/gstoutputselector.c:
(gst_output_selector_class_init),
(gst_output_selector_set_property),
(gst_output_selector_get_property):
Various cleanups.
Select the active pad based on the pad object instead of its name.
Fix locking when setting the active pad.
* gst/selector/gstselector-marshal.list:
* tests/check/elements/selector.c: (cleanup_pad),
(selector_set_active_pad), (run_input_selector_buffer_count):
Fixes for pad instead of padname for pad selection.
2008-03-13 16:46:04 +00:00
Stefan Kost
84ac3f0c56 gst/selector/gstoutputselector.c: Fix changing to same pad twice before a chain call.
Original commit message from CVS:
* gst/selector/gstoutputselector.c:
Fix changing to same pad twice before a chain call.
2008-02-26 12:01:37 +00:00
Stefan Kost
188190e0e8 gst/selector/gstinputselector.*: Added "select-all" property to make it work like aggregator in 0.8.
Original commit message from CVS:
* gst/selector/gstinputselector.c:
* gst/selector/gstinputselector.h:
Added "select-all" property to make it work like aggregator in 0.8.
* gst/selector/gstoutputselector.c:
Fix resend-latest behavoiur.
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/selector.c:
Add unit tests for selector.
2008-02-25 08:53:51 +00:00
Jan Schmidt
a4c996087e gst/selector/Makefile.am: Listing the marshal.h in the nodist_HEADERS breaks distcheck, so let's not do that
Original commit message from CVS:
* gst/selector/Makefile.am:
Listing the marshal.h in the nodist_HEADERS breaks distcheck, so
let's not do that
* tests/check/Makefile.am:
Disable the crashing cdaudio plugin from the states test so I can make
pre-releases.
2008-02-09 03:37:40 +00:00
Stefan Kost
26abf37c03 gst/multifile/gstmultifilesink.c: Add a fixme comment.
Original commit message from CVS:
* gst/multifile/gstmultifilesink.c:
Add a fixme comment.
* gst/selector/gstoutputselector.c:
Fix same leak as in input-selector.
* tests/icles/output-selector-test.c:
Improve the test.
2008-02-07 13:48:20 +00:00
Wim Taymans
a9ae327f9f gst/selector/gstinputselector.c: Don't leak event on pads that are not linked. Fixes #512826.
Original commit message from CVS:
* gst/selector/gstinputselector.c: (gst_selector_pad_event):
Don't leak event on pads that are not linked. Fixes #512826.
2008-02-01 17:08:18 +00:00
Stefan Kost
83e305cf5d Replace the switch plugin with the selector plugin. Add output- selector as the opposite of input-selectoo (was switc...
Original commit message from CVS:
* configure.ac:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
* docs/plugins/gst-plugins-bad-plugins.args:
* docs/plugins/gst-plugins-bad-plugins.hierarchy:
* docs/plugins/gst-plugins-bad-plugins.interfaces:
* docs/plugins/gst-plugins-bad-plugins.signals:
* docs/plugins/inspect/plugin-metadata.xml:
* docs/plugins/inspect/plugin-selector.xml:
* docs/plugins/inspect/plugin-soundtouch.xml:
* docs/plugins/inspect/plugin-switch.xml:
* gst/selector/.cvsignore:
* gst/selector/Makefile.am:
* gst/selector/gstinputselector.c:
* gst/selector/gstinputselector.h:
* gst/selector/gstoutputselector.c:
* gst/selector/gstoutputselector.h:
* gst/selector/gstselector-marshal.list:
* gst/selector/gstselector.c:
* gst/selector/selector.vcproj:
* gst/switch/.cvsignore:
* gst/switch/Makefile.am:
* gst/switch/gstswitch-marshal.list:
* gst/switch/gstswitch.c:
* gst/switch/gstswitch.h:
* gst/switch/switch.vcproj:
* tests/icles/.cvsignore:
* tests/icles/Makefile.am:
* tests/icles/output-selector-test.c:
Replace the switch plugin with the selector plugin. Add output-
selector as the opposite of input-selectoo (was switch). Add a test
for output-selector. Add docs for the elements. The vcproj needs
update. Fixes #500142.
2008-01-29 07:38:31 +00:00