| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * libjingle | 2  * libjingle | 
| 3  * Copyright 2004 Google Inc. | 3  * Copyright 2004 Google Inc. | 
| 4  * | 4  * | 
| 5  * Redistribution and use in source and binary forms, with or without | 5  * Redistribution and use in source and binary forms, with or without | 
| 6  * modification, are permitted provided that the following conditions are met: | 6  * modification, are permitted provided that the following conditions are met: | 
| 7  * | 7  * | 
| 8  *  1. Redistributions of source code must retain the above copyright notice, | 8  *  1. Redistributions of source code must retain the above copyright notice, | 
| 9  *     this list of conditions and the following disclaimer. | 9  *     this list of conditions and the following disclaimer. | 
| 10  *  2. Redistributions in binary form must reproduce the above copyright notice, | 10  *  2. Redistributions in binary form must reproduce the above copyright notice, | 
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 98   // This function returns true if we are using SRTP. | 98   // This function returns true if we are using SRTP. | 
| 99   bool secure() const { return srtp_filter_.IsActive(); } | 99   bool secure() const { return srtp_filter_.IsActive(); } | 
| 100   // The following function returns true if we are using | 100   // The following function returns true if we are using | 
| 101   // DTLS-based keying. If you turned off SRTP later, however | 101   // DTLS-based keying. If you turned off SRTP later, however | 
| 102   // you could have secure() == false and dtls_secure() == true. | 102   // you could have secure() == false and dtls_secure() == true. | 
| 103   bool secure_dtls() const { return dtls_keyed_; } | 103   bool secure_dtls() const { return dtls_keyed_; } | 
| 104   // This function returns true if we require secure channel for call setup. | 104   // This function returns true if we require secure channel for call setup. | 
| 105   bool secure_required() const { return secure_required_; } | 105   bool secure_required() const { return secure_required_; } | 
| 106 | 106 | 
| 107   bool writable() const { return writable_; } | 107   bool writable() const { return writable_; } | 
| 108   bool IsStreamMuted(uint32 ssrc); |  | 
| 109 | 108 | 
| 110   // Activate RTCP mux, regardless of the state so far.  Once | 109   // Activate RTCP mux, regardless of the state so far.  Once | 
| 111   // activated, it can not be deactivated, and if the remote | 110   // activated, it can not be deactivated, and if the remote | 
| 112   // description doesn't support RTCP mux, setting the remote | 111   // description doesn't support RTCP mux, setting the remote | 
| 113   // description will fail. | 112   // description will fail. | 
| 114   void ActivateRtcpMux(); | 113   void ActivateRtcpMux(); | 
| 115   bool PushdownLocalDescription(const SessionDescription* local_desc, | 114   bool PushdownLocalDescription(const SessionDescription* local_desc, | 
| 116                                 ContentAction action, | 115                                 ContentAction action, | 
| 117                                 std::string* error_desc); | 116                                 std::string* error_desc); | 
| 118   bool PushdownRemoteDescription(const SessionDescription* remote_desc, | 117   bool PushdownRemoteDescription(const SessionDescription* remote_desc, | 
| 119                                 ContentAction action, | 118                                 ContentAction action, | 
| 120                                 std::string* error_desc); | 119                                 std::string* error_desc); | 
| 121   // Channel control | 120   // Channel control | 
| 122   bool SetLocalContent(const MediaContentDescription* content, | 121   bool SetLocalContent(const MediaContentDescription* content, | 
| 123                        ContentAction action, | 122                        ContentAction action, | 
| 124                        std::string* error_desc); | 123                        std::string* error_desc); | 
| 125   bool SetRemoteContent(const MediaContentDescription* content, | 124   bool SetRemoteContent(const MediaContentDescription* content, | 
| 126                         ContentAction action, | 125                         ContentAction action, | 
| 127                         std::string* error_desc); | 126                         std::string* error_desc); | 
| 128 | 127 | 
| 129   bool Enable(bool enable); | 128   bool Enable(bool enable); | 
| 130   // Mute sending media on the stream with SSRC |ssrc| |  | 
| 131   // If there is only one sending stream SSRC 0 can be used. |  | 
| 132   bool MuteStream(uint32 ssrc, bool mute); |  | 
| 133 | 129 | 
| 134   // Multiplexing | 130   // Multiplexing | 
| 135   bool AddRecvStream(const StreamParams& sp); | 131   bool AddRecvStream(const StreamParams& sp); | 
| 136   bool RemoveRecvStream(uint32 ssrc); | 132   bool RemoveRecvStream(uint32 ssrc); | 
| 137   bool AddSendStream(const StreamParams& sp); | 133   bool AddSendStream(const StreamParams& sp); | 
| 138   bool RemoveSendStream(uint32 ssrc); | 134   bool RemoveSendStream(uint32 ssrc); | 
| 139 | 135 | 
| 140   // Monitoring | 136   // Monitoring | 
| 141   void StartConnectionMonitor(int cms); | 137   void StartConnectionMonitor(int cms); | 
| 142   void StopConnectionMonitor(); | 138   void StopConnectionMonitor(); | 
| (...skipping 13 matching lines...) Expand all  Loading... | 
| 156     return remote_streams_; | 152     return remote_streams_; | 
| 157   } | 153   } | 
| 158 | 154 | 
| 159   sigslot::signal2<BaseChannel*, bool> SignalDtlsSetupFailure; | 155   sigslot::signal2<BaseChannel*, bool> SignalDtlsSetupFailure; | 
| 160   void SignalDtlsSetupFailure_w(bool rtcp); | 156   void SignalDtlsSetupFailure_w(bool rtcp); | 
| 161   void SignalDtlsSetupFailure_s(bool rtcp); | 157   void SignalDtlsSetupFailure_s(bool rtcp); | 
| 162 | 158 | 
| 163   // Used for latency measurements. | 159   // Used for latency measurements. | 
| 164   sigslot::signal1<BaseChannel*> SignalFirstPacketReceived; | 160   sigslot::signal1<BaseChannel*> SignalFirstPacketReceived; | 
| 165 | 161 | 
| 166   // Used to alert UI when the muted status changes, perhaps autonomously. |  | 
| 167   sigslot::repeater2<BaseChannel*, bool> SignalAutoMuted; |  | 
| 168 |  | 
| 169   // Made public for easier testing. | 162   // Made public for easier testing. | 
| 170   void SetReadyToSend(TransportChannel* channel, bool ready); | 163   void SetReadyToSend(TransportChannel* channel, bool ready); | 
| 171 | 164 | 
| 172   // Only public for unit tests.  Otherwise, consider protected. | 165   // Only public for unit tests.  Otherwise, consider protected. | 
| 173   virtual int SetOption(SocketType type, rtc::Socket::Option o, int val); | 166   virtual int SetOption(SocketType type, rtc::Socket::Option o, int val); | 
| 174 | 167 | 
| 175  protected: | 168  protected: | 
| 176   virtual MediaChannel* media_channel() const { return media_channel_; } | 169   virtual MediaChannel* media_channel() const { return media_channel_; } | 
| 177   // Sets the transport_channel_ and rtcp_transport_channel_.  If | 170   // Sets the transport_channel_ and rtcp_transport_channel_.  If | 
| 178   // |rtcp| is false, set rtcp_transport_channel_ is set to NULL.  Get | 171   // |rtcp| is false, set rtcp_transport_channel_ is set to NULL.  Get | 
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 225   virtual bool WantsPacket(bool rtcp, rtc::Buffer* packet); | 218   virtual bool WantsPacket(bool rtcp, rtc::Buffer* packet); | 
| 226   void HandlePacket(bool rtcp, rtc::Buffer* packet, | 219   void HandlePacket(bool rtcp, rtc::Buffer* packet, | 
| 227                     const rtc::PacketTime& packet_time); | 220                     const rtc::PacketTime& packet_time); | 
| 228 | 221 | 
| 229   // Apply the new local/remote session description. | 222   // Apply the new local/remote session description. | 
| 230   void OnNewLocalDescription(BaseSession* session, ContentAction action); | 223   void OnNewLocalDescription(BaseSession* session, ContentAction action); | 
| 231   void OnNewRemoteDescription(BaseSession* session, ContentAction action); | 224   void OnNewRemoteDescription(BaseSession* session, ContentAction action); | 
| 232 | 225 | 
| 233   void EnableMedia_w(); | 226   void EnableMedia_w(); | 
| 234   void DisableMedia_w(); | 227   void DisableMedia_w(); | 
| 235   virtual bool MuteStream_w(uint32 ssrc, bool mute); |  | 
| 236   bool IsStreamMuted_w(uint32 ssrc); |  | 
| 237   void ChannelWritable_w(); | 228   void ChannelWritable_w(); | 
| 238   void ChannelNotWritable_w(); | 229   void ChannelNotWritable_w(); | 
| 239   bool AddRecvStream_w(const StreamParams& sp); | 230   bool AddRecvStream_w(const StreamParams& sp); | 
| 240   bool RemoveRecvStream_w(uint32 ssrc); | 231   bool RemoveRecvStream_w(uint32 ssrc); | 
| 241   bool AddSendStream_w(const StreamParams& sp); | 232   bool AddSendStream_w(const StreamParams& sp); | 
| 242   bool RemoveSendStream_w(uint32 ssrc); | 233   bool RemoveSendStream_w(uint32 ssrc); | 
| 243   virtual bool ShouldSetupDtlsSrtp() const; | 234   virtual bool ShouldSetupDtlsSrtp() const; | 
| 244   // Do the DTLS key expansion and impose it on the SRTP/SRTCP filters. | 235   // Do the DTLS key expansion and impose it on the SRTP/SRTCP filters. | 
| 245   // |rtcp_channel| indicates whether to set up the RTP or RTCP filter. | 236   // |rtcp_channel| indicates whether to set up the RTP or RTCP filter. | 
| 246   bool SetupDtlsSrtp(bool rtcp_channel); | 237   bool SetupDtlsSrtp(bool rtcp_channel); | 
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 317   RtcpMuxFilter rtcp_mux_filter_; | 308   RtcpMuxFilter rtcp_mux_filter_; | 
| 318   BundleFilter bundle_filter_; | 309   BundleFilter bundle_filter_; | 
| 319   rtc::scoped_ptr<ConnectionMonitor> connection_monitor_; | 310   rtc::scoped_ptr<ConnectionMonitor> connection_monitor_; | 
| 320   bool enabled_; | 311   bool enabled_; | 
| 321   bool writable_; | 312   bool writable_; | 
| 322   bool rtp_ready_to_send_; | 313   bool rtp_ready_to_send_; | 
| 323   bool rtcp_ready_to_send_; | 314   bool rtcp_ready_to_send_; | 
| 324   bool was_ever_writable_; | 315   bool was_ever_writable_; | 
| 325   MediaContentDirection local_content_direction_; | 316   MediaContentDirection local_content_direction_; | 
| 326   MediaContentDirection remote_content_direction_; | 317   MediaContentDirection remote_content_direction_; | 
| 327   std::set<uint32> muted_streams_; |  | 
| 328   bool has_received_packet_; | 318   bool has_received_packet_; | 
| 329   bool dtls_keyed_; | 319   bool dtls_keyed_; | 
| 330   bool secure_required_; | 320   bool secure_required_; | 
| 331   int rtp_abs_sendtime_extn_id_; | 321   int rtp_abs_sendtime_extn_id_; | 
| 332 }; | 322 }; | 
| 333 | 323 | 
| 334 // VoiceChannel is a specialization that adds support for early media, DTMF, | 324 // VoiceChannel is a specialization that adds support for early media, DTMF, | 
| 335 // and input/output level monitoring. | 325 // and input/output level monitoring. | 
| 336 class VoiceChannel : public BaseChannel { | 326 class VoiceChannel : public BaseChannel { | 
| 337  public: | 327  public: | 
| 338   VoiceChannel(rtc::Thread* thread, MediaEngineInterface* media_engine, | 328   VoiceChannel(rtc::Thread* thread, MediaEngineInterface* media_engine, | 
| 339                VoiceMediaChannel* channel, BaseSession* session, | 329                VoiceMediaChannel* channel, BaseSession* session, | 
| 340                const std::string& content_name, bool rtcp); | 330                const std::string& content_name, bool rtcp); | 
| 341   ~VoiceChannel(); | 331   ~VoiceChannel(); | 
| 342   bool Init(); | 332   bool Init(); | 
| 343   bool SetRemoteRenderer(uint32 ssrc, AudioRenderer* renderer); | 333   bool SetRemoteRenderer(uint32 ssrc, AudioRenderer* renderer); | 
| 344   bool SetLocalRenderer(uint32 ssrc, AudioRenderer* renderer); | 334   bool SetLocalRenderer(uint32 ssrc, AudioRenderer* renderer); | 
| 345 | 335 | 
|  | 336   // Mute sending media on the stream with SSRC |ssrc| | 
|  | 337   // If there is only one sending stream SSRC 0 can be used. | 
|  | 338   bool MuteStream(uint32 ssrc, bool mute, const AudioOptions* options); | 
|  | 339   bool IsStreamMuted(uint32 ssrc); | 
|  | 340 | 
| 346   // downcasts a MediaChannel | 341   // downcasts a MediaChannel | 
| 347   virtual VoiceMediaChannel* media_channel() const { | 342   virtual VoiceMediaChannel* media_channel() const { | 
| 348     return static_cast<VoiceMediaChannel*>(BaseChannel::media_channel()); | 343     return static_cast<VoiceMediaChannel*>(BaseChannel::media_channel()); | 
| 349   } | 344   } | 
| 350 | 345 | 
| 351   bool SetRingbackTone(const void* buf, int len); | 346   bool SetRingbackTone(const void* buf, int len); | 
| 352   void SetEarlyMedia(bool enable); | 347   void SetEarlyMedia(bool enable); | 
| 353   // This signal is emitted when we have gone a period of time without | 348   // This signal is emitted when we have gone a period of time without | 
| 354   // receiving early media. When received, a UI should start playing its | 349   // receiving early media. When received, a UI should start playing its | 
| 355   // own ringing sound | 350   // own ringing sound | 
| (...skipping 24 matching lines...) Expand all  Loading... | 
| 380 | 375 | 
| 381   void StartAudioMonitor(int cms); | 376   void StartAudioMonitor(int cms); | 
| 382   void StopAudioMonitor(); | 377   void StopAudioMonitor(); | 
| 383   bool IsAudioMonitorRunning() const; | 378   bool IsAudioMonitorRunning() const; | 
| 384   sigslot::signal2<VoiceChannel*, const AudioInfo&> SignalAudioMonitor; | 379   sigslot::signal2<VoiceChannel*, const AudioInfo&> SignalAudioMonitor; | 
| 385 | 380 | 
| 386   void StartTypingMonitor(const TypingMonitorOptions& settings); | 381   void StartTypingMonitor(const TypingMonitorOptions& settings); | 
| 387   void StopTypingMonitor(); | 382   void StopTypingMonitor(); | 
| 388   bool IsTypingMonitorRunning() const; | 383   bool IsTypingMonitorRunning() const; | 
| 389 | 384 | 
| 390   // Overrides BaseChannel::MuteStream_w. |  | 
| 391   virtual bool MuteStream_w(uint32 ssrc, bool mute); |  | 
| 392 |  | 
| 393   int GetInputLevel_w(); | 385   int GetInputLevel_w(); | 
| 394   int GetOutputLevel_w(); | 386   int GetOutputLevel_w(); | 
| 395   void GetActiveStreams_w(AudioInfo::StreamList* actives); | 387   void GetActiveStreams_w(AudioInfo::StreamList* actives); | 
| 396 | 388 | 
| 397   // Signal errors from VoiceMediaChannel.  Arguments are: | 389   // Signal errors from VoiceMediaChannel.  Arguments are: | 
| 398   //     ssrc(uint32), and error(VoiceMediaChannel::Error). | 390   //     ssrc(uint32), and error(VoiceMediaChannel::Error). | 
| 399   sigslot::signal3<VoiceChannel*, uint32, VoiceMediaChannel::Error> | 391   sigslot::signal3<VoiceChannel*, uint32, VoiceMediaChannel::Error> | 
| 400       SignalMediaError; | 392       SignalMediaError; | 
| 401 | 393 | 
| 402   // Configuration and setting. | 394   // Used to alert UI when the muted status changes, perhaps autonomously. | 
| 403   bool SetChannelOptions(const AudioOptions& options); | 395   sigslot::repeater2<BaseChannel*, bool> SignalAutoMuted; | 
| 404 | 396 | 
| 405  private: | 397  private: | 
| 406   // overrides from BaseChannel | 398   // overrides from BaseChannel | 
| 407   virtual void OnChannelRead(TransportChannel* channel, | 399   virtual void OnChannelRead(TransportChannel* channel, | 
| 408                              const char* data, size_t len, | 400                              const char* data, size_t len, | 
| 409                              const rtc::PacketTime& packet_time, | 401                              const rtc::PacketTime& packet_time, | 
| 410                              int flags); | 402                              int flags); | 
| 411   virtual void ChangeState(); | 403   virtual void ChangeState(); | 
| 412   virtual const ContentInfo* GetFirstContent(const SessionDescription* sdesc); | 404   virtual const ContentInfo* GetFirstContent(const SessionDescription* sdesc); | 
| 413   virtual bool SetLocalContent_w(const MediaContentDescription* content, | 405   virtual bool SetLocalContent_w(const MediaContentDescription* content, | 
| 414                                  ContentAction action, | 406                                  ContentAction action, | 
| 415                                  std::string* error_desc); | 407                                  std::string* error_desc); | 
| 416   virtual bool SetRemoteContent_w(const MediaContentDescription* content, | 408   virtual bool SetRemoteContent_w(const MediaContentDescription* content, | 
| 417                                   ContentAction action, | 409                                   ContentAction action, | 
| 418                                   std::string* error_desc); | 410                                   std::string* error_desc); | 
|  | 411   bool MuteStream_w(uint32 ssrc, bool mute, const AudioOptions* options); | 
|  | 412   bool IsStreamMuted_w(uint32 ssrc); | 
| 419   bool SetRingbackTone_w(const void* buf, int len); | 413   bool SetRingbackTone_w(const void* buf, int len); | 
| 420   bool PlayRingbackTone_w(uint32 ssrc, bool play, bool loop); | 414   bool PlayRingbackTone_w(uint32 ssrc, bool play, bool loop); | 
| 421   void HandleEarlyMediaTimeout(); | 415   void HandleEarlyMediaTimeout(); | 
| 422   bool InsertDtmf_w(uint32 ssrc, int event, int duration, int flags); | 416   bool InsertDtmf_w(uint32 ssrc, int event, int duration, int flags); | 
| 423   bool SetOutputScaling_w(uint32 ssrc, double left, double right); | 417   bool SetOutputScaling_w(uint32 ssrc, double left, double right); | 
| 424   bool GetStats_w(VoiceMediaInfo* stats); | 418   bool GetStats_w(VoiceMediaInfo* stats); | 
| 425 | 419 | 
| 426   virtual void OnMessage(rtc::Message* pmsg); | 420   virtual void OnMessage(rtc::Message* pmsg); | 
| 427   virtual void GetSrtpCiphers(std::vector<std::string>* ciphers) const; | 421   virtual void GetSrtpCiphers(std::vector<std::string>* ciphers) const; | 
| 428   virtual void OnConnectionMonitorUpdate( | 422   virtual void OnConnectionMonitorUpdate( | 
| 429       ConnectionMonitor* monitor, const std::vector<ConnectionInfo>& infos); | 423       ConnectionMonitor* monitor, const std::vector<ConnectionInfo>& infos); | 
| 430   virtual void OnMediaMonitorUpdate( | 424   virtual void OnMediaMonitorUpdate( | 
| 431       VoiceMediaChannel* media_channel, const VoiceMediaInfo& info); | 425       VoiceMediaChannel* media_channel, const VoiceMediaInfo& info); | 
| 432   void OnAudioMonitorUpdate(AudioMonitor* monitor, const AudioInfo& info); | 426   void OnAudioMonitorUpdate(AudioMonitor* monitor, const AudioInfo& info); | 
| 433   void OnVoiceChannelError(uint32 ssrc, VoiceMediaChannel::Error error); | 427   void OnVoiceChannelError(uint32 ssrc, VoiceMediaChannel::Error error); | 
| 434   void SendLastMediaError(); | 428   void SendLastMediaError(); | 
| 435   void OnSrtpError(uint32 ssrc, SrtpFilter::Mode mode, SrtpFilter::Error error); | 429   void OnSrtpError(uint32 ssrc, SrtpFilter::Mode mode, SrtpFilter::Error error); | 
| 436 | 430 | 
| 437   static const int kEarlyMediaTimeout = 1000; | 431   static const int kEarlyMediaTimeout = 1000; | 
| 438   MediaEngineInterface* media_engine_; | 432   MediaEngineInterface* media_engine_; | 
| 439   bool received_media_; | 433   bool received_media_; | 
| 440   rtc::scoped_ptr<VoiceMediaMonitor> media_monitor_; | 434   rtc::scoped_ptr<VoiceMediaMonitor> media_monitor_; | 
| 441   rtc::scoped_ptr<AudioMonitor> audio_monitor_; | 435   rtc::scoped_ptr<AudioMonitor> audio_monitor_; | 
| 442   rtc::scoped_ptr<TypingMonitor> typing_monitor_; | 436   rtc::scoped_ptr<TypingMonitor> typing_monitor_; | 
|  | 437   std::set<uint32> muted_streams_; | 
| 443 | 438 | 
| 444   // Last AudioSendParameters sent down to the media_channel() via | 439   // Last AudioSendParameters sent down to the media_channel() via | 
| 445   // SetSendParameters. | 440   // SetSendParameters. | 
| 446   AudioSendParameters last_send_params_; | 441   AudioSendParameters last_send_params_; | 
| 447   // Last AudioRecvParameters sent down to the media_channel() via | 442   // Last AudioRecvParameters sent down to the media_channel() via | 
| 448   // SetRecvParameters. | 443   // SetRecvParameters. | 
| 449   AudioRecvParameters last_recv_params_; | 444   AudioRecvParameters last_recv_params_; | 
| 450 }; | 445 }; | 
| 451 | 446 | 
| 452 // VideoChannel is a specialization for video. | 447 // VideoChannel is a specialization for video. | 
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 486   void StartMediaMonitor(int cms); | 481   void StartMediaMonitor(int cms); | 
| 487   void StopMediaMonitor(); | 482   void StopMediaMonitor(); | 
| 488   sigslot::signal2<VideoChannel*, const VideoMediaInfo&> SignalMediaMonitor; | 483   sigslot::signal2<VideoChannel*, const VideoMediaInfo&> SignalMediaMonitor; | 
| 489   sigslot::signal2<uint32, rtc::WindowEvent> SignalScreencastWindowEvent; | 484   sigslot::signal2<uint32, rtc::WindowEvent> SignalScreencastWindowEvent; | 
| 490 | 485 | 
| 491   bool SendIntraFrame(); | 486   bool SendIntraFrame(); | 
| 492   bool RequestIntraFrame(); | 487   bool RequestIntraFrame(); | 
| 493   sigslot::signal3<VideoChannel*, uint32, VideoMediaChannel::Error> | 488   sigslot::signal3<VideoChannel*, uint32, VideoMediaChannel::Error> | 
| 494       SignalMediaError; | 489       SignalMediaError; | 
| 495 | 490 | 
| 496   // Configuration and setting. | 491   // Mute sending media on the stream with SSRC |ssrc| | 
| 497   bool SetChannelOptions(const VideoOptions& options); | 492   // If there is only one sending stream SSRC 0 can be used. | 
|  | 493   bool MuteStream(uint32 ssrc, bool mute, const VideoOptions* options); | 
| 498 | 494 | 
| 499  private: | 495  private: | 
| 500   typedef std::map<uint32, VideoCapturer*> ScreencastMap; | 496   typedef std::map<uint32, VideoCapturer*> ScreencastMap; | 
| 501   struct ScreencastDetailsData; | 497   struct ScreencastDetailsData; | 
| 502 | 498 | 
| 503   // overrides from BaseChannel | 499   // overrides from BaseChannel | 
| 504   virtual void ChangeState(); | 500   virtual void ChangeState(); | 
| 505   virtual const ContentInfo* GetFirstContent(const SessionDescription* sdesc); | 501   virtual const ContentInfo* GetFirstContent(const SessionDescription* sdesc); | 
| 506   virtual bool SetLocalContent_w(const MediaContentDescription* content, | 502   virtual bool SetLocalContent_w(const MediaContentDescription* content, | 
| 507                                  ContentAction action, | 503                                  ContentAction action, | 
| (...skipping 16 matching lines...) Expand all  Loading... | 
| 524       ConnectionMonitor* monitor, const std::vector<ConnectionInfo>& infos); | 520       ConnectionMonitor* monitor, const std::vector<ConnectionInfo>& infos); | 
| 525   virtual void OnMediaMonitorUpdate( | 521   virtual void OnMediaMonitorUpdate( | 
| 526       VideoMediaChannel* media_channel, const VideoMediaInfo& info); | 522       VideoMediaChannel* media_channel, const VideoMediaInfo& info); | 
| 527   virtual void OnScreencastWindowEvent(uint32 ssrc, | 523   virtual void OnScreencastWindowEvent(uint32 ssrc, | 
| 528                                        rtc::WindowEvent event); | 524                                        rtc::WindowEvent event); | 
| 529   virtual void OnStateChange(VideoCapturer* capturer, CaptureState ev); | 525   virtual void OnStateChange(VideoCapturer* capturer, CaptureState ev); | 
| 530   bool GetLocalSsrc(const VideoCapturer* capturer, uint32* ssrc); | 526   bool GetLocalSsrc(const VideoCapturer* capturer, uint32* ssrc); | 
| 531 | 527 | 
| 532   void OnVideoChannelError(uint32 ssrc, VideoMediaChannel::Error error); | 528   void OnVideoChannelError(uint32 ssrc, VideoMediaChannel::Error error); | 
| 533   void OnSrtpError(uint32 ssrc, SrtpFilter::Mode mode, SrtpFilter::Error error); | 529   void OnSrtpError(uint32 ssrc, SrtpFilter::Mode mode, SrtpFilter::Error error); | 
|  | 530   bool MuteStream_w(uint32 ssrc, bool mute, const VideoOptions* options); | 
| 534 | 531 | 
| 535   VideoRenderer* renderer_; | 532   VideoRenderer* renderer_; | 
| 536   ScreencastMap screencast_capturers_; | 533   ScreencastMap screencast_capturers_; | 
| 537   rtc::scoped_ptr<VideoMediaMonitor> media_monitor_; | 534   rtc::scoped_ptr<VideoMediaMonitor> media_monitor_; | 
| 538 | 535 | 
| 539   rtc::WindowEvent previous_we_; | 536   rtc::WindowEvent previous_we_; | 
| 540 | 537 | 
| 541   // Last VideoSendParameters sent down to the media_channel() via | 538   // Last VideoSendParameters sent down to the media_channel() via | 
| 542   // SetSendParameters. | 539   // SetSendParameters. | 
| 543   VideoSendParameters last_send_params_; | 540   VideoSendParameters last_send_params_; | 
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 667   // SetSendParameters. | 664   // SetSendParameters. | 
| 668   DataSendParameters last_send_params_; | 665   DataSendParameters last_send_params_; | 
| 669   // Last DataRecvParameters sent down to the media_channel() via | 666   // Last DataRecvParameters sent down to the media_channel() via | 
| 670   // SetRecvParameters. | 667   // SetRecvParameters. | 
| 671   DataRecvParameters last_recv_params_; | 668   DataRecvParameters last_recv_params_; | 
| 672 }; | 669 }; | 
| 673 | 670 | 
| 674 }  // namespace cricket | 671 }  // namespace cricket | 
| 675 | 672 | 
| 676 #endif  // TALK_SESSION_MEDIA_CHANNEL_H_ | 673 #endif  // TALK_SESSION_MEDIA_CHANNEL_H_ | 
| OLD | NEW | 
|---|