255 Commits

Author SHA1 Message Date
henrik.lundin@webrtc.org
fddeaf5daa Switch to using AudioEncoderG722 instead of ACMG722
This change switches from the old codec wrapper ACMG722 to the new
AudioEncodeG722 wrapped in an ACMGenericCodecWrapper.

BUG=4228
COAUTHOR=kwiberg@webrtc.org
R=tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8330}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8330 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-11 13:28:44 +00:00
henrik.lundin@webrtc.org
c2d0473320 Switch to using AudioEncoderPcm16B instead of ACMPCM16B
This change switches from the old codec wrapper ACMPCM16B to the new
AudioEncoderPcm16B wrapped in an ACMGenericCodecWrapper.

BUG=4228
COAUTHOR=kwiberg@webrtc.org
R=tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8324}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8324 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-11 08:25:44 +00:00
henrik.lundin@webrtc.org
8da96ac0f6 Switch to using AudioEncoderIlbc instead of ACMILBC
This change switches from the old codec wrapper ACMILBC to the new
AudioEncoderIlbc wrapped in an ACMGenericCodecWrapper.

BUG=4228
COAUTHOR=kwiberg@webrtc.org
R=tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8314}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8314 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-10 15:34:38 +00:00
henrik.lundin@webrtc.org
e01bae24a5 Fixing a nit
This is a follow-up for https://webrtc-codereview.appspot.com/33209004/
where a post-commit nit was provided.

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

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

Cr-Commit-Position: refs/heads/master@{#8295}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8295 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-09 13:21:44 +00:00
kwiberg@webrtc.org
1c6239a3b6 G711: Make input arrays const and use uint8_t[] for byte arrays
BUG=909
R=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8294}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8294 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-09 12:56:16 +00:00
henrik.lundin@webrtc.org
751a36590a Switch to using AudioEncoderPcmU/A instead of ACMPCMU/A
This change switches from the old codec wrappers ACMPCMU and ACMPCMA
to the new AudioEncoderPcmU and AudioEncoderPcmA wrapped in an
ACMGenericCodecWrapper. RED and CNG is also switched to using their
AudioEncoder implementations (AudioEncoderCopyRed and AudioEncoderCng,
respectively), when RED and/or CNG is combined with PCM u/A.

This is the first in a series of changes that will switch all codecs
to use the new AudioEncoder interface.

BUG=4228
COAUTHOR=kwiberg@webrtc.org
R=minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8268}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8268 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-06 14:03:41 +00:00
henrik.lundin@webrtc.org
f45c8ca88b Reland r8248 "Introduce ACMGenericCodecWrapper"
This effectively reverts r8249.

This new class inherits from ACMGenericCodec. The purpose is to wrap
AudioEncoder objects into an ACMGenericCodec interface. This is a
temporary construction that will be used during the ACM redesign work.

BUG=4228
COAUTHOR=kwiberg@webrtc.org
TBR=tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8255}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8255 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-05 18:30:16 +00:00
henrik.lundin@webrtc.org
3a87630629 Revert r8248 "Introduce ACMGenericCodecWrapper"
This reverts r8248 due to some build bot failures.

TBR=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8249}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8249 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-05 09:37:11 +00:00
henrik.lundin@webrtc.org
af8c13f2a1 Introduce ACMGenericCodecWrapper
This new class inherits from ACMGenericCodec. The purpose is to wrap
AudioEncoder objects into an ACMGenericCodec interface. This is a
temporary construction that will be used during the ACM redesign work.

BUG=4228
COAUTHOR=kwiberg@webrtc.org
R=tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8248}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8248 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-05 09:20:18 +00:00
pkasting@chromium.org
0e81fdf5d2 Avoid implicit type truncations by inserting explicit casts or modifying prototypes to avoid needless up- and then down-casting.
BUG=chromium:82439
TEST=none
R=henrik.lundin@webrtc.org, mflodman@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8229}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8229 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-02 23:54:40 +00:00
pkasting@chromium.org
026b892e72 Using << on an int8_t or uint8_t will output a character rather than a number.
Places that do this need to cast to int to get the desired behavior.

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

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

Cr-Commit-Position: refs/heads/master@{#8223}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8223 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-30 19:54:19 +00:00
henrik.lundin@webrtc.org
05db352f56 Fix a bug in ACM test channel
The test code could read outside the allocated memory. The bug could up
until now not be triggered by the production code, but coming changes
would uncover it.

COAUTHOR=kwiberg@webrtc.org
R=minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8216}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8216 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-30 13:04:16 +00:00
henrik.lundin@webrtc.org
3154a1cf9d Reland r8210 "Add a new parameter to ACMGenericCodec constructor""
This effectively reverts r8211.

The problem with r8210 was that the change in constructor signature was not done for other codec selections that then default one. That is, some code that was hidden under #ifdef did not get updated. This is now fixed.

BUG=4228
COAUTHOR=kwiberg@webrtc.org
TBR=minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8215}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8215 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-30 12:30:22 +00:00
henrik.lundin@webrtc.org
6752b85ff7 Revert r8210 "Add a new parameter to ACMGenericCodec constructor"
The change failed to compile on some bots.

TBR=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8211}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8211 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-30 06:36:41 +00:00
henrik.lundin@webrtc.org
c3643f2fe3 Add a new parameter to ACMGenericCodec constructor
Adding the same parameter to the constructors in all subclasses.

This change is in preparation for changes to come where this will be
needed.

BUG=4228
COAUTHOR=kwiberg@webrtc.org
R=minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8210}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8210 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-30 06:15:18 +00:00
tommi@webrtc.org
4161715e3f Remove ChangeUniqueID.
This fixes a two year old TODO of deleting dead code :)
In cases where the _id or id_ member variable is being used for tracing,
I changed the member to at least be const.

It doesn't look like id's are that useful anymore so maybe the next step is to get rid of them.

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

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

Cr-Commit-Position: refs/heads/master@{#8201}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8201 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-29 12:14:13 +00:00
kjellander@webrtc.org
7d2b6a9346 Enable Clang warning implicit-fallthrough and annotate the code.
BUG=4242
R=henrik.lundin@webrtc.org, stefan@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8187}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8187 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-28 18:38:13 +00:00
henrik.lundin@webrtc.org
664ccb7d8d Reland r8125: Modify some tests to never use DTX disable mode
DTX disable mode will be removed as a part of the ACM redesign work.

This CL effectively reverts r8129, and relands r8125, but now using
assert instead of DCHECK.

COAUTHOR:kwiberg@webrtc.org
TBR=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8185}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8185 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-28 14:49:12 +00:00
kjellander@webrtc.org
ff108fe508 Revert 8125 "Modify some tests to never use DTX disable mode"
Broke compile on the Chromium FYI bots:
http://build.chromium.org/p/chromium.webrtc.fyi/builders/Win%20Builder/builds/3483
http://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac/builds/16028
http://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux/builds/14293

Error:
In file included from ../../third_party/webrtc/voice_engine/channel.cc:13:
In file included from ../../third_party/webrtc/base/checks.h:22:
In file included from ../../third_party/webrtc/overrides/webrtc/base/logging.h:35:
../../base/logging.h:367:9:error: 'LOG' macro redefined [-Werror,-Wmacro-redefined]
#define LOG(severity) LAZY_STREAM(LOG_STREAM(severity), LOG_IS_ON(severity))
        ^
../../third_party/webrtc/system_wrappers/interface/logging.h:123:9: note: previous definition is here
#define LOG(sev) \
        ^
In file included from ../../third_party/webrtc/voice_engine/channel.cc:13:
In file included from ../../third_party/webrtc/base/checks.h:22:
../../third_party/webrtc/overrides/webrtc/base/logging.h:189:9:error: 'LOG_V' macro redefined [-Werror,-Wmacro-redefined]
#define LOG_V(sev) DIAGNOSTIC_LOG(sev, NONE, 0)
        ^
../../third_party/webrtc/system_wrappers/interface/logging.h:129:9: note: previous definition is here
#define LOG_V(sev) \
        ^
2 errors generated.

> Modify some tests to never use DTX disable mode
> 
> DTX disable mode will be removed as a part of the ACM redesign work.
> 
> COAUTHOR:kwiberg@webrtc.org
> 
> R=henrika@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/34769004

TBR=henrik.lundin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8129 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-22 19:02:03 +00:00
henrik.lundin@webrtc.org
043db24767 Modify some tests to never use DTX disable mode
DTX disable mode will be removed as a part of the ACM redesign work.

COAUTHOR:kwiberg@webrtc.org

R=henrika@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8125 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-22 13:30:58 +00:00
henrik.lundin@webrtc.org
fbd37bd737 Make iSAC SWB own its decoder
A bug in the ACM codec database caused iSAC-swb to behave differently
from iSAC-wb and -fb. With this fix, all iSAC codecs behave the same
with respect to decoder ownership.

R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8120 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-22 08:16:29 +00:00
minyue@webrtc.org
11af039590 Disable AcmSenderBitExactnessOldApi.Opus_stereo_20ms_voip on ARM64.
BUG=4199
R=henrik.lundin@webrtc.org, kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8114 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-21 14:22:39 +00:00
minyue@webrtc.org
7dba7860c7 Setting Opus target application.
This CL is to allow to set Opus target application at the creation of an encoder.

According to Opus spec, there are three applications:

OPUS_APPLICATION_VOIP
OPUS_APPLICATION_AUDIO
OPUS_APPLICATION_RESTRICTED_LOWDELAY

BUG=
R=henrik.lundin@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8103 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-20 16:01:50 +00:00
kjellander@webrtc.org
a32d15448d Disable tests failing on Android ARM64 (Nexus9).
BUG=4198,4199,4200
TBR=andrew@webrtc.org
TESTED=Printed using #pragma message to check that the define was properly used.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8090 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-19 12:46:01 +00:00
henrik.lundin@webrtc.org
1f67b53c88 Remove dual stream functionality in ACM
This is old code that is no longer in use. The clean-up is part of the
ACM redesign work. With this change, there is no longer need for the
ProcessDualStream method, which is removed. Consequently, the method
ProcessSingleStream is renamed to Process.

BUG=3520
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8074 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-15 09:36:30 +00:00
kwiberg@webrtc.org
2ebfac5649 Remove COMPILE_ASSERT and use static_assert everywhere
COMPILE_ASSERT is no longer needed now that we have C++11's
static_assert.

R=aluebs@webrtc.org, andrew@webrtc.org, hellner@chromium.org, henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8058 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-14 10:51:54 +00:00
andresp@webrtc.org
86e1e487e7 Move system_wrappers.gyp files to the proper directory.
Build targets should not refer to non-subpaths as was happening before when
 source/system_wrappers.gyp refers to ../interface/ files.

R=kjellander@webrtc.org, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8057 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-14 09:30:52 +00:00
kwiberg@webrtc.org
3df38b442f Unify the two copies of compile_assert.h
This patch basically deletes webrtc/base/compile_assert.h (which is
the more outdated copy) and moves
webrtc/system_wrappers/source/compile_assert.h to take its place.

R=aluebs@webrtc.org, andrew@webrtc.org, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8048 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-13 11:37:48 +00:00
pkasting@chromium.org
16825b1a82 Use int64_t more consistently for times, in particular for RTT values.
Existing code was inconsistent about whether to use uint16_t, int, unsigned int,
or uint32_t, and sometimes silently truncated one to another, or truncated
int64_t.  Because most core time-handling functions use int64_t, being
consistent about using int64_t unless otherwise necessary minimizes the number
of explicit or implicit casts.

BUG=chromium:81439
TEST=none
R=henrik.lundin@webrtc.org, holmer@google.com, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8045 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-12 21:51:21 +00:00
henrik.lundin@webrtc.org
c1c9291e9b Make an AudioEncoder subclass for RED
This class only supports the simple case of payload duplication. That
is, one single encoder is used, and the redundant payload is a one-step
delayed payload.

BUG=3926
R=kjellander@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7913 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-16 13:41:36 +00:00
pkasting@chromium.org
0b1534c52e Use int64_t for milliseconds more often, primarily for TimeUntilNextProcess.
This fixes a variety of MSVC warnings about value truncations when implicitly
storing the 64-bit values we get back from e.g. TimeTicks in 32-bit objects, and
removes the need for a number of explicit casts.

This also moves a number of constants so they're declared right where they're used, which is easier to read and maintain, and makes some of them of integral type rather than using the "enum hack".

BUG=chromium:81439
TEST=none
R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7905 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-15 22:09:40 +00:00
minyue@webrtc.org
abe3f1879c Checking whether ACM uses codec internal or WebRTC DTX.
It was not clear how one could know if ACM is using DTX from WebRTC or codec internal DTX.

This CL makes better use of IsInternalDTXReplacedWithWebRtc() which was designed for G.729 to export such information.

Before
IsInternalDTXReplacedWithWebRtc() gives true only if codec == G729 and G729's internal DTX is replaced with WebRTC DTX.

Now
IsInternalDTXReplacedWithWebRtc() gives true also when codec does not have internal DTX, i.e., must use WebRTC DTX, which is much more logical.

BUG=
R=henrik.lundin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7870 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-11 08:53:21 +00:00
pbos@webrtc.org
d8ca723de7 Remove CELT support from audio_coding.
R=henrik.lundin@webrtc.org, juberti@webrtc.org
TBR=kjellander@webrtc.org
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7864 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-10 11:49:13 +00:00
kwiberg@webrtc.org
e04a93bcf5 Move the AudioDecoder interface out of NetEq
It belongs with the codecs, next to the AudioEncoder interface.

R=andrew@webrtc.org, henrik.lundin@webrtc.org, kjellander@webrtc.org

Previously committed here: https://code.google.com/p/webrtc/source/detail?r=7798
and reverted here: https://code.google.com/p/webrtc/source/detail?r=7799

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7839 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-09 10:12:53 +00:00
kwiberg@webrtc.org
cb858ba397 Make an AudioEncoder subclass for iLBC
BUG=3926
R=henrik.lundin@webrtc.org, kjellander@google.com
TBR=kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7828 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-08 17:11:44 +00:00
minyue@webrtc.org
33ccdfa1f5 Relanding r7807.
r7807 was reverted to be excluded from the cause of a failure.

It has been verified and can reland now.

BUG=

TBR=kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7810 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-04 12:14:12 +00:00
minyue@webrtc.org
52bc4f4797 Revert 7807 "Removing unused opus wrapper APIs."
> Removing unused opus wrapper APIs.
> 
> WebRtcOpus_DecodeNew(), WebRtcOpus_DecoderInitNew() have become the APIs and are ready to replace old WebRtcOpus_Decode() and WebRtcOpus_DecoderInit().
> 
> WebRtcOpus_DecodePlcMaster/Slave() are also removed.
> 
> BUG=
> R=henrik.lundin@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/28139004

TBR=minyue@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7809 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-04 11:00:50 +00:00
minyue@webrtc.org
e54a6342dd Removing unused opus wrapper APIs.
WebRtcOpus_DecodeNew(), WebRtcOpus_DecoderInitNew() have become the APIs and are ready to replace old WebRtcOpus_Decode() and WebRtcOpus_DecoderInit().

WebRtcOpus_DecodePlcMaster/Slave() are also removed.

BUG=
R=henrik.lundin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7807 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-04 08:47:25 +00:00
kwiberg@webrtc.org
3800e13a3a Revert r7798 ("Move the AudioDecoder interface out of NetEq")
Apparently, it caused all sorts of problems I don't have time to
straighten out right now.

TBR=henrika@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7799 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-03 16:28:17 +00:00
kwiberg@webrtc.org
00ba1a7dfd Move the AudioDecoder interface out of NetEq
It belongs with the codecs, next to the AudioEncoder interface.

R=henrik.lundin@webrtc.org, kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7798 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-03 14:23:23 +00:00
kwiberg@webrtc.org
0cd5558f2b AudioEncoder subclass for G722
BUG=3926
R=henrik.lundin@webrtc.org, kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7779 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-02 11:45:51 +00:00
pkasting@chromium.org
4591fbd09f Use size_t more consistently for packet/payload lengths.
See design doc at https://docs.google.com/a/chromium.org/document/d/1I6nmE9D_BmCY-IoV6MDPY2V6WYpEI-dg2apWXTfZyUI/edit?usp=sharing for more information.

This CL was reviewed and approved in pieces in the following CLs:
https://webrtc-codereview.appspot.com/24209004/
https://webrtc-codereview.appspot.com/24229004/
https://webrtc-codereview.appspot.com/24259004/
https://webrtc-codereview.appspot.com/25109004/
https://webrtc-codereview.appspot.com/26099004/
https://webrtc-codereview.appspot.com/27069004/
https://webrtc-codereview.appspot.com/27969004/
https://webrtc-codereview.appspot.com/27989004/
https://webrtc-codereview.appspot.com/29009004/
https://webrtc-codereview.appspot.com/30929004/
https://webrtc-codereview.appspot.com/30939004/
https://webrtc-codereview.appspot.com/31999004/
Committing as TBR to the original reviewers.

BUG=chromium:81439
TEST=none
TBR=pthatcher,henrik.lundin,tina.legrand,stefan,tkchin,glaznev,kjellander,perkj,mflodman,henrika,asapersson,niklas.enbom

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7726 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-20 22:28:14 +00:00
kwiberg@webrtc.org
8b2058e733 Remove the state_ member from AudioDecoder
The subclasses that need a state pointer should declare them---with
the right type, not void*, to get rid of all those casts.

Two small but not quite trivial cleanups are included because they
blocked the state_ removal:

  - AudioDecoderG722Stereo now inherits directly from AudioDecoder
    instead of being a subclass of AudioDecoderG722.

  - AudioDecoder now has a CngDecoderInstance member function, which
    is implemented only by AudioDecoderCng. This replaces the previous
    practice of calling AudioDecoder::state() and casting the result
    to a CNG_dec_inst*. It still isn't pretty, but now the blemish is
    plainly visible in the AudioDecoder class declaration.

R=henrik.lundin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7644 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-06 07:54:31 +00:00
niklas.enbom@webrtc.org
368215dacb Revert 7623 "Remove the state_ member from AudioDecoder"
Breaks Chrome compile:
e:\b\build\slave\win_builder\build\src\third_party\webrtc\modules\audio_coding\neteq\neteq_impl.cc(131) : error C3867: 'webrtc::NetEqImpl::InsertPacketInternal': function call missing argument list; use '&webrtc::NetEqImpl::InsertPacketInternal' to create a pointer to member
e:\b\build\slave\win_builder\build\src\third_party\webrtc\modules\audio_coding\neteq\neteq_impl.cc(131) : error C3861: 'LOG_FERR1': identifier not found
e:\b\build\slave\win_builder\build\src\third_party\webrtc\modules\audio_coding\neteq\neteq_impl.cc(152) : error C3867: 'webrtc::NetEqImpl::InsertPacketInternal': function call missing argument list; use '&webrtc::NetEqImpl::InsertPacketInternal' to create a pointer to member
e:\b\build\slave\win_builder\build\src\third_party\webrtc\modules\audio_coding\neteq\neteq_impl.cc(152) : error C3861: 'LOG_FERR1': identifier not found
e:\b\build\slave\win_builder\build\src\third_party\webrtc\modules\audio_coding\neteq\neteq_impl.cc(169) : error C3867: 'webrtc::NetEqImpl::GetAudioInternal': function call missing argument list; use '&webrtc::NetEqImpl::GetAudioInternal' to create a pointer to member
...

> Remove the state_ member from AudioDecoder
> 
> The subclasses that need a state pointer should declare them---with
> the right type, not void*, to get rid of all those casts.
> 
> Two small but not quite trivial cleanups are included because they
> blocked the state_ removal:
> 
>   - AudioDecoderG722Stereo now inherits directly from AudioDecoder
>     instead of being a subclass of AudioDecoderG722.
> 
>   - AudioDecoder now has a CngDecoderInstance member function, which
>     is implemented only by AudioDecoderCng. This replaces the previous
>     practice of calling AudioDecoder::state() and casting the result
>     to a CNG_dec_inst*. It still isn't pretty, but now the blemish is
>     plainly visible in the AudioDecoder class declaration.
> 
> R=henrik.lundin@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/24169005

TBR=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7629 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-05 00:45:58 +00:00
kwiberg@webrtc.org
9e525585fd Remove the state_ member from AudioDecoder
The subclasses that need a state pointer should declare them---with
the right type, not void*, to get rid of all those casts.

Two small but not quite trivial cleanups are included because they
blocked the state_ removal:

  - AudioDecoderG722Stereo now inherits directly from AudioDecoder
    instead of being a subclass of AudioDecoderG722.

  - AudioDecoder now has a CngDecoderInstance member function, which
    is implemented only by AudioDecoderCng. This replaces the previous
    practice of calling AudioDecoder::state() and casting the result
    to a CNG_dec_inst*. It still isn't pretty, but now the blemish is
    plainly visible in the AudioDecoder class declaration.

R=henrik.lundin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7623 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-04 21:18:47 +00:00
kwiberg@webrtc.org
c78cf97ecb Remove the useless dummy state parameter to WebRtcG711_*
R=henrik.lundin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7609 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-04 13:23:36 +00:00
kwiberg@webrtc.org
721ef633d0 Remove the codec_type_ member from AudioDecoder
It isn't actually required, as evidenced by the comparative ease with
which it can be removed.

R=henrik.lundin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7606 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-04 11:51:46 +00:00
marpan@webrtc.org
4765ca55f9 Roll chromium_revision: 28d1981..d3db2ff
Pick up the libvpx roll: https://codereview.chromium.org/674753002

Summary of changes (28d1981..d3db2ff/DEPS):
* third_party/android_tools 36bf7ac..ea50ccc
* third_party/boringssl 7ea8481..751e889
* third_party/icu 8ac906f..d8b2a9d
* third_party/libvpx efe9712..2e5ced5
* third_party/usrsctp/usrsctplib
* tools/gyp 1990:1991
* tools/swarming_client a57d7db..bcb3bc3

Clang is not updated in this roll.

Made the change getchar() --> getc(stdin) as seems like getchar() isn't supported on android anymore.
(getchar() was causing the error: undefined reference to '__srget')

Update rate control parameter in vp9 test.

R=andrew@webrtc.org
TBR=ajm@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7598 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-03 20:10:26 +00:00
asapersson@webrtc.org
580d367b14 Add macros and APIs for webrtc histograms.
BUG=crbug/419657

Code that links system_wrappers.gyp:system_wrappers should either:
- provide implementations for the APIs, or
- link with default implementations in system_wrappers.gyp:system_wrappers_default.

R=andresp@webrtc.org, kjellander@webrtc.org, mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7508 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-23 12:57:56 +00:00
henrik.lundin@webrtc.org
913f7b8d5e Fix for glitches in ACM when switching desired output sample rate
The problem was that if the output sample rate is changed such from one
where no resampling is needed to a rate that requires resampling, the
first output from the resampler will contain an onset period. The
solution provided in this CL is to keep a copy of the last output frame
in ACM, and if the resampler is engaged, it will be primed with this
old frame before resampling the current frame.

BUG=3919
R=bjornv@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7479 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-21 06:54:23 +00:00