Commit graph

60 commits

Author SHA1 Message Date
Stéphane Doyon
c893affeef Accept FS#8918: Voice multiple thumbnails and talk race fixes.
-Allows loading multiple thumbnails back-to-back in the one thumbnail buffer.
-Mutex to prevent race conditions with talk queue indices and
thumbnail buffer state.
-Synchronous shutup.
-Shutup is a noop if no voice is queued.
-mp3_play_stop() does nothing until the audio thread is ready.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18046 a1c6a512-1295-4272-9138-f99709370657
2008-07-15 14:06:11 +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
Stéphane Doyon
ab0f7e17ef Accept FS#6188: study mode.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17355 a1c6a512-1295-4272-9138-f99709370657
2008-05-04 13:47:58 +00:00
Bertrik Sikken
c97e503a10 Cleaned up playblack.h header file and usage of it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17276 a1c6a512-1295-4272-9138-f99709370657
2008-04-28 14:13:13 +00:00
Bertrik Sikken
43414807da Updated use of events.h header file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17267 a1c6a512-1295-4272-9138-f99709370657
2008-04-27 19:56:16 +00:00
Steve Bavin
135cc757bd Revert my earlier const madness, we'll keep the parameter lists simple.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16863 a1c6a512-1295-4272-9138-f99709370657
2008-03-28 12:51:33 +00:00
Steve Bavin
c9df8fd87b The const police raid playback.c, should be no change to behaviour.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16860 a1c6a512-1295-4272-9138-f99709370657
2008-03-28 11:24:24 +00:00
Antoine Cellerier
7e1a22e5be CODEC_IDX_{AUDIO,VOICE} are already defined in apps/dsp.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16725 a1c6a512-1295-4272-9138-f99709370657
2008-03-20 21:44:04 +00:00
Miika Pekkarinen
19c6e66c13 Implement the playback event handling as a system-wide multi-purpose event system. Unified mpeg.c and playback.c audio event handling. Converted ata_idle_notify to use the new event handling system also.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16682 a1c6a512-1295-4272-9138-f99709370657
2008-03-16 13:55:16 +00:00
Miika Pekkarinen
3c41df9d14 Fixed yellow.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16551 a1c6a512-1295-4272-9138-f99709370657
2008-03-08 07:36:56 +00:00
Miika Pekkarinen
2ccdc48ee9 Rewritten playback event handling. Should fix runtime statistics gathering.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16546 a1c6a512-1295-4272-9138-f99709370657
2008-03-07 22:56:51 +00:00
Nicolas Pennequin
7f79564abc Accept FS#8053 by Bertrik Sikken: playback.c and mpeg.c simplification by removal of last_track argument in track_(un)buffer callback.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15384 a1c6a512-1295-4272-9138-f99709370657
2007-10-31 13:43:50 +00:00
Nicolas Pennequin
3e3c43c747 Finally commit Metadata on Buffer!
buffering.c and buffering.h implement the new buffering API. playback.c is translated to that API. For more information about the whole concept, see http://www.rockbox.org/wiki/MetadataOnBuffer.
There should be no major visible changes, but most existing bugs remain (though fixing them should be easier now that playback.c is a bit less complex) and there probably will be new ones. Please report any problem!
Next step is to adapt cuesheet support, which is partly disabled here, and of course fix as much bugs as possible.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15306 a1c6a512-1295-4272-9138-f99709370657
2007-10-25 21:27:45 +00:00
Steve Bavin
4d34457cd0 Thanks to Nico_P, struct track_info can now be internal to playback.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14947 a1c6a512-1295-4272-9138-f99709370657
2007-10-02 07:47:43 +00:00
Nils Wallménius
5b76936a44 Accept FS#6159 'Add voice to roughly 100 splash screens and yes-no menus' by Stephane Doyon with some minor tweaks by me. Rerun 'configure' and do a 'make clean' before rebuilding your voice files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14213 a1c6a512-1295-4272-9138-f99709370657
2007-08-06 13:08:36 +00:00
Dave Chapman
4ae85e6886 Revert the addition of the steal_codec_stack function. Replace by accessing the threads structure to grab the codec stack. Maybe a better solution exists.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13349 a1c6a512-1295-4272-9138-f99709370657
2007-05-07 23:54:10 +00:00
Dave Chapman
f4a9dab4d1 Use a separate thread in test_codec, with the same (IRAM) stack as the main codec thread. Add a function to the plugin API to steal the codec thread, which test_codec copies and then restores. Now libmad can be benchmarked.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13347 a1c6a512-1295-4272-9138-f99709370657
2007-05-07 22:30:23 +00:00
Dave Chapman
7cdd0fe6ea Initial version of a test_codec plugin (viewer). This loads the audio file into the audio buffer and decodes it as fast as it can via a locally implemented version of the codec API. Intended for use when optimising codecs - so isn't built by default. Remember to add it to both plugins/SOURCES and viewers.config to enable it. Currently the codec is run in the main thread which means mpa.codec doesn't work - it requires more stack than is available on the main thread. The solution will be to create a new thread in the plugin which steals the main codec thread's IRAM stack, but that's not done yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13345 a1c6a512-1295-4272-9138-f99709370657
2007-05-07 17:23:31 +00:00
Dave Chapman
1feb8bd4a1 Minor header file cleanup - try and include the minimal number of files, and only where they are needed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13344 a1c6a512-1295-4272-9138-f99709370657
2007-05-07 13:32:56 +00:00
Michael Sevakis
e1dd10ddfb SWCODEC: Get rid of extra swap buffer and get back 512K of RAM or 100K if the players RAM is <= 1MB. Make any needed changes to things to stabilize and facilitate this including removing flattening out initialization. Comment some things heavily. Fix a few logfs I didn't want to see the compiler complaining about.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12843 a1c6a512-1295-4272-9138-f99709370657
2007-03-19 22:04:17 +00:00
Michael Sevakis
5d63776a24 Reenable aynchronous audio init stage. Really just single stage with aynchronous enabling of outputs. Keeps audio_init last so prior init steps can use the audiobuffer in any desired way. Audio will be fully initialized by the time the UI is entered. Playback of voice or audio will be delayed properly until audio hardware is ready.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12714 a1c6a512-1295-4272-9138-f99709370657
2007-03-11 05:04:48 +00:00
Steve Bavin
71dd94a7eb A bit more voice simplification/MAS fixage (FS#6241). Also clear any buffered voice when playback is started.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11334 a1c6a512-1295-4272-9138-f99709370657
2006-10-25 08:54:25 +00:00
Steve Bavin
f512558650 Only flush PCM buffered voice data when explicitly told to. Patch by Stephane Doyen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11331 a1c6a512-1295-4272-9138-f99709370657
2006-10-25 06:19:27 +00:00
Magnus Holmgren
719d220925 Applied patch #5879 by Andrew Cupper: Fix backward seeking bug.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10807 a1c6a512-1295-4272-9138-f99709370657
2006-08-30 15:47:18 +00:00
Michael Sevakis
4fc717a4c1 Added FS#2939 Encoder Codec Interface + Codecs by Antonius Hellmann with additional FM Recording support and my modifications
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10789 a1c6a512-1295-4272-9138-f99709370657
2006-08-28 22:38:41 +00:00
Linus Nielsen Feltzing
224c0a13eb Finally, the new button action system is here, thanks to Jonathan Gordon. Some button mappings have changed and other things may break. Comments should go to the forum, http://forums.rockbox.org/index.php?topic=5829.0 or the mailing list.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10582 a1c6a512-1295-4272-9138-f99709370657
2006-08-15 12:27:07 +00:00
Dave Chapman
0a7ded3e29 Memory size checks in .c/.h files should use MEM, not MEMORYSIZE
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10557 a1c6a512-1295-4272-9138-f99709370657
2006-08-13 09:19:24 +00:00
Tomasz Malesinski
28910e7e17 Various lower limits and sizes for targets with 1MB of RAM (Iriver iFP7xx).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10556 a1c6a512-1295-4272-9138-f99709370657
2006-08-12 23:01:52 +00:00
Miika Pekkarinen
513cafec7e Checked the rebuffering code. Might fix buffers desyncing and a system
crash.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10373 a1c6a512-1295-4272-9138-f99709370657
2006-07-31 06:12:53 +00:00
Miika Pekkarinen
d43bff987a Define MAX_TRACK_MAX and use it to keep the ring track structure
inside boundaries. Cleaned identation also.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10361 a1c6a512-1295-4272-9138-f99709370657
2006-07-29 17:25:31 +00:00
Brandon Low
0744e760cb Ensure that the buffer doesn't get out of sync on rebuffer track changes. Remove the concept of pcmuf_boost_mode as it doesn't seem necessary, and adds an unnecessary way for the CPU to stay boosted.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9646 a1c6a512-1295-4272-9138-f99709370657
2006-04-13 17:30:54 +00:00
Brandon Low
483c947c3d Add a logf, remove an unused parameter, and an unused member of the track_info struct, ensure that we unboos on stop even if buffering, make a function take a parameter instead of using a global
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9644 a1c6a512-1295-4272-9138-f99709370657
2006-04-13 15:48:00 +00:00
Brandon Low
62ccbbb418 Rework track skipping. Full playback stop is no longer involved in track skipping. Further simplification of the play related functions can be achieved with this in place, but that's for later. Known skip related bug, high pitched noise sometimes, otherwise stuff is better
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9601 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 03:55:58 +00:00
Brandon Low
4f3bb2ded7 Fix another nasty rebuffering bug, and ensure that buffer and unbuffer events are triggered correctly. Also remove another unused varialbe track_info->filepos
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9582 a1c6a512-1295-4272-9138-f99709370657
2006-04-09 15:30:28 +00:00
Brandon Low
86f1e2ead2 Convert playback.c to use unsigned byte counters, and _minor_ refactoring of buffer callbacks
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9227 a1c6a512-1295-4272-9138-f99709370657
2006-03-24 13:43:15 +00:00
Miika Pekkarinen
d319116be4 iriver: Init audio on background.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8465 a1c6a512-1295-4272-9138-f99709370657
2006-01-27 11:39:46 +00:00
Thom Johansen
27c658c8a6 Enabled playback speed adjustment support for H1x0. Modified the resampler to do both channels in one pass.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8099 a1c6a512-1295-4272-9138-f99709370657
2005-11-28 22:26:20 +00:00
Anton Oleynikov
0bb62fb1e2 removed set audio status method - will be using different approach
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7844 a1c6a512-1295-4272-9138-f99709370657
2005-11-13 14:10:57 +00:00
Anton Oleynikov
3dbb3a271d iRiver: fix for audio kept on while playing a file + new function to set audio status (to be used later)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7838 a1c6a512-1295-4272-9138-f99709370657
2005-11-13 10:57:35 +00:00
Anton Oleynikov
00928af4dd iRiver: more robust folder skip routines + folder navigation on main unit via
either PLAY+LEFT/RIGHT or short then long LEFT/RIGHT


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7810 a1c6a512-1295-4272-9138-f99709370657
2005-11-10 22:31:47 +00:00
Thom Johansen
f60e6200f6 DSP_* constants moved from playback.h to dsp.h.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7529 a1c6a512-1295-4272-9138-f99709370657
2005-09-21 13:09:10 +00:00
Miika Pekkarinen
159c52dd36 Initial voice ui support for software codec platforms. Added also a
beep when changing tracks.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7360 a1c6a512-1295-4272-9138-f99709370657
2005-08-20 11:13:19 +00:00
Jens Arnold
a88d076ac4 Preparation for runtimedb hookup on archos: don't pass software playback system specific structures.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7345 a1c6a512-1295-4272-9138-f99709370657
2005-08-18 06:05:15 +00:00
Linus Nielsen Feltzing
315304aef6 iriver: added a DSP_SWITCH_FREQUENCY config, for on-the-fly sample frequency changes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7298 a1c6a512-1295-4272-9138-f99709370657
2005-08-10 22:56:24 +00:00
Magnus Holmgren
4a53787992 ReplayGain support for Ogg Vorbis files (also called VorbisGain) added.
Note that there is a small delay from leaving a setting until the change
can be heard (due to audio data buffering).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7234 a1c6a512-1295-4272-9138-f99709370657
2005-07-24 15:32:28 +00:00
Miika Pekkarinen
5c2c991d14 Applied patch "[ 1232957 ] MP3 metadata fixes for software codec".
Thanks to Magnus Holmgren. Now metadata reading is better with
improved performance for mp3 files.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7030 a1c6a512-1295-4272-9138-f99709370657
2005-07-05 19:55:40 +00:00
Michiel Van Der Kolk
765cd6d5e7 (in theory) more efficient (battery wise) runtime database code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6999 a1c6a512-1295-4272-9138-f99709370657
2005-07-03 21:08:16 +00:00
Miika Pekkarinen
9bde0380a6 Updated the track_unbuffer event callback.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6995 a1c6a512-1295-4272-9138-f99709370657
2005-07-03 18:36:24 +00:00
Miika Pekkarinen
d54811fe22 Fixed mono playback support for mp3. Added two other event handlers in
playback.c.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6986 a1c6a512-1295-4272-9138-f99709370657
2005-07-02 16:52:30 +00:00
Miika Pekkarinen
bbd42ad80b Fixed seeking in mp3 files (and with other codecs which supports
seeking currently). Even long seeks should be possible.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6973 a1c6a512-1295-4272-9138-f99709370657
2005-07-01 18:22:04 +00:00