jmarusic@webrtc.org
9afaee74ab
Reland 8749: AudioEncoder: return EncodedInfo from Encode() and EncodeInternal()
...
Old review at:
https://webrtc-codereview.appspot.com/43839004/
R=kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/45769004
Cr-Commit-Position: refs/heads/master@{#8788}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8788 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-19 08:51:20 +00:00
tommi@webrtc.org
019955d770
Revert 8749 "We changed Encode() and EncodeInternal() return typ..."
...
The reason is that this cl adds a static initializer so we can't roll webrtc into Chromium.
See audio_encoder.cc and 'sizes' regression here:
http://build.chromium.org/p/chromium/builders/Linux%20x64/builds/186
> We changed Encode() and EncodeInternal() return type from bool to void in this issue:
> https://webrtc-codereview.appspot.com/38279004/
> Now we don't have to pass EncodedInfo as output parameter, but can return it instead. This also adds the benefit of making clear that EncodeInternal() needs to fill in this info.
>
> R=kwiberg@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/43839004
TBR=jmarusic@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/49449004
Cr-Commit-Position: refs/heads/master@{#8772}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8772 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-18 06:38:40 +00:00
minyue@webrtc.org
7c112f3e5a
Adding build_opus as a switch in GYP.
...
This is to allow not building Opus. On non-chromium non-gyp chases, one can let WebRTC depend on other Opus builds.
BUG=
R=kjellander@webrtc.org , tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/43739004
Cr-Commit-Position: refs/heads/master@{#8754}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8754 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-17 14:05:18 +00:00
jmarusic@webrtc.org
0cb612b43b
We changed Encode() and EncodeInternal() return type from bool to void in this issue:
...
https://webrtc-codereview.appspot.com/38279004/
Now we don't have to pass EncodedInfo as output parameter, but can return it instead. This also adds the benefit of making clear that EncodeInternal() needs to fill in this info.
R=kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/43839004
Cr-Commit-Position: refs/heads/master@{#8749}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8749 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-17 12:13:13 +00:00
minyue@webrtc.org
7f7d7e3427
Prevent crash in NetEQ when decoder overflow.
...
NetEQ can crash when decoder gives too many output samples than it can handle. A practical case this happens is when multiple opus packets are combined.
The best solution is to pass the max size to the ACM decode function and let it return a failure if the max size if too small.
BUG=4361
R=henrik.lundin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/45619004
Cr-Commit-Position: refs/heads/master@{#8730}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8730 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-16 12:31:19 +00:00
minyue@webrtc.org
e16bfde512
Adding flag to force Opus application and DTX while toggling.
...
Currently, we only allow Opus DTX in combination with Opus kVoip mode. When one of them is toggled, the other might need to change as well. This CL is to introduce a flag to force a co-config.
BUG=
R=henrik.lundin@webrtc.org , tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/40159004
Cr-Commit-Position: refs/heads/master@{#8698}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8698 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-12 15:29:23 +00:00
jmarusic@webrtc.org
51ccf37638
AudioEncoder: add method MaxEncodedBytes
...
Added method AudioEncoder::MaxEncodedBytes() and provided implementations in derived encoders. This method returns the number of bytes that can be produced by the encoder at each Encode() call.
Unit tests were updated to use the new method.
Buffer allocation was not changed in AudioCodingModuleImpl::Encode(). It will be done after additional investigation.
Other refactoring work that was done, that may not be obvious why:
1. Moved some code into AudioEncoderCng::EncodePassive() to make it more consistent with EncodeActive().
2. Changed the order of NumChannels() and RtpTimestampRateHz() declarations in AudioEncoderG722 and AudioEncoderCopyRed classes. It just bothered me that the order was not the same as in AudioEncoder class and its other derived classes.
R=kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/40259005
Cr-Commit-Position: refs/heads/master@{#8671}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8671 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-10 15:42:21 +00:00
henrik.lundin@webrtc.org
c86bbbaa93
Add speech flag to EncodedInfo
...
The flag indicates if the encoded bitstream is speech or comfort noise.
COAUTHOR=kwiberg@webrtc.org
R=jmarusic@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/42629004
Cr-Commit-Position: refs/heads/master@{#8598}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8598 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 16:03:19 +00:00
kjellander@webrtc.org
14665ff7d4
Roll chromium_revision e144d30..6fdb142 (318658:318841) + remove OVERRIDE macro
...
Clang version changed 223108:230914
Details: e144d30..6fdb142 /tools/clang/scripts/update.sh
Removes the OVERRIDE macro defined in:
* webrtc/base/common.h
* webrtc/typedefs.h
The majority of the source changes were done by running this in src/:
perl -0pi -e "s/virtual\s([^({;]*(\([^({;]*\)[^({;]*))(OVERRIDE|override)/\1override/sg" `find {talk,webrtc} -name "*.h" -o -name "*.cc*" -o -name "*.mm*"`
which converted all:
virtual Foo() OVERRIDE
functions to:
Foo() override
Then I manually edited:
* talk/media/webrtc/fakewebrtccommon.h
* webrtc/test/fake_common.h
Remaining uses of OVERRIDE was fixed by search+replace.
Manual edits were done to fix virtual destructors that were
overriding inherited ones.
Finally a build error related to the pure virtual definitions of
Read, Write and Rewind in common_types.h required a bit of
refactoring in:
* webrtc/common_types.cc
* webrtc/common_types.h
* webrtc/system_wrappers/interface/file_wrapper.h
* webrtc/system_wrappers/source/file_impl.cc
This roll should make it possible for us to finally re-enable deadlock
detection for TSan on the buildbots.
BUG=4106
R=pbos@webrtc.org , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/41069004
Cr-Commit-Position: refs/heads/master@{#8596}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8596 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 13:04:54 +00:00
minyue@webrtc.org
0561716ae2
Adding Opus DTX support in ACM.
...
This solution does not use the existing VAD/DTX logic of ACM, since Opus DTX is codec feature, while ACM VAD/DTX is mainly for setting the WebRTC VAD/DTX.
During the development of this CL, two old bugs were found and are fixed in this CL too.
They are in
webrtc/modules/audio_coding/test/Channels.cc
and webrtc/modules/audio_coding/main/acm2/acm_opus_unittest.cc
respectively.
BUG=webrtc:1014
R=henrik.lundin@webrtc.org , tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/38469004
Cr-Commit-Position: refs/heads/master@{#8573}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8573 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-03 12:03:14 +00:00
minyue@webrtc.org
db93b68031
Removing NetEq's direct dependencies on Opus headers.
...
Neteq had a direct dependency on Chromium/third_party/opus. This should be relayed by target webrtc_opus.
BUG=
R=henrik.lundin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/42529004
Cr-Commit-Position: refs/heads/master@{#8567}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8567 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-03 09:28:53 +00:00
jmarusic@webrtc.org
b1f0de30be
AudioEncoder: change Encode and EncodeInternal return type to void
...
After code cleanup done on issues:
https://webrtc-codereview.appspot.com/34259004/
https://webrtc-codereview.appspot.com/43409004/
https://webrtc-codereview.appspot.com/34309004/
https://webrtc-codereview.appspot.com/34309004/
https://webrtc-codereview.appspot.com/36209004/
https://webrtc-codereview.appspot.com/40899004/
https://webrtc-codereview.appspot.com/39279004/
https://webrtc-codereview.appspot.com/42099005/
and the similar work done for AudioEncoderDecoderIsacT, methods AudioEncoder::Encode and AudioEncoder::EncodeInternal will always succeed. Therefore, there is no need for them to return bool value that represents success or failure.
R=kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/38279004
Cr-Commit-Position: refs/heads/master@{#8518}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8518 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-26 15:38:46 +00:00
kwiberg@webrtc.org
00b8f6b364
Use base/scoped_ptr.h; system_wrappers/interface/scoped_ptr.h is going away
...
BUG=
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/36229004
Cr-Commit-Position: refs/heads/master@{#8517}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8517 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-26 14:43:50 +00:00
jmarusic@webrtc.org
13ca5f6db2
AudioEncoderOpus: CHECK that encode call doesn't fail
...
WebRtcOpus_Encode will only ever fail if fed bad input, and since we don't do that, we can CHECK that it doesn't fail instead of having code that tries to handle failure.
R=kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/40899004
Cr-Commit-Position: refs/heads/master@{#8469}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8469 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-24 09:57:18 +00:00
henrik.lundin@webrtc.org
635838bd9b
Re-implementing AcmOpusTest as AcmGenericCodecOpusTest
...
The old AcmOpusTest depends on the ACMOpus class, but this class was
obsoleted by AudioEncoderOpus. In this CL, the test code is re-written
to use AudioEncoderOpus and ACMGenericCodecWrapper instead of
ACMOpus. Most of the test functionality is preserved, except for the
packet loss rate tests, which where already transferred to
AudioEncoderOpusTest in r8244.
R=kwiberg@webrtc.org , minyue@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/40029004
Cr-Commit-Position: refs/heads/master@{#8410}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8410 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-18 13:15:45 +00:00
kwiberg@webrtc.org
0521127779
AudioEncoder: Rename virtual accessors to CamelCase
...
Although sample_rate_hz(), num_channels(), and rtp_timestamp_rate_hz()
are simple accessors for almost all implementations of AudioEncoder,
they are virtual and not guaranteed to be just simple accessors. Thus,
it makes more sense to use the normal CamelCase naming scheme.
BUG=4235
R=henrik.lundin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/34239004
Cr-Commit-Position: refs/heads/master@{#8407}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8407 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-18 12:01:13 +00:00
henrik.lundin@webrtc.org
6c68c85b46
Switch to using AudioEncoderOpus instead of ACMOpus
...
This change switches from the old codec wrapper ACMOpus to the new
AudioEncoderOpus wrapped in an ACMGenericCodecWrapper.
BUG=4228
TEST=Please, try the Opus codec extensively.
COAUTHOR=kwiberg@webrtc.org
R=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/33259004
Cr-Commit-Position: refs/heads/master@{#8341}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8341 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-11 21:34:06 +00:00
kjellander@webrtc.org
2b69eab077
Restructure GYP for vp9, opus and direct trace
...
This is needed to make the build more flexible for some use cases.
BUG=4185
R=andresp@webrtc.org , stefan@webrtc.org , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/34099004
Cr-Commit-Position: refs/heads/master@{#8290}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8290 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-09 10:01:40 +00:00
henrik.lundin@webrtc.org
cf7efeba37
Add new AudioEncoderOpusTest
...
This test will replace AcmOpusTest when ACMOpus is removed. The old
AcmOpusTest also contains tests for setting and updating the
"application" setting in Opus. However, in the new AudioEncoderOpus
class, the application is trivially set in the Config struct at
construction, wherefore a test is no longer needed.
BUG=3926
R=minyue@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/37929004
Cr-Commit-Position: refs/heads/master@{#8244}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8244 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-04 15:34:40 +00:00
henrik.lundin@webrtc.org
13980253f0
Add new members to AudioEncoderOpus::Config
...
Adding fec_enabled and max_playback_rate_hz.
BUG=3926
COAUTHOR:kwiberg@webrtc.org
R=minyue@webrtc.org , tina.legrand@webrtc.org
TBR=kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/39659004
Cr-Commit-Position: refs/heads/master@{#8207}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8207 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-29 16:09:08 +00:00
henrik.lundin@webrtc.org
478cedc055
Add new methods to AudioEncoder interface
...
The following three methods are added:
rtp_timestamp_rate_hz()
SetTargetBitrate()
SetProjectedPacketLossRate()
Default implementations are provided, and a few overrides are
implemented. AudioEncoderCopyRed and AudioEncoderCng propagate the new
methods to the underlying speech codec.
BUG=3926
COAUTHOR:kwiberg@webrtc.org
R=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/34049004
Cr-Commit-Position: refs/heads/master@{#8171}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8171 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-27 18:25:40 +00:00
henrik.lundin@webrtc.org
b6fab2b1cd
Introduce rtc::CheckedDivExact
...
Use the new method to replace local ones in AudioEncoder{Opus,Isac}.
COAUTHOR:kwiberg@webrtc.org
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/34779004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8148 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-26 11:08:53 +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
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
henrik.lundin@webrtc.org
3b79daff14
Moving encoded_bytes into EncodedInfo
...
BUG=3926
R=kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/35469004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7883 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-12 13:31:24 +00:00
minyue@webrtc.org
0ca768b131
Adding DTX to WebRTC Opus wrapper (relanding).
...
This is relanding of r7846, which failed since the unit test depended on whether Opus is in fixed-point or float-point.
See the review of r7846 here:
https://webrtc-codereview.appspot.com/13219004/
Patch set 1 is the same as r7846. Further fixes are found in patch set 2 and later.
BUG=
R=henrik.lundin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/32299004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7878 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-11 16:09:35 +00:00
minyue@webrtc.org
19dd129c69
Revert 7846 "Adding DTX to WebRTC Opus wrapper"
...
> Adding DTX to WebRTC Opus wrapper
>
> This is a step toward adding Opus DTX support in WebRTC.
>
> Note that opus_encode() returns 1 byte in case of DTX, then the packet does not need to be transmitted. See
>
> https://mf4.xiph.org/jenkins/view/opus/job/opus/ws/doc/html/group__opus__encoder.html
>
> We transmit the first 1-byte packet to let decoder be in-sync
>
> BUG=webrtc:1014
> R=henrik.lundin@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/13219004
TBR=minyue@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/34449004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7848 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-09 15:11:15 +00:00
minyue@webrtc.org
4321f175f1
Adding DTX to WebRTC Opus wrapper
...
This is a step toward adding Opus DTX support in WebRTC.
Note that opus_encode() returns 1 byte in case of DTX, then the packet does not need to be transmitted. See
https://mf4.xiph.org/jenkins/view/opus/job/opus/ws/doc/html/group__opus__encoder.html
We transmit the first 1-byte packet to let decoder be in-sync
BUG=webrtc:1014
R=henrik.lundin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/13219004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7846 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-09 13:27:39 +00:00
henrik.lundin@webrtc.org
8911bc52f1
Add AudioEncoder::Max10MsFramesInAPacket
...
BUG=3926
R=kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/29179004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7834 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-08 21:15:55 +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
henrik.lundin@webrtc.org
8dc21dc238
Rename internal AudioEncoder::Encode method to EncodeInternal
...
BUG=3926
R=kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/28129004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7801 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-03 20:36:03 +00:00
henrik.lundin@webrtc.org
7f1dfa5b61
Adding a payload type to AudioEncoder objects
...
The type is set in the Config struct and is provided in the EncodedInfo
output struct from each Encode() call. The audio_decoder_unittest is
updated to verify correct propagation of the payload type.
BUG=3926
R=kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/27299004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7780 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-02 12:08:39 +00:00
henrik.lundin@webrtc.org
1db20a4180
Adding EncodedInfo struct to AudioEncoder::Encode
...
This struct will be expanded in future changes.
BUG=3926
R=kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/31049004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7771 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-01 14:44:50 +00:00
kwiberg@webrtc.org
decd9306ae
AudioEncoder: num_10ms_frames_per_packet -> Num10MsFramesInNextPacket
...
Rename this accessor function to reflect its new, slightly changed
meaning. The reason for the change is that some codecs (iSAC) vary the
number of 10 ms frames from packet to packet, and so can't return a
truly constant value.
BUG=3926
R=henrik.lundin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/31849004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7556 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-29 08:38:50 +00:00
kwiberg@webrtc.org
663fdd02fd
Make an AudioEncoder subclass for Opus
...
BUG=3926
R=henrik.lundin@webrtc.org , kjellander@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/23239004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7552 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-29 07:28:36 +00:00
kwiberg@webrtc.org
4bd2db9a55
Opus wrapper: Use const for inputs and uint8[] for byte streams
...
About half of the functions already followed the desired pattern; this
patch fixes the other half.
BUG=909
R=aluebs@webrtc.org , bjornv@webrtc.org , henrik.lundin@webrtc.org , minyue@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/26719004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7409 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-09 11:21:10 +00:00
minyue@webrtc.org
adee8f9242
Renaming SetOpusMaxBandwidth to SetOpusMaxPlaybackRate
...
This is to maintain the consistency with the Opus codec option "maxplaybackrate" defined in http://tools.ietf.org/html/draft-spittka-payload-rtp-opus-03
BUG=
R=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/14279004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7038 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-03 12:28:06 +00:00
kjellander@webrtc.org
34a865a038
Roll chromium_revision 288251:289723
...
Mainly to pick up the libvpx.gyp change in r288724
to unblock https://webrtc-codereview.appspot.com/16229005/
Overview of changes in Chrome DEPS:
$ svn diff http://src.chromium.org/chrome/trunk/src/DEPS -r 288251:289723
which can be compared with the output of:
$ svn cat http://webrtc.googlecode.com/svn/trunk/DEPS | grep chromium_deps | sed 's/^ *//' | sort | uniq
In a WebRTC checkout, that sums up to the following relevant changes:
* src/buildtools 59b932:567f0a
* testing/gtest 643:692
* testing/gmock 410:485
* third_party/boringssl/src 533cbe:c3d796
* third_party/libvpx 287125:289332
* third_party/libyuv 1035:1038
* third_party/nss 287121:289430
* third_party/opus/src 256783:289085
* tools/gyp 1959:1964
BUG=2863, chromium:339647
TEST=Local testing as trybots currently cannot handle DEPS changes properly due to http://crbug.com/385594
R=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/22119004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6913 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-16 18:49:55 +00:00
minyue@webrtc.org
0040a6ef97
This is a setup to solve
...
https://code.google.com/p/webrtc/issues/detail?id=1906
In particular, we add an API to call Opus's set maximum bandwidth to prevent the encoder from coding audio content beyond this bandwidth so as to increase computation and transmission efficiency (without affecting sampling rate).
BUG=
R=henrik.lundin@webrtc.org , turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/13099004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6817 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-04 14:41:57 +00:00
minyue@webrtc.org
f563e85ab0
This is to re-open an earlier CL
...
https://webrtc-codereview.appspot.com/16619005/
which is reverted due to an issue in audio conference mixer.
This issue has been solved in
https://webrtc-codereview.appspot.com/20779004/
BUG=webrtc:3155
R=turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/18819005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6736 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-18 21:11:27 +00:00
minyue@webrtc.org
d42da54768
Revert 6458 "Since NetEq4 is ready to handle 48 kHz codec, it is..."
...
> Since NetEq4 is ready to handle 48 kHz codec, it is good to remove the 48-to-32kHz downsampling of Opus output. This facilitates webrtc to make full use of Opus's bandwidth and eliminates unneeded computation in resampling.
>
> TEST=passed_all_trybots
> R=henrik.lundin@webrtc.org , tina.legrand@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/16619005
TBR=minyue@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/17719004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6462 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-17 09:50:12 +00:00
minyue@webrtc.org
8f8503d947
Since NetEq4 is ready to handle 48 kHz codec, it is good to remove the 48-to-32kHz downsampling of Opus output. This facilitates webrtc to make full use of Opus's bandwidth and eliminates unneeded computation in resampling.
...
TEST=passed_all_trybots
R=henrik.lundin@webrtc.org , tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/16619005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6458 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-17 08:02:05 +00:00
solenberg@webrtc.org
a28c697d93
- Get rid of 'using' from .h
...
- Add parenthesis to make order of evaluation clearer.
BUG=
R=minyue@webrtc.org , tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/12659004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6304 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-02 15:22:33 +00:00
fischman@webrtc.org
2c89b5cb27
Make everyone an OWNER for .gyp/.gypi add/delete purposes, non-talk/ edition.
...
This CL brought to you by:
$ for d in $(for f in $(git ls-files '*gyp' '*gypi'); do dirname $f; done|sort|uniq|grep -v '^\.$'); do echo -e "\n# These are for the common case of adding or renaming files. If you're doing\n# structural changes, please get a review from a reviewer in this file.\nper-file *.gyp=*\nper-file *.gypi=*" >> $d/OWNERS; done
$ for d in $(for f in $(git ls-files '*gyp' '*gypi'); do dirname $f; done|sort|uniq|grep -v '^\.$'); do git add $d/OWNERS; done
(and then removed the talk/ impact)
R=niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/11969004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5903 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-14 20:08:03 +00:00
minyue@webrtc.org
46509c8d58
adding FEC support to WebRTC Opus wrapper and tests.
...
BUG=
R=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/7539004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5656 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-07 11:49:11 +00:00
minyue@webrtc.org
04546884bf
This CL is to add Opus complexity knob and to test it.
...
As a by-product, a generic tool for testing and comparing the complexity of codecs is added, and new audio files are added to the resources.
Three complexity tests are included
1. Default Opus complexity
2. Opus complexity knob
3. Default iSAC complexity (to compare with Opus)
The complexity tests are only meant for development reasons
and not to be run at bots.
The .isolate file is only needed for the APK packaging and test execution on Android.
TEST=passes all trybots
BUG=
R=kjellander@webrtc.org , tina.legrand@webrtc.org , turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/8969004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5655 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-07 08:55:48 +00:00
pbos@webrtc.org
57eb858698
Remove ".." from include_dirs in build/common.
...
BUG=1662
TEST=compile on trybots
R=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2332004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5107 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-11 10:20:27 +00:00
minyue@webrtc.org
ecbe0aa543
Added Opus stereo support
...
TESTED=git try
BUG=webrtc:1360
R=tina.legrand@webrtc.org , turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1868004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4521 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-12 06:48:09 +00:00