Exemplo n.º 1
0
        public void RTCRtpSendParametersCreateAndDeletePtr()
        {
            RTCRtpSendParametersInternal parametersInternal = new RTCRtpSendParametersInternal();

            int encodingsLength = 2;

            RTCRtpEncodingParametersInternal[] encodings = new RTCRtpEncodingParametersInternal[encodingsLength];
            for (int i = 0; i < encodingsLength; i++)
            {
                encodings[i].active                        = true;
                encodings[i].hasValueMaxBitrate            = true;
                encodings[i].maxBitrate                    = 10000000;
                encodings[i].hasValueMaxFramerate          = true;
                encodings[i].maxFramerate                  = 30;
                encodings[i].hasValueScaleResolutionDownBy = true;
                encodings[i].scaleResolutionDownBy         = 1.0;
                encodings[i].rid = Marshal.StringToCoTaskMemAnsi(string.Empty);
            }
            parametersInternal.transactionId   = Marshal.StringToCoTaskMemAnsi(string.Empty);
            parametersInternal.encodingsLength = encodingsLength;
            parametersInternal.encodings       = IntPtrExtension.ToPtr(encodings);
            RTCRtpSendParameters parameter = new RTCRtpSendParameters(parametersInternal);
            IntPtr ptr = parameter.CreatePtr();

            RTCRtpSendParameters.DeletePtr(ptr);
        }
        public void RTCRtpSendParametersCreateAndDeletePtr()
        {
            RTCRtpSendParametersInternal parametersInternal = default;

            int encodingsLength = 2;

            RTCRtpEncodingParametersInternal[] encodings = new RTCRtpEncodingParametersInternal[encodingsLength];
            for (int i = 0; i < encodingsLength; i++)
            {
                encodings[i].active                = true;
                encodings[i].maxBitrate            = 10000000;
                encodings[i].minBitrate            = 10000000;
                encodings[i].maxFramerate          = 30;
                encodings[i].scaleResolutionDownBy = 1.0;
                encodings[i].rid = Marshal.StringToCoTaskMemAnsi(string.Empty);
            }
            parametersInternal.transactionId = Marshal.StringToCoTaskMemAnsi(string.Empty);
            parametersInternal.encodings     = encodings;

            RTCRtpSendParameters parameter = new RTCRtpSendParameters(ref parametersInternal);

            parameter.CreateInstance(out var instance);
            instance.Dispose();
        }