From ac95a438620f3ec7c72ae60396ee26b3778d38b2 Mon Sep 17 00:00:00 2001 From: Zeno Albisser Date: Wed, 16 Oct 2013 10:20:27 +0200 Subject: Add patch: Do not forward declare WebRtcVoiceChannelInfo. This seems to be necessary to compile for OSX 10.7, and this is the OSX version we currently use in the CI system. Change-Id: I2363b48b66cd7fda603ff9783934ca44c1656723 Reviewed-by: Andras Becsi Reviewed-by: Jocelyn Turcotte --- ...ot-forward-declare-WebRtcVoiceChannelInfo.patch | 66 ++++++++++++++++++++++ patches/patch-chromium.sh | 5 ++ 2 files changed, 71 insertions(+) create mode 100644 patches/0001-Do-not-forward-declare-WebRtcVoiceChannelInfo.patch (limited to 'patches') diff --git a/patches/0001-Do-not-forward-declare-WebRtcVoiceChannelInfo.patch b/patches/0001-Do-not-forward-declare-WebRtcVoiceChannelInfo.patch new file mode 100644 index 000000000..24353f845 --- /dev/null +++ b/patches/0001-Do-not-forward-declare-WebRtcVoiceChannelInfo.patch @@ -0,0 +1,66 @@ +From b127cb37c9624ffc48c9cbbf08271d3aca899f59 Mon Sep 17 00:00:00 2001 +From: Zeno Albisser +Date: Wed, 16 Oct 2013 10:17:11 +0200 +Subject: [PATCH] Do not forward declare WebRtcVoiceChannelInfo. + +Clang / libc++ does not support incomplete types in +templates. See: +http://clang.llvm.org/compatibility.html#undep_incomplete + +This fixes the fixes the "error: field has incomplete type" compiler error. +--- + media/webrtc/webrtcvoiceengine.cc | 13 ------------- + media/webrtc/webrtcvoiceengine.h | 13 ++++++++++++- + 2 files changed, 12 insertions(+), 14 deletions(-) + +diff --git a/media/webrtc/webrtcvoiceengine.cc b/media/webrtc/webrtcvoiceengine.cc +index 855a9e4..4331385 100644 +--- a/media/webrtc/webrtcvoiceengine.cc ++++ b/media/webrtc/webrtcvoiceengine.cc +@@ -1472,19 +1472,6 @@ void WebRtcVoiceEngine::StopAecDump() { + } + } + +-// This struct relies on the generated copy constructor and assignment operator +-// since it is used in an stl::map. +-struct WebRtcVoiceMediaChannel::WebRtcVoiceChannelInfo { +- WebRtcVoiceChannelInfo() : channel(-1), renderer(NULL) {} +- WebRtcVoiceChannelInfo(int ch, AudioRenderer* r) +- : channel(ch), +- renderer(r) {} +- ~WebRtcVoiceChannelInfo() {} +- +- int channel; +- AudioRenderer* renderer; +-}; +- + // WebRtcVoiceMediaChannel + WebRtcVoiceMediaChannel::WebRtcVoiceMediaChannel(WebRtcVoiceEngine *engine) + : WebRtcMediaChannel( +diff --git a/media/webrtc/webrtcvoiceengine.h b/media/webrtc/webrtcvoiceengine.h +index 0c2b613..76f5be7 100644 +--- a/media/webrtc/webrtcvoiceengine.h ++++ b/media/webrtc/webrtcvoiceengine.h +@@ -374,7 +374,18 @@ class WebRtcVoiceMediaChannel + static Error WebRtcErrorToChannelError(int err_code); + + private: +- struct WebRtcVoiceChannelInfo; ++ // This struct relies on the generated copy constructor and assignment operator ++ // since it is used in an stl::map. ++ struct WebRtcVoiceChannelInfo { ++ WebRtcVoiceChannelInfo() : channel(-1), renderer(NULL) {} ++ WebRtcVoiceChannelInfo(int ch, AudioRenderer* r) ++ : channel(ch), ++ renderer(r) {} ++ ~WebRtcVoiceChannelInfo() {} ++ ++ int channel; ++ AudioRenderer* renderer; ++ }; + typedef std::map ChannelMap; + + void SetNack(uint32 ssrc, int channel, bool nack_enabled); +-- +1.8.3.4 + diff --git a/patches/patch-chromium.sh b/patches/patch-chromium.sh index c917f87f5..0e709c82f 100755 --- a/patches/patch-chromium.sh +++ b/patches/patch-chromium.sh @@ -73,6 +73,11 @@ echo "Entering $PWD" git am $PATCH_DIR/0001-Remove-leftovers-from-WebKitSystemInterface.patch git am $PATCH_DIR/0001-Do-not-include-Assertions.h-within-namespace-WebKit.patch +cd $CHROMIUM_SRC_DIR/third_party/libjingle/source/talk +echo "Entering $PWD" + +git am 0001-Do-not-forward-declare-WebRtcVoiceChannelInfo.patch + cd $CHROMIUM_SRC_DIR/tools/gyp echo "Entering $PWD" -- cgit v1.2.3