[Live-devel] OnDemandMediaSubsession, DeviceSource, SDP

Johan info at nnuvo.org
Sat Jun 16 13:42:34 PDT 2012


Hello,

Firstly, Thank you for the library.

I have subclassed FramedSource similarly to the DeviceSource 
example to accept calls from a separate thread using the 
signalNewFrameData() method. It parses the mdat data coming
from an iPhone mp4 hardware encoder, which should be
an AVC H264 Stream. This "file stream" parser  replaces
the NAL Lengths with NAL start codes 0x00000001 
(and delivers this modified stream buffer to fTO). 

OnDemandServerMediaSubsession subclass virtual functions have 
been moved to public (for passing deviceSource to signalNewFrameData)
and implemented as such. 

createNewStreamSource->DeviceSource->return H264VideoStreamFramer
createNewRTPSink->return H264VideoRTPSink. 

Unfortunately when extracting this data 
OnDemandServerMediaSubsession fails to produce any SDP 
description of the stream, I can only assume this is because 
the SPS PPS are not being sent in-Band the h264 data from 
the MP4 mdat contents.

If i pass the RTPSink to a PassiveServerMediaSubsession, 
it generates what seems to be a proper SDP Description. 
So is there any way to utilize this functionality in OnDemand? 
Or will I have to inject the description in-Band?

Client connection (naturally) seems to hang as and eventually
times out. Even though the downstream object calls for data 
and the request is filled. 

Sending request: DESCRIBE rtsp://***.***.*.***/testStream RTSP/1.0 
CSeq: 2
User-Agent: LIVE555 Streaming Media v2012.05.11
Accept: application/sdp




More information about the live-devel mailing list