On Thursday 23 November 2006 22:19, Charles 'Buck' Krasic wrote:

> No, my dsp work was actually video related.    I did reuse Siarhei
> Siamashka's mplayer code to decode/output mp3 directly, but that
> obviously doesn't help with speex.

Just a disclaimer before anybody starts bashing my ugly hack that allows to
use dspmp3sink for mp3 playback from mplayer :)

I know that it is improper use of gstreamer api for audio synchronization, but
anything that looked somewhat better (proper buffer timestamps, the use of
gstreamer pipeline clock instead of system time, ...) appeared to work even
worse in my tests. So the code that is currently used in mplayer is bad, but
the other options seemed to be even worse :(

Surely it was not the best experience to start getting familiar with gstreamer
and I'm surely not going to start looking for the one who is at fault here,
there is a high probability that I missed something important and it is me
after all ;) Anybody who can fix gstreamer based output module for mplayer 
is welcome to submit a patch.

The only excuse for keeping this bad code in maemo build of mplayer is that 
it provides some performance improvement and works quite acceptable
(audio/video sync is ok) most of the time.

Now as the sources of gstreamer plugins are available, they may provide 
some insights about how to use them better and what could be wrong.

> I'd suggest that the most practical approach for now would be to have
> an application that uses a speex dsp task to decode speex,  and then
> takes the output from that speex task and routes it to an existing
> gstreamer plugin for pcm output.     This may be suboptimal, as the
> data will cross the dsp gateway boundary twice more than necessary,
> but it still might retain most of the benefit of offloading speex work
> to the dsp.    I mean were talking something like 64KB/s of extra
> copying in the worst case (?), which I don't think will be a very
> significant cost even on the 770's OMAP processor.
>
> The marginal benefit of persuing a zero copy solution (direct from dsp
> to sound) just probably isn't work the effort.   Documentation for the
> software components of the 770 that use the dsp is virtually
> non-existent until now.   Aside from the mp3 decoder, I think all of
> the other stuff has been basically unavailable to developers outside
> of those working on Nokia's closed source multimedia applications.
> On the bright side, the gstreamer plugins for these various pieces has
> been made open source in maemo 2.1.     I wouldn't hold my breath on
> the dsp side of these plugins ever becoming open source (although I
> would wholeheartedly welcome it!).

It would be very nice to have the sources (maybe some stripped down version)
of C55x stuff that is used by dsppcmsink as a template for implementing
thirdparty dsp based decoders. But maybe I'm asking for too much :)
_______________________________________________
maemo-developers mailing list
maemo-developers@maemo.org
https://maemo.org/mailman/listinfo/maemo-developers

Reply via email to