Is it somehow possible that something else could read from the socket between when AWAITING_STREAM_CHANNEL_ID is set and the case statement?
Now, I don't see how. (I assume you're not doing something dump like trying to use more than one thread.)
And would it be possible to complete the entire operation in tcpReadHandler1, instead of iterating through it repeatedly?
No, because reads from the socket are (now) asynchronous (i.e., non-blocking), so each read from the socket might retrieve only part of the data.
Lastly, I haven't migrated to the new asynchronous interface--is it possible that would have an impact, or is this code shared between the two?
Yes, the synchronous interface is implemented using the asynchronous interface. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ _______________________________________________ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel