<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<base href="x-msg://1231/">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<pre style="white-space:pre-wrap; word-wrap:break-word">But the wav source class just uses fread instead of the bytestream so my getframe blocks on my audio fifo.  Doesn't that also block video since there is only one thread?  What do I do if I have no audio data avail?<br>I will check presentation time as well.</pre>
<br>
<br>
Ross Finlayson <finlayson@live555.com>wrote:<br>
<br>
<div>
<div>
<blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">
<div lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1" style="page: WordSection1; ">
<div style="margin-top: 0in; margin-right: 0in; margin-left: 0in; margin-bottom: 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; ">
Then problem is combining audio+video.  I think I did the audio incorrectly.  I think it's doing a blocking read on my audio fifo and messing up the video since the whole shebang is single threaded.  I think what I need is the ByteStream class which does async,
 that way it tells the scheduler to wait on available read data.</div>
</div>
</div>
</span></blockquote>
<div><br>
</div>
By default, reading from a "ByteStreamFileSource" object *is* asynchronous - unless you're running Windows (because Windows is brain damaged, and doesn't let you call "select()" on open files).  So, if you're running Windows, you'll get asynchronous file reading
 if you switch to a real operating system :-)</div>
<div><br>
</div>
<div>But I'm not convinced that that is your problem.  One important thing to get right if you're streaming multiple media types is presentation times - i.e., the "fPresentationTime" values that you set in your media source classes (when delivering each frame).
  These values *must* be properly synchronized, and *must* also be aligned with 'wall clock' time - i.e., the time that you'd get by calling "gettimeofday()".</div>
<br>
<br>
<div apple-content-edited="true"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">Ross
 Finlayson<br>
Live Networks, Inc.<br>
<a href="http://www.live555.com/">http://www.live555.com/</a></span></span> </div>
<br>
</div>
</body>
</html>