Quote:
Originally Posted by geekmaster
I just repeated the above experiment on my K5, using top instead of htop. It reported that gmplay used 15% CPU (as expected because the K5 sleeps while the K3 is inside the eink update call). The tones program immediately aborts with the following errors:
Code:
ALSA lib pcm_hw.c:1429:(_snd_pcm_hw_open) Unknown field hint
Playback open error: Invalid argument
It appears that the K3 eink update calls are the culprit, consuming all that CPU time during system calls (which was also reported by hawhill some time ago). There must be some nasty wait loops or spinlocks, as mentioned before.
Those long busy eink updates on a K3 may interfere with sound, unless the sound is interrupt driven.
At least sound and video should work well together on a K4 or newer (after porting the sound code to the newer kindles).
FYI, the K3 spends about 140 msec full frame eink update calls, so sound buffering should be at least that long, and preferably synchronized to the framerate. On a DX and DXG, the 600x800 (not fullscreen) eink updates take about 650 msec to compete.
|
Okay I will have a head scratch about the maximum buffer size.
I think 4096 periods is the max size but I will have for figure out how long that actually is in the real world today.
In other news I only have a 3's and a DX so looks like I'll have to start saving up the pennies if I want to support all the devices. ho hum
I think - like you said - if I actually weld them together in one app and simply manage the error-handling in a very robust way - we will get better performance.
As for the
Hint missing. That 99% likely to be the sym link to
libsoundalibasound is either missing - or
libsoundalibasound is not present at all. A sym link or x-compiled lib would fix it.
I'm going to keep playing about and see what I can get going today.
The actual code out of the first failed full-duplex demo above is pretty nice style so I think I will have an iterate over that and see if I can't back-port some of his error handling. - or possibly find an alternate improved - highly robust - way of splattering stuff the the card.
Thanks for playing. It is highly appreciated GM