OLD | NEW |
1 /* | 1 /* |
2 * libjingle | 2 * libjingle |
3 * Copyright 2014 Google Inc. | 3 * Copyright 2014 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 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
243 class WebRtcVideoSendStream : public sigslot::has_slots<> { | 243 class WebRtcVideoSendStream : public sigslot::has_slots<> { |
244 public: | 244 public: |
245 WebRtcVideoSendStream( | 245 WebRtcVideoSendStream( |
246 webrtc::Call* call, | 246 webrtc::Call* call, |
247 const StreamParams& sp, | 247 const StreamParams& sp, |
248 const webrtc::VideoSendStream::Config& config, | 248 const webrtc::VideoSendStream::Config& config, |
249 WebRtcVideoEncoderFactory* external_encoder_factory, | 249 WebRtcVideoEncoderFactory* external_encoder_factory, |
250 const VideoOptions& options, | 250 const VideoOptions& options, |
251 int max_bitrate_bps, | 251 int max_bitrate_bps, |
252 const rtc::Optional<VideoCodecSettings>& codec_settings, | 252 const rtc::Optional<VideoCodecSettings>& codec_settings, |
253 const std::vector<webrtc::RtpExtension>& rtp_extensions); | 253 const std::vector<webrtc::RtpExtension>& rtp_extensions, |
| 254 const VideoSendParameters& send_params); |
254 ~WebRtcVideoSendStream(); | 255 ~WebRtcVideoSendStream(); |
255 | 256 |
256 void SetOptions(const VideoOptions& options); | 257 void SetOptions(const VideoOptions& options); |
257 void SetCodec(const VideoCodecSettings& codec); | 258 void SetCodec(const VideoCodecSettings& codec); |
258 void SetRtpExtensions( | 259 void SetRtpExtensions( |
259 const std::vector<webrtc::RtpExtension>& rtp_extensions); | 260 const std::vector<webrtc::RtpExtension>& rtp_extensions); |
| 261 // TODO(deadbeef): Move logic from SetCodec/SetRtpExtensions/etc. |
| 262 // into this method. Currently this method only sets the RTCP mode. |
| 263 void SetSendParameters(const VideoSendParameters& send_params); |
260 | 264 |
261 void InputFrame(VideoCapturer* capturer, const VideoFrame* frame); | 265 void InputFrame(VideoCapturer* capturer, const VideoFrame* frame); |
262 bool SetCapturer(VideoCapturer* capturer); | 266 bool SetCapturer(VideoCapturer* capturer); |
263 bool SetVideoFormat(const VideoFormat& format); | 267 bool SetVideoFormat(const VideoFormat& format); |
264 void MuteStream(bool mute); | 268 void MuteStream(bool mute); |
265 bool DisconnectCapturer(); | 269 bool DisconnectCapturer(); |
266 | 270 |
267 void SetApplyRotation(bool apply_rotation); | 271 void SetApplyRotation(bool apply_rotation); |
268 | 272 |
269 void Start(); | 273 void Start(); |
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
399 ~WebRtcVideoReceiveStream(); | 403 ~WebRtcVideoReceiveStream(); |
400 | 404 |
401 const std::vector<uint32_t>& GetSsrcs() const; | 405 const std::vector<uint32_t>& GetSsrcs() const; |
402 | 406 |
403 void SetLocalSsrc(uint32_t local_ssrc); | 407 void SetLocalSsrc(uint32_t local_ssrc); |
404 void SetFeedbackParameters(bool nack_enabled, | 408 void SetFeedbackParameters(bool nack_enabled, |
405 bool remb_enabled, | 409 bool remb_enabled, |
406 bool transport_cc_enabled); | 410 bool transport_cc_enabled); |
407 void SetRecvCodecs(const std::vector<VideoCodecSettings>& recv_codecs); | 411 void SetRecvCodecs(const std::vector<VideoCodecSettings>& recv_codecs); |
408 void SetRtpExtensions(const std::vector<webrtc::RtpExtension>& extensions); | 412 void SetRtpExtensions(const std::vector<webrtc::RtpExtension>& extensions); |
| 413 // TODO(deadbeef): Move logic from SetRecvCodecs/SetRtpExtensions/etc. |
| 414 // into this method. Currently this method only sets the RTCP mode. |
| 415 void SetRecvParameters(const VideoRecvParameters& recv_params); |
409 | 416 |
410 void RenderFrame(const webrtc::VideoFrame& frame, | 417 void RenderFrame(const webrtc::VideoFrame& frame, |
411 int time_to_render_ms) override; | 418 int time_to_render_ms) override; |
412 bool IsTextureSupported() const override; | 419 bool IsTextureSupported() const override; |
413 bool SmoothsRenderedFrames() const override; | 420 bool SmoothsRenderedFrames() const override; |
414 bool IsDefaultStream() const; | 421 bool IsDefaultStream() const; |
415 | 422 |
416 void SetRenderer(cricket::VideoRenderer* renderer); | 423 void SetRenderer(cricket::VideoRenderer* renderer); |
417 cricket::VideoRenderer* GetRenderer(); | 424 cricket::VideoRenderer* GetRenderer(); |
418 | 425 |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
519 | 526 |
520 rtc::Optional<VideoCodecSettings> send_codec_; | 527 rtc::Optional<VideoCodecSettings> send_codec_; |
521 std::vector<webrtc::RtpExtension> send_rtp_extensions_; | 528 std::vector<webrtc::RtpExtension> send_rtp_extensions_; |
522 | 529 |
523 WebRtcVideoEncoderFactory* const external_encoder_factory_; | 530 WebRtcVideoEncoderFactory* const external_encoder_factory_; |
524 WebRtcVideoDecoderFactory* const external_decoder_factory_; | 531 WebRtcVideoDecoderFactory* const external_decoder_factory_; |
525 std::vector<VideoCodecSettings> recv_codecs_; | 532 std::vector<VideoCodecSettings> recv_codecs_; |
526 std::vector<webrtc::RtpExtension> recv_rtp_extensions_; | 533 std::vector<webrtc::RtpExtension> recv_rtp_extensions_; |
527 webrtc::Call::Config::BitrateConfig bitrate_config_; | 534 webrtc::Call::Config::BitrateConfig bitrate_config_; |
528 VideoOptions options_; | 535 VideoOptions options_; |
| 536 // TODO(deadbeef): Don't duplicate information between |
| 537 // send_params/recv_params, rtp_extensions, options, etc. |
| 538 VideoSendParameters send_params_; |
| 539 VideoRecvParameters recv_params_; |
529 }; | 540 }; |
530 | 541 |
531 } // namespace cricket | 542 } // namespace cricket |
532 | 543 |
533 #endif // TALK_MEDIA_WEBRTC_WEBRTCVIDEOENGINE2_H_ | 544 #endif // TALK_MEDIA_WEBRTC_WEBRTCVIDEOENGINE2_H_ |
OLD | NEW |