> While the H264LiveServerMediaSession constructor is called once - the
> createNewRTPSink/createNewStreamSource are called twice (?!) upon RTSP
> connection. May be this is the real reason of 
> "FramedSource[0x1bf42e0]::getNextFrame():
> attempting to read more" message ?

No, I don’t think so, because between the two calls to 
“createNewStreamSource()”, there should be a call to 
“~H264VideoStreamDiscreteFramer()” (i.e., to close the object that was created 
by the first "createNewStreamSource()”.  This is the case because you set the 
“reuseFirstSource” parameter to True in your call to the 
“OnDemandServerMediaSubsession” constructor.


>> 
>> If you know the SPS and PPS NAL units ahead of time, then you can add
>> them as (otherwise optional) parameters to the call to
>> ?H264VideoRTPSink::createNew()? in ?playCommon.cpp?.
> 
> Sorry, I'm new to the live555 - can you show me the _exact_ way how to
> extract SPS/PPS in playSIP app from SIP H264 RTP packet stream using
> live555 API ?

Are you *sure* that there was no "sprop-parameter-sets=“ assignment in a 
"a=fmtp:” line in the SDP description returned by SIP?  If there was, then it 
should end up in the “MediaSubsession” object.

But otherwise, your RTSP server is not going to work properly (or, more 
accurately, it will work, but clients won’t be able to play the stream because 
they won’t know the SPS and PPS NAL units before they start playing the 
stream).  Is it the case that the SPS and PPS NAL units don’t appear in the SIP 
SDP, but instead appear inline (e.g., periodically) in the H.264 stream?  If 
that’s the case, then you’ll have to implement the “getAuxSDPLine()” virtual 
function in your “H264LiveServerMediaSession” class.  For guidance on how to do 
this, see how we implement the “H264VideoFileServerMediaSubsession” class.


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

Reply via email to