Commit Graph

157 Commits

Author SHA1 Message Date
bc061b4280 Create AndroidVideoBuffer and allow renderers to consume it.
Bug: webrtc:7760
Change-Id: I3e3fddf48090ae27b226c65ddbb51f2c3d8dc544
Reviewed-on: https://chromium-review.googlesource.com/535638
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18624}
2017-06-16 08:31:37 +00:00
3fc2350ef9 Support H.264 high profile encoding on Exynos devices.
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}
2017-06-15 23:24:37 +00:00
38ede13042 Support building WebRTC without audio and video.
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}
2017-06-15 19:52:32 +00:00
62faaabce9 Android: Add functionality for wrapping C++ I420 buffers to Java
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}
2017-06-14 17:37:15 +00:00
26ecfcc1c1 Remove timeStampMs from EncodedImage.
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}
2017-06-14 14:23:46 +00:00
5c4eebb62b Implement org.webrtc.VideoEncoder using the android MediaCodec.
BUG=webrtc:7760

Change-Id: I22134fe616d5c5b77148c80f01f1ea1119ae786c
Reviewed-on: https://chromium-review.googlesource.com/526074
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18573}
2017-06-13 16:07:29 +00:00
c276ecf5c4 Update Android video buffers to new VideoFrameBuffer interface
This is a follow-up cleanup for CL
https://codereview.webrtc.org/2847383002/.

Bug: webrtc:7632
Change-Id: I1e17358c70a12c75e8732fee5bbab6a552c4e6c3
Reviewed-on: https://chromium-review.googlesource.com/524063
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18532}
2017-06-12 09:29:52 +00:00
1e15a994ac MediaCodecVideoEncoder: Add QP stats to Encoded callback for VP9 and turn on quality scaling.
Add default QP scaling thresholds for VP9.

BUG=webrtc:7662

Review-Url: https://codereview.webrtc.org/2914363002
Cr-Commit-Position: refs/heads/master@{#18469}
2017-06-07 11:09:45 +00:00
58c742ce7d Call VideoCapturer.initialize directly from Java.
Passing the call through JNI is unnecessary.

Bug: webrtc:7730
Change-Id: Icf1ecd7e2ea54033342120311c70d47b4a4f7c9a
Reviewed-on: https://chromium-review.googlesource.com/521050
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18408}
2017-06-02 11:27:36 +00:00
3afb899655 Remove passing Android context to NetworkMonitor.
Instead NetworkMonitor calls ContextUtils.getApplicationContext when needed.

Bug: webrtc:7730
Change-Id: I312781da4222f7107ea1bf57099f17709fec2385
Reviewed-on: https://chromium-review.googlesource.com/517792
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18382}
2017-06-01 13:29:01 +00:00
d7fdb8014d Reland of Removes usage of native base::android::GetApplicationContext()
The change is now compatible with the old JVM::Initialize API. The
context is passed to the ContextUtils class when calling its deprecated
signature.

BUG=webrtc:7665
NOTRY=True # Only comment changes since the last patchset.

Review-Url: https://codereview.webrtc.org/2903253004
Cr-Commit-Position: refs/heads/master@{#18268}
2017-05-26 08:51:53 +00:00
548cdce7bc Revert of https://codereview.webrtc.org/2889183002/
And also revert https://codereview.webrtc.org/2888093005/ (Chromium roll) which has a dependency on 2889183002

BUG=webrtc:7707

Review-Url: https://codereview.webrtc.org/2897423002
Cr-Commit-Position: refs/heads/master@{#18263}
2017-05-24 23:45:57 +00:00
7855fff5bf Reland of moves usage of native base::android::GetApplicationContext() (patchset #1 id:1 of https://codereview.webrtc.org/2894593002/ )
Reason for revert:
Fix issue.

Original issue's description:
> Revert of Removes usage of native base::android::GetApplicationContext() (patchset #6 id:120001 of https://codereview.webrtc.org/2888093004/ )
>
> Reason for revert:
> Breaks bot on chromium.webrtc.fyi.
>
> Original issue's description:
> > Removes usage of native base::android::GetApplicationContext()
> >
> > BUG=webrtc:7665
> >
> > Review-Url: https://codereview.webrtc.org/2888093004
> > Cr-Commit-Position: refs/heads/master@{#18195}
> > Committed: bc83e2ee69
>
> TBR=magjed@webrtc.org,henrika@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7665
>
> Review-Url: https://codereview.webrtc.org/2894593002
> Cr-Commit-Position: refs/heads/master@{#18196}
> Committed: 40d224814a

BUG=webrtc:7665

Review-Url: https://codereview.webrtc.org/2889183002
Cr-Commit-Position: refs/heads/master@{#18235}
2017-05-23 14:34:17 +00:00
119c407848 Fixing memory leak of generated session descriptions on Android.
SessionDescriptionObserver::OnSuccess takes ownership of the
description, but it doesn't use a unique_ptr, so the JNI code was
neglecting to delete it.

BUG=webrtc:7680

Review-Url: https://codereview.webrtc.org/2886263003
Cr-Commit-Position: refs/heads/master@{#18200}
2017-05-18 15:45:59 +00:00
40d224814a Revert of Removes usage of native base::android::GetApplicationContext() (patchset #6 id:120001 of https://codereview.webrtc.org/2888093004/ )
Reason for revert:
Breaks bot on chromium.webrtc.fyi.

Original issue's description:
> Removes usage of native base::android::GetApplicationContext()
>
> BUG=webrtc:7665
>
> Review-Url: https://codereview.webrtc.org/2888093004
> Cr-Commit-Position: refs/heads/master@{#18195}
> Committed: bc83e2ee69

TBR=magjed@webrtc.org,henrika@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7665

Review-Url: https://codereview.webrtc.org/2894593002
Cr-Commit-Position: refs/heads/master@{#18196}
2017-05-18 13:44:20 +00:00
bc83e2ee69 Removes usage of native base::android::GetApplicationContext()
BUG=webrtc:7665

Review-Url: https://codereview.webrtc.org/2888093004
Cr-Commit-Position: refs/heads/master@{#18195}
2017-05-18 13:28:45 +00:00
c1a8974ebd WebRtcVideoEncoderFactory cleanup
Remove some deprecated functions.

BUG=webrtc:6402

Review-Url: https://codereview.webrtc.org/2859223003
Cr-Commit-Position: refs/heads/master@{#18116}
2017-05-12 07:24:40 +00:00
f93752a2ee Reland of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2853383005/ )
Reason for revert:
Downstream projects have been fixed.

Original issue's description:
> Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2854873003/ )
>
> Reason for revert:
> More downstream breakage discovered.
>
> Original issue's description:
> > Reland of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2854883002/ )
> >
> > Reason for revert:
> > Will make another attempt to track down and fix downstream projects.
> >
> > Original issue's description:
> > > Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2852303002/ )
> > >
> > > Reason for revert:
> > > Unfortunately, more downstream updates needed.
> > >
> > > Original issue's description:
> > > > Reland of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2845333002/ )
> > > >
> > > > Reason for revert:
> > > > Downstream projects being updated.
> > > >
> > > > For Chrome, relanding depends on cl
> > > > https://codereview.chromium.org/2855783003/
> > > >
> > > > Original issue's description:
> > > > > Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #17 id:320001 of https://codereview.webrtc.org/2622263002/ )
> > > > >
> > > > > Reason for revert:
> > > > > Broke Chrome build, see, e.g.,
> > > > > http://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/16237
> > > > >
> > > > > Original issue's description:
> > > > > > Delete deprecated and transitional stuff related to video frame refactoring.
> > > > > >
> > > > > > BUG=webrtc:5880
> > > > > >
> > > > > > Review-Url: https://codereview.webrtc.org/2622263002
> > > > > > Cr-Commit-Position: refs/heads/master@{#17928}
> > > > > > Committed: 713a3bbcc7
> > > > >
> > > > > TBR=mflodman@webrtc.org,perkj@webrtc.org
> > > > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > > > NOPRESUBMIT=true
> > > > > NOTREECHECKS=true
> > > > > NOTRY=true
> > > > > BUG=webrtc:5880
> > > > >
> > > > > Review-Url: https://codereview.webrtc.org/2845333002
> > > > > Cr-Commit-Position: refs/heads/master@{#17929}
> > > > > Committed: aec49d2b49
> > > >
> > > > TBR=mflodman@webrtc.org,perkj@webrtc.org
> > > > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > > > BUG=webrtc:5880
> > > >
> > > > Review-Url: https://codereview.webrtc.org/2852303002
> > > > Cr-Commit-Position: refs/heads/master@{#17974}
> > > > Committed: d71ebd70f6
> > >
> > > TBR=mflodman@webrtc.org,perkj@webrtc.org
> > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > NOPRESUBMIT=true
> > > NOTREECHECKS=true
> > > NOTRY=true
> > > BUG=webrtc:5880
> > >
> > > Review-Url: https://codereview.webrtc.org/2854883002
> > > Cr-Commit-Position: refs/heads/master@{#17978}
> > > Committed: 6e6a485a02
> >
> > TBR=mflodman@webrtc.org,perkj@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> >
> > BUG=webrtc:5880
> >
> > Review-Url: https://codereview.webrtc.org/2854873003
> > Cr-Commit-Position: refs/heads/master@{#18006}
> > Committed: 3870a071c4
>
> TBR=mflodman@webrtc.org,perkj@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5880
>
> Review-Url: https://codereview.webrtc.org/2853383005
> Cr-Commit-Position: refs/heads/master@{#18008}
> Committed: 61b22dde13

TBR=mflodman@webrtc.org,perkj@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5880

Review-Url: https://codereview.webrtc.org/2867703002
Cr-Commit-Position: refs/heads/master@{#18081}
2017-05-10 12:25:59 +00:00
bac4c8013f Add support for media recorders in Camera1Capturer.
BUG=b/36684011

Review-Url: https://codereview.webrtc.org/2861893003
Cr-Commit-Position: refs/heads/master@{#18024}
2017-05-05 08:48:48 +00:00
61b22dde13 Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2854873003/ )
Reason for revert:
More downstream breakage discovered.

Original issue's description:
> Reland of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2854883002/ )
>
> Reason for revert:
> Will make another attempt to track down and fix downstream projects.
>
> Original issue's description:
> > Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2852303002/ )
> >
> > Reason for revert:
> > Unfortunately, more downstream updates needed.
> >
> > Original issue's description:
> > > Reland of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2845333002/ )
> > >
> > > Reason for revert:
> > > Downstream projects being updated.
> > >
> > > For Chrome, relanding depends on cl
> > > https://codereview.chromium.org/2855783003/
> > >
> > > Original issue's description:
> > > > Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #17 id:320001 of https://codereview.webrtc.org/2622263002/ )
> > > >
> > > > Reason for revert:
> > > > Broke Chrome build, see, e.g.,
> > > > http://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/16237
> > > >
> > > > Original issue's description:
> > > > > Delete deprecated and transitional stuff related to video frame refactoring.
> > > > >
> > > > > BUG=webrtc:5880
> > > > >
> > > > > Review-Url: https://codereview.webrtc.org/2622263002
> > > > > Cr-Commit-Position: refs/heads/master@{#17928}
> > > > > Committed: 713a3bbcc7
> > > >
> > > > TBR=mflodman@webrtc.org,perkj@webrtc.org
> > > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > > NOPRESUBMIT=true
> > > > NOTREECHECKS=true
> > > > NOTRY=true
> > > > BUG=webrtc:5880
> > > >
> > > > Review-Url: https://codereview.webrtc.org/2845333002
> > > > Cr-Commit-Position: refs/heads/master@{#17929}
> > > > Committed: aec49d2b49
> > >
> > > TBR=mflodman@webrtc.org,perkj@webrtc.org
> > > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > > BUG=webrtc:5880
> > >
> > > Review-Url: https://codereview.webrtc.org/2852303002
> > > Cr-Commit-Position: refs/heads/master@{#17974}
> > > Committed: d71ebd70f6
> >
> > TBR=mflodman@webrtc.org,perkj@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:5880
> >
> > Review-Url: https://codereview.webrtc.org/2854883002
> > Cr-Commit-Position: refs/heads/master@{#17978}
> > Committed: 6e6a485a02
>
> TBR=mflodman@webrtc.org,perkj@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
>
> BUG=webrtc:5880
>
> Review-Url: https://codereview.webrtc.org/2854873003
> Cr-Commit-Position: refs/heads/master@{#18006}
> Committed: 3870a071c4

TBR=mflodman@webrtc.org,perkj@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5880

Review-Url: https://codereview.webrtc.org/2853383005
Cr-Commit-Position: refs/heads/master@{#18008}
2017-05-04 09:11:12 +00:00
3870a071c4 Reland of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2854883002/ )
Reason for revert:
Will make another attempt to track down and fix downstream projects.

Original issue's description:
> Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2852303002/ )
>
> Reason for revert:
> Unfortunately, more downstream updates needed.
>
> Original issue's description:
> > Reland of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2845333002/ )
> >
> > Reason for revert:
> > Downstream projects being updated.
> >
> > For Chrome, relanding depends on cl
> > https://codereview.chromium.org/2855783003/
> >
> > Original issue's description:
> > > Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #17 id:320001 of https://codereview.webrtc.org/2622263002/ )
> > >
> > > Reason for revert:
> > > Broke Chrome build, see, e.g.,
> > > http://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/16237
> > >
> > > Original issue's description:
> > > > Delete deprecated and transitional stuff related to video frame refactoring.
> > > >
> > > > BUG=webrtc:5880
> > > >
> > > > Review-Url: https://codereview.webrtc.org/2622263002
> > > > Cr-Commit-Position: refs/heads/master@{#17928}
> > > > Committed: 713a3bbcc7
> > >
> > > TBR=mflodman@webrtc.org,perkj@webrtc.org
> > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > NOPRESUBMIT=true
> > > NOTREECHECKS=true
> > > NOTRY=true
> > > BUG=webrtc:5880
> > >
> > > Review-Url: https://codereview.webrtc.org/2845333002
> > > Cr-Commit-Position: refs/heads/master@{#17929}
> > > Committed: aec49d2b49
> >
> > TBR=mflodman@webrtc.org,perkj@webrtc.org
> > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > BUG=webrtc:5880
> >
> > Review-Url: https://codereview.webrtc.org/2852303002
> > Cr-Commit-Position: refs/heads/master@{#17974}
> > Committed: d71ebd70f6
>
> TBR=mflodman@webrtc.org,perkj@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5880
>
> Review-Url: https://codereview.webrtc.org/2854883002
> Cr-Commit-Position: refs/heads/master@{#17978}
> Committed: 6e6a485a02

TBR=mflodman@webrtc.org,perkj@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true

BUG=webrtc:5880

Review-Url: https://codereview.webrtc.org/2854873003
Cr-Commit-Position: refs/heads/master@{#18006}
2017-05-04 08:03:41 +00:00
080830c513 Don't re-randomize picture_id/tl0_pic_idx when re-initializing internal encoders.
TESTED=video_loopback and AppRTCMobile with forced encoder reinits every 30 frames.
BUG=webrtc:7475

Review-Url: https://codereview.webrtc.org/2833493003
Cr-Commit-Position: refs/heads/master@{#17984}
2017-05-03 10:25:53 +00:00
6e6a485a02 Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2852303002/ )
Reason for revert:
Unfortunately, more downstream updates needed.

Original issue's description:
> Reland of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2845333002/ )
>
> Reason for revert:
> Downstream projects being updated.
>
> For Chrome, relanding depends on cl
> https://codereview.chromium.org/2855783003/
>
> Original issue's description:
> > Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #17 id:320001 of https://codereview.webrtc.org/2622263002/ )
> >
> > Reason for revert:
> > Broke Chrome build, see, e.g.,
> > http://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/16237
> >
> > Original issue's description:
> > > Delete deprecated and transitional stuff related to video frame refactoring.
> > >
> > > BUG=webrtc:5880
> > >
> > > Review-Url: https://codereview.webrtc.org/2622263002
> > > Cr-Commit-Position: refs/heads/master@{#17928}
> > > Committed: 713a3bbcc7
> >
> > TBR=mflodman@webrtc.org,perkj@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:5880
> >
> > Review-Url: https://codereview.webrtc.org/2845333002
> > Cr-Commit-Position: refs/heads/master@{#17929}
> > Committed: aec49d2b49
>
> TBR=mflodman@webrtc.org,perkj@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:5880
>
> Review-Url: https://codereview.webrtc.org/2852303002
> Cr-Commit-Position: refs/heads/master@{#17974}
> Committed: d71ebd70f6

TBR=mflodman@webrtc.org,perkj@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5880

Review-Url: https://codereview.webrtc.org/2854883002
Cr-Commit-Position: refs/heads/master@{#17978}
2017-05-02 13:56:07 +00:00
d71ebd70f6 Reland of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2845333002/ )
Reason for revert:
Downstream projects being updated.

For Chrome, relanding depends on cl
https://codereview.chromium.org/2855783003/

Original issue's description:
> Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #17 id:320001 of https://codereview.webrtc.org/2622263002/ )
>
> Reason for revert:
> Broke Chrome build, see, e.g.,
> http://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/16237
>
> Original issue's description:
> > Delete deprecated and transitional stuff related to video frame refactoring.
> >
> > BUG=webrtc:5880
> >
> > Review-Url: https://codereview.webrtc.org/2622263002
> > Cr-Commit-Position: refs/heads/master@{#17928}
> > Committed: 713a3bbcc7
>
> TBR=mflodman@webrtc.org,perkj@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5880
>
> Review-Url: https://codereview.webrtc.org/2845333002
> Cr-Commit-Position: refs/heads/master@{#17929}
> Committed: aec49d2b49

TBR=mflodman@webrtc.org,perkj@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5880

Review-Url: https://codereview.webrtc.org/2852303002
Cr-Commit-Position: refs/heads/master@{#17974}
2017-05-02 13:13:44 +00:00
aec49d2b49 Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #17 id:320001 of https://codereview.webrtc.org/2622263002/ )
Reason for revert:
Broke Chrome build, see, e.g.,
http://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/16237

Original issue's description:
> Delete deprecated and transitional stuff related to video frame refactoring.
>
> BUG=webrtc:5880
>
> Review-Url: https://codereview.webrtc.org/2622263002
> Cr-Commit-Position: refs/heads/master@{#17928}
> Committed: 713a3bbcc7

TBR=mflodman@webrtc.org,perkj@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5880

Review-Url: https://codereview.webrtc.org/2845333002
Cr-Commit-Position: refs/heads/master@{#17929}
2017-04-28 13:03:40 +00:00
713a3bbcc7 Delete deprecated and transitional stuff related to video frame refactoring.
BUG=webrtc:5880

Review-Url: https://codereview.webrtc.org/2622263002
Cr-Commit-Position: refs/heads/master@{#17928}
2017-04-28 12:43:20 +00:00
37adc5e81e Reland of Support adding and removing MediaRecorder to camera 2 session. (patchset #1 id:1 of https://codereview.webrtc.org/2844233002/ )
Reason for revert:
Revert "Revert of Support adding and removing MediaRecorder to camera 2 session. (patchset #5 id:80001 of https://codereview.webrtc.org/2833773003/ )"

Will fix external bots by cherry picking this CL and updating external functions which depend on CameraVideoCapturer interface

Original issue's description:
> Revert of Support adding and removing MediaRecorder to camera 2 session. (patchset #5 id:80001 of https://codereview.webrtc.org/2833773003/ )
>
> Reason for revert:
> Breaks external bot
>
> Original issue's description:
> > Support adding and removing MediaRecorder to camera 2 session.
> >
> > Camera 1 API is not supported.
> >
> > BUG=b/36684011
> >
> > Review-Url: https://codereview.webrtc.org/2833773003
> > Cr-Commit-Position: refs/heads/master@{#17901}
> > Committed: 2fc04769fa
>
> TBR=sakal@webrtc.org,glaznev@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=b/36684011
>
> Review-Url: https://codereview.webrtc.org/2844233002
> Cr-Commit-Position: refs/heads/master@{#17905}
> Committed: 6702739862

TBR=sakal@webrtc.org,magjed@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=b/36684011

Review-Url: https://codereview.webrtc.org/2844393002
Cr-Commit-Position: refs/heads/master@{#17915}
2017-04-27 20:38:29 +00:00
6702739862 Revert of Support adding and removing MediaRecorder to camera 2 session. (patchset #5 id:80001 of https://codereview.webrtc.org/2833773003/ )
Reason for revert:
Breaks external bot

Original issue's description:
> Support adding and removing MediaRecorder to camera 2 session.
>
> Camera 1 API is not supported.
>
> BUG=b/36684011
>
> Review-Url: https://codereview.webrtc.org/2833773003
> Cr-Commit-Position: refs/heads/master@{#17901}
> Committed: 2fc04769fa

TBR=sakal@webrtc.org,glaznev@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=b/36684011

Review-Url: https://codereview.webrtc.org/2844233002
Cr-Commit-Position: refs/heads/master@{#17905}
2017-04-27 09:34:20 +00:00
2fc04769fa Support adding and removing MediaRecorder to camera 2 session.
Camera 1 API is not supported.

BUG=b/36684011

Review-Url: https://codereview.webrtc.org/2833773003
Cr-Commit-Position: refs/heads/master@{#17901}
2017-04-27 08:12:55 +00:00
82de179f7d Android: Move EglBase10/EglBase14 from to API to src
BUG=webrtc:7172

Review-Url: https://codereview.webrtc.org/2831603002
Cr-Commit-Position: refs/heads/master@{#17864}
2017-04-25 12:32:07 +00:00
1e060c6b0c Enabling 'gn check' on webrtc/sdk
BUG=webrtc:7499

Review-Url: https://codereview.webrtc.org/2818433003
Cr-Commit-Position: refs/heads/master@{#17805}
2017-04-21 07:02:02 +00:00
d5c77abbaa Revert of Android: Move CameraStatistics from API to src (patchset #1 id:1 of https://codereview.webrtc.org/2821373003/ )
Reason for revert:
Breaks external clients.

Original issue's description:
> Android: Move CameraStatistics from API to src
>
> BUG=webrtc:7172
>
> Review-Url: https://codereview.webrtc.org/2821373003
> Cr-Commit-Position: refs/heads/master@{#17765}
> Committed: 800daef50a

TBR=sakal@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7172

Review-Url: https://codereview.webrtc.org/2825383002
Cr-Commit-Position: refs/heads/master@{#17767}
2017-04-19 15:45:45 +00:00
800daef50a Android: Move CameraStatistics from API to src
BUG=webrtc:7172

Review-Url: https://codereview.webrtc.org/2821373003
Cr-Commit-Position: refs/heads/master@{#17765}
2017-04-19 14:51:34 +00:00
82215872f8 Add Java binding for new getStats implementation.
Very similar to the current interface, but matches the new C++ structure, and
exposes the stats values as Objects which can be downcast to more specific
types (where the previous API only exposed the values as strings).

BUG=webrtc:6871

Review-Url: https://codereview.webrtc.org/2807933003
Cr-Commit-Position: refs/heads/master@{#17746}
2017-04-18 17:27:51 +00:00
27c6e5a1c7 Fix poor seed for Android HW encoder picture ID randomization.
Use ms instead of sec similat to SW codec.

BUG=b/36745379

Review-Url: https://codereview.webrtc.org/2818793002
Cr-Commit-Position: refs/heads/master@{#17700}
2017-04-13 19:25:56 +00:00
dax
9d65f39d52 Added support for changing the volume of AudioTrack as discussed in BUG=webrtc:6533
This is a short term solution to change the volume of an AudioTrack until applyConstraints for MediaStreamTracks has been implemented.

This CL adds 1 new Java method & the relevant JNI file update:

AudioTrack.java:

public void setVolume(double volume);

BUG=webrtc:6533

Review-Url: https://codereview.webrtc.org/2710683009
Cr-Commit-Position: refs/heads/master@{#17682}
2017-04-12 23:58:48 +00:00
00d802b6ee Reland of Add content type information to encoded images and corresponding rtp extension header (patchset #1 id:1 of https://codereview.webrtc.org/2809653004/ )
Reason for revert:
Fix failing bots.

BUG=webrtc:7420

Review-Url: https://codereview.webrtc.org/2816493002
Cr-Commit-Position: refs/heads/master@{#17658}
2017-04-11 17:34:31 +00:00
27c46e2872 Revert of Add content type information to encoded images and corresponding rtp extension header (patchset #4 id:400001 of https://codereview.webrtc.org/2812913002/ )
Reason for revert:
Breaks android buildbots.

Original issue's description:
> Reland of Add content type information to encoded images and corresponding rtp extension header (patchset #1 id:1 of https://codereview.webrtc.org/2816463002/ )
>
> Reason for revert:
> Reland with appropriate changes to API to not break depending projects.
>
> Original issue's description:
> > Revert of Add content type information to encoded images and corresponding rtp extension header (patchset #31 id:600001 of https://codereview.webrtc.org/2772033002/ )
> >
> > Reason for revert:
> > Breaks dependent projects.
> >
> > Original issue's description:
> > > Add content type information to Encoded Images and add corresponding RTP extension header.
> > > Use it to separate UMA e2e delay metric between screenshare from video.
> > > Content type extension is set based on encoder settings and processed and decoders.
> > >
> > > Also,
> > > Fix full-stack-tests to calculate RTT correctly, so new metric could be tested.
> > >
> > > BUG=webrtc:7420
> > >
> > > Review-Url: https://codereview.webrtc.org/2772033002
> > > Cr-Commit-Position: refs/heads/master@{#17640}
> > > Committed: 64e739aeae
> >
> > TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:7420
> >
> > Review-Url: https://codereview.webrtc.org/2816463002
> > Cr-Commit-Position: refs/heads/master@{#17644}
> > Committed: 5721866808
>
> TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7420
>
> Review-Url: https://codereview.webrtc.org/2812913002
> Cr-Commit-Position: refs/heads/master@{#17651}
> Committed: 774f6b4b96

TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7420

Review-Url: https://codereview.webrtc.org/2809653004
Cr-Commit-Position: refs/heads/master@{#17653}
2017-04-11 13:20:05 +00:00
774f6b4b96 Reland of Add content type information to encoded images and corresponding rtp extension header (patchset #1 id:1 of https://codereview.webrtc.org/2816463002/ )
Reason for revert:
Reland with appropriate changes to API to not break depending projects.

Original issue's description:
> Revert of Add content type information to encoded images and corresponding rtp extension header (patchset #31 id:600001 of https://codereview.webrtc.org/2772033002/ )
>
> Reason for revert:
> Breaks dependent projects.
>
> Original issue's description:
> > Add content type information to Encoded Images and add corresponding RTP extension header.
> > Use it to separate UMA e2e delay metric between screenshare from video.
> > Content type extension is set based on encoder settings and processed and decoders.
> >
> > Also,
> > Fix full-stack-tests to calculate RTT correctly, so new metric could be tested.
> >
> > BUG=webrtc:7420
> >
> > Review-Url: https://codereview.webrtc.org/2772033002
> > Cr-Commit-Position: refs/heads/master@{#17640}
> > Committed: 64e739aeae
>
> TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7420
>
> Review-Url: https://codereview.webrtc.org/2816463002
> Cr-Commit-Position: refs/heads/master@{#17644}
> Committed: 5721866808

TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7420

Review-Url: https://codereview.webrtc.org/2812913002
Cr-Commit-Position: refs/heads/master@{#17651}
2017-04-11 13:12:37 +00:00
29dbb1992a Revert of Add content type information to encoded images and corresponding rtp extension header (patchset #1 id:1 of https://codereview.webrtc.org/2811963002/ )
Reason for revert:
Relanded by mistake.

Original issue's description:
> Reland of Add content type information to encoded images and corresponding rtp extension header (patchset #1 id:1 of https://codereview.webrtc.org/2816463002/ )
>
> Reason for revert:
> Reland with fixes which break API
>
> Original issue's description:
> > Revert of Add content type information to encoded images and corresponding rtp extension header (patchset #31 id:600001 of https://codereview.webrtc.org/2772033002/ )
> >
> > Reason for revert:
> > Breaks dependent projects.
> >
> > Original issue's description:
> > > Add content type information to Encoded Images and add corresponding RTP extension header.
> > > Use it to separate UMA e2e delay metric between screenshare from video.
> > > Content type extension is set based on encoder settings and processed and decoders.
> > >
> > > Also,
> > > Fix full-stack-tests to calculate RTT correctly, so new metric could be tested.
> > >
> > > BUG=webrtc:7420
> > >
> > > Review-Url: https://codereview.webrtc.org/2772033002
> > > Cr-Commit-Position: refs/heads/master@{#17640}
> > > Committed: 64e739aeae
> >
> > TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:7420
> >
> > Review-Url: https://codereview.webrtc.org/2816463002
> > Cr-Commit-Position: refs/heads/master@{#17644}
> > Committed: 5721866808
>
> TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7420
>
> Review-Url: https://codereview.webrtc.org/2811963002
> Cr-Commit-Position: refs/heads/master@{#17645}
> Committed: 4fa0c4f97f

TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7420

Review-Url: https://codereview.webrtc.org/2810923004
Cr-Commit-Position: refs/heads/master@{#17648}
2017-04-11 11:49:07 +00:00
4fa0c4f97f Reland of Add content type information to encoded images and corresponding rtp extension header (patchset #1 id:1 of https://codereview.webrtc.org/2816463002/ )
Reason for revert:
Reland with fixes which break API

Original issue's description:
> Revert of Add content type information to encoded images and corresponding rtp extension header (patchset #31 id:600001 of https://codereview.webrtc.org/2772033002/ )
>
> Reason for revert:
> Breaks dependent projects.
>
> Original issue's description:
> > Add content type information to Encoded Images and add corresponding RTP extension header.
> > Use it to separate UMA e2e delay metric between screenshare from video.
> > Content type extension is set based on encoder settings and processed and decoders.
> >
> > Also,
> > Fix full-stack-tests to calculate RTT correctly, so new metric could be tested.
> >
> > BUG=webrtc:7420
> >
> > Review-Url: https://codereview.webrtc.org/2772033002
> > Cr-Commit-Position: refs/heads/master@{#17640}
> > Committed: 64e739aeae
>
> TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7420
>
> Review-Url: https://codereview.webrtc.org/2816463002
> Cr-Commit-Position: refs/heads/master@{#17644}
> Committed: 5721866808

TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7420

Review-Url: https://codereview.webrtc.org/2811963002
Cr-Commit-Position: refs/heads/master@{#17645}
2017-04-11 11:01:43 +00:00
5721866808 Revert of Add content type information to encoded images and corresponding rtp extension header (patchset #31 id:600001 of https://codereview.webrtc.org/2772033002/ )
Reason for revert:
Breaks dependent projects.

Original issue's description:
> Add content type information to Encoded Images and add corresponding RTP extension header.
> Use it to separate UMA e2e delay metric between screenshare from video.
> Content type extension is set based on encoder settings and processed and decoders.
>
> Also,
> Fix full-stack-tests to calculate RTT correctly, so new metric could be tested.
>
> BUG=webrtc:7420
>
> Review-Url: https://codereview.webrtc.org/2772033002
> Cr-Commit-Position: refs/heads/master@{#17640}
> Committed: 64e739aeae

TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7420

Review-Url: https://codereview.webrtc.org/2816463002
Cr-Commit-Position: refs/heads/master@{#17644}
2017-04-11 10:59:43 +00:00
64e739aeae Add content type information to Encoded Images and add corresponding RTP extension header.
Use it to separate UMA e2e delay metric between screenshare from video.
Content type extension is set based on encoder settings and processed and decoders.

Also,
Fix full-stack-tests to calculate RTT correctly, so new metric could be tested.

BUG=webrtc:7420

Review-Url: https://codereview.webrtc.org/2772033002
Cr-Commit-Position: refs/heads/master@{#17640}
2017-04-11 08:46:04 +00:00
b4fc73a3ab Removing unnecessary parameters from initializeAndroidGlobals.
The "initialize audio/video" parameters are no longer needed, but
at the same time were required to be true, causing a lot of confusion.
This CL removes them, but leaves the old method signature around,
marked "deprecated".

BUG=webrtc:3416
TBR=solenberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2800353002
Cr-Commit-Position: refs/heads/master@{#17626}
2017-04-10 22:08:02 +00:00
177b17e050 Move AndroidVideoTrackSourceObserver from API to src
BUG=webrtc:7172

Review-Url: https://codereview.webrtc.org/2803593004
Cr-Commit-Position: refs/heads/master@{#17562}
2017-04-06 11:31:26 +00:00
639d46a7ab Delete system_wrappers logging facility.
BUG=webrtc:5118

Review-Url: https://codereview.webrtc.org/2796353002
Cr-Commit-Position: refs/heads/master@{#17561}
2017-04-06 10:53:06 +00:00
4aceaf268e Android: Move Histogram from api to src.
This class is already package-local.

BUG=webrtc:7172

Review-Url: https://codereview.webrtc.org/2799643003
Cr-Commit-Position: refs/heads/master@{#17546}
2017-04-05 19:18:59 +00:00
d60d06a9f9 Reland of Move video_encoder.h and video_decoder.h to /api and create GN targets for them (patchset #1 id:1 of https://codereview.webrtc.org/2794033002/ )
Reason for revert:
Reland with temporary deprecated API to not break chromium and google3.

Original issue's description:
> Revert of Move video_encoder.h and video_decoder.h to /api and create GN targets for them (patchset #8 id:140001 of https://codereview.webrtc.org/2780943003/ )
>
> Reason for revert:
> Suspect of breaking Chrome FYI bots.
>
> See
> https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Builder/builds/23065
> https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Builder
>
> Example logs:
> ../../content/renderer/media/gpu/rtc_video_encoder_unittest.cc:18:46: fatal error: third_party/webrtc/video_encoder.h: No such file or directory
>  #include "third_party/webrtc/video_encoder.h"
>                                               ^
>
> Original issue's description:
> > Move video_encoder.h and video_decoder.h to /api and create GN targets for them
> >
> > BUG=webrtc:5881
> > # Because PRESUBMIT ignores LINT blacklist for moved files and these
> > # headers have some not easy to resolve issues.
> > NOPRESUBMIT=True
> >
> > Review-Url: https://codereview.webrtc.org/2780943003
> > Cr-Commit-Position: refs/heads/master@{#17511}
> > Committed: c42f540570
>
> TBR=solenberg@webrtc.org,sprang@webrtc.org,ilnik@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5881
>
> Review-Url: https://codereview.webrtc.org/2794033002
> Cr-Commit-Position: refs/heads/master@{#17514}
> Committed: 716d7ac5c1

TBR=solenberg@webrtc.org,sprang@webrtc.org,guidou@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5881

Review-Url: https://codereview.webrtc.org/2795163002
Cr-Commit-Position: refs/heads/master@{#17537}
2017-04-05 10:02:20 +00:00
c3372583d4 Revert of Deliver video frames on Android, on the decode thread. (patchset #7 id:120001 of https://codereview.webrtc.org/2764573002/ )
Reason for revert:
Breaks Chrome FYI Android bots.

See:
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Tests%20%28dbg%29%20%28L%20Nexus9%29/builds/20418
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Tests%20%28dbg%29%20%28L%20Nexus6%29/builds/14724
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Tests%20%28dbg%29%20%28L%20Nexus5%29/builds/20133
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Tests%20%28dbg%29%20%28K%20Nexus5%29/builds/15111

Original issue's description:
> Deliver video frames on Android, on the decode thread.
>
> VideoCoding
> * Adding a method for polling for frames on Android only until the capture implementation takes care of this (longer term plan).
>
> CodecDatabase
> * Add an accessor for the current decoder
> * Use std::unique_ptr<> for ownership.
> * Remove "Release()" and "ReleaseDecoder()". Instead just delete.
> * Remove |friend| relationship between CodecDatabase and VCMGenericDecoder.
>
> VCMDecodedFrameCallback
> * DCHECKs for thread correctness.
> * Remove |lock_| now that a threading model has been established and verified.
>
> VCMGenericDecoder
> * All methods now have thread checks.
> * Variable access associated with thread checkers.
>
> VideoReceiver
> * Added two notification methods, DecoderThreadStarting() and DecoderThreadStopped()
>   * Allows us to establish a period when the decoder thread is not running and it is safe to modify variables such as callbacks, that are only read when the decoder thread is running.
>   * Allows us to DCHECK thread guarantees.
>   * Allows synchronizing callbacks from the module process thread and have them only active while the decoder thread is running.
>   * The above, allows us to establish two modes for the thread, single-threaded-mutable and multi-threaded-const.
>   * Using that knowledge, we can remove |receive_crit_| as well as locking for a number of member variables.
>
> MediaCodecVideoDecoder
> * Removed frame polling code from this class, since this is now done from the root thread function in VideoReceiveStream.
>
> VideoReceiveStream
> * On Android: Polls for decoded frames every 10ms (same interval as previously in MediaCodecVideoDecoder)
> * [Un]Registers the |video_receiver_| with the module thread only around the time the decoder thread is started/stopped.
> * Notifies the receiver of start/stop events of the decoder thread.
> * Changed the decoder thread to use the new PlatformThread callback type.
>
> BUG=webrtc:7361, 695438
>
> Review-Url: https://codereview.webrtc.org/2764573002
> Cr-Commit-Position: refs/heads/master@{#17527}
> Committed: e3aa88bbd5

TBR=sakal@webrtc.org,mflodman@webrtc.org,stefan@webrtc.org,tommi@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7361, 695438

Review-Url: https://codereview.webrtc.org/2792033003
Cr-Commit-Position: refs/heads/master@{#17530}
2017-04-04 14:16:21 +00:00
e3aa88bbd5 Deliver video frames on Android, on the decode thread.
VideoCoding
* Adding a method for polling for frames on Android only until the capture implementation takes care of this (longer term plan).

CodecDatabase
* Add an accessor for the current decoder
* Use std::unique_ptr<> for ownership.
* Remove "Release()" and "ReleaseDecoder()". Instead just delete.
* Remove |friend| relationship between CodecDatabase and VCMGenericDecoder.

VCMDecodedFrameCallback
* DCHECKs for thread correctness.
* Remove |lock_| now that a threading model has been established and verified.

VCMGenericDecoder
* All methods now have thread checks.
* Variable access associated with thread checkers.

VideoReceiver
* Added two notification methods, DecoderThreadStarting() and DecoderThreadStopped()
  * Allows us to establish a period when the decoder thread is not running and it is safe to modify variables such as callbacks, that are only read when the decoder thread is running.
  * Allows us to DCHECK thread guarantees.
  * Allows synchronizing callbacks from the module process thread and have them only active while the decoder thread is running.
  * The above, allows us to establish two modes for the thread, single-threaded-mutable and multi-threaded-const.
  * Using that knowledge, we can remove |receive_crit_| as well as locking for a number of member variables.

MediaCodecVideoDecoder
* Removed frame polling code from this class, since this is now done from the root thread function in VideoReceiveStream.

VideoReceiveStream
* On Android: Polls for decoded frames every 10ms (same interval as previously in MediaCodecVideoDecoder)
* [Un]Registers the |video_receiver_| with the module thread only around the time the decoder thread is started/stopped.
* Notifies the receiver of start/stop events of the decoder thread.
* Changed the decoder thread to use the new PlatformThread callback type.

BUG=webrtc:7361, 695438

Review-Url: https://codereview.webrtc.org/2764573002
Cr-Commit-Position: refs/heads/master@{#17527}
2017-04-04 10:53:02 +00:00