Commit graph

8 commits

Author SHA1 Message Date
Wim Taymans
f874e30998 wildmidi: cleanups and fix seeking
Remove time_per_frame, it's too inaccurate.
Fix convert for -1 values.
Use scaling to convert samples to time.
Fix segment handling.
Fix seeking.
Fix buffer clipping (not yet enabled)
Protect the WildMidi library with the object lock to avoid races when changing
properties.
Fix offsets on output buffers, for raw audio the offset contains the sample
position not byte position.
Add better DISCONT handling.

Fixes #519001
2009-09-04 17:32:15 +02:00
Wim Taymans
53f654150b wildmidi: use state machine
Use a state machine to keep track of the current state.
Add chain function and event function on the sinkpad.
Remove some unused code.
2009-08-31 18:48:04 +02:00
Wim Taymans
25caf9f743 wildmidi: set caps on pad
Set the caps on the pad and use those caps instead of keeping a separate caps
pointer around.
Fix some whitespace.
2009-08-31 18:48:03 +02:00
Sebastian Dröge
a14d311c96 ext/timidity/gstwildmidi.*: Initialize wildmidi only once in the plugin init function instead of once for every insta...
Original commit message from CVS:
Based on a patch by:  Sonicadvance1 at GMAIL dot COM
* ext/timidity/gstwildmidi.c: (gst_wildmidi_init),
(gst_wildmidi_change_state), (plugin_init):
* ext/timidity/gstwildmidi.h:
Initialize wildmidi only once in the plugin init function instead
of once for every instance. The second and following calls to the
wildmidi initialization function will fail. Fixes bug #525613.
Also don't register the element at all if wildmidi initialization
fails.
2008-06-11 07:58:44 +00:00
Stefan Kost
924229d902 ext/timidity/gstwildmidi.*:
Original commit message from CVS:
reviewed by: <delete if not using a buddy>
patch by: <delete if not someone else's patch>
* ext/timidity/gstwildmidi.c:
* ext/timidity/gstwildmidi.h:
2007-08-15 13:26:57 +00:00
Stefan Kost
9c8ef16a8a ext/timidity/gstwildmidi.*: Don't initialize wildmidi in plugin_init as it also setups audio filters which is slow.
Original commit message from CVS:
* ext/timidity/gstwildmidi.c: (wildmidi_open_config),
(gst_wildmidi_init), (gst_wildmidi_change_state), (plugin_init):
* ext/timidity/gstwildmidi.h:
Don't initialize wildmidi in plugin_init as it also setups audio
filters which is slow.
2007-07-24 15:13:44 +00:00
Stefan Kost
c0882012bb ext/timidity/: Fix licence (both are GPL). Add element docs.
Original commit message from CVS:
* ext/timidity/gsttimidity.c:
* ext/timidity/gstwildmidi.c:
* ext/timidity/gstwildmidi.h:
Fix licence (both are GPL). Add element docs.
2007-07-03 07:41:34 +00:00
Stefan Kost
ba820cdc34 Add second midi renderer. Fix some double frees and leaks. Clean up logging.
Original commit message from CVS:
* configure.ac:
* ext/timidity/Makefile.am:
* ext/timidity/gsttimidity.c: (plugin_init):
* ext/timidity/gstwildmidi.c: (gst_wildmidi_base_init),
(gst_wildmidi_class_init), (gst_wildmidi_init),
(gst_wildmidi_src_convert), (gst_wildmidi_src_query),
(gst_wildmidi_get_upstream_size), (gst_wildmidi_get_segment),
(gst_wildmidi_get_new_segment_event), (gst_wildmidi_src_event),
(gst_wildmidi_activate), (gst_wildmidi_activatepull),
(gst_wildmidi_allocate_buffer), (gst_wildmidi_clip_buffer),
(gst_wildmidi_fill_buffer), (gst_wildmidi_get_buffer),
(gst_wildmidi_loop), (gst_wildmidi_change_state),
(gst_wildmidi_set_property), (gst_wildmidi_get_property),
(gst_wildmidi_typefind), (wildmidi_open_config), (plugin_init):
* ext/timidity/gstwildmidi.h:
Add second midi renderer. Fix some double frees and leaks. Clean up
logging.
2007-02-11 15:46:24 +00:00