summaryrefslogtreecommitdiffstats
path: root/gst/selector
AgeCommit message (Collapse)AuthorFilesLines
2009-06-14outputselector: do the pad_alloc for the pad that is pending and have a fallbackStefan Kost1-3/+10
We should do the pad_alloc for the pending pad if any, as we will switch to that pad on next _chain() call. Also do a fallback alloc, if there is no output yet to not fail state transitions in dynamic pipelines.
2009-06-05output-selector: serialize setting and actual changing of new active padLasse Laukkanen1-13/+16
2009-06-05output-selector: unref latest buffer also when resending has been disabledLasse Laukkanen1-2/+5
2009-06-05output-selector: keep ref to buffer for resending only if explicitly requestedLasse Laukkanen1-5/+7
2009-06-04inputselector: don't leak pads in iteratorWim Taymans1-0/+1
2009-06-04inputselector: Notify when the tags property of the selector sinkpads changesSebastian Dröge1-0/+2
First part of bug #584686.
2009-05-28selector: remove not needed instance var (previous commit).Stefan Kost1-1/+0
2009-05-28outputselector: implement pad_alloc on active pad.Stefan Kost2-6/+40
2009-04-23input-selector: Forward segment events for the active pad immediately.Jan Schmidt1-5/+10
When a segment event is received on the active pad, forward it downstream immediately instead of deferring it until the next data buffer arrives. This fixes problems with segment updates never being sent downstream, like those needed for sparse streams, or for closing previously opened segments. This fixes playback of DVD menus with a still video frame and an audio track, for example. Fixes: #577843
2009-03-27outputselector: reset state when going to READYWim Taymans1-5/+33
Reset the last-buffer, the pending pad and the segment when going to the READY state. Fixes #576712.
2009-03-24selector: merge the tagsWim Taymans1-8/+10
Merge the tags received on the input-selector sinkpads instead of only keeping the last one we saw.
2009-02-25docs: various doc fixesStefan Kost1-2/+5
No short-desc as we have them in the element details. Also keep things (Makefile.am and sections.txt) sorted. Reword ambigous returns. No text after since please.
2009-02-11inputselector: Fix compilation, activate_sinkpad() has no notify parameterSebastian Dröge1-3/+4
2009-02-10input-selector: Activate and notify pad before processing events.Michael Smith1-8/+13
Events should trigger pad selection if we don't already have an explicitly selected pad, so that events prior to first buffer don't get lost.
2009-01-30Unref event if we don't forward it, unref pads when done with them.Michael Smith1-0/+5
2008-12-04gst/selector/gstinputselector.c: Ensure we emit notify::active-pad when ↵Michael Smith1-0/+11
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-11-04Don't install static libs for plugins. Fixes #550851 for -bad.Stefan Kost1-0/+1
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-10-15gst/selector/gstinputselector.c: Gracefully handle the cases when we dont' ↵Edward Hervey1-7/+10
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-07gst/selector/gstoutputselector.c: Choose right pad for sending events. Fixes ↵Stefan Kost1-2/+5
#555244 Original commit message from CVS: * gst/selector/gstoutputselector.c: Choose right pad for sending events. Fixes #555244
2008-09-08gst/selector/gstinputselector.c: Reset the selector state when going to READY.Wim Taymans1-0/+37
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-01gst/selector/gstinputselector.c: Reuse the get_linked_pads for both source ↵Wim Taymans1-16/+24
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-08-27gst/selector/gstinputselector.c: Implement the LATENCY query in a better way ↵Wim Taymans1-0/+80
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-05gst/selector/gstinputselector.c: Move the select-all logic into the ↵Wim Taymans1-12/+16
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-06-19Use BOILERPLATE macro and update test to the latest api changes.Stefan Kost1-45/+23
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-12Do not use short_description in section docs for elements. We extract them ↵Stefan Kost2-2/+0
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-03-20gst/selector/gstinputselector.c: Do g_object_notify() only when not holding ↵Wim Taymans1-5/+12
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-20gst/selector/gstinputselector.c: Release the selector lock when pad alloc ↵Wim Taymans1-0/+2
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-20gst/selector/gstinputselector.c: Add pad property to configure behaviour of ↵Wim Taymans1-22/+69
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-20gst/selector/gstinputselector.*: Figure out the locking a bit more.Wim Taymans2-110/+200
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-14gst/selector/gstinputselector.c: Add lots of debugging.Wim Taymans1-12/+41
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-13gst/selector/gstinputselector.*: Various cleanups.Wim Taymans4-74/+132
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-02-26gst/selector/gstoutputselector.c: Fix changing to same pad twice before a ↵Stefan Kost1-0/+5
chain call. Original commit message from CVS: * gst/selector/gstoutputselector.c: Fix changing to same pad twice before a chain call.
2008-02-25gst/selector/gstinputselector.*: Added "select-all" property to make it work ↵Stefan Kost3-9/+74
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-09gst/selector/Makefile.am: Listing the marshal.h in the nodist_HEADERS breaks ↵Jan Schmidt1-1/+1
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-07gst/multifile/gstmultifilesink.c: Add a fixme comment.Stefan Kost1-9/+8
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-01gst/selector/gstinputselector.c: Don't leak event on pads that are not ↵Wim Taymans1-0/+2
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-01-29Replace the switch plugin with the selector plugin. Add output- selector as ↵Stefan Kost9-0/+1784
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.