Openmoko Bug #1614: Mediplayer isn't able to play Ogg/Vorbis files
Openmoko Public Trac
bugs at docs.openmoko.org
Thu Jul 17 00:15:56 CEST 2008
#1614: Mediplayer isn't able to play Ogg/Vorbis files
----------------------------------+-----------------------------------------
Reporter: HdR | Owner: openmoko-devel
Type: defect | Status: new
Priority: high | Milestone:
Component: unknown | Version: 2007.2
Severity: normal | Resolution:
Keywords: openmoko-mediaplayer | Blocking:
Blockedby: |
----------------------------------+-----------------------------------------
Comment(by hedora):
I've been looking into this a bit, so here are some things I've figured
out so far:
Some ogg files are playable, depending on encoding.
The problem is that the hardware is too slow to play ogg files back with
the default configuration. It doesn't have a floating point unit, so
things get tricky.
Pulseaudio shouldn't be using much CPU time at all, at least according to
this thread (which refers to a different device / os):
http://osdir.com/ml/audio.pulseaudio.general/2007-02/msg00010.html
We probably should figure out what pulseaudio is actually doing, then look
into making it simply pass data through. I suspect its acting as a
software mixer so that you can change the music volume without changing
the touchscreen click volume, but need to confirm this.
I've been trying to figure out where the gst-plugin-vorbisi file's source
code lives for further debugging, but I've been busy and it's been slow
going. I've managed to find the source code for gst-plugin-vorbis, but
that one uses floating point math, and is slower than the one shipped on
the phone.
Beyond fixing the pulseaudio overhead by getting it to stop doing software
mixing / resampling / ???, there are some other things that could help:
- Use tremolo, which is an ARM specific version of tremor. Tremor is the
integer-math ogg implementation shipped by default
- _LOW_ACCURACY_ mode, which seems to corrupt a few lsbs of the signal,
but saves CPU time.
- Double checking compilation options.
Also, have you been able to tell if ogg123/mplayer are using libvorbis, or
libvorbisi? I've been meaning to check, since if they're using floating
point emulation, we should have plenty of cycles to spare...
-Rusty
--
Ticket URL: <https://docs.openmoko.org/trac/ticket/1614#comment:1>
docs.openmoko.org <http://docs.openmoko.org/trac/>
openmoko trac
More information about the buglog
mailing list