FS#2793 - DUMB plugin: libdumb 0.9.3 + dumb player&disk writer + misc

Attached to Project: Rockbox
Opened by Frode (iobound) - Thursday, 01 December 2005, 20:44 GMT
Last edited by Jonathan Gordon (jdgordon) - Wednesday, 01 August 2007, 13:27 GMT
Task Type Patches
Category Codecs
Status Closed
Assigned To No-one
Operating System All players
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


This patch contains the following features:

* Upgrade of apps/codecs/dumb to version 0.9.3

* Small patch to plugin.c/plugin.h which makes
pcm_play_data() work on the win32 simulator

* Patch to apps/plugins/Makefile which changes the way
.rock files are built in cygwin for the win32 simulator
* Instead of using dlltool/dllwrap, use "gcc -shared"
* Makes debug symbols and source visible for gdb

* A new plugin, apps/plugins/dumb.c and
apps/plugins/dumbsupp.h, which contains:
* Implementation of necessary C library methods as
required by libdumb:
* math.h compatible implementation of pow(),
exp(), log() and floor(), based on libmsun from FreeBSD
* silly alloc()/realloc implementation
* Playback loop, which plays actual audio on the
win32 simulator
* Very simple disk writer, which renders audio to a
.raw file on disk on both win32 and target

Note: Only tested on win32 cygwin and iRiver H340.
Known problems:
* Audio output does not work H300; someone (LinusN)
on IRC mentioned that the pcm_play_data() API is
currently out of order
* Decoding is very slow on H300 due to excessive use
of floating point maths (doubles, even)
* Decoding eventually runs out of memory, because
main decoding loop appears to call malloc(), and the
included implementation of free() does not free memory
* Makefile dependencies probably not correct; libdumb
depends on the dumbsupp.h file

The patch is against CVS HEAD as of right now (2005-12-01)
This task depends upon

Closed by  Jonathan Gordon (jdgordon)
Wednesday, 01 August 2007, 13:27 GMT
Reason for closing:  Out of Date