real time question : RR vs FF?
nadaeck at hotmail.com
Wed Apr 27 19:34:39 PDT 2011
I have made an app that displays the harmonics in 3d.
I want to be able to run it in real-time; I have used the 'rtpool-test' code from the gstreamer core examples (streams->rtpool-test.c) and it works. However, I have seen that this grants me a priority of 90 with a 'RR' policy. Is it possible to change the code code to get 'FIFO' policy? If yes, please how could I do this? I have tied to use the set_schedparam code, but I got the 'Invalid argument' during 'pthread_attr_setschedparam (&attr, &sched)' error... (as well as starting the app with 'chrt -r -p my-pid')
Another question : this code grants real time for Gstreamer code, but what about other code code (not Gstreamer) that follows it? The app is written like this : GTK GUI with a 'Play" button, that starts playing the sound with Gstreamer, and the 'spectrum' element send messages to the bus; everytime the "message handler" function retrives the values of the spectrum, there is a call to a function that display the values of the spectrum in a SDL/OpenGL window. My question is : is the display in the SDL/OpenGL window done also with the RR policy or back with TS policy?
When I run the app (its name is 'spectrum3d', then when I run 'ps -cLe' in a terminal to see all the threads of the app, I see this :
5265 5265 TS 19 pts/0 00:00:01 spectrum3d
5265 5267 TS 19 pts/0 00:00:00 threaded-ml
5265 5268 TS 19 pts/0 00:00:00 threaded-ml
5265 5270 TS 19 pts/0 00:00:00 task0
5265 5271 TS 19 pts/0 00:00:00 spectrum3d
5265 5272 RR 90 pts/0 00:00:01 alsasrc:src
The 1st pid is the Gtk GUI; the last one must be the gstreamer sound reading, since its policy is RR; but I don't know what the other pid represent...
thanks for your help
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the gstreamer-devel