[Live-devel] Live input to RTSP Server

Kumar Sambhav sambhav at saranyu.in
Tue Feb 28 21:15:41 PST 2012


Hi,

I am trying to get live RTP data as input to the RTSP Server.

Modified H264VideoFileServerMediaSubsession::createNewStreamSource to  create a RTPSource instead of ByteStreamFileSource. 

  char const* inputAddressStr = "0.0.0.0";
  struct in_addr inputAddress;
  inputAddress.s_addr = our_inet_addr(inputAddressStr);
  Port const inputPort(50003);
  unsigned char const inputTTL = 0; // we're only reading from this mcast group
  Groupsock inputGroupsock(envir(), inputAddress, inputPort, inputTTL);
     H264VideoRTPSource *rtpSource = H264VideoRTPSource::createNew(envir(), &inputGroupsock,96,90000);
  return H264VideoStreamDiscreteFramer::createNew(envir(), rtpSource);

The program is crashing when RTPInterface::startNetworkReading calls  BasicTaskScheduler::setBackgroundHandling. From the gdb trace found that the socketNum in RTPInterface is corrupted. 
When the RTPInterface object was initialized its value was 6.  
Any idea where things might be going wrong ?

GDB Trace when the application crashed. 

BasicTaskScheduler::setBackgroundHandling (this=0x1002008c0, socketNum=1606412024, conditionSet=2, handlerProc=0xbf7fe24, clientData=0x7fff8d02a600) at BasicTaskScheduler.cpp:197
RTPInterface::startNetworkReading (this=0x100204d90, handlerProc=0x10001b2d8 <MultiFramedRTPSource::networkReadHandler(MultiFramedRTPSource*, int)>) at UsageEnvironment.hh:156
MultiFramedRTPSource::doGetNextFrame (this=0x0) at MultiFramedRTPSource.cpp:119
H264VideoStreamDiscreteFramer::doGetNextFrame (this=0x100204d00) at H264VideoStreamDiscreteFramer.cpp:46
H264FUAFragmenter::doGetNextFrame (this=0x0) at H264VideoRTPSink.cpp:167
MultiFramedRTPSink::packFrame (this=0x0) at MultiFramedRTPSink.cpp:216
MultiFramedRTPSink::continuePlaying (this=0x0) at MultiFramedRTPSink.cpp:152
StreamState::startPlaying (this=0x1002055d0, dests=0x7fff5fbfe6f8, rtcpRRHandler=0x100020ac4 <RTSPServer::RTSPClientSession::noteClientLiveness(RTSPServer::RTSPClientSession*)>, rtcpRRHandlerClientData=0x7fff5fbff1c0, serverRequestAlternativeByteHandler=0x100022dac <RTSPServer::RTSPClientSession::handleAlternativeRequestByte(void*, unsigned char)>, serverRequestAlternativeByteHandlerClientData=0x100801600) at OnDemandServerMediaSubsession.cpp:427
OnDemandServerMediaSubsession::startStream (this=0x0, clientSessionId=1606412024, streamToken=0x1002055d0, rtcpRRHandler=0, rtcpRRHandlerClientData=0x10001b2d8, rtpSeqNum=@0x7fff5fbff266, rtpTimestamp=@0x7fff5fbff260, serverRequestAlternativeByteHandler=0x100022dac <RTSPServer::RTSPClientSession::handleAlternativeRequestByte(void*, unsigned char)>, serverRequestAlternativeByteHandlerClientData=0x100801600) at OnDemandServerMediaSubsession.cpp:210
RTSPServer::RTSPClientSession::handleCmd_PLAY (this=0x100801600, subsession=0x7fff5fbff320, cseq=0x7fff5fbff320 "??_?", fullRequestStr=0x7fff5fbff320 "??_?") at RTSPServer.cpp:1209


Regards,
Sambhav 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20120229/731f2f48/attachment-0001.html>


More information about the live-devel mailing list