Hello, The FifoUtil_get() call uses the UN*X read() call which is a blocking call and can be prempted by other threads. In practice, if no buffers are available on this fifo a context switch will occur. Regards, Niclas
________________________________ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of manas lenka Sent: Saturday, March 15, 2008 2:18 PM To: [email protected] Subject: Doubt About Demo Programme Architecture.... Hi, I have gone through the decode demo application code given with the DVEVM. I could not understand one thing: There are 4 threads: 1.Display 2.Video 3.Audio 4.Control thread(main) Display has highest priority. Then Video and then Audio and Control thread. While executing the code I found that: When the instuction "if (FifoUtil_get(envp->hDisplayOutFifo, &de) == FIFOUTIL_FAILURE)" is being executed , the video thread is being preempted by display thread or audio thread. I could not understand this. Display thread preempts Video is OK as it has higher priority.But why Audio Thread having lower priority is preempting the Video thread. WHETHER THE VIDEO THREAD GOES TO WATING STATE WHILE EXECUTING THE ABOVE MENTIOED "INSTRUCTION" ________________________________ Unlimited freedom, unlimited storage. Get it now <http://in.rd.yahoo.com/tagline_mail_2/*http://help.yahoo.com/l/in/yahoo /mail/yahoomail/tools/tools-08.html/>
_______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
