| Index: webrtc/pc/rtpreceiver.h
 | 
| diff --git a/webrtc/pc/rtpreceiver.h b/webrtc/pc/rtpreceiver.h
 | 
| index c135f227c03a47adcfd7912fc249a5f71b29b5bf..513f90c7ab3d9a00796868fe32a85bf5069e7d85 100644
 | 
| --- a/webrtc/pc/rtpreceiver.h
 | 
| +++ b/webrtc/pc/rtpreceiver.h
 | 
| @@ -34,6 +34,9 @@ namespace webrtc {
 | 
|  class RtpReceiverInternal : public RtpReceiverInterface {
 | 
|   public:
 | 
|    virtual void Stop() = 0;
 | 
| +  // This SSRC is used as an identifier for the receiver between the API layer
 | 
| +  // and the WebRtcVideoEngine2, WebRtcVoiceEngine layer.
 | 
| +  virtual uint32_t ssrc() const = 0;
 | 
|  };
 | 
|  
 | 
|  class AudioRtpReceiver : public ObserverInterface,
 | 
| @@ -41,8 +44,11 @@ class AudioRtpReceiver : public ObserverInterface,
 | 
|                           public rtc::RefCountedObject<RtpReceiverInternal>,
 | 
|                           public sigslot::has_slots<> {
 | 
|   public:
 | 
| -  AudioRtpReceiver(MediaStreamInterface* stream,
 | 
| -                   const std::string& track_id,
 | 
| +  // An SSRC of 0 will create a receiver that will match the first SSRC it
 | 
| +  // sees.
 | 
| +  // TODO(deadbeef): Use rtc::Optional, or have another constructor that
 | 
| +  // doesn't take an SSRC, and make this one DCHECK(ssrc != 0).
 | 
| +  AudioRtpReceiver(const std::string& track_id,
 | 
|                     uint32_t ssrc,
 | 
|                     cricket::VoiceChannel* channel);
 | 
|  
 | 
| @@ -74,6 +80,7 @@ class AudioRtpReceiver : public ObserverInterface,
 | 
|  
 | 
|    // RtpReceiverInternal implementation.
 | 
|    void Stop() override;
 | 
| +  uint32_t ssrc() const override { return ssrc_; }
 | 
|  
 | 
|    void SetObserver(RtpReceiverObserverInterface* observer) override;
 | 
|  
 | 
| @@ -99,8 +106,9 @@ class AudioRtpReceiver : public ObserverInterface,
 | 
|  class VideoRtpReceiver : public rtc::RefCountedObject<RtpReceiverInternal>,
 | 
|                           public sigslot::has_slots<> {
 | 
|   public:
 | 
| -  VideoRtpReceiver(MediaStreamInterface* stream,
 | 
| -                   const std::string& track_id,
 | 
| +  // An SSRC of 0 will create a receiver that will match the first SSRC it
 | 
| +  // sees.
 | 
| +  VideoRtpReceiver(const std::string& track_id,
 | 
|                     rtc::Thread* worker_thread,
 | 
|                     uint32_t ssrc,
 | 
|                     cricket::VideoChannel* channel);
 | 
| @@ -127,6 +135,7 @@ class VideoRtpReceiver : public rtc::RefCountedObject<RtpReceiverInternal>,
 | 
|  
 | 
|    // RtpReceiverInternal implementation.
 | 
|    void Stop() override;
 | 
| +  uint32_t ssrc() const override { return ssrc_; }
 | 
|  
 | 
|    void SetObserver(RtpReceiverObserverInterface* observer) override;
 | 
|  
 | 
| 
 |