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