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
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.
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:
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.
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.