<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoNoSpacing, li.MsoNoSpacing, div.MsoNoSpacing
        {mso-style-priority:1;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNoSpacing style='margin:0cm;margin-bottom:.0001pt'><span style='color:#1F497D'>Please Ignore the attached file, if any.</span> <o:p></o:p></p><p class=MsoNoSpacing style='margin:0cm;margin-bottom:.0001pt'><o:p> </o:p></p><p class=MsoNoSpacing style='margin:0cm;margin-bottom:.0001pt'><span style='font-family:"Calibri","sans-serif"'>Hi,</span><o:p></o:p></p><p class=MsoNoSpacing style='margin:0cm;margin-bottom:.0001pt'><span style='font-family:"Calibri","sans-serif"'>Main problem to Integrate Live lib with Directshow filter is the thread synchronization. To overcome that I define Live Thread as another Worker thread of DS filter. I got test.mpg stream on VLC player, but not sequential rendered, meaning I have about 4500 frames that the filter inserted in a queue. Although my <span style='color:#1F497D'>deliverefFrame</span> method process from the queue <b>only</b> 700 frames, (that explain the video behavior). My MPEG1or2LiveSource(Subclass of <span style='color:#1F497D'>FramedSource</span>) implementation  followed by the new <span style='color:#1F497D'>DeviceSource</span> with <span style='color:#1F497D'>EventTrigger</span>. </span><o:p></o:p></p><p class=MsoNoSpacing style='margin:0cm;margin-bottom:.0001pt'><span style='font-family:"Calibri","sans-serif"'>My conclusion is that live thread is not keep-up with the frames received thread. In order to control live thread I had to subclass in <span style='color:#1F497D'>BasicTaskScheduler0</span> and implement <span style='color:#1F497D'>doEventLoop</span> as a <span style='color:#1F497D'>singleStep</span> to avoid the <span style='color:blue'>BasicTaskScheduler0::</span><span style='color:#1F497D'>doEventLoop</span> endless loop.</span><o:p></o:p></p><p class=MsoNoSpacing style='margin:0cm;margin-bottom:.0001pt'><o:p> </o:p></p><p class=MsoNoSpacing style='margin:0cm;margin-bottom:.0001pt'><span style='font-family:"Calibri","sans-serif"'>Question:</span><o:p></o:p></p><p class=MsoNoSpacing style='margin:0cm;margin-bottom:.0001pt'><span style='font-family:"Calibri","sans-serif"'>1) Is it right to call delivered frame from <span style='color:#1F497D'>doGetNextFrame</span> this way?</span><o:p></o:p></p><p class=MsoNoSpacing style='margin:0cm;margin-bottom:.0001pt'><o:p> </o:p></p><p class=MsoNoSpacing style='margin:0cm;margin-bottom:.0001pt'><span style='font-family:"Calibri","sans-serif";color:#1F497D'>if (!gOutputQueue->empty()) // Queue is Not empty, deliver frame.<o:p></o:p></span></p><p class=MsoNoSpacing style='margin:0cm;margin-bottom:.0001pt'><span style='font-family:"Calibri","sans-serif";color:#1F497D'>    deliverFrame();  <o:p></o:p></span></p><p class=MsoNoSpacing style='margin:0cm;margin-bottom:.0001pt'><o:p> </o:p></p><p class=MsoNoSpacing style='margin:0cm;margin-bottom:.0001pt'><span style='font-family:"Calibri","sans-serif"'>2) If yes for the previous question and I'm using the <span style='color:#1F497D'>triggerEvent</span> for every frame I'm pushing to the queue. <span style='color:#1F497D'>deliverFrame</span> method is called from <span style='color:#1F497D'>doGetNextFrame</span> also from the <span style='color:#1F497D'>triggerEvent</span> in <span style='color:#1F497D'>SingleStep</span> method, it does not make sense?</span><o:p></o:p></p><p class=MsoNoSpacing style='margin:0cm;margin-bottom:.0001pt'><o:p> </o:p></p><p class=MsoNoSpacing style='margin:0cm;margin-bottom:.0001pt'><span style='font-family:"Calibri","sans-serif";color:#1F497D'>myCAMThread_RTSP.scheduler->triggerEvent(MPEG1or2LiveSource::eventTriggerId,myCAMThread_RTSP.mpeg1or2LiveSource);<o:p></o:p></span></p><p class=MsoNoSpacing style='margin:0cm;margin-bottom:.0001pt'><o:p> </o:p></p><p class=MsoNoSpacing style='margin:0cm;margin-bottom:.0001pt'><span style='font-family:"Calibri","sans-serif"'>3) In order to synchronize between the pulling and pushing of the frames in the queue should I consider changing <span style='color:#1F497D'>MAX_SCHEDULER_GRANULARITY</span> of <span style='color:#1F497D'>schedulerTickTask</span>?</span><o:p></o:p></p><p class=MsoNoSpacing style='margin:0cm;margin-bottom:.0001pt'><o:p> </o:p></p><p class=MsoNoSpacing style='margin:0cm;margin-bottom:.0001pt'><span style='font-family:"Calibri","sans-serif"'>Thanks </span><o:p></o:p></p><p class=MsoNoSpacing style='margin:0cm;margin-bottom:.0001pt'><span style='font-family:"Calibri","sans-serif"'>  Eyal</span><o:p></o:p></p></div>
<HR><Font face=arial size=2 color=black><I>

LEGAL NOTICE - Unless expressly stated otherwise, this message, its annexes, attachments, appendixes, 
<BR>any subsequent correspondence, and any document, data, sketches, plans and/or other material 
that<BR> is hereby attached, are proprietary confidential and may be legally privileged.<BR>
Nothing in this e-mail is intended to conclude a contract on behalf of Aeronautics or 
<BR>make it subject to any other legally binding commitments, unless the e-mail <BR>
contains an express statement to the contrary or incorporates a formal Purchase Order.<BR>
This transmission is intended for the named addressee only. Unless you are the named addressee (or 
<BR>authorised to receive it for the addressee) you may not copy or use it, or disclose it to anyone else, any 
<BR>disclosure or copying of the contents of this e-mail or any action taken (or not taken) in reliance on it is 
<BR>unauthorised and may be unlawful. If you are not an addressee, please inform the sender 
immediately.<BR>



</body></html>