Commit Graph

8522 Commits

Author SHA1 Message Date
Yuriy Shevchuk
39f2b0c870 Implemented video device info for iOS
R=pbos@webrtc.org, tkchin@webrtc.org

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

Patch from Yuriy Shevchuk <youwrk@gmail.com>.

Cr-Commit-Position: refs/heads/master@{#9190}
2015-05-14 21:16:01 +00:00
Tommi
a4463b2b8a Further updates to fix libjingle logging.
Since libjingle log constant values decrease as severety goes up while Chrome's increase, I decided to handle the verbosity level check explicitly and convert libjingle severity over to chrome constants only when we log.
This also requires updating the unittests on the Chrome side.

BUG=chromium:401963
TBR=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9189}
2015-05-14 02:18:15 +00:00
Tommi
99eeee39eb Fix logging in Chrome.
The constants we were using for severities don't match Chrome's, so I added a little translation function.
A longer term fix could be to simply use the same values as in Chrome to not need the translation.
That will however be a bigger change.

BUG=chromium:401963
TBR=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9188}
2015-05-13 21:49:38 +00:00
Henrik Kjellander
06c577fd18 Set msvs_error_on_missing_sources=1 in GYP_GENERATOR_FLAGS on Windows.
This will make us detect when sources are listed in GYP files that
are no longer present on disk. This check only exists for Windows
but should be enough to keep our GYP files up to date with the file
system.

R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9187}
2015-05-13 13:00:11 +00:00
Minyue
2013aeced2 Propagating RTT from send-only channel to receive-only channel.
This is important for obtaining ntp time at receiver-only channel, which does not have RTT directly.

BUG=3978

TEST=chromium with hangout calls
R=henrika@webrtc.org, mflodman@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9186}
2015-05-13 12:14:36 +00:00
Stefan Holmer
070376697a Fix issue where receive-side encoders are included in the padding bitrate.
BUG=chromium:487528
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9185}
2015-05-13 12:01:35 +00:00
Peter Boström
9a63866272 Move IncomingVideoFrames to common_video/.
Permits using IncomingVideoFrame in VideoReceiveStream without depending
on VideoRender.

BUG=4588
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9184}
2015-05-13 11:28:04 +00:00
Peter Boström
4feb50500d Remove VideoProcessing::ColorEnhancement.
Code for creating this table still (currently) exists under
webrtc/modules/video_processing/main/test/unit_test/createTable.m. This
processing effect is disabled but still occupies 64k of binary size.

BUG=4491
R=marpan@google.com, mflodman@webrtc.org, marpan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9183}
2015-05-13 09:27:14 +00:00
André Susano Pinto
5ec998511c Windows utility to setTheadName to help debugging.
R=juberti@google.com, mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9182}
2015-05-13 07:20:48 +00:00
Noah Richards
9b9f1c4562 Remove basictypes.h dependency from bitbuffer.
This reduces the types exported in webrtc proper, which can cause other
issues (since it doesn't generally use webrtc/base/basictypes.h).
basictypes.h integral types (e.g. uint8) have been replaced by the
stdint counterparts (e.g. uint8_t), which matches general webrtc style.

The include for common.h has been replaced by constructormagic.h, which
was the only part used.

BUG=
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9181}
2015-05-12 19:20:44 +00:00
Andrew MacDonald
e2357149eb Guard new protobuf target with enable_protobuf==1.
Fixes a gyp error on iOS.

BUG=4642
TBR=aluebs@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9180}
2015-05-12 15:43:38 +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
Henrik Lundin
8171735b0c Add NetEqIlbcQualityTest
This is virtually the same as NetEq{Isac,Opus}QualityTest but for iLBC.

BUG=2692
R=minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9178}
2015-05-12 13:04:29 +00:00
Peter Boström
df664536af Remove FPS->kilo-FPS conversion in VideoSender.
Wat.

Also moving the parameter to make sure this doesn't happen as easily
(right now it was part of a bitrate conversion from kilobits to bits).

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

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

Cr-Commit-Position: refs/heads/master@{#9177}
2015-05-12 10:22:07 +00:00
Henrik Lundin
e5ff00a1c6 Add NetEqPcmuQualityTest
This is virtually the same as NetEq{Isac,Opus}QualityTest but for PCMu.

BUG=2692
R=minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9176}
2015-05-12 10:09:53 +00:00
Peter Boström
fade1790a7 Remove leaking aecdump testfiles.
Also removes tracing to file in ApmTest because it leads to remaining
files.

BUG=4258
R=bjornv@webrtc.org, kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9175}
2015-05-12 08:44:03 +00:00
Karl Wiberg
075bb8d125 Fix race in AudioCodingModuleImpl::Add10MsData()
AudioCodingModuleImpl::Add10MsData() calls two private methods that
together do all the work: Add10MsDataInternal() and Encode(). They
each took locks internally in order to protect access to, among other
things, codec_manager_.

This turned out to be inadequate. Add10MsDataInternal() calls
codec_manager_.CurrentEncoder()->SampleRateHz() in order to be able to
resample the audio data to what the current encoder wants. When the
resampled data is fed to the encoder deep inside the Encode() call,
that sample rate must still be correct, but occasionally it wasn't,
which triggered a CHECK. (The specific test that failed was the
voe_auto_test subtest
CodecTest.OpusMaxPlaybackRateCannotBeSetForNonOpus, which changes the
current encoder while encoding is in progress.)

This CL solves the problem by covering all of
AudioCodingModuleImpl::Add10MsData() in a single critical section, so
that the sample rate obtained in Add10MsDataInternal() is guaranteed
to still be valid during the Encode() call.

BUG=4644
R=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9174}
2015-05-12 08:09:58 +00:00
Joachim Bauch
1b794d56b7 Switch to use SHA-256 for certificates / fingerprints.
This CL changes identity generation to use SHA-256 for the self-signed
certificates and the fingerprints sent in the SDP.

BUG=4602
R=juberti@google.com

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

Cr-Commit-Position: refs/heads/master@{#9173}
2015-05-12 01:32:22 +00:00
Henrik Lundin
cb3e8fe492 Increase the tolerance in NetEq's DelayManagerTest a notch
This change is to make the test pass on Samsung devices.

BUG=4426
R=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9172}
2015-05-11 13:15:49 +00:00
Peter Boström
67c9df7982 Base NACK on send codecs.
Addressing discrepancy where NACK used to be set from send codecs in
WebRtcVideoEngine(1), and before this change, from recv codecs in
WebRtcVideoEngine2. This should address that NACK might be sent even if
the remote side does not support it.

BUG=4626
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9171}
2015-05-11 12:34:53 +00:00
Peter Boström
126c03ea02 Base decision to send REMB on send codecs.
Fixes bug where Chromium would send REMB even though the remote party
doesn't announce support for it (because it was based on local codec
settings instead of remote ones).

BUG=4626
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9170}
2015-05-11 10:48:08 +00:00
Henrik Lundin
64dad838e6 Reland r9159 "Adding a new constraint to set NetEq buffer capacity ..."
The original change was reverted due to a breakage in the chrome build.
This change includes a fix for this.

TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9169}
2015-05-11 10:44:20 +00:00
Minyue Li
092041c1cd Setting OPUS_SIGNAL_VOICE when enable DTX.
A better solution than forcing OPUS_APPLICATION_VOIP when enabling DTX has been found, which is to set OPUS_SIGNAL_VOICE.

This reduces the uncertainty of entering DTX over silence period of audio.

This CL contains the setup of OPUS_SIGNAL_VOICE and decoupling opus application mode with DTX.

BUG=4559
R=henrik.lundin@webrtc.org, henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9168}
2015-05-11 10:19:36 +00:00
Henrik Kjellander
9f7908e497 Roll chromium_revision ec5b768..62a5bb3 (328242:329063)
A minor code change had to be made due to
https://codereview.chromium.org/951983002

Relevant changes:
* src/buildtools: 15f5fc6..b0ede9c
Details: ec5b768..62a5bb3/DEPS

Clang version was not updated in this roll.

R=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9167}
2015-05-11 09:34:26 +00:00
Erik Språng
242e22b055 Refactor RTCP sender
The main purpose of this CL is to clean up RTCPSender::PrepareRTCP, but
it has quite a few ramifications. Notable changes:

* Removed the rtcpPacketTypeFlags bit vector and don't assume
  RTCPPacketType values have a single unique bit set. This will allow
  making this an enum class once rtcp_receiver has been overhauled.

* Flags are now stored in a map that is a member of the class. This
  meant we could remove some bool flags (eg send_remb_) which was
  previously masked into rtcpPacketTypeFlags and then masked out again
  when testing if a remb packet should be sent.

* Make all build methods, eg. BuildREMB(), have the same signature.
  An RtcpContext struct was introduced for this purpose. This allowed
  the use of a map from RTCPPacketType to method pointer. Instead of
  18 consecutive if-statements, there is now a single loop.
  The context class also allowed some simplifications in the build
  methods themselves.

* A few minor simplifications and cleanups.

The next step is to gradually replace the builder methods with the
builders from the new RtcpPacket classes.

BUG=2450
R=asapersson@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9166}
2015-05-11 08:17:46 +00:00
Henrik Lundin
1f629232d5 Revert r9164 "Adding a new constraint to set NetEq buffer capacity ..."
This reverts commit fd32f35aff.

TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9165}
2015-05-10 09:06:20 +00:00
Henrik Lundin
fd32f35aff Reland r9159 "Adding a new constraint to set NetEq buffer capacity ..."
This reverts commit cdb47a4533.

Contains a tentative fix to the chrome build breakage caused by the
original change.

TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9164}
2015-05-10 09:03:00 +00:00
Jiayang Liu
54adb28e89 mac: Explicitly redeclare methods only available on 10.7+.
When compiling against an OSX 10.7+ SDK, explicitly redeclare methods only
available from an OSX 10.7+ SDK. This suppresses the clang warning
-Wpartial-availability, which will be turned on in the future.

BUG=chromium:471823
R=jiayl@webrtc.org, mark@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#9163}
2015-05-08 18:48:58 +00:00
Lally Singh
4c277bb938 Add basic SCTP packet logging.
Attempts to get wireshark to decode the DTLS were problematic (wireshark only does it for certain versions of some DTLS implementations), so just do what firefox does and dump a txt2pcap-compatible log when requested.

R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9162}
2015-05-08 18:39:04 +00:00
Henrik Lundin
cdb47a4533 Revert r9159 "Adding a new constraint to set NetEq buffer capacity ..."
This reverts commit 208a2294cd.
Breaks the Chrome build.

TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9161}
2015-05-08 12:03:46 +00:00
Peter Boström
45553aefac Remove VideoEngine interface usage from new API.
Instantiates ProcessThread/ChannelGroup inside Call instead of using
VideoEngine or ViEBase. This removes the need for ViEChannelManager,
ViEInputManager and other ViESharedData completely.

Some interface headers are still referenced due to external interfaces
being defined there. Upon interface removal these will be moved to
implementation headers.

BUG=1695
R=mflodman@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9160}
2015-05-08 11:54:39 +00:00
Henrik Lundin
208a2294cd Adding a new constraint to set NetEq buffer capacity from peerconnection
This change makes it possible to set a custom value for the maximum
capacity of the packet buffer in NetEq (the audio jitter buffer). The
default value is 50 packets, but any value can be set with the new
functionality.

R=jmarusic@webrtc.org, mflodman@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9159}
2015-05-08 10:58:51 +00:00
Henrik Lundin
83b5c053b9 Modify NetEqQualityTest
- Take input sample rate as parameter - provides resampling when needed.
- Add support for wav output.

BUG=2692
R=minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9158}
2015-05-08 08:34:00 +00:00
Andrew MacDonald
cb05b72eb2 Add WAV and arbitrary geometry support to nlbf test.
This adds functionality from audioproc_float. The geometry parsing code
is now shared from test_utils.h. I removed the "mic_spacing" flag from
audioproc_float because it's a redundancy that I suspect isn't very
useful.

Includes a cleanup of the audio_processing test utils. They're now
packaged in targets, with the protobuf-using ones split out to avoid
requiring users to depend on protobufs.

pcm_utils is no longer needed and removed.

The primary motivation for this CL is that AudioProcessing currently
doesn't support more than two channels and we'd like a way to pass
more channels to the beamformer.

R=aluebs@webrtc.org, mgraczyk@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#9157}
2015-05-08 05:17:58 +00:00
Fredrik Solenberg
d3ddc1b69e Consistently use DCHECK, not ASSERT or assert in talk/media/webrtc/.
BUG=
R=pbos@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9156}
2015-05-07 15:07:36 +00:00
Fredrik Solenberg
e444a3dcd3 WebRtcVoiceEngine: Get rid of unnecessary template base class.
BUG=
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9155}
2015-05-07 14:42:12 +00:00
Fredrik Solenberg
aaf8ff2e45 WebRtcVoiceEngine: virtual to override + git cl format.
BUG=
R=kwiberg@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9154}
2015-05-07 14:05:57 +00:00
Fredrik Solenberg
6179b89e53 Remove unused API on WebRtcVoiceEngine.
BUG=1695
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9153}
2015-05-07 14:01:30 +00:00
Karl Wiberg
2ea71c3279 Replace ACMGenericCodec with CodecOwner and AudioEncoderMutable
CodecOwner is introduced here; AudioEncoderMutable was introduced in a
previous commit, but had no users until now. The only remaining task
for ACMGenericCodec was to construct and maintain the stack of speech,
CNG, and RED encoders. This task is now handled by the CodecOwner,
which is owned and used by the CodecManager.

COAUTHOR=henrik.lundin@webrtc.org
BUG=4228
R=jmarusic@webrtc.org, minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9152}
2015-05-07 13:49:24 +00:00
Stefan Holmer
53d0dc3f06 Wire up RTT to send-side GCC and TCP.
BUG=4548
R=magalhaesc@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9151}
2015-05-07 13:04:29 +00:00
Fredrik Solenberg
4b60c73e74 Hook up libjingle WebRtcVoiceEngine to Call API for combined A/V BWE.
BUG=4574,3109
R=pbos@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9150}
2015-05-07 12:07:46 +00:00
Karl Wiberg
dcccab3ebb New interface: AudioEncoderMutable
With implementations for all codecs. It has no users yet. This new
interface is the same as AudioEncoder (in fact it is a subclass) but
it allows changing some parameters after construction.

COAUTHOR=henrik.lundin@webrtc.org
BUG=4228
R=jmarusic@webrtc.org, minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9149}
2015-05-07 10:35:18 +00:00
Peter Boström
81ea54eaac Remove WebRtcVideoEngine.
Leaves a stub file for talk/media/webrtc/webrtcvideoengine.cc until
build files in Chromium have been modified.

BUG=1695,4566
R=mflodman@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9148}
2015-05-07 09:41:10 +00:00
Bjorn Volcker
ccfc93913c Reinterpret AudioOption delay_agnostic_aec to override HW-AEC
This CL will change the behavior when enabling Delay Agnostic AEC through the media constraint (and AudioOption delay_agnostic_aec)

FROM
 Use DA-AEC instead of AECM if there is no HW-AEC
TO
 Use DA-AEC even if there is a HW-AEC

Before this change the user will not really know if the Delay Agnostic AEC is running or not, so it is more intuitive if the option overrides the built-in one if the user has asked for it.

BUG=4472
TESTED=locally with a modified AppRTCDemo app
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9147}
2015-05-07 05:43:23 +00:00
Cesar Magalhaes
c81591d63f NADA's proposal from Cisco.
The implementation of this proposal is in progress.
More unittest will be added.
Sender side is being implemented.
Some constants need to be tuned.

BUG=4550
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9146}
2015-05-06 20:29:09 +00:00
Jelena Marusic
f353dd59b5 VoE: cleanup VoENetwork implementation
Changes:
1. Documented return values of VoENetwork methods.
2. In VoENetworkImpl: replaced calls to SetLastError() with LOG_F(). SetLastError() is not used anymore because no one is calling LastError() to check for last error. Also, its usage is being removed in Video Engine and we want to be consistent.
3. In VoENetworkImpl: removed WEBRTC_TRACE() usage.
4. In VoENetworkImpl: replaced some defensive code with assert(). We are now assuming that the caller has called VoEBase::Init() where needed. We are also assuming that it is invalid to pass nullptr where data is expected.
5. Updated unit tests accordingly.

R=henrika@webrtc.org, kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9145}
2015-05-06 13:04:29 +00:00
Bjorn Volcker
1ff218fac3 audio_processing/aec: Do not scale target delay at startup when on Android
When running AEC in extended_filter mode there is no startup phase to evaluate the reported system delay values.
Instead we simply use the first value and scale by two to avoid over compensating when synchronizing render and capture.
We don't need to be too accurate since we have extended the filter length.

On Android we use fixed (measured) reported delay values.
There is no need to be extra conservative here, because that is already built-in in the measured value.
In fact, the difference between devices is large and with such an extra conservative approach the true delay can not be caught by the filter length.
With this change we can improve performance on some devices.

BUG=4472
TESTED=offline on recordings from various devices
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9144}
2015-05-06 10:08:50 +00:00
Bjorn Volcker
532531b656 audio_processing/delay_estimator: Always update robust validation statistics
The delay estimator has a robust_validation mode used to deliver more stable delay etimates. The cost is increased reaction time when we have a delay jump.
This mode can be turned on and off on the fly, but statistics are not updated while disabled. This makes the estimator unreliable if it is enabled on the fly.

This CL makes sure the update is always done.

BUG=4472
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9143}
2015-05-06 09:58:09 +00:00
Bjorn Volcker
40a6d593d2 audio_processing/tests: Adds a flag to unpack input data to text file
For quick and easy aecdump verifiation storing data as text speeds up the issue tracking process, since anyone can simply view values like mic volume.

BUG=4609
TESTED=verified unpacking an aecdump with flag --txt stores that data in text files
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9142}
2015-05-06 08:51:47 +00:00
Henrik Boström
9695d8523b Added VP9FrameBufferPool, a memory pool that is shared between libvpx and webrtc. Using the VP9 codec, the libvpx decoder will obtain its buffers from our memory pool. This lets us reuse the same buffers for our I420VideoFrames and not have to copy a frame for every decode (from libvpx buffers to webrtc/I420VideoFrame buffers).
(This is similar to chromium's MemoryPool in vpx_video_decoder.cc.)

BUG=1128
R=kjellander@webrtc.org, magjed@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9141}
2015-05-06 08:42:22 +00:00