Commit Graph

351 Commits

Author SHA1 Message Date
John Maguire 4f4c8f6894 Merge pull request #4580 from Chocobozzz/hide_internet_services
Hide internet services
2014-10-31 12:02:29 +01:00
David Sansome 5ec9dcdcb7 Merge pull request #4559 from TheUbuntuGuy/master
Fix missing buffers sent to analyzer
2014-10-27 22:17:14 +11:00
Chocobozzz 50b7b7d889 Make format after update to avoid conflicts 2014-10-15 21:57:57 +02:00
David Sansome 88a6300509 Completely revert the Spotify seeking stuff - it's hacky and I don't like
waiting 4 seconds to have my songs start.  I'll reimplement it properly later.

Reverts commits 96387803cd and 160b151652.
2014-10-14 19:33:03 +11:00
David Sansome c428e536ab When replacing a decodebin, offset the timestamps on the new element's buffers
so they match up with the buffers produced by the old element.  Fixes #4542.
2014-10-14 19:22:43 +11:00
Andreas d32c3236ef Fix little dropout when transition to next track. Updates #4542.
SourceDrainedCallback() has a valid next url and calls TransitionToNext(). This sets a new decode bin for the pipeline. The pipeline then buffers the new track and sends GST_MESSAGE_BUFFERING. BufferingMessageReceived() then pauses the pipeline because it's buffering. But we are buffering the next track and not the current one, so the pipeline has still data and doesn't need to be paused.
2014-10-05 11:57:57 +02:00
Mark Furneaux 3be48f8f44 unref buffers going to analyser at the right time
This unrefs the buffer after the last chunk is pulled from it.
2014-10-04 10:39:33 -04:00
David Sansome eec246718a Fix track transitions with gstreamer-1.0. The segment-start event is now a stream-start bus message. Fixes #4542 2014-10-04 21:21:21 +10:00
Mark Furneaux e8c2b4b267 Fix missing buffers sent to analyzer
This is a regression in the upgrade to gstreamer1.0.
The gst_buffer_unref() is incorrect as it removes the buffer when it is still needed by the chunker.
Forcing the pointer to be null prevents it from segfaulting but causes it to skip all chunks in the buffer, dropping the framerate and causing a worse case of #4321.
Removing these 2 lines restores original functionality.
2014-10-03 20:53:07 -04:00
John Maguire b4784e82fd Make Soup check SSL against our shipped root certs. 2014-10-01 15:06:22 +02:00
Arnaud Bienner 96387803cd Disable this Spotify hack for now, as it is useless anyway.
Somewhat related to issue #4545, but when plugin was installed by user wasn't logged in.
2014-09-30 21:35:27 +02:00
Andreas 4bb3147006 Fix Spotify Blob installation promt. Fixes #4538. 2014-09-22 21:20:48 +02:00
David Sansome eaad4c32ee Merge branch 'gstreamer-1.2'
Fixes #3332
2014-09-22 22:45:28 +10:00
David Sansome bb08a0f416 Fix misleading offset_bytes names 2014-09-22 00:13:00 +10:00
David Sansome 3f0dc01b06 Make Spotify work with gstreamer-1.0. 2014-09-21 22:39:30 +10:00
David Sansome a2408f7c0e Merge branch 'master' into gstreamer-1.2
Conflicts:
	src/moodbar/moodbarloader.cpp
2014-09-21 19:39:27 +10:00
David Sansome 6b32ecec27 Various bits for gstreamer-1.0 compatability 2014-09-21 19:38:13 +10:00
David Sansome 50551d987a Rewrite moodbar stuff for gstreamer-1.0:
- Rewrite gstspectrum (1.0) to use FFTW (2x faster) and emit raw magnitude
  values (not log scaled).
- Rewrite the moodbar generation code to be somewhat understandable, and
  do it in Clementine instead of gstreamer.
2014-09-21 19:38:13 +10:00
Arnaud Bienner bfaf127ed7 Remove few Ubuntu One things remaining 2014-09-14 21:43:13 +02:00
Arnaud Bienner 3e17a0adb5 Remove dead code 2014-09-14 02:39:35 +02:00
Arnaud Bienner 160b151652 Add seek ability to Spotify tracks.
This is functional but pretty hacky.
And, as noted in the comments, there is a small delay (depends, but usually several seconds) to have the seek taken into account. But IMHO it's better than nothing.
Fixes #2503
2014-09-14 02:15:58 +02:00
pie.or.paj cbc6e5cf4d Pause spotify track (issue 2503)
(patch slightly modified, not sure why it wasn't applied before: it looks good to me)
2014-09-06 19:21:23 +02:00
David Sansome d5617c0daf Set the media role for pulse audio 2014-06-19 22:51:58 +10:00
David Sansome 6bb81328e8 Merge branch 'master' into gstreamer-1.2
Conflicts:
	ext/clementine-spotifyblob/mediapipeline.cpp
	gst/moodbar/gstfftwspectrum.c
	src/core/songloader.cpp
	src/core/songloader.h
	src/engines/gstengine.cpp
	src/engines/gstenginepipeline.cpp
	src/moodbar/moodbarpipeline.cpp
	src/musicbrainz/chromaprinter.cpp
	src/transcoder/transcoder.cpp
	src/ui/mainwindow.cpp
	src/visualisations/projectmvisualisation.cpp
2014-06-09 16:20:24 +10:00
David Sansome 1e3cfb0a2c Don't try to update the scope if there's no buffer yet. Fixes #4388 2014-06-02 12:46:45 +10:00
David Sansome 162b2efbb0 If we don't know the length of a song from the metadata, get it from the pipeline which has the real length. Fixes #2818 when the length isn't in the podcast metadata. 2014-05-29 21:33:53 +10:00
Mark Furneaux 84434fd84e Fix dbz possibility with small buffers at end of track
There was a possibility of a dbz when a buffer sent to the
analyzer was shorter than 1ms long, such as what may happen at the end
of a track when stopping. This patch guards against this.
2014-05-17 14:38:46 -04:00
Mark Furneaux 8f9229d7c9 Apparently I'm blind. (Refactoring) 2014-05-03 09:28:07 -04:00
Mark Furneaux 00a1fe1e32 Refactoring 2014-05-03 09:14:15 -04:00
Mark Furneaux 6c653e5ba2 Synchronize buffer chunks with audio stream
The chunks are now determined by the density of data in the buffer
to the length of audio in the buffer. The chunk length can change
size so that the audio that is analysed is exactly what is being played
at the instant the frame is requested.
2014-04-30 14:18:39 -04:00
Mark Furneaux ee7fed36bc Fix pointer arithmetic when seeking buffers
It's possible the sample type will change, so best to not use
a fixed value.
2014-04-30 10:00:58 -04:00
Mark Furneaux 53f21584e4 Fix inconsistent buffer sizes sent to analyzer
The analyzers are sent new buffers of audio data to process each time
they pass through the gst pipeline. Different file formats and bit depths/
sample rates can change the size of these buffers, in some cases making them
large and therefore infrequent. This causes choppiness in the analyzer
as it is not getting new data with every frame. This patch chunks the buffers
coming off the pipeline to correspond with the framerate of the analyzer.
2014-04-29 21:38:21 -04:00
Mark Furneaux f793d09d8e Fix play bleeding into next track after auto stop
If "fade out on stop" is enabled, the "stop after this track" feature
would stop not stop the on current track, but instead start playing
the next track and fade out on that immediately. This patch disables
fadeout when the engine is stopped by HandleStopAfter().
2014-04-26 00:58:08 -04:00
Marcus Fritzsch e3bea84bea gstenginepipeline: make buffer min fill configurable 2014-04-02 11:54:14 +02:00
David Sansome 1719b1599c Get audio device names on Windows too. 2014-03-29 23:48:26 +11:00
David Sansome 2d7be1502f Get audio device names on OS X too. 2014-03-29 22:44:08 +11:00
David Sansome 6d1dc56a7c Get a list of available audio devices from pulseaudio, and let the user choose
from those in the settings dialog instead of just giving him a text box.
2014-03-29 19:31:38 +11:00
John Maguire 192b60d965 Use nullptr as parent parameter default everywhere 2014-02-10 16:03:54 +01:00
John Maguire 3323c2d094 Convert all instances of foreach() to a C++11 for
find ext src -name '*.cpp' -exec \
    sed -i -e 's/foreach(\([^,]\+\),/for (\1 :/' {} \;
2014-02-10 14:43:32 +01:00
John Maguire bebd781fdf Reformat all non-3rd-party C/C++/Objective-C++.
Command line:
find src ext -regex '.*\.\(h\|cpp\|mm\)' -exec clang-format -i
 -style='{BasedOnStyle: Google, DerivePointerBinding: false}' {} \;
2014-02-07 16:34:20 +01:00
John Maguire 71893e4847 Use nullptr instead of NULL everywhere. 2014-02-06 17:29:59 +01:00
John Maguire d309d4ab27 Use c++11 instead of boost where possible. 2014-02-06 16:51:39 +01:00
Arnaud Bienner 7084697aa3 Prevent Clementine to loop forever when trying to play a song with repeat enabled in a playlist which contains only unavailable songs 2014-02-04 22:08:32 +01:00
John Maguire 56c949815b First pass at Gstreamer 1.0 porting.
This at least compiles against gstreamer 1.2.
Things that work:
* Playing audio
* Automatically completing tags

Things that don't work
* Spotify
* Moodbar

Things I haven't tested
* Transcoding
2013-09-26 17:49:24 +02:00
David Sansome 2c55688601 Make the GPL spotify code non-optional 2013-09-18 00:49:29 +10:00
David Sansome 246e0808d2 Emit EOS when the buffer timestamps go backwards, as well as when a DISCONT buffer arrives. Fixes issue 3721. 2013-06-08 14:31:29 +10:00
David Sansome e7dcac4f15 When transitioning to a preloaded song, emit the EOS event at the time the
audio actually changes to the next song instead of when the src changes songs.

Fixes issue 3716
2013-06-04 22:17:44 +10:00
John Maguire 07e7950f7e Remove obsolete ClearScopeBuffers() reference. 2013-06-03 18:14:20 +02:00
David Sansome 1a4e4ba86f Fix a compilation error on an old GCC 2013-06-01 18:50:25 +10:00
David Sansome 619261f5e1 Remove the precise analyzer timing code from Amarok and instead just use the
latest buffer from GStreamer.  This works just as well and fixes the occasional
freezing analyzer.  Fixes issue 2464
2013-06-01 18:03:59 +10:00
David Sansome 90898bd255 Take the buffer duration into account when deciding when to preload the next
song for gapless playback.
2013-06-01 17:25:56 +10:00
John Maguire 3d434f1c88 Remove iDevice support as it doesn't work well for modern devices and libgpod shows no signs of updating to support them.
Fixes issue #3683
2013-05-17 15:30:56 +02:00
John Maguire 36975c41d2 Add stereo balance slider as part of equalizer. 2013-04-26 20:28:57 -07:00
Andreas cccfe814d0 - Fix label texts in settings page.
- Remove logging.
2013-04-23 00:17:04 +02:00
Andreas ec481d5874 Fixed issue 578: fade-in fade-out on (un)pause. 2013-04-22 21:42:04 +02:00
John Maguire 90803fa0e0 Remove use of deprecated gstreamer functions. 2013-01-29 13:19:26 +01:00
John Maguire 24ac9adbe5 Beginnings of playback from Ubuntu One file store. 2012-11-27 18:35:06 +01:00
John Maguire 3b935e89da cstdint is missing on Snow Leopard. 2012-11-21 14:41:37 +01:00
John Maguire 80d35ef128 Merge remote branch 'origin/mingw-w64' 2012-11-19 18:17:19 +01:00
David Sansome df21da786e Increase the priority of streaming threads on OS X to reduce audio stuttering a bit.
Fixes issue 3275
2012-11-18 11:06:46 +11:00
John Maguire 79318cc4e1 Build fixes for mingw-w64 2012-11-13 14:43:13 +01:00
John Maguire 371b63e159 Use access_token URL param instead of header hack for Google Drive. 2012-11-02 16:47:40 +01:00
John Maguire 27f60c281e Set the user agent for gstreamer HTTP streams. 2012-10-23 17:34:58 +02:00
John Maguire 517252ccc1 Merge branch 'master' into drive
Conflicts:
	data/data.qrc
2012-07-25 15:36:57 +02:00
Arnaud Bienner 0e3dc5a8be Add new ConcurrentRun templates for void functions, and functions with 3 arguments + corresponding test cases.
+ SongLoader now has its own QThreadPool to load folders/playlist in background.
Update issue 2598
This should fix slowliness problems reported.
2012-07-16 00:06:55 +02:00
John Maguire 145f1efaf5 Basic support for Google Drive & OAuth. 2012-07-12 14:09:20 +02:00
John Maguire ba95cc7788 Move the setting of the gstreamer environment variables into main() to avoid a race condition where the spotify blob would start up before the gstreamer initialisation happened in the main process and thus would try and load the system gstreamer plugins. 2012-06-20 11:19:34 +02:00
John Maguire 5280038f9a Remove unused debug #define. 2012-06-18 13:56:56 +02:00
David Sansome 5984aecbb8 Make the spotify blob send 5 seconds of audio ahead of the clock time to fill up Clementine's buffer when starting playback. Fixes issue 2671 2012-06-09 17:52:39 +01:00
John Maguire cbc650f44b Use CHECKED_GCONNECT instead of g_signal_connect everywhere. 2012-06-08 15:34:00 +02:00
David Sansome 638a4b9739 Bundle the gstreamer moodbar plugin, with a patch that protects calls to fftwf_plan from multiple threads. 2012-05-27 17:30:58 +01:00
Arnaud Bienner 7f56833125 Nicer 'if' block for setting monoplayback 2012-05-21 02:07:00 +02:00
Arnaud Bienner 26639503d0 Update issue 2137
Mono playback implemented; available in preferences
2012-05-20 20:50:25 +02:00
Arnaud Bienner 01daea7090 Commit missing modifications/change ConcurrentRun description a bit 2012-04-25 00:29:19 +02:00
David Sansome 96eccdfabf When receiving a buffering message, do the pipeline state change in a different thread to avoid a deadlock with the main thread when the user is seeking.
Fixes issue 2709
2012-02-13 20:49:25 +00:00
David Sansome 69b16fdabc Add some better comments to the buffering stuff in gstenginepipeline 2012-01-27 14:30:28 +00:00
David Sansome 03b0e51b7d Ignore buffering messages from the magic queue2 element that's created by the uridecodebin. Also lower the threshold for buffering to start. 2012-01-27 11:08:18 +00:00
David Sansome 0335d57a0f Improve pipeline buffering: on an underrun event playback will now pause until the buffer is completely full. Fixes audio stuttering on when listening to radio streams on slow networks. 2012-01-23 15:01:39 +00:00
John Maguire dfdb71b164 Make it so!
Fixes issue #2527
2012-01-10 17:00:17 +01:00
David Sansome 5ee6064a50 Fix compilation errors when compiling without spotify 2011-11-28 19:09:52 +00:00
David Sansome 22e6a649b7 Remove the custom gstspotifytcpsrc and use tcpserversrc ! gdpdepay to receive data. Use a gstreamer pipeline on the other end as well to send data. 2011-11-28 18:45:12 +00:00
Arnaud Bienner bac6095491 Rename GrooveShark to Grooveshark everywhere, as it is actually named like this 2011-10-05 21:59:15 +02:00
David Sansome c05a2ee182 Add a spotify gstreamer source element instead of hacking about with gsttcpserversrc. Implement seeking on spotify tracks. 2011-09-25 19:24:44 +01:00
Arnaud Bienner 10c141e1c1 Fix leak 2011-09-20 19:48:07 +02:00
Arnaud Bienner d380c2e49d Add 'Range' field to HTTP header when playing GrooveShark streaming URL 2011-09-19 23:52:21 +02:00
Arnaud Bienner 3dc4e3aa0b Merge branch 'master' of https://code.google.com/p/clementine-player 2011-08-26 00:23:30 +02:00
Arnaud Bienner 21f5345da4 Also work with cdda URLs which doesn't contain device inside URL 2011-08-26 00:11:18 +02:00
David Sansome 73a1052f70 Use a fakesink instead of an appsink in the probe pipeline to fix a memory leak and make it work on Windows where we don't bundle appsink.
Fixes issue 2177
2011-08-22 22:40:33 +01:00
Andrew Gaydenko 41a151840f Split the gstreamer pipeline - one path is converted to 16-bit int samples for the scope. The other is kept at float32 to preserve the bit depth of the audio.
Fixes issue 2114
2011-08-19 22:02:42 +01:00
Arnaud Bienner 07ce755060 Work with multiple CD devices 2011-08-10 00:49:36 +02:00
David Sansome 797dfe9841 Fix some connect() warnings when starting a background stream 2011-05-21 19:27:23 +00:00
John Maguire 51e031df2b Add class for transcoding a Song into an OGG Vorbis stream. 2011-05-19 16:34:33 +00:00
Arnaud Bienner d20f689ab4 Revert r3234 because, as discussed, this could lead to blocking behavior 2011-05-03 22:38:24 +00:00
Arnaud Bienner 709d339866 Avoid to create a new thread when changing state. Make the UI more reactive, especially when Qt threadpool is already full (for example when fingerprinting several files in parallel for MusicBrainz autotagging) 2011-05-03 00:02:35 +00:00
David Sansome 6f1f4484f4 Allow songs from the spotify service to be added to the playlist, and bodge a tcpserversrc into GstEnginePipeline 2011-04-26 18:39:38 +00:00
David Sansome 3eedc916ad Add a new logging system 2011-04-22 16:50:29 +00:00
David Sansome 8f4c1dbbf6 When doing gapless playback, fix a bug where the TrackEnded signal would be emitted too early, before the track had actually ended. This caused the song after the current song to get scrobbled and its playcount increased. Fixes issue 1771 2011-04-17 14:11:37 +00:00
David Sansome 23c744f41a Add a queue element to the pipeline to buffer even local sources, and increase the default buffer size to 4 seconds. 2011-04-16 14:04:12 +00:00
David Sansome 7d6eee590a Don't force the track to stop at the end of a section unless it's part of a cue sheet. Fixes issue 1610. Fixes issue 1636. 2011-03-28 22:11:07 +00:00
David Sansome 008d396077 Use a monotonically increasing ID to identify pipelines, instead of their pointer value. 2011-03-20 21:40:53 +00:00
David Sansome b3db5d699e Remove CanDecode from GstEngine - it was only used by a test, and the test was disabled on buildbot because it was unreliable. 2011-03-20 19:36:50 +00:00
David Sansome 116bfc4594 Remove a comment and a TODO 2011-03-20 19:36:44 +00:00
David Sansome e761f2bdc8 Fix a bug where the engine would skip a song that didn't exist, but then not play the next song. 2011-03-20 19:18:54 +00:00
David Sansome a2d62883c2 Ignore subsequent errors by setting a flag instead of setting the pipeline state, which may deadlock if the pipeline is also being destroyed at the same time. Fixes issue #1584 2011-03-17 19:52:05 +00:00
Paweł Bara 8ed6eca57e fixing skipping songs for library songs
another "silent" GST error type
David's POT
2011-03-13 22:57:49 +00:00
David Sansome cb275f318f Add an option to disable automatic crossfading between tracks on the same album or from the same cuesheet. Fixes issue 1479 2011-03-13 18:37:46 +00:00
Paweł Bara c8c394d200 don't push new URL into engine in the CurrentMetadataChanged slot - send it the beginning and end markers only
this means that Clementine still skips broken songs while at the same time fixes issue #1565
2011-03-12 20:20:13 +00:00
Paweł Bara e25e9efffc Clementine now skips broken streams (radios for example). At least I hope it always does. ;) Fixes issue #1562. 2011-03-12 13:24:30 +00:00
Paweł Bara 8722e00103 Clementine now skips songs that don't exist anymore (updates issue #250) 2011-03-10 18:01:35 +00:00
David Sansome 6a64b8f8f3 Fix a bug that made it sometimes impossible to seek a track 2011-03-07 20:00:03 +00:00
David Sansome 5672fa90e7 Wait for the gstreamer pipeline to be connected and in either the PAUSED or PLAYING state before trying to do the initial seek. This should stop the occasional "seek failed" messages when playing tracks. Fixes issue #1292 2011-03-06 18:11:53 +00:00
David Sansome 2cb8b8dba7 Stop cue sections at exactly the right place, and move seamlessly between consecutive sections of the same file. Fixes issue #1233. Fixes issue #1419. 2011-03-06 16:35:47 +00:00
David Sansome cce41f1372 Fix the scope when playing cue files. Fixes issue #1291 2011-03-06 14:18:53 +00:00
Arnaud Bienner 375abfd04e Don't exit application to fast, to allow fadeout 2011-02-16 22:43:05 +00:00
Paweł Bara 383138737c the easy way is worse - reverting my last GstEngine's changes 2011-02-16 17:07:06 +00:00
Paweł Bara 2b0dcebaec let's try simpler EndOfStreamReached version now that we have nanoseconds 2011-02-15 22:37:33 +00:00
David Sansome 2740ad4370 Oops 2011-02-14 20:15:35 +00:00
David Sansome 8c691d2b3e Use constants instead of "1eN" literals for converting between time units. 2011-02-14 19:34:37 +00:00
David Sansome 37618dae96 Use nanoseconds instead of seconds or milliseconds throughout the Player and Engine. 2011-02-13 18:29:27 +00:00
David Sansome ee06d779f2 Fix a bug that would occasionally cause an extra track to be skipped when a track ended. Fixes issue #1233 2011-01-20 21:29:48 +00:00
Paweł Bara 34d496aadc cleaner forced end-of-track when media stream is past it's 'end' marker 2011-01-03 18:03:15 +00:00
Paweł Bara bbe97b00a2 make engine 'multiple-section songs' aware -> you should now be able to play your .cue related music 2011-01-02 18:53:45 +00:00
David Sansome 6737b8a5c2 Always use the gstreamer engine, remove xine, vlc and phonon engines. 2010-12-26 13:01:35 +00:00
David Sansome d531d01f60 Fix Windows \\ paths when preloading files as well as when playing them initially. 2010-12-20 19:00:48 +00:00
Paweł Bara 5082d81ba4 some corrections to MPRIS 2 (Updates issue #1058) 2010-12-12 23:20:41 +00:00
John Maguire 4c66007e26 Code review comments from r2370. 2010-12-09 13:06:00 +00:00
John Maguire 3a19bb9d46 Fix config file location on Mac and automatically migrate. 2010-12-09 12:34:08 +00:00
David Sansome 44dc05a87a Don't stop the track when it's about to end if crossfading is enabled but fadeout is disabled. Fixes issue #1040 2010-12-07 20:29:13 +00:00
John Maguire c625acfd87 Refactor background streams.
Add volume control for background streams and infrastructure for custom streams.
2010-12-03 13:53:43 +00:00
David Sansome ed1a25693c Add missing licenses to debian/copyright, and add copyright information to each source file 2010-11-20 13:27:10 +00:00
John Maguire a916db4c13 Add buffer duration to initialisation list. 2010-10-11 16:46:06 +00:00
John Maguire 65c7e6007c Maybe working gstreamer buffer setting. 2010-10-11 15:58:05 +00:00
David Sansome 61ea0cb24b Don't block the GUI while a background stream is starting 2010-10-02 12:51:09 +00:00
David Sansome 0c95f7c234 Safeguard against a null pipeline in GstEngine::Play. 2010-09-26 20:59:41 +00:00
David Sansome 4f943795bc Fix a handle + memory + whatever else leak when automatically changing tracks in Windows. Fixes issue #782 2010-09-22 22:22:02 +00:00
David Sansome be83655c57 Ignore tag messages from gstreamer when we're switching to a preloaded track - otherwise the Player receives the messages while it still thinks it's playing the old song, and gets the wrong track number. 2010-09-04 13:50:53 +00:00
David Sansome dedb9621e8 Fix the songloader test by making it wait for the gstreamer engine to finish initialisation 2010-08-28 19:22:58 +00:00
John Maguire c801ce1a2d Rollback analyzer changes. 2010-08-28 18:48:16 +00:00
David Sansome cf6399df28 Initialise the GStreamer options in the settings dialog correctly, and ensure the GST engine can never try to create an empty sink. Fixes issue #661. 2010-08-27 16:41:35 +00:00
David Sansome 75b70b4acb Initialise gstreamer in the background instead of blocking the UI 2010-08-27 13:57:39 +00:00
John Maguire 831c5221bb Add header to fix build on Linux. 2010-08-20 12:30:42 +00:00
John Maguire 59233f5192 Disable FFT when no analyzer in use. 2010-08-20 12:14:43 +00:00
John Maguire 652f09b926 Fix memory leak from spectrum element.
Fixes issue #638
2010-08-19 10:14:56 +00:00
John Maguire 2db2354e0b Move spectrum before volume element.
Tweak new analyzer.
2010-08-18 19:12:28 +00:00
John Maguire 459a134201 Remove FHT and use gstreamer's FFT for all analyzers. 2010-08-18 18:21:30 +00:00
John Maguire 03274b0831 Add new analyzer API and example using gstreamer spectrum element. 2010-08-18 16:09:45 +00:00
David Sansome 0b85797e45 Fix a crash when the gst state change takes ages 2010-08-04 20:32:53 +00:00
David Sansome 6f63dcc37f Remove some debug output 2010-08-04 18:31:18 +00:00
John Maguire 35e87b2a77 Start gstreamer playing from a separate thread. 2010-08-04 12:13:43 +00:00
David Sansome aad6093b63 Give each gstreamer element a unique name 2010-08-02 18:13:40 +00:00