987 Commits

Author SHA1 Message Date
ilnik
a79cc28de1 Report max interframe delay over window insdead of interframe delay sum
Maximum of interframe delay is calculated over moving window in
ReceiveStatistics proxy now and reported via GetStats. Name of a metric
is also changed.

BUG=none

Review-Url: https://codereview.webrtc.org/2995143002
Cr-Commit-Position: refs/heads/master@{#19463}
2017-08-23 12:24:10 +00:00
oprypin
0826fb2b35 Fix an implicit narrowing conversion found by MSVC
Followup to https://codereview.webrtc.org/2999363002/

BUG=None

Review-Url: https://codereview.webrtc.org/3003133002
Cr-Commit-Position: refs/heads/master@{#19456}
2017-08-22 20:57:48 +00:00
sakal
bcc655c2c7 Revert of Reimplement the builtin audio codec factories using the new stuff in api/ (patchset #1 id:60001 of https://codereview.webrtc.org/2997713002/ )
Reason for revert:
Speculatively reverting, likely breaks chromium.webrtc.fyi.

Failed to create local offer: Test failed: Error: setSdpDefaultCodec() failed: "Unknown ID for |codec| = 'G722'."

Failing bots:
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Tester/builds/42349
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win8%20Tester/builds/1561
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win10%20Tester/builds/8517

Original issue's description:
> Reimplement the builtin audio codec factories using the new stuff in api/
>
> The whole point of all the audio codec stuff we've recently published
> in api/ is to function as lego bricks so that building stuff like our
> builtin audio codec factories will be easy.
>
> BUG=webrtc:7821, webrtc:7822
>
> Review-Url: https://codereview.webrtc.org/2997713002
> Cr-Commit-Position: refs/heads/master@{#19446}
> Committed: 417989a864

TBR=ossu@webrtc.org,kwiberg@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7821, webrtc:7822

Review-Url: https://codereview.webrtc.org/2996373002
Cr-Commit-Position: refs/heads/master@{#19452}
2017-08-22 15:13:37 +00:00
kwiberg
417989a864 Reimplement the builtin audio codec factories using the new stuff in api/
The whole point of all the audio codec stuff we've recently published
in api/ is to function as lego bricks so that building stuff like our
builtin audio codec factories will be easy.

BUG=webrtc:7821, webrtc:7822

Review-Url: https://codereview.webrtc.org/2997713002
Cr-Commit-Position: refs/heads/master@{#19446}
2017-08-22 12:39:19 +00:00
kwiberg
2a596549ca Fix an implicit narrowing conversion found by MSVC
BUG=none

Review-Url: https://codereview.webrtc.org/2999363002
Cr-Commit-Position: refs/heads/master@{#19444}
2017-08-22 10:43:28 +00:00
kwiberg
e57556c764 iSAC floating-point implementation of the Audio{En,De}coderFactoryTemplate APIs
BUG=webrtc:7835, webrtc:7841

Review-Url: https://codereview.webrtc.org/3001483002
Cr-Commit-Position: refs/heads/master@{#19427}
2017-08-21 13:11:18 +00:00
kwiberg
327af33151 iSAC fixed-point implementation of the Audio{En,De}coderFactoryTemplate APIs
BUG=webrtc:7835, webrtc:7841

Review-Url: https://codereview.webrtc.org/2996693002
Cr-Commit-Position: refs/heads/master@{#19409}
2017-08-18 11:09:40 +00:00
sprang
ba050a6d6d Reland of Add a flags field to video timing extension. (patchset #1 id:1 of https://codereview.webrtc.org/2995953002/ )
Reason for revert:
Create reland CL to add fix to.

Original issue's description:
> Revert of Add a flags field to video timing extension. (patchset #15 id:280001 of https://codereview.webrtc.org/3000753002/ )
>
> Reason for revert:
> Speculative revet for breaking remoting_unittests in fyi bots.
> https://build.chromium.org/p/chromium.webrtc.fyi/waterfall?builder=Win7%20Tester
>
> Original issue's description:
> > Add a flags field to video timing extension.
> >
> > The rtp header extension for video timing shuold have an additional
> > field for signaling metadata, such as what triggered the extension for
> > this particular frame. This will allow separating frames select because
> > of outlier sizes from regular frames, for more accurate stats.
> >
> > This implementation is backwards compatible in that it can read video
> > timing extensions without the new flag field, but it always sends with
> > it included.
> >
> > BUG=webrtc:7594
> >
> > Review-Url: https://codereview.webrtc.org/3000753002
> > Cr-Commit-Position: refs/heads/master@{#19353}
> > Committed: cf5d485e14
>
> TBR=danilchap@webrtc.org,kthelgason@webrtc.org,stefan@webrtc.org,sprang@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7594
>
> Review-Url: https://codereview.webrtc.org/2995953002
> Cr-Commit-Position: refs/heads/master@{#19360}
> Committed: f0f7378b05

TBR=danilchap@webrtc.org,kthelgason@webrtc.org,stefan@webrtc.org,emircan@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7594

Review-Url: https://codereview.webrtc.org/2996153002
Cr-Commit-Position: refs/heads/master@{#19405}
2017-08-18 09:51:12 +00:00
asapersson
142fcc96d6 Move kMinPixelsPerFrame constant in VideoStreamEncoder to VideoEncoder::ScalingSettings.
Make it possible for forced VP8 SW fallback encoder to set min_pixels_per_frame via GetScalingSettings().

Add a min required resolution (in addition to bitrate) before releasing forced SW fallback.

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/3000693003
Cr-Commit-Position: refs/heads/master@{#19390}
2017-08-17 15:58:54 +00:00
kwiberg
7ea6e59735 L16 implementation of the Audio{En,De}coderFactoryTemplate APIs
(This is a re-land of https://codereview.webrtc.org/2995523002, with a
narrowing conversion removed.)

BUG=webrtc:7836, webrtc:7842

Review-Url: https://codereview.webrtc.org/2995993002
Cr-Commit-Position: refs/heads/master@{#19369}
2017-08-16 13:12:57 +00:00
emircan
f0f7378b05 Revert of Add a flags field to video timing extension. (patchset #15 id:280001 of https://codereview.webrtc.org/3000753002/ )
Reason for revert:
Speculative revet for breaking remoting_unittests in fyi bots.
https://build.chromium.org/p/chromium.webrtc.fyi/waterfall?builder=Win7%20Tester

Original issue's description:
> Add a flags field to video timing extension.
>
> The rtp header extension for video timing shuold have an additional
> field for signaling metadata, such as what triggered the extension for
> this particular frame. This will allow separating frames select because
> of outlier sizes from regular frames, for more accurate stats.
>
> This implementation is backwards compatible in that it can read video
> timing extensions without the new flag field, but it always sends with
> it included.
>
> BUG=webrtc:7594
>
> Review-Url: https://codereview.webrtc.org/3000753002
> Cr-Commit-Position: refs/heads/master@{#19353}
> Committed: cf5d485e14

TBR=danilchap@webrtc.org,kthelgason@webrtc.org,stefan@webrtc.org,sprang@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7594

Review-Url: https://codereview.webrtc.org/2995953002
Cr-Commit-Position: refs/heads/master@{#19360}
2017-08-15 19:31:23 +00:00
charujain
ac31526bb5 Revert of L16 implementation of the Audio{En,De}coderFactoryTemplate APIs (patchset #5 id:80001 of https://codereview.webrtc.org/2995523002/ )
Reason for revert:
Breaks compilation in google3.

Original issue's description:
> L16 implementation of the Audio{En,De}coderFactoryTemplate APIs
>
> BUG=webrtc:7836, webrtc:7842
>
> Review-Url: https://codereview.webrtc.org/2995523002
> Cr-Commit-Position: refs/heads/master@{#19354}
> Committed: edff94df62

TBR=ossu@webrtc.org,kwiberg@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7836, webrtc:7842

Review-Url: https://codereview.webrtc.org/2996993002
Cr-Commit-Position: refs/heads/master@{#19356}
2017-08-15 14:50:11 +00:00
kwiberg
edff94df62 L16 implementation of the Audio{En,De}coderFactoryTemplate APIs
BUG=webrtc:7836, webrtc:7842

Review-Url: https://codereview.webrtc.org/2995523002
Cr-Commit-Position: refs/heads/master@{#19354}
2017-08-15 13:30:18 +00:00
sprang
cf5d485e14 Add a flags field to video timing extension.
The rtp header extension for video timing shuold have an additional
field for signaling metadata, such as what triggered the extension for
this particular frame. This will allow separating frames select because
of outlier sizes from regular frames, for more accurate stats.

This implementation is backwards compatible in that it can read video
timing extensions without the new flag field, but it always sends with
it included.

BUG=webrtc:7594

Review-Url: https://codereview.webrtc.org/3000753002
Cr-Commit-Position: refs/heads/master@{#19353}
2017-08-15 12:33:27 +00:00
mflodman
351424e942 Removing VCMCodecDataBase::Codec and VideoCodingModule::Codec.
This CL brings us one step closer to removing CodecDatabase and
GenericEncoder, by removing the static VCM::Codec(). Codec specific
methods are moved to video_encoder.cc (they already belonged to this
class) and getting default generic codec settings has been moved to a
test specific file.

This CL also makes video_encoder.h pass style guide and lint checks,
since these checks are triggered with the new video_encoder.cc file.

BUG=webrtc:8064

Review-Url: https://codereview.webrtc.org/2993923002
Cr-Commit-Position: refs/heads/master@{#19303}
2017-08-10 09:43:14 +00:00
sprang
db2a9fc6ec Wire up RTP keep-alive in ortc api.
[This CL is work in progress.]

Wire up the rtp keep-alive in webrtc::Call::Config using new
SetRtpTransportParameters() method on RtpTransportInterface.

BUG=webrtc:7907

Review-Url: https://codereview.webrtc.org/2981513002
Cr-Commit-Position: refs/heads/master@{#19287}
2017-08-09 13:42:32 +00:00
agrieve
26622d3ff8 Audit of kConstants missing the const qualifier
Found via supersize query:
size_info.symbols.WhereFullNameMatches(r'\bk[A-Z]').WhereInSection('d')

This moves 90 symbols from .data -> .data.rel.ro (5.50kb)

BUG=chromium:747064

Review-Url: https://codereview.webrtc.org/2986163002
Cr-Commit-Position: refs/heads/master@{#19274}
2017-08-08 17:48:15 +00:00
perkj
773be36bd6 Reland of Change VideoTrack implementation to invoke VideoTrackSourceInterface::AddOrUpdateSink on wt
Added documentation of thread expectations for video tracks and sources to the API.

Originally landed as patchset #2 id:20001 of https://codereview.webrtc.org/2964863002/.

Patchset 1 is the originall cl.
Patschet 2 is modified so that VideoTrackInterface::AddSink and RemoveSink have a default implementation.

BUG=none

Review-Url: https://codereview.webrtc.org/2989113002
Cr-Commit-Position: refs/heads/master@{#19195}
2017-08-01 06:22:01 +00:00
kwiberg
e985b90d33 G711 implementation of the Audio{En,De}coderFactoryTemplate APIs
BUG=webrtc:7832, webrtc:7838

Review-Url: https://codereview.webrtc.org/2962653002
Cr-Commit-Position: refs/heads/master@{#19190}
2017-07-31 18:34:57 +00:00
ehmaldonado
35a872c0e6 Make RTCStatsReport::ToString() return JSON-parseable string.
BUG=chromium:653087

Review-Url: https://codereview.webrtc.org/2983243002
Cr-Commit-Position: refs/heads/master@{#19180}
2017-07-28 14:29:12 +00:00
deadbeef
d21eab3eea Add "max_ipv6_networks" field to RTCConfiguration.
This allows an application to easily override the default limit
(currently 5).

Also adding a test that covers more of the
PeerConnection<->PortAllocator interaction.

BUG=webrtc:7703

Review-Url: https://codereview.webrtc.org/2985653003
Cr-Commit-Position: refs/heads/master@{#19160}
2017-07-26 23:50:11 +00:00
ehmaldonado
f6a861ab6c Remove remains of webrtc/base
All downstream code have been updated to the new location.

In PRESUBMIT.py:
* Remove webrtc/rtc_base from CPP_BLACKLIST
* Add webrtc/rtc_base to LEGACY_API_DIRS

Fix some duplicated paths in
webrtc/modules/audio_processing/test/conversational_speech/BUILD.gn

BUG=webrtc:7634
TBR=kwiberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2976293002
Cr-Commit-Position: refs/heads/master@{#19094}
2017-07-19 17:40:47 +00:00
zstein
83dc6b6f53 Remove default implementation of PeerConnectionInterface::SetBitrate.
This was included to avoid breaking chromium, which now includes its own implementation (725cb26dab).

BUG=webrtc:7395

Review-Url: https://codereview.webrtc.org/2924243003
Cr-Commit-Position: refs/heads/master@{#19063}
2017-07-17 22:09:30 +00:00
Steve Anton
300bf8e14b Reinstate "API for periodically regathering ICE candidates"
Use rtc::SystemTimeNanos() instead of std::random_device() for PRNG seed
to avoid crashing when /dev/urandom is unavailable.

This reverts commit 3beb20720db349f651c2c04970c45b1b171c025c.

Bug: webrtc:7969
Change-Id: I5ed58a789939ee4caa99ac3abf9cab18e3e19c69
Reviewed-on: https://chromium-review.googlesource.com/572070
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19033}
2017-07-14 22:26:05 +00:00
zstein
e76bd3aa43 Adding stats that can be used to compute output audio levels as described here https://w3c.github.io/webrtc-stats/#dom-rtcmediastreamtrackstats-totalaudioenergy.
BUG=webrtc:7982

Review-Url: https://codereview.webrtc.org/2964593002
Cr-Commit-Position: refs/heads/master@{#19027}
2017-07-14 19:17:49 +00:00
Magnus Jedvert
3beb20720d Revert "API for periodically regathering ICE candidates"
This reverts commit aa41f0cfa64ece911ae2ecee83fc3190d4a42935.

Reason for revert:
Apparently, use of std::random_device() causes chromium on Linux to fail with this error:
terminating with uncaught exception of type std::__1::system_error: random_device failed to open /dev/urandom: Operation not permitted

Link to bot with failure:
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Tester/builds/37563

Original change's description:
> API for periodically regathering ICE candidates
> 
> Adds to the RTCConfiguration `ice_regather_interval_range` which, when
> set, specifies the randomized delay between automatic runs of ICE
> regathering. The regathering will occur on all networks and re-use the
> existing ICE ufrag/password. New connections are established once the
> candidates come back and WebRTC will automatically switch to the new
> connection that corresponds to the currently selected connection.
> 
> Bug: webrtc:7969
> Change-Id: I6bbf5439a48e285f704aed9f408631cba038c82b
> Reviewed-on: https://chromium-review.googlesource.com/562505
> Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#18978}

TBR=pthatcher@webrtc.org,deadbeef@webrtc.org,steveanton@webrtc.org

No-Try: true
Bug: webrtc:7969
Change-Id: I86ef99e9f1070d3ac265398831317b68f562c614
Reviewed-on: https://chromium-review.googlesource.com/571008
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19024}
2017-07-14 15:42:02 +00:00
Steve Anton
aa41f0cfa6 API for periodically regathering ICE candidates
Adds to the RTCConfiguration `ice_regather_interval_range` which, when
set, specifies the randomized delay between automatic runs of ICE
regathering. The regathering will occur on all networks and re-use the
existing ICE ufrag/password. New connections are established once the
candidates come back and WebRTC will automatically switch to the new
connection that corresponds to the currently selected connection.

Bug: webrtc:7969
Change-Id: I6bbf5439a48e285f704aed9f408631cba038c82b
Reviewed-on: https://chromium-review.googlesource.com/562505
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18978}
2017-07-11 21:49:38 +00:00
jianjun.zhu
c024740b5e Use relative paths in GN files.
BUG=webrtc:7952
TBR=kjellander@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2974863003
Cr-Commit-Position: refs/heads/master@{#18970}
2017-07-11 13:20:45 +00:00
ehmaldonado
370dd47973 Revert of Remove remains of webrtc/base (patchset #7 id:120001 of https://codereview.webrtc.org/2973183002/ )
Reason for revert:
Breaks lots of downstream projects.

Original issue's description:
> Remove remains of webrtc/base
>
> All downstream code have been updated to the new location.
>
> In PRESUBMIT.py:
> * Remove webrtc/rtc_base from CPP_BLACKLIST
> * Add webrtc/rtc_base to LEGACY_API_DIRS
>
> Fix some duplicated paths in
> webrtc/modules/audio_processing/test/conversational_speech/BUILD.gn
>
> BUG=webrtc:7634
> TBR=kwiberg@webrtc.org
>
> Review-Url: https://codereview.webrtc.org/2973183002
> Cr-Commit-Position: refs/heads/master@{#18948}
> Committed:
9483b49baf

TBR=kwiberg@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7634

Review-Url: https://codereview.webrtc.org/2976633002
Cr-Commit-Position: refs/heads/master@{#18949}
2017-07-10 12:58:42 +00:00
ehmaldonado
9483b49baf Remove remains of webrtc/base
All downstream code have been updated to the new location.

In PRESUBMIT.py:
* Remove webrtc/rtc_base from CPP_BLACKLIST
* Add webrtc/rtc_base to LEGACY_API_DIRS

Fix some duplicated paths in
webrtc/modules/audio_processing/test/conversational_speech/BUILD.gn

BUG=webrtc:7634
TBR=kwiberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2973183002
Cr-Commit-Position: refs/heads/master@{#18948}
2017-07-10 11:50:54 +00:00
mbonadei
539d104e3e Revert of Change VideoTrack implementation to invoke VideoTrackSourceInterface::AddOrUpdateSink on wt (patchset #2 id:20001 of https://codereview.webrtc.org/2964863002/ )
Reason for revert:
It breaks a downstream project.

Original issue's description:
> Change VideoTrack implementation to invoke VideoTrackSourceInterface::AddOrUpdateSink on the worker thread.
>
> Added documentation of thread expectations for video tracks and sources to the API.
>
> BUG=None
>
> Review-Url: https://codereview.webrtc.org/2964863002
> Cr-Commit-Position: refs/heads/master@{#18938}
> Committed: f1377f7222

TBR=deadbeef@webrtc.org,noahric@chromium.org,yujo@chromium.org,perkj@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=None

Review-Url: https://codereview.webrtc.org/2979493003
Cr-Commit-Position: refs/heads/master@{#18942}
2017-07-10 09:40:49 +00:00
perkj
f1377f7222 Change VideoTrack implementation to invoke VideoTrackSourceInterface::AddOrUpdateSink on the worker thread.
Added documentation of thread expectations for video tracks and sources to the API.

BUG=None

Review-Url: https://codereview.webrtc.org/2964863002
Cr-Commit-Position: refs/heads/master@{#18938}
2017-07-07 23:38:28 +00:00
ilnik
f04afde85a Report interframe delay sum in old GetStats
BUG=webrtc:7420

Review-Url: https://codereview.webrtc.org/2965033002
Cr-Commit-Position: refs/heads/master@{#18924}
2017-07-07 08:26:24 +00:00
Edward Lemur
c20978e581 Rename webrtc/base -> webrtc/rtc_base
NOPRESUBMIT=True # cpplint errors that aren't caused by this CL.
NOTRY=True
NOTREECHECKS=True
TBR=kwiberg@webrtc.org, kjellander@webrtc.org

Bug: webrtc:7634
Change-Id: I3cca0fbaa807b563c95979cccd6d1bec32055f36
Reviewed-on: https://chromium-review.googlesource.com/562156
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18919}
2017-07-06 19:11:40 +00:00
ilnik
2edc6845ac Report timing frames info in GetStats.
Some frames are already marked as 'timing frames' via video-timing RTP header extension. Timestamps along full WebRTC pipeline are gathered for these frames. This CL implements reporting of these timestamps for a single
timing frame since the last GetStats(). The frame with the longest end-to-end delay between two consecutive GetStats calls is reported.

The purpose of this timing information is not to provide a realtime statistics but to provide debugging information as it will help identify problematic places in video pipeline for outliers (frames which took longest to process).

BUG=webrtc:7594

Review-Url: https://codereview.webrtc.org/2946413002
Cr-Commit-Position: refs/heads/master@{#18909}
2017-07-06 10:06:50 +00:00
magjed
cc8856c9c2 Remove unused static VideoEncoder functions
BUG=None
TBR=stefan

Review-Url: https://codereview.webrtc.org/2967853002
Cr-Commit-Position: refs/heads/master@{#18891}
2017-07-04 13:03:41 +00:00
Magnus Jedvert
224e65939a Reland of "VideoFrameBuffer: Remove deprecated functions"
This reverts commit f1e34832b84798d7665d2aad9a5b3f33cbe5a274.

Reason for reland: Chomium code has been updated.

Original change's description:
> Revert "VideoFrameBuffer: Remove deprecated functions"
> 
> This reverts commit 428c9e218538278e6b0db42d1b734431bb432e1a.
> 
> Reason for revert: Breaks Chromium WebRTC FYI on Mac Builder. http://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Builder/builds/25788
> 
> Original change's description:
> > VideoFrameBuffer: Remove deprecated functions
> > 
> > Bug: webrtc:7632
> > Change-Id: I06f97bacd51f94d1f90b5286cc39e06a1697bb9b
> > Reviewed-on: https://chromium-review.googlesource.com/535479
> > Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> > Reviewed-by: Niels Moller <nisse@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#18832}
> 
> TBR=magjed@webrtc.org,nisse@webrtc.org
> 
> Change-Id: I2e6617420746bba3e4637019d3bce03be12a4643
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:7632
> Reviewed-on: https://chromium-review.googlesource.com/555550
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#18834}

TBR=magjed@webrtc.org,nisse@webrtc.org

Change-Id: I41c7b31ab52ba162fd0a9ab03a4b45aecb97cb09
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7632
Reviewed-on: https://chromium-review.googlesource.com/558244
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18867}
2017-06-30 16:39:27 +00:00
peah
17675ceb13 Enable the injection of an APM into a peerconnection
This CL finalizes the support for allowing an external
audio processing module to be used in a peerconnection.

BUG=webrtc:7775

Review-Url: https://codereview.webrtc.org/2965703002
Cr-Commit-Position: refs/heads/master@{#18864}
2017-06-30 14:24:04 +00:00
kwiberg
96d74bb933 Opus implementation of the AudioDecoderFactoryTemplate API
(This got reverted because of a problem with the Opus encoder parts.
Re-landing without changes.)

BUG=webrtc:7837

Review-Url: https://codereview.webrtc.org/2950453002
Cr-Commit-Position: refs/heads/master@{#18855}
2017-06-30 12:24:56 +00:00
kwiberg
96da0115d7 Opus implementation of the AudioEncoderFactoryTemplate API
This was previously reverted, because external projects were using the
internal webrtc::AudioEncoderOpus class and broke when it was renamed.
This re-land avoids renaming it immediately, to give those projects
time to adapt. It also has to revert some of the changes I had made to the
Config struct, since that was also used by the same external projects.

BUG=webrtc:7831

Review-Url: https://codereview.webrtc.org/2948483002
Cr-Commit-Position: refs/heads/master@{#18852}
2017-06-30 11:23:22 +00:00
peah
a9cc40b7d2 Allow an external audio processing module to be used in WebRTC
[This CL is a rebase of an original CL by solenberg@:
https://codereview.webrtc.org/2948763002/ which in turn was a
rebase of an original CL by peah@:
https://chromium-review.googlesource.com/c/527032/]

Allow an external audio processing module to be used in WebRTC

This CL adds support for optionally using an externally created audio
processing module in a peerconnection. The ownership is shared
between the peerconnection and the external creator of the module.

As part of this the internal ownership of the audio processing module
is moved from VoiceEngine to WebRtcVoiceEngine.

BUG=webrtc:7775

Review-Url: https://codereview.webrtc.org/2961723004
Cr-Commit-Position: refs/heads/master@{#18837}
2017-06-29 15:32:09 +00:00
Magnus Jedvert
f1e34832b8 Revert "VideoFrameBuffer: Remove deprecated functions"
This reverts commit 428c9e218538278e6b0db42d1b734431bb432e1a.

Reason for revert: Breaks Chromium WebRTC FYI on Mac Builder. http://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Builder/builds/25788

Original change's description:
> VideoFrameBuffer: Remove deprecated functions
> 
> Bug: webrtc:7632
> Change-Id: I06f97bacd51f94d1f90b5286cc39e06a1697bb9b
> Reviewed-on: https://chromium-review.googlesource.com/535479
> Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#18832}

TBR=magjed@webrtc.org,nisse@webrtc.org

Change-Id: I2e6617420746bba3e4637019d3bce03be12a4643
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7632
Reviewed-on: https://chromium-review.googlesource.com/555550
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18834}
2017-06-29 13:39:35 +00:00
Magnus Jedvert
428c9e2185 VideoFrameBuffer: Remove deprecated functions
Bug: webrtc:7632
Change-Id: I06f97bacd51f94d1f90b5286cc39e06a1697bb9b
Reviewed-on: https://chromium-review.googlesource.com/535479
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18832}
2017-06-29 12:50:13 +00:00
Magnus Jedvert
17432ec3b7 Add magjed@ as owner of webrtc/api/video/
magjed has written most of the code in this folder.

NOTRY=TRUE

Bug: None
Change-Id: I786261d4407f38de612f5fae12b9abde4594bac2
Reviewed-on: https://chromium-review.googlesource.com/550095
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18829}
2017-06-29 12:06:33 +00:00
solenberg
db3c9b0f72 Expose ILBC codec in webrtc/api/audio_codecs/
BUG=webrtc:7834, webrtc:7840

Review-Url: https://codereview.webrtc.org/2951873002
Cr-Commit-Position: refs/heads/master@{#18803}
2017-06-28 09:05:04 +00:00
kwiberg
1b97e26364 Don't forget to support G722 stereo decoding
https://codereview.webrtc.org/2940833002 added support for G722
decoding with the AudioDecoderFactoryTemplate API, but forgot to
support stereo.

BUG=webrtc:7839

Review-Url: https://codereview.webrtc.org/2945423003
Cr-Commit-Position: refs/heads/master@{#18761}
2017-06-26 11:19:43 +00:00
ilnik
04f4d126f8 Implement timing frames.
Timing information is gathered in EncodedImage,
starting at encoders. Then it's sent using RTP header extension. In the
end, it's gathered at the GenericDecoder. Actual reporting and tests
will be in the next CLs.

BUG=webrtc:7594

Review-Url: https://codereview.webrtc.org/2911193002
Cr-Commit-Position: refs/heads/master@{#18659}
2017-06-19 14:18:55 +00:00
charujain
1a610f15c3 Revert of Opus implementation of the AudioEncoderFactoryTemplate API (patchset #4 id:80001 of https://codereview.webrtc.org/2930243003/ )
Reason for revert:
Breaking google3 projects

Original issue's description:
> Opus implementation of the AudioEncoderFactoryTemplate API
>
> Now the templated AudioEncoderFactory can create Opus encoders!
>
> BUG=webrtc:7831
>
> Review-Url: https://codereview.webrtc.org/2930243003
> Cr-Commit-Position: refs/heads/master@{#18645}
> Committed: fe1aa82c63

TBR=ossu@webrtc.org,solenberg@webrtc.org,kwiberg@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7831

Review-Url: https://codereview.webrtc.org/2947563002
Cr-Commit-Position: refs/heads/master@{#18649}
2017-06-18 09:38:58 +00:00
charujain
eb2d2d31d1 Revert of Opus implementation of the AudioDecoderFactoryTemplate API (patchset #1 id:1 of https://codereview.webrtc.org/2942733003/ )
Reason for revert:
breaking downstream projects

Original issue's description:
> Opus implementation of the AudioDecoderFactoryTemplate API
>
> BUG=webrtc:7837
>
> Review-Url: https://codereview.webrtc.org/2942733003
> Cr-Commit-Position: refs/heads/master@{#18646}
> Committed: d053fe4ab3

TBR=ossu@webrtc.org,solenberg@webrtc.org,kwiberg@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7837

Review-Url: https://codereview.webrtc.org/2944763002
Cr-Commit-Position: refs/heads/master@{#18648}
2017-06-18 09:37:17 +00:00
kwiberg
d053fe4ab3 Opus implementation of the AudioDecoderFactoryTemplate API
BUG=webrtc:7837

Review-Url: https://codereview.webrtc.org/2942733003
Cr-Commit-Position: refs/heads/master@{#18646}
2017-06-18 01:40:52 +00:00