209 Commits

Author SHA1 Message Date
Peter Boström
2bc68c731d Wire up QualityScaler for H.264 on Android.
BUG=webrtc:4968
R=magjed@webrtc.org, stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1365063002 .

Cr-Commit-Position: refs/heads/master@{#10055}
2015-09-24 14:22:37 +00:00
deadbeef
7603c76ab0 Revert of Adding PeerConnectionInterface::SetConfiguration method. (patchset #4 id:60001 of https://codereview.webrtc.org/1317353005/ )
Reason for revert:
Broke FYI bots because SetConfiguration is pure virtual and MockPeerConnectionImpl doesn't implement it. Need to reland with SetConfiguration not pure virtual.

Original issue's description:
> Adding PeerConnectionInterface::SetConfiguration method.
>
> Also updated the JNI and Objective-C bindings. Later, will have a CL to
> remove UpdateIce, which this method effectively replaces.
>
> BUG=webrtc:4945
>
> Committed: https://crrev.com/70702afbcb8418fe93747e7ed63bcbf5e56b90e9
> Cr-Commit-Position: refs/heads/master@{#10040}

TBR=guoweis@webrtc.org,pthatcher@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4945

Review URL: https://codereview.webrtc.org/1361263002

Cr-Commit-Position: refs/heads/master@{#10041}
2015-09-24 00:37:20 +00:00
deadbeef
70702afbcb Adding PeerConnectionInterface::SetConfiguration method.
Also updated the JNI and Objective-C bindings. Later, will have a CL to
remove UpdateIce, which this method effectively replaces.

BUG=webrtc:4945

Review URL: https://codereview.webrtc.org/1317353005

Cr-Commit-Position: refs/heads/master@{#10040}
2015-09-23 23:32:38 +00:00
Magnus Jedvert
f706c8ae91 VideoCapturerAndroid: Fix threading issues
This CL makes the following changes:
 * Instead of creating a new thread per startCapture()/stopCapture() cycle, VideoCapturerAndroid has a single thread that is initialized in the constructor and kept during the lifetime of the instance. This is more convenient because then it is always possible to post runnables without if-checks. This way, a lot of synchronize statements can be removed. Also, when the camera thread is preserved after stopCapture() it is possible to post late returnBuffer() calls to the correct thread.
 * FramePool now enforces single thread use and returnBuffer() calls are posted to the camera thread. This is important because the camera should only be used from one thread, and we call camera.addCallbackBuffer() in returnBuffer().
 * switchCamera() no longer returns false on failure, but instead signals the result via the callback.
 * Update the test testCaptureAndAsyncRender() - it's not a valid use case to have outstanding frames when calling PeerConnectionFactory.dispose(). Instead, the renderer implementations should have release() functions that block until all frames are returned. The release() functions need to be called in the correct order with PeerConnectionFactory.dispose() last.

BUG=webrtc:4909
R=hbos@webrtc.org, perkj@webrtc.org

Review URL: https://codereview.webrtc.org/1350863002 .

Cr-Commit-Position: refs/heads/master@{#10025}
2015-09-23 10:01:40 +00:00
asapersson
ef5d5e45cb Add field trial for automic resize in MediaCodecVideoEncoder.
BUG=webrtc:4968

Review URL: https://codereview.webrtc.org/1351573002

Cr-Commit-Position: refs/heads/master@{#10009}
2015-09-22 08:40:46 +00:00
Patrik Höglund
e1c5ec72c6 Fixing bad merge (CHECK is now RTC_CHECK)
BUG=None
TBR=glaznev@webrtc.org

Review URL: https://codereview.webrtc.org/1346013006 .

Cr-Commit-Position: refs/heads/master@{#9975}
2015-09-17 15:20:43 +00:00
Patrik Höglund
fdd1b9a58e Reland: Bailing out if pc factory fails to get created.
This was reverted, but it turned out GOMA was down.

This prevents us from continuing if we fail initialization.
The failure will happen closer to its source, rather than
when we try to create the first peer connection.

BUG=None
R=glaznev@webrtc.org

Committed: https://crrev.com/6eb75d9e67f02c256436eb96f3c77026486561a1
Cr-Commit-Position: refs/heads/master@{#9948}

Review URL: https://codereview.webrtc.org/1339923004 .

Cr-Commit-Position: refs/heads/master@{#9974}
2015-09-17 14:45:56 +00:00
henrikg
91d6edef35 Add RTC_ prefix to (D)CHECKs and related macros.
We must remove dependency on Chromium, i.e. we can't use Chromium's base/logging.h. That means we need to define these macros in WebRTC also when doing Chromium builds. And this causes redefinition.

Alternative solutions:
* Check if we already have defined e.g. CHECK, and don't define them in that case. This makes us depend on include order in Chromium, which is not acceptable.
* Don't allow using the macros in WebRTC headers. Error prone since if someone adds it there by mistake it may compile fine, but later break if a header in added or order is changed in Chromium. That will be confusing and hard to enforce.
* Ensure that headers that are included by an embedder don't include our macros. This would require some heavy refactoring to be maintainable and enforcable.
* Changes in Chromium for this is obviously not an option.

BUG=chromium:468375
NOTRY=true

Review URL: https://codereview.webrtc.org/1335923002

Cr-Commit-Position: refs/heads/master@{#9964}
2015-09-17 07:24:51 +00:00
henrikg
3c089d751e Add RTC_ prefix to contructormagic macros.
We must remove dependency on Chromium, i.e. we can't use Chromium's base/logging.h. That means we need to define these macros in WebRTC also when doing Chromium builds. And this causes redefinition.

* DISALLOW_ASSIGN -> RTC_DISALLOW_ASSIGN
* DISALLOW_COPY_AND_ASSIGN -> RTC_DISALLOW_COPY_AND_ASSIGN
* DISALLOW_IMPLICIT_CONSTRUCTORS -> RTC_DISALLOW_IMPLICIT_CONSTRUCTORS

Related CL: https://codereview.webrtc.org/1335923002/

BUG=chromium:468375
NOTRY=true

Review URL: https://codereview.webrtc.org/1345433002

Cr-Commit-Position: refs/heads/master@{#9953}
2015-09-16 12:37:52 +00:00
Magnus Jedvert
207370f0a2 Android MediaCodecVideoDecoder: Remove redundant useSurface arguments
This CL should not do any functional changes. It removes some redundant arguments and unnecessary error checking.

BUG=webrtc:4993
R=glaznev@webrtc.org

Review URL: https://codereview.webrtc.org/1338943003 .

Cr-Commit-Position: refs/heads/master@{#9950}
2015-09-16 10:32:32 +00:00
phoglund
01ddf01d9c Revert of Bailing out if pc factory fails to get created. (patchset #1 id:1 of https://codereview.webrtc.org/1339923004/ )
Reason for revert:
Breaks goma (??!??!?)

Original issue's description:
> Bailing out if pc factory fails to get created.
>
> This prevents us from continuing if we fail initialization.
> The failure will happen closer to its source, rather than
> when we try to create the first peer connection.
>
> BUG=None
> R=glaznev@webrtc.org
>
> Committed: https://crrev.com/6eb75d9e67f02c256436eb96f3c77026486561a1
> Cr-Commit-Position: refs/heads/master@{#9948}

TBR=glaznev@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=None

Review URL: https://codereview.webrtc.org/1344363002

Cr-Commit-Position: refs/heads/master@{#9949}
2015-09-16 07:03:44 +00:00
Patrik Höglund
6eb75d9e67 Bailing out if pc factory fails to get created.
This prevents us from continuing if we fail initialization.
The failure will happen closer to its source, rather than
when we try to create the first peer connection.

BUG=None
R=glaznev@webrtc.org

Review URL: https://codereview.webrtc.org/1339923004 .

Cr-Commit-Position: refs/heads/master@{#9948}
2015-09-16 06:41:42 +00:00
jiayl
66f0da2197 Log to webrtc logging stream from java code.
Future log messages should all be sent to org.webrtc.Logging as well.

BUG=

Review URL: https://codereview.webrtc.org/1338033003

Cr-Commit-Position: refs/heads/master@{#9936}
2015-09-14 22:06:45 +00:00
Magnus Jedvert
c2db810b89 Remove VideoRendererInterface::CanApplyRotation()
All implementations handle rotation now, both internally in WebRTC and externally in Chromium.

R=glaznev@webrtc.org, guoweis@webrtc.org

Review URL: https://codereview.webrtc.org/1313753003 .

Cr-Commit-Position: refs/heads/master@{#9911}
2015-09-09 19:26:19 +00:00
Magnus Jedvert
7764973e1d Add magjed@ as owner for talk/app/webrtc/androidtests/ and talk/app/webrtc/java/jni/
magjed@ has done a lot of work in these folders.

R=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1314123004 .

Cr-Commit-Position: refs/heads/master@{#9896}
2015-09-08 15:13:45 +00:00
Magnus Jedvert
e7a0de773a CameraEnumerationAndroid: Add getSupportedFormats() implementation using android.hardware.camera2
Enumerating using android.hardware.camera2 is 10x faster than enumerating using android.hardware.camera, but they don't list exactly the same formats. android.hardware.camera2 support higher resolutions for some cameras, and also different framerates.

R=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1321893003 .

Cr-Commit-Position: refs/heads/master@{#9861}
2015-09-04 13:13:39 +00:00
Jiayang Liu
e63d2a1c62 Add JNI/java wrapper for the file rotating logging class.
BUG=
R=glaznev@webrtc.org

Review URL: https://codereview.webrtc.org/1309073004 .

Cr-Commit-Position: refs/heads/master@{#9840}
2015-09-01 23:11:28 +00:00
Alex Glaznev
4d2f4d1c69 - Make shared EGL context used for HW video decoding member
of decoder factory class.
- Add new Peer connection factory method to initialize shared
EGL context.

This provides an option to use single peer connection factory
in the application and create peer connections from the same
factory and reinitialize shared EGL context for video
decoding HW acceleration.

R=wzh@webrtc.org

Review URL: https://codereview.webrtc.org/1304063011 .

Cr-Commit-Position: refs/heads/master@{#9838}
2015-09-01 22:04:21 +00:00
glaznev
97579a4e12 Add option to enable ECDSA key for Java API.
Review URL: https://codereview.webrtc.org/1312293003

Cr-Commit-Position: refs/heads/master@{#9835}
2015-09-01 18:31:34 +00:00
honghaiz
4edc39c569 Set the IceConnectionReceivingTimeout as a RTCConfiguration parameter.
BUG= 4901

Review URL: https://codereview.webrtc.org/1315503003

Cr-Commit-Position: refs/heads/master@{#9832}
2015-09-01 16:54:02 +00:00
Magnus Jedvert
c252dabbd6 CameraEnumerationAndroid: Make getSupportedFormats() an interface
Enumerating camera capabilities in the deprecated android.hardware.Camera interface is really slow because of the need to open and release the camera. By making getSupportedFormats() an interface, we allow apps the opportunity to inject their own implementation, such as storing the supported formats offline in the device's internal storage. It will also be possible to add an implementation of getSupportedFormats() using the new android.hardware.Camera2 interface in a follow-up CL.

R=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1321903002 .

Cr-Commit-Position: refs/heads/master@{#9819}
2015-08-31 11:19:20 +00:00
Magnus Jedvert
a6cba3ab5c Java VideoRenderer.Callbacks: Make renderFrame() interface asynchronous
This CL makes the Java render interface asynchronous by requiring every call to renderFrame() to be followed by an explicit renderFrameDone() call. In JNI, this is implemented with cricket::VideoFrame::Copy() before calling renderFrame(), and a corresponding call to delete in renderFrameDone(). This CL is primarily done to prepare for a new renderer implementation.

BUG=webrtc:4742, webrtc:4909
R=glaznev@webrtc.org

Review URL: https://codereview.webrtc.org/1313563002 .

Cr-Commit-Position: refs/heads/master@{#9814}
2015-08-29 13:57:56 +00:00
phoglund
6480d03f17 Make jni_helpers build on arm32.
BUG=None

Review URL: https://codereview.webrtc.org/1311753002

Cr-Commit-Position: refs/heads/master@{#9806}
2015-08-28 09:58:45 +00:00
Magnus Jedvert
1c3dd38cb8 Android: Fix memory leak for remote MediaStream
BUG=webrtc:4892
R=glaznev@webrtc.org, tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1308733004 .

Cr-Commit-Position: refs/heads/master@{#9797}
2015-08-27 11:40:09 +00:00
Magnus Jedvert
c464f504dc AndroidVideoCapturerJni: Fix threading issues
The primary fix in this CL is to remove the dangling |thread_| pointer in AndroidVideoCapturerJni. That thread is not safe to use after Stop() has been called. Even after Stop() has been called, we must still be able to return late frames to Java in order to not leak them, so that path has been made thread safe instead. To make sure that we always return frames, the Java frame should be wrapped in a scoped_refptr as quickly as possible, so this CL moves the wrapping from AndroidVideoCapturer to AndroidVideoCapturerJni. This also removes the need for the interface function AndroidVideoCapturerDelegate::ReturnBuffer().

Some other minor changes are:
 * Remove |valid_global_refs_| and all logic related to that. Now that rtc::Bind() captures method objects as scoped_refptr, the destructor of AndroidVideoCapturerJni will not be called before all frames are returned.
 * Remove global ref |j_frame_observer_|. No need for this, we don’t call it and it is kept alive with standard Java memory management.
 * Add helper function ShallowCenterCrop() for VideoFrameBuffers. This functionality already exists in the constructor of WrappedI420Buffer, but it’s more convenient to have it as a separate function.

BUG=webrtc:4742,webrtc:4909
R=glaznev@webrtc.org, tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1307973002 .

Cr-Commit-Position: refs/heads/master@{#9784}
2015-08-25 21:22:24 +00:00
Magnus Jedvert
7ef9d9104d Android: Remove VideoRenderer.Callbacks.canApplyRotation()
The only real implementation of VideoRenderer.Callbacks, VideoRendererGui, can always apply rotation. We don't need this in the interface.

BUG=webrtc:4145
R=glaznev@webrtc.org, guoweis@webrtc.org

Review URL: https://codereview.webrtc.org/1306073003 .

Cr-Commit-Position: refs/heads/master@{#9772}
2015-08-25 07:32:16 +00:00
magjed
e2a8be1244 Revert of AppRTCDemo: Render each video in a separate SurfaceView (patchset #4 id:120001 of https://codereview.webrtc.org/1257043004/ )
Reason for revert:
AppRTCDemo often crashes in loopback mode and incorrect layout when connection is established

BUG=webrtc:4909,webrtc:4910

Original issue's description:
> AppRTCDemo: Render each video in a separate SurfaceView
>
> This CL introduces a new org.webrtc.VideoRenderer.Callbacks implementation called SurfaceViewRenderer that renders each video stream in its own SurfaceView. AppRTCDemo is updated to use this new rendering.
>
> This CL also does the following changes:
> * Make the VideoRenderer.Callbacks interface asynchronous and require that renderFrameDone() is called for every renderFrame(). In JNI, this is implemented with cricket::VideoFrame::Copy()/delete.
> * Make public static helper functions: convertScalingTypeToVisibleFraction(), getDisplaySize(), and getTextureMatrix().
> * Introduces new helper functions surfaceWidth()/surfaceHeight() in EGlBase that allows to query the surface size.
> * Introduce PercentFrameLayout that implements the percentage layout that is used by AppRTCDemo.
>
> BUG=webrtc:4742
>
> Committed: https://crrev.com/05bfbe47ef6bcc9ca731c0fa0d5cd15a4f21e93f
> Cr-Commit-Position: refs/heads/master@{#9699}

TBR=glaznev@webrtc.org,wzh@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4742

Review URL: https://codereview.webrtc.org/1286133002

Cr-Commit-Position: refs/heads/master@{#9703}
2015-08-12 06:55:04 +00:00
magjed
05bfbe47ef AppRTCDemo: Render each video in a separate SurfaceView
This CL introduces a new org.webrtc.VideoRenderer.Callbacks implementation called SurfaceViewRenderer that renders each video stream in its own SurfaceView. AppRTCDemo is updated to use this new rendering.

This CL also does the following changes:
* Make the VideoRenderer.Callbacks interface asynchronous and require that renderFrameDone() is called for every renderFrame(). In JNI, this is implemented with cricket::VideoFrame::Copy()/delete.
* Make public static helper functions: convertScalingTypeToVisibleFraction(), getDisplaySize(), and getTextureMatrix().
* Introduces new helper functions surfaceWidth()/surfaceHeight() in EGlBase that allows to query the surface size.
* Introduce PercentFrameLayout that implements the percentage layout that is used by AppRTCDemo.

BUG=webrtc:4742

Review URL: https://codereview.webrtc.org/1257043004

Cr-Commit-Position: refs/heads/master@{#9699}
2015-08-11 13:50:27 +00:00
jackychen
e2b34b7b4b Bug fix: camera frames are dropped before wideo encoder.
https://code.google.com/p/webrtc/issues/detail?id=4871

R=glaznev@webrtc.org
TBR=glaznev@webrtc.org

Review URL: https://codereview.webrtc.org/1260543002 .

Cr-Commit-Position: refs/heads/master@{#9634}
2015-07-24 21:12:31 +00:00
magjed
b69ab79338 VideoCapturerAndroid: Add function to change capture format while camera is running
Review URL: https://codereview.webrtc.org/1178703009

Cr-Commit-Position: refs/heads/master@{#9608}
2015-07-22 09:32:04 +00:00
jackychen
6e2ce6e1ae Allow for framerate reduction for HW encoder.
R=pbos@webrtc.org, stefan@webrtc.org
TBR=glaznev@google.com

Review URL: https://webrtc-codereview.appspot.com/51159004 .

Cr-Commit-Position: refs/heads/master@{#9573}
2015-07-13 23:26:40 +00:00
honghaiz
900996290c Add methods to set the ICE connection receiving_timeout values.
BUG=

Review URL: https://codereview.webrtc.org/1231913003

Cr-Commit-Position: refs/heads/master@{#9572}
2015-07-13 19:19:42 +00:00
Jiayang Liu
61093868b4 Expose the disable encryption option to JNI.
BUG=
R=glaznev@webrtc.org

Review URL: https://codereview.webrtc.org/1230613002 .

Cr-Commit-Position: refs/heads/master@{#9554}
2015-07-08 22:25:56 +00:00
Peter Thatcher
54360510ff Add flakyness check based on the recently received packets.
BUG=
R=pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1207563002 .

Cr-Commit-Position: refs/heads/master@{#9553}
2015-07-08 18:08:39 +00:00
bemasc
0edd50ccb3 Support for onbufferedamountlow
Original review at https://webrtc-codereview.appspot.com/54679004/

BUG=https://code.google.com/p/chromium/issues/detail?id=496700

Review URL: https://codereview.webrtc.org/1207613006

Cr-Commit-Position: refs/heads/master@{#9527}
2015-07-01 20:34:42 +00:00
Åsa Persson
2b679250fb VideoCapturerAndroid: Add possibility to request a new resolution from the video adapter.
BUG=
R=glaznev@webrtc.org

Review URL: https://codereview.webrtc.org/1178643006.

Cr-Commit-Position: refs/heads/master@{#9434}
2015-06-15 07:53:16 +00:00
Alex Glaznev
782671f798 Improve Android HW decoder error handling.
- Remove an option to use MediaCodec SW decoder from Java layer.
- Better handling Java exceptions in JNI - detect exceptions
and either try to reset the codec or fallback to SW decoder.
- If any error is reported by codec try to fallback to SW
codec for VP8 or reset decoder and continue decoding for H.264.
- Add more logging for error conditions.

R=wzh@webrtc.org

Review URL: https://codereview.webrtc.org/1178943007.

Cr-Commit-Position: refs/heads/master@{#9431}
2015-06-12 23:40:51 +00:00
Magnus Jedvert
80cf97cddd Android rendering: Move common EGL and GL functions to separate classes
This CL does not make any functional changes. The purpose is to extract some common code that is needed for texture capture and texture encode.

This CL does the following changes:
* Move common EGL functions from org.webrtc.MediaCodecVideoDecoder to org.webrtc.EglBase.
* Move common GL functions from org.webrtc.VideoRendererGui to org.webrtc.GlUtil and org.webrtc.GlShader.
* Remove unused call to surfaceTexture.getTransformMatrix in YuvImageRenderer.
* Add helper functions rotatedWidth()/rotatedHeight() in VideoRenderer.I420Frame.

R=glaznev@webrtc.org, hbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/47309005.

Cr-Commit-Position: refs/heads/master@{#9414}
2015-06-11 08:09:15 +00:00
Peter Boström
eb66e800d1 Re-land "Convert native handles to buffers before encoding."
This reverts commit a67675506c9057bd9ffd4d76aae8b743343d434d.

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

Review URL: https://codereview.webrtc.org/1158273010

Cr-Commit-Position: refs/heads/master@{#9381}
2015-06-05 09:08:12 +00:00
Tommi
a9952cdd0e Remove CHECK from GetThreadName.
It's safe for prctl() to fail, so we fall back on <noname> for thread names if we can't get one, instead of crashing.

BUG=
R=henrika@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/57529004

Cr-Commit-Position: refs/heads/master@{#9363}
2015-06-03 16:59:24 +00:00
Peter Boström
308d163c71 Revert "Convert native handles to buffers before encoding."
This reverts commit a831dc3a7d10a1fbaa258ee6b1ca6cfc7e91c5ca to unblock
rolling into Chromium.

BUG=4081
TBR=magjed@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/55549004

Cr-Commit-Position: refs/heads/master@{#9354}
2015-06-02 13:04:31 +00:00
Peter Boström
a831dc3a7d Convert native handles to buffers before encoding.
Required to permit conversion of NV12 handles on iOS to I420 for VP8
software encoding, which blocks texture-based capture. This change
enforces that all texture-based input provides a method for converting
native handles to I420 if they are ever used with software encoders that
do not understand the native handles.

BUG=4081
R=emircan@chromium.org, glaznev@webrtc.org, hbos@webrtc.org, magjed@webrtc.org, mflodman@webrtc.org, stefan@webrtc.org, tkchin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/50909005

Cr-Commit-Position: refs/heads/master@{#9347}
2015-06-01 18:06:52 +00:00
Henrik Lundin
5263b3c1dd Add options for NetEq fast accelerate mode through libjingle
This CL connects RTCConfiguration::audioJitterBufferFastMode in
PeerConnection.java, through libjingle, down to
NetEq::Config::enable_fast_accelerate in native WebRTC.

When enabled, it will allow NetEq to do faster time-compression when
the buffer level is very high.

BUG=4691
R=henrika@webrtc.org, mflodman@webrtc.org, pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/55479004

Cr-Commit-Position: refs/heads/master@{#9344}
2015-06-01 08:29:55 +00:00
Miguel Casas-Sanchez
4765070b8d Rename I420VideoFrame to VideoFrame.
This is a mechanical change since it affects so many
files.
I420VideoFrame -> VideoFrame
and reformatted.

Rationale: in the next CL I420VideoFrame will
get an indication of Pixel Format (I420 for
starters) and of storage type: usually
UNOWNED, could be SHMEM, and in the near
future will be possibly TEXTURE. See
https://codereview.chromium.org/1154153003
for the change that happened in Cr.

BUG=4730, chromium:440843
R=jiayl@webrtc.org, niklas.enbom@webrtc.org, pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/52629004

Cr-Commit-Position: refs/heads/master@{#9339}
2015-05-30 00:21:56 +00:00
Henrik Boström
3b187b9c0c Removed unnecessary includes of webrtcvideocapturer.h
R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/57469004

Cr-Commit-Position: refs/heads/master@{#9305}
2015-05-28 09:43:45 +00:00
Tommi
0eefb4d5c3 Detach base/logging.* from base/stream.*.
This is being done in preparation of moving base/logging.* to rtc_base_approved. base/stream.* has libjingle dependencies that webrtc can't use, so logging.* can't depend on streams. It does look like stream.* isn't used much, so cleaning that up as well as cleaning up usage of the actual stream support (now LogStream) in the logging code, is in order, but I'll leave that to another cl.

BUG=
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/54529004

Cr-Commit-Position: refs/heads/master@{#9269}
2015-05-23 07:54:19 +00:00
jackychen
98d8cf58ee Hardware VP8 encoding: Use QP as metric for resize.
Add vp8 frame header parser to get QP from vp8 bitstream.

BUG= 4273
R=glaznev@webrtc.org, marpan@google.com, pbos@webrtc.org
TBR=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49259004

Cr-Commit-Position: refs/heads/master@{#9256}
2015-05-21 18:11:53 +00:00
Peter Thatcher
af55ccc054 Add RtcpMuxPolicy support to PeerConnection.
BUG=4611
R=juberti@google.com

Review URL: https://webrtc-codereview.appspot.com/46169004

Cr-Commit-Position: refs/heads/master@{#9251}
2015-05-21 14:48:19 +00:00
Alex Glaznev
2f5be9ad63 Improve Android camera error handling.
- Set Camera.ErrorCallback callback when opening camera to
receive camera server error notifications.
- Allow user to provide interface for handling camera errors
happening on camera thread.
- Run camera observer on camera thread and monitor camera fps
and amount of callback buffers, print statistics and report error
if camera stops generating frames.
- Query camera formats starting from front camera instead of back
camera to detect camera failures as fast as possible.
- Change all DCHECK to CHECK in androidvideocapturer.cc to detect
camera error on release builds.
- Plus adding some extra logging.

R=hbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/52519004

Cr-Commit-Position: refs/heads/master@{#9221}
2015-05-19 17:56:22 +00:00
Peter Boström
300eeb68f5 Remove VideoEngine interfaces.
Removes ViE interfaces, _impl.cc files, managers (such as
ViEChannelManager and ViEInputManager) as well as ViESharedData.

Interfaces necessary to implement observers have been moved to a
corresponding header (such as vie_channel.h).

BUG=1695, 4491
R=mflodman@webrtc.org, solenberg@webrtc.org
TBR=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/55379004

Cr-Commit-Position: refs/heads/master@{#9179}
2015-05-12 14:51:08 +00:00