[Live-devel] empty payload data will be sent in MultiFramedRTPSink

Zhang Qian(张倩) qianzhang at asrmicro.com
Mon Sep 23 19:36:25 PDT 2019


Hi Ross,

I found it will send RTP packet with empty payload data in function MultiFramedRTPSink::afterGettingFrame1 if frameSize is 0. How can I avoid this issue? Can you help me? Thanks.

void MultiFramedRTPSink
::afterGettingFrame1(unsigned frameSize, unsigned numTruncatedBytes,           // frameSize is 0
                   struct timeval presentationTime,
                   unsigned durationInMicroseconds) {

.......
    if (fOutBuf->isPreferredSize()
        || fOutBuf->wouldOverflow(numFrameBytesToUse)
        || (fPreviousFrameEndedFragmentation &&
            !allowOtherFramesAfterLastFragment())
        || !frameCanAppearAfterPacketStart(fOutBuf->curPtr() - frameSize,                    // frameCanAppearAfterPacketStart is false;
                                      frameSize) ) {
      // The packet is ready to be sent now
      sendPacketIfNecessary();
      logd("sendPacketIfNecessary now. frameSize is %d\n", frameSize);
    } else {
      // There's room for more frames; try getting another:
      packFrame();
      logd("packFrame now. frameSize is %d\n", frameSize);
    }
…….

Thanks.
/Qian

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20190924/61bcc192/attachment.htm>


More information about the live-devel mailing list