Ok, after some hours of tinkering this (non-working) bit of code is what I have come up with:<br>*********************<br>int pipeFile[2];&nbsp;&nbsp; // Pipe file descriptors<br>FILE* fdFile;<br>....<br>if (pipe(pipeFile) == -1) // create the pipe
<br>&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp; perror (&quot;pipe&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1);<br>&nbsp;&nbsp;&nbsp; }<br>if ((fdFile = fdopen(pipeFile[0], &quot;r&quot;)) == NULL) //open the read end of our pipe as a FILE<br>&nbsp;&nbsp;&nbsp; { &nbsp; perror (&quot;fdopen&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(1);
<br>&nbsp;&nbsp;&nbsp; }<br>...<br>while (1) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Grab to our unix pipe<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_grabx(hin_, &amp;cfInBuf_[0], ngot_); // this fills the buffer cfInBuf_<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (ngot_ &gt; 0) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Send out the packet to Unix pipe
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write(pipeFile[1], &amp;cfInBuf_[0], ngot_*sizeof(real_4)); // write to our pipe<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>...<br>and then,<br>ByteStreamFileSource* fileSource =<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ByteStreamFileSource::createNew(*env, fdFile, deleteFidOnClose, inputDataChunkSize);
<br>and so on. <br><br>However, I am getting the error<br>BasicTaskScheduler::SingleStep(): select() fails: Bad file descriptor<br><br>Does anything look awry offhand?&nbsp; I would have like to have just passed createNew my pipe file descriptor, but I had to convert to the FILE struct to fit the createNew prototype.&nbsp; Thanks!
<br><br>Russell<br><br><br><br><br><div><span class="gmail_quote">On 6/20/07, <b class="gmail_sendername">Russell Brennan</b> &lt;<a href="mailto:rjbrennn@gmail.com">rjbrennn@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div>Well, I have been experimenting with piping and I can get file descriptors for pipes using the pipe() call, but it seems that I need a FILE sctruct rather than a file descriptor. Any ideas how to convert one to the other?
</div><span class="sg">
<div>&nbsp;</div>
<div>Russell<br><br>&nbsp;</div></span><div><span class="e" id="q_1134ac1fce18a7ef_2">
<div><span class="gmail_quote">On 6/20/07, <b class="gmail_sendername">Russell Brennan</b> &lt;<a href="mailto:rjbrennn@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rjbrennn@gmail.com
</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;">
<div>Yes, I&#39;m on RedHat 5... Piping it sounds liek a great idea to me, I&#39;m going to try to put something together and I&#39;ll post some code snippets for future reference when I get things running smoothly.&nbsp; Thanks, 
</div>
<div>&nbsp;</div>
<div>Russell<br><br>&nbsp;</div>
<div><span>
<div><span class="gmail_quote">On 6/19/07, <b class="gmail_sendername">Ross Finlayson</b> &lt;<a href="mailto:finlayson@live555.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">finlayson@live555.com
</a>&gt; wrote:</span> 
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;">&gt;I am trying to take a buffer of MPEG2-TS data which is constantly<br>&gt;written to, and hook it up to live555 for output via RTP. 
<br><br>The best way to do this is to make your buffer an OS pipe, and then<br>just have your LIVE555-based application read from this.&nbsp;&nbsp;For<br>example, if you write your MPEG-2 TS data to standard output (in one<br>process), and then pipe this to your LIVE-555-based application (in 
<br>another process), that reads from &quot;stdin&quot; (see below).<br><br>If you do this, then you won&#39;t have to modify any existing code<br>(except the name of the input file in &quot;testMPEG2TransportStreamer&quot;). 
<br><br>&gt;&nbsp;&nbsp;I am currently basing my work on the testMEPG2TransportStreamer<br>&gt;code, but obviously this was designed to stream a file.<br><br>Yes - however, the special file name &quot;stdin&quot; can be used to read from 
<br>standard input.<br><br>(I&#39;m assuming that you&#39;re running a Unix system (including Linux).<br>If instead you&#39;re running Windows, then I don&#39;t know what you&#39;d do<br>(although I think Windows has &#39;named pipes&#39;).) 
<br>--<br><br>Ross Finlayson<br>Live Networks, Inc.<br><a href="http://www.live555.com/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.live555.com/</a><br>_______________________________________________
<br>live-devel mailing list<br><a href="mailto:live-devel@lists.live555.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">live-devel@lists.live555.com</a><br><a href="http://lists.live555.com/mailman/listinfo/live-devel" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

http://lists.live555.com/mailman/listinfo/live-devel</a><br></blockquote></div><br><br clear="all"><br></span></div><span>-- <br>Russell Brennan <br><a href="mailto:RJBrennn@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

RJBrennn@gmail.com</a><br>(708) 699-7314 </span></blockquote></div><br><br clear="all"><br>-- <br>Russell Brennan<br><a href="mailto:RJBrennn@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
RJBrennn@gmail.com</a><br>(708) 699-7314 
</span></div></blockquote></div><br><br clear="all"><br>-- <br>Russell Brennan<br><a href="mailto:RJBrennn@gmail.com">RJBrennn@gmail.com</a><br>(708) 699-7314