[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