242 Commits

Author SHA1 Message Date
brandtr
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
sakal
44116a5dc5 Fix lint issues on Android.
BUG=webrtc:7549

Review-Url: https://codereview.webrtc.org/2853283002
Cr-Commit-Position: refs/heads/master@{#17982}
2017-05-03 10:19:08 +00:00
sakal
bee4ff8d82 Remove unnecessary runtime API-level checks.
APIs below level 16 are not supported by WebRTC.

BUG=webrtc:7549
TBR=henrika@webrtc.org

Review-Url: https://codereview.webrtc.org/2848323003
Cr-Commit-Position: refs/heads/master@{#17980}
2017-05-02 15:33:52 +00:00
nisse
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
nisse
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
nisse
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
nisse
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
glaznev
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
magjed
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
glaznev
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
sakal
521dffab5d Pause changing surface size when rendering is paused.
BUG=b/31895311

Review-Url: https://codereview.webrtc.org/2837563002
Cr-Commit-Position: refs/heads/master@{#17886}
2017-04-26 13:05:18 +00:00
magjed
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
magjed
b04646f38b Android: Prepare moving EglBase10/EglBase14 from to API to src
BUG=webrtc:7172

Review-Url: https://codereview.webrtc.org/2826063002
Cr-Commit-Position: refs/heads/master@{#17807}
2017-04-21 08:34:12 +00:00
mbonadei
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
magjed
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
magjed
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
deadbeef
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
glaznev
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
magjed
282d49f0ca Reland of Android Logging.java: Load native library only when needed (patchset #1 id:1 of https://codereview.webrtc.org/2814133002/ )
Reason for revert:
Fix bug in original CL.

Original issue's description:
> Revert of Android Logging.java: Load native library only when needed (patchset #2 id:2 of https://codereview.webrtc.org/2817593003/ )
>
> Reason for revert:
> Change in Logging.java breaking compilation (incorrect reference to enum)
>
> Original issue's description:
> > Reland of Android Logging.java: Load native library only when needed (patchset #1 id:1 of https://codereview.webrtc.org/2816753002/ )
> >
> > Reason for revert:
> > Fix bug in original CL.
> >
> > Original issue's description:
> > > Revert of Android Logging.java: Load native library only when needed (patchset #3 id:40001 of https://codereview.webrtc.org/2803203002/ )
> > >
> > > Reason for revert:
> > > Breaks C++ logs in Java apps.
> > >
> > > Original issue's description:
> > > > Android Logging.java: Load native library only when needed
> > > >
> > > > Logging.java currently always tries to load jingle_peerconnection_so in
> > > > the static section, but some clients don't want to use it. This CL loads
> > > > jingle_peerconnection_so only when a client requests it by calling one
> > > > of:
> > > >  * Logging.enableLogThreads
> > > >  * Logging.enableLogTimeStamps
> > > >  * Logging.enableTracing
> > > >  * Logging.enableLogToDebugOutput
> > > >
> > > > BUG=b/36410678
> > > >
> > > > Review-Url: https://codereview.webrtc.org/2803203002
> > > > Cr-Commit-Position: refs/heads/master@{#17647}
> > > > Committed: dee5eb14e1
> > >
> > > TBR=sakal@webrtc.org,glaznev@webrtc.org,noahric@chromium.org,magjed@webrtc.org
> > > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > > BUG=b/36410678
> > >
> > > Review-Url: https://codereview.webrtc.org/2816753002
> > > Cr-Commit-Position: refs/heads/master@{#17676}
> > > Committed: 6e4a4427dc
> >
> > TBR=sakal@webrtc.org,glaznev@webrtc.org,noahric@chromium.org,brandtr@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=b/36410678
> >
> > Review-Url: https://codereview.webrtc.org/2817593003
> > Cr-Commit-Position: refs/heads/master@{#17677}
> > Committed: 297714619f
>
> TBR=sakal@webrtc.org,glaznev@webrtc.org,noahric@chromium.org,brandtr@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/36410678
>
> Review-Url: https://codereview.webrtc.org/2814133002
> Cr-Commit-Position: refs/heads/master@{#17678}
> Committed: 06034c7d64

TBR=sakal@webrtc.org,glaznev@webrtc.org,noahric@chromium.org,brandtr@webrtc.org,lliuu@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
BUG=b/36410678

Review-Url: https://codereview.webrtc.org/2813363004
Cr-Commit-Position: refs/heads/master@{#17694}
2017-04-13 11:17:02 +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
lliuu
06034c7d64 Revert of Android Logging.java: Load native library only when needed (patchset #2 id:2 of https://codereview.webrtc.org/2817593003/ )
Reason for revert:
Change in Logging.java breaking compilation (incorrect reference to enum)

Original issue's description:
> Reland of Android Logging.java: Load native library only when needed (patchset #1 id:1 of https://codereview.webrtc.org/2816753002/ )
>
> Reason for revert:
> Fix bug in original CL.
>
> Original issue's description:
> > Revert of Android Logging.java: Load native library only when needed (patchset #3 id:40001 of https://codereview.webrtc.org/2803203002/ )
> >
> > Reason for revert:
> > Breaks C++ logs in Java apps.
> >
> > Original issue's description:
> > > Android Logging.java: Load native library only when needed
> > >
> > > Logging.java currently always tries to load jingle_peerconnection_so in
> > > the static section, but some clients don't want to use it. This CL loads
> > > jingle_peerconnection_so only when a client requests it by calling one
> > > of:
> > >  * Logging.enableLogThreads
> > >  * Logging.enableLogTimeStamps
> > >  * Logging.enableTracing
> > >  * Logging.enableLogToDebugOutput
> > >
> > > BUG=b/36410678
> > >
> > > Review-Url: https://codereview.webrtc.org/2803203002
> > > Cr-Commit-Position: refs/heads/master@{#17647}
> > > Committed: dee5eb14e1
> >
> > TBR=sakal@webrtc.org,glaznev@webrtc.org,noahric@chromium.org,magjed@webrtc.org
> > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > BUG=b/36410678
> >
> > Review-Url: https://codereview.webrtc.org/2816753002
> > Cr-Commit-Position: refs/heads/master@{#17676}
> > Committed: 6e4a4427dc
>
> TBR=sakal@webrtc.org,glaznev@webrtc.org,noahric@chromium.org,brandtr@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=b/36410678
>
> Review-Url: https://codereview.webrtc.org/2817593003
> Cr-Commit-Position: refs/heads/master@{#17677}
> Committed: 297714619f

TBR=sakal@webrtc.org,glaznev@webrtc.org,noahric@chromium.org,brandtr@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/36410678

Review-Url: https://codereview.webrtc.org/2814133002
Cr-Commit-Position: refs/heads/master@{#17678}
2017-04-12 17:13:21 +00:00
magjed
297714619f Reland of Android Logging.java: Load native library only when needed (patchset #1 id:1 of https://codereview.webrtc.org/2816753002/ )
Reason for revert:
Fix bug in original CL.

Original issue's description:
> Revert of Android Logging.java: Load native library only when needed (patchset #3 id:40001 of https://codereview.webrtc.org/2803203002/ )
>
> Reason for revert:
> Breaks C++ logs in Java apps.
>
> Original issue's description:
> > Android Logging.java: Load native library only when needed
> >
> > Logging.java currently always tries to load jingle_peerconnection_so in
> > the static section, but some clients don't want to use it. This CL loads
> > jingle_peerconnection_so only when a client requests it by calling one
> > of:
> >  * Logging.enableLogThreads
> >  * Logging.enableLogTimeStamps
> >  * Logging.enableTracing
> >  * Logging.enableLogToDebugOutput
> >
> > BUG=b/36410678
> >
> > Review-Url: https://codereview.webrtc.org/2803203002
> > Cr-Commit-Position: refs/heads/master@{#17647}
> > Committed: dee5eb14e1
>
> TBR=sakal@webrtc.org,glaznev@webrtc.org,noahric@chromium.org,magjed@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=b/36410678
>
> Review-Url: https://codereview.webrtc.org/2816753002
> Cr-Commit-Position: refs/heads/master@{#17676}
> Committed: 6e4a4427dc

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

Review-Url: https://codereview.webrtc.org/2817593003
Cr-Commit-Position: refs/heads/master@{#17677}
2017-04-12 17:03:32 +00:00
brandtr
6e4a4427dc Revert of Android Logging.java: Load native library only when needed (patchset #3 id:40001 of https://codereview.webrtc.org/2803203002/ )
Reason for revert:
Breaks C++ logs in Java apps.

Original issue's description:
> Android Logging.java: Load native library only when needed
>
> Logging.java currently always tries to load jingle_peerconnection_so in
> the static section, but some clients don't want to use it. This CL loads
> jingle_peerconnection_so only when a client requests it by calling one
> of:
>  * Logging.enableLogThreads
>  * Logging.enableLogTimeStamps
>  * Logging.enableTracing
>  * Logging.enableLogToDebugOutput
>
> BUG=b/36410678
>
> Review-Url: https://codereview.webrtc.org/2803203002
> Cr-Commit-Position: refs/heads/master@{#17647}
> Committed: dee5eb14e1

TBR=sakal@webrtc.org,glaznev@webrtc.org,noahric@chromium.org,magjed@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=b/36410678

Review-Url: https://codereview.webrtc.org/2816753002
Cr-Commit-Position: refs/heads/master@{#17676}
2017-04-12 16:28:24 +00:00
ilnik
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
ilnik
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
ilnik
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
ilnik
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
magjed
dee5eb14e1 Android Logging.java: Load native library only when needed
Logging.java currently always tries to load jingle_peerconnection_so in
the static section, but some clients don't want to use it. This CL loads
jingle_peerconnection_so only when a client requests it by calling one
of:
 * Logging.enableLogThreads
 * Logging.enableLogTimeStamps
 * Logging.enableTracing
 * Logging.enableLogToDebugOutput

BUG=b/36410678

Review-Url: https://codereview.webrtc.org/2803203002
Cr-Commit-Position: refs/heads/master@{#17647}
2017-04-11 11:21:50 +00:00
ilnik
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
ilnik
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
ilnik
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
deadbeef
8c459f9eee Restore old (deprecated) signature of initializeAndroidGlobals.
This CL removed a couple parameters from the method, and changed the
type of the first parameter to an android.content.Context:
https://codereview.webrtc.org/2800353002/

But applications still using the old method may have already upcast the
context parameter to an Object, in which case this is a breaking change.

So, leaving the old signature exactly as it was before, for maximum
backwards compatibility.

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

Review-Url: https://codereview.webrtc.org/2810973002
Cr-Commit-Position: refs/heads/master@{#17630}
2017-04-11 01:07:55 +00:00
deadbeef
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
magjed
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
nisse
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
sakal
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
magjed
2299b0ab97 Android: Remove VideoCapturerAndroid
This class has been deprecated for a long time and has been replaced by
Camera1Capturer.

BUG=webrtc:7440

Review-Url: https://codereview.webrtc.org/2789183004
Cr-Commit-Position: refs/heads/master@{#17538}
2017-04-05 10:41:17 +00:00
ilnik
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
guidou
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
tommi
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
guidou
716d7ac5c1 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}
2017-04-03 16:15:52 +00:00
ilnik
c42f540570 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}
2017-04-03 15:37:32 +00:00
magjed
e4cd15d379 Fix JNI reference leak in MediaCodecVideoDecoder
We currently leak one local reference to MediaCodecVideoDecoder in
every call to MediaCodecVideoDecoderFactory::CreateVideoDecoder. After
the decoder has been re-initialized 512 times, JNI will crash due to
local reference table overflow (max=512).

The actual leak is in the member initializer list of
MediaCodecVideoDecoder. This CL fixes the leak by adding a
ScopedLocalRefFrame outside of the ctor. All JNI code that originate
from a C++ thread (i.e. the entry point is not a Java thread) must use
a ScopedLocalRefFrame in order to avoid leaking local references.

BUG=webrtc:6969,b/36713034

Review-Url: https://codereview.webrtc.org/2780273002
Cr-Commit-Position: refs/heads/master@{#17464}
2017-03-30 08:08:36 +00:00
glaznev
d1c44356c5 Add field trial to update quality scaler QP thresholds for Android HW encoder.
BUG=b/36034878

Review-Url: https://codereview.webrtc.org/2764143002
Cr-Commit-Position: refs/heads/master@{#17367}
2017-03-23 21:40:08 +00:00
sakal
996a83c4c8 Better handling of error condition in MediaCodecVideoEncoder.
BUG=b/36082499

Review-Url: https://codereview.webrtc.org/2748123002
Cr-Commit-Position: refs/heads/master@{#17246}
2017-03-15 12:53:14 +00:00
sakal
d15165222f Trigger framelisteners even on frames dropped by the FPS reduction by default.
Modification affects EglRenderer on Android. Moves frame dropping to the
renderer thread. Frame listeners are triggered even when FPS reduction is
active unless applyFpsReduction is set to true.

BUG=webrtc:7149

Review-Url: https://codereview.webrtc.org/2688843002
Cr-Commit-Position: refs/heads/master@{#17206}
2017-03-13 12:11:48 +00:00
nisse
7f067663ac Delete deprecated PeerConnection methods, and corresponding using declarations.
BUG=None

Review-Url: https://codereview.webrtc.org/2632203003
Cr-Commit-Position: refs/heads/master@{#17120}
2017-03-08 14:59:45 +00:00
zhihuang
b09b3f9a62 Add the option to disable IPv6 ICE candidates on WiFi.
Add an attribute to the RTCConfiguration which can be used by specific
mobile devices so that the IPv6 ICE candidates on WiFi will not be collected.

BUG=b/35725283

Review-Url: https://codereview.webrtc.org/2731813002
Cr-Commit-Position: refs/heads/master@{#17100}
2017-03-07 22:40:51 +00:00
magjed
d1587ad244 Android HW decoder: Don't check slice_height for texture output
The check: 'RTC_CHECK_GE(slice_height, height);' has been observed to
fail after a reconfig. It looks like |slice_height| is still using the
previous resolution. |slice_height| isn't used for texture output and
hopefully this issue is texture specific. This CL only extracts and
checks |slice_height| when it's actually used.

BUG=b/35932686

Review-Url: https://codereview.webrtc.org/2736603003
Cr-Commit-Position: refs/heads/master@{#17065}
2017-03-06 13:20:49 +00:00
magjed
0c29de5579 Android HW decoder: Limit frame size based on cropping information
BUG=webrtc:7267

Review-Url: https://codereview.webrtc.org/2722803002
Cr-Commit-Position: refs/heads/master@{#16963}
2017-03-02 08:55:32 +00:00