[Live-devel] Live555 EventLoop Crash
Ross Finlayson
finlayson at live555.com
Wed Dec 21 06:59:02 PST 2011
On Dec 21, 2011, at 6:49 AM, David J Myers wrote:
> On further examination of my encoded frame data, it looks like an I-frame consists of 3 NAL units, each preceded by 00 00 00 01, the first NALU is 17 bytes long, the second NALU is 9 bytes long, and the 3rd NALU is the rest of the frame size. Each P-frame is just one NALU.
> My code is now using H264VideoStreamDiscreteFramer and sending each NAL unit one by one. So each I-Frame is sent with 3 calls to afterGetting(this).
You can do this only if each call to "afterGetting(this)" corresponds to exactly one earlier call to "doGetNextFrame()". I.e., you *must not* call "afterGetting(this)" more than once for each call to "doGetNextFrame()".
I.e, if you want to deliver these three NAL units - one at a time - to the downstream object (in this case, a "H264VideoStreamDiscreteFramer"), then you must really do so 'one at a time'. Each call to "doGetNextFrame()" must be followed by one (and only one) data delivery, followed by a call to "FramedSource::afterGetting()".
If you do this properly, though, then this should produce a proper RTSP/RTP stream. (However, I suggest that you test this first with "openRTSP", rather than VLC.)
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20111221/edd4abad/attachment.html>
More information about the live-devel
mailing list