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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
bd21fb5f8d
Adding call to Opus PLC
...
NetEq will call the PLC function in Opus only to set the decoder state. The actual PLC data will not be used.
BUG=https://code.google.com/p/webrtc/issues/detail?id=1181
R=tterribe@webrtc.org , turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1727004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4504 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-08 11:01:07 +00:00
45426eadf5
In call to Opus decoder: frame length too large
...
BUG=https://code.google.com/p/webrtc/issues/detail?id=1201
R=turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1752004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4292 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-03 13:32:04 +00:00
3004c79c6a
Fix clang errors in non-GYP_DEFINES=clang=1 build
...
BUG=1623
R=stefan@webrtc.org , tina.legrand@webrtc.org , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1368004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3968 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-07 12:36:21 +00:00
db11fab49e
Adding Opus unit test
...
This CL adds a unit test for Opus, as well as new APIs for true stereo decoding (skipping master/slave approach).
BUG=
Review URL: https://webrtc-codereview.appspot.com/1222006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3860 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-17 10:39:41 +00:00
46d90dcd74
Adding three frame sizes to Opus
...
Adding support for 10, 40 and 60 ms packet sizes for Opus.
BUG=issue1015
Review URL: https://webrtc-codereview.appspot.com/1086004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3454 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-01 14:20:06 +00:00
5dfb1f2cd3
Bug fix in WebRtcOpus_DurationEst
...
The function WebRtcOpus_DurationEst returned the number of samples
per packet in the native 48 kHz sample rate, while the decoder
function returns data in 32 kHz sample rate. This creates a discrepancy
that makes NetEQ's lip-sync functionality add too little delay.
BUG=1334
TEST=try bots
Review URL: https://webrtc-codereview.appspot.com/1069006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3403 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-23 11:57:03 +00:00
d0d41498a3
Adding AUDIO application as default for Opus stereo
...
The Opus audio codec targets applications for pure conversations as well as other types of audio (e.g. music), and there are two different settings to use for this (VoIP and AUDIO). In the current implementation of Opus in WebRTC we use VoIP only.
I this CL I have changed default setting to AUDIO in the case of stereo, and kept VoIP as default in case of mono.
Next step is to add an API to choose application mode.
BUG=issue1239
Review URL: https://webrtc-codereview.appspot.com/1007006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3319 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-20 09:23:10 +00:00
ac77084583
Roll opus to 172355 and delete opus_demo from webrtc opus
...
opus_demo has been inlucded in opus in chromium.
BUG=None
TEST=trybots
Review URL: https://webrtc-codereview.appspot.com/973013
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3317 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-19 17:24:30 +00:00
4275ab1ca0
Implement NetEq duration estimation for Opus.
...
Review URL: https://webrtc-codereview.appspot.com/983004
Patch from Ralph Giles <giles@webrtc.org >.
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3314 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-12-19 09:52:45 +00:00
c4590580e8
Opus mono/stereo on the same payloadtype, and fix of memory bug
...
During call setup Opus should always be signaled as a 48000 Hz stereo codec, not depending on what we plan to send, or how we plan to decode received packets.
The previous implementation had different payload types for mono and stereo, which breaks the proposed standard.
While working on this CL I ran in to the problem reported earlier, that we could get a crash related to deleting decoder memory. This should now be solved in Patch Set 3.
BUG=issue1013, issue1112
Review URL: https://webrtc-codereview.appspot.com/933022
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3177 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-28 12:23:29 +00:00
4b97793f91
Ensure opus_demo has a targets block.
...
TBR=leozwang@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/933023
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3147 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-21 20:16:53 +00:00
cfcadab8d4
Build opus_demo
...
BUG=1082
TEST=trybots
With this cl we can build opus_demo.
Review URL: https://webrtc-codereview.appspot.com/936029
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3144 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-21 18:13:46 +00:00
0ad3c1af0a
Adding Opus stereo support to WebRTC
...
This CL adds support for sending and receiving stereo using the Opus codec.
BUG=issue1013
Review URL: https://webrtc-codereview.appspot.com/930008
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3050 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-07 08:07:29 +00:00
a3ae6dc846
Remove opus include path from opus.gypi.
...
It's now exported by opus.gyp.
Review URL: https://webrtc-codereview.appspot.com/928007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@2997 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-25 17:51:09 +00:00
1f8c02a4de
Getting Opus from Chrome
...
This CL replaces http://review.webrtc.org/921006/
BUG=issue982
TBR=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/933006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@2993 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-25 12:37:08 +00:00
14b43beb7c
Move src/ -> webrtc/
...
TBR=niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/915006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@2963 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-22 18:19:23 +00:00