| Index: talk/session/media/channel.cc
 | 
| diff --git a/talk/session/media/channel.cc b/talk/session/media/channel.cc
 | 
| index ae27e332f870e8ec7eb87c04ac60de43c8ac904c..8d3efec4fa5144ef9f6a5aa99816f29dfdf88b70 100644
 | 
| --- a/talk/session/media/channel.cc
 | 
| +++ b/talk/session/media/channel.cc
 | 
| @@ -628,9 +628,12 @@ bool BaseChannel::WantsPacket(bool rtcp, rtc::Buffer* packet) {
 | 
|                    << " packet: wrong size=" << packet->size();
 | 
|      return false;
 | 
|    }
 | 
| -
 | 
| -  // Bundle filter handles both rtp and rtcp packets.
 | 
| -  return bundle_filter_.DemuxPacket(packet->data<char>(), packet->size(), rtcp);
 | 
| +  if (rtcp) {
 | 
| +    // Permit all (seemingly valid) RTCP packets.
 | 
| +    return true;
 | 
| +  }
 | 
| +  // Check whether we handle this payload.
 | 
| +  return bundle_filter_.DemuxPacket(packet->data<uint8_t>(), packet->size());
 | 
|  }
 | 
|  
 | 
|  void BaseChannel::HandlePacket(bool rtcp, rtc::Buffer* packet,
 | 
| @@ -1075,15 +1078,11 @@ bool BaseChannel::SetRtcpMux_w(bool enable, ContentAction action,
 | 
|  
 | 
|  bool BaseChannel::AddRecvStream_w(const StreamParams& sp) {
 | 
|    ASSERT(worker_thread() == rtc::Thread::Current());
 | 
| -  if (!media_channel()->AddRecvStream(sp))
 | 
| -    return false;
 | 
| -
 | 
| -  return bundle_filter_.AddStream(sp);
 | 
| +  return media_channel()->AddRecvStream(sp);
 | 
|  }
 | 
|  
 | 
|  bool BaseChannel::RemoveRecvStream_w(uint32_t ssrc) {
 | 
|    ASSERT(worker_thread() == rtc::Thread::Current());
 | 
| -  bundle_filter_.RemoveStream(ssrc);
 | 
|    return media_channel()->RemoveRecvStream(ssrc);
 | 
|  }
 | 
|  
 | 
| 
 |