Commit Graph

1142 Commits

Author SHA1 Message Date
glaznev@webrtc.org
b28474c7a0 Add H.264 HW encoder and decoder support for Android.
- Allow to configure MediaCodec Java wrapper to use VP8
and H.264 codec.
- Save H.264 config frames with SPS and PPS NALUs and append them to every key frame.
- Correctly handle the case when one encoded frame may generate several output NALUs.
- Add code to find H.264 start codes.
- Add a flag (non configurable yet) to use H.264 in AppRTCDemo.
- Improve MediaCodec logging.

R=wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8465}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8465 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-23 17:44:58 +00:00
pbos@webrtc.org
77e11bbe83 Wire up preferred/nominal_bitrate to stats.
Also adds a test that shows that actual_enc_bitrate was not summed
correctly plus fixing it.

Additionally reducing locking when grabbing stats.

BUG=1778
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8464}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8464 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-23 16:39:58 +00:00
henrika@webrtc.org
962c62475e Refactoring WebRTC Java/JNI audio track in C++ and Java.
This CL is part II in a major refactoring effort. See https://webrtc-codereview.appspot.com/33969004 for part I.

- Removes unused code and old WEBRTC logging macros
- Now uses optimal sample rate and buffer size in Java AudioTrack (used hard-coded sample rate before)
- Makes code more inline with the implementation in Chrome
- Adds helper methods for JNI handling to improve readability
- Changes the threading model (high-prio audio thread now lives in Java-land and C++ only works as proxy)
- Simplified the delay estimate
- Adds basic thread checks
- Removes all locks in C++ land
- Removes all locks in Java
- Improves construction/destruction
- Additional cleanup

Tested using AppRTCDemo and WebRTCDemo APKs on N6, N5, N7, Samsung Galaxy S4 and
Samsung Galaxy S4 mini (which uses 44.1kHz as native sample rate).

BUG=NONE
R=magjed@webrtc.org, perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8460}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8460 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-23 11:54:41 +00:00
perkj@webrtc.org
2ad3bb17a7 Reland patch for Switch default color format to YV12 on Android.
The new since the previous patch is that we ignore all resolutions with width % 16 != 0
since they are not tightly packed.

http://developer.android.com/reference/android/graphics/ImageFormat.html#YV12

R=glaznev@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8459}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8459 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-23 11:15:23 +00:00
torbjorng@webrtc.org
3c4668e27d Amend CpuMonitor fix.
Merged CpuMonitor changes.

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8445}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8445 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-20 14:17:18 +00:00
torbjorng@webrtc.org
f906e55de1 Add CpuMonitor to Android ApprtcDemo
R=magjed@webrtc.org, perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8444}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8444 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-20 13:15:46 +00:00
pbos@webrtc.org
ec45e3b290 Fix test race in GetStatsMultipleSendStreams.
Test now waits for stats to be filled instead of failing instantly if
they haven't been updated.

BUG=2409
R=asapersson@webrtc.org
TBR=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8441}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8441 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-20 10:25:18 +00:00
jlmiller@webrtc.org
804eb46806 Change default from GICE to ICE5245 for SDP offers
BUG=4299
R=juberti@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8440}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8440 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-20 02:20:19 +00:00
guoweis@webrtc.org
cce874b8d2 Fix libjingle_media_unittest codec comparison issue
Missing one comparison of AudioCodec

TBR=juberti@webrtc.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#8437}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8437 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-19 18:14:52 +00:00
guoweis@webrtc.org
bc6961fe32 Make webrtc 50 KB smaller by not inlining Codec.
The Codec class is a big class and objects of the Codec class are passed
around by value. That means that inlined operations would be duplicated
at many places, in particular inside STL.

By not inlining Codec methods, webrtc shrinks by 50 KB in
a Linux x64 clang build.

Total change: -54147 bytes
==========================
 +2810 - Source: /home/bratell/src/chromium/src/third_party/libjingle/source/talk/media/base/codec.cc - (gained 2920, lost 110)
 -1003 - Source: /home/bratell/src/chromium/src/third_party/libjingle/source/talk/media/base/codec.h - (gained 0, lost 1003)
 -1129 - Source: /home/bratell/src/chromium/src/third_party/libjingle/source/talk/media/sctp/sctpdataengine.cc - (gained 1660, lost 2789)
 -1190 - Source: /home/bratell/src/chromium/src/third_party/libjingle/source/talk/media/base/rtpdataengine.cc - (gained 1408, lost 2598)
 -1747 - Source: /home/bratell/src/chromium/src/third_party/libjingle/source/talk/session/media/mediasession.cc - (gained 803, lost 2550)
 -2141 - Source: /home/bratell/src/chromium/src/third_party/libjingle/source/talk/media/webrtc/webrtcvideoengine.cc - (gained 1679, lost 3820)
 -2250 - Source: /home/bratell/src/chromium/src/third_party/libjingle/source/talk/app/webrtc/webrtcsdp.cc - (gained 1224, lost 3474)
 -2927 - Source: /usr/include/c++/4.8/bits/stl_vector.h - (gained 0, lost 2927)
 -3729 - Source: /home/bratell/src/chromium/src/third_party/libjingle/source/talk/media/webrtc/webrtcvideoengine2.cc - (gained 10925, lost 14654)
 -6369 - Source: /usr/include/c++/4.8/bits/vector.tcc - (gained 0, lost 6369)
 -10582 - Source: /usr/include/c++/4.8/bits/stl_heap.h - (gained 0, lost 10582)
 -19324 - Source: /usr/include/c++/4.8/bits/stl_algo.h - (gained 743, lost 20067)

BUG=
R=juberti@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8436}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8436 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-19 17:55:50 +00:00
tommi@webrtc.org
e07710cc91 Make SendCodec() lock-free.
Fetching the current codec for sake of gathering stats, is frequently blocked since it's done by acquiring the same lock as is held while encoding frames.  This can mean tens of milliseconds.

To improve this, I'm taking advantage of the fact that the codec information is set on the same thread as is used to query the information.  This means that locking isn't needed for querying this information.  I'm adding checks to make sure debug builds will crash if this isn't followed.

An alternative to this approach could be to add one more lock that is specifically used for the codec information variable.  This would also decouple querying codec information from the encoder itself, but still requires a lock.

This patch depends on making ThreadChecker part of rtc_base_approved:
https://webrtc-codereview.appspot.com/40539004/

BUG=2822
R=mflodman@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8435}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8435 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-19 17:43:45 +00:00
pbos@webrtc.org
1ed6224eaf Revert r8430 "Remove dead stats from Video{Sender,Receiver}Info."
This breaks compilation outside this codebase that needs to have it
removed before.

BUG=4322
TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8432}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8432 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-19 13:57:43 +00:00
pbos@webrtc.org
8ad05b7628 Remove dead stats from Video{Sender,Receiver}Info.
These stats are neither filled nor plumbed further and might as well be
removed (as proven by how easy they were to remove).

BUG=
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8430}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8430 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-19 13:00:46 +00:00
pbos@webrtc.org
1d0fa5d352 Add RtcpPacketTypeCounter stats to new API.
R=mflodman@webrtc.org, stefan@webrtc.org
BUG=1667,1788

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

Cr-Commit-Position: refs/heads/master@{#8429}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8429 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-19 12:47:45 +00:00
perkj@webrtc.org
3db042e2f0 Stop AndroidVideoCapturer asynchronously.
The purpose is to avoid a deadlock between the C++ thread calling Stop and the Java thread that provides video frames.

BUG=4318
R=glaznev@webrtc.org, magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8425}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8425 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-19 08:44:17 +00:00
jiayl@webrtc.org
254840692e Add empty files to implement a in-memory DTLS identity store without breaking Chromium build.
BUG=4241
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8424}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8424 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-18 23:58:44 +00:00
minyue@webrtc.org
652bc37a07 Adding two new stats to StatsReport.
A follow up of r8415. This is to post the data to the StatsReport.

BUG=3867
TEST=chromium + netem + apprtc + chrome://webrtc-internals
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8423}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8423 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-18 23:51:22 +00:00
jlmiller@webrtc.org
a744a28b92 Templatize and clean up codec wildcards.
BUG=4123
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8422}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8422 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-18 21:38:20 +00:00
glaznev@webrtc.org
18c92472df Move Android MediaCodec encoder and decoder factories to separate files.
Move Android media encoder and media decoder factories from
peerconnection_jni.cc to androidmediaencoder_jni.cc and
androidmediadecoder_jni.cc

R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8417}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8417 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-18 18:43:21 +00:00
minyue@webrtc.org
c0bd7be0df Adding two new stats to VoiceReceiverInfo
There have been requests of two new stats namely

speech_expand_rate and secondary_decoded_rate.

BUG=3867
R=henrik.lundin@webrtc.org, henrika@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8415}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8415 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-18 15:24:39 +00:00
perkj@webrtc.org
8fbdcfd73f Revert "Switch default color format to YV12."
This reverts commit 1c3e728aa9.

Reason: Fails test running on Nexus 9 bots - org.webrtc.VideoCapturerAndroidTest#testStartStopWithDifferentResolutions.
Note that all other tests pass so it seems like there is resolution supported by the device that can't use YV12.

TBR=glaznev@webrtc.org
BUG=4011

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

Cr-Commit-Position: refs/heads/master@{#8414}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8414 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-18 15:20:14 +00:00
perkj@webrtc.org
1c3e728aa9 Switch default color format to YV12.
Currently N21 is used per default. But according to
http://developer.android.com/reference/android/graphics/ImageFormat.html#YV12
YV12 has been mandatory to support since api level 12.
Since YV12 and I420 is the same except for the order of planes, this format is cheaper to use.

Tested on N5, N6 and a Samsung device.

BUG=4011
R=glaznev@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8411}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8411 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-18 13:16:46 +00:00
magjed@webrtc.org
f68e186de3 Remove EnableMirroring and MirrorRenderStream
R=mflodman@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8409}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8409 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-18 12:55:17 +00:00
pbos@webrtc.org
b4987bfc24 Send black frame with previous size when muting.
Instead of sending a black frame that's the size of the VideoFormat send
a black frame in the format we're already sending. This prevents
expensive encoder reconfiguration when the sending format is a different
resolution. This speeds up setting a null capturer (removing the
capturer) significantly as it doesn't entail an encoder reconfiguration.

R=mflodman@webrtc.org, pthatcher@webrtc.org
BUG=1788

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

Cr-Commit-Position: refs/heads/master@{#8405}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8405 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-18 10:13:45 +00:00
magjed@webrtc.org
3864363e2c cricket::VideoFrame: Refactor CopyToBuffer into base class
It’s possible to implement cricket::VideoFrame::CopyToBuffer using the virtual interface. This removes the need for subclasses to implement their own versions. This CL also fixes a bug in cricket::VideoFrame::CopyToPlanes which currently assumes that GetUPitch() == GetVPitch(), otherwise it may segfault.

I think this CL should land regardless, but the main purpose is to pave the way for for planned changes to I420VideoFrame. See https://review.webrtc.org/38879004.

R=fbarchard@google.com, perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8403}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8403 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-18 09:19:45 +00:00
magjed@webrtc.org
dd4a8da68a Remove DISABLE_YUV flag
R=fbarchard@google.com, pbos@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8402}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8402 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-18 08:47:43 +00:00
decurtis@webrtc.org
bfa3c7253f Don't call g_thread_init on glib >=2.31.0
g_thread_init() is deprecated in glib 2.31.0 and later. This will call
g_thread_ini() only when compiling against older versions of glib.

BUG=1971,chromium:253566
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8400}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8400 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-17 21:23:13 +00:00
pkasting@chromium.org
e9facf8bb3 Add range checks in a variety of places where the values will subsequently be
expected to be 0-127.

BUG=none
TEST=none
R=juberti@webrtc.org
TBR=henrika

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

Cr-Commit-Position: refs/heads/master@{#8399}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8399 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-17 20:37:35 +00:00
magjed@webrtc.org
640313ce4f WebRtcVideoCapturer: Remove dead code |OnIncomingCapturedEncodedFrame|
The end goal except cleanup is to remove webrtc::VideoFrame.

R=mflodman@webrtc.org, pbos@webrtc.org, perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8393}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8393 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-17 15:10:41 +00:00
perkj@webrtc.org
1a38a51119 Add default implementation to VideoSourceInterface of Stop and Restart.
This is to make sure Chrome does not break when rolling. This should be reverted once
Chrome has been updated.

Please see:
http://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac/builds/16556/steps/compile/logs/stdio

BUG=4303
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8391}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8391 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-17 14:51:43 +00:00
perkj@webrtc.org
8f605e8911 Add VideoSource::Stop and Restart methods.
The purpose is to make sure that start and stop is called on the correct thread on Android. It also cleans up the Java VideoSource implementation.

BUG=4303
R=glaznev@webrtc.org, magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8389}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8389 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-17 13:54:42 +00:00
minyue@webrtc.org
f9b5c1b3d0 Removing CELT.
CELT is not supported in WebRTC/Libjingle. There are a few left-over in our code base. They are cleaned up in this CL.

BUG=
R=pbos@webrtc.org, tina.legrand@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8385}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8385 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-17 12:37:14 +00:00
pbos@webrtc.org
86196c4f48 Setup encoders inexpensively before first frame.
Modifies WebRtcVideoSendStream to use a default width/height of 16px.
This significantly reduces SetRemoteDescription time under
WebRtcVideoEngine2. Also preventing (expensive) reconfigurations due to
incoming frames when the channel is not sending yet.

Tests have been modified to generate a frame before expecting a certain
encoder size to have been configured.

Also adding tracing to WebRtcVideoSendStream::InputFrame as it can lead
to reconfigurations of the encoder which is expensive and it should show
up in chrome://tracing.

BUG=1788
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8381}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8381 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-16 21:02:20 +00:00
pthatcher@webrtc.org
3341b401cc Fix bug parsing media descriptions: the final field isn't a codec type for any of DTLS/SCTP, SCTP, or SCTP/DTLS.
BUG=none
TEST=none
R=juberti@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8369}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8369 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-13 21:14:44 +00:00
guoweis@webrtc.org
5a7dc39277 This is a code clean up. No functional change intended.
Consolidate the enum for capturer/frame rotation we use through out the code base.

BUG=4145
R=mflodman@webrtc.org, perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8365}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8365 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-13 14:32:13 +00:00
perkj@webrtc.org
96e4db9bea Split peerconnection_jni.cc into separate files.
For now:
java_helpers - JNI convenience functions etc. Can in theory be moved to libjingle / webrtc general one day.
classreferenceholder - app/webrtc specific Java class loader.
androidvideocapturer_jni - the jni part of the video capturer I added.
peerconnection_jni - all the rest.

This also move all jni specifics into ns webrtc_jni to avoid naming collision.

R=glaznev@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8363}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8363 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-13 12:47:21 +00:00
solenberg@webrtc.org
40fdb8ab96 Remove flaky test cases from peerconnection_unittest. The chain of API calls is tested from top to bottom anyway.
BUG=3871
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8359}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8359 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-13 11:09:43 +00:00
pbos@webrtc.org
40367f984b Remove default video encoders for new video API.
Reduces stream creation time significantly. As a side effect also
removes default encoders for receive-only channels.

BUG=1788,1667
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8356}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8356 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-13 08:00:42 +00:00
kjellander@webrtc.org
94eb9a6005 Whitespace change to test gsubtreed.
BUG=chromium:438149

Cr-Commit-Position: refs/heads/master@{#8355}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8355 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-13 07:40:40 +00:00
glaznev@webrtc.org
e388c19a9f Fix start bitrate settings for VP9 codec in AppRTCDemo.
R=wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8354}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8354 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-13 00:34:45 +00:00
solenberg@webrtc.org
aafbec15f9 Remove ViENetwork::SetBandwidthEstimationConfig() interface since dynamically changing BWE settings isn't necessary now that AIMD is the default.
BUG=3735
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8351}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8351 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-12 13:21:27 +00:00
solenberg@webrtc.org
503c33666f Re-enabling LocalP2PTestAnswerVideo and LocalP2PTestAnswerAudio test cases in peerconnection_unittest.
BUG=2288
R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8350}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8350 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-12 13:13:47 +00:00
andresp@webrtc.org
ff689be3c0 Use std::min and std::max instead of self-defined functions such as rtc::_min/_max.
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8347}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8347 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-12 11:55:32 +00:00
phoglund@webrtc.org
006521d5bd Makes libjingle_peerconnection_android_unittest run on networkless devices.
PeerConnectionTest.java currently works, but only on a device with
network interfaces up. This is not a problem for desktop, but it is a
problem when running on Android devices since the devices in the lab
generally don't have network (due to the chaotic radio environment in
the device labs, devices are simply kept in flight mode).

The test does work if one modifies this line in the file
webrtc/base/network.cc:

bool ignored = ((cursor->ifa_flags & IFF_LOOPBACK) ||
                IsIgnoredNetwork(*network));

If we remove the IFF_LOOPBACK clause, the test starts working on
an Android device in flight mode. This is nice - we're running the
call and packets interact with the OS network stack, which is good
for this end-to-end test. We can't just remove the clause though since
having loopback is undesirable for everyone except the test (right)?
so we need to make this behavior configurable.

This CL takes a stab at a complete solution where we pass a boolean
all the way through the Java PeerConnectionFactory down to the
BasicNetworkManager. This comes as a heavy price in interface
changes though. It's pretty out of proportion, but fundamentally we
need some way of telling the network manager that it is on Android
and in test mode. Passing the boolean all the way through is one way.

Another way might be to put the loopback filter behind an ifdef and
link a custom libjingle_peerconnection.so with the test. That is hacky
but doesn't pollute the interfaces. Not sure how to solve that in GYP
but it could mean some duplication between the production and
test .so files.

It would have been perfect to use flags here, but then we need to
hook up gflags parsing to some main() somewhere to make sure the
flag gets parsed, and make sure to pass that flag in our tests.
I'm not sure how that can be done.

Making the loopback filtering conditional is exactly how we solved the
equivalent problem in content_browsertests in Chrome, and it worked
great.

That's all I could think of.

BUG=4181
R=perkj@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8344}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8344 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-12 09:24:25 +00:00
guoweis@webrtc.org
1226e926e6 CVO capturer feature: allow unrotated frame flows through the capture pipeline.
split from https://webrtc-codereview.appspot.com/37029004/

This is based on clean up code change at https://webrtc-codereview.appspot.com/37129004

BUG=4145
R=perkj@webrtc.org, pthatcher@webrtc.org, stefan@webrtc.org, tommi@webrtc.org

Committed: https://code.google.com/p/webrtc/source/detail?r=8337

Committed: https://code.google.com/p/webrtc/source/detail?r=8338

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

Cr-Commit-Position: refs/heads/master@{#8339}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8339 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-11 18:38:53 +00:00
guoweis@webrtc.org
dc7b02277c CVO capturer feature: allow unrotated frame flows through the capture pipeline.
split from https://webrtc-codereview.appspot.com/37029004/

This is based on clean up code change at https://webrtc-codereview.appspot.com/37129004

BUG=4145
R=perkj@webrtc.org, pthatcher@webrtc.org, stefan@webrtc.org, tommi@webrtc.org

Committed: https://code.google.com/p/webrtc/source/detail?r=8337

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

Cr-Commit-Position: refs/heads/master@{#8338}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8338 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-11 18:06:10 +00:00
guoweis@webrtc.org
20e8f22766 CVO capturer feature: allow unrotated frame flows through the capture pipeline.
split from https://webrtc-codereview.appspot.com/37029004/

This is based on clean up code change at https://webrtc-codereview.appspot.com/37129004

BUG=4145
R=perkj@webrtc.org, pthatcher@webrtc.org, stefan@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8337}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8337 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-11 17:51:46 +00:00
kwiberg@webrtc.org
11426dc719 Don't rely on webrtc/base/scoped_ptr.h to include stuff for you
webrtc/base/scoped_ptr.h doesn't need to include webrtc/base/common.h
anymore, but a couple of its users were relying on it to pull in other
things for them. Fix that, and remove the now really unnecessary
webrtc/base/common.h include.

R=andrew@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8333}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8333 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-11 14:31:19 +00:00
perkj@webrtc.org
83bc721c7e Add Android specific VideoCapturer.
The Java implementation of VideoCapturer is losely based on the the work in webrtc/modules/videocapturer.

The capturer is now started asyncronously.
The capturer supports easy camera switching.

BUG=
R=henrika@webrtc.org, magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8329}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8329 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-11 11:27:22 +00:00
pbos@webrtc.org
7cc92aaf37 Use WebRtcVideoRenderFrame for texture frames.
Removes buffer/texture path separation inside WebRtcVideoEngine and
DeliverTextureFrame(). This unifies frame delivery with
WebRtcVideoEngine2 which is expected to automagically work with texture
frames after this change.

BUG=1788
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8326}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8326 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-11 09:03:44 +00:00