Commit Graph

525 Commits

Author SHA1 Message Date
aluebs@webrtc.org
73acc15c69 Revert 8538 "Reland "Fix CVO in androidvideocapturer."""
> Reland "Fix CVO in androidvideocapturer.""
> This reverts commit b8bcf8cbbf.
> after I fixed a rebase mistake. The fix is the delta between patchset 1 and 2.
> 
> The original cl was reviewed here:
> https://webrtc-codereview.appspot.com/40759004/
> 
> TBR=magjed@webrtc.org
> 
> BUG=4145
> 
> Review URL: https://webrtc-codereview.appspot.com/45409004

TBR=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8539}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8539 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-27 23:27:41 +00:00
perkj@webrtc.org
3a93e33c56 Reland "Fix CVO in androidvideocapturer.""
This reverts commit b8bcf8cbbf.
after I fixed a rebase mistake. The fix is the delta between patchset 1 and 2.

The original cl was reviewed here:
https://webrtc-codereview.appspot.com/40759004/

TBR=magjed@webrtc.org

BUG=4145

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

Cr-Commit-Position: refs/heads/master@{#8538}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8538 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-27 20:19:16 +00:00
perkj@webrtc.org
b8bcf8cbbf Revert "Fix CVO in androidvideocapturer."
This reverts commit 02ed57bf9d.
https://webrtc-codereview.appspot.com/40759004/

Reason- breaks tests after rebase.

TBR=magjed@webrtc.org

BUG=4145

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

Cr-Commit-Position: refs/heads/master@{#8537}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8537 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-27 19:48:15 +00:00
perkj@webrtc.org
02ed57bf9d Fix CVO in androidvideocapturer.
This add bool apply_rotation to WebrtcVideoFrame::Init and removes the need for WebrtcVideoFrame::SetRotation.

BUG=4145
R=guoweis@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8536}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8536 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-27 19:10:45 +00:00
pbos@webrtc.org
ea89495786 Remove {Is,Set}BlackOutput from VideoAdapter.
BUG=
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8523}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8523 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-27 08:56:42 +00:00
pbos@webrtc.org
2a72c6506a Keep feedback params in SetDefaultEncoderConfig.
Prevents NACK etc. from breaking completely as it won't be reported in
the generated SDP.

BUG=1788
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8519}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8519 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-26 16:01:44 +00:00
pbos@webrtc.org
891d48393e Wire up target_media_bitrate in VideoSendStream.
Also wires up target_enc_bitrate in WebRtcVideoEngine2.

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

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

Cr-Commit-Position: refs/heads/master@{#8515}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8515 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-26 13:16:17 +00:00
pbos@webrtc.org
3e6e271ec3 Implement CpuOveruseMetrics as callbacks.
Adds avg_encode_ms and encode_usage_percent in WebRtcVideoEngine2 and
corresponding stats to VideoSendStream::Stats.

BUG=1667, 1788
R=asapersson@webrtc.org, mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8513}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8513 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-26 12:20:24 +00:00
pbos@webrtc.org
9a4410e993 Implement adaptation stats in WebRtcVideoEngine2.
BUG=1788
R=asapersson@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8510}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8510 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-26 10:04:15 +00:00
magjed@webrtc.org
f09e7b8a4f WebRtcVideoFrame: DCHECK exclusive ownership for non-const pixel access
Add some const safety by DCHECK(HasOneRef()) in non-const GetYPlane. This CL also replaces all incorrect non-const calls with const calls for pixel data access in cricket::VideoFrame. It's easy to call the non-const version of e.g. GetYPlane by mistake, even if only const-access is needed. For example:
const scoped_ptr<cricket::VideoFrame> foo;
const uint8_t* y = foo->GetYPlane();
will actually call the non-const version of GetYPlane.

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

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

Cr-Commit-Position: refs/heads/master@{#8507}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8507 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-25 14:50:19 +00:00
pbos@webrtc.org
09c77b95bb Add decoder-timing stats to VideoReceiveStream.
Also breaks out SsrcStats from VideoReceiveStream::Stats as they don't
have that much overlap.

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

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

Cr-Commit-Position: refs/heads/master@{#8501}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8501 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-25 10:42:45 +00:00
hbos@webrtc.org
4aef5fef18 Add thread checks to the CaptureManager.
It looks like it is being used single threadedly, except that in some cases it is created and/or destroyed in threads other than the one running its operations. As such, CaptureManager() contains 'thread_checker_.DetachFromThread()' and ~CaptureManager() does not have a DCHECK.

BUG=
R=perkj@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8498}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8498 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-25 10:09:45 +00:00
pkasting@chromium.org
d324546ced Misc. cleanup split out of https://webrtc-codereview.appspot.com/37699004/ :
* Move constants into the files/functions that use them
* Declare variables in the narrowest scope possible
* Use correct (expected, actual) order for gtest macros
* Remove unused functions
* Untabify
* 80-column limit
* Avoid C-style casts
* Prefer true typed constants to "enum hack" constants
* Print size_t using the right format macro
* Shorten and simplify code
* Other random cleanup bits and style fixes

BUG=none
TEST=none
R=henrik.lundin@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8467}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8467 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-23 21:29:45 +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
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
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
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
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
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
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
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
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
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
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
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
henrika@webrtc.org
62f6e75673 Refactoring WebRTC Java/JNI audio recording in C++ and Java.
This is a big refactoring of the existing C++/JNI/Java support for audio recording in native WebRTC:

- Removes unused code and old WEBRTC logging macros
- Now uses optimal sample rate and buffer size in Java AudioRecord (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)
- 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, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8325}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8325 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-11 08:39:19 +00:00
pbos@webrtc.org
f4c10d24dc Always use DeliverI420Frame in WebRtcVideoEngine.
Moves native_handle() path to DeliverI420Frame and CHECKs that
DeliverFrame is not being used anymore.

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

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

Cr-Commit-Position: refs/heads/master@{#8312}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8312 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-10 10:20:38 +00:00
pbos@webrtc.org
0d852d5c27 Use VideoReceiveStream as an ExternalRenderer.
Removes AddRenderCallback from ViERenderer and implements
VideoReceiveStream on top of DeliverI420Frame like WebRtcVideoEngine
currently does today.

Also adds ::IsTextureSupported() to the VideoRenderer interface to
permit querying whether an external renderer supports texture rendering.

R=stefan@webrtc.org
TBR=mflodman@webrtc.org
BUG=1667

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

Cr-Commit-Position: refs/heads/master@{#8299}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8299 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-09 15:15:24 +00:00
andresp@webrtc.org
53d9012faf Clean kForever from basictypes and move it to the interfaces that actually have it.
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8296}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8296 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-09 14:19:39 +00:00
pbos@webrtc.org
8cf9bdb3fa Remove USE_WEBRTC_DEV_BRANCH.
talk/ and webrtc/ are hosted in the same repository and it no longer
makes sense to support building talk/ without the corresponding webrtc/
catalog.

R=bjornv@webrtc.org, juberti@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#8291}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8291 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-09 10:17:12 +00:00
guoweis@webrtc.org
6c930c7183 Cleanup: unify rotation to be enum based instead of int for degree.
Split from https://webrtc-codereview.appspot.com/37029004/

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

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

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

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

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

Cr-Commit-Position: refs/heads/master@{#8288}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8288 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-09 01:29:45 +00:00
guoweis@webrtc.org
0c7ec770ff Cleanup: unify rotation to be enum based instead of int for degree.
Split from https://webrtc-codereview.appspot.com/37029004/

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

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

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

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

Cr-Commit-Position: refs/heads/master@{#8277}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8277 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-06 21:01:47 +00:00
guoweis@webrtc.org
110443aaac Cleanup: unify rotation to be enum based instead of int for degree.
Split from https://webrtc-codereview.appspot.com/37029004/

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

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

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

Cr-Commit-Position: refs/heads/master@{#8276}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8276 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-06 20:00:46 +00:00
magjed@webrtc.org
4b320cf214 Revert "Cleanup: unify rotation to be enum based instead of int for degree."
Reason for revert:
Compile error on bots - A subclass of cricket::VideoFrame still uses old GetRotation return type.

BUG=4145
TBR=guoweis,stefan,pthatcher

This reverts commit 3e733a43f5.

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

Cr-Commit-Position: refs/heads/master@{#8265}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8265 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-06 12:58:46 +00:00
guoweis@webrtc.org
3e733a43f5 Cleanup: unify rotation to be enum based instead of int for degree.
Split from https://webrtc-codereview.appspot.com/37029004/

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

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

Cr-Commit-Position: refs/heads/master@{#8257}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8257 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-05 23:40:43 +00:00