Michael Sevakis
bbef13eddf
SWCODEC: Stop clicks between tracks when resampler is active by only switching the DSP frequency and not resetting the resampler at track boundaries. Will make sure DSP is correctly flushed at dicontinuities but don't hear any problems currently.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11600 a1c6a512-1295-4272-9138-f99709370657
2006-11-26 12:02:47 +00:00
Michael Sevakis
fbac4f8444
Audio bugfixes. Should wait for voice codec to reload before returning buffer when stealing voice. Certain variables that get or may get used during an IRQ should be declared 'volatile'.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11572 a1c6a512-1295-4272-9138-f99709370657
2006-11-22 09:13:14 +00:00
Daniel Ankers
242cbd5cd7
Change if CONFIG_CPU==PP50XX to ifdef CPU_PP where appropriate
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11569 a1c6a512-1295-4272-9138-f99709370657
2006-11-22 00:41:30 +00:00
Michael Sevakis
acc29d95be
SWCODEC/IRAM: Save voice IRAM when a plugin initializes its IRAM. Defines two macros for declaring and initializing IRAM. Plugins should use these instead. See mp3_encoder, doom, etc. for details. Further tweaks in buffer restoration after other use. Hiding of some interfaces that should only be used by buffer management.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11544 a1c6a512-1295-4272-9138-f99709370657
2006-11-18 02:18:29 +00:00
Mark Arigo
a60caa9f54
Fix alignment issue that caused data aborts on arm targets
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11540 a1c6a512-1295-4272-9138-f99709370657
2006-11-16 21:04:04 +00:00
Mark Arigo
9b0ef15c0d
Strip APE tags during buffering so they do not break MP3 gapless playback.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11525 a1c6a512-1295-4272-9138-f99709370657
2006-11-14 15:48:20 +00:00
Michael Sevakis
7bc41203af
Removed anachronisms introduced with low battery shutdown patch.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11524 a1c6a512-1295-4272-9138-f99709370657
2006-11-14 02:46:59 +00:00
Steve Bavin
6a27006a5d
Minor voice fixes; prevent voice queue overflow, fix compile of voice-less build
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11521 a1c6a512-1295-4272-9138-f99709370657
2006-11-13 09:07:18 +00:00
Brandon Low
8a82892e52
Thread API enhancements.
...
1) block_thread -> block_thread + block_thread_w_tmo -- this call was always used in distinct ways so having one call with a conditional was ugly.
2) enhance Slasheri's scheduler controlled boost concept. now any thread may trigger a boost which will last until that thread next sleeps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11509 a1c6a512-1295-4272-9138-f99709370657
2006-11-11 05:33:24 +00:00
Jens Arnold
03adbd280d
Ooops, adapt playback.c to the new IRAM distribution on X5. Codec IRAM is defined in more than one place...
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11495 a1c6a512-1295-4272-9138-f99709370657
2006-11-10 07:45:30 +00:00
Tomasz Malesinski
5c54ba49d5
Added macros controlling what goes to IRAM on different targets.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11483 a1c6a512-1295-4272-9138-f99709370657
2006-11-09 21:59:27 +00:00
Jonathan Gordon
d9f7ac24f4
fix booboo in ata.c (SYS_POWEROFF falling into SYS_USB_CONNECTED)
...
enable ata_idle callbacks in ata_mmc.c (calls the callbacks after 10s of
real inactivity)
fix builds
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11462 a1c6a512-1295-4272-9138-f99709370657
2006-11-08 02:23:01 +00:00
Jonathan Gordon
f184152c05
* changes to ata.c - idle callbacks are called after 2 sec of real idle,
...
and shutdown and usb (it makes sense here). ata_sleep doesnt get broken
by callbacks.
* allow ata_sleep() at the end of buffering again
* config block uses ata_idle instead of delayed sector when saving
* remove delayed sector code from ata_mmc.c (idle callbacks are not yet
implemented for ata_mmc.c tho)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11461 a1c6a512-1295-4272-9138-f99709370657
2006-11-08 01:55:26 +00:00
Jonathan Gordon
a018641105
allow the nano to rebuffer on "disk" spindown, seems to be fine
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11457 a1c6a512-1295-4272-9138-f99709370657
2006-11-07 06:31:36 +00:00
Michael Sevakis
0f5cb94aa4
Big Patch adds primarily: Samplerate and format selection to recording for SWCODEC. Supprort for samplerates changing in playback (just goes with the recording part inseparably). Samplerates to all encoders. Encoders can be configured individually on a menu specific to the encoder in the recording menu. File creation is delayed until flush time to reduce spinups when splitting. Misc: statusbar icons for numbers are individual digits to display any number. Audio buffer was rearranged to maximize memory available to recording and properly reinitialized when trashed. ColdFire PCM stuff moved to target tree to avoid a complicated mess when adding samplerate switching. Some needed API changes and to neaten up growing gap between hardware and software codecs.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11452 a1c6a512-1295-4272-9138-f99709370657
2006-11-06 18:07:30 +00:00
Jonathan Gordon
0b22795e26
adds ata_idle_notify system which allows callbacks in apps/ to be called
...
when the hard disk is idle but spinning, and just before shutting down.
on SWCODEC targets with > 8MB RAM the playback engine will try to
refill the buffer if it is less than 75% full while the disk is spinning
(temporarily disabled on the nano)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11451 a1c6a512-1295-4272-9138-f99709370657
2006-11-06 14:24:18 +00:00
Steve Bavin
f71da380c2
A better fix for the crossfade setting crash (with no global variables added)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11415 a1c6a512-1295-4272-9138-f99709370657
2006-11-02 07:53:55 +00:00
Steve Bavin
e5f43ebaba
Remove unwanted logf
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11414 a1c6a512-1295-4272-9138-f99709370657
2006-11-01 19:35:53 +00:00
Steve Bavin
faace1eae4
Fix up non-voice build and stop crashes if crossfade settings changed during playback
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11413 a1c6a512-1295-4272-9138-f99709370657
2006-11-01 19:19:36 +00:00
Magnus Holmgren
39fe51e88d
Improve accuracy a little when seeking and resuming MP3 files. Mainly noticable for low-bitrate files with large ID3V2 tags, and no effect if no ID3V2 tag. Should be ported to hwcodec targets. :)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11402 a1c6a512-1295-4272-9138-f99709370657
2006-10-30 20:19:21 +00:00
Steve Bavin
6bad631af4
Little tidy-up - track_changed is now only updated on the audio thread
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11400 a1c6a512-1295-4272-9138-f99709370657
2006-10-30 17:10:52 +00:00
Steve Bavin
145ec81d2f
Rearrange and comment variable declarations; no functional change
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11391 a1c6a512-1295-4272-9138-f99709370657
2006-10-30 08:54:48 +00:00
Mark Arigo
0e12829b9a
Do not flood the queue with unnecessary fill buffer requests at the end of a playlist. Should fix the stopping bug in FS#6117.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11366 a1c6a512-1295-4272-9138-f99709370657
2006-10-27 15:42:34 +00:00
Steve Bavin
ee9b85456f
Revert this morning's change as it can cause old metadata to be reused inapproprately. A better fix coming later.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11353 a1c6a512-1295-4272-9138-f99709370657
2006-10-26 17:33:54 +00:00
Steve Bavin
34193e5cf2
Don't clear previous track details during playback so the progress bar works properly at track transition
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11350 a1c6a512-1295-4272-9138-f99709370657
2006-10-26 12:13:28 +00:00
Jonathan Gordon
710ccb7b48
ifdef all the tagcache code, allows rombox to be compiled again, Thanks Austin Appel
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11338 a1c6a512-1295-4272-9138-f99709370657
2006-10-25 10:17:57 +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
Brandon Low
97f2af2553
Fix FS 6205: id3v1 stripping messed up rebuffer_and_seeks. Add an assurance check JinC other things mess it up, more graceful recovery.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11318 a1c6a512-1295-4272-9138-f99709370657
2006-10-23 16:47:48 +00:00
Brandon Low
500a761cb0
Last fix was wrong, I did the math this time, should fix more buffering edges
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11315 a1c6a512-1295-4272-9138-f99709370657
2006-10-23 12:44:11 +00:00
Brandon Low
1fef2dcb45
Fix edge case handling for buffer writing into the playing track; Improve comments and variable naming
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11311 a1c6a512-1295-4272-9138-f99709370657
2006-10-22 21:56:42 +00:00
Linus Nielsen Feltzing
da153da0be
Patch #5166 by Robert Keevil - Last.fm logging
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11269 a1c6a512-1295-4272-9138-f99709370657
2006-10-19 09:42:58 +00:00
Steve Bavin
2baaac130e
Oops; sleep != yield
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11267 a1c6a512-1295-4272-9138-f99709370657
2006-10-19 08:55:24 +00:00
Steve Bavin
004ee26e17
Keep the WPS progress bar updating at end of playback
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11266 a1c6a512-1295-4272-9138-f99709370657
2006-10-19 07:43:07 +00:00
Brandon Low
08a4ceaae7
Remove fill_bytesleft, simplify some buffering code, fix bug 5906
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11247 a1c6a512-1295-4272-9138-f99709370657
2006-10-17 12:56:22 +00:00
Miika Pekkarinen
7058752789
Removed ugly boosting solutions from playback code and let scheduler
...
handle unboosting instead.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11226 a1c6a512-1295-4272-9138-f99709370657
2006-10-15 11:57:52 +00:00
Steve Bavin
10befc8e6e
Don't unboost CPU in an ISR
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11224 a1c6a512-1295-4272-9138-f99709370657
2006-10-15 11:03:26 +00:00
Brandon Low
1f3360f021
Just take out some out-of-date TODOs from playback.c and put a big FIXME in pcmbuf.c
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11217 a1c6a512-1295-4272-9138-f99709370657
2006-10-13 20:48:23 +00:00
Steve Bavin
1c3d89c35e
Fix race condition when playback stopped - see FS#6174. Thanks to Jared Stafford
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11214 a1c6a512-1295-4272-9138-f99709370657
2006-10-13 13:08:05 +00:00
Steve Bavin
3a8ad7fe7e
Minor simplification #3 ; use macros for ring buffer arithmetic. Also fixed unlikely problem where file close was missed on an error path.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11212 a1c6a512-1295-4272-9138-f99709370657
2006-10-13 09:16:36 +00:00
Steve Bavin
73e2f7bd6b
Minor simplification #2 ; replace unneeded variable filebufused with a macro
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11201 a1c6a512-1295-4272-9138-f99709370657
2006-10-12 16:51:22 +00:00
Steve Bavin
5f70ad4cb0
Minor simplification; replace unneeded variable cur_ti with a macro
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11200 a1c6a512-1295-4272-9138-f99709370657
2006-10-12 15:54:36 +00:00
Steve Bavin
d49c810ec9
Add CPU boost tracker to see where boosts are coming from
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11125 a1c6a512-1295-4272-9138-f99709370657
2006-10-05 10:07:03 +00:00
Steve Bavin
8b08935a3b
Flush queued voice clips when not playing audio
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11087 a1c6a512-1295-4272-9138-f99709370657
2006-09-28 16:45:23 +00:00
Steve Bavin
c9a78621af
Another fix for crashing when changing crossfade settings
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11086 a1c6a512-1295-4272-9138-f99709370657
2006-09-28 15:17:59 +00:00
Steve Bavin
b2269cce94
Fix hangs when changing crossfade settings
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11084 a1c6a512-1295-4272-9138-f99709370657
2006-09-28 09:20:56 +00:00
Steve Bavin
081281f6a1
Fix a crash and CPU being left boosted when using voice - FS#6024
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11053 a1c6a512-1295-4272-9138-f99709370657
2006-09-26 07:19:43 +00:00
Michael Sevakis
9d56f2d2cf
SWCODEC recording hang fixed. Fixed other trouble spots for codec swapping when playing. Removed call to audio_set_recording_options from fm_recording_settings on SWCODEC (Not proper to do ! My bad.).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10978 a1c6a512-1295-4272-9138-f99709370657
2006-09-17 18:52:31 +00:00
Miika Pekkarinen
815684aced
FS#5992 Reworked playback.c to fix voice bugs by Steve Bavin. Fixed to
...
work with the new scheduler and handled properly and fast the track
skipping.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10966 a1c6a512-1295-4272-9138-f99709370657
2006-09-17 08:34:42 +00:00
Miika Pekkarinen
a85044bf9e
New scheduler, with priorities for swcodec platforms. Frequent task
...
switching should be more efficient and tasks are stored in linked
lists to eliminate unnecessary task switching to improve performance.
Audio should no longer skip on swcodec targets caused by too CPU
hungry UI thread or background threads.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10958 a1c6a512-1295-4272-9138-f99709370657
2006-09-16 16:18:11 +00:00
Steve Bavin
3cc46e7620
Rearrangement of playback.c to group routines by thread
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10838 a1c6a512-1295-4272-9138-f99709370657
2006-09-01 07:59:31 +00:00
Steve Bavin
a3087e4fb0
Add logging for all playback queueing, for the simulator at least
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10823 a1c6a512-1295-4272-9138-f99709370657
2006-08-31 10:01:07 +00:00
Magnus Holmgren
92f07a65ad
Fix warning.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10808 a1c6a512-1295-4272-9138-f99709370657
2006-08-30 16:27:00 +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
Miika Pekkarinen
987bbdfab7
Force WPS reload after all tracks have been buffered (runtime stats
...
are updated).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10768 a1c6a512-1295-4272-9138-f99709370657
2006-08-27 14:23:50 +00:00
Linus Nielsen Feltzing
dd98c219e0
Quick and dirty fix for a serious issue that could make X5 crash when using voice
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10721 a1c6a512-1295-4272-9138-f99709370657
2006-08-23 14:02:35 +00:00
Magnus Holmgren
9f09a39436
Add resume support to AAC files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10720 a1c6a512-1295-4272-9138-f99709370657
2006-08-23 13:10:48 +00:00
Linus Nielsen Feltzing
97b56a665c
Patch #5844 by Steve Bavin - Fix confused voice file memory allocation
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10711 a1c6a512-1295-4272-9138-f99709370657
2006-08-23 08:21:15 +00:00
Linus Nielsen Feltzing
42f0ad3c8f
Patch #5766 by Steve Bavin - Fix for various voice related crashes
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10590 a1c6a512-1295-4272-9138-f99709370657
2006-08-15 18:01:42 +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
b591bb3f46
FS#5691 Fix for crash if stop pressed during voice output.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10457 a1c6a512-1295-4272-9138-f99709370657
2006-08-05 07:29:53 +00:00
Miika Pekkarinen
8e0b02a60f
Prevent buffer filling trying to start over and over causing playback
...
to skip when runtimedb has been enabled.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10456 a1c6a512-1295-4272-9138-f99709370657
2006-08-04 10:29:04 +00:00
Miika Pekkarinen
bb5330cb88
Don't yield_codecs() within codec thread.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10428 a1c6a512-1295-4272-9138-f99709370657
2006-08-03 07:45:53 +00:00
Miika Pekkarinen
ab279dd6bf
Stop playback before updating runtime stats. And yield codecs while
...
storing the stats to db to prevent skipping.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10427 a1c6a512-1295-4272-9138-f99709370657
2006-08-03 07:29:19 +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
4ccacd4004
Completely remove all track entries at audio_rebuffer().
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10364 a1c6a512-1295-4272-9138-f99709370657
2006-07-29 19:34:12 +00:00
Miika Pekkarinen
3b2f049ec6
Another oops.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10363 a1c6a512-1295-4272-9138-f99709370657
2006-07-29 17:50:44 +00:00
Miika Pekkarinen
2fa682535b
Oops, committed some extra stuff not necessary.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10362 a1c6a512-1295-4272-9138-f99709370657
2006-07-29 17:39:55 +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
Miika Pekkarinen
6128ff3453
Fixed one of the many pending bugs in the playback engine and restored
...
the instant wps skip feature.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10348 a1c6a512-1295-4272-9138-f99709370657
2006-07-28 09:32:52 +00:00
Magnus Holmgren
0d8c50d7af
Add resume support for AC3 files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10332 a1c6a512-1295-4272-9138-f99709370657
2006-07-26 19:08:16 +00:00
Mark Arigo
50f7e4e083
Additional fix for seeking beyond the current buffered data
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10243 a1c6a512-1295-4272-9138-f99709370657
2006-07-18 21:10:13 +00:00
Dave Chapman
752faa4351
Patch #5157 by Rainer Sinsch - SID codec
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10237 a1c6a512-1295-4272-9138-f99709370657
2006-07-18 18:33:12 +00:00
Miika Pekkarinen
45dfe2a36f
Initial runtimedb support for tagcache. Only for developers,
...
statistical data will be lost in future until changelogs has been
implemented.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10217 a1c6a512-1295-4272-9138-f99709370657
2006-07-15 17:36:25 +00:00
Dave Chapman
b1a272eee2
Patch by Mark Arigo to close bug report #5305 - fixes crashes when attempting to seek beyond the currently buffered data.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10181 a1c6a512-1295-4272-9138-f99709370657
2006-07-03 21:23:14 +00:00
Hardeep Sidhu
75117cc993
Wait for voice to complete before stopping playback. Fixes hang when stopping from filetree while voice is playing.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10141 a1c6a512-1295-4272-9138-f99709370657
2006-06-21 04:16:18 +00:00
Hardeep Sidhu
a02fd1ad7d
Only swap_codec() in voice thread when something is playing. Fixes B#5486.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10132 a1c6a512-1295-4272-9138-f99709370657
2006-06-17 11:21:22 +00:00
Jens Arnold
630e9586b6
Fix resume for MP1. Thanks go to Dave Chapman for the hint.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10096 a1c6a512-1295-4272-9138-f99709370657
2006-06-10 11:22:21 +00:00
Hardeep Sidhu
1e0b1d58d6
Stop playback if playlist_next() returns -1 (e.g. if auto directory change fails)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10091 a1c6a512-1295-4272-9138-f99709370657
2006-06-07 20:43:34 +00:00
Magnus Holmgren
f95dd56a2c
Fix bug 5341: Resume in Wav and Flac doesn't start from the position where it was left off. Mark Arigo helped with the Flac fix.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10051 a1c6a512-1295-4272-9138-f99709370657
2006-06-04 15:04:03 +00:00
Hardeep Sidhu
5483da667b
Previous automatic skip fix had a problem if audio_fill_file_buffer() was called after setting playlist_end but before audio_check_new_track(). To fix this, playlist_end is now reset in audio_check_new_track().
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10039 a1c6a512-1295-4272-9138-f99709370657
2006-06-03 17:23:20 +00:00
Dave Chapman
db1cda87a6
Replace "#if (ROCKBOX_HAS_LOGF == 1)" with "#ifdef ROCKBOX_HAS_LOGF" - this is consistent with the rest of Rockbox and Mark Arigo reported that it caused an error in his gcc when trying to compile a logf-enabled sim
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9991 a1c6a512-1295-4272-9138-f99709370657
2006-05-25 21:08:38 +00:00
Hardeep Sidhu
a8928804e1
Reset playlist_end when automatically skipping. Fixes B#5319.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9929 a1c6a512-1295-4272-9138-f99709370657
2006-05-15 02:37:06 +00:00
Hardeep Sidhu
c9a11cd3c8
Reset id3 info in all cases where we need to rebuffer tracks
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9928 a1c6a512-1295-4272-9138-f99709370657
2006-05-15 01:45:35 +00:00
Hardeep Sidhu
c8e280c1ed
Reset id3 info when skipping directories. Fixes B#5323.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9892 a1c6a512-1295-4272-9138-f99709370657
2006-05-09 00:14:51 +00:00
Hardeep Sidhu
6a267a8be7
Don't initiate track change if at end of playlist
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9868 a1c6a512-1295-4272-9138-f99709370657
2006-05-03 16:33:23 +00:00
Hardeep Sidhu
7033baea5e
Only reset resume settings when we're really at the end of the playlist
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9867 a1c6a512-1295-4272-9138-f99709370657
2006-05-03 15:54:08 +00:00
Hardeep Sidhu
982d995ae9
Stop playing current track before starting a new playlist with an offset (eg. bookmarks).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9861 a1c6a512-1295-4272-9138-f99709370657
2006-05-02 16:18:21 +00:00
Hardeep Sidhu
b8d1a55fbd
Properly set audio_is_initialized flag for swcodec devices ad use it when initializing crossfade. This should fix the problems with resuming playback at startup.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9853 a1c6a512-1295-4272-9138-f99709370657
2006-05-01 18:18:54 +00:00
Magnus Holmgren
e187e01e36
Fix one seeking bug: when seeking back to before a resume point, audio from another track could be played.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9837 a1c6a512-1295-4272-9138-f99709370657
2006-04-30 08:39:24 +00:00
Brandon Low
4564f5c56a
Don't magically skip tracks without user interraction
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9813 a1c6a512-1295-4272-9138-f99709370657
2006-04-26 12:19:16 +00:00
Brandon Low
69cf4f57ac
This seems to fix a few bugs in that
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9811 a1c6a512-1295-4272-9138-f99709370657
2006-04-26 04:31:06 +00:00
Brandon Low
da1cddfcbb
This seems to make selecting a new track from the file browser work very close to right.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9810 a1c6a512-1295-4272-9138-f99709370657
2006-04-26 04:01:35 +00:00
Brandon Low
522ec278ef
Switch inserts back from do while to while loops, because mpc likes to insert zero byte chunks at the end of files.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9802 a1c6a512-1295-4272-9138-f99709370657
2006-04-25 18:21:05 +00:00
Brandon Low
3ac7bd7204
Fix the most likely cause of ipod nano startup race, and also seems to fix crossfade buffer reinitialization during playback for me
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9790 a1c6a512-1295-4272-9138-f99709370657
2006-04-24 12:57:41 +00:00
Brandon Low
e0f7ecbfd8
Make track info update in a smarter way
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9782 a1c6a512-1295-4272-9138-f99709370657
2006-04-24 00:48:00 +00:00
Brandon Low
d461a3ef65
Fix some todos, and prevent the position from jumping around badly on seek
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9781 a1c6a512-1295-4272-9138-f99709370657
2006-04-23 23:27:11 +00:00
Brandon Low
6a6c322a19
Improve stop behavior
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9779 a1c6a512-1295-4272-9138-f99709370657
2006-04-23 22:54:01 +00:00
Brandon Low
5cdee94b40
Fix a warning, and prepare for handling end-of-track seeking
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9778 a1c6a512-1295-4272-9138-f99709370657
2006-04-23 22:30:52 +00:00
Brandon Low
2e8b933c0d
Should fix some track ending early problems
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9777 a1c6a512-1295-4272-9138-f99709370657
2006-04-23 22:21:12 +00:00
Brandon Low
8ecb8582a1
Make some adjustments to when the WPS will be updated, giving faster next track and cleaner track change updates
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9776 a1c6a512-1295-4272-9138-f99709370657
2006-04-23 20:37:43 +00:00
Brandon Low
83ce56846a
Remove an unneeded define, add a todo
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9765 a1c6a512-1295-4272-9138-f99709370657
2006-04-22 21:31:07 +00:00
Brandon Low
c71ad7ea7f
Fix warning
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9760 a1c6a512-1295-4272-9138-f99709370657
2006-04-22 14:53:00 +00:00
Brandon Low
f3bc1efc49
First commit of reworking voice to be mroe stable on swcodec
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9758 a1c6a512-1295-4272-9138-f99709370657
2006-04-22 14:40:13 +00:00
Hardeep Sidhu
f635f4a824
Set playing to true immediately when audio_play() is called. Fixes a bug when selecting tracks from playlist viewer.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9737 a1c6a512-1295-4272-9138-f99709370657
2006-04-20 05:33:53 +00:00
Brandon Low
4b36096b93
Have the codec thread stop the pcm if we need to spin up the disk
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9727 a1c6a512-1295-4272-9138-f99709370657
2006-04-19 00:23:08 +00:00
Brandon Low
56d6f3ecfc
Fix playback if the user does a very fast seek->skip press
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9726 a1c6a512-1295-4272-9138-f99709370657
2006-04-18 23:43:54 +00:00
Brandon Low
2c9b1717e6
Fix end of playlist handling. I think.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9725 a1c6a512-1295-4272-9138-f99709370657
2006-04-18 19:52:10 +00:00
Brandon Low
1344ccd3c1
Revert previous, it is broken
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9724 a1c6a512-1295-4272-9138-f99709370657
2006-04-18 19:51:37 +00:00
Brandon Low
426dc212c6
Make seeking synchronous. It's better this way
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9722 a1c6a512-1295-4272-9138-f99709370657
2006-04-18 19:08:15 +00:00
Brandon Low
2b18727a8a
Fix dir skipping with new playback arch. Enable dir skipping on ipod with a couple of difficult combos (select|right/left) or short-long left / short-long right. The latter causes stuck in pause sometimes.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9720 a1c6a512-1295-4272-9138-f99709370657
2006-04-18 18:33:09 +00:00
Brandon Low
ed44e19c3f
Should fix a bug with track skipping backwards following track skip forward, play, seek backward
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9718 a1c6a512-1295-4272-9138-f99709370657
2006-04-18 16:53:24 +00:00
Brandon Low
7df187f20e
Save empty resume information if the playlist has ended
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9717 a1c6a512-1295-4272-9138-f99709370657
2006-04-18 16:45:44 +00:00
Brandon Low
095ae809eb
Reduce code size when logf is off. Add a todo. Undo a previous fix that broke crossfade on manual track changes
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9708 a1c6a512-1295-4272-9138-f99709370657
2006-04-17 19:59:16 +00:00
Brandon Low
98097d23ec
Misc. minor fixes: Guarantee aligned buffer. Enable load-codec-from-disk if a new track requires a different codec than the playing track, but does not already have it on the buffer. Stop playback immediately on a manual track skip. Handle seeking a distance greater than the size of the audio buffer. Enforce the 'no malloc for voice codec'.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9704 a1c6a512-1295-4272-9138-f99709370657
2006-04-17 17:05:05 +00:00
Brandon Low
bf397b5635
Remove an unneeded WPS update signal. Make the codec thread more polite about requesting buffering. Prevent more Codec failure pops when the codec was _asked_ to stop.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9674 a1c6a512-1295-4272-9138-f99709370657
2006-04-15 09:19:49 +00:00
Brandon Low
ebadcc633a
Put new_track on the codec_api, and use it instead of the reload_codec variable in most places. Should help with problems people have had with GUI vs. playback sync.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9670 a1c6a512-1295-4272-9138-f99709370657
2006-04-15 02:03:11 +00:00
Brandon Low
363dbc4b58
This might fix the buffering problem. Didn't happen to me the way I usually reproduce it just now
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9668 a1c6a512-1295-4272-9138-f99709370657
2006-04-14 22:15:38 +00:00
Brandon Low
530cad32e8
Still not bright
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9666 a1c6a512-1295-4272-9138-f99709370657
2006-04-14 17:48:01 +00:00
Brandon Low
de25006ad9
I am dumb
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9665 a1c6a512-1295-4272-9138-f99709370657
2006-04-14 17:39:18 +00:00
Brandon Low
7c986a91a6
Work around the bug with buffer wrapping. Serious performance penalty, and a lot of buffering is discarded to achieve this, but it doesn't crash while I find the real cause
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9664 a1c6a512-1295-4272-9138-f99709370657
2006-04-14 17:31:19 +00:00
Brandon Low
348d9ece4b
Fix some unlikely buffer problems. Doesn't fix any reported bugs, but fixes some possible ones.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9663 a1c6a512-1295-4272-9138-f99709370657
2006-04-14 17:00:22 +00:00
Brandon Low
86c7e1a947
Fix some stop/pause/boost stuff
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9662 a1c6a512-1295-4272-9138-f99709370657
2006-04-14 16:42:14 +00:00
Brandon Low
fb966b3cf8
Fix a lack of return on error for check_new_track (rare condition)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9661 a1c6a512-1295-4272-9138-f99709370657
2006-04-14 14:19:56 +00:00
Brandon Low
0291a6e200
Fix the queue implementation
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9660 a1c6a512-1295-4272-9138-f99709370657
2006-04-14 14:03:43 +00:00
Brandon Low
fd08424694
Change to using a queue to synchronize between threads instead of abusing a mutex
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9659 a1c6a512-1295-4272-9138-f99709370657
2006-04-14 13:05:08 +00:00
Brandon Low
fbe74d1df6
Fix one cause of buffer-offness, but I'm pretty sure this is not the cause of problems that people are having as the debug code I put in detects and corrects it. Make taginfo instead of stupid filename appear on manual track skip, off buffer (stupid bug).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9658 a1c6a512-1295-4272-9138-f99709370657
2006-04-14 12:53:29 +00:00
Brandon Low
2f4edabfce
Tweak id3v1 tag stripping, better code, same functionality. Ensure correct buf_idx on track when rebuffer&seek.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9653 a1c6a512-1295-4272-9138-f99709370657
2006-04-14 04:42:11 +00:00
Brandon Low
2f11d60dcd
Change when the new_track variable is reset to fix the track display during skipping
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9652 a1c6a512-1295-4272-9138-f99709370657
2006-04-14 03:47:32 +00:00
Brandon Low
1d41f77b37
Boost during the track transition, trust me, it makes sense. Better logging of buffer-not-synched issues. Revert a previous change to make a function take a parameter intead of using cur_ti. Add some todos.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9651 a1c6a512-1295-4272-9138-f99709370657
2006-04-13 21:47:00 +00:00
Brandon Low
017914a087
Adjust filesize if id3v1 is stripped
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9648 a1c6a512-1295-4272-9138-f99709370657
2006-04-13 20:42:11 +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
c95044a9c1
Track skipping rework more. This seems to handle rapid skipping very gracefully without compromising buffer safety. There may still be a potentially broken code path if the user does a very rapid skip, stop sequence, and I will be sure to investigate this. Due to Slasheri's concern, reimplement rapid GUI update for track skipping in a safe way.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9643 a1c6a512-1295-4272-9138-f99709370657
2006-04-13 14:17:12 +00:00
Brandon Low
b1fa534f14
Simplify audio startup, and remove some unnecessary code
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9640 a1c6a512-1295-4272-9138-f99709370657
2006-04-13 02:46:34 +00:00
Brandon Low
44d9576ff5
Track changes should zero the seek_time to prevent undesired seeking in the new track
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9636 a1c6a512-1295-4272-9138-f99709370657
2006-04-12 03:25:54 +00:00
Brandon Low
54af304a5b
use the cur_ti pointer, as it's always synched up with track_ridx any way
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9635 a1c6a512-1295-4272-9138-f99709370657
2006-04-12 02:01:26 +00:00
Brandon Low
376950155c
Get the GUI and audio in sync for track changes
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9634 a1c6a512-1295-4272-9138-f99709370657
2006-04-12 01:45:53 +00:00
Brandon Low
10c3a34c85
Fix major rebuffer stupidity, remove a redundant call, and a wrong comment.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9633 a1c6a512-1295-4272-9138-f99709370657
2006-04-12 00:21:29 +00:00
Brandon Low
af09d22125
Add and improve logfing, fix a possible cause of problems due to abuse of read_next_metadata
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9628 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 23:08:21 +00:00
Brandon Low
d6b370be02
Fix logf build, fix double reporting buffer events.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9627 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 22:38:33 +00:00
Brandon Low
87484fcbc7
Almost entirely formatting changes, but also add one logf, and fix one nearly impossible to hit (I doubt it's been hit in the history of rockbox) bug
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9621 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 20:41:04 +00:00
Brandon Low
8529414c7f
Clarify a comment
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9616 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 17:20:55 +00:00
Brandon Low
8966c018fa
Clear tracks in more appropriate ways/places
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9615 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 17:17:24 +00:00
Brandon Low
01219fa29e
Handle rebuffer-and-seek and track skip buffer events smarter. Fill the buffer all the way around on a 'normal' rebuffer. Rename and invert a strangely named variable for simpler logic.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9614 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 17:08:11 +00:00
Brandon Low
a476718aab
Fix yellow
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9613 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 16:13:24 +00:00
Brandon Low
73365c8bda
Fix a (very unlikely) bug in buffering
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9611 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 15:45:11 +00:00
Brandon Low
b6607459c2
Fix some signedness and exit condition stuff. Not sure if this addresses live bugs, but it was wrong nonetheless
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9610 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 14:13:41 +00:00
Brandon Low
6bd1f143fa
Try to recover from a codec failure by restarting playback
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9608 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 13:21:51 +00:00
Brandon Low
afb64a481b
Whoops, remove a done TODO
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9607 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 13:02:06 +00:00
Brandon Low
a9debda64e
Fix some comments
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9606 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 13:00:45 +00:00
Brandon Low
3b76544fa9
Ensure that codecs are cleared from the buffer if they will not be needed by the track about to play and some minor changes for correctness with no functional difference
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9605 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 12:29:46 +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
2caad6fbc1
Get the next track's metadata in a more timely manner
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9591 a1c6a512-1295-4272-9138-f99709370657
2006-04-10 04:14:20 +00:00
Brandon Low
25e367ce34
Formatting, and logf changes
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9583 a1c6a512-1295-4272-9138-f99709370657
2006-04-09 16:12:12 +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
72232bdc66
Fix bad rebuffering bug, and kill the track_count variable
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9571 a1c6a512-1295-4272-9138-f99709370657
2006-04-09 02:15:35 +00:00
Brandon Low
3e3c21b6f0
Fix the condition on an error splash
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9565 a1c6a512-1295-4272-9138-f99709370657
2006-04-08 13:06:28 +00:00
Brandon Low
502fbd710c
Correct seeking behavior (whoops), might fix the coldfire deadlocks. Reintroduce the foreshortened initial buffer fill, this should maybe be optional
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9564 a1c6a512-1295-4272-9138-f99709370657
2006-04-08 12:58:39 +00:00
Brandon Low
0be0b43466
Fix seeking not resuming playback, many thanks to Ralf Herz for being an excellent debugger
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9558 a1c6a512-1295-4272-9138-f99709370657
2006-04-08 07:46:48 +00:00
Brandon Low
dd8d97ae8c
Change around some logfing to help debugging seek problems
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9557 a1c6a512-1295-4272-9138-f99709370657
2006-04-07 22:13:00 +00:00
Brandon Low
29f7dd3c9f
Fix the playback sometimes doesn't start at all problems, and always fully fill the buffer, because it was silly not to (this one may be controversial)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9556 a1c6a512-1295-4272-9138-f99709370657
2006-04-07 21:32:30 +00:00
Brandon Low
554f206ba1
Further unify start playback vs. other buffering situations, hopefully fixes some people's audio doesn't start problems
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9553 a1c6a512-1295-4272-9138-f99709370657
2006-04-07 19:48:48 +00:00
Brandon Low
ab57025e33
This makes seeking work for me
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9552 a1c6a512-1295-4272-9138-f99709370657
2006-04-07 18:18:36 +00:00
Brandon Low
71fe062e3d
Fix some type casting => 64bit warning issues
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9550 a1c6a512-1295-4272-9138-f99709370657
2006-04-07 16:45:44 +00:00
Brandon Low
de6023146a
Fix play initialization problems and buffering problems. This behaves _much_ better for me.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9549 a1c6a512-1295-4272-9138-f99709370657
2006-04-07 16:31:20 +00:00
Jens Arnold
24bb9d4ceb
Fix 64bit warnings.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9547 a1c6a512-1295-4272-9138-f99709370657
2006-04-07 07:05:02 +00:00
Brandon Low
2736363d71
Remove duplicated code and improve button responsiveness during buffer fill
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9541 a1c6a512-1295-4272-9138-f99709370657
2006-04-06 21:06:37 +00:00
Brandon Low
930785cd8f
Stop abusing the queuing features, and start treating them with respect. This seems to solve audio skipping and track skipping issues as well as seeking inside the disk buffer for me.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9534 a1c6a512-1295-4272-9138-f99709370657
2006-04-06 16:21:31 +00:00
Brandon Low
857db456af
Fix seeking on swcodec, but probably break some cases of skipping. Another important rework here, buffer management is serialized along with most other operations on the audio thread. This has some minor performance issues on ipod that can lead to audio skips during buffer fill as well.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9529 a1c6a512-1295-4272-9138-f99709370657
2006-04-06 04:07:06 +00:00
Brandon Low
33a62e8a8e
More work on swcodec. No significant pcmbuf functions are called from the audio thread now. Do not be surprised if seek or skip behavior gets weird after this, but it Works for Me (TM), and is a significant step in the right direction.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9510 a1c6a512-1295-4272-9138-f99709370657
2006-04-05 04:27:16 +00:00
Miika Pekkarinen
93b6a1d12c
Prevent two division by zeros and one problem causing a crash in the
...
mp3 metadata parser.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9438 a1c6a512-1295-4272-9138-f99709370657
2006-04-02 20:19:00 +00:00
Miika Pekkarinen
44b76bc4fa
Added track number sorting to the tagcache and a few new tags to the
...
engine: track number, year, composer, length and bitrate.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9358 a1c6a512-1295-4272-9138-f99709370657
2006-03-30 12:07:32 +00:00
Zakk Roberts
8bdd92b05e
New 'Track Skip Only' option for Crossfading; crossfading is disabled except for manual track changes. NOTE: If you were using 'Always' mode previously, check again after updating: you'll now be in the new 'Track Skip Only' mode.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9353 a1c6a512-1295-4272-9138-f99709370657
2006-03-30 05:56:19 +00:00
Miika Pekkarinen
e859e16420
Fixed some red builds.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9261 a1c6a512-1295-4272-9138-f99709370657
2006-03-26 17:07:00 +00:00
Miika Pekkarinen
b7251261de
Fill WPS tags from tagcache if available.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9260 a1c6a512-1295-4272-9138-f99709370657
2006-03-26 16:37:18 +00:00
Brandon Low
09c09738ab
Fix a problem where audio would stay paused after a stop and start of playback
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9248 a1c6a512-1295-4272-9138-f99709370657
2006-03-25 15:58:10 +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
Brandon Low
fdb58dfe1c
Allow the pcm buffer to fill while playback is paused
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9212 a1c6a512-1295-4272-9138-f99709370657
2006-03-23 17:11:00 +00:00
Brandon Low
a553d5f048
First small step in playback.c's pending makeover. Properly lock and cleanup codec swapping
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9210 a1c6a512-1295-4272-9138-f99709370657
2006-03-23 16:18:17 +00:00
Thom Johansen
e2824c94fc
Use size-correct casts. Fixes some AMD64 sim warnings.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9192 a1c6a512-1295-4272-9138-f99709370657
2006-03-22 16:04:51 +00:00
Thom Johansen
a7b5a2ce73
Quick fix for voice UI on iPods. Proper fix (which does not impact
...
functionality in any way) coming later.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9190 a1c6a512-1295-4272-9138-f99709370657
2006-03-22 15:19:59 +00:00
Jens Arnold
8ac3ae73c5
More 64bit simulator fixes, coinciding with the long policy this time.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8890 a1c6a512-1295-4272-9138-f99709370657
2006-03-03 02:09:58 +00:00
Miika Pekkarinen
747664918b
Fixed the early usb initialization problem.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8825 a1c6a512-1295-4272-9138-f99709370657
2006-02-24 10:27:23 +00:00
Brandon Low
413da2a3d9
Rework PCM buffer
...
* Linked list instead of static array buffer pointers
* Variable sized chunks
* Improved mix handling
* Reduction in duplicated code
* Reduced IRAM usage w/o sacrificing performance
* Converted to almost entirely unsigned math
* Add pause function to reduce pcm_* exposure to playback.
This WILL break playback on the iPod until linuxstb makes a followup commit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8612 a1c6a512-1295-4272-9138-f99709370657
2006-02-07 20:38:55 +00:00
Dave Chapman
fbd8e5d29c
Patch #1421483 - AIFF codec by Jvo Studer
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8524 a1c6a512-1295-4272-9138-f99709370657
2006-02-01 16:42:02 +00:00
Miika Pekkarinen
05411983c7
Codec buffer was initialized too early thus crashing the unit later.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8473 a1c6a512-1295-4272-9138-f99709370657
2006-01-28 12:49:05 +00:00
Miika Pekkarinen
a4f8d1c621
Don't use crossfader mix mode when skipping tracks manually.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8470 a1c6a512-1295-4272-9138-f99709370657
2006-01-27 16:25:44 +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
Miika Pekkarinen
6d6ca6b6a5
Muting trick to prevent tiny pops and glitchless mp3 seeking.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8416 a1c6a512-1295-4272-9138-f99709370657
2006-01-22 10:25:07 +00:00
Brandon Low
998610ca0b
Fix a bug in the end of track updates
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8415 a1c6a512-1295-4272-9138-f99709370657
2006-01-22 04:35:28 +00:00
Brandon Low
8d5a6609a3
AB-repeat mode for software codecs. Accessible through menu as a repeat mode, with buttom mappings much like those on other rockbox targets for now.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8409 a1c6a512-1295-4272-9138-f99709370657
2006-01-21 23:43:57 +00:00
Brandon Low
0a9179cb0a
Add seamless seeking support, this is needed for AB-repeat mode on swcodec.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8408 a1c6a512-1295-4272-9138-f99709370657
2006-01-21 22:58:08 +00:00
Brandon Low
a3868d35d3
Continue to update playback status after decoding is complete (the progress bar makes it to 100%!)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8407 a1c6a512-1295-4272-9138-f99709370657
2006-01-21 22:42:44 +00:00
Miika Pekkarinen
0e159f13cf
Fixed a few iriver playback quirks and issues with previous fixes.
...
Also fixed "TST.." bug when seeking and possible an enhancement to mp3
gapless playback also.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8402 a1c6a512-1295-4272-9138-f99709370657
2006-01-20 22:02:44 +00:00
Miika Pekkarinen
178a85f31c
iriver: Better fix for the previous problem, stop playback if next
...
song is not immediately available, don't flush buffer when changing to
next directory,
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8393 a1c6a512-1295-4272-9138-f99709370657
2006-01-19 20:35:06 +00:00
Miika Pekkarinen
61cd604369
Don't start playback twice if pcm buffer runs empty when switching to
...
the next directory.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8390 a1c6a512-1295-4272-9138-f99709370657
2006-01-19 18:21:12 +00:00
Linus Nielsen Feltzing
27312b2855
Patch #1408536 by Mark Arigo - properly strip ID3V1 tags
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8370 a1c6a512-1295-4272-9138-f99709370657
2006-01-18 14:20:34 +00:00