4673 Commits

Author SHA1 Message Date
kwiberg
e1a27d48ad Move CNG/RED payload type extraction to Rent-A-Codec
BUG=webrtc:5028

Review URL: https://codereview.webrtc.org/1450883002

Cr-Commit-Position: refs/heads/master@{#10691}
2015-11-18 15:32:57 +00:00
peah
2446e5a2de Fixed the render queue item size preallocation and verification, moved constant declarations, removed redundant queue allocation
BUG=

Review URL: https://codereview.webrtc.org/1454683002

Cr-Commit-Position: refs/heads/master@{#10689}
2015-11-18 14:11:18 +00:00
danilchap
0219c9b4bf rtcp::App moved into own file and got Parse function
Review URL: https://codereview.webrtc.org/1437353003

Cr-Commit-Position: refs/heads/master@{#10688}
2015-11-18 13:56:57 +00:00
andrew
f70568c04b So long and thanks for all the code reviews!
- Remove myself from OWNERS.
- Add myself to AUTHORS (I signed a CLA).
- Add minyue to audio_conference_mixer which would otherwise be empty.
- Add missing comma in WATCHLISTS.

Review URL: https://codereview.webrtc.org/1458763002

Cr-Commit-Position: refs/heads/master@{#10686}
2015-11-18 11:07:45 +00:00
asapersson
cb50c96be2 Set temporal up switch bit to false for flexible mode (one temporal layer is configured currently).
BUG=webrtc:5214

Review URL: https://codereview.webrtc.org/1453693002

Cr-Commit-Position: refs/heads/master@{#10685}
2015-11-18 09:58:59 +00:00
thaloun
2935e01419 Several Tick counter improvements try #2."
This reverts commit c91d1738709b038fee84d569180cba2bbcbfe5d7.

BUG=

Review URL: https://codereview.webrtc.org/1452843003

Cr-Commit-Position: refs/heads/master@{#10682}
2015-11-17 23:02:59 +00:00
henrika
5c489c9d3e Add OpenSL ES enable setting to AppRTCDemo (part 2).
It is now possible to enable OpenSL ES on devices that supports it.

Fix for https://codereview.webrtc.org/1449083002/

Review URL: https://codereview.webrtc.org/1455563002

Cr-Commit-Position: refs/heads/master@{#10678}
2015-11-17 18:12:46 +00:00
Peter Boström
bd05f0ba52 Unconditionally build VP9 support.
Broken for PeerConnection either way (since VP9 support is announced)
and would fail on a CHECK apart from generating incorrect
offers/answers. This isn't a flag that we want to support, so it's
better to remove the foot-shooting gun.

BUG=
R=asapersson@webrtc.org, kjellander@webrtc.org, phoglund@webrtc.org, stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1451663002 .

Cr-Commit-Position: refs/heads/master@{#10676}
2015-11-17 14:27:41 +00:00
pbos
d9eec762ce Trace encoding/decoding time in a generic way.
Removes VP8::Encode trace in favor of VCMGenericEncoder ones and adds
one to InitEncode. Also adds an instant event to ::Encoded since this
can be done on a different thread.

Also adds the corresponding traces to VCMGenericDecoder.

BUG=webrtc:5167
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1412573010

Cr-Commit-Position: refs/heads/master@{#10674}
2015-11-17 14:03:52 +00:00
henrika
5a71f03f8b Deactivate the audio session after a call ends using the AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation constant
since it is recommended for VoIP apps.

BUG=b/23356406
R=tkchin@webrtc.org

Review URL: https://codereview.webrtc.org/1418483004 .

Cr-Commit-Position: refs/heads/master@{#10673}
2015-11-17 13:54:58 +00:00
henrika
fd614c2149 Adding thread timeout for audio recorer thread in Java
BUG=NONE

Review URL: https://codereview.webrtc.org/1444313002

Cr-Commit-Position: refs/heads/master@{#10671}
2015-11-17 12:28:33 +00:00
pbos
3c12f4dadb Revert of Create rtc::AtomicInt POD struct. (patchset #12 id:220001 of https://codereview.webrtc.org/1420043008/ )
Reason for revert:
Caused static initializers.

BUG=chromium:556866
TBR=tommi@webrtc.org

Original issue's description:
> Create rtc::AtomicInt POD struct.
>
> Prevents accidental non-atomic reads, increments and stores since
> "volatile int" doesn't enforce atomic usage.
>
> BUG=
> R=kwiberg@webrtc.org, tommi@webrtc.org
>
> Committed: https://crrev.com/b27f590ece487819c3d1fda400315e582fb975b6
> Cr-Commit-Position: refs/heads/master@{#10657}

TBR=kwiberg@webrtc.org,tommi@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review URL: https://codereview.webrtc.org/1453093002

Cr-Commit-Position: refs/heads/master@{#10669}
2015-11-17 11:21:07 +00:00
peah
192164eebc Preparational work before introducing the locks in order to harmonize the code:
-Moved the initialize function
-Moved api_format into the shared state

BUG=

Review URL: https://codereview.webrtc.org/1413093002

Cr-Commit-Position: refs/heads/master@{#10668}
2015-11-17 10:16:51 +00:00
peah
4d291f7d5e Applied the render queueing to the agc.
BUG=webrtc:5099

Review URL: https://codereview.webrtc.org/1416583003

Cr-Commit-Position: refs/heads/master@{#10667}
2015-11-17 07:52:32 +00:00
pbos
740c4f11e0 Remove packet initializer in RtpRtcpRtxNackTest.
Fixes RtpRtcpRtxNackTest to not use uninitialized data when not sending
RTX.

BUG=webrtc:3183
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1427653007

Cr-Commit-Position: refs/heads/master@{#10665}
2015-11-17 01:19:39 +00:00
pbos
854e84c7fb Use webrtc/base/logging.h for video coding/processing.
Replaces system_wrappers' logging.h in video_coding and
video_processing.

BUG=webrtc:5118
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1435873003

Cr-Commit-Position: refs/heads/master@{#10664}
2015-11-17 00:39:10 +00:00
thaloun
c91d173870 Revert of Several Tick counter improvements. (patchset #8 id:140001 of https://codereview.webrtc.org/1415923010/ )
Reason for revert:
Potentially breaks a threading test under DrMemory.  Rolling back while I investigate.

Original issue's description:
> Several Tick counter improvements.
>
> Move logic into cc file
> Simplify interval calculation
> Remove unused QUERY_PERFORMANCE_COUNTER windows implementation
> Remove double divide on each ::Now() invocation on mac
>
> Move TickTime and TickInterval funcitons to cc file in prep for refactoring.
>
> BUG=
> R=mflodman@webrtc.org, pbos@webrtc.org
>
> Committed: https://crrev.com/4c27e4b62da2047063d88eedfeec3e939fea7843
> Cr-Commit-Position: refs/heads/master@{#10661}

TBR=pbos@webrtc.org,mflodman@webrtc.org,noahric@chromium.org,thaloun@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review URL: https://codereview.webrtc.org/1450203002

Cr-Commit-Position: refs/heads/master@{#10663}
2015-11-17 00:28:56 +00:00
peah
fa6228e221 Introduced the render sample queue for the aec and aecm.
BUG=webrtc:5099

Review URL: https://codereview.webrtc.org/1410833002

Cr-Commit-Position: refs/heads/master@{#10662}
2015-11-17 00:27:50 +00:00
Tim Haloun
4c27e4b62d Several Tick counter improvements.
Move logic into cc file
Simplify interval calculation
Remove unused QUERY_PERFORMANCE_COUNTER windows implementation
Remove double divide on each ::Now() invocation on mac

Move TickTime and TickInterval funcitons to cc file in prep for refactoring.

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

Review URL: https://codereview.webrtc.org/1415923010 .

Cr-Commit-Position: refs/heads/master@{#10661}
2015-11-16 22:37:59 +00:00
kjellander
6f8ce060a2 common_video: rename interface -> include
To avoid breaking downstream, the "interface" directories were copied
into a new "common_video/include" dir. The old headers got pragma
warnings added about deprecation (a very short deprecation since I plan
to remove them as soon downstream is updated).
The header guards are also identical to avoid mixing them up in the transition.

BUG=webrtc:5095
TESTED=Passing compile-trybots with --clobber flag:
git cl try --clobber --bot=win_compile_rel --bot=linux_compile_rel --bot=android_compile_rel --bot=mac_compile_rel --bot=ios_rel --bot=linux_gn_rel --bot=win_x64_gn_rel --bot=mac_x64_gn_rel --bot=android_gn_rel -m tryserver.webrtc

Review URL: https://codereview.webrtc.org/1418913006

Cr-Commit-Position: refs/heads/master@{#10659}
2015-11-16 21:52:31 +00:00
pbos
b27f590ece Create rtc::AtomicInt POD struct.
Prevents accidental non-atomic reads, increments and stores since
"volatile int" doesn't enforce atomic usage.

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

Review URL: https://codereview.webrtc.org/1420043008

Cr-Commit-Position: refs/heads/master@{#10657}
2015-11-16 19:03:06 +00:00
minyue
9a7c838ec4 Adding stddef.h to opus_inst.h.
This is to prevent size_t from undefined. This does not happen in current WebRTC since the sources that opus_inst.h gets used have proper definitions. But it would be good to add the definition in itself.

Review URL: https://codereview.webrtc.org/1446093003

Cr-Commit-Position: refs/heads/master@{#10653}
2015-11-16 16:07:04 +00:00
kwiberg
e155ae671c Move CNG and RED management into the Rent-A-Codec
This leaves CodecOwner without a job, so we eliminate it.

BUG=webrtc:5028

Review URL: https://codereview.webrtc.org/1443653004

Cr-Commit-Position: refs/heads/master@{#10650}
2015-11-16 12:50:02 +00:00
Henrik Kjellander
0b9e29c87d Remove include dirs from modules/{media_file,pacing}
Also move files out of media_file/source.

BUG=webrtc:5095
TESTED=git cl try -c --bot=android_compile_rel --bot=linux_compile_rel --bot=win_compile_rel --bot=mac_compile_rel --bot=ios_rel --bot=linux_gn_rel --bot=win_x64_gn_rel --bot=mac_x64_gn_rel --bot=android_gn_rel -m tryserver.webrtc
R=asapersson@webrtc.org, perkj@webrtc.org, tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1435093002 .

Cr-Commit-Position: refs/heads/master@{#10647}
2015-11-16 10:12:32 +00:00
danilchap
f8506cbdd8 rtcp::Ij renamed to rtcp::ExtendedJitterReport
to match name given in the RFC5450
  private member renamed to inter_arrival_jitters_ for the same reason.
rtcp::ExtendedJitterReport moved into own file
accessors and Parse function added
  to make class usable for parsing packet

Review URL: https://codereview.webrtc.org/1434213004

Cr-Commit-Position: refs/heads/master@{#10636}
2015-11-13 15:33:26 +00:00
pbos
0fa9b22789 Remove scoped_ptrs for VCM sender_ and receiver_.
Put VideoSender/VideoReceiver flat within the object, not as
scoped_ptrs, giving fewer allocations and looking a bit nicer.

BUG=
R=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1443613002

Cr-Commit-Position: refs/heads/master@{#10634}
2015-11-13 13:59:59 +00:00
danilchap
df948f03b3 rtcp::ReportBlock refactored to contain parsing
Review URL: https://codereview.webrtc.org/1420283022

Cr-Commit-Position: refs/heads/master@{#10633}
2015-11-13 11:03:18 +00:00
mflodman
0e7e259ebd Move BitrateAllocator from BitrateController logic to Call.
This is a step on the way to have variable bitrate for audio and is
intended to be as much of a no-op as possible.

BUG=webrtc:5079

Review URL: https://codereview.webrtc.org/1441673002

Cr-Commit-Position: refs/heads/master@{#10630}
2015-11-13 05:02:46 +00:00
Patrik Höglund
68876f990e Introduces Android API level linting, fixes all current API lint errors.
This CL attempts to annotate accesses on >16 API levels using as
small scopes as possible. The TargetApi notations mean "yes, I know
I'm accessing a higher API and I take responsibility for gating the
call on Android API level". The Encoder/Decoder classes are annotated
on the whole class, but they're only accessed through JNI; we should
annotate on method level otherwise and preferably on private methods.

This patch also fixes some compiler-level deprecation warnings (i.e.
-Xlint:deprecation), but probably not all of them.

BUG=webrtc:5063
R=henrika@webrtc.org, kjellander@webrtc.org, magjed@webrtc.org

Review URL: https://codereview.webrtc.org/1412673008 .

Cr-Commit-Position: refs/heads/master@{#10624}
2015-11-12 16:37:01 +00:00
Henrik Kjellander
5dda80abea Remove webrtc/modules/video_{capture,render}/include
BUG=webrtc:5095
TESTED=git cl try -c --bot=android_compile_rel --bot=linux_compile_rel --bot=win_compile_rel --bot=mac_compile_rel --bot=ios_rel --bot=linux_gn_rel --bot=win_x64_gn_rel --bot=mac_x64_gn_rel --bot=android_gn_rel -m tryserver.webrtc
R=pbos@webrtc.org, perkj@webrtc.org

Review URL: https://codereview.webrtc.org/1439823002 .

Cr-Commit-Position: refs/heads/master@{#10619}
2015-11-12 11:47:02 +00:00
henrika
e71b24e421 OpenSL ES stability improvements.
This CL does two things:

1) Improves stability in the existing OpenSL ES implementation for devices that
supports OpenSL ES. The cost is a slight increase in latency since the focus here
has been on avoiding audio glitches.

2) Adds a new Java API to exclude usage of OpenSL ES to enable comparisons between
OpenSL ES and Java based audio backends.

BUG=b/22452539

Review URL: https://codereview.webrtc.org/1440623002

Cr-Commit-Position: refs/heads/master@{#10618}
2015-11-12 09:48:36 +00:00
henrika
96839648a0 Trivial initialization fix in AudioDeviceIOS
NOTRY=TRUE
TBR=tkchin
BUG=webrtc:5058

Review URL: https://codereview.webrtc.org/1435003002

Cr-Commit-Position: refs/heads/master@{#10616}
2015-11-12 09:01:24 +00:00
Marco
6b14f9377d Adjust parameter for VP9 resize unittest.
Needed for upcoming libvpx roll.

TBR=stefan@webrtc.org
BUG=

Review URL: https://codereview.webrtc.org/1432773005 .

Cr-Commit-Position: refs/heads/master@{#10611}
2015-11-11 21:42:13 +00:00
Henrik Kjellander
9b72af94cd Remove webrtc/modules/audio_processing/{aec,aecm,ns}/include
BUG=webrtc:5095
TESTED=git cl try -c --bot=android_compile_rel --bot=linux_compile_rel --bot=win_compile_rel --bot=mac_compile_rel --bot=ios_rel --bot=linux_gn_rel --bot=win_x64_gn_rel --bot=mac_x64_gn_rel --bot=android_gn_rel -m tryserver.webrtc
R=henrik.lundin@webrtc.org

Review URL: https://codereview.webrtc.org/1440523002 .

Cr-Commit-Position: refs/heads/master@{#10608}
2015-11-11 19:16:28 +00:00
kwiberg
ee2bac26dd AcmReceiver::InsertPacket and NetEq::InsertPacket: Take ArrayView arguments
Instead of separate pointer and size arguments.

Review URL: https://codereview.webrtc.org/1429943004

Cr-Commit-Position: refs/heads/master@{#10606}
2015-11-11 18:34:07 +00:00
kwiberg
4dc941128f CodecManager::RegisterEncoder: Call SetFec on new encoder, not old
BUG=webrtc:5028

Review URL: https://codereview.webrtc.org/1416633011

Cr-Commit-Position: refs/heads/master@{#10604}
2015-11-11 16:34:28 +00:00
asapersson
00ac85e2e3 Update temporal up switch field for non-flexible mode according to updates in the RTP payload profile.
The U bit is no longer obtained from the SS data.

https://tools.ietf.org/id/draft-ietf-payload-vp9-01.txt

BUG=chromium:500602

Review URL: https://codereview.webrtc.org/1433273002

Cr-Commit-Position: refs/heads/master@{#10601}
2015-11-11 13:30:55 +00:00
tfarina
5237aaf243 Convert usage of ARRAY_SIZE to arraysize.
ARRAY_SIZE is the old version of arraysize and does not cover
all the cases in C++, arraysize is a copy of Chromium's
version and thus have wider coverage.

BUG=None
R=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1405023016

Cr-Commit-Position: refs/heads/master@{#10594}
2015-11-11 07:44:39 +00:00
Karl Wiberg
be57983f4b Rename Maybe to Optional
And add examples of good and bad usage to the documentation.

R=aluebs@webrtc.org, henrik.lundin@webrtc.org, pthatcher@webrtc.org

Review URL: https://codereview.webrtc.org/1432553007 .

Cr-Commit-Position: refs/heads/master@{#10588}
2015-11-10 21:34:32 +00:00
kwiberg
ed8275a44f CodecManager: Eliminate the stereo_send_ member
It can be computed from other members, notably the current encoder's
number of channels.

BUG=webrtc:5028

Review URL: https://codereview.webrtc.org/1423803007

Cr-Commit-Position: refs/heads/master@{#10585}
2015-11-10 17:47:41 +00:00
gyzhou
c94bd9bf86 If a desktop captured window switches on/off it full screen mode, the capture may be unexpectedly terminated. During the transition of full screen mode on/off, the window can be temporarily invisible.
BUG=498484

Review URL: https://codereview.webrtc.org/1426103005

Cr-Commit-Position: refs/heads/master@{#10583}
2015-11-10 15:33:58 +00:00
Peter Boström
d153a37801 Remove contention between RTCP packets and encoding.
Receiving RTCP often caused the worker thread to stall for >20 ms
(>100ms observed) due to contention on VideoSender's send_crit_ (used to
protect encoding).

This change removes an unnecessary acquire of send_crit_ and caches
encoder settings in ViEEncoder instead of acquiring them through
::SendCodec() in VCM (which is blocking).

BUG=webrtc:5106
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1433703002 .

Cr-Commit-Position: refs/heads/master@{#10582}
2015-11-10 15:27:21 +00:00
philipel
cfc319be1d Reland of Work on flexible mode and screen sharing. (patchset #1 id:1 of https://codereview.webrtc.org/1438543002/ )
Reason for revert:
Failed test not related to this CL (test fails on
master at an earlier date), re-landing original CL..

(This time from my @webrtc account.)

Original issue's description:
> Revert of Work on flexible mode and screen sharing. (patchset #28 id:520001 of https://codereview.webrtc.org/1328113004/ )
>
> Reason for revert:
> Seems to break VideoSendStreamTest.ReconfigureBitratesSetsEncoderBitratesCorrectly on Linux Memcheck buildbot.
>
> Original issue's description:
> > Work on flexible mode and screen sharing.
> >
> > Implement VP8 style screensharing but with spatial layers.
> > Implement flexible mode.
> >
> > Files from other patches:
> > generic_encoder.cc
> > layer_filtering_transport.cc
> >
> > BUG=webrtc:4914
> >
> > Committed: https://crrev.com/77ccfb4d16c148e61a316746bb5d9705e8b39f4a
> > Cr-Commit-Position: refs/heads/master@{#10572}
>
> TBR=sprang@webrtc.org,stefan@webrtc.org,philipel@google.com,asapersson@webrtc.org,mflodman@webrtc.org,philipel@webrtc.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:4914
>
> Committed: https://crrev.com/0be8f1d347bdb171462df89c2a4c69b3f3eb7519
> Cr-Commit-Position: refs/heads/master@{#10578}

TBR=sprang@webrtc.org,stefan@webrtc.org,philipel@google.com,asapersson@webrtc.org,mflodman@webrtc.org,terelius@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4914

Review URL: https://codereview.webrtc.org/1431283002

Cr-Commit-Position: refs/heads/master@{#10581}
2015-11-10 15:17:26 +00:00
kwiberg
c95c366f5a Move the Rent-A-Codec™ from CodecOwner to CodecManager
Future CLs will move it even further down the stack.

BUG=webrtc:5028

Review URL: https://codereview.webrtc.org/1431103002

Cr-Commit-Position: refs/heads/master@{#10580}
2015-11-10 14:35:28 +00:00
terelius
0be8f1d347 Revert of Work on flexible mode and screen sharing. (patchset #28 id:520001 of https://codereview.webrtc.org/1328113004/ )
Reason for revert:
Seems to break VideoSendStreamTest.ReconfigureBitratesSetsEncoderBitratesCorrectly on Linux Memcheck buildbot.

Original issue's description:
> Work on flexible mode and screen sharing.
>
> Implement VP8 style screensharing but with spatial layers.
> Implement flexible mode.
>
> Files from other patches:
> generic_encoder.cc
> layer_filtering_transport.cc
>
> BUG=webrtc:4914
>
> Committed: https://crrev.com/77ccfb4d16c148e61a316746bb5d9705e8b39f4a
> Cr-Commit-Position: refs/heads/master@{#10572}

TBR=sprang@webrtc.org,stefan@webrtc.org,philipel@google.com,asapersson@webrtc.org,mflodman@webrtc.org,philipel@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4914

Review URL: https://codereview.webrtc.org/1438543002

Cr-Commit-Position: refs/heads/master@{#10578}
2015-11-10 13:31:22 +00:00
Per
327d8babc8 Add DecodedImageCallback::Decoded() function with custom decode time value.
On Android, we would like to use MediaCodec output buffers to hold decoded frames until they can be rendered to a texture. There can only be one texture buffer used at the same time and therefore the calculated decode time in VCMTiming will be wrong since that calculation will also include the time where the decoder waited for the upper layers (that depend on network jitter and actual render time) to release the frame.

This new method will be used in
https://codereview.webrtc.org/1422963003/

BUG=webrtc:4993
R=stefan@webrtc.org
TBR=mflodman@webrtc.org

Review URL: https://codereview.webrtc.org/1414693006 .

Cr-Commit-Position: refs/heads/master@{#10576}
2015-11-10 13:00:45 +00:00
kwiberg
805fc710f7 Let Rent-A-Codec™ create and own speech encoders
BUG=webrtc:5028

Review URL: https://codereview.webrtc.org/1410333015

Cr-Commit-Position: refs/heads/master@{#10575}
2015-11-10 12:05:23 +00:00
minyue
3cea256806 Reland "Prevent Opus DTX from generating intermittent noise during silence"
The original CL is reviewed at
https://codereview.webrtc.org/1415173005/

A silly mistake was made at the last patch set, and the CL was reverted. This CL is to fix and reland it.

BUG=

Review URL: https://codereview.webrtc.org/1422213003

Cr-Commit-Position: refs/heads/master@{#10574}
2015-11-10 11:49:32 +00:00
philipel
77ccfb4d16 Work on flexible mode and screen sharing.
Implement VP8 style screensharing but with spatial layers.
Implement flexible mode.

Files from other patches:
generic_encoder.cc
layer_filtering_transport.cc

BUG=webrtc:4914

Review URL: https://codereview.webrtc.org/1328113004

Cr-Commit-Position: refs/heads/master@{#10572}
2015-11-10 10:19:20 +00:00
peah
c12be3984f -Removed the indirect error message reporting in aec and aecm.
-Made the component error messages generic to be an unspecified error message.

BUG=webrtc:5099

Review URL: https://codereview.webrtc.org/1404743003

Cr-Commit-Position: refs/heads/master@{#10570}
2015-11-10 07:53:53 +00:00