[Live-devel] compilation issue / vcpkg / windows

Ross Finlayson finlayson at live555.com
Fri Feb 4 02:27:55 PST 2022



> On Feb 4, 2022, at 10:58 PM, g.jaegy <g.jaegy at imagine3d.fr> wrote:
> 
> Upstream accidentally stepped on trying to use C99 VLAs; fOutBuf->curPacketSize() is not a constant.
> 
> 	// Hack: Because the MKI + authentication tag at the end of the packet would
> 	// overwrite any following (still to be sent) frame data, we can't encrypt/tag
> 	// the packet in place.  Instead, we have to make a copy (on the stack) of
> 	// the packet, before encrypting/tagging/sending it:
> 	u_int8_t packet[fOutBuf->curPacketSize() + SRTP_MKI_LENGTH + SRTP_AUTH_TAG_LENGTH];
> 	memcpy(packet, fOutBuf->packet(), fOutBuf->curPacketSize());
> 	unsigned newPacketSize;

It seems that you’re using a C++ compiler that doesn’t handle variable-sized data being allocated on the stack.  If you can’t upgrade your compiler, then you will be able to compile it by adding 
	-DNO_OPENSSL=1
to your compile flags.  (Of course, if you do this, then you won’t be able to handle connections over TLS, or SRTP.)


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




More information about the live-devel mailing list