| Index: talk/app/webrtc/proxy.h
 | 
| diff --git a/talk/app/webrtc/proxy.h b/talk/app/webrtc/proxy.h
 | 
| index 76a5c1eff2819e398983143f2c5e2fbbf452100e..d0a4673e3545e0593efad9ab05599d0909e1a819 100644
 | 
| --- a/talk/app/webrtc/proxy.h
 | 
| +++ b/talk/app/webrtc/proxy.h
 | 
| @@ -81,6 +81,11 @@ class ReturnType {
 | 
|    void Invoke(C* c, M m, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5) {
 | 
|      r_ = (c->*m)(a1, a2, a3, a4, a5);
 | 
|    }
 | 
| +  template<typename C, typename M, typename T1, typename T2, typename T3,
 | 
| +     typename T4, typename T5, typename T6>
 | 
| +  void Invoke(C* c, M m, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6) {
 | 
| +    r_ = (c->*m)(a1, a2, a3, a4, a5, a6);
 | 
| +  }
 | 
|  
 | 
|    R value() { return r_; }
 | 
|  
 | 
| @@ -312,6 +317,36 @@ class MethodCall5 : public rtc::Message,
 | 
|    T5 a5_;
 | 
|  };
 | 
|  
 | 
| +template <typename C, typename R, typename T1, typename T2, typename T3,
 | 
| +    typename T4, typename T5, typename T6>
 | 
| +class MethodCall6 : public rtc::Message,
 | 
| +                    public rtc::MessageHandler {
 | 
| + public:
 | 
| +  typedef R (C::*Method)(T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6);
 | 
| +  MethodCall6(C* c, Method m, T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6)
 | 
| +      : c_(c), m_(m), a1_(a1), a2_(a2), a3_(a3), a4_(a4), a5_(a5), a6_(a6) {}
 | 
| +
 | 
| +  R Marshal(rtc::Thread* t) {
 | 
| +    internal::SynchronousMethodCall(this).Invoke(t);
 | 
| +    return r_.value();
 | 
| +  }
 | 
| +
 | 
| + private:
 | 
| +  void OnMessage(rtc::Message*) {
 | 
| +    r_.Invoke(c_, m_, a1_, a2_, a3_, a4_, a5_, a6_);
 | 
| +  }
 | 
| +
 | 
| +  C* c_;
 | 
| +  Method m_;
 | 
| +  ReturnType<R> r_;
 | 
| +  T1 a1_;
 | 
| +  T2 a2_;
 | 
| +  T3 a3_;
 | 
| +  T4 a4_;
 | 
| +  T5 a5_;
 | 
| +  T6 a6_;
 | 
| +};
 | 
| +
 | 
|  #define BEGIN_PROXY_MAP(c)                                                \
 | 
|    class c##Proxy : public c##Interface {                                  \
 | 
|     protected:                                                             \
 | 
| @@ -377,6 +412,13 @@ class MethodCall5 : public rtc::Message,
 | 
|      return call.Marshal(owner_thread_);                                      \
 | 
|    }
 | 
|  
 | 
| +#define PROXY_METHOD6(r, method, t1, t2, t3, t4, t5, t6)                     \
 | 
| +  r method(t1 a1, t2 a2, t3 a3, t4 a4, t5 a5, t6 a6) override {              \
 | 
| +    MethodCall6<C, r, t1, t2, t3, t4, t5, t6> call(c_.get(), &C::method, a1, \
 | 
| +                                               a2, a3, a4, a5, a6);          \
 | 
| +    return call.Marshal(owner_thread_);                                      \
 | 
| +  }
 | 
| +
 | 
|  #define END_PROXY() \
 | 
|     private:\
 | 
|      void Release_s() {\
 | 
| 
 |