Commit graph

30 commits

Author SHA1 Message Date
Jeffrey Goode
b76f197ff6 Silence build warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30708 a1c6a512-1295-4272-9138-f99709370657
2011-10-04 13:08:04 +00:00
Michael Sevakis
7ad2cad173 Commit work started in FS#12153 to put timing/position information in PCM
buffer chunks.

* Samples and position indication is closely associated with audio data
  instead of compensating by a latency constant. Alleviates problems with
  using the elapsed as a track indicator where it could be off by several
  steps.

* Timing is accurate throughout track even if resampling for pitch shift,
  whereas before it updated during transition latency at the normal 1:1 rate.

* Simpler PCM buffer with a constant chunk size, no linked lists.

In converting crossfade, a minor change was made to not change the WPS until
the fade-in of the incoming track, whereas before it would change upon the
start of the fade-out of the outgoing track possibly having the WPS change
with far too much lead time.

Codec changes are to set elapsed times *before* writing next PCM frame because
 time and position data last set are saved in the next committed PCM chunk. 


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30366 a1c6a512-1295-4272-9138-f99709370657
2011-08-28 07:45:35 +00:00
Andree Buschmann
e75018ad66 Fix several 'variable set but not used' warnings reported from GCC 4.6.0.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29805 a1c6a512-1295-4272-9138-f99709370657
2011-05-01 11:42:41 +00:00
Michael Sevakis
5e57edf263 Clean up speex a bit after the playback changes in r29785. Haven't found any idiosyncracies not present before then. Fix it always returning CODEC_ERROR even when exiting codec_run normally.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29804 a1c6a512-1295-4272-9138-f99709370657
2011-05-01 04:23:30 +00:00
Michael Sevakis
08bedf8305 Having a default weak codec_main symbol doesn't seem to be working out for compiling the sim under cygwin in at least some cases. Just implement it explicitly in all cases.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29789 a1c6a512-1295-4272-9138-f99709370657
2011-04-27 12:52:11 +00:00
Michael Sevakis
c537d5958e Commit FS#12069 - Playback rework - first stages. Gives as thorough as possible a treatment of codec management, track change and metadata logic as possible while maintaining fairly narrow focus and not rewriting everything all at once. Please see the rockbox-dev mail archive on 2011-04-25 (Playback engine rework) for a more thorough manifest of what was addressed. Plugins and codecs become incompatible.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29785 a1c6a512-1295-4272-9138-f99709370657
2011-04-27 03:08:23 +00:00
Michael Sevakis
b3bfc09852 r29348 changes can cause certain codecs to jump to code on early track change that assumes initializations have been done. Make sure that track change cleanups are only called if the state is sane to do so. Stops my vorbis data abort issue. Correctness for speex is a guess based on the library calls' source. It appears only speex/vorbis should have been bothered by said revision.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29489 a1c6a512-1295-4272-9138-f99709370657
2011-03-02 03:47:42 +00:00
Michael Sevakis
85e40257dc Enforce that codecs wait for their metadata in a proper-ish and consistent manner. Sort of a halfway patch; best would be to give them an internal copy of the current track information which lasts unaltered by playback until a track switch or unload.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29348 a1c6a512-1295-4272-9138-f99709370657
2011-02-20 15:27:10 +00:00
Nils Wallménius
6325ef978b codecs: mark some local variables with 'static'
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27566 a1c6a512-1295-4272-9138-f99709370657
2010-07-25 22:24:53 +00:00
Tomer Shalev
a0eadade30 FS#10122 - Fix wrong format type of logf functions in speex.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22857 a1c6a512-1295-4272-9138-f99709370657
2009-09-30 12:56:33 +00:00
Nicolas Pennequin
396aeafa6c Correct Björn's name in various file headers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20491 a1c6a512-1295-4272-9138-f99709370657
2009-03-23 17:08:46 +00:00
Bertrik Sikken
1e3ed74479 Made local functions static for vorbis and speex codecs
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18263 a1c6a512-1295-4272-9138-f99709370657
2008-08-12 22:01:55 +00:00
Daniel Stenberg
2acc0ac542 Updated our source code header to explicitly mention that we are GPL v2 or
later. We still need to hunt down snippets used that are not. 1324 modified
files...
http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 18:10:04 +00:00
Thom Johansen
9fe5633789 Stop writing to the metadata struct in the codec, it's not nice. These fields are already properly filled out anyway.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15845 a1c6a512-1295-4272-9138-f99709370657
2007-11-29 01:45:56 +00:00
Thom Johansen
2bb48eb8ed Throw away the first samples to come out of the decoder to account for encoder latency.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15618 a1c6a512-1295-4272-9138-f99709370657
2007-11-14 14:43:32 +00:00
Thom Johansen
d75a5486e6 New Speex stereo code in libspeex and speex.c, stereo should be more robust now. Remove last floating point code in speex.c and remove some unused stuff.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15611 a1c6a512-1295-4272-9138-f99709370657
2007-11-14 00:46:49 +00:00
Thom Johansen
a953e65dbd Remove C++ style comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15556 a1c6a512-1295-4272-9138-f99709370657
2007-11-10 15:43:40 +00:00
Thom Johansen
1730e406ed Strip out a large unneeded portion of the Speex stereo decoding function, and port the rest of it to fixed point. Disable the unneeded stereo float decoding function. Correct the output buffer size and change some minor syntactic stuff in speex.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15554 a1c6a512-1295-4272-9138-f99709370657
2007-11-10 14:57:49 +00:00
Thom Johansen
80e4d671d2 Make Speex read its input directly from the Ogg packet, which makes for less copying and one less malloc(). Thanks to Jean-Marc Valin for the tip.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15395 a1c6a512-1295-4272-9138-f99709370657
2007-11-01 21:34:15 +00:00
Dave Chapman
a8b7967055 Code police - codecs shouldn't call GUI functions
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13341 a1c6a512-1295-4272-9138-f99709370657
2007-05-07 10:34:10 +00:00
Jens Arnold
4d6374c923 Get rid of the 'center' parameter for splashes. There were only 2 of almost 500 splashes which were not centered.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12807 a1c6a512-1295-4272-9138-f99709370657
2007-03-16 21:56:08 +00:00
Dan Everton
879070f89e * Clean up speex.c a little.
* Sync to Speex SVN 12735 which includes some of our warnings fixes.
* Move decoder output to IRAM. Not much perfomance gain though.



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12735 a1c6a512-1295-4272-9138-f99709370657
2007-03-12 11:54:07 +00:00
Michael Sevakis
97f369a587 SWCODEC: Annoying neatness update. Use intptr_t for codec_configure_callback and dsp_configure and stop all the silly type casting of intergral types to pointers to set dsp configuration and watermarks. Shouldn't have any effect on already compiled codecs at all. Will fix any important patches in the tracker so they compile.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12259 a1c6a512-1295-4272-9138-f99709370657
2007-02-10 16:34:16 +00:00
Magnus Holmgren
2c7030b402 Fix problems building Speex when building the simulator on Cygwin.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12256 a1c6a512-1295-4272-9138-f99709370657
2007-02-10 13:33:29 +00:00
Dan Everton
7bf62e8da6 * Sync Speex codec with Speex SVN revision 12449 (roughly Speex 1.2beta1).
* Redo the changes required to make Speex compile in Rockbox. Should be a bit easier to keep in sync with Speex SVN now.
* Fix name of Speex library in codecs Makefile.



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12254 a1c6a512-1295-4272-9138-f99709370657
2007-02-10 11:44:26 +00:00
Dan Everton
69c40d7e84 Fix stereo Speex file decoding.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12250 a1c6a512-1295-4272-9138-f99709370657
2007-02-10 06:11:30 +00:00
Jens Arnold
161bf8f0e1 Fixed 64 bit warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12249 a1c6a512-1295-4272-9138-f99709370657
2007-02-10 00:42:35 +00:00
Dave Chapman
0abfe9f8ea Whitespace is nice, let's use some. No functional changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12245 a1c6a512-1295-4272-9138-f99709370657
2007-02-09 18:10:24 +00:00
Dan Everton
c22e29f1c3 Fix a warning in Speex codec_main declaration.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12243 a1c6a512-1295-4272-9138-f99709370657
2007-02-09 10:20:27 +00:00
Dan Everton
ebc58c9f06 Add Speex playback support. Patch from FS #5607 thanks to Frederik Vestre.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12241 a1c6a512-1295-4272-9138-f99709370657
2007-02-09 10:06:53 +00:00