Commit graph

31 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
d806622622 wildmidi: cleanup error handler 2009-08-31 18:48:04 +02:00
Wim Taymans
dd1b692561 wildmidi: free the adapter 2009-08-31 18:48:04 +02:00
Wim Taymans
5c6ddc8ff2 wildmidi: cleanups 2009-08-31 18:48:04 +02:00
Wim Taymans
42b9415024 wildmidi: allow for push mode operation
Fixes #586929
2009-08-31 18:48:04 +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
2127cf3e8c wildmidi: remove useless function calls 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
Wim Taymans
4ef773164a wildmidi: fix whitespace 2009-08-31 18:48:03 +02:00
Stefan Kost
a094c58eed Add README with midi related links. 2009-01-23 16:09:51 +02: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
Stefan Kost
8af2be1a1e ext/timidity/gsttimidity.c: Fix compiler warning. Fixes #544050.
Original commit message from CVS:
* ext/timidity/gsttimidity.c:
Fix compiler warning. Fixes #544050.
2008-07-22 06:27:44 +00:00
Sebastian Dröge
58bc2cae2e ext/: Don't use declarations after statements.
Original commit message from CVS:
Patch by:
Jonathan Rosser <jonathan dot rosser at rd dot bbc dot co dot uk>
* ext/metadata/metadataexif.c: (metadataparse_handle_unit_tags):
* ext/metadata/metadataxmp.c:
(metadataparse_xmp_iter_add_to_tag_list):
* ext/mythtv/gstmythtvsrc.c: (gst_mythtv_src_start):
* ext/timidity/gstwildmidi.c: (gst_wildmidi_loop):
Don't use declarations after statements.
2008-07-08 13:28:51 +00:00
Stefan Kost
2affd3d483 docs/plugins/: docs/plugins/inspect/plugin-mythtv.xml
Original commit message from CVS:
* 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.prerequisites:
* docs/plugins/gst-plugins-bad-plugins.signals:
* docs/plugins/inspect/plugin-alsaspdif.xml:
* docs/plugins/inspect/plugin-amrwb.xml:
* docs/plugins/inspect/plugin-app.xml:
* docs/plugins/inspect/plugin-bayer.xml:
* docs/plugins/inspect/plugin-bz2.xml:
* docs/plugins/inspect/plugin-cdaudio.xml:
* docs/plugins/inspect/plugin-cdxaparse.xml:
* docs/plugins/inspect/plugin-dtsdec.xml:
* docs/plugins/inspect/plugin-dvb.xml:
* docs/plugins/inspect/plugin-dvdspu.xml:
* docs/plugins/inspect/plugin-faac.xml:
* docs/plugins/inspect/plugin-faad.xml:
* docs/plugins/inspect/plugin-fbdevsink.xml:
* docs/plugins/inspect/plugin-festival.xml:
* docs/plugins/inspect/plugin-filter.xml:
* docs/plugins/inspect/plugin-flvdemux.xml:
* docs/plugins/inspect/plugin-freeze.xml:
* docs/plugins/inspect/plugin-gsm.xml:
* docs/plugins/inspect/plugin-gstinterlace.xml:
* docs/plugins/inspect/plugin-gstrtpmanager.xml:
* docs/plugins/inspect/plugin-h264parse.xml:
* docs/plugins/inspect/plugin-interleave.xml:
* docs/plugins/inspect/plugin-jack.xml:
* docs/plugins/inspect/plugin-ladspa.xml:
* docs/plugins/inspect/plugin-metadata.xml:
* docs/plugins/inspect/plugin-mms.xml:
* docs/plugins/inspect/plugin-modplug.xml:
* docs/plugins/inspect/plugin-mpeg2enc.xml:
* docs/plugins/inspect/plugin-mpeg4videoparse.xml:
* docs/plugins/inspect/plugin-mpegtsparse.xml:
* docs/plugins/inspect/plugin-mpegvideoparse.xml:
* docs/plugins/inspect/plugin-musepack.xml:
* docs/plugins/inspect/plugin-musicbrainz.xml:
* docs/plugins/inspect/plugin-mve.xml:
* docs/plugins/inspect/plugin-mythtv.xml
* docs/plugins/inspect/plugin-nas.xml:
* docs/plugins/inspect/plugin-neon.xml:
* docs/plugins/inspect/plugin-nsfdec.xml:
* docs/plugins/inspect/plugin-nuvdemux.xml:
* docs/plugins/inspect/plugin-oss4.xml
* docs/plugins/inspect/plugin-rawparse.xml:
* docs/plugins/inspect/plugin-real.xml:
* docs/plugins/inspect/plugin-replaygain.xml:
* docs/plugins/inspect/plugin-rfbsrc.xml:
* docs/plugins/inspect/plugin-sdl.xml:
* docs/plugins/inspect/plugin-sdp.xml:
* docs/plugins/inspect/plugin-selector.xml:
* docs/plugins/inspect/plugin-sndfile.xml:
* docs/plugins/inspect/plugin-soundtouch.xml:
* docs/plugins/inspect/plugin-spcdec.xml:
* docs/plugins/inspect/plugin-speed.xml:
* docs/plugins/inspect/plugin-speexresample.xml:
* docs/plugins/inspect/plugin-stereo.xml:
* docs/plugins/inspect/plugin-subenc.xml
* docs/plugins/inspect/plugin-timidity.xml:
* docs/plugins/inspect/plugin-tta.xml:
* docs/plugins/inspect/plugin-vcdsrc.xml:
* docs/plugins/inspect/plugin-videosignal.xml:
* docs/plugins/inspect/plugin-vmnc.xml:
* docs/plugins/inspect/plugin-wildmidi.xml:
* docs/plugins/inspect/plugin-x264.xml:
* docs/plugins/inspect/plugin-xvid.xml:
* docs/plugins/inspect/plugin-y4menc.xml:
* ext/amrwb/gstamrwbdec.c:
* ext/amrwb/gstamrwbenc.c:
* ext/amrwb/gstamrwbparse.c:
* ext/dc1394/gstdc1394.c:
* ext/directfb/dfbvideosink.c:
* ext/ivorbis/vorbisdec.c:
* ext/jack/gstjackaudiosink.c:
* ext/mpeg2enc/gstmpeg2enc.cc:
* ext/mplex/gstmplex.cc:
* ext/musicbrainz/gsttrm.c:
* ext/mythtv/gstmythtvsrc.c:
* ext/theora/theoradec.c:
* ext/timidity/gsttimidity.c:
* ext/timidity/gstwildmidi.c:
* gst-libs/gst/app/gstappsink.c:
* gst/deinterlace/gstdeinterlace.c:
* gst/dvdspu/gstdvdspu.c:
* gst/festival/gstfestival.c:
* gst/freeze/gstfreeze.c:
* gst/interleave/deinterleave.c:
* gst/interleave/interleave.c:
* gst/modplug/gstmodplug.cc:
* gst/nuvdemux/gstnuvdemux.c:
Add missing elements to docs. Fix doc-markup: use convinience syntax
for examples (produces valid docbook), add several refsec2 when we
have several titles. Fix some types.
2008-06-13 11:59:23 +00: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
Sebastian Dröge
67515f39fc ext/timidity/gstwildmidi.c: Check some more common locations for a valid configuration file.
Original commit message from CVS:
* ext/timidity/gstwildmidi.c: (wildmidi_open_config):
Check some more common locations for a valid configuration file.
Fixes bug #533435. Packagers should still #define WILDMIDI_CFG
to the distributions default location.
2008-05-16 22:00:49 +00:00
Sebastian Dröge
4f2884df76 ext/timidity/Makefile.am: Dist all source files, no matter if only timidity or wildmidi or nothing is found by config...
Original commit message from CVS:
* ext/timidity/Makefile.am:
Dist all source files, no matter if only timidity or wildmidi or
nothing is found by configure. Fixes bug #528000.
2008-04-16 09:45:30 +00:00
Sebastian Dröge
e4476e15e0 Use GST_LICENSE, GST_PACKAGE_NAME and GST_PACKAGE_ORIGIN instead of hardcoding values where possible. Fixes bug #522212.
Original commit message from CVS:
* ext/alsaspdif/alsaspdifsink.c:
* ext/gsm/gstgsm.c:
* ext/jack/gstjack.c:
* ext/libmms/gstmms.c:
* ext/neon/gstneonhttpsrc.c:
* ext/shout/gstshout.c:
* ext/timidity/gsttimidity.c:
* ext/timidity/gstwildmidi.c:
* gst/nuvdemux/gstnuvdemux.c:
* gst/tta/gsttta.c:
Use GST_LICENSE, GST_PACKAGE_NAME and GST_PACKAGE_ORIGIN instead
of hardcoding values where possible. Fixes bug #522212.
2008-03-13 14:25:20 +00:00
Sebastian Dröge
a49e89d514 Remove midi typefinders and require base CVS as they moved there.
Original commit message from CVS:
* configure.ac:
* ext/timidity/gsttimidity.c: (plugin_init):
* ext/timidity/gstwildmidi.c: (plugin_init):
Remove midi typefinders and require base CVS as they moved there.
2008-02-25 06:29:12 +00:00
Sebastian Dröge
9ab72bf599 ext/timidity/gstwildmidi.c: If WILDMIDI_CFG is not defined, define it to the default timidity configure file.
Original commit message from CVS:
* ext/timidity/gstwildmidi.c:
If WILDMIDI_CFG is not defined, define it to the default
timidity configure file.
2008-02-22 06:31:44 +00:00
Stefan Kost
ac256b5d15 Fix memory leaks. More to come.
Original commit message from CVS:
* ext/alsaspdif/alsaspdifsink.c:
* ext/timidity/gsttimidity.c:
* ext/timidity/gstwildmidi.c:
* gst/mpegvideoparse/mpegvideoparse.c:
Fix memory leaks. More to come.
* tests/check/Makefile.am:
* tests/check/generic/states.c:
Improved state change unit test.
2007-09-20 15:06:23 +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
3ff9148441 ext/timidity/gsttimidity.*: Don't initialize timidity in plugin_init for similar reason as below.
Original commit message from CVS:
* ext/timidity/gsttimidity.c: (gst_timidity_init),
(gst_timidity_change_state), (plugin_init):
* ext/timidity/gsttimidity.h:
Don't initialize timidity in plugin_init for similar reason as below.
2007-07-25 05:55:00 +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
f56adf75ca Add stdlib include (free, atoi, exit).
Original commit message from CVS:
* examples/app/appsrc_ex.c:
* examples/switch/switcher.c:
* ext/neon/gstneonhttpsrc.c:
* ext/timidity/gstwildmidi.c:
* ext/x264/gstx264enc.c:
* gst/mve/mveaudioenc.c: (mve_compress_audio):
* gst/rtpmanager/gstrtpclient.c:
* gst/rtpmanager/gstrtpjitterbuffer.c:
* gst/spectrum/demo-audiotest.c:
* gst/spectrum/demo-osssrc.c:
* sys/dvb/gstdvbsrc.c:
Add stdlib include (free, atoi, exit).
2007-07-18 07:35:32 +00:00
Tim-Philipp Müller
dd5f54e22d docs/plugins/inspect/: Add missing inspect files. Fixes build (#454313).
Original commit message from CVS:
* docs/plugins/inspect/plugin-amrwb.xml:
* docs/plugins/inspect/plugin-equalizer.xml:
* docs/plugins/inspect/plugin-multifile.xml:
* docs/plugins/inspect/plugin-timidity.xml:
* docs/plugins/inspect/plugin-wildmidi.xml:
Add missing inspect files. Fixes build (#454313).
* ext/timidity/gstwildmidi.c: (wildmidi_open_config):
Scream a bit louder when initialisation fails.
* gst-libs/README:
* gst-libs/ext/.cvsignore:
Remove some cruft.
2007-07-06 21:07:21 +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
Tim-Philipp Müller
0f7d9f156a When driving the pipeline, also post an error when we get a not-linked flow return from downstream.
Original commit message from CVS:
* ext/timidity/gsttimidity.c: (gst_timidity_loop):
* ext/timidity/gstwildmidi.c: (gst_wildmidi_loop):
* gst/tta/gstttaparse.c: (gst_tta_parse_loop):
When driving the pipeline, also post an error when we get a
not-linked flow return from downstream.
2007-06-08 16:49:41 +00:00
Stefan Kost
5725e7b309 Add crossreferences to glib/gobject/gstream docs. Also fix typo in timidity.cfg check.
Original commit message from CVS:
* configure.ac:
* docs/plugins/Makefile.am:
Add crossreferences to glib/gobject/gstream docs. Also fix typo in
timidity.cfg check.
* ext/timidity/gsttimidity.c: (plugin_init):
Also build if no config was detected at configure time.
2007-02-13 09:44:20 +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
Wouter Paesen
b74d9a063f Add timitity midi render plugin (#403992)
Original commit message from CVS:
Patch by: Wouter Paesen <wouter@blue-gate.be>
* configure.ac:
* ext/Makefile.am:
* ext/timidity/Makefile.am:
* ext/timidity/gsttimidity.c: (gst_timidity_base_init),
(gst_timidity_class_init), (gst_timidity_init),
(gst_timidity_set_song_options), (gst_timidity_src_convert),
(gst_timidity_src_query), (gst_timidity_get_upstream_size),
(gst_timidity_get_segment), (gst_timidity_get_new_segment_event),
(gst_timidity_src_event), (gst_timidity_activate),
(gst_timidity_activatepull), (gst_timidity_allocate_buffer),
(gst_timidity_clip_buffer), (gst_timidity_fill_buffer),
(gst_timidity_get_buffer), (gst_timidity_loop),
(gst_timidity_change_state), (gst_timidity_typefind),
(plugin_init):
* ext/timidity/gsttimidity.h:
Add timitity midi render plugin (#403992)
2007-02-08 15:00:00 +00:00