When building the WebRTC project for iOS, the build will fail on Xcode 9
because of a missing framework-header (AVFoundation). This pull-request
will add the missing "#import <AVFoundation/AVFoundation.h>" line to the
"RTCCameraVideoCapturer" class.
BUG=webrtc:7846
Review-Url: https://codereview.webrtc.org/2944753002
Cr-Commit-Position: refs/heads/master@{#18698}
This reverts commit bd2220a9c496ef2e8567b68d4be9435a110bdc34.
Reason for revert: Broke external clients
Original change's description:
> Support more formats in RTCVideoFrame
>
> Implement Obj-C version of webrtc::VideoFrameBuffer and use that in
> RTCVideoFrame.
>
> Bug: webrtc:7785
> Change-Id: I49f42bcf451dd6769b3a79a65fe7b400dce22677
> Reviewed-on: https://chromium-review.googlesource.com/536773
> Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#18691}
TBR=magjed@webrtc.org,andersc@webrtc.org
Change-Id: Id765dd9543ed0613a6b2de108b268c3501025fcd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7785
Reviewed-on: https://chromium-review.googlesource.com/542837
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18697}
Implement Obj-C version of webrtc::VideoFrameBuffer and use that in
RTCVideoFrame.
Bug: webrtc:7785
Change-Id: I49f42bcf451dd6769b3a79a65fe7b400dce22677
Reviewed-on: https://chromium-review.googlesource.com/536773
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18691}
The implementation creates an Android hardware video decoder. It is built
around the same patterns as the HardwareVideoEncoderFactory.
This change pulls some shared code and constants into a common "utils" class.
Finally, adds an instrumentation test for the HardwareVideoDecoder.
BUG=webrtc:7760
Change-Id: Iea6eaae7727925743cb54f7c3153a6c07d62f55d
Reviewed-on: https://chromium-review.googlesource.com/536254
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18686}
I'm preparing adding support for Java VideoFrames in
AndroidVideoTrackSource. I split out small unrelated clean-ups into this
CL in order to make the big CL more focused.
Bug: webrtc:7749
Change-Id: Ib261ab8eb055898b39307d4e78935bf60d323820
Reviewed-on: https://chromium-review.googlesource.com/539638
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18660}
Timing information is gathered in EncodedImage,
starting at encoders. Then it's sent using RTP header extension. In the
end, it's gathered at the GenericDecoder. Actual reporting and tests
will be in the next CLs.
BUG=webrtc:7594
Review-Url: https://codereview.webrtc.org/2911193002
Cr-Commit-Position: refs/heads/master@{#18659}
This CL makes the WebRTC Java Wrapper more modular and allows the android
users to build WebRTC without audio and video(DataChannel only).
The BUILD file in sdk/android/ is modified to support modular WebRTC.
The peerconnection_jni.cc is split into peerconnection_jni.cc, video_jni.cc,
video_renderer_jni.cc and ownedfactoryandthreads.h/cc.
Add new modular build targets to JNI layer: audio_jni, video_jni,
null_audio_jni, null_video_jni. The users can link with different
targets to for different WebRTC functionalities.
This is split from CL: https://codereview.webrtc.org/2854123003/TBR=magjed@webrtc.org
BUG=webrtc:7613
Review-Url: https://codereview.webrtc.org/2939203002
Cr-Commit-Position: refs/heads/master@{#18647}
Adds the VideoEncoderFactory interface and implements it for use with HardwareVideoEncoder. This uses MediaCodecVideoEncoder's initialization code as an example.
BUG=webrtc:7760
Change-Id: I9fbc93ce9ac4ad866750a4386c4f15e800a3073e
Reviewed-on: https://chromium-review.googlesource.com/530063
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18636}
Guarded by field trial - similar to high profile encoder.
If high profile is requested, but device do not support it
then fallback to baseline profile.
BUG=b/34816463
Review-Url: https://codereview.webrtc.org/2936313002
Cr-Commit-Position: refs/heads/master@{#18619}
This CL makes the WebRTC more modular and allows the users to build
WebRTC without audio and video(DataChannel only).
The BUILD files in call/, logging/, media/ and pc/ are modified to
support modular WebRTC.
The dependencies on Call and RtcEventLog are removed from the
PeerConnection. Instead of being created internally, they would be
passed in by the PeerConnectionFactory.
Add the CreateModularPeerConnectionFactory function which allow the
users to create a PeerConnectionFactory with the modules they need.
If the users want to build WebRTC without audio and video, they can
pass in null pointers for modules they don't need. (MediaEngine,
VideoEncoderFactory etc.)
BUG=webrtc:7613
Review-Url: https://codereview.webrtc.org/2854123003
Cr-Commit-Position: refs/heads/master@{#18617}
This functionality is needed when sending C++ I420 buffers to Java
VideoSinks or Java encoders.
Bug: webrtc:7749
Change-Id: Ied783470b90b9d2e0cb5930795f35de4a296d499
Reviewed-on: https://chromium-review.googlesource.com/532961
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18597}
This field shouldn't have been in the class in the first place.
Bug: webrtc:7760
Change-Id: If3c1d24f18a643249da1ed072bdfe06a37a7da12
Reviewed-on: https://chromium-review.googlesource.com/535539
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18593}
I have updated downstream projects and now it is safe to remove this
header.
BUG=webrtc:7647
NOTRY=True
Review-Url: https://codereview.webrtc.org/2935933002
Cr-Commit-Position: refs/heads/master@{#18561}
Track UIApplication applicationState changes from a C++ class. Uses
NSNotificationCenter to access changes on the main thread and exposes
a local variable that can be checked from any thread.
This fixes a runtime warning on iOS 11 beta.
My Objective-C++ is a little rusty so please check if this follows
the conventions for C++ code in the project. It also changes the
interface exposed by RTCUIApplication.h, not sure if that has impact
on any public APIs that needs to be documented somewhere?
Bug: webrtc:7773
Change-Id: I9c8ba090ef9f28d812114026a906cef742192c39
Reviewed-on: https://chromium-review.googlesource.com/527442
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Kári Tristan Helgason <kthelgason@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18558}
This reverts commit b008b45f1e609556a04c1aabb4e8ed6a894265af.
Reason for revert: Breaks external clients.
Original change's description:
> Update webrtc/sdk/objc to new VideoFrameBuffer interface
>
> More thorough refactoring work is planned for RTCVideoFrame (see webrtc:7785), and this CL just unblocks removing the old interface from webrtc::VideoFrameBuffer.
>
> Bug: webrtc:7632,webrtc:7785
> Change-Id: I351536c5ca454c2acd8944bbc2ebb1d1439dc50c
> Reviewed-on: https://chromium-review.googlesource.com/530231
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#18553}
TBR=magjed@webrtc.org,andersc@webrtc.org
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7632,webrtc:7785
Change-Id: Ib5c6fcb939175c67c3ac7b3df7cea0f7c2bb0af0
Reviewed-on: https://chromium-review.googlesource.com/533013
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18557}
More thorough refactoring work is planned for RTCVideoFrame (see webrtc:7785), and this CL just unblocks removing the old interface from webrtc::VideoFrameBuffer.
Bug: webrtc:7632,webrtc:7785
Change-Id: I351536c5ca454c2acd8944bbc2ebb1d1439dc50c
Reviewed-on: https://chromium-review.googlesource.com/530231
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18553}
This is to make it possible to override the rtc_task_queue target only.
BUG=none
Review-Url: https://codereview.webrtc.org/2931273002
Cr-Commit-Position: refs/heads/master@{#18534}
This decoder is only used for iOS/Mac and it will simplify to make it
ObjC++ instead of C++, similar to how the encoder is .mm already.
Bug: None
Change-Id: I13f62f018432e9c23e7277eea29258a73e1590e1
Reviewed-on: https://chromium-review.googlesource.com/529084
Reviewed-by: Kári Tristan Helgason <kthelgason@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18513}
Make sure to call ensureGLContext before calling OpenGL functions
BUG=webrtc:7751
Review-Url: https://codereview.webrtc.org/2916583005
Cr-Commit-Position: refs/heads/master@{#18511}
This CL makes sure the real VideoTrackSourceInterface implementation is
destroyed on the signaling thread and marshals all method calls to the
signaling thread. This is done using VideoTrackSourceProxy.
Bug: webrtc:7767
Change-Id: Iba3b67bb32a684ba289bc8b9981585ea58084359
Reviewed-on: https://chromium-review.googlesource.com/526634
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18476}
These interfaces will be used by the future refactoring that will
allow clients to provide custom codec implementations.
Change-Id: If199bc2807e1c27094c05983c62fa43d2eec5700
Bug: webrtc:7760
Reviewed-on: https://chromium-review.googlesource.com/522065
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18441}
Color distortion also happens on Android L. Tested on the Mi 4.
BUG=webrtc:7681
Review-Url: https://codereview.webrtc.org/2894643003
Cr-Commit-Position: refs/heads/master@{#18423}
- Reads and dispatches buffers from a video file, along the lines of
camera capturer.
- Initial purpose of this class will be for testing.
BUG=webrtc:7581
Review-Url: https://codereview.webrtc.org/2887673002
Cr-Commit-Position: refs/heads/master@{#18412}
This new VideoFrame class closesly matches the C++ webrtc::VideoFrame
and webrtc::VideoFrameBuffer classes. It's supposed to replace the
existing VideoRenderer.I420Frame. The purpose is to clean up the code
and support more frame formats.
BUG=webrtc:7749
Review-Url: https://codereview.webrtc.org/2915083002
Cr-Commit-Position: refs/heads/master@{#18404}