diff options
author | perkj@chromium.org <perkj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-27 14:34:35 +0000 |
---|---|---|
committer | perkj@chromium.org <perkj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-27 14:34:35 +0000 |
commit | b091e33fe16dc65be9272d2f6fdd22e615a7c18f (patch) | |
tree | 92c3d13b4f177c69b07588979a8fc55eb9ca892d /content/content_renderer.gypi | |
parent | d037e17d98335a546b9dd6dea32206c1da9f16f7 (diff) | |
download | chromium_src-b091e33fe16dc65be9272d2f6fdd22e615a7c18f.zip chromium_src-b091e33fe16dc65be9272d2f6fdd22e615a7c18f.tar.gz chromium_src-b091e33fe16dc65be9272d2f6fdd22e615a7c18f.tar.bz2 |
Implement MediaStreamVideoSource using video capturerers in Chrome.
Releand from issue 144083002. R253401 was reverted due to a potential memory leak.
Original cl description:
This cl deprecates the use of the old RTCVideoCapturer that inherits cricket::VideoCapturer from libjingle and moves the constraints parsing of video resolution from libjingle to Chrome in MediaStreamVideoSource. Other, none standard, constraints such as CPU adaptation etc are still parsed in libjingle.
Note that we still rely on the libjingle video track implementation to forward frames from the source to all its sinks. WebRtcVideoCapturerAdapter is added that implements cricket::VideoCapturer and this is currently used to forward video frames from MediaStreamVideoSource to the libjingle MediaStreamVideoTracks.
Before this change a video frame was delivered to a PeerConnection via
RtcVideoCaptureDelegate-> RtcVideoCapturer(cricket::VideoCapturer>->WebRtcVideoEngineChannel(in libjingle)
After this change:
VideoCaptureDelegate->MediaStreamVideoSource->WebRtcVideoCaptureAdapter(cricket::VideoCapturer)->WebRtcVideoEngineChannel(in libjingle)
MediaStreamVideoSource is intended to be a generic source implementation that can be used for local video capture, remote video sources and Nacl. The reason to have constraints parsing in MediaStreamVideoSource is because we can then implement scaling/cropping etc for different tracks regardless of the source type. ie- it would be possible to crop video data from a remote video track if so is requested.
Adding tbr jam for gypi changes.
TBR=xians,jam
BUG=247937
Review URL: https://codereview.chromium.org/182173002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253814 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/content_renderer.gypi')
-rw-r--r-- | content/content_renderer.gypi | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/content/content_renderer.gypi b/content/content_renderer.gypi index 64d7a40..31dd286 100644 --- a/content/content_renderer.gypi +++ b/content/content_renderer.gypi @@ -616,8 +616,6 @@ 'renderer/media/media_stream_audio_sink_owner.cc', 'renderer/media/media_stream_audio_sink_owner.h', 'renderer/media/media_stream_audio_track_sink.h', - 'renderer/media/media_stream_video_track.cc', - 'renderer/media/media_stream_video_track.h', 'renderer/media/media_stream_center.cc', 'renderer/media/media_stream_dependency_factory.cc', 'renderer/media/media_stream_dispatcher.cc', @@ -631,6 +629,8 @@ 'renderer/media/media_stream_video_capturer_source.h', 'renderer/media/media_stream_video_source.cc', 'renderer/media/media_stream_video_source.h', + 'renderer/media/media_stream_video_track.cc', + 'renderer/media/media_stream_video_track.h', 'renderer/media/native_handle_impl.cc', 'renderer/media/native_handle_impl.h', 'renderer/media/peer_connection_audio_sink_owner.cc', @@ -651,10 +651,6 @@ 'renderer/media/rtc_media_constraints.h', 'renderer/media/rtc_peer_connection_handler.cc', 'renderer/media/rtc_peer_connection_handler.h', - 'renderer/media/rtc_video_capture_delegate.cc', - 'renderer/media/rtc_video_capture_delegate.h', - 'renderer/media/rtc_video_capturer.cc', - 'renderer/media/rtc_video_capturer.h', 'renderer/media/rtc_video_decoder.cc', 'renderer/media/rtc_video_decoder.h', 'renderer/media/rtc_video_decoder_factory.cc', @@ -697,6 +693,8 @@ 'renderer/media/webrtc_logging.h', 'renderer/media/webrtc_uma_histograms.cc', 'renderer/media/webrtc_uma_histograms.h', + 'renderer/media/webrtc/webrtc_video_capturer_adapter.cc', + 'renderer/media/webrtc/webrtc_video_capturer_adapter.h', 'renderer/p2p/host_address_request.cc', 'renderer/p2p/host_address_request.h', 'renderer/p2p/ipc_network_manager.cc', |