| Index: talk/media/base/mediachannel.h
 | 
| diff --git a/talk/media/base/mediachannel.h b/talk/media/base/mediachannel.h
 | 
| index ed4142969b96e74934b1416d760c3aa08b05e4af..be461b76d10ac2fa067b8e02ee1a4f437df0662c 100644
 | 
| --- a/talk/media/base/mediachannel.h
 | 
| +++ b/talk/media/base/mediachannel.h
 | 
| @@ -566,20 +566,10 @@ class MediaChannel : public sigslot::has_slots<> {
 | 
|    // multiple SSRCs.
 | 
|    virtual bool RemoveRecvStream(uint32 ssrc) = 0;
 | 
|  
 | 
| -  // Mutes the channel.
 | 
| -  virtual bool MuteStream(uint32 ssrc, bool on) = 0;
 | 
| -
 | 
| -  // Sets the RTP extension headers and IDs to use when sending RTP.
 | 
| -  virtual bool SetRecvRtpHeaderExtensions(
 | 
| -      const std::vector<RtpHeaderExtension>& extensions) = 0;
 | 
| -  virtual bool SetSendRtpHeaderExtensions(
 | 
| -      const std::vector<RtpHeaderExtension>& extensions) = 0;
 | 
|    // Returns the absoulte sendtime extension id value from media channel.
 | 
|    virtual int GetRtpSendTimeExtnId() const {
 | 
|      return -1;
 | 
|    }
 | 
| -  // Sets the maximum allowed bandwidth to use when sending data.
 | 
| -  virtual bool SetMaxSendBandwidth(int bps) = 0;
 | 
|  
 | 
|    // Base method to send packet using NetworkInterface.
 | 
|    bool SendPacket(rtc::Buffer* packet) {
 | 
| @@ -1073,30 +1063,15 @@ class VoiceMediaChannel : public MediaChannel {
 | 
|  
 | 
|    VoiceMediaChannel() {}
 | 
|    virtual ~VoiceMediaChannel() {}
 | 
| -  // TODO(pthatcher): Remove SetSendCodecs,
 | 
| -  // SetSendRtpHeaderExtensions, SetMaxSendBandwidth, and SetOptions
 | 
| -  // once all implementations implement SetSendParameters.
 | 
| -  virtual bool SetSendParameters(const AudioSendParameters& params) {
 | 
| -    return (SetSendCodecs(params.codecs) &&
 | 
| -            SetSendRtpHeaderExtensions(params.extensions) &&
 | 
| -            SetMaxSendBandwidth(params.max_bandwidth_bps) &&
 | 
| -            SetOptions(params.options));
 | 
| -  }
 | 
| -  // TODO(pthatcher): Remove SetRecvCodecs and
 | 
| -  // SetRecvRtpHeaderExtensions once all implementations implement
 | 
| -  // SetRecvParameters.
 | 
| -  virtual bool SetRecvParameters(const AudioRecvParameters& params) {
 | 
| -    return (SetRecvCodecs(params.codecs) &&
 | 
| -            SetRecvRtpHeaderExtensions(params.extensions));
 | 
| -  }
 | 
| -  // Sets the codecs/payload types to be used for incoming media.
 | 
| -  virtual bool SetRecvCodecs(const std::vector<AudioCodec>& codecs) = 0;
 | 
| -  // Sets the codecs/payload types to be used for outgoing media.
 | 
| -  virtual bool SetSendCodecs(const std::vector<AudioCodec>& codecs) = 0;
 | 
| +  virtual bool SetSendParameters(const AudioSendParameters& params) = 0;
 | 
| +  virtual bool SetRecvParameters(const AudioRecvParameters& params) = 0;
 | 
|    // Starts or stops playout of received audio.
 | 
|    virtual bool SetPlayout(bool playout) = 0;
 | 
|    // Starts or stops sending (and potentially capture) of local audio.
 | 
|    virtual bool SetSend(SendFlags flag) = 0;
 | 
| +  // Mutes the channel.
 | 
| +  virtual bool MuteStream(uint32 ssrc, bool on,
 | 
| +                          const AudioOptions* options) = 0;
 | 
|    // Sets the renderer object to be used for the specified remote audio stream.
 | 
|    virtual bool SetRemoteRenderer(uint32 ssrc, AudioRenderer* renderer) = 0;
 | 
|    // Sets the renderer object to be used for the specified local audio stream.
 | 
| @@ -1135,8 +1110,7 @@ class VoiceMediaChannel : public MediaChannel {
 | 
|      ASSERT(error != NULL);
 | 
|      *error = ERROR_NONE;
 | 
|    }
 | 
| -  // Sets the media options to use.
 | 
| -  virtual bool SetOptions(const AudioOptions& options) = 0;
 | 
| +  // Gets the media options to use.
 | 
|    virtual bool GetOptions(AudioOptions* options) const = 0;
 | 
|  
 | 
|    // Signal errors from MediaChannel.  Arguments are:
 | 
| @@ -1171,26 +1145,8 @@ class VideoMediaChannel : public MediaChannel {
 | 
|    virtual ~VideoMediaChannel() {}
 | 
|    // Allow video channel to unhook itself from an associated voice channel.
 | 
|    virtual void DetachVoiceChannel() = 0;
 | 
| -  // TODO(pthatcher): Remove SetSendCodecs,
 | 
| -  // SetSendRtpHeaderExtensions, SetMaxSendBandwidth, and SetOptions
 | 
| -  // once all implementations implement SetSendParameters.
 | 
| -  virtual bool SetSendParameters(const VideoSendParameters& params) {
 | 
| -    return (SetSendCodecs(params.codecs) &&
 | 
| -            SetSendRtpHeaderExtensions(params.extensions) &&
 | 
| -            SetMaxSendBandwidth(params.max_bandwidth_bps) &&
 | 
| -            SetOptions(params.options));
 | 
| -  }
 | 
| -  // TODO(pthatcher): Remove SetRecvCodecs and
 | 
| -  // SetRecvRtpHeaderExtensions once all implementations implement
 | 
| -  // SetRecvParameters.
 | 
| -  virtual bool SetRecvParameters(const VideoRecvParameters& params) {
 | 
| -    return (SetRecvCodecs(params.codecs) &&
 | 
| -            SetRecvRtpHeaderExtensions(params.extensions));
 | 
| -  }
 | 
| -  // Sets the codecs/payload types to be used for incoming media.
 | 
| -  virtual bool SetRecvCodecs(const std::vector<VideoCodec>& codecs) = 0;
 | 
| -  // Sets the codecs/payload types to be used for outgoing media.
 | 
| -  virtual bool SetSendCodecs(const std::vector<VideoCodec>& codecs) = 0;
 | 
| +  virtual bool SetSendParameters(const VideoSendParameters& params) = 0;
 | 
| +  virtual bool SetRecvParameters(const VideoRecvParameters& params) = 0;
 | 
|    // Gets the currently set codecs/payload types to be used for outgoing media.
 | 
|    virtual bool GetSendCodec(VideoCodec* send_codec) = 0;
 | 
|    // Sets the format of a specified outgoing stream.
 | 
| @@ -1199,6 +1155,9 @@ class VideoMediaChannel : public MediaChannel {
 | 
|    virtual bool SetRender(bool render) = 0;
 | 
|    // Starts or stops transmission (and potentially capture) of local video.
 | 
|    virtual bool SetSend(bool send) = 0;
 | 
| +  // Mutes the channel.
 | 
| +  virtual bool MuteStream(uint32 ssrc, bool on,
 | 
| +                          const VideoOptions* options) = 0;
 | 
|    // Sets the renderer object to be used for the specified stream.
 | 
|    // If SSRC is 0, the renderer is used for the 'default' stream.
 | 
|    virtual bool SetRenderer(uint32 ssrc, VideoRenderer* renderer) = 0;
 | 
| @@ -1211,8 +1170,7 @@ class VideoMediaChannel : public MediaChannel {
 | 
|    virtual bool SendIntraFrame() = 0;
 | 
|    // Reuqest each of the remote senders to send an intra frame.
 | 
|    virtual bool RequestIntraFrame() = 0;
 | 
| -  // Sets the media options to use.
 | 
| -  virtual bool SetOptions(const VideoOptions& options) = 0;
 | 
| +  // Gets the media options to use.
 | 
|    virtual bool GetOptions(VideoOptions* options) const = 0;
 | 
|    virtual void UpdateAspectRatio(int ratio_w, int ratio_h) = 0;
 | 
|  
 | 
| @@ -1325,23 +1283,9 @@ class DataMediaChannel : public MediaChannel {
 | 
|  
 | 
|    virtual ~DataMediaChannel() {}
 | 
|  
 | 
| -  // TODO(pthatcher): Remove SetSendCodecs,
 | 
| -  // SetSendRtpHeaderExtensions, SetMaxSendBandwidth, and SetOptions
 | 
| -  // once all implementations implement SetSendParameters.
 | 
| -  virtual bool SetSendParameters(const DataSendParameters& params) {
 | 
| -    return (SetSendCodecs(params.codecs) &&
 | 
| -            SetMaxSendBandwidth(params.max_bandwidth_bps));
 | 
| -  }
 | 
| -  // TODO(pthatcher): Remove SetRecvCodecs and
 | 
| -  // SetRecvRtpHeaderExtensions once all implementations implement
 | 
| -  // SetRecvParameters.
 | 
| -  virtual bool SetRecvParameters(const DataRecvParameters& params) {
 | 
| -    return SetRecvCodecs(params.codecs);
 | 
| -  }
 | 
| -  virtual bool SetSendCodecs(const std::vector<DataCodec>& codecs) = 0;
 | 
| -  virtual bool SetRecvCodecs(const std::vector<DataCodec>& codecs) = 0;
 | 
| +  virtual bool SetSendParameters(const DataSendParameters& params) = 0;
 | 
| +  virtual bool SetRecvParameters(const DataRecvParameters& params) = 0;
 | 
|  
 | 
| -  virtual bool MuteStream(uint32 ssrc, bool on) { return false; }
 | 
|    // TODO(pthatcher): Implement this.
 | 
|    virtual bool GetStats(DataMediaInfo* info) { return true; }
 | 
|  
 | 
| 
 |