AppRTCDemo 应用程序在 iPhone5、iPad4 (iOS 8.1) 上崩溃

AppRTCDemo app crashes on iPhone5, iPad4 (iOS 8.1)

我刚开始研究webrtc。 我可以构建最新的 webrtc (r.8107)。 AppRTCDemo 在我加入房间时崩溃了。

分辨率好像太大了。我尝试更改 ARDAppClient.m 文件中的一些代码:

// RTCMediaConstraints *mediaConstraints = [self defaultMediaStreamConstraints]; // I comment this line
RTCMediaConstraints *mediaConstraints = [self defaultOfferConstraints]; // Add this line

又 运行 了。它有效,但我无法在 Firefox/Chrome https://apprtc.appspot.com

上看到 iDevices 的视频流

请帮帮我。 谢谢,

webrtc 社区知道崩溃问题 http://code.google.com/p/webrtc/issues/detail?can=2&q=4190&colspec=ID%20Pri%20Mstone%20ReleaseBlock%20Area%20Status%20Owner%20Summary&id=4190。刚好是armv7发布。

这是由 vp8 解码中的堆栈溢出错误引起的,仅在 armv7 设备中崩溃。你可以确认这个补丁来修复那个错误:

diff --git a/source/libvpx/vp8/common/arm/neon/vp8_subpixelvariance_neon.c b/source/libvpx/vp8/common/arm/neon/vp8_subpixelvariance_neon.c
index 8308d55..a66b6f5 100644
--- a/source/libvpx/vp8/common/arm/neon/vp8_subpixelvariance_neon.c
+++ b/source/libvpx/vp8/common/arm/neon/vp8_subpixelvariance_neon.c
@@ -1003,7 +1003,7 @@ unsigned int vp8_sub_pixel_variance8x8_neon(
         const unsigned char *dst,
         int dst_stride,
         unsigned int *sse) {
-  DECLARE_ALIGNED_ARRAY(kAlign16, uint8_t, temp2, kHeight8 * kWidth8);
+  DECLARE_ALIGNED_ARRAY(kAlign16, uint8_t, temp2, kHeight8PlusOne * kWidth8);
   DECLARE_ALIGNED_ARRAY(kAlign16, uint8_t, fdata3, kHeight8PlusOne * kWidth8);
   if (xoffset == 0) {
     var_filter_block2d_bil_w8(src, temp2, src_stride, kWidth8, kHeight8,

希望对您有所帮助!

diveinedu.com的同学刚刚克服并修复了这个bug