[Live-devel] Please help: I have difficulties implementing the right classes

Fabrice Triboix fabricet at ovation.co.uk
Thu Sep 4 08:41:52 PDT 2014


Hello,

I am trying to build an RTSP server using liveMedia to stream H.264 in real time from a live encoder. In essence, as soon as I try to connect with VLC, liveMedia abort()s with the following message:
FramedSource[0xbe838]::getNextFrame(): attempting to read more than once at the same time!

I am using live555-latest.tar.gz, downloaded from the live555 website on 27/08/2014.

Here is the stack trace:
(gdb) bt
#0  FramedSource::getNextFrame (this=0xbe828, to=0xbeb78 "\361s\177\211܂\257\320ΝЁG\372BZ%@u\265\033}\"?(\262k\034݆\362n\215", maxSize=201248,
    afterGettingFunc=0x129bc <MultiFramedRTPSink::afterGettingFrame(void*, unsigned int, unsigned int, timeval, unsigned int)>, afterGettingClientData=0xbe9d0,
    onCloseFunc=0x12100 <MultiFramedRTPSink::ourHandleClosure(void*)>, onCloseClientData=0xbe9d0) at FramedSource.cpp:65
#1  0x000122d8 in MultiFramedRTPSink::packFrame (this=0xbe9d0) at MultiFramedRTPSink.cpp:216
#2  0x00012b68 in MultiFramedRTPSink::buildAndSendPacket (this=0xbe9d0, isFirstPacket=0 '\000') at MultiFramedRTPSink.cpp:191
#3  0x00012b98 in MultiFramedRTPSink::sendNext (firstArg=0xbe9d0) at MultiFramedRTPSink.cpp:414
#4  0x0007d404 in AlarmHandler::handleTimeout (this=0xefe28) at BasicTaskScheduler0.cpp:34
#5  0x00079e58 in DelayQueue::handleAlarm (this=0xb059c) at DelayQueue.cpp:187
#6  0x00078f24 in BasicTaskScheduler::SingleStep (this=0xb0598, maxDelayTime=0) at BasicTaskScheduler.cpp:212
#7  0x0007be9c in BasicTaskScheduler0::doEventLoop (this=0xb0598, watchVariable=0xb55d8 "") at BasicTaskScheduler0.cpp:80
#8  0x0000bcd0 in CVideoSubsession::getAuxSDPLine (this=0xb5518, rtpSink=0xbe9d0, inputSource=0xbe828) at videosubsession.cpp:79
#9  0x00036abc in OnDemandServerMediaSubsession::setSDPLinesFromRTPSink (this=0xb5518, rtpSink=0xbe9d0, inputSource=0xbe828, estBitrate=1074845076)
    at OnDemandServerMediaSubsession.cpp:390
#10 0x000379bc in OnDemandServerMediaSubsession::sdpLines (this=0xb5518) at OnDemandServerMediaSubsession.cpp:76
#11 0x0003502c in ServerMediaSession::generateSDPDescription (this=0xb5400) at ServerMediaSession.cpp:236
#12 0x0001df2c in RTSPServer::RTSPClientConnection::handleCmd_DESCRIBE (this=0xb9860, urlPreSuffix=0xbe905998 "", urlSuffix=0xbe9058d0 "test",
    fullRequestStr=0xb9884 "DESCRIBE rtsp://192.168.0.8/test RTSP/1.0\r\nCSeq: 3\r\nUser-Agent: LibVLC/2.1.5 (LIVE555 Streaming Media v2014.05.27)\r\nAccept: application/sdp\r\n\r\n") at RTSPServer.cpp:524
#13 0x0001aef0 in RTSPServer::RTSPClientConnection::handleRequestBytes (this=0xb9860, newBytesRead=143) at RTSPServer.cpp:988
#14 0x0001bb54 in RTSPServer::RTSPClientConnection::incomingRequestHandler1 (this=0xb9860) at RTSPServer.cpp:788
#15 0x0001bb8c in RTSPServer::RTSPClientConnection::incomingRequestHandler (instance=0xb9860) at RTSPServer.cpp:781
#16 0x00078cf8 in BasicTaskScheduler::SingleStep (this=0xb0598, maxDelayTime=0) at BasicTaskScheduler.cpp:171
#17 0x0007be9c in BasicTaskScheduler0::doEventLoop (this=0xb0598, watchVariable=0x0) at BasicTaskScheduler0.cpp:80
#18 0x0000b7f0 in main () at rtsp.cpp:118
(gdb)

I derived the FramedSource and OnDemandServerMediaSubsession classes to implement my code, getting inspirations from both DeviceSource.cpp and wis-streamer.
I can provide more information and/or source code, just let me know what would be useful.

Thank you so much for your help!

  Fabrice

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20140904/4de06dd5/attachment.html>


More information about the live-devel mailing list