[Live-devel] [Mirasys] Live555 RTSP server questions

Ross Finlayson finlayson at live555.com
Wed Jan 26 09:19:20 PST 2022



> On Jan 27, 2022, at 2:37 AM, Victor Vitkovskiy <victor.vitkovskiy at mirasys.com> wrote:
> 
> Hello Ross, 
> 
> So, if I understood correctly, if OutPacketBuffer::maxSize is smaller then frame, then all that is more then this value will be lost in any way?

Yes.


>  I thought that if frame is bigger then buffer then I need to pass this buffer part by part in each doGetNextFrame call using fNumTruncatedBytes value to define how much data is still remained to send.

No.  “doGetNextFrame()” must deliver (or attempt to deliver) only one frame[*] at a time. But you can’t deliver a frame larger than “fMaxSize”.

[* ]Strictly speaking, in the case of H.264/H.265 video, this is one "NAL unit” at a time.  If you have a very large H.264/H.265 frame, it is best if you can configure your encoder to break it up into multiple ’slice’ NAL units, and deliver one of those at a time.


> But according to your last email this fNumTruncatedBytes parameter is useless if upper level components just lose all data that is bigger than OutPacketBuffer::maxSize.

“fNumTruncatedBytes” is not completely ‘useless’; it gives information to the downstream object about how much data was lost.  But this data is just that - lost.


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/




More information about the live-devel mailing list