| 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 |