Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(705)

Side by Side Diff: talk/media/webrtc/webrtcvideoengine2.h

Issue 1646463002: Revert of New rtc::VideoSinkInterface. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « talk/media/base/videorenderer.h ('k') | talk/media/webrtc/webrtcvideoengine2.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 22 matching lines...) Expand all
33 #include <vector> 33 #include <vector>
34 34
35 #include "talk/media/base/mediaengine.h" 35 #include "talk/media/base/mediaengine.h"
36 #include "talk/media/webrtc/webrtcvideochannelfactory.h" 36 #include "talk/media/webrtc/webrtcvideochannelfactory.h"
37 #include "talk/media/webrtc/webrtcvideodecoderfactory.h" 37 #include "talk/media/webrtc/webrtcvideodecoderfactory.h"
38 #include "talk/media/webrtc/webrtcvideoencoderfactory.h" 38 #include "talk/media/webrtc/webrtcvideoencoderfactory.h"
39 #include "webrtc/base/criticalsection.h" 39 #include "webrtc/base/criticalsection.h"
40 #include "webrtc/base/scoped_ptr.h" 40 #include "webrtc/base/scoped_ptr.h"
41 #include "webrtc/base/thread_annotations.h" 41 #include "webrtc/base/thread_annotations.h"
42 #include "webrtc/base/thread_checker.h" 42 #include "webrtc/base/thread_checker.h"
43 #include "webrtc/media/base/videosinkinterface.h"
44 #include "webrtc/call.h" 43 #include "webrtc/call.h"
45 #include "webrtc/transport.h" 44 #include "webrtc/transport.h"
46 #include "webrtc/video_frame.h" 45 #include "webrtc/video_frame.h"
47 #include "webrtc/video_receive_stream.h" 46 #include "webrtc/video_receive_stream.h"
48 #include "webrtc/video_renderer.h" 47 #include "webrtc/video_renderer.h"
49 #include "webrtc/video_send_stream.h" 48 #include "webrtc/video_send_stream.h"
50 49
51 namespace webrtc { 50 namespace webrtc {
52 class VideoDecoder; 51 class VideoDecoder;
53 class VideoEncoder; 52 class VideoEncoder;
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after
408 // TODO(deadbeef): Move logic from SetRecvCodecs/SetRtpExtensions/etc. 407 // TODO(deadbeef): Move logic from SetRecvCodecs/SetRtpExtensions/etc.
409 // into this method. Currently this method only sets the RTCP mode. 408 // into this method. Currently this method only sets the RTCP mode.
410 void SetRecvParameters(const VideoRecvParameters& recv_params); 409 void SetRecvParameters(const VideoRecvParameters& recv_params);
411 410
412 void RenderFrame(const webrtc::VideoFrame& frame, 411 void RenderFrame(const webrtc::VideoFrame& frame,
413 int time_to_render_ms) override; 412 int time_to_render_ms) override;
414 bool IsTextureSupported() const override; 413 bool IsTextureSupported() const override;
415 bool SmoothsRenderedFrames() const override; 414 bool SmoothsRenderedFrames() const override;
416 bool IsDefaultStream() const; 415 bool IsDefaultStream() const;
417 416
418 void SetSink(rtc::VideoSinkInterface<cricket::VideoFrame>* sink); 417 void SetRenderer(cricket::VideoRenderer* renderer);
419 418
420 VideoReceiverInfo GetVideoReceiverInfo(); 419 VideoReceiverInfo GetVideoReceiverInfo();
421 420
422 private: 421 private:
423 struct AllocatedDecoder { 422 struct AllocatedDecoder {
424 AllocatedDecoder(webrtc::VideoDecoder* decoder, 423 AllocatedDecoder(webrtc::VideoDecoder* decoder,
425 webrtc::VideoCodecType type, 424 webrtc::VideoCodecType type,
426 bool external); 425 bool external);
427 webrtc::VideoDecoder* decoder; 426 webrtc::VideoDecoder* decoder;
428 // Decoder wrapped into a fallback decoder to permit software fallback. 427 // Decoder wrapped into a fallback decoder to permit software fallback.
(...skipping 17 matching lines...) Expand all
446 445
447 webrtc::VideoReceiveStream* stream_; 446 webrtc::VideoReceiveStream* stream_;
448 const bool default_stream_; 447 const bool default_stream_;
449 webrtc::VideoReceiveStream::Config config_; 448 webrtc::VideoReceiveStream::Config config_;
450 449
451 WebRtcVideoDecoderFactory* const external_decoder_factory_; 450 WebRtcVideoDecoderFactory* const external_decoder_factory_;
452 std::vector<AllocatedDecoder> allocated_decoders_; 451 std::vector<AllocatedDecoder> allocated_decoders_;
453 452
454 const bool disable_prerenderer_smoothing_; 453 const bool disable_prerenderer_smoothing_;
455 454
456 rtc::CriticalSection sink_lock_; 455 rtc::CriticalSection renderer_lock_;
457 rtc::VideoSinkInterface<cricket::VideoFrame>* sink_ GUARDED_BY(sink_lock_); 456 cricket::VideoRenderer* renderer_ GUARDED_BY(renderer_lock_);
458 int last_width_ GUARDED_BY(sink_lock_); 457 int last_width_ GUARDED_BY(renderer_lock_);
459 int last_height_ GUARDED_BY(sink_lock_); 458 int last_height_ GUARDED_BY(renderer_lock_);
460 // Expands remote RTP timestamps to int64_t to be able to estimate how long 459 // Expands remote RTP timestamps to int64_t to be able to estimate how long
461 // the stream has been running. 460 // the stream has been running.
462 rtc::TimestampWrapAroundHandler timestamp_wraparound_handler_ 461 rtc::TimestampWrapAroundHandler timestamp_wraparound_handler_
463 GUARDED_BY(sink_lock_); 462 GUARDED_BY(renderer_lock_);
464 int64_t first_frame_timestamp_ GUARDED_BY(sink_lock_); 463 int64_t first_frame_timestamp_ GUARDED_BY(renderer_lock_);
465 // Start NTP time is estimated as current remote NTP time (estimated from 464 // Start NTP time is estimated as current remote NTP time (estimated from
466 // RTCP) minus the elapsed time, as soon as remote NTP time is available. 465 // RTCP) minus the elapsed time, as soon as remote NTP time is available.
467 int64_t estimated_remote_start_ntp_time_ms_ GUARDED_BY(sink_lock_); 466 int64_t estimated_remote_start_ntp_time_ms_ GUARDED_BY(renderer_lock_);
468 }; 467 };
469 468
470 void Construct(webrtc::Call* call, WebRtcVideoEngine2* engine); 469 void Construct(webrtc::Call* call, WebRtcVideoEngine2* engine);
471 void SetDefaultOptions(); 470 void SetDefaultOptions();
472 471
473 bool SendRtp(const uint8_t* data, 472 bool SendRtp(const uint8_t* data,
474 size_t len, 473 size_t len,
475 const webrtc::PacketOptions& options) override; 474 const webrtc::PacketOptions& options) override;
476 bool SendRtcp(const uint8_t* data, size_t len) override; 475 bool SendRtcp(const uint8_t* data, size_t len) override;
477 476
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
528 VideoOptions options_; 527 VideoOptions options_;
529 // TODO(deadbeef): Don't duplicate information between 528 // TODO(deadbeef): Don't duplicate information between
530 // send_params/recv_params, rtp_extensions, options, etc. 529 // send_params/recv_params, rtp_extensions, options, etc.
531 VideoSendParameters send_params_; 530 VideoSendParameters send_params_;
532 VideoRecvParameters recv_params_; 531 VideoRecvParameters recv_params_;
533 }; 532 };
534 533
535 } // namespace cricket 534 } // namespace cricket
536 535
537 #endif // TALK_MEDIA_WEBRTC_WEBRTCVIDEOENGINE2_H_ 536 #endif // TALK_MEDIA_WEBRTC_WEBRTCVIDEOENGINE2_H_
OLDNEW
« no previous file with comments | « talk/media/base/videorenderer.h ('k') | talk/media/webrtc/webrtcvideoengine2.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698