From 42ac42e85694c0cc857351680eda0c7b281febc2 Mon Sep 17 00:00:00 2001 From: "sarandogou0@gmail.com" Date: Sun, 27 Jul 2014 07:06:25 +0200 Subject: [PATCH] - **1.1.0** - Add new JavaScript function: Webrtc::getScreenShot(). This function converts the RGB32 raw image to bitmap then to base64. The process is instantaneous and the base64 image could be used in JavaScript like this: ``` var image = new Image(); image.onload = function () { document.getElementById("mycanvas").getContext("2d").drawImage(image, 0, 0, width, height); }; image.src = "data:image/png;base64," + base64; ``` - Bug fix: - [Issue #6](../../issues/6): The active element tag flashes when the window is resized or scrolled - [Issue #7](../../issues/7): drawImage() function is toooo slooow - [Issue #8](../../issues/8): Color alignment issue in drawImage() --- README.md | 18 +- WebRTC.htm | 91 +- common/_Config.h | 4 +- common/_Utils.cc | 237 ++++ common/_Utils.h | 3 + common/webrtc-everywhere-common.rc | Bin 4588 -> 4588 bytes ie/Debug/webrtc-everywhere.res | Bin 25628 -> 25764 bytes ie/Utils.cc | 5 +- ie/WebRTC.cc | 48 + ie/WebRTC.h | 1 + ie/webrtc-everywhere.rc | 8 +- ie/webrtceverywhere.idl | 3 +- ie/webrtceverywhere_i.c | 2 +- ie/webrtceverywhere_i.h | 12 +- ie/webrtceverywhere_p.c | 1909 ++++++++++++++-------------- npapi/Utils.cc | 4 +- npapi/WebRTC.cc | 54 +- npapi/webrtc-everywhere-npapi.rc | 8 +- 18 files changed, 1402 insertions(+), 1005 deletions(-) diff --git a/README.md b/README.md index d632832..909c8a1 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,8 @@ The following samples use our Choose camera resolution - Choose camera and microphone - Audio-only getUserMedia() output to local audio element + - getUserMedia() + Canvas (slowness issue fixed in 1.1.0) + - getUserMedia() + Canvas + CSS filters (slowness issue fixed in 1.1.0) - Peer connection - Audio-only peer connection - Multiple peer connections @@ -22,9 +24,6 @@ The following samples use our Display createOffer output - ICE candidate gathering -next #2 samples work but are toooo sloooow (to be fixed): - - getUserMedia() + Canvas - - getUserMedia() + Canvas + CSS filters # Using our plugin in your own project - Download and install the plugin for MAC OSX or Windows @@ -46,6 +45,19 @@ To build the source code you'll need Visual Studio 2013 (Windows) or Xcode (MAC # Release notes - **1.0.1** - Initial release **without** support for DataChannel + - **1.1.0** + - Add new JavaScript function: Webrtc::getScreenShot(). This function converts the RGB32 raw image to bitmap then to base64. The process is instantaneous and the base64 image could be used in JavaScript like this: + ``` + var image = new Image(); + image.onload = function () { + document.getElementById("mycanvas").getContext("2d").drawImage(image, 0, 0, width, height); + }; + image.src = "data:image/png;base64," + base64; + ``` + - Bug fix: + - [Issue #6](../../issues/6): The active element tag flashes when the window is resized or scrolled + - [Issue #7](../../issues/7): drawImage() function is toooo slooow + - [Issue #8](../../issues/8): Color alignment issue in drawImage() # License - Binaries and installers: All binaries and installers **from us** are released under **BSD** terms to allow using the project in your commercial products. diff --git a/WebRTC.htm b/WebRTC.htm index e42a601..28d8eed 100755 --- a/WebRTC.htm +++ b/WebRTC.htm @@ -1,7 +1,14 @@ ATL 8.0 test page for object WebRTC - + + + - - - - - + +
+
+ +
+
+ +
+   +   +   +   +
+
+
+ -
-
-
- - - - - - + + diff --git a/common/_Config.h b/common/_Config.h index 7a2675e..2a84d14 100755 --- a/common/_Config.h +++ b/common/_Config.h @@ -15,10 +15,10 @@ # define kPluginVersionMajor 1 #endif #if !defined(kPluginVersionMinor) -# define kPluginVersionMinor 0 +# define kPluginVersionMinor 1 #endif #if !defined(kPluginVersionMicro) -# define kPluginVersionMicro 1 +# define kPluginVersionMicro 0 #endif #if !defined(kPluginVersionString) # define kPluginVersionString WE_STRING(WE_CAT(kPluginVersionMajor, .)) WE_STRING(WE_CAT(kPluginVersionMinor, .)) WE_STRING(kPluginVersionMicro) diff --git a/common/_Utils.cc b/common/_Utils.cc index 627a1ac..fbe3aad 100755 --- a/common/_Utils.cc +++ b/common/_Utils.cc @@ -170,6 +170,10 @@ LRESULT CALLBACK _Utils::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPa { switch (uMsg) { #if WE_UNDER_WINDOWS + case WM_ERASEBKGND: + { + return TRUE; // avoid background erasing. + } case WM_PAINT: { _RTCDisplay* display = dynamic_cast<_RTCDisplay*>(reinterpret_cast<_RTCDisplay*>(GetWindowLongPtr(hWnd, GWLP_USERDATA))); @@ -292,3 +296,236 @@ void _Utils::UniqueObjRemove(long id) _Utils::s_unique_objs.erase(id); _Utils::s_unique_objs_cs->Leave(); } + +//!\ Up to the caller to free the returned buffer ("out_pptr") +WeError _Utils::ConvertToBase64(const void* _in_ptr, size_t in_size, void **out_pptr, size_t *out_size_ptr, void* (*MemAllocFn)(size_t n) /*= NULL*/) +{ + if (!_in_ptr || !in_size || !out_pptr || *out_pptr || !out_size_ptr) { + WE_DEBUG_ERROR("Invalid parameter"); + return WeError_InvalidArgument; + } + // Copyright(C) Doubango Telecom - tinySAK project + static const char* kBase64EncodeAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; +#define TSK_BASE64_ENCODE_LEN(IN_LEN) ((2 + (IN_LEN) - (((IN_LEN) + 2) % 3)) * 4 / 3) +#define TSK_BASE64_DECODE_LEN(IN_LEN) (((IN_LEN * 3)/4) + 2) + /** Pad char.*/ +#define TSK_BASE64_PAD '=' + + /** Encoding block size. */ +#define TSK_BASE64_ENCODE_BLOCK_SIZE 3 /* 24-bit input group */ + /** Decoding block size. */ +#define TSK_BASE64_DECODE_BLOCK_SIZE 4 + + /*================================================================== + Value Encoding Value Encoding Value Encoding Value Encoding + 0 A 17 R 34 i 51 z + 1 B 18 S 35 j 52 0 + 2 C 19 T 36 k 53 1 + 3 D 20 U 37 l 54 2 + 4 E 21 V 38 m 55 3 + 5 F 22 W 39 n 56 4 + 6 G 23 X 40 o 57 5 + 7 H 24 Y 41 p 58 6 + 8 I 25 Z 42 q 59 7 + 9 J 26 a 43 r 60 8 + 10 K 27 b 44 s 61 9 + 11 L 28 c 45 t 62 + + 12 M 29 d 46 u 63 / + 13 N 30 e 47 v + 14 O 31 f 48 w (pad) = + 15 P 32 g 49 x + 16 Q 33 h 50 y + + RFC 4548 - Table 1: The Base 64 Alphabet + */ + + /*================================================================================= + content T S K + ASCII 0x54 0x53 0x4B + Binary 0101 0100 0101 0011 0100 1011 + ------------------------------------------------------------------------------ + ------------------------------------------------------------------------------ + Packs of 6bits 010101 000101 001101 001011 + Indexes 21 5 13 11 + Base64 encoded V F N L <=== HERE IS THE RESULT OF tsk_base64_encode("TSK") + */ + + size_t i = 0; + size_t output_size = 0; + + *out_size_ptr = TSK_BASE64_ENCODE_LEN(in_size); + if (MemAllocFn) { + *out_pptr = MemAllocFn((*out_size_ptr) + 1); + memset(*out_pptr, 0, (*out_size_ptr) + 1); + } + else { + *out_pptr = calloc((*out_size_ptr) + 1, sizeof(uint8_t)); + } + if (!*out_pptr) { + WE_DEBUG_ERROR("failed to malloc buffer"); + return WeError_OutOfMemory; + } + uint8_t* out_ptr = (uint8_t*)*out_pptr; + const uint8_t* in_ptr = (const uint8_t*)_in_ptr; + + /* Too short? */ + if (in_size < TSK_BASE64_ENCODE_BLOCK_SIZE) { + goto quantum; + } + + do { + out_ptr[output_size++] = kBase64EncodeAlphabet[(in_ptr[i] >> 2) & 0x3F]; + out_ptr[output_size++] = kBase64EncodeAlphabet[((in_ptr[i] << 4) | (in_ptr[i + 1] >> 4)) & 0x3F]; + out_ptr[output_size++] = kBase64EncodeAlphabet[((in_ptr[i + 1] << 2) | (in_ptr[i + 2] >> 6)) & 0x3F]; + out_ptr[output_size++] = kBase64EncodeAlphabet[in_ptr[i + 2] & 0x3F]; + + i += TSK_BASE64_ENCODE_BLOCK_SIZE; + } while ((i + TSK_BASE64_ENCODE_BLOCK_SIZE) <= in_size); + +quantum: + + if ((in_size - i) == 1) { + /* The final quantum of encoding input is exactly 8 bits; here, the + final unit of encoded output will be two characters followed by + two "=" padding characters. + */ + out_ptr[output_size++] = kBase64EncodeAlphabet[(in_ptr[i] >> 2) & 0x3F]; + out_ptr[output_size++] = kBase64EncodeAlphabet[(in_ptr[i] << 4) & 0x3F]; + out_ptr[output_size++] = TSK_BASE64_PAD, *(out_ptr + output_size++) = TSK_BASE64_PAD; + } + else if ((in_size - i) == 2) { + /* The final quantum of encoding input is exactly 16 bits; here, the + final unit of encoded output will be three characters followed by + one "=" padding character. + */ + out_ptr[output_size++] = kBase64EncodeAlphabet[(in_ptr[i] >> 2) & 0x3F]; + out_ptr[output_size++] = kBase64EncodeAlphabet[((in_ptr[i] << 4) | (in_ptr[i + 1] >> 4)) & 0x3F]; + out_ptr[output_size++] = kBase64EncodeAlphabet[((in_ptr[i + 1] << 2) | (in_ptr[i + 2] >> 6)) & 0x3F]; + out_ptr[output_size++] = TSK_BASE64_PAD; + } + + *out_size_ptr = output_size; + return WeError_Success; +} + + + +//!\ Up to the caller to free the returned buffer ("bmp_ptr") +WeError _Utils::ConvertToBMP(const void* _rgb32_ptr, size_t width, size_t height, void** bmp_pptr, size_t *bmp_size_ptr) +{ + // http://en.wikipedia.org/wiki/BMP_file_format +#if WE_UNDER_WINDOWS && 0 + typedef BITMAPFILEHEADER BMPFILEHEADER; + typedef BITMAPINFOHEADER BMPINFOHEADER; +#else +#if defined (__GNUC__) +# define WE_PACKED __attribute__((__packed__)) +#else +# define WE_PACKED +#endif +#if defined(_MSC_VER) +#pragma pack( push ) +#pragma pack( 2 ) +#endif + typedef struct WE_PACKED tagBMPINFOHEADER{ + uint32_t biSize; + long biWidth; + long biHeight; + uint16_t biPlanes; + uint16_t biBitCount; + uint32_t biCompression; + uint32_t biSizeImage; + long biXPelsPerMeter; + long biYPelsPerMeter; + uint32_t biClrUsed; + uint32_t biClrImportant; + } BMPINFOHEADER; + + typedef struct WE_PACKED tagBMPFILEHEADER { + uint16_t bfType; + uint32_t bfSize; + uint16_t bfReserved1; + uint16_t bfReserved2; + uint32_t bfOffBits; + } BMPFILEHEADER; +#if defined(_MSC_VER) +#pragma pack( pop ) +#endif +#endif + if (!_rgb32_ptr || !width || !height || !bmp_pptr || *bmp_pptr || !bmp_size_ptr) { + WE_DEBUG_ERROR("Invalid parameter"); + return WeError_InvalidArgument; + } + + BMPFILEHEADER hdr_file; + BMPINFOHEADER hdr_info; + + size_t align = (((width << 2) ^ 0x03) + 1) & 0x03; + size_t stride = (width << 2) + align; + + *bmp_size_ptr = sizeof(BMPFILEHEADER) + sizeof(BMPINFOHEADER) + (stride * height); + *bmp_pptr = calloc(*bmp_size_ptr, sizeof(uint8_t)); + if (!*bmp_pptr) { + WE_DEBUG_ERROR("failed to malloc buffer"); + return WeError_OutOfMemory; + } + uint8_t* bmp_ptr = (uint8_t*)*bmp_pptr; + const uint8_t* rgb32_ptr = (const uint8_t*)_rgb32_ptr; + + memset(&hdr_info, 0, sizeof(hdr_info)); + memset(&hdr_file, 0, sizeof(hdr_file)); + + +#if !defined (BI_RGB) +# define BI_RGB +#endif + + hdr_file.bfSize = *bmp_size_ptr; + hdr_file.bfOffBits = sizeof(BMPFILEHEADER) + sizeof(BMPINFOHEADER); + + hdr_info.biSize = sizeof(BMPINFOHEADER); + hdr_file.bfType = 0x4D42; + hdr_info.biWidth = width; + hdr_info.biHeight = height; + hdr_info.biXPelsPerMeter = 0; + hdr_info.biYPelsPerMeter = 0; + hdr_info.biPlanes = 1; + hdr_info.biBitCount = 32; + hdr_info.biCompression = BI_RGB; + hdr_info.biSizeImage = stride * height; + hdr_info.biClrImportant = 0; + hdr_info.biClrUsed = 0; +#if WE_UNDER_WINDOWS + hdr_info.biHeight *= -1; +#endif + + memcpy(bmp_ptr, &hdr_file, sizeof(BMPFILEHEADER)), bmp_ptr += sizeof(BMPFILEHEADER); + memcpy(bmp_ptr, &hdr_info, sizeof(BMPINFOHEADER)), bmp_ptr += sizeof(BMPINFOHEADER); + + for (size_t y = 0; y < height; ++y) { + for (size_t x = 0; x < width; ++x, rgb32_ptr+=4, bmp_ptr+=4) { +#if 0 + ((uint32_t*)bmp_ptr)[0] = ((uint32_t*)rgb32_ptr)[0]; +#else + bmp_ptr[0] = rgb32_ptr[0], bmp_ptr[1] = rgb32_ptr[1], bmp_ptr[2] = rgb32_ptr[2], bmp_ptr[3] = rgb32_ptr[3]; +#endif + } +#if 0 + for (size_t a = 0; a < align; ++a) { + *bmp_ptr++ = 0; + } +#else + bmp_ptr += align; +#endif + } + +#if 0 + FILE* file = fopen("C:\\Projects\\webrtc-everywhere\\screenshot.png", "wb"); + if (file) { + fwrite(*bmp_pptr, 1, *bmp_size_ptr, file); + fclose(file); + } +#endif + + return WeError_Success; +} \ No newline at end of file diff --git a/common/_Utils.h b/common/_Utils.h index eb066f0..8d9b5c5 100755 --- a/common/_Utils.h +++ b/common/_Utils.h @@ -30,6 +30,9 @@ class WEBRTC_EVERYWHERE_API _Utils static const _UniqueObject* UniqueObjFind(long id); static void UniqueObjAdd(const _UniqueObject* obj); static void UniqueObjRemove(long id); + + static WeError ConvertToBase64(const void* in_ptr, size_t in_size, void **out_pptr, size_t *out_size_ptr, void* (*MemAllocFn)(size_t n) = NULL); + static WeError ConvertToBMP(const void* rgb32_ptr, size_t width, size_t height, void** bmp_pptr, size_t *bmp_size_ptr); private: #if _MSC_VER diff --git a/common/webrtc-everywhere-common.rc b/common/webrtc-everywhere-common.rc index 7eef383ab58cee7acf13bcb74e9ea6afdfdbd610..f0d09573d824aebd77fdcf82038a669ffb6187a5 100644 GIT binary patch delta 68 zcmaE({6=|02?wVkgARiM2v4r%&_wVyujly81mx-gC4qSJYHoQZb|`mpAeZFkSG-It E03A~f$^ZZW delta 72 zcmaE({6=|02?wVEgAM}-8&0m}&_wVyujly81mx-gCG{8#H?QWFXX1u)8I&d~a*1w! I#mmG308h^j>;M1& diff --git a/ie/Debug/webrtc-everywhere.res b/ie/Debug/webrtc-everywhere.res index 633f67da3ab6b9aa0e2787ccdf7652c46be089c4..e566575dc8dae6c204085a9f98999adba4a73f26 100644 GIT binary patch delta 3212 zcmZ`*eN0r@6~Ff}qi=BdT4vB05C(>iaUL*$iYyN7>^ipUjslMIp@TBWSls2q)nThC zTiMn&Hr+J1XLm!h*g!%PHrX^1Y(t}NF!2w!RpVMs+$~t&be>&ik$dT4j)dDLJEHLdFs6eX{i+DqJnAqw*2(vaxN z=j}BQW5+f6IB#inPpS}0c+$Yxk}t%V`eOZnrd)X$F0T-~AWfj+^mo@pKhq+m-6_gZCN28T)MBSHSgY%6ELIWnvLc7B?pU#n1-~gSSFFkOMRAo<7+{#?vEl3@ z<(I5wX1!KSgC(j|Y0BfE-<3F(!0Wogc`!SG$|KcdV`i?WTyD`(2R%;3v`N?3ij(u< z5m#>>-2f7TKddPx>l#(Mz;sag8tBx~bQsKljvQG7os2A(-3DrvX{8u^rgg^9ItQ&|EI`#{%Q<>3`A8M+6s4MhnHaSCenom(vr~9;CB-vZ;tdKMeEyyPfjuD~$QV{n9ndkpIvFdU+c%FGiZh6`OV z&8S^Se-*^2NCm>>#Xu4wt)t<%}OP_SYD7sltZ7PQe&&R#e1WNgVA`DOw|F?eMDkL%GWX(`qY8f(=uEw)l!`Rr5RM_{wTh6)2&O&9KA_W~H{}NUIuwv5%GzF!P&RFMD*=Ua_vfSqMLy1K z=o0}N-_8fSrjJjymzcRcB2=_vt$h|{W);?<3ow!a;`arb+F_@k?Qq&}{U50>Wx1Cn^K4~u&S5E?=-k&kUnnE&|NQK9Heg>Hlz$2NG^zkqRowN zIZ1~aHS=Xi1y%0Nc36Tdo*#%K?y+N;8l@v{SSFzW*3q)L4qSv0@fYGLnm7CqYSwhv;(5xxpti3sB& zZgyKff`p?tPi@Wal*z=3aWvkLNu$kH%LPLhlC9Z|3cuaVRVQ0`ENjusi!8^NchI{n zsdABi0iKFeyQnUdO*dMsin@&MwRmyYUTV*zv!QeZ2vX@9QI4@*8O?yyiu81PWL*!NSV_e9HfgF7w8`ynj%#Cqyc56(ogr~(7tG@^iXfqx0?TT zSmO|guTH*yXF>e$vPgf9Zpx~GEsiSxI>4OZbVhsF(dnf0{Z{*y{~^9i+dE6_5koSE z>pHRV3jM0HME1~BCuhywPK~SUdRs1e4p=Qi#)cZIJK#-!5b_>bc; Qnkyfl|4>3Se&8qn0cA*JT>t<8 delta 2998 zcmYjTYfK#16~1@ag_&isS?`kYGz+`zgTb&oYy$yoC#b~^Zxg^g>|GuaQHf0wsHh4B zw^2kAw}PIuvKkx_iB?pyEn5%?DNf`_j^tFhB@&jlN*jgBKlssBSR#^BnYiB>2Ao-) zJ9D1*oO{n>=f9A%cjfd@f)Elve(=6I-XOJ*$QKNSi}&UGKSX~P^KqJNr^A_@*55$> z2K_GcNk+*&A)esb4@zQ|5L4rI?{hZtR z{NC#$OLjK>C@0wxBeo8)*nueY6~KcSEO`DcsXpr&n$C79koZ$}zGkuPa8&wdwl1S| zBHK?PkE)fJ^cp(hG3gFB0>14KqSoYf(I0ntS}AzEQy*RNq|n){SaN$^hCL_Mc+=%1 zNpA}M!kenNju;W#_NsD;W^yuV1A;Ev_7+H$4&@ZfFhz0-l&F>RbCL~9H*#DC(Mi#q zbY)0082fywato4vYV@gc0h&A8j`~~%-AQx4bY)GWPklwo>@nU`dt^GfOj-V7CRXV_ z8uP1i6@(P}z@I9Y>7mb0-+&eXEtAxM%b+%n{(0wIO+gUOa>#g-wbEt{6x z=|pa^0wNon%~j>FA^T}=Dzq*J{J+&zdCRaD&|L<}NsW3s!eNsi_@7yv)#oh}k79SS zh%-q==8oBrb9NyHLH10)X#)e--ZX~=#!{#u|_!JZqO(n+pna0Na9)Kf!)W?Be#>Osk z6gnrurVDx4nx$G`Sv9SPVciA(7IqkevKPA~!YviD)u0W- z$ac5DPlnDUWH&fecv%`JCX7vQfxtp*5NLsW^QN&WY{v9eC~bmXV>-JGxf=5vAA`0G z7y=%J-hip=g(Ghw!i>eqBYBFP zrE8@V%7$ezzigkBb5vRWg7P4Sep%is@6g}N(_}4uTmIuite}dKkw{-(%j=QepKRb{ zzCo1nqTrL)`(M5A(|&{8#`F-q^4$BpVq{>yE1k(IU2r-WZMyv;ENGmE&K@#p&nM;tsa; z_qk7v47!Vo-J#O*lB4B^L++wbVTsKte&6vo`r>2(y3F=VnTyG%ZYc?l>V4)k5Mq@Q z>RzO-x=OlI_nf>zANC~0@6HM#0<>MHqqhX>b){6H@6V<0uNGMrWlz17F4p_4oUdNG zR$q+HwqDQid|O|DTHpCDYbemxP!D!tpH%6!hG(rykatj|BZ&@%ZOW!X*Bf#*JFaU_ z1SY;~@W?#MXw+p5oy6KlBaKJ3QBx|)h9GsX(IcnnA^2A*qe<6Rz;~mB8mXztqwyr! z!N!|BNjN@SraC!?6hOiooF)3G$zw|fhxf)6{HrP7miH7*ZO)d}RN0)F&|(r%OhQuA zDGqbI*@L_Nuvy1?59<_tXRJA=`PQ0@bsXzm`m?d#KdsZk=>v42C6(6ju4+kD9$ToR zC6`}swY)Vki(R-1Hvrr!xZJtYrT|>6oTOahF2ul{kedxxAEz~UPHswG0CzNoK@+$Q zFmM(z+%bU*hk>7JA?V$gW>78}t-4l%UEHA7Qd6r(tKGxKTRlmA!1yHJL*v;!$p!id za%14|Ng@$|P48g|Z61yNXNyZz*5<+Kb+_rt9V?yf%;ncRo$mN}!x}_Hl-ApLk|(t5 z)=kzUM^_59w(nCmt@LtxE~{7w$JDY{>yWm^4sUK;w^jbAkRB=SxVPBbZae+IhnE=Gw6REHl-_; z{u0?Ki`YH!E-LKQ)V~WmG1~jO=;9vYnPX49h|F_(50i&%Z#<(SZ9p&lP*0W z3JpFjo@q9^*z6>=+iu%5shc)B*qyCeaCIycpp)Gm&1GU?8tL}f^MLVHa6_liX*cTV z^KP!Dhu!+#T`W+}S&wm;PU}GW9#33`-NU|( z?|C@IBaJ7?7=Q;M17A#-QqH~0tuMTL+&FsU(1T&!I?CBdj=IbPJW<#e_KE#@98d3r zkD#Tp;vD@4!b==6$*|wb3GJpsVZU6X*CM*I5l06bQC4xdo?QGD`mD!E?z;30{_DVo zd93jy;&H~)d=9WoCwg9xZkFY4{D&SN{-!W;NduBfn?3fVYB1lvcsGetNextDispID(fdexEnumAll, DISPID_STARTENUM, &dispid); while (hr != S_FALSE) { CHECK_HR_RETURN(hr = spConstraints->GetMemberName(dispid, &bstrName)); @@ -264,14 +265,12 @@ HRESULT Utils::BuildMediaConstraints(__in VARIANT varConstraints, __out std::sha else if (Utils::VariantIsInteger(var)) { long v; CHECK_HR_RETURN(hr = Utils::VariantToInteger(var, v)); - char s[25]; sprintf(s, "%ld", v); strVal = std::string(s); } else if (Utils::VariantIsFloat(var)) { double v; CHECK_HR_RETURN(hr = Utils::VariantToDouble(var, v)); - char s[25]; sprintf(s, "%f", v); strVal = std::string(s); } diff --git a/ie/WebRTC.cc b/ie/WebRTC.cc index bdc2f69..c9d403f 100644 --- a/ie/WebRTC.cc +++ b/ie/WebRTC.cc @@ -363,6 +363,54 @@ STDMETHODIMP CWebRTC::fillImageData(__in VARIANT imageData) return hr; } +STDMETHODIMP CWebRTC::getScreenShot(__out BSTR* base64BitmapData) +{ + *base64BitmapData = NULL; + + int videoWidth = GetVideoWidth(); + int videoHeight = GetVideoHeight(); + + if (videoHeight <= 0 || videoWidth <= 0) { + return S_OK; + } + + size_t videoSize = (videoWidth * videoHeight) << 2; + if (!m_pTempVideoBuff || m_pTempVideoBuff->getSize() < videoSize){ + SafeDelete(&m_pTempVideoBuff); + if ((_Buffer::New(NULL, videoSize, &m_pTempVideoBuff))) { + CHECK_HR_RETURN(E_OUTOFMEMORY); + } + } + + if (CopyFromFrame(const_cast(m_pTempVideoBuff->getPtr()), videoSize) != videoSize) { + memset(const_cast(m_pTempVideoBuff->getPtr()), 0, videoSize); + } + const uint8_t* imageDataPtr = (const uint8_t*)m_pTempVideoBuff->getPtr(); + + WeError err; + + // Convert to Bitmap + void* bmp_ptr = NULL; + size_t bmp_size; + if ((err = _Utils::ConvertToBMP(imageDataPtr, videoWidth, videoHeight, &bmp_ptr, &bmp_size)) != WeError_Success) { + if (bmp_ptr) free(bmp_ptr); + CHECK_HR_RETURN(E_FAIL); + } + // Convert to base64 + void* base64_ptr = NULL; + size_t base64_size; + err = _Utils::ConvertToBase64(bmp_ptr, bmp_size, &base64_ptr, &base64_size); + free(bmp_ptr); + HRESULT hr = E_FAIL; + if (err == WeError_Success) { + hr = Utils::CopyAnsiStr((LPCSTR)base64_ptr, base64BitmapData); + } + if (base64_ptr) free(base64_ptr); + CHECK_HR_RETURN(hr); + + return S_OK; +} + STDMETHODIMP CWebRTC::get_isWebRtcPlugin(__out VARIANT_BOOL* pVal) { *pVal = VARIANT_TRUE; diff --git a/ie/WebRTC.h b/ie/WebRTC.h index 8f982e7..49e7bbf 100644 --- a/ie/WebRTC.h +++ b/ie/WebRTC.h @@ -200,6 +200,7 @@ class ATL_NO_VTABLE CWebRTC : STDMETHOD(put_src)(__in VARIANT newVal); STDMETHOD(fillImageData)(__in VARIANT imageData); + STDMETHOD(getScreenShot)(__out BSTR* base64BitmapData); STDMETHOD(get_videoWidth)(__out LONG* pVal); STDMETHOD(get_videoHeight)(__out LONG* pVal); STDMETHOD(get_isWebRtcPlugin)(__out VARIANT_BOOL* pVal); diff --git a/ie/webrtc-everywhere.rc b/ie/webrtc-everywhere.rc index f7f2499..6808415 100644 --- a/ie/webrtc-everywhere.rc +++ b/ie/webrtc-everywhere.rc @@ -57,8 +57,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,0,1 - PRODUCTVERSION 1,0,0,1 + FILEVERSION 1,1,0,0 + PRODUCTVERSION 1,1,0,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -75,12 +75,12 @@ BEGIN BEGIN VALUE "CompanyName", "Sarandogou" VALUE "FileDescription", "WebRTC plugin for Safari, IE, Chrome, Opera and Firefox" - VALUE "FileVersion", "1.0.0.1" + VALUE "FileVersion", "1.1.0.0" VALUE "LegalCopyright", "(c) 2014 Sarandogou. All rights reserved." VALUE "InternalName", "webrtc-everywhere.dll" VALUE "OriginalFilename", "webrtc-everywhere.dll" VALUE "ProductName", "WebRTC Everywhere Plugin" - VALUE "ProductVersion", "1.0.0.1" + VALUE "ProductVersion", "1.1.0.0" END END BLOCK "VarFileInfo" diff --git a/ie/webrtceverywhere.idl b/ie/webrtceverywhere.idl index c661b62..8a6683d 100644 --- a/ie/webrtceverywhere.idl +++ b/ie/webrtceverywhere.idl @@ -34,7 +34,8 @@ interface IWebRTC : IDispatch{ [propget, id(51), helpstring("property videoWidth")] HRESULT videoWidth([out, retval] LONG* pVal); [propget, id(52), helpstring("property videoHeight")] HRESULT videoHeight([out, retval] LONG* pVal); [id(53), helpstring("method fillImageData")] HRESULT fillImageData([in] VARIANT imageData); - [propget, id(54), helpstring("property isWebRtcPlugin")] HRESULT isWebRtcPlugin([out, retval] VARIANT_BOOL* pVal); + [id(54), helpstring("method getScreenShot")] HRESULT getScreenShot([out, retval] BSTR* base64BitmapData); + [propget, id(55), helpstring("property isWebRtcPlugin")] HRESULT isWebRtcPlugin([out, retval] VARIANT_BOOL* pVal); }; [ diff --git a/ie/webrtceverywhere_i.c b/ie/webrtceverywhere_i.c index b925abd..9244c02 100644 --- a/ie/webrtceverywhere_i.c +++ b/ie/webrtceverywhere_i.c @@ -6,7 +6,7 @@ /* File created by MIDL compiler version 8.00.0603 */ -/* at Wed Jul 23 09:29:21 2014 +/* at Sat Jul 26 08:10:45 2014 */ /* Compiler settings for webrtceverywhere.idl: Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.00.0603 diff --git a/ie/webrtceverywhere_i.h b/ie/webrtceverywhere_i.h index a1061cc..40af63f 100644 --- a/ie/webrtceverywhere_i.h +++ b/ie/webrtceverywhere_i.h @@ -4,7 +4,7 @@ /* File created by MIDL compiler version 8.00.0603 */ -/* at Wed Jul 23 09:29:21 2014 +/* at Sat Jul 26 08:10:45 2014 */ /* Compiler settings for webrtceverywhere.idl: Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.00.0603 @@ -373,6 +373,9 @@ EXTERN_C const IID IID_IWebRTC; virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE fillImageData( /* [in] */ VARIANT imageData) = 0; + virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE getScreenShot( + /* [retval][out] */ BSTR *base64BitmapData) = 0; + virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_isWebRtcPlugin( /* [retval][out] */ VARIANT_BOOL *pVal) = 0; @@ -498,6 +501,10 @@ EXTERN_C const IID IID_IWebRTC; IWebRTC * This, /* [in] */ VARIANT imageData); + /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *getScreenShot )( + IWebRTC * This, + /* [retval][out] */ BSTR *base64BitmapData); + /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_isWebRtcPlugin )( IWebRTC * This, /* [retval][out] */ VARIANT_BOOL *pVal); @@ -580,6 +587,9 @@ EXTERN_C const IID IID_IWebRTC; #define IWebRTC_fillImageData(This,imageData) \ ( (This)->lpVtbl -> fillImageData(This,imageData) ) +#define IWebRTC_getScreenShot(This,base64BitmapData) \ + ( (This)->lpVtbl -> getScreenShot(This,base64BitmapData) ) + #define IWebRTC_get_isWebRtcPlugin(This,pVal) \ ( (This)->lpVtbl -> get_isWebRtcPlugin(This,pVal) ) diff --git a/ie/webrtceverywhere_p.c b/ie/webrtceverywhere_p.c index e2dcc09..3144dab 100644 --- a/ie/webrtceverywhere_p.c +++ b/ie/webrtceverywhere_p.c @@ -4,7 +4,7 @@ /* File created by MIDL compiler version 8.00.0603 */ -/* at Wed Jul 23 09:29:21 2014 +/* at Sat Jul 26 08:10:45 2014 */ /* Compiler settings for webrtceverywhere.idl: Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.00.0603 @@ -50,7 +50,7 @@ #include "webrtceverywhere_i.h" #define TYPE_FORMAT_STRING_SIZE 1097 -#define PROC_FORMAT_STRING_SIZE 3037 +#define PROC_FORMAT_STRING_SIZE 3073 #define EXPR_FORMAT_STRING_SIZE 1 #define TRANSMIT_AS_TABLE_SIZE 0 #define WIRE_MARSHAL_TABLE_SIZE 2 @@ -759,7 +759,7 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 550 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure get_isWebRtcPlugin */ + /* Procedure getScreenShot */ /* 552 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ @@ -767,21 +767,20 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 558 */ NdrFcShort( 0x15 ), /* 21 */ /* 560 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 562 */ NdrFcShort( 0x0 ), /* 0 */ -/* 564 */ NdrFcShort( 0x22 ), /* 34 */ -/* 566 */ 0x44, /* Oi2 Flags: has return, has ext, */ +/* 564 */ NdrFcShort( 0x8 ), /* 8 */ +/* 566 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ 0x2, /* 2 */ /* 568 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 570 */ NdrFcShort( 0x0 ), /* 0 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 570 */ NdrFcShort( 0x1 ), /* 1 */ /* 572 */ NdrFcShort( 0x0 ), /* 0 */ /* 574 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter pVal */ + /* Parameter base64BitmapData */ -/* 576 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 576 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ /* 578 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 580 */ 0x6, /* FC_SHORT */ - 0x0, /* 0 */ +/* 580 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ /* Return value */ @@ -790,28 +789,29 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 586 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure put_type */ + /* Procedure get_isWebRtcPlugin */ /* 588 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 590 */ NdrFcLong( 0x0 ), /* 0 */ -/* 594 */ NdrFcShort( 0x8 ), /* 8 */ +/* 594 */ NdrFcShort( 0x16 ), /* 22 */ /* 596 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 598 */ NdrFcShort( 0x0 ), /* 0 */ -/* 600 */ NdrFcShort( 0x8 ), /* 8 */ -/* 602 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ +/* 600 */ NdrFcShort( 0x22 ), /* 34 */ +/* 602 */ 0x44, /* Oi2 Flags: has return, has ext, */ 0x2, /* 2 */ /* 604 */ 0x8, /* 8 */ - 0x5, /* Ext Flags: new corr desc, srv corr check, */ + 0x1, /* Ext Flags: new corr desc, */ /* 606 */ NdrFcShort( 0x0 ), /* 0 */ -/* 608 */ NdrFcShort( 0x1 ), /* 1 */ +/* 608 */ NdrFcShort( 0x0 ), /* 0 */ /* 610 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter newVal */ + /* Parameter pVal */ -/* 612 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 612 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ /* 614 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 616 */ NdrFcShort( 0x420 ), /* Type Offset=1056 */ +/* 616 */ 0x6, /* FC_SHORT */ + 0x0, /* 0 */ /* Return value */ @@ -820,6 +820,36 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 622 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ + /* Procedure put_type */ + +/* 624 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 626 */ NdrFcLong( 0x0 ), /* 0 */ +/* 630 */ NdrFcShort( 0x8 ), /* 8 */ +/* 632 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 634 */ NdrFcShort( 0x0 ), /* 0 */ +/* 636 */ NdrFcShort( 0x8 ), /* 8 */ +/* 638 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ + 0x2, /* 2 */ +/* 640 */ 0x8, /* 8 */ + 0x5, /* Ext Flags: new corr desc, srv corr check, */ +/* 642 */ NdrFcShort( 0x0 ), /* 0 */ +/* 644 */ NdrFcShort( 0x1 ), /* 1 */ +/* 646 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter newVal */ + +/* 648 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 650 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 652 */ NdrFcShort( 0x420 ), /* Type Offset=1056 */ + + /* Return value */ + +/* 654 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 656 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 658 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + /* Procedure get_id */ @@ -831,20 +861,20 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* Procedure get_sdp */ -/* 624 */ 0x33, /* FC_AUTO_HANDLE */ +/* 660 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ -/* 626 */ NdrFcLong( 0x0 ), /* 0 */ -/* 630 */ NdrFcShort( 0x9 ), /* 9 */ -/* 632 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 634 */ NdrFcShort( 0x0 ), /* 0 */ -/* 636 */ NdrFcShort( 0x8 ), /* 8 */ -/* 638 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ +/* 662 */ NdrFcLong( 0x0 ), /* 0 */ +/* 666 */ NdrFcShort( 0x9 ), /* 9 */ +/* 668 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 670 */ NdrFcShort( 0x0 ), /* 0 */ +/* 672 */ NdrFcShort( 0x8 ), /* 8 */ +/* 674 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ 0x2, /* 2 */ -/* 640 */ 0x8, /* 8 */ +/* 676 */ 0x8, /* 8 */ 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 642 */ NdrFcShort( 0x1 ), /* 1 */ -/* 644 */ NdrFcShort( 0x0 ), /* 0 */ -/* 646 */ NdrFcShort( 0x0 ), /* 0 */ +/* 678 */ NdrFcShort( 0x1 ), /* 1 */ +/* 680 */ NdrFcShort( 0x0 ), /* 0 */ +/* 682 */ NdrFcShort( 0x0 ), /* 0 */ /* Parameter pVal */ @@ -857,9 +887,9 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* Parameter pVal */ -/* 648 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 650 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 652 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ +/* 684 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 686 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 688 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ /* Return value */ @@ -872,123 +902,123 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* Return value */ -/* 654 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 656 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 658 */ 0x8, /* FC_LONG */ +/* 690 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 692 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 694 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ /* Procedure put_sdp */ -/* 660 */ 0x33, /* FC_AUTO_HANDLE */ +/* 696 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ -/* 662 */ NdrFcLong( 0x0 ), /* 0 */ -/* 666 */ NdrFcShort( 0xa ), /* 10 */ -/* 668 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 670 */ NdrFcShort( 0x0 ), /* 0 */ -/* 672 */ NdrFcShort( 0x8 ), /* 8 */ -/* 674 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ +/* 698 */ NdrFcLong( 0x0 ), /* 0 */ +/* 702 */ NdrFcShort( 0xa ), /* 10 */ +/* 704 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 706 */ NdrFcShort( 0x0 ), /* 0 */ +/* 708 */ NdrFcShort( 0x8 ), /* 8 */ +/* 710 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ 0x2, /* 2 */ -/* 676 */ 0x8, /* 8 */ +/* 712 */ 0x8, /* 8 */ 0x5, /* Ext Flags: new corr desc, srv corr check, */ -/* 678 */ NdrFcShort( 0x0 ), /* 0 */ -/* 680 */ NdrFcShort( 0x1 ), /* 1 */ -/* 682 */ NdrFcShort( 0x0 ), /* 0 */ +/* 714 */ NdrFcShort( 0x0 ), /* 0 */ +/* 716 */ NdrFcShort( 0x1 ), /* 1 */ +/* 718 */ NdrFcShort( 0x0 ), /* 0 */ /* Parameter newVal */ -/* 684 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 686 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 688 */ NdrFcShort( 0x420 ), /* Type Offset=1056 */ +/* 720 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 722 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 724 */ NdrFcShort( 0x420 ), /* Type Offset=1056 */ /* Return value */ -/* 690 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 692 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 694 */ 0x8, /* FC_LONG */ +/* 726 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 728 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 730 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ /* Procedure createOffer */ -/* 696 */ 0x33, /* FC_AUTO_HANDLE */ +/* 732 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ -/* 698 */ NdrFcLong( 0x0 ), /* 0 */ -/* 702 */ NdrFcShort( 0x7 ), /* 7 */ -/* 704 */ NdrFcShort( 0x38 ), /* x86 Stack size/offset = 56 */ -/* 706 */ NdrFcShort( 0x0 ), /* 0 */ -/* 708 */ NdrFcShort( 0x8 ), /* 8 */ -/* 710 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ +/* 734 */ NdrFcLong( 0x0 ), /* 0 */ +/* 738 */ NdrFcShort( 0x7 ), /* 7 */ +/* 740 */ NdrFcShort( 0x38 ), /* x86 Stack size/offset = 56 */ +/* 742 */ NdrFcShort( 0x0 ), /* 0 */ +/* 744 */ NdrFcShort( 0x8 ), /* 8 */ +/* 746 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ 0x4, /* 4 */ -/* 712 */ 0x8, /* 8 */ +/* 748 */ 0x8, /* 8 */ 0x5, /* Ext Flags: new corr desc, srv corr check, */ -/* 714 */ NdrFcShort( 0x0 ), /* 0 */ -/* 716 */ NdrFcShort( 0x1 ), /* 1 */ -/* 718 */ NdrFcShort( 0x0 ), /* 0 */ +/* 750 */ NdrFcShort( 0x0 ), /* 0 */ +/* 752 */ NdrFcShort( 0x1 ), /* 1 */ +/* 754 */ NdrFcShort( 0x0 ), /* 0 */ /* Parameter successCallback */ -/* 720 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 722 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 724 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 756 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 758 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 760 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Parameter failureCallback */ -/* 726 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 728 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 730 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 762 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 764 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 766 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Parameter MediaConstraints */ -/* 732 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 734 */ NdrFcShort( 0x24 ), /* x86 Stack size/offset = 36 */ -/* 736 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 768 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 770 */ NdrFcShort( 0x24 ), /* x86 Stack size/offset = 36 */ +/* 772 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Return value */ -/* 738 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 740 */ NdrFcShort( 0x34 ), /* x86 Stack size/offset = 52 */ -/* 742 */ 0x8, /* FC_LONG */ +/* 774 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 776 */ NdrFcShort( 0x34 ), /* x86 Stack size/offset = 52 */ +/* 778 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ /* Procedure setLocalDescription */ -/* 744 */ 0x33, /* FC_AUTO_HANDLE */ +/* 780 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ -/* 746 */ NdrFcLong( 0x0 ), /* 0 */ -/* 750 */ NdrFcShort( 0x9 ), /* 9 */ -/* 752 */ NdrFcShort( 0x38 ), /* x86 Stack size/offset = 56 */ -/* 754 */ NdrFcShort( 0x0 ), /* 0 */ -/* 756 */ NdrFcShort( 0x8 ), /* 8 */ -/* 758 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ +/* 782 */ NdrFcLong( 0x0 ), /* 0 */ +/* 786 */ NdrFcShort( 0x9 ), /* 9 */ +/* 788 */ NdrFcShort( 0x38 ), /* x86 Stack size/offset = 56 */ +/* 790 */ NdrFcShort( 0x0 ), /* 0 */ +/* 792 */ NdrFcShort( 0x8 ), /* 8 */ +/* 794 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ 0x4, /* 4 */ -/* 760 */ 0x8, /* 8 */ +/* 796 */ 0x8, /* 8 */ 0x5, /* Ext Flags: new corr desc, srv corr check, */ -/* 762 */ NdrFcShort( 0x0 ), /* 0 */ -/* 764 */ NdrFcShort( 0x1 ), /* 1 */ -/* 766 */ NdrFcShort( 0x0 ), /* 0 */ +/* 798 */ NdrFcShort( 0x0 ), /* 0 */ +/* 800 */ NdrFcShort( 0x1 ), /* 1 */ +/* 802 */ NdrFcShort( 0x0 ), /* 0 */ /* Parameter RTCSessionDescription */ -/* 768 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 770 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 772 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 804 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 806 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 808 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Parameter successCallback */ -/* 774 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 776 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 778 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 810 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 812 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 814 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Parameter failureCallback */ -/* 780 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 782 */ NdrFcShort( 0x24 ), /* x86 Stack size/offset = 36 */ -/* 784 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 816 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 818 */ NdrFcShort( 0x24 ), /* x86 Stack size/offset = 36 */ +/* 820 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Return value */ -/* 786 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 788 */ NdrFcShort( 0x34 ), /* x86 Stack size/offset = 52 */ -/* 790 */ 0x8, /* FC_LONG */ +/* 822 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 824 */ NdrFcShort( 0x34 ), /* x86 Stack size/offset = 52 */ +/* 826 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ /* Procedure names */ @@ -999,20 +1029,20 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* Procedure get_localDescription */ -/* 792 */ 0x33, /* FC_AUTO_HANDLE */ +/* 828 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ -/* 794 */ NdrFcLong( 0x0 ), /* 0 */ -/* 798 */ NdrFcShort( 0xa ), /* 10 */ -/* 800 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 802 */ NdrFcShort( 0x0 ), /* 0 */ -/* 804 */ NdrFcShort( 0x8 ), /* 8 */ -/* 806 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ +/* 830 */ NdrFcLong( 0x0 ), /* 0 */ +/* 834 */ NdrFcShort( 0xa ), /* 10 */ +/* 836 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 838 */ NdrFcShort( 0x0 ), /* 0 */ +/* 840 */ NdrFcShort( 0x8 ), /* 8 */ +/* 842 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ 0x2, /* 2 */ -/* 808 */ 0x8, /* 8 */ +/* 844 */ 0x8, /* 8 */ 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 810 */ NdrFcShort( 0x1 ), /* 1 */ -/* 812 */ NdrFcShort( 0x0 ), /* 0 */ -/* 814 */ NdrFcShort( 0x0 ), /* 0 */ +/* 846 */ NdrFcShort( 0x1 ), /* 1 */ +/* 848 */ NdrFcShort( 0x0 ), /* 0 */ +/* 850 */ NdrFcShort( 0x0 ), /* 0 */ /* Parameter Names */ @@ -1022,9 +1052,9 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* Parameter pVal */ -/* 816 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ -/* 818 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 820 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ +/* 852 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 854 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 856 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ /* Return value */ @@ -1034,51 +1064,51 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* Return value */ -/* 822 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 824 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 826 */ 0x8, /* FC_LONG */ +/* 858 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 860 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 862 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ /* Procedure setRemoteDescription */ -/* 828 */ 0x33, /* FC_AUTO_HANDLE */ +/* 864 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ -/* 830 */ NdrFcLong( 0x0 ), /* 0 */ -/* 834 */ NdrFcShort( 0xb ), /* 11 */ -/* 836 */ NdrFcShort( 0x38 ), /* x86 Stack size/offset = 56 */ -/* 838 */ NdrFcShort( 0x0 ), /* 0 */ -/* 840 */ NdrFcShort( 0x8 ), /* 8 */ -/* 842 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ +/* 866 */ NdrFcLong( 0x0 ), /* 0 */ +/* 870 */ NdrFcShort( 0xb ), /* 11 */ +/* 872 */ NdrFcShort( 0x38 ), /* x86 Stack size/offset = 56 */ +/* 874 */ NdrFcShort( 0x0 ), /* 0 */ +/* 876 */ NdrFcShort( 0x8 ), /* 8 */ +/* 878 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ 0x4, /* 4 */ -/* 844 */ 0x8, /* 8 */ +/* 880 */ 0x8, /* 8 */ 0x5, /* Ext Flags: new corr desc, srv corr check, */ -/* 846 */ NdrFcShort( 0x0 ), /* 0 */ -/* 848 */ NdrFcShort( 0x1 ), /* 1 */ -/* 850 */ NdrFcShort( 0x0 ), /* 0 */ +/* 882 */ NdrFcShort( 0x0 ), /* 0 */ +/* 884 */ NdrFcShort( 0x1 ), /* 1 */ +/* 886 */ NdrFcShort( 0x0 ), /* 0 */ /* Parameter RTCSessionDescription */ -/* 852 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 854 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 856 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 888 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 890 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 892 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Parameter successCallback */ -/* 858 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 860 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 862 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 894 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 896 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 898 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Parameter failureCallback */ -/* 864 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 866 */ NdrFcShort( 0x24 ), /* x86 Stack size/offset = 36 */ -/* 868 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 900 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 902 */ NdrFcShort( 0x24 ), /* x86 Stack size/offset = 36 */ +/* 904 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Return value */ -/* 870 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 872 */ NdrFcShort( 0x34 ), /* x86 Stack size/offset = 52 */ -/* 874 */ 0x8, /* FC_LONG */ +/* 906 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 908 */ NdrFcShort( 0x34 ), /* x86 Stack size/offset = 52 */ +/* 910 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ /* Procedure get_aspectRatio */ @@ -1086,184 +1116,154 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* Procedure get_remoteDescription */ -/* 876 */ 0x33, /* FC_AUTO_HANDLE */ +/* 912 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ -/* 878 */ NdrFcLong( 0x0 ), /* 0 */ -/* 882 */ NdrFcShort( 0xc ), /* 12 */ -/* 884 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 886 */ NdrFcShort( 0x0 ), /* 0 */ -/* 888 */ NdrFcShort( 0x8 ), /* 8 */ -/* 890 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ +/* 914 */ NdrFcLong( 0x0 ), /* 0 */ +/* 918 */ NdrFcShort( 0xc ), /* 12 */ +/* 920 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 922 */ NdrFcShort( 0x0 ), /* 0 */ +/* 924 */ NdrFcShort( 0x8 ), /* 8 */ +/* 926 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ 0x2, /* 2 */ -/* 892 */ 0x8, /* 8 */ +/* 928 */ 0x8, /* 8 */ 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 894 */ NdrFcShort( 0x1 ), /* 1 */ -/* 896 */ NdrFcShort( 0x0 ), /* 0 */ -/* 898 */ NdrFcShort( 0x0 ), /* 0 */ +/* 930 */ NdrFcShort( 0x1 ), /* 1 */ +/* 932 */ NdrFcShort( 0x0 ), /* 0 */ +/* 934 */ NdrFcShort( 0x0 ), /* 0 */ /* Parameter pVal */ /* Parameter pVal */ -/* 900 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ -/* 902 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 904 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ +/* 936 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 938 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 940 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ /* Return value */ /* Return value */ -/* 906 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 908 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 910 */ 0x8, /* FC_LONG */ +/* 942 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 944 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 946 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ /* Procedure get_signalingState */ -/* 912 */ 0x33, /* FC_AUTO_HANDLE */ +/* 948 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ -/* 914 */ NdrFcLong( 0x0 ), /* 0 */ -/* 918 */ NdrFcShort( 0xd ), /* 13 */ -/* 920 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 922 */ NdrFcShort( 0x0 ), /* 0 */ -/* 924 */ NdrFcShort( 0x8 ), /* 8 */ -/* 926 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ +/* 950 */ NdrFcLong( 0x0 ), /* 0 */ +/* 954 */ NdrFcShort( 0xd ), /* 13 */ +/* 956 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 958 */ NdrFcShort( 0x0 ), /* 0 */ +/* 960 */ NdrFcShort( 0x8 ), /* 8 */ +/* 962 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ 0x2, /* 2 */ -/* 928 */ 0x8, /* 8 */ +/* 964 */ 0x8, /* 8 */ 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 930 */ NdrFcShort( 0x1 ), /* 1 */ -/* 932 */ NdrFcShort( 0x0 ), /* 0 */ -/* 934 */ NdrFcShort( 0x0 ), /* 0 */ +/* 966 */ NdrFcShort( 0x1 ), /* 1 */ +/* 968 */ NdrFcShort( 0x0 ), /* 0 */ +/* 970 */ NdrFcShort( 0x0 ), /* 0 */ /* Parameter pVal */ -/* 936 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 938 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 940 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ +/* 972 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 974 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 976 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ /* Return value */ -/* 942 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 944 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 946 */ 0x8, /* FC_LONG */ +/* 978 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 980 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 982 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ /* Procedure updateIce */ -/* 948 */ 0x33, /* FC_AUTO_HANDLE */ +/* 984 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ -/* 950 */ NdrFcLong( 0x0 ), /* 0 */ -/* 954 */ NdrFcShort( 0xe ), /* 14 */ -/* 956 */ NdrFcShort( 0x28 ), /* x86 Stack size/offset = 40 */ -/* 958 */ NdrFcShort( 0x0 ), /* 0 */ -/* 960 */ NdrFcShort( 0x8 ), /* 8 */ -/* 962 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ +/* 986 */ NdrFcLong( 0x0 ), /* 0 */ +/* 990 */ NdrFcShort( 0xe ), /* 14 */ +/* 992 */ NdrFcShort( 0x28 ), /* x86 Stack size/offset = 40 */ +/* 994 */ NdrFcShort( 0x0 ), /* 0 */ +/* 996 */ NdrFcShort( 0x8 ), /* 8 */ +/* 998 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ 0x3, /* 3 */ -/* 964 */ 0x8, /* 8 */ +/* 1000 */ 0x8, /* 8 */ 0x5, /* Ext Flags: new corr desc, srv corr check, */ -/* 966 */ NdrFcShort( 0x0 ), /* 0 */ -/* 968 */ NdrFcShort( 0x1 ), /* 1 */ -/* 970 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1002 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1004 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1006 */ NdrFcShort( 0x0 ), /* 0 */ /* Parameter RTCConfiguration */ -/* 972 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 974 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 976 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 1008 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 1010 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1012 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Parameter MediaConstraints */ -/* 978 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 980 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 982 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 1014 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 1016 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 1018 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Return value */ -/* 984 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 986 */ NdrFcShort( 0x24 ), /* x86 Stack size/offset = 36 */ -/* 988 */ 0x8, /* FC_LONG */ +/* 1020 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1022 */ NdrFcShort( 0x24 ), /* x86 Stack size/offset = 36 */ +/* 1024 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ /* Procedure addIceCandidate */ -/* 990 */ 0x33, /* FC_AUTO_HANDLE */ +/* 1026 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ -/* 992 */ NdrFcLong( 0x0 ), /* 0 */ -/* 996 */ NdrFcShort( 0xf ), /* 15 */ -/* 998 */ NdrFcShort( 0x38 ), /* x86 Stack size/offset = 56 */ -/* 1000 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1002 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1004 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ +/* 1028 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1032 */ NdrFcShort( 0xf ), /* 15 */ +/* 1034 */ NdrFcShort( 0x38 ), /* x86 Stack size/offset = 56 */ +/* 1036 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1038 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1040 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ 0x4, /* 4 */ -/* 1006 */ 0x8, /* 8 */ +/* 1042 */ 0x8, /* 8 */ 0x5, /* Ext Flags: new corr desc, srv corr check, */ -/* 1008 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1010 */ NdrFcShort( 0x1 ), /* 1 */ -/* 1012 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1044 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1046 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1048 */ NdrFcShort( 0x0 ), /* 0 */ /* Parameter RTCIceCandidate */ -/* 1014 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 1016 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1018 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 1050 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 1052 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1054 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Parameter successCallback */ -/* 1020 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 1022 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 1024 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 1056 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 1058 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 1060 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Parameter failureCallback */ -/* 1026 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 1028 */ NdrFcShort( 0x24 ), /* x86 Stack size/offset = 36 */ -/* 1030 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ - - /* Return value */ - -/* 1032 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1034 */ NdrFcShort( 0x34 ), /* x86 Stack size/offset = 52 */ -/* 1036 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_iceGatheringState */ - -/* 1038 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 1040 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1044 */ NdrFcShort( 0x10 ), /* 16 */ -/* 1046 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 1048 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1050 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1052 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 1054 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 1056 */ NdrFcShort( 0x1 ), /* 1 */ -/* 1058 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1060 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter pVal */ - -/* 1062 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 1064 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1066 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ +/* 1062 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 1064 */ NdrFcShort( 0x24 ), /* x86 Stack size/offset = 36 */ +/* 1066 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Return value */ /* 1068 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1070 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1070 */ NdrFcShort( 0x34 ), /* x86 Stack size/offset = 52 */ /* 1072 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure get_iceConnectionState */ + /* Procedure get_iceGatheringState */ /* 1074 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 1076 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1080 */ NdrFcShort( 0x11 ), /* 17 */ +/* 1080 */ NdrFcShort( 0x10 ), /* 16 */ /* 1082 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 1084 */ NdrFcShort( 0x0 ), /* 0 */ /* 1086 */ NdrFcShort( 0x8 ), /* 8 */ @@ -1288,12 +1288,12 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 1108 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure getLocalStreams */ + /* Procedure get_iceConnectionState */ /* 1110 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 1112 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1116 */ NdrFcShort( 0x12 ), /* 18 */ +/* 1116 */ NdrFcShort( 0x11 ), /* 17 */ /* 1118 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 1120 */ NdrFcShort( 0x0 ), /* 0 */ /* 1122 */ NdrFcShort( 0x8 ), /* 8 */ @@ -1305,11 +1305,11 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 1130 */ NdrFcShort( 0x0 ), /* 0 */ /* 1132 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter MediaStreams */ + /* Parameter pVal */ -/* 1134 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 1134 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ /* 1136 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1138 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ +/* 1138 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ /* Return value */ @@ -1318,15 +1318,12 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 1144 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure get_onremovetrack */ - - - /* Procedure getRemoteStreams */ + /* Procedure getLocalStreams */ /* 1146 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 1148 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1152 */ NdrFcShort( 0x13 ), /* 19 */ +/* 1152 */ NdrFcShort( 0x12 ), /* 18 */ /* 1154 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 1156 */ NdrFcShort( 0x0 ), /* 0 */ /* 1158 */ NdrFcShort( 0x8 ), /* 8 */ @@ -1338,9 +1335,6 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 1166 */ NdrFcShort( 0x0 ), /* 0 */ /* 1168 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter pVal */ - - /* Parameter MediaStreams */ /* 1170 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ @@ -1349,180 +1343,216 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* Return value */ - - /* Return value */ - /* 1176 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ /* 1178 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ /* 1180 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure getStreamById */ + /* Procedure get_onremovetrack */ + + + /* Procedure getRemoteStreams */ /* 1182 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 1184 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1188 */ NdrFcShort( 0x14 ), /* 20 */ -/* 1190 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 1188 */ NdrFcShort( 0x13 ), /* 19 */ +/* 1190 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 1192 */ NdrFcShort( 0x0 ), /* 0 */ /* 1194 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1196 */ 0x47, /* Oi2 Flags: srv must size, clt must size, has return, has ext, */ - 0x3, /* 3 */ +/* 1196 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ /* 1198 */ 0x8, /* 8 */ - 0x7, /* Ext Flags: new corr desc, clt corr check, srv corr check, */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ /* 1200 */ NdrFcShort( 0x1 ), /* 1 */ -/* 1202 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1202 */ NdrFcShort( 0x0 ), /* 0 */ /* 1204 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter streamId */ + /* Parameter pVal */ + + + /* Parameter MediaStreams */ -/* 1206 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 1206 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ /* 1208 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1210 */ NdrFcShort( 0x420 ), /* Type Offset=1056 */ +/* 1210 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ - /* Parameter MediaStream */ + /* Return value */ -/* 1212 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ -/* 1214 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 1216 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ /* Return value */ -/* 1218 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1220 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 1222 */ 0x8, /* FC_LONG */ +/* 1212 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1214 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1216 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure addStream */ + /* Procedure getStreamById */ -/* 1224 */ 0x33, /* FC_AUTO_HANDLE */ +/* 1218 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ -/* 1226 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1230 */ NdrFcShort( 0x15 ), /* 21 */ -/* 1232 */ NdrFcShort( 0x28 ), /* x86 Stack size/offset = 40 */ -/* 1234 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1236 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1238 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ +/* 1220 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1224 */ NdrFcShort( 0x14 ), /* 20 */ +/* 1226 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 1228 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1230 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1232 */ 0x47, /* Oi2 Flags: srv must size, clt must size, has return, has ext, */ 0x3, /* 3 */ -/* 1240 */ 0x8, /* 8 */ - 0x5, /* Ext Flags: new corr desc, srv corr check, */ -/* 1242 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1244 */ NdrFcShort( 0x1 ), /* 1 */ -/* 1246 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1234 */ 0x8, /* 8 */ + 0x7, /* Ext Flags: new corr desc, clt corr check, srv corr check, */ +/* 1236 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1238 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1240 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter stream */ + /* Parameter streamId */ -/* 1248 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 1250 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1252 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 1242 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 1244 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1246 */ NdrFcShort( 0x420 ), /* Type Offset=1056 */ - /* Parameter MediaConstraints */ + /* Parameter MediaStream */ -/* 1254 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 1256 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 1258 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 1248 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 1250 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1252 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ /* Return value */ -/* 1260 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1262 */ NdrFcShort( 0x24 ), /* x86 Stack size/offset = 36 */ -/* 1264 */ 0x8, /* FC_LONG */ +/* 1254 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1256 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1258 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure removeStream */ + /* Procedure addStream */ -/* 1266 */ 0x33, /* FC_AUTO_HANDLE */ +/* 1260 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ -/* 1268 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1272 */ NdrFcShort( 0x16 ), /* 22 */ -/* 1274 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ -/* 1276 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1278 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1280 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ - 0x2, /* 2 */ -/* 1282 */ 0x8, /* 8 */ +/* 1262 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1266 */ NdrFcShort( 0x15 ), /* 21 */ +/* 1268 */ NdrFcShort( 0x28 ), /* x86 Stack size/offset = 40 */ +/* 1270 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1272 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1274 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ + 0x3, /* 3 */ +/* 1276 */ 0x8, /* 8 */ 0x5, /* Ext Flags: new corr desc, srv corr check, */ -/* 1284 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1286 */ NdrFcShort( 0x1 ), /* 1 */ -/* 1288 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1278 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1280 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1282 */ NdrFcShort( 0x0 ), /* 0 */ /* Parameter stream */ +/* 1284 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 1286 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1288 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ + + /* Parameter MediaConstraints */ + /* 1290 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 1292 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1292 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ /* 1294 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Return value */ /* 1296 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1298 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 1298 */ NdrFcShort( 0x24 ), /* x86 Stack size/offset = 36 */ /* 1300 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure close */ + /* Procedure removeStream */ /* 1302 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 1304 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1308 */ NdrFcShort( 0x17 ), /* 23 */ -/* 1310 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1308 */ NdrFcShort( 0x16 ), /* 22 */ +/* 1310 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ /* 1312 */ NdrFcShort( 0x0 ), /* 0 */ /* 1314 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1316 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x1, /* 1 */ +/* 1316 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ + 0x2, /* 2 */ /* 1318 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ + 0x5, /* Ext Flags: new corr desc, srv corr check, */ /* 1320 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1322 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1322 */ NdrFcShort( 0x1 ), /* 1 */ /* 1324 */ NdrFcShort( 0x0 ), /* 0 */ - /* Return value */ + /* Parameter stream */ -/* 1326 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1326 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 1328 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1330 */ 0x8, /* FC_LONG */ +/* 1330 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ + + /* Return value */ + +/* 1332 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1334 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 1336 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure close */ + +/* 1338 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 1340 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1344 */ NdrFcShort( 0x17 ), /* 23 */ +/* 1346 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1348 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1350 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1352 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x1, /* 1 */ +/* 1354 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 1356 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1358 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1360 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Return value */ + +/* 1362 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1364 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1366 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ /* Procedure getStats */ -/* 1332 */ 0x33, /* FC_AUTO_HANDLE */ +/* 1368 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ -/* 1334 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1338 */ NdrFcShort( 0x18 ), /* 24 */ -/* 1340 */ NdrFcShort( 0x38 ), /* x86 Stack size/offset = 56 */ -/* 1342 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1344 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1346 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ +/* 1370 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1374 */ NdrFcShort( 0x18 ), /* 24 */ +/* 1376 */ NdrFcShort( 0x38 ), /* x86 Stack size/offset = 56 */ +/* 1378 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1380 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1382 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ 0x4, /* 4 */ -/* 1348 */ 0x8, /* 8 */ +/* 1384 */ 0x8, /* 8 */ 0x5, /* Ext Flags: new corr desc, srv corr check, */ -/* 1350 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1352 */ NdrFcShort( 0x1 ), /* 1 */ -/* 1354 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1386 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1388 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1390 */ NdrFcShort( 0x0 ), /* 0 */ /* Parameter selector */ -/* 1356 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 1358 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1360 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 1392 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 1394 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1396 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Parameter successCallback */ -/* 1362 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 1364 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ -/* 1366 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 1398 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 1400 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 1402 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Parameter failureCallback */ -/* 1368 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 1370 */ NdrFcShort( 0x24 ), /* x86 Stack size/offset = 36 */ -/* 1372 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 1404 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 1406 */ NdrFcShort( 0x24 ), /* x86 Stack size/offset = 36 */ +/* 1408 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Return value */ -/* 1374 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1376 */ NdrFcShort( 0x34 ), /* x86 Stack size/offset = 52 */ -/* 1378 */ 0x8, /* FC_LONG */ +/* 1410 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1412 */ NdrFcShort( 0x34 ), /* x86 Stack size/offset = 52 */ +/* 1414 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ /* Procedure constraints */ @@ -1530,137 +1560,98 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* Procedure get_onnegotiationneeded */ -/* 1380 */ 0x33, /* FC_AUTO_HANDLE */ +/* 1416 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ -/* 1382 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1386 */ NdrFcShort( 0x19 ), /* 25 */ -/* 1388 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 1390 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1392 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1394 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ +/* 1418 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1422 */ NdrFcShort( 0x19 ), /* 25 */ +/* 1424 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1426 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1428 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1430 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ 0x2, /* 2 */ -/* 1396 */ 0x8, /* 8 */ +/* 1432 */ 0x8, /* 8 */ 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 1398 */ NdrFcShort( 0x1 ), /* 1 */ -/* 1400 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1402 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1434 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1436 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1438 */ NdrFcShort( 0x0 ), /* 0 */ /* Parameter MediaTrackConstraints */ /* Parameter pVal */ -/* 1404 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ -/* 1406 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1408 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ - - /* Return value */ - +/* 1440 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 1442 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1444 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ /* Return value */ -/* 1410 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1412 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 1414 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure put_onnegotiationneeded */ - -/* 1416 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 1418 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1422 */ NdrFcShort( 0x1a ), /* 26 */ -/* 1424 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ -/* 1426 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1428 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1430 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ - 0x2, /* 2 */ -/* 1432 */ 0x8, /* 8 */ - 0x5, /* Ext Flags: new corr desc, srv corr check, */ -/* 1434 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1436 */ NdrFcShort( 0x1 ), /* 1 */ -/* 1438 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter newVal */ - -/* 1440 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 1442 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1444 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Return value */ /* 1446 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1448 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 1448 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ /* 1450 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure capabilities */ - - - /* Procedure get_onicecandidate */ + /* Procedure put_onnegotiationneeded */ /* 1452 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 1454 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1458 */ NdrFcShort( 0x1b ), /* 27 */ -/* 1460 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1458 */ NdrFcShort( 0x1a ), /* 26 */ +/* 1460 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ /* 1462 */ NdrFcShort( 0x0 ), /* 0 */ /* 1464 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1466 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ +/* 1466 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ 0x2, /* 2 */ /* 1468 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 1470 */ NdrFcShort( 0x1 ), /* 1 */ -/* 1472 */ NdrFcShort( 0x0 ), /* 0 */ + 0x5, /* Ext Flags: new corr desc, srv corr check, */ +/* 1470 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1472 */ NdrFcShort( 0x1 ), /* 1 */ /* 1474 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter AllCapabilities */ - - - /* Parameter pVal */ + /* Parameter newVal */ -/* 1476 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 1476 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 1478 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1480 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ - - /* Return value */ - +/* 1480 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Return value */ /* 1482 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1484 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1484 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ /* 1486 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure applyConstraints */ + /* Procedure capabilities */ - /* Procedure put_onicecandidate */ + /* Procedure get_onicecandidate */ /* 1488 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 1490 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1494 */ NdrFcShort( 0x1c ), /* 28 */ -/* 1496 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ +/* 1494 */ NdrFcShort( 0x1b ), /* 27 */ +/* 1496 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 1498 */ NdrFcShort( 0x0 ), /* 0 */ /* 1500 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1502 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ +/* 1502 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ 0x2, /* 2 */ /* 1504 */ 0x8, /* 8 */ - 0x5, /* Ext Flags: new corr desc, srv corr check, */ -/* 1506 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1508 */ NdrFcShort( 0x1 ), /* 1 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 1506 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1508 */ NdrFcShort( 0x0 ), /* 0 */ /* 1510 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter MediaTrackConstraints */ + /* Parameter AllCapabilities */ - /* Parameter newVal */ + /* Parameter pVal */ -/* 1512 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 1512 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ /* 1514 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1516 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 1516 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ /* Return value */ @@ -1668,38 +1659,38 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* Return value */ /* 1518 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1520 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 1520 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ /* 1522 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure get_onoverconstrained */ + /* Procedure applyConstraints */ - /* Procedure get_onsignalingstatechange */ + /* Procedure put_onicecandidate */ /* 1524 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 1526 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1530 */ NdrFcShort( 0x1d ), /* 29 */ -/* 1532 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1530 */ NdrFcShort( 0x1c ), /* 28 */ +/* 1532 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ /* 1534 */ NdrFcShort( 0x0 ), /* 0 */ /* 1536 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1538 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ +/* 1538 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ 0x2, /* 2 */ /* 1540 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 1542 */ NdrFcShort( 0x1 ), /* 1 */ -/* 1544 */ NdrFcShort( 0x0 ), /* 0 */ + 0x5, /* Ext Flags: new corr desc, srv corr check, */ +/* 1542 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1544 */ NdrFcShort( 0x1 ), /* 1 */ /* 1546 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter pVal */ + /* Parameter MediaTrackConstraints */ - /* Parameter pVal */ + /* Parameter newVal */ -/* 1548 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 1548 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 1550 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1552 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ +/* 1552 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Return value */ @@ -1707,38 +1698,38 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* Return value */ /* 1554 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1556 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1556 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ /* 1558 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure put_onoverconstrained */ + /* Procedure get_onoverconstrained */ - /* Procedure put_onsignalingstatechange */ + /* Procedure get_onsignalingstatechange */ /* 1560 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 1562 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1566 */ NdrFcShort( 0x1e ), /* 30 */ -/* 1568 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ +/* 1566 */ NdrFcShort( 0x1d ), /* 29 */ +/* 1568 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 1570 */ NdrFcShort( 0x0 ), /* 0 */ /* 1572 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1574 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ +/* 1574 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ 0x2, /* 2 */ /* 1576 */ 0x8, /* 8 */ - 0x5, /* Ext Flags: new corr desc, srv corr check, */ -/* 1578 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1580 */ NdrFcShort( 0x1 ), /* 1 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 1578 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1580 */ NdrFcShort( 0x0 ), /* 0 */ /* 1582 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter newVal */ + /* Parameter pVal */ - /* Parameter newVal */ + /* Parameter pVal */ -/* 1584 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 1584 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ /* 1586 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1588 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 1588 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ /* Return value */ @@ -1746,38 +1737,38 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* Return value */ /* 1590 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1592 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 1592 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ /* 1594 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure clone */ + /* Procedure put_onoverconstrained */ - /* Procedure get_onaddstream */ + /* Procedure put_onsignalingstatechange */ /* 1596 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 1598 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1602 */ NdrFcShort( 0x1f ), /* 31 */ -/* 1604 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1602 */ NdrFcShort( 0x1e ), /* 30 */ +/* 1604 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ /* 1606 */ NdrFcShort( 0x0 ), /* 0 */ /* 1608 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1610 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ +/* 1610 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ 0x2, /* 2 */ /* 1612 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 1614 */ NdrFcShort( 0x1 ), /* 1 */ -/* 1616 */ NdrFcShort( 0x0 ), /* 0 */ + 0x5, /* Ext Flags: new corr desc, srv corr check, */ +/* 1614 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1616 */ NdrFcShort( 0x1 ), /* 1 */ /* 1618 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter MediaStreamTrack */ + /* Parameter newVal */ - /* Parameter pVal */ + /* Parameter newVal */ -/* 1620 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 1620 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 1622 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1624 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ +/* 1624 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Return value */ @@ -1785,199 +1776,205 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* Return value */ /* 1626 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1628 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1628 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ /* 1630 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure put_onaddstream */ + /* Procedure clone */ + + + /* Procedure get_onaddstream */ /* 1632 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 1634 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1638 */ NdrFcShort( 0x20 ), /* 32 */ -/* 1640 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ +/* 1638 */ NdrFcShort( 0x1f ), /* 31 */ +/* 1640 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 1642 */ NdrFcShort( 0x0 ), /* 0 */ /* 1644 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1646 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ +/* 1646 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ 0x2, /* 2 */ /* 1648 */ 0x8, /* 8 */ - 0x5, /* Ext Flags: new corr desc, srv corr check, */ -/* 1650 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1652 */ NdrFcShort( 0x1 ), /* 1 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 1650 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1652 */ NdrFcShort( 0x0 ), /* 0 */ /* 1654 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter newVal */ + /* Parameter MediaStreamTrack */ -/* 1656 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ + + /* Parameter pVal */ + +/* 1656 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ /* 1658 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1660 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 1660 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ + + /* Return value */ + /* Return value */ /* 1662 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1664 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 1664 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ /* 1666 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure get_onremovestream */ + /* Procedure put_onaddstream */ /* 1668 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 1670 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1674 */ NdrFcShort( 0x21 ), /* 33 */ -/* 1676 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1674 */ NdrFcShort( 0x20 ), /* 32 */ +/* 1676 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ /* 1678 */ NdrFcShort( 0x0 ), /* 0 */ /* 1680 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1682 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ +/* 1682 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ 0x2, /* 2 */ /* 1684 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 1686 */ NdrFcShort( 0x1 ), /* 1 */ -/* 1688 */ NdrFcShort( 0x0 ), /* 0 */ + 0x5, /* Ext Flags: new corr desc, srv corr check, */ +/* 1686 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1688 */ NdrFcShort( 0x1 ), /* 1 */ /* 1690 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter pVal */ + /* Parameter newVal */ -/* 1692 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 1692 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 1694 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1696 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ +/* 1696 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Return value */ /* 1698 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1700 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1700 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ /* 1702 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure put_onremovestream */ + /* Procedure get_onremovestream */ /* 1704 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 1706 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1710 */ NdrFcShort( 0x22 ), /* 34 */ -/* 1712 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ +/* 1710 */ NdrFcShort( 0x21 ), /* 33 */ +/* 1712 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 1714 */ NdrFcShort( 0x0 ), /* 0 */ /* 1716 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1718 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ +/* 1718 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ 0x2, /* 2 */ /* 1720 */ 0x8, /* 8 */ - 0x5, /* Ext Flags: new corr desc, srv corr check, */ -/* 1722 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1724 */ NdrFcShort( 0x1 ), /* 1 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 1722 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1724 */ NdrFcShort( 0x0 ), /* 0 */ /* 1726 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter newVal */ + /* Parameter pVal */ -/* 1728 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 1728 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ /* 1730 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1732 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 1732 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ /* Return value */ /* 1734 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1736 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 1736 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ /* 1738 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure get_oniceconnectionstatechange */ + /* Procedure put_onremovestream */ /* 1740 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 1742 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1746 */ NdrFcShort( 0x23 ), /* 35 */ -/* 1748 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1746 */ NdrFcShort( 0x22 ), /* 34 */ +/* 1748 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ /* 1750 */ NdrFcShort( 0x0 ), /* 0 */ /* 1752 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1754 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ +/* 1754 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ 0x2, /* 2 */ /* 1756 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 1758 */ NdrFcShort( 0x1 ), /* 1 */ -/* 1760 */ NdrFcShort( 0x0 ), /* 0 */ + 0x5, /* Ext Flags: new corr desc, srv corr check, */ +/* 1758 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1760 */ NdrFcShort( 0x1 ), /* 1 */ /* 1762 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter pVal */ + /* Parameter newVal */ -/* 1764 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 1764 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 1766 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1768 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ +/* 1768 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Return value */ /* 1770 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1772 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1772 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ /* 1774 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure put_oniceconnectionstatechange */ + /* Procedure get_oniceconnectionstatechange */ /* 1776 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 1778 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1782 */ NdrFcShort( 0x24 ), /* 36 */ -/* 1784 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ +/* 1782 */ NdrFcShort( 0x23 ), /* 35 */ +/* 1784 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 1786 */ NdrFcShort( 0x0 ), /* 0 */ /* 1788 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1790 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ +/* 1790 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ 0x2, /* 2 */ /* 1792 */ 0x8, /* 8 */ - 0x5, /* Ext Flags: new corr desc, srv corr check, */ -/* 1794 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1796 */ NdrFcShort( 0x1 ), /* 1 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 1794 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1796 */ NdrFcShort( 0x0 ), /* 0 */ /* 1798 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter newVal */ + /* Parameter pVal */ -/* 1800 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 1800 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ /* 1802 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1804 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 1804 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ /* Return value */ /* 1806 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1808 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 1808 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ /* 1810 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure getAudioTracks */ + /* Procedure put_oniceconnectionstatechange */ /* 1812 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 1814 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1818 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1820 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 1818 */ NdrFcShort( 0x24 ), /* 36 */ +/* 1820 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ /* 1822 */ NdrFcShort( 0x0 ), /* 0 */ /* 1824 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1826 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ +/* 1826 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ 0x2, /* 2 */ /* 1828 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 1830 */ NdrFcShort( 0x1 ), /* 1 */ -/* 1832 */ NdrFcShort( 0x0 ), /* 0 */ + 0x5, /* Ext Flags: new corr desc, srv corr check, */ +/* 1830 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1832 */ NdrFcShort( 0x1 ), /* 1 */ /* 1834 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter Tracks */ + /* Parameter newVal */ -/* 1836 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 1836 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 1838 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1840 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ +/* 1840 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Return value */ /* 1842 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1844 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1844 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ /* 1846 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure get_width */ - - - /* Procedure getVideoTracks */ + /* Procedure getAudioTracks */ /* 1848 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 1850 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1854 */ NdrFcShort( 0x9 ), /* 9 */ +/* 1854 */ NdrFcShort( 0x8 ), /* 8 */ /* 1856 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 1858 */ NdrFcShort( 0x0 ), /* 0 */ /* 1860 */ NdrFcShort( 0x8 ), /* 8 */ @@ -1989,9 +1986,6 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 1868 */ NdrFcShort( 0x0 ), /* 0 */ /* 1870 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter pVal */ - - /* Parameter Tracks */ /* 1872 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ @@ -2000,86 +1994,92 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* Return value */ - - /* Return value */ - /* 1878 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ /* 1880 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ /* 1882 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure getTrackById */ + /* Procedure get_width */ + + + /* Procedure getVideoTracks */ /* 1884 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 1886 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1890 */ NdrFcShort( 0xa ), /* 10 */ -/* 1892 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 1890 */ NdrFcShort( 0x9 ), /* 9 */ +/* 1892 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 1894 */ NdrFcShort( 0x0 ), /* 0 */ /* 1896 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1898 */ 0x47, /* Oi2 Flags: srv must size, clt must size, has return, has ext, */ - 0x3, /* 3 */ +/* 1898 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ /* 1900 */ 0x8, /* 8 */ - 0x7, /* Ext Flags: new corr desc, clt corr check, srv corr check, */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ /* 1902 */ NdrFcShort( 0x1 ), /* 1 */ -/* 1904 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1904 */ NdrFcShort( 0x0 ), /* 0 */ /* 1906 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter trackId */ + /* Parameter pVal */ -/* 1908 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ + + /* Parameter Tracks */ + +/* 1908 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ /* 1910 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1912 */ NdrFcShort( 0x420 ), /* Type Offset=1056 */ +/* 1912 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ - /* Parameter MediaStreamTrack */ + /* Return value */ -/* 1914 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ -/* 1916 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 1918 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ /* Return value */ -/* 1920 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1922 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 1924 */ 0x8, /* FC_LONG */ +/* 1914 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 1916 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1918 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure addTrack */ + /* Procedure getTrackById */ -/* 1926 */ 0x33, /* FC_AUTO_HANDLE */ +/* 1920 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ -/* 1928 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1932 */ NdrFcShort( 0xb ), /* 11 */ -/* 1934 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ -/* 1936 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1938 */ NdrFcShort( 0x8 ), /* 8 */ -/* 1940 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ - 0x2, /* 2 */ -/* 1942 */ 0x8, /* 8 */ - 0x5, /* Ext Flags: new corr desc, srv corr check, */ -/* 1944 */ NdrFcShort( 0x0 ), /* 0 */ -/* 1946 */ NdrFcShort( 0x1 ), /* 1 */ -/* 1948 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1922 */ NdrFcLong( 0x0 ), /* 0 */ +/* 1926 */ NdrFcShort( 0xa ), /* 10 */ +/* 1928 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 1930 */ NdrFcShort( 0x0 ), /* 0 */ +/* 1932 */ NdrFcShort( 0x8 ), /* 8 */ +/* 1934 */ 0x47, /* Oi2 Flags: srv must size, clt must size, has return, has ext, */ + 0x3, /* 3 */ +/* 1936 */ 0x8, /* 8 */ + 0x7, /* Ext Flags: new corr desc, clt corr check, srv corr check, */ +/* 1938 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1940 */ NdrFcShort( 0x1 ), /* 1 */ +/* 1942 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter trackId */ + +/* 1944 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 1946 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 1948 */ NdrFcShort( 0x420 ), /* Type Offset=1056 */ /* Parameter MediaStreamTrack */ -/* 1950 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ -/* 1952 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 1954 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 1950 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 1952 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 1954 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ /* Return value */ /* 1956 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 1958 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 1958 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 1960 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure removeTrack */ + /* Procedure addTrack */ /* 1962 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 1964 */ NdrFcLong( 0x0 ), /* 0 */ -/* 1968 */ NdrFcShort( 0xc ), /* 12 */ +/* 1968 */ NdrFcShort( 0xb ), /* 11 */ /* 1970 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ /* 1972 */ NdrFcShort( 0x0 ), /* 0 */ /* 1974 */ NdrFcShort( 0x8 ), /* 8 */ @@ -2104,77 +2104,76 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 1996 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure get_facingMode */ - - - /* Procedure get_onmute */ - - - /* Procedure clone */ + /* Procedure removeTrack */ /* 1998 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 2000 */ NdrFcLong( 0x0 ), /* 0 */ -/* 2004 */ NdrFcShort( 0xd ), /* 13 */ -/* 2006 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2004 */ NdrFcShort( 0xc ), /* 12 */ +/* 2006 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ /* 2008 */ NdrFcShort( 0x0 ), /* 0 */ /* 2010 */ NdrFcShort( 0x8 ), /* 8 */ -/* 2012 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ +/* 2012 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ 0x2, /* 2 */ /* 2014 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 2016 */ NdrFcShort( 0x1 ), /* 1 */ -/* 2018 */ NdrFcShort( 0x0 ), /* 0 */ + 0x5, /* Ext Flags: new corr desc, srv corr check, */ +/* 2016 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2018 */ NdrFcShort( 0x1 ), /* 1 */ /* 2020 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter pVal */ - - - /* Parameter pVal */ - - - /* Parameter MediaStream */ + /* Parameter MediaStreamTrack */ -/* 2022 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 2022 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 2024 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 2026 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ +/* 2026 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Return value */ +/* 2028 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2030 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 2032 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ - /* Return value */ + /* Procedure get_facingMode */ - /* Return value */ + /* Procedure get_onmute */ -/* 2028 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 2030 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 2032 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - /* Procedure get_ended */ + /* Procedure clone */ /* 2034 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 2036 */ NdrFcLong( 0x0 ), /* 0 */ -/* 2040 */ NdrFcShort( 0xe ), /* 14 */ +/* 2040 */ NdrFcShort( 0xd ), /* 13 */ /* 2042 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 2044 */ NdrFcShort( 0x0 ), /* 0 */ -/* 2046 */ NdrFcShort( 0x22 ), /* 34 */ -/* 2048 */ 0x44, /* Oi2 Flags: has return, has ext, */ +/* 2046 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2048 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ 0x2, /* 2 */ /* 2050 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 2052 */ NdrFcShort( 0x0 ), /* 0 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 2052 */ NdrFcShort( 0x1 ), /* 1 */ /* 2054 */ NdrFcShort( 0x0 ), /* 0 */ /* 2056 */ NdrFcShort( 0x0 ), /* 0 */ /* Parameter pVal */ -/* 2058 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ + + /* Parameter pVal */ + + + /* Parameter MediaStream */ + +/* 2058 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ /* 2060 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 2062 */ 0x6, /* FC_SHORT */ - 0x0, /* 0 */ +/* 2062 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ + + /* Return value */ + + + /* Return value */ + /* Return value */ @@ -2183,37 +2182,29 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 2068 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure get_onunmute */ - - - /* Procedure get_onended */ + /* Procedure get_ended */ /* 2070 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 2072 */ NdrFcLong( 0x0 ), /* 0 */ -/* 2076 */ NdrFcShort( 0xf ), /* 15 */ +/* 2076 */ NdrFcShort( 0xe ), /* 14 */ /* 2078 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 2080 */ NdrFcShort( 0x0 ), /* 0 */ -/* 2082 */ NdrFcShort( 0x8 ), /* 8 */ -/* 2084 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ +/* 2082 */ NdrFcShort( 0x22 ), /* 34 */ +/* 2084 */ 0x44, /* Oi2 Flags: has return, has ext, */ 0x2, /* 2 */ /* 2086 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 2088 */ NdrFcShort( 0x1 ), /* 1 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2088 */ NdrFcShort( 0x0 ), /* 0 */ /* 2090 */ NdrFcShort( 0x0 ), /* 0 */ /* 2092 */ NdrFcShort( 0x0 ), /* 0 */ /* Parameter pVal */ - - /* Parameter pVal */ - -/* 2094 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 2094 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ /* 2096 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 2098 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ - - /* Return value */ - +/* 2098 */ 0x6, /* FC_SHORT */ + 0x0, /* 0 */ /* Return value */ @@ -2222,12 +2213,15 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 2104 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure get_onaddtrack */ + /* Procedure get_onunmute */ + + + /* Procedure get_onended */ /* 2106 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 2108 */ NdrFcLong( 0x0 ), /* 0 */ -/* 2112 */ NdrFcShort( 0x11 ), /* 17 */ +/* 2112 */ NdrFcShort( 0xf ), /* 15 */ /* 2114 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 2116 */ NdrFcShort( 0x0 ), /* 0 */ /* 2118 */ NdrFcShort( 0x8 ), /* 8 */ @@ -2241,69 +2235,105 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* Parameter pVal */ + + /* Parameter pVal */ + /* 2130 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ /* 2132 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ /* 2134 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ /* Return value */ + + /* Return value */ + /* 2136 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ /* 2138 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ /* 2140 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure put_onaddtrack */ + /* Procedure get_onaddtrack */ /* 2142 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 2144 */ NdrFcLong( 0x0 ), /* 0 */ -/* 2148 */ NdrFcShort( 0x12 ), /* 18 */ -/* 2150 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ +/* 2148 */ NdrFcShort( 0x11 ), /* 17 */ +/* 2150 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 2152 */ NdrFcShort( 0x0 ), /* 0 */ /* 2154 */ NdrFcShort( 0x8 ), /* 8 */ -/* 2156 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ +/* 2156 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ 0x2, /* 2 */ /* 2158 */ 0x8, /* 8 */ - 0x5, /* Ext Flags: new corr desc, srv corr check, */ -/* 2160 */ NdrFcShort( 0x0 ), /* 0 */ -/* 2162 */ NdrFcShort( 0x1 ), /* 1 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 2160 */ NdrFcShort( 0x1 ), /* 1 */ +/* 2162 */ NdrFcShort( 0x0 ), /* 0 */ /* 2164 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter newVal */ + /* Parameter pVal */ -/* 2166 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 2166 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ /* 2168 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 2170 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 2170 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ /* Return value */ /* 2172 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 2174 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 2174 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ /* 2176 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure stop */ + /* Procedure put_onaddtrack */ /* 2178 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 2180 */ NdrFcLong( 0x0 ), /* 0 */ -/* 2184 */ NdrFcShort( 0x15 ), /* 21 */ -/* 2186 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2184 */ NdrFcShort( 0x12 ), /* 18 */ +/* 2186 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ /* 2188 */ NdrFcShort( 0x0 ), /* 0 */ /* 2190 */ NdrFcShort( 0x8 ), /* 8 */ -/* 2192 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x1, /* 1 */ +/* 2192 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ + 0x2, /* 2 */ /* 2194 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ + 0x5, /* Ext Flags: new corr desc, srv corr check, */ /* 2196 */ NdrFcShort( 0x0 ), /* 0 */ -/* 2198 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2198 */ NdrFcShort( 0x1 ), /* 1 */ /* 2200 */ NdrFcShort( 0x0 ), /* 0 */ - /* Return value */ + /* Parameter newVal */ -/* 2202 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2202 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 2204 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 2206 */ 0x8, /* FC_LONG */ +/* 2206 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ + + /* Return value */ + +/* 2208 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2210 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 2212 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure stop */ + +/* 2214 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2216 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2220 */ NdrFcShort( 0x15 ), /* 21 */ +/* 2222 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2224 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2226 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2228 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x1, /* 1 */ +/* 2230 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2232 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2234 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2236 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Return value */ + +/* 2238 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2240 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 2242 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ /* Procedure get_type */ @@ -2320,20 +2350,20 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* Procedure get_sdpMid */ -/* 2208 */ 0x33, /* FC_AUTO_HANDLE */ +/* 2244 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ -/* 2210 */ NdrFcLong( 0x0 ), /* 0 */ -/* 2214 */ NdrFcShort( 0x8 ), /* 8 */ -/* 2216 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 2218 */ NdrFcShort( 0x0 ), /* 0 */ -/* 2220 */ NdrFcShort( 0x8 ), /* 8 */ -/* 2222 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ +/* 2246 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2250 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2252 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2254 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2256 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2258 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ 0x2, /* 2 */ -/* 2224 */ 0x8, /* 8 */ +/* 2260 */ 0x8, /* 8 */ 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 2226 */ NdrFcShort( 0x1 ), /* 1 */ -/* 2228 */ NdrFcShort( 0x0 ), /* 0 */ -/* 2230 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2262 */ NdrFcShort( 0x1 ), /* 1 */ +/* 2264 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2266 */ NdrFcShort( 0x0 ), /* 0 */ /* Parameter pVal */ @@ -2349,12 +2379,9 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* Parameter pVal */ -/* 2232 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 2234 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 2236 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ - - /* Return value */ - +/* 2268 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 2270 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 2272 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ /* Return value */ @@ -2367,34 +2394,6 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* Return value */ -/* 2238 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 2240 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 2242 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ - - /* Procedure get_sdpMLineIndex */ - -/* 2244 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2246 */ NdrFcLong( 0x0 ), /* 0 */ -/* 2250 */ NdrFcShort( 0x9 ), /* 9 */ -/* 2252 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 2254 */ NdrFcShort( 0x0 ), /* 0 */ -/* 2256 */ NdrFcShort( 0x22 ), /* 34 */ -/* 2258 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x2, /* 2 */ -/* 2260 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 2262 */ NdrFcShort( 0x0 ), /* 0 */ -/* 2264 */ NdrFcShort( 0x0 ), /* 0 */ -/* 2266 */ NdrFcShort( 0x0 ), /* 0 */ - - /* Parameter pVal */ - -/* 2268 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ -/* 2270 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 2272 */ 0x6, /* FC_SHORT */ - 0x0, /* 0 */ /* Return value */ @@ -2403,12 +2402,12 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 2278 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure get_enabled */ + /* Procedure get_sdpMLineIndex */ /* 2280 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 2282 */ NdrFcLong( 0x0 ), /* 0 */ -/* 2286 */ NdrFcShort( 0xa ), /* 10 */ +/* 2286 */ NdrFcShort( 0x9 ), /* 9 */ /* 2288 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 2290 */ NdrFcShort( 0x0 ), /* 0 */ /* 2292 */ NdrFcShort( 0x22 ), /* 34 */ @@ -2434,15 +2433,15 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 2314 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure put_enabled */ + /* Procedure get_enabled */ /* 2316 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 2318 */ NdrFcLong( 0x0 ), /* 0 */ -/* 2322 */ NdrFcShort( 0xb ), /* 11 */ +/* 2322 */ NdrFcShort( 0xa ), /* 10 */ /* 2324 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 2326 */ NdrFcShort( 0x6 ), /* 6 */ -/* 2328 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2326 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2328 */ NdrFcShort( 0x22 ), /* 34 */ /* 2330 */ 0x44, /* Oi2 Flags: has return, has ext, */ 0x2, /* 2 */ /* 2332 */ 0x8, /* 8 */ @@ -2451,9 +2450,9 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 2336 */ NdrFcShort( 0x0 ), /* 0 */ /* 2338 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter newVal */ + /* Parameter pVal */ -/* 2340 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ +/* 2340 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ /* 2342 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ /* 2344 */ 0x6, /* FC_SHORT */ 0x0, /* 0 */ @@ -2465,15 +2464,15 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 2350 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure get_muted */ + /* Procedure put_enabled */ /* 2352 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 2354 */ NdrFcLong( 0x0 ), /* 0 */ -/* 2358 */ NdrFcShort( 0xc ), /* 12 */ +/* 2358 */ NdrFcShort( 0xb ), /* 11 */ /* 2360 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 2362 */ NdrFcShort( 0x0 ), /* 0 */ -/* 2364 */ NdrFcShort( 0x22 ), /* 34 */ +/* 2362 */ NdrFcShort( 0x6 ), /* 6 */ +/* 2364 */ NdrFcShort( 0x8 ), /* 8 */ /* 2366 */ 0x44, /* Oi2 Flags: has return, has ext, */ 0x2, /* 2 */ /* 2368 */ 0x8, /* 8 */ @@ -2482,9 +2481,9 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 2372 */ NdrFcShort( 0x0 ), /* 0 */ /* 2374 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter pVal */ + /* Parameter newVal */ -/* 2376 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 2376 */ NdrFcShort( 0x48 ), /* Flags: in, base type, */ /* 2378 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ /* 2380 */ 0x6, /* FC_SHORT */ 0x0, /* 0 */ @@ -2496,73 +2495,73 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 2386 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure put_onmute */ + /* Procedure get_muted */ /* 2388 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 2390 */ NdrFcLong( 0x0 ), /* 0 */ -/* 2394 */ NdrFcShort( 0xe ), /* 14 */ -/* 2396 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ +/* 2394 */ NdrFcShort( 0xc ), /* 12 */ +/* 2396 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 2398 */ NdrFcShort( 0x0 ), /* 0 */ -/* 2400 */ NdrFcShort( 0x8 ), /* 8 */ -/* 2402 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ +/* 2400 */ NdrFcShort( 0x22 ), /* 34 */ +/* 2402 */ 0x44, /* Oi2 Flags: has return, has ext, */ 0x2, /* 2 */ /* 2404 */ 0x8, /* 8 */ - 0x5, /* Ext Flags: new corr desc, srv corr check, */ + 0x1, /* Ext Flags: new corr desc, */ /* 2406 */ NdrFcShort( 0x0 ), /* 0 */ -/* 2408 */ NdrFcShort( 0x1 ), /* 1 */ +/* 2408 */ NdrFcShort( 0x0 ), /* 0 */ /* 2410 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter newVal */ + /* Parameter pVal */ -/* 2412 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 2412 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ /* 2414 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 2416 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 2416 */ 0x6, /* FC_SHORT */ + 0x0, /* 0 */ /* Return value */ /* 2418 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 2420 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 2420 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ /* 2422 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure get_readonly */ + /* Procedure put_onmute */ /* 2424 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 2426 */ NdrFcLong( 0x0 ), /* 0 */ -/* 2430 */ NdrFcShort( 0x11 ), /* 17 */ -/* 2432 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2430 */ NdrFcShort( 0xe ), /* 14 */ +/* 2432 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ /* 2434 */ NdrFcShort( 0x0 ), /* 0 */ -/* 2436 */ NdrFcShort( 0x22 ), /* 34 */ -/* 2438 */ 0x44, /* Oi2 Flags: has return, has ext, */ +/* 2436 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2438 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ 0x2, /* 2 */ /* 2440 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ + 0x5, /* Ext Flags: new corr desc, srv corr check, */ /* 2442 */ NdrFcShort( 0x0 ), /* 0 */ -/* 2444 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2444 */ NdrFcShort( 0x1 ), /* 1 */ /* 2446 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter pVal */ + /* Parameter newVal */ -/* 2448 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 2448 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 2450 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 2452 */ 0x6, /* FC_SHORT */ - 0x0, /* 0 */ +/* 2452 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Return value */ /* 2454 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 2456 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2456 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ /* 2458 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure get_remote */ + /* Procedure get_readonly */ /* 2460 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 2462 */ NdrFcLong( 0x0 ), /* 0 */ -/* 2466 */ NdrFcShort( 0x12 ), /* 18 */ +/* 2466 */ NdrFcShort( 0x11 ), /* 17 */ /* 2468 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 2470 */ NdrFcShort( 0x0 ), /* 0 */ /* 2472 */ NdrFcShort( 0x22 ), /* 34 */ @@ -2588,28 +2587,29 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 2494 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure get_readyState */ + /* Procedure get_remote */ /* 2496 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 2498 */ NdrFcLong( 0x0 ), /* 0 */ -/* 2502 */ NdrFcShort( 0x13 ), /* 19 */ +/* 2502 */ NdrFcShort( 0x12 ), /* 18 */ /* 2504 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 2506 */ NdrFcShort( 0x0 ), /* 0 */ -/* 2508 */ NdrFcShort( 0x8 ), /* 8 */ -/* 2510 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ +/* 2508 */ NdrFcShort( 0x22 ), /* 34 */ +/* 2510 */ 0x44, /* Oi2 Flags: has return, has ext, */ 0x2, /* 2 */ /* 2512 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 2514 */ NdrFcShort( 0x1 ), /* 1 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2514 */ NdrFcShort( 0x0 ), /* 0 */ /* 2516 */ NdrFcShort( 0x0 ), /* 0 */ /* 2518 */ NdrFcShort( 0x0 ), /* 0 */ /* Parameter pVal */ -/* 2520 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 2520 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ /* 2522 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 2524 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ +/* 2524 */ 0x6, /* FC_SHORT */ + 0x0, /* 0 */ /* Return value */ @@ -2618,12 +2618,12 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 2530 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure get_onstarted */ + /* Procedure get_readyState */ /* 2532 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 2534 */ NdrFcLong( 0x0 ), /* 0 */ -/* 2538 */ NdrFcShort( 0x14 ), /* 20 */ +/* 2538 */ NdrFcShort( 0x13 ), /* 19 */ /* 2540 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 2542 */ NdrFcShort( 0x0 ), /* 0 */ /* 2544 */ NdrFcShort( 0x8 ), /* 8 */ @@ -2637,9 +2637,9 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* Parameter pVal */ -/* 2556 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 2556 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ /* 2558 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 2560 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ +/* 2560 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ /* Return value */ @@ -2648,132 +2648,132 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 2566 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure put_onstarted */ + /* Procedure get_onstarted */ /* 2568 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 2570 */ NdrFcLong( 0x0 ), /* 0 */ -/* 2574 */ NdrFcShort( 0x15 ), /* 21 */ -/* 2576 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ +/* 2574 */ NdrFcShort( 0x14 ), /* 20 */ +/* 2576 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 2578 */ NdrFcShort( 0x0 ), /* 0 */ /* 2580 */ NdrFcShort( 0x8 ), /* 8 */ -/* 2582 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ +/* 2582 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ 0x2, /* 2 */ /* 2584 */ 0x8, /* 8 */ - 0x5, /* Ext Flags: new corr desc, srv corr check, */ -/* 2586 */ NdrFcShort( 0x0 ), /* 0 */ -/* 2588 */ NdrFcShort( 0x1 ), /* 1 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 2586 */ NdrFcShort( 0x1 ), /* 1 */ +/* 2588 */ NdrFcShort( 0x0 ), /* 0 */ /* 2590 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter newVal */ + /* Parameter pVal */ -/* 2592 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 2592 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ /* 2594 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 2596 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 2596 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ /* Return value */ /* 2598 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 2600 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 2600 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ /* 2602 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure get_onended */ + /* Procedure put_onstarted */ /* 2604 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 2606 */ NdrFcLong( 0x0 ), /* 0 */ -/* 2610 */ NdrFcShort( 0x16 ), /* 22 */ -/* 2612 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2610 */ NdrFcShort( 0x15 ), /* 21 */ +/* 2612 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ /* 2614 */ NdrFcShort( 0x0 ), /* 0 */ /* 2616 */ NdrFcShort( 0x8 ), /* 8 */ -/* 2618 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ +/* 2618 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ 0x2, /* 2 */ /* 2620 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 2622 */ NdrFcShort( 0x1 ), /* 1 */ -/* 2624 */ NdrFcShort( 0x0 ), /* 0 */ + 0x5, /* Ext Flags: new corr desc, srv corr check, */ +/* 2622 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2624 */ NdrFcShort( 0x1 ), /* 1 */ /* 2626 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter pVal */ + /* Parameter newVal */ -/* 2628 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 2628 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 2630 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 2632 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ +/* 2632 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Return value */ /* 2634 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 2636 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2636 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ /* 2638 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure put_onended */ + /* Procedure get_onended */ /* 2640 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 2642 */ NdrFcLong( 0x0 ), /* 0 */ -/* 2646 */ NdrFcShort( 0x17 ), /* 23 */ -/* 2648 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ +/* 2646 */ NdrFcShort( 0x16 ), /* 22 */ +/* 2648 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 2650 */ NdrFcShort( 0x0 ), /* 0 */ /* 2652 */ NdrFcShort( 0x8 ), /* 8 */ -/* 2654 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ +/* 2654 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ 0x2, /* 2 */ /* 2656 */ 0x8, /* 8 */ - 0x5, /* Ext Flags: new corr desc, srv corr check, */ -/* 2658 */ NdrFcShort( 0x0 ), /* 0 */ -/* 2660 */ NdrFcShort( 0x1 ), /* 1 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 2658 */ NdrFcShort( 0x1 ), /* 1 */ +/* 2660 */ NdrFcShort( 0x0 ), /* 0 */ /* 2662 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter newVal */ + /* Parameter pVal */ -/* 2664 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 2664 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ /* 2666 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 2668 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ +/* 2668 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ /* Return value */ /* 2670 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 2672 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ +/* 2672 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ /* 2674 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure getSourceInfos */ + /* Procedure put_onended */ /* 2676 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 2678 */ NdrFcLong( 0x0 ), /* 0 */ -/* 2682 */ NdrFcShort( 0x18 ), /* 24 */ -/* 2684 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 2682 */ NdrFcShort( 0x17 ), /* 23 */ +/* 2684 */ NdrFcShort( 0x18 ), /* x86 Stack size/offset = 24 */ /* 2686 */ NdrFcShort( 0x0 ), /* 0 */ /* 2688 */ NdrFcShort( 0x8 ), /* 8 */ -/* 2690 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ +/* 2690 */ 0x46, /* Oi2 Flags: clt must size, has return, has ext, */ 0x2, /* 2 */ /* 2692 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 2694 */ NdrFcShort( 0x1 ), /* 1 */ -/* 2696 */ NdrFcShort( 0x0 ), /* 0 */ + 0x5, /* Ext Flags: new corr desc, srv corr check, */ +/* 2694 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2696 */ NdrFcShort( 0x1 ), /* 1 */ /* 2698 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter Infos */ + /* Parameter newVal */ -/* 2700 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 2700 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ /* 2702 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 2704 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ +/* 2704 */ NdrFcShort( 0x412 ), /* Type Offset=1042 */ /* Return value */ /* 2706 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 2708 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2708 */ NdrFcShort( 0x14 ), /* x86 Stack size/offset = 20 */ /* 2710 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure states */ + /* Procedure getSourceInfos */ /* 2712 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 2714 */ NdrFcLong( 0x0 ), /* 0 */ -/* 2718 */ NdrFcShort( 0x1a ), /* 26 */ +/* 2718 */ NdrFcShort( 0x18 ), /* 24 */ /* 2720 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 2722 */ NdrFcShort( 0x0 ), /* 0 */ /* 2724 */ NdrFcShort( 0x8 ), /* 8 */ @@ -2785,7 +2785,7 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 2732 */ NdrFcShort( 0x0 ), /* 0 */ /* 2734 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter MediaSourceStates */ + /* Parameter Infos */ /* 2736 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ /* 2738 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ @@ -2798,66 +2798,66 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 2746 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure stop */ + /* Procedure states */ /* 2748 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 2750 */ NdrFcLong( 0x0 ), /* 0 */ -/* 2754 */ NdrFcShort( 0x20 ), /* 32 */ -/* 2756 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2754 */ NdrFcShort( 0x1a ), /* 26 */ +/* 2756 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 2758 */ NdrFcShort( 0x0 ), /* 0 */ /* 2760 */ NdrFcShort( 0x8 ), /* 8 */ -/* 2762 */ 0x44, /* Oi2 Flags: has return, has ext, */ - 0x1, /* 1 */ +/* 2762 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ + 0x2, /* 2 */ /* 2764 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 2766 */ NdrFcShort( 0x0 ), /* 0 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 2766 */ NdrFcShort( 0x1 ), /* 1 */ /* 2768 */ NdrFcShort( 0x0 ), /* 0 */ /* 2770 */ NdrFcShort( 0x0 ), /* 0 */ - /* Return value */ + /* Parameter MediaSourceStates */ -/* 2772 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2772 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ /* 2774 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 2776 */ 0x8, /* FC_LONG */ - 0x0, /* 0 */ +/* 2776 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ - /* Procedure get_label */ + /* Return value */ -/* 2778 */ 0x33, /* FC_AUTO_HANDLE */ - 0x6c, /* Old Flags: object, Oi2 */ -/* 2780 */ NdrFcLong( 0x0 ), /* 0 */ -/* 2784 */ NdrFcShort( 0xa ), /* 10 */ -/* 2786 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 2788 */ NdrFcShort( 0x0 ), /* 0 */ -/* 2790 */ NdrFcShort( 0x8 ), /* 8 */ -/* 2792 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ - 0x2, /* 2 */ -/* 2794 */ 0x8, /* 8 */ - 0x3, /* Ext Flags: new corr desc, clt corr check, */ -/* 2796 */ NdrFcShort( 0x1 ), /* 1 */ -/* 2798 */ NdrFcShort( 0x0 ), /* 0 */ -/* 2800 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2778 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 2780 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2782 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ - /* Parameter pVal */ + /* Procedure stop */ -/* 2802 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ -/* 2804 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 2806 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ +/* 2784 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 2786 */ NdrFcLong( 0x0 ), /* 0 */ +/* 2790 */ NdrFcShort( 0x20 ), /* 32 */ +/* 2792 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2794 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2796 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2798 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x1, /* 1 */ +/* 2800 */ 0x8, /* 8 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 2802 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2804 */ NdrFcShort( 0x0 ), /* 0 */ +/* 2806 */ NdrFcShort( 0x0 ), /* 0 */ /* Return value */ /* 2808 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 2810 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 2810 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ /* 2812 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure get_facing */ + /* Procedure get_label */ /* 2814 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 2816 */ NdrFcLong( 0x0 ), /* 0 */ -/* 2820 */ NdrFcShort( 0xb ), /* 11 */ +/* 2820 */ NdrFcShort( 0xa ), /* 10 */ /* 2822 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 2824 */ NdrFcShort( 0x0 ), /* 0 */ /* 2826 */ NdrFcShort( 0x8 ), /* 8 */ @@ -2882,7 +2882,7 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 2848 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure get_frameRate */ + /* Procedure get_facing */ /* 2850 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ @@ -2901,9 +2901,9 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* Parameter pVal */ -/* 2874 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ +/* 2874 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ /* 2876 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 2878 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ +/* 2878 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ /* Return value */ @@ -2912,12 +2912,12 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 2884 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure get_volume */ + /* Procedure get_frameRate */ /* 2886 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 2888 */ NdrFcLong( 0x0 ), /* 0 */ -/* 2892 */ NdrFcShort( 0xe ), /* 14 */ +/* 2892 */ NdrFcShort( 0xb ), /* 11 */ /* 2894 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 2896 */ NdrFcShort( 0x0 ), /* 0 */ /* 2898 */ NdrFcShort( 0x8 ), /* 8 */ @@ -2942,18 +2942,12 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 2920 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure result */ - - - /* Procedure get_candidate */ - - - /* Procedure get_stream */ + /* Procedure get_volume */ /* 2922 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 2924 */ NdrFcLong( 0x0 ), /* 0 */ -/* 2928 */ NdrFcShort( 0x7 ), /* 7 */ +/* 2928 */ NdrFcShort( 0xe ), /* 14 */ /* 2930 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 2932 */ NdrFcShort( 0x0 ), /* 0 */ /* 2934 */ NdrFcShort( 0x8 ), /* 8 */ @@ -2965,12 +2959,6 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 2942 */ NdrFcShort( 0x0 ), /* 0 */ /* 2944 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter RTCStatsList */ - - - /* Parameter pVal */ - - /* Parameter pVal */ /* 2946 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ @@ -2979,18 +2967,18 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* Return value */ - - /* Return value */ - - - /* Return value */ - /* 2952 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ /* 2954 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ /* 2956 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure get_timestamp */ + /* Procedure result */ + + + /* Procedure get_candidate */ + + + /* Procedure get_stream */ /* 2958 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ @@ -2998,21 +2986,32 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 2964 */ NdrFcShort( 0x7 ), /* 7 */ /* 2966 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 2968 */ NdrFcShort( 0x0 ), /* 0 */ -/* 2970 */ NdrFcShort( 0x2c ), /* 44 */ -/* 2972 */ 0x44, /* Oi2 Flags: has return, has ext, */ +/* 2970 */ NdrFcShort( 0x8 ), /* 8 */ +/* 2972 */ 0x45, /* Oi2 Flags: srv must size, has return, has ext, */ 0x2, /* 2 */ /* 2974 */ 0x8, /* 8 */ - 0x1, /* Ext Flags: new corr desc, */ -/* 2976 */ NdrFcShort( 0x0 ), /* 0 */ + 0x3, /* Ext Flags: new corr desc, clt corr check, */ +/* 2976 */ NdrFcShort( 0x1 ), /* 1 */ /* 2978 */ NdrFcShort( 0x0 ), /* 0 */ /* 2980 */ NdrFcShort( 0x0 ), /* 0 */ + /* Parameter RTCStatsList */ + + + /* Parameter pVal */ + + /* Parameter pVal */ -/* 2982 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ +/* 2982 */ NdrFcShort( 0x4113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=16 */ /* 2984 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 2986 */ 0xc, /* FC_DOUBLE */ - 0x0, /* 0 */ +/* 2986 */ NdrFcShort( 0x43a ), /* Type Offset=1082 */ + + /* Return value */ + + + /* Return value */ + /* Return value */ @@ -3021,40 +3020,71 @@ static const webrtceverywhere_MIDL_PROC_FORMAT_STRING webrtceverywhere__MIDL_Pro /* 2992 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ - /* Procedure stat */ + /* Procedure get_timestamp */ /* 2994 */ 0x33, /* FC_AUTO_HANDLE */ 0x6c, /* Old Flags: object, Oi2 */ /* 2996 */ NdrFcLong( 0x0 ), /* 0 */ -/* 3000 */ NdrFcShort( 0xb ), /* 11 */ -/* 3002 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 3000 */ NdrFcShort( 0x7 ), /* 7 */ +/* 3002 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ /* 3004 */ NdrFcShort( 0x0 ), /* 0 */ -/* 3006 */ NdrFcShort( 0x8 ), /* 8 */ -/* 3008 */ 0x47, /* Oi2 Flags: srv must size, clt must size, has return, has ext, */ - 0x3, /* 3 */ +/* 3006 */ NdrFcShort( 0x2c ), /* 44 */ +/* 3008 */ 0x44, /* Oi2 Flags: has return, has ext, */ + 0x2, /* 2 */ /* 3010 */ 0x8, /* 8 */ - 0x7, /* Ext Flags: new corr desc, clt corr check, srv corr check, */ -/* 3012 */ NdrFcShort( 0x1 ), /* 1 */ -/* 3014 */ NdrFcShort( 0x1 ), /* 1 */ + 0x1, /* Ext Flags: new corr desc, */ +/* 3012 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3014 */ NdrFcShort( 0x0 ), /* 0 */ /* 3016 */ NdrFcShort( 0x0 ), /* 0 */ - /* Parameter name */ + /* Parameter pVal */ -/* 3018 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 3018 */ NdrFcShort( 0x2150 ), /* Flags: out, base type, simple ref, srv alloc size=8 */ /* 3020 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ -/* 3022 */ NdrFcShort( 0x420 ), /* Type Offset=1056 */ +/* 3022 */ 0xc, /* FC_DOUBLE */ + 0x0, /* 0 */ - /* Parameter pVal */ + /* Return value */ -/* 3024 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 3024 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ /* 3026 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ -/* 3028 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ +/* 3028 */ 0x8, /* FC_LONG */ + 0x0, /* 0 */ + + /* Procedure stat */ + +/* 3030 */ 0x33, /* FC_AUTO_HANDLE */ + 0x6c, /* Old Flags: object, Oi2 */ +/* 3032 */ NdrFcLong( 0x0 ), /* 0 */ +/* 3036 */ NdrFcShort( 0xb ), /* 11 */ +/* 3038 */ NdrFcShort( 0x10 ), /* x86 Stack size/offset = 16 */ +/* 3040 */ NdrFcShort( 0x0 ), /* 0 */ +/* 3042 */ NdrFcShort( 0x8 ), /* 8 */ +/* 3044 */ 0x47, /* Oi2 Flags: srv must size, clt must size, has return, has ext, */ + 0x3, /* 3 */ +/* 3046 */ 0x8, /* 8 */ + 0x7, /* Ext Flags: new corr desc, clt corr check, srv corr check, */ +/* 3048 */ NdrFcShort( 0x1 ), /* 1 */ +/* 3050 */ NdrFcShort( 0x1 ), /* 1 */ +/* 3052 */ NdrFcShort( 0x0 ), /* 0 */ + + /* Parameter name */ + +/* 3054 */ NdrFcShort( 0x8b ), /* Flags: must size, must free, in, by val, */ +/* 3056 */ NdrFcShort( 0x4 ), /* x86 Stack size/offset = 4 */ +/* 3058 */ NdrFcShort( 0x420 ), /* Type Offset=1056 */ + + /* Parameter pVal */ + +/* 3060 */ NdrFcShort( 0x2113 ), /* Flags: must size, must free, out, simple ref, srv alloc size=8 */ +/* 3062 */ NdrFcShort( 0x8 ), /* x86 Stack size/offset = 8 */ +/* 3064 */ NdrFcShort( 0x20 ), /* Type Offset=32 */ /* Return value */ -/* 3030 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ -/* 3032 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ -/* 3034 */ 0x8, /* FC_LONG */ +/* 3066 */ NdrFcShort( 0x70 ), /* Flags: out, return, base type, */ +/* 3068 */ NdrFcShort( 0xc ), /* x86 Stack size/offset = 12 */ +/* 3070 */ 0x8, /* FC_LONG */ 0x0, /* 0 */ 0x0 @@ -3864,7 +3894,8 @@ static const unsigned short IWebRTC_FormatStringOffsetTable[] = 444, 480, 516, - 552 + 552, + 588 }; static const MIDL_STUBLESS_PROXY_INFO IWebRTC_ProxyInfo = @@ -3888,7 +3919,7 @@ static const MIDL_SERVER_INFO IWebRTC_ServerInfo = 0, 0, 0}; -CINTERFACE_PROXY_VTABLE(22) _IWebRTCProxyVtbl = +CINTERFACE_PROXY_VTABLE(23) _IWebRTCProxyVtbl = { &IWebRTC_ProxyInfo, &IID_IWebRTC, @@ -3913,6 +3944,7 @@ CINTERFACE_PROXY_VTABLE(22) _IWebRTCProxyVtbl = (void *) (INT_PTR) -1 /* IWebRTC::get_videoWidth */ , (void *) (INT_PTR) -1 /* IWebRTC::get_videoHeight */ , (void *) (INT_PTR) -1 /* IWebRTC::fillImageData */ , + (void *) (INT_PTR) -1 /* IWebRTC::getScreenShot */ , (void *) (INT_PTR) -1 /* IWebRTC::get_isWebRtcPlugin */ }; @@ -3937,6 +3969,7 @@ static const PRPC_STUB_FUNCTION IWebRTC_table[] = NdrStubCall2, NdrStubCall2, NdrStubCall2, + NdrStubCall2, NdrStubCall2 }; @@ -3944,7 +3977,7 @@ CInterfaceStubVtbl _IWebRTCStubVtbl = { &IID_IWebRTC, &IWebRTC_ServerInfo, - 22, + 23, &IWebRTC_table[-3], CStdStubBuffer_DELEGATING_METHODS }; @@ -3961,9 +3994,9 @@ static const unsigned short ISessionDescription_FormatStringOffsetTable[] = (unsigned short) -1, (unsigned short) -1, 0, - 588, 624, - 660 + 660, + 696 }; static const MIDL_STUBLESS_PROXY_INFO ISessionDescription_ProxyInfo = @@ -4103,25 +4136,24 @@ static const unsigned short IPeerConnection_FormatStringOffsetTable[] = (unsigned short) -1, (unsigned short) -1, (unsigned short) -1, - 696, + 732, 36, - 744, - 792, + 780, 828, - 876, + 864, 912, 948, - 990, - 1038, + 984, + 1026, 1074, 1110, 1146, 1182, - 1224, - 1266, + 1218, + 1260, 1302, - 1332, - 1380, + 1338, + 1368, 1416, 1452, 1488, @@ -4132,7 +4164,8 @@ static const unsigned short IPeerConnection_FormatStringOffsetTable[] = 1668, 1704, 1740, - 1776 + 1776, + 1812 }; static const MIDL_STUBLESS_PROXY_INFO IPeerConnection_ProxyInfo = @@ -4259,20 +4292,20 @@ static const unsigned short IMediaStream_FormatStringOffsetTable[] = (unsigned short) -1, (unsigned short) -1, 0, - 1812, 1848, 1884, - 1926, + 1920, 1962, 1998, 2034, 2070, - 372, 2106, + 372, 2142, - 1146, + 2178, + 1182, 516, - 2178 + 2214 }; static const MIDL_STUBLESS_PROXY_INFO IMediaStream_ProxyInfo = @@ -4369,8 +4402,8 @@ static const unsigned short IRTCIceCandidate_FormatStringOffsetTable[] = (unsigned short) -1, (unsigned short) -1, 0, - 2208, - 2244 + 2244, + 2280 }; static const MIDL_STUBLESS_PROXY_INFO IRTCIceCandidate_ProxyInfo = @@ -4443,16 +4476,15 @@ static const unsigned short IMediaStreamTrack_FormatStringOffsetTable[] = (unsigned short) -1, (unsigned short) -1, 0, - 2208, - 624, - 2280, + 2244, + 660, 2316, 2352, - 1998, 2388, - 2070, - 372, + 2034, 2424, + 2106, + 372, 2460, 2496, 2532, @@ -4460,14 +4492,15 @@ static const unsigned short IMediaStreamTrack_FormatStringOffsetTable[] = 2604, 2640, 2676, - 1380, 2712, - 1452, + 1416, + 2748, 1488, 1524, 1560, 1596, - 2748 + 1632, + 2784 }; static const MIDL_STUBLESS_PROXY_INFO IMediaStreamTrack_ProxyInfo = @@ -4586,10 +4619,10 @@ static const unsigned short ISourceInfo_FormatStringOffsetTable[] = (unsigned short) -1, (unsigned short) -1, 0, - 2208, - 624, - 2778, - 2814 + 2244, + 660, + 2814, + 2850 }; static const MIDL_STUBLESS_PROXY_INFO ISourceInfo_ProxyInfo = @@ -4666,13 +4699,13 @@ static const unsigned short IMediaSourceStates_FormatStringOffsetTable[] = (unsigned short) -1, (unsigned short) -1, 0, - 2208, - 1848, - 792, - 2850, - 876, - 1998, - 2886 + 2244, + 1884, + 828, + 2886, + 912, + 2034, + 2922 }; static const MIDL_STUBLESS_PROXY_INFO IMediaSourceStates_ProxyInfo = @@ -4754,7 +4787,7 @@ static const unsigned short IMediaStreamEvent_FormatStringOffsetTable[] = (unsigned short) -1, (unsigned short) -1, (unsigned short) -1, - 2922 + 2958 }; static const MIDL_STUBLESS_PROXY_INFO IMediaStreamEvent_ProxyInfo = @@ -4822,7 +4855,7 @@ static const unsigned short IRTCPeerConnectionIceEvent_FormatStringOffsetTable[] (unsigned short) -1, (unsigned short) -1, (unsigned short) -1, - 2922 + 2958 }; static const MIDL_STUBLESS_PROXY_INFO IRTCPeerConnectionIceEvent_ProxyInfo = @@ -4890,7 +4923,7 @@ static const unsigned short IRTCStatsReport_FormatStringOffsetTable[] = (unsigned short) -1, (unsigned short) -1, (unsigned short) -1, - 2922 + 2958 }; static const MIDL_STUBLESS_PROXY_INFO IRTCStatsReport_ProxyInfo = @@ -4958,11 +4991,11 @@ static const unsigned short IRTCStats_FormatStringOffsetTable[] = (unsigned short) -1, (unsigned short) -1, (unsigned short) -1, - 2958, - 2208, - 624, - 792, - 2994 + 2994, + 2244, + 660, + 828, + 3030 }; static const MIDL_STUBLESS_PROXY_INFO IRTCStats_ProxyInfo = diff --git a/npapi/Utils.cc b/npapi/Utils.cc index 2c03c74..e627be4 100755 --- a/npapi/Utils.cc +++ b/npapi/Utils.cc @@ -245,7 +245,7 @@ NPError Utils::BuildMediaConstraints(NPP npp, NPObject* varConstraints, cpp11::s if (BrowserFuncs->enumerate(npp, varConstraints, &identifiers, &count) != true){ CHECK_NPERR_RETURN(NPERR_GENERIC_ERROR); } - + char s[25]; for (uint32_t i = 0; i < count; ++i) { NPUTF8* propName = BrowserFuncs->utf8fromidentifier(identifiers[i]); if (!propName) { @@ -264,12 +264,10 @@ NPError Utils::BuildMediaConstraints(NPP npp, NPObject* varConstraints, cpp11::s strVal = var.value.boolValue ? "true" : "false"; } else if (var.type == NPVariantType_Int32) { - char s[25]; sprintf(s, "%d", var.value.intValue); strVal = std::string(s); } else if (var.type == NPVariantType_Double) { - char s[25]; sprintf(s, "%lf", var.value.doubleValue); strVal = std::string(s); } diff --git a/npapi/WebRTC.cc b/npapi/WebRTC.cc index 2bb9121..9ec8a24 100755 --- a/npapi/WebRTC.cc +++ b/npapi/WebRTC.cc @@ -31,6 +31,8 @@ #define kFuncAddEventListener "addEventListener" #define kFuncGetSources "getSources" #define kFuncFillImageData "fillImageData" +#define kFuncGetScreenShot "getScreenShot" + extern NPNetscapeFuncs* BrowserFuncs; extern const char* kPluginVersion; @@ -121,7 +123,8 @@ bool WebRTC::HasMethod(NPObject* obj, NPIdentifier methodName) !strcmp(name, kFuncBindEventListener) || !strcmp(name, kFuncAddEventListener) || !strcmp(name, kFuncGetSources) || - !strcmp(name, kFuncFillImageData) + !strcmp(name, kFuncFillImageData) || + !strcmp(name, kFuncGetScreenShot) ; BrowserFuncs->memfree(name); return ret_val; @@ -319,11 +322,11 @@ bool WebRTC::Invoke(NPObject* obj, NPIdentifier methodName, for (long comp = 0; comp < 4; ++comp) { // (a, r, g, b) -> (r, g, b, a) sprintf(s, "%ld", (int32_t)index + comp); INT32_TO_NPVARIANT(imageDataPtr[index + ((comp + 0) & 3)], var); - if (!(ret_val = varData.value.objectValue->_class->setProperty(varData.value.objectValue, BrowserFuncs->getstringidentifier(s), &var))) { - break; - } + if (!(ret_val = varData.value.objectValue->_class->setProperty(varData.value.objectValue, BrowserFuncs->getstringidentifier(s), &var))) { + break; + } //if (!(ret_val = BrowserFuncs->setproperty(This->m_npp, varData.value.objectValue, BrowserFuncs->getstringidentifier(s), &var))) { - //break; + //break; //} } } @@ -332,7 +335,46 @@ bool WebRTC::Invoke(NPObject* obj, NPIdentifier methodName, } } } - } + } + else if (!strcmp(name, kFuncGetScreenShot)) { + int videoWidth = This->GetVideoWidth(); + int videoHeight = This->GetVideoHeight(); + WeError err = WeError_Success; + + if (videoHeight > 0 && videoWidth > 0) { + size_t videoSize = (videoWidth * videoHeight) << 2; + if (!This->m_pTempVideoBuff || This->m_pTempVideoBuff->getSize() < videoSize){ + SafeDelete(&This->m_pTempVideoBuff); + err = _Buffer::New(NULL, videoSize, &This->m_pTempVideoBuff); + } + if (err == WeError_Success) { + if (This->CopyFromFrame(const_cast(This->m_pTempVideoBuff->getPtr()), videoSize) != videoSize) { + memset(const_cast(This->m_pTempVideoBuff->getPtr()), 0, videoSize); + } + const uint8_t* imageDataPtr = (const uint8_t*)This->m_pTempVideoBuff->getPtr(); + + // Convert to Bitmap + void* bmp_ptr = NULL; + size_t bmp_size; + if ((err = _Utils::ConvertToBMP(imageDataPtr, videoWidth, videoHeight, &bmp_ptr, &bmp_size)) != WeError_Success) { + if (bmp_ptr) free(bmp_ptr); + } + if (err == WeError_Success) { + // Convert to base64 + void* np_base64_ptr = NULL; + size_t base64_size; + err = _Utils::ConvertToBase64(bmp_ptr, bmp_size, &np_base64_ptr, &base64_size, &Utils::MemAlloc); + free(bmp_ptr); + if (err == WeError_Success) { + STRINGZ_TO_NPVARIANT((char*)np_base64_ptr, *result); np_base64_ptr = NULL; + ret_val = true; + } + Utils::MemFree(&np_base64_ptr); + } + } + + } + } BrowserFuncs->memfree(name); return ret_val; diff --git a/npapi/webrtc-everywhere-npapi.rc b/npapi/webrtc-everywhere-npapi.rc index 29468c6..b94e2ed 100755 --- a/npapi/webrtc-everywhere-npapi.rc +++ b/npapi/webrtc-everywhere-npapi.rc @@ -53,8 +53,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,0,0,0 - PRODUCTVERSION 1,0,0,0 + FILEVERSION 1,1,0,0 + PRODUCTVERSION 1,1,0,0 FILEFLAGSMASK 0x17L #ifdef _DEBUG FILEFLAGS 0x1L @@ -71,13 +71,13 @@ BEGIN BEGIN VALUE "CompanyName", "Sarandogou" VALUE "FileDescription", "WebRTC plugin for Safari, IE, Chrome, Opera and Firefox" - VALUE "FileVersion", "1.0.0.0" + VALUE "FileVersion", "1.1.0.0" VALUE "InternalName", "npwebrtc-everywhere.dll" VALUE "LegalCopyright", "(c) 2014 Sarandogou. All rights reserved." VALUE "MIMEType", "application/webrtc-everywhere" VALUE "OriginalFilename", "npwebrtc-everywhere.dll" VALUE "ProductName", "WebRTC Everywhere Plugin" - VALUE "ProductVersion", "1.0.0.0" + VALUE "ProductVersion", "1.1.0.0" END END BLOCK "VarFileInfo"