Anti-Whining: Happy Moko Moments - playing Ogg Vorbis files

Rask Ingemann Lambertsen ccc94453 at
Mon Jul 20 16:04:31 CEST 2009

On Mon, Jul 20, 2009 at 02:05:00PM +0300, Timo Juhani Lindfors wrote:
> Rask Ingemann Lambertsen <ccc94453 at> writes:
> >    FWIW, you can s/-t raw -c 2 -f S16_BE -r 44100/-f cdr/.
> Sure but I have another version for 22050 Hz podcasts so I preferred
> to be explicit.

'-f cdr -r 22050' works as expected and is shorter. :-)

> > And indeed it decodes in realtime at just 100 MHz.
> You are using the cpufreq patches? Any thing else than what I mirrored at

   I'm using the patches I've posted on the kernel mailing list:
Delete arch/arm/plat-s3c24xx/cpufreq.c before applying the next patch.

   I vaguely recall that hunk two of patch number two above no longer
applies cleanly but should be easy enough to apply by hand.

> and are you able to survive suspend/resume with it?

   Yes, no problems after the last patch. I suppose it's time to clean it up
and submit it for inclusion into the kernel.

> >    Btw, I can't get aplay to use a buffer larger than 32768 samples. That
> > may be a kernel driver bug.
> I just added a buffer to the example player itself I think. I think
> you can use general purpose "buffer" program in the pipeline too.

   But we need to get the samples to the DMA controller. Quoting

static const struct snd_pcm_hardware s3c24xx_pcm_hardware = {
        .channels_min           = 2,
        .channels_max           = 2,
        .buffer_bytes_max       = 128*1024,
        .period_bytes_min       = PAGE_SIZE,
        .period_bytes_max       = PAGE_SIZE*2,
        .periods_min            = 2,
        .periods_max            = 128,
        .fifo_size              = 32,

   The hardware limit is (2^20 - 1) * 2 bytes or nearly 2048 kB.
Artificially limitting the buffer size to 128 kB is just stupid IMNSHO. We
don't need to pretend it's an ISA sound card. I'll see if something breaks
when the limit is relaxed.

> apt-get --build source apt-get source gstreamer0.10-plugins-bad
> prints
> checking for vorbis_block_init in -lvorbisidec... no

   It's not documented to exist. As far as I can tell, it's for internal use
only. I'll have a look at it.

Rask Ingemann Lambertsen
Danish law requires addresses in e-mail to be logged and stored for a year

More information about the community mailing list