Commit graph

23 commits

Author SHA1 Message Date
Stefan Kost
6ad41986af ext/ladspa/: Add some thoughts and FIXME's.
Original commit message from CVS:
* ext/ladspa/gstladspa.c:
* ext/ladspa/gstsignalprocessor.c:
Add some thoughts and FIXME's.
2008-03-20 15:54:23 +00:00
Sebastian Dröge
aa4139370a ext/ladspa/gstsignalprocessor.c: Don't unref the pad template after adding it. gst_element_class_add_pad_template tak...
Original commit message from CVS:
* ext/ladspa/gstsignalprocessor.c:
(gst_signal_processor_class_add_pad_template):
Don't unref the pad template after adding it.
gst_element_class_add_pad_template takes ownership of it.
2008-02-04 11:48:50 +00:00
Andy Wingo
57f11c5ed8 ext/ladspa/gstsignalprocessor.c (gst_signal_processor_fixate)
Original commit message from CVS:
2007-01-12  Andy Wingo  <wingo@pobox.com>

* ext/ladspa/gstsignalprocessor.c (gst_signal_processor_fixate)
(gst_signal_processor_ouija_caps, gst_signal_processor_prepare):
Remove fixate/ouija stuff, thankfully, due to the new
part-negotiation.txt pull-mode negotiation scheme.
(gst_signal_processor_setcaps_pull)
(gst_signal_processor_setcaps): Implement upstream set_caps pull
proxying for pull mode. Now this works: ladspa-sine-fcac !
audioconvert ! alsasink.
2007-01-12 21:58:43 +00:00
Andy Wingo
2b5fdf422e ext/ladspa/gstsignalprocessor.c
Original commit message from CVS:
2007-01-06  Andy Wingo  <wingo@pobox.com>

* ext/ladspa/gstsignalprocessor.c
(gst_signal_processor_ouija_caps): Move around in the source
file...
(gst_signal_processor_prepare, gst_signal_processor_do_pulls):
Call ouija_caps in prepare() instead of do_pulls(), a bit earlier.
This allows us to have caps when we do the pad_alloc_buffer().
(gst_pad_alloc_buffer_and_set_caps): Use self->caps instead of the
pad caps, which might not be set yet.
2007-01-06 17:22:12 +00:00
Andy Wingo
24df4ce38b ext/ladspa/gstsignalprocessor.c: (gst_signal_processor_add_pad_from_template)
Original commit message from CVS:
2007-01-06  Andy Wingo  <wingo@pobox.com>

* ext/ladspa/gstsignalprocessor.c:
(gst_signal_processor_add_pad_from_template)
(gst_signal_processor_fixate): Add a fixate function, to assist in
pathological ladspa-sine-fcac ! fakesink can-activate-pull=true
cases.
(gst_signal_processor_prepare, gst_signal_processor_process): Add
nframes args so that getrange can tell ladspa how many frames to
process.
(gst_signal_processor_ouija_caps): setcaps needs to be called
before processing, which normally happens when chaining a buffer
to a pad. However in getrange mode with no sinks we need to check
explicitly for this condition, guess some caps to use, and use
those to setcaps(). Hence this mystical function.
(gst_signal_processor_do_pulls): Pull in bytes, not samples.
Divine the caps if necessary.
(gst_signal_processor_getrange): Interpret the length as bytes,
not samples.
(gst_signal_processor_chain): nframes=G_MAXUINT, will be limited
by incoming buffer sizes.
2007-01-06 15:56:55 +00:00
Wim Taymans
446a05bb1d ext/ladspa/gstsignalprocessor.c: Reset flow_state back to _OK after a flush stop so that we exit our error state afte...
Original commit message from CVS:
* ext/ladspa/gstsignalprocessor.c: (gst_signal_processor_setcaps),
(gst_signal_processor_event):
Reset flow_state back to _OK after a flush stop so that we exit our
error state after the flush. Fixes #374213
2006-12-18 15:51:54 +00:00
Andy Wingo
4fb8a95581 ext/ladspa/gstsignalprocessor.c: Make ladspa elements reusable. Fixes #350006.
Original commit message from CVS:
Patch by: Andy Wingo <wingo at pobox dot com>
* ext/ladspa/gstsignalprocessor.c: (gst_signal_processor_setup),
(gst_signal_processor_start), (gst_signal_processor_stop),
(gst_signal_processor_cleanup), (gst_signal_processor_setcaps),
(gst_signal_processor_pen_buffer), (gst_signal_processor_flush),
(gst_signal_processor_do_pulls), (gst_signal_processor_do_pushes),
(gst_signal_processor_change_state):
Make ladspa elements reusable. Fixes #350006.
2006-08-16 16:50:00 +00:00
Wim Taymans
f12aed235d ext/ladspa/gstsignalprocessor.c: A push() gives away our refcount so we should not use the buffer on the pen anymore.
Original commit message from CVS:
* ext/ladspa/gstsignalprocessor.c: (gst_signal_processor_flush),
(gst_signal_processor_do_pushes):
A push() gives away our refcount so we should not use the buffer on the
pen anymore.
2006-08-16 14:47:50 +00:00
Andy Wingo
9bf2b5e3db ext/ladspa/gstsignalprocessor.h: Add infrastructure for storing whether a processor can work in place or not, and for...
Original commit message from CVS:
2006-08-04  Andy Wingo  <wingo@pobox.com>

* ext/ladspa/gstsignalprocessor.h: Add infrastructure for storing
whether a processor can work in place or not, and for keeping
track of its state. Change the FlowReturn instance variable from
"state" to "flow_state", all callers changed.

* ext/ladspa/gstsignalprocessor.c (gst_signal_processor_setup)
(gst_signal_processor_start, gst_signal_processor_stop)
(gst_signal_processor_cleanup): New functions to manage the
processor's state.
(gst_signal_processor_setcaps): start() as well as setup() here.
(gst_signal_processor_prepare): Respect CAN_PROCESS_IN_PLACE.
(gst_signal_processor_change_state): Stop and cleanup the
processor as we go to NULL.

* ext/ladspa/gstladspa.c (gst_ladspa_base_init): Reuse buffers if
INPLACE_BROKEN is not set.

* ext/ladspa/gstsignalprocessor.c (gst_signal_processor_prepare):
Do the alloc_buffer in bytes, not frames.
2006-08-04 11:38:54 +00:00
Andy Wingo
71cad18c5e BPB
Original commit message from CVS:
(gst_signal_processor_src_activate_pull): BPB
2006-08-04 09:20:26 +00:00
Andy Wingo
4f5257d42d ext/ladspa/gstsignalprocessor.c (gst_signal_processor_setcaps) (gst_signal_processor_prepare) (gst_signal_processor_u...
Original commit message from CVS:
2006-08-04  Andy Wingo  <wingo@pobox.com>

* ext/ladspa/gstsignalprocessor.c (gst_signal_processor_setcaps)
(gst_signal_processor_prepare)
(gst_signal_processor_update_inputs)
(gst_signal_processor_process, gst_signal_processor_pen_buffer)
(gst_signal_processor_flush)
(gst_signal_processor_sink_activate_push)
(gst_signal_processor_src_activate_pull)
(gst_signal_processor_change_state): Remove the last of the code
that assumes that we process whole buffers at a time. Fix some
debugging. Seems to work now in some cases.
2006-08-04 09:05:53 +00:00
Andy Wingo
c98740d77a ext/ladspa/gstsignalprocessor.c (gst_signal_processor_process): Fix nframes-choosing.
Original commit message from CVS:
2006-08-01  Andy Wingo  <wingo@pobox.com>

* ext/ladspa/gstsignalprocessor.c (gst_signal_processor_process):
Fix nframes-choosing.
(gst_signal_processor_init): Init pending_in and pending_out.
2006-07-31 22:27:22 +00:00
Andy Wingo
199ffb130f ext/ladspa/gstsignalprocessor.c (gst_signal_processor_init): No more default sample rate, although we never check tha...
Original commit message from CVS:
2006-08-01  Andy Wingo  <wingo@pobox.com>

* ext/ladspa/gstsignalprocessor.c (gst_signal_processor_init): No
more default sample rate, although we never check that the sample
rate actually gets set. Something for the future.
(gst_signal_processor_setcaps): Some refcount fixes, flow fixes.
(gst_signal_processor_event): Refcount fixen.
(gst_signal_processor_process): Pull the number of frames to
process from the sizes of the buffers in the input pens.
(gst_signal_processor_pen_buffer): Remove an incorrect FIXME :)
(gst_signal_processor_do_pulls): Add an nframes argument, and use
it instead of buffer_frames.
(gst_signal_processor_getrange): Refcount fixen, pass nframes on
to do_pulls.
(gst_signal_processor_chain)
(gst_signal_processor_sink_activate_push)
(gst_signal_processor_src_activate_pull):  Refcount fixen.

* ext/ladspa/gstsignalprocessor.h: No more buffer_frames, yay.
2006-07-31 22:03:09 +00:00
Stefan Kost
f05aaeac15 ext/ladspa/gstsignalprocessor.c: don't query buffer-frames from caps, add lots of debug-log, try fix for assert (#349...
Original commit message from CVS:
* ext/ladspa/gstsignalprocessor.c: (gst_signal_processor_setcaps),
(gst_signal_processor_process):
don't query buffer-frames from caps, add lots of debug-log,
try fix for assert (#349189)
2006-07-31 19:44:18 +00:00
Stefan Kost
5e12c7fcab ext/ladspa/gstsignalprocessor.c: Add debugs logs here and there, add more error handling, add some
Original commit message from CVS:
* ext/ladspa/gstsignalprocessor.c:
(gst_signal_processor_add_pad_from_template),
(gst_signal_processor_init), (gst_signal_processor_setcaps),
(gst_signal_processor_process), (gst_signal_processor_pen_buffer),
(gst_signal_processor_do_pulls), (gst_signal_processor_getrange),
(gst_signal_processor_sink_activate_push),
(gst_signal_processor_src_activate_pull),
(gst_signal_processor_change_state):
Add debugs logs here and there, add more error handling, add some
FIXME comments, filed #349189
2006-07-29 16:32:26 +00:00
Jan Schmidt
acf577a804 ext/ladspa/gstsignalprocessor.c: Fix compilation of LADPSA. It doesn't seem to work, and isn't enabled for the build,...
Original commit message from CVS:
* ext/ladspa/gstsignalprocessor.c: (gst_signal_processor_event),
(gst_signal_processor_process):
Fix compilation of LADPSA. It doesn't seem to work, and isn't
enabled for the build, but it helps me win the feature-count
competitions ooh yeah.
2006-02-20 13:08:50 +00:00
Andy Wingo
693e4e7863 Update for alloc_buffer changes.
Original commit message from CVS:
2005-12-05  Andy Wingo  <wingo@pobox.com>

* ext/dv/gstdvdec.c: (gst_dvdec_chain):
* ext/flac/gstflacdec.c: (gst_flacdec_write):
* ext/flac/gstflacenc.c: (gst_flacenc_write_callback):
* ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_chain):
* ext/gdk_pixbuf/pixbufscale.c: (gst_pixbufscale_chain):
* ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_chain):
* ext/jpeg/gstjpegenc.c: (gst_jpegenc_chain):
* ext/ladspa/gstsignalprocessor.c: (gst_signal_processor_process):
* ext/libpng/gstpngdec.c: (user_info_callback), (gst_pngdec_task):
* ext/speex/gstspeexdec.c: (speex_dec_chain):
* ext/speex/gstspeexenc.c: (gst_speexenc_chain):
* gst/auparse/gstauparse.c: (gst_auparse_chain):
* gst/flx/gstflxdec.c: (gst_flxdec_chain):
* gst/goom/gstgoom.c: (gst_goom_chain):
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_push_vorbis_codec_priv_data),
(gst_matroska_demux_add_wvpk_header):
* gst/multipart/multipartdemux.c: (gst_multipart_demux_chain):
* gst/multipart/multipartmux.c: (gst_multipart_mux_collected):
* gst/videomixer/videomixer.c: (gst_videomixer_collected):
* gst/wavenc/gstwavenc.c: (gst_wavenc_chain): Update for
alloc_buffer changes.
2005-12-05 13:02:58 +00:00
Tim-Philipp Müller
e8b4130a36 Update for stream lock API changes: don't take stream log in sink event handlers any longer and change GST_STREAM_LOC...
Original commit message from CVS:
* ext/dv/gstdvdemux.c: (gst_dvdemux_handle_sink_event):
* ext/flac/gstflacdec.c: (gst_flacdec_loop),
(gst_flacdec_src_event):
* ext/flac/gstflacenc.c: (gst_flacenc_sink_event):
* ext/ladspa/gstsignalprocessor.c: (gst_signal_processor_event),
(gst_signal_processor_getrange), (gst_signal_processor_chain):
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_seek):
* gst/flx/gstflxdec.c: (gst_flxdec_src_event_handler),
(gst_flxdec_sink_event_handler):
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_handle_seek_event):
* gst/wavparse/gstwavparse.c: (gst_wavparse_handle_seek):
Update for stream lock API changes: don't take stream log
in sink event handlers any longer and change GST_STREAM_LOCK
to GST_PAD_STREAM_LOCK. Don't leak references in flxdec event
functions.
2005-11-21 18:09:01 +00:00
Andy Wingo
cda0cf8733 ext/raw1394/gstdv1394src.c: Make interruptible, so it won't block forever in a read().
Original commit message from CVS:
2005-10-07  Andy Wingo  <wingo@pobox.com>

* ext/raw1394/gstdv1394src.c: Make interruptible, so it won't
block forever in a read().
2005-10-07 15:24:24 +00:00
Andy Wingo
741afd1f75 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:44:44 +00:00
Andy Wingo
2ef9f68352 Updates for two-arg init from GST_BOILERPLATE.
Original commit message from CVS:
2005-08-28  Andy Wingo  <wingo@pobox.com>

* Updates for two-arg init from GST_BOILERPLATE.

* ext/ladspa/gstsignalprocessor.c (gst_signal_processor_init): Use
the second arg for the class, because G_OBJECT_GET_CLASS (self)
returns the wrong thing.
(gst_signal_processor_add_pad_from_template): Make pads of the
right type.

* ext/ladspa/gstladspa.c (gst_ladspa_class_get_param_spec): Make
writable param specs G_PARAM_CONSTRUCT so default values work.
(gst_ladspa_init): Use the second arg for the class.
2005-08-28 17:59:20 +00:00
Andy Wingo
282065617d ext/ladspa/gstladspa.*: Finish porting, still doesn't work but it does compile and register. I have more features tha...
Original commit message from CVS:
2005-08-26  Andy Wingo  <wingo@pobox.com>

* ext/ladspa/gstladspa.c:
* ext/ladspa/gstladspa.h: Finish porting, still doesn't work but
it does compile and register. I have more features than you.

* ext/ladspa/gstsignalprocessor.h:
* ext/ladspa/gstsignalprocessor.c: Updates, bug fixen.
2005-08-26 11:05:13 +00:00
Andy Wingo
63db96dc38 add missing files
Original commit message from CVS:
add missing files
2005-08-25 09:32:22 +00:00