<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style id="owaParaStyle" type="text/css">P {margin-top:0;margin-bottom:0;}</style>
</head>
<body ocsi="0" fpstyle="1">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">Hello,<br>
<br>
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:<br>
<blockquote><font face="Courier New">FramedSource[0xbe838]::getNextFrame(): attempting to read more than once at the same time!</font><br>
</blockquote>
<br>
I am using live555-latest.tar.gz, downloaded from the live555 website on 27/08/2014.<br>
<br>
Here is the stack trace:<br>
<blockquote><font face="Courier New">(gdb) bt<br>
#0  FramedSource::getNextFrame (this=0xbe828, to=0xbeb78 "\361s\177\211܂\257\320ΝЁG\372BZ%@u\265\033}\"?(\262k\034݆\362n\215", maxSize=201248,
<br>
    afterGettingFunc=0x129bc <MultiFramedRTPSink::afterGettingFrame(void*, unsigned int, unsigned int, timeval, unsigned int)>, afterGettingClientData=0xbe9d0,
<br>
    onCloseFunc=0x12100 <MultiFramedRTPSink::ourHandleClosure(void*)>, onCloseClientData=0xbe9d0) at FramedSource.cpp:65<br>
#1  0x000122d8 in MultiFramedRTPSink::packFrame (this=0xbe9d0) at MultiFramedRTPSink.cpp:216<br>
#2  0x00012b68 in MultiFramedRTPSink::buildAndSendPacket (this=0xbe9d0, isFirstPacket=0 '\000') at MultiFramedRTPSink.cpp:191<br>
#3  0x00012b98 in MultiFramedRTPSink::sendNext (firstArg=0xbe9d0) at MultiFramedRTPSink.cpp:414<br>
#4  0x0007d404 in AlarmHandler::handleTimeout (this=0xefe28) at BasicTaskScheduler0.cpp:34<br>
#5  0x00079e58 in DelayQueue::handleAlarm (this=0xb059c) at DelayQueue.cpp:187<br>
#6  0x00078f24 in BasicTaskScheduler::SingleStep (this=0xb0598, maxDelayTime=0) at BasicTaskScheduler.cpp:212<br>
#7  0x0007be9c in BasicTaskScheduler0::doEventLoop (this=0xb0598, watchVariable=0xb55d8 "") at BasicTaskScheduler0.cpp:80<br>
#8  0x0000bcd0 in CVideoSubsession::getAuxSDPLine (this=0xb5518, rtpSink=0xbe9d0, inputSource=0xbe828) at videosubsession.cpp:79<br>
#9  0x00036abc in OnDemandServerMediaSubsession::setSDPLinesFromRTPSink (this=0xb5518, rtpSink=0xbe9d0, inputSource=0xbe828, estBitrate=1074845076)<br>
    at OnDemandServerMediaSubsession.cpp:390<br>
#10 0x000379bc in OnDemandServerMediaSubsession::sdpLines (this=0xb5518) at OnDemandServerMediaSubsession.cpp:76<br>
#11 0x0003502c in ServerMediaSession::generateSDPDescription (this=0xb5400) at ServerMediaSession.cpp:236<br>
#12 0x0001df2c in RTSPServer::RTSPClientConnection::handleCmd_DESCRIBE (this=0xb9860, urlPreSuffix=0xbe905998 "", urlSuffix=0xbe9058d0 "test",
<br>
    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<br>
#13 0x0001aef0 in RTSPServer::RTSPClientConnection::handleRequestBytes (this=0xb9860, newBytesRead=143) at RTSPServer.cpp:988<br>
#14 0x0001bb54 in RTSPServer::RTSPClientConnection::incomingRequestHandler1 (this=0xb9860) at RTSPServer.cpp:788<br>
#15 0x0001bb8c in RTSPServer::RTSPClientConnection::incomingRequestHandler (instance=0xb9860) at RTSPServer.cpp:781<br>
#16 0x00078cf8 in BasicTaskScheduler::SingleStep (this=0xb0598, maxDelayTime=0) at BasicTaskScheduler.cpp:171<br>
#17 0x0007be9c in BasicTaskScheduler0::doEventLoop (this=0xb0598, watchVariable=0x0) at BasicTaskScheduler0.cpp:80<br>
#18 0x0000b7f0 in main () at rtsp.cpp:118<br>
(gdb) </font><br>
</blockquote>
<br>
I derived the FramedSource and OnDemandServerMediaSubsession classes to implement my code, getting inspirations from both DeviceSource.cpp and wis-streamer.<br>
I can provide more information and/or source code, just let me know what would be useful.<br>
<br>
Thank you so much for your help!<br>
<br>
  Fabrice<br>
<br>
</div>
</body>
</html>