<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.3268" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=659005115-03122008><FONT face=Arial color=#0000ff size=2>few 
things you must notice:</FONT></SPAN></DIV>
<DIV><SPAN class=659005115-03122008><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=659005115-03122008><FONT face=Arial color=#0000ff 
size=2>1.doGetNextFrame should NOT call deliver frame. it should only scheduled 
deliverFrame in the taskSchedulaer waiting on some socket or the 
watchVariable.</FONT></SPAN></DIV>
<DIV><SPAN class=659005115-03122008><FONT face=Arial color=#0000ff size=2>2. you 
call startPlaying only once!!! (when you want to start playing - it should not 
be used to notify new data.</FONT></SPAN></DIV>
<DIV>&nbsp;</DIV><!-- Converted from text/rtf format -->
<P dir=ltr><SPAN lang=en-us><FONT face=Arial 
size=2>Regards,</FONT></SPAN></P><BR>
<P dir=ltr><SPAN lang=en-us><FONT face=Arial size=2>Amit 
Yedidia</FONT></SPAN></P>
<P dir=ltr><SPAN lang=en-us><FONT face=Arial size=2>Elbit System 
Ltd.</FONT></SPAN></P>
<P dir=ltr><SPAN lang=en-us><FONT face=Arial size=2>Email: 
amit.yedidia@elbitsystems.com</FONT></SPAN></P>
<P dir=ltr><SPAN lang=en-us><FONT face=Arial size=2>Tel: 
972-4-8318905</FONT></SPAN></P>
<P dir=ltr><SPAN lang=en-us><FONT face=Arial 
size=2>----------------------------------------------------------</FONT></SPAN></P>
<P dir=ltr><SPAN lang=en-us></SPAN><SPAN lang=he></SPAN></P>
<DIV>&nbsp;</DIV><BR>
<BLOCKQUOTE 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
  <DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
  <HR tabIndex=-1>
  <FONT face=Tahoma size=2><B>From:</B> live-devel-bounces@ns.live555.com 
  [mailto:live-devel-bounces@ns.live555.com] <B>On Behalf Of </B>anand 
  meher<BR><B>Sent:</B> Wednesday, December 03, 2008 5:35 PM<BR><B>To:</B> 
  live-devel@ns.live555.com<BR><B>Subject:</B> Re: [Live-devel] problems with 
  New FramedSource creation<BR></FONT><BR></DIV>
  <DIV></DIV>Dear Ross,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I am relatively new 
  using the live555 libraries and sorry if my questions are too trivial. I read 
  the FAQ especially the question which says how to modify test*Streamer 
  application to read from a live audio or video. I wanted to modify 
  testMPEG2TransportStreamer so that it can read from my buffers instead of a 
  file.<BR><BR>I have tried piping and using files as mentioned in the FAQ but i 
  dont have cotrol over the 
  syncronization.<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  I intended to&nbsp; implement something like 
  below....<BR>&nbsp;<BR>&nbsp;NewDeviceSource (which reads from the buffer 
  containing *TS ) --&gt; TransportStreamFramer --&gt; sink( a simple RTP 
  sink)<BR><BR>*TS = (MPEG2 Transport Stream 188 byte 
  packets)<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp; One question which i have is whether 
  i have to also write a new Filter for TransportStreamFramer . I already have 
  the MPEG2 transport stream packets in my buffer so i thought i need not write 
  a new filter but instead use the exising TransportStreamFramer.&nbsp; 
  <BR><BR>Also i have a doubt in the way i need to signal the arrival of new 
  data to the event loop and i explain it below.<BR><BR>I used the watchVariable 
  of the doEventloop and when ever its set i call <BR>videoSink-&gt;startPlaying 
  (&nbsp; ).and i am not calling newDeviceSource-&gt;doGetNextFrame()&nbsp; 
  because it needs to be framed by the TransportStreamFramer.<BR><BR>I dont know 
  wether calling videoSink-&gt;startPlaying() is the correct way of signalling 
  the new data.<BR><BR>&nbsp;i can clarify some of the points if its not 
  clear.<BR><BR>best regards<BR>Anand 
  Meher.<BR><BR><BR><BR><BR><BR>&nbsp;<BR><BR><BR>
  <DIV class=gmail_quote>On Wed, Dec 3, 2008 at 2:46 PM, anand meher <SPAN 
  dir=ltr>&lt;<A 
  href="mailto:kvmsanand@gmail.com">kvmsanand@gmail.com</A>&gt;</SPAN> 
wrote:<BR>
  <BLOCKQUOTE class=gmail_quote 
  style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">Hi 
    everyone,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    I am developing software which is a multithreaded program and one thread 
    requires the transport stream packets to be streamed from my data 
    structures. I should also take care of mutual exclusion to the access of the 
    data structure .I have created a new Device Source and implemented the 
    doGetNextFrame() and deliverFrame() functions.<BR><BR>the doGetNextFrame() 
    function reads from the data strcutres and calls the deliver frame 
    function.<BR>the deliverFrame function copies the data to fTo and then 
    deletes the respective bytes from the data strucutre.<BR><BR>//I have 
    modelled the actual thread which streams along the lines of 
    testMPEG2TransportStreamer.cpp<BR><BR><BR><BR><BR>in the play() function i 
    do the following steps<BR><BR>vectorSource = 
    VectorDeviceSource::createNew(*env, g_packets_outputvector, 
    g_packets_outputvectorlock,signal_vector);<BR><BR>//where vectorSource is 
    the new Device Source i have created.<BR><BR>videoSource = 
    MPEG2TransportStreamFramer::createNew(*env, vectorSource);<BR>&nbsp;//then i 
    create a videoSource for Framer and i pass theVectorSource 
    object.<BR><BR>then i call <BR><BR>videoSink-&gt;startPlaying(*videoSource, 
    afterPlaying, videoSink);<BR><BR><BR><BR><BR>BUT my program some how does 
    not work properly...<BR><BR>firslty it gets stuck in the deliverFrame() 
    function always ....and uses lot of CPU and causes the other threads running 
    to slow down as well.....<BR><BR>I read some of the posts of live555 and 
    feared that may be the program is going to a infinite loop..so i tried using 
    the watchVariable in the event loop , but even that did not work 
    .....<BR><BR><BR>1) it would be great if some can help me in what i am 
    missing .....<BR><BR><BR>i can claify if something is missing 
    .........<BR><BR>Regards<BR><FONT color=#888888>Anand.<BR>&nbsp;&nbsp;&nbsp; 
    <BR><BR><BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    <BR><BR>&nbsp;<BR></FONT></BLOCKQUOTE></DIV><BR></BLOCKQUOTE>
<DIV><STRONG><FONT color=#000080 size=2></FONT></STRONG>&nbsp;</DIV>
<DIV align=left><STRONG><FONT face=Arial color=#000080 size=2>The information in 
this e-mail transmission contains proprietary and business <BR>sensitive 
information.&nbsp; Unauthorized interception of this e-mail may constitute <BR>a 
violation of law. If you are not the intended recipient, you are hereby 
<BR>notified that any review, dissemination, distribution or duplication of this 
<BR>communication is strictly prohibited. You are also asked to contact the 
sender <BR>by reply email and immediately destroy all copies of the original 
message.<BR></FONT></STRONG></DIV>
</BODY></HTML>