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

Reply via email to