8673 Commits

Author SHA1 Message Date
Erik Språng
1642620a7d Performance fix for H264 RBSP parsing.
An rtc::Buffer is used to write output of RBSP parsing, usually one byte
at a time. It turns out that container will then expand its capacity one
byte at a time, for each byte reallocating the whole buffer and copying
the contents over, turning this into an O(n^2) operation.

Fix is for now only to preallocate the container storage. Longer term, I
think we should mull over if we really need custom containers...

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

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

Cr-Commit-Position: refs/heads/master@{#13167}
2016-06-16 13:54:58 +00:00
Niels Möller
fc3a8ee47b Delete unused code.
* Unused audio_coding and video_coding test code.
* Obsolete voice_engine android test app.
* Left-over placeholder files for remoteaudiotrack and
  portallocatorfactory.

In addition, change modules.gyp dependency from rtc_base to
rtc_base_approved.

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

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

Cr-Commit-Position: refs/heads/master@{#13166}
2016-06-16 13:51:40 +00:00
henrika
2d014be554 Resolves issue with bad audio using BT headsets on iOS.
BUG=webrtc:6004
R=tkchin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13165}
2016-06-16 12:27:06 +00:00
Sami Kalliomaki
5a9e7e0ba0 Fix a few error prone lines on VideoCapturerAndroid.
R=pbos@webrtc.org, perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13164}
2016-06-16 12:26:03 +00:00
Niels Möller
b00dc386d3 Delete GetExecutablePath and related unused code.
The function GetExecutablePath is a hack with poor portability. Delete
it and its caller GetTestFilePath. The latter was used in
videoframe_unittest.h, where it is replaced by
webrtc::test::ResourcePath.

Delete unused functions declared in base/testutils.h: ReadFile,
GetSiblingDirectory, GetGoogle3Directory, GetTalkDirectory,
CmpHelperFileEq, EXPECT_FILEEQ, ASSERT_FILEEQ.

Delete unused functions declared in media/base/testutils.h:
GetTestFilePath (see above), LoadPlanarYuvTestImage,
DumpPlanarYuvTestImage, ComputePSNR, ComputeSumSquareError.

The functions LoadPlanarYuvTestImage, DumpPlanarYuvTestImage were used
in yuvscaler_unittests.cc and planarfunctions_unittests.cc, under
webrtc/pc. However, these tests are never compiled or run, and appear
not to have been for the last few years, and are therefore deleted
rather than updated. It might make sense to check if libyuv have
comparable tests, and if not, resurrect them as part of libyuv
unittests.

BUG=
R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13163}
2016-06-16 10:44:44 +00:00
kwiberg
342f74005f NetEq: Ask AudioDecoder for sample rate instead of passing it as an argument
BUG=webrtc:5801
NOTRY=true

Review-Url: https://codereview.webrtc.org/2027993002
Cr-Commit-Position: refs/heads/master@{#13162}
2016-06-16 10:18:09 +00:00
kwiberg
347d35129e AudioDecoder: Remove the default implementation of SampleRateHz
And implement SampleRateHz in a bunch of mocks.

BUG=webrtc:5801
NOTRY=true

Review-Url: https://codereview.webrtc.org/2029543002
Cr-Commit-Position: refs/heads/master@{#13161}
2016-06-16 08:59:13 +00:00
Danil Chapovalov
371b43b86a Changes synchronization offset perfomance tracking
to be logged after converge only.

BUG=webrtc:5032, chromium:618226
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13160}
2016-06-16 07:58:58 +00:00
Taylor Brandstetter
4f0dfbd213 Change initial DTLS retransmission timer from 1 second to 50ms.
This will help ensure a timely DTLS handshake when there's packet
loss. It will likely result in spurious retransmissions (since the
RTT is usually > 50ms), but since exponential backoff is still used,
there will at most be ~4 extra retransmissions. For a time-sensitive
application like WebRTC this seems like a reasonable tradeoff.

R=pthatcher@webrtc.org, juberti@chromium.org, juberti@webrtc.org

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

Committed: https://crrev.com/1e435628366fb9fed71632369f05928ed857d8ef
Cr-Original-Commit-Position: refs/heads/master@{#12853}
Cr-Commit-Position: refs/heads/master@{#13159}
2016-06-16 00:15:35 +00:00
Alejandro Luebs
947c02d444 Disable WebRtcVideoChannel2BaseTest.AddRemoveCapturer because it is flaky
BUG=webrtc:6006
TBR=solenberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13158}
2016-06-15 22:39:58 +00:00
Sergey Ulanov
4c17abe35e Add DesktopCapturer::Result::MAX_VALUE
MAX_VALUE will be used in chromoting_messages.h to define range of
valid DesktopCapturer::Result values.

BUG=webrtc:5950
R=jamiewalch@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#13157}
2016-06-15 20:56:07 +00:00
deadbeef
14461d42bc Fixing flaky test: WebRtcSessionTest.TestPacketOptionsAndOnPacketSent
The test sent a media packet, then verified it was sent by checking the
"last packet sent"'s ID. But the last packet sent may have been
a STUN packet that came *after* the media packet.

BUG=webrtc:5978

Review-Url: https://codereview.webrtc.org/2071573002
Cr-Commit-Position: refs/heads/master@{#13156}
2016-06-15 18:07:05 +00:00
tommi
a6219cc3ef FileWrapper[Impl] modifications and actually remove the "Impl" class.
This is a somewhat involved refactoring of this class. Here's an overview of the changes:

* FileWrapper can now be used as a regular class and instances allocated on the stack.
* The type now has support for move semantics and copy isn't allowed.
* New public ctor with FILE* that can be used instead of OpenFromFileHandle.
* New static Open() method.  The intent of this is to allow opening a file and getting back a FileWrapper instance.  Using this method instead of Create(), will allow us in the future to make the FILE* member pointer, to be const and simplify threading (get rid of the lock).
* Rename the Open() method to is_open() and make it inline.
* The FileWrapper interface is no longer a pure virtual interface.  There's only one implementation so there's no need to go through a vtable for everything.
* Functionality offered by the class, is now reduced.  No support for looping (not clear if that was actually useful to users of that flag), no need to implement the 'read_only_' functionality in the class, since file APIs implement that already, no support for *not* managing the file handle (this wasn't used).  OpenFromFileHandle always "manages" the file.
* Delete the unused WriteText() method and don't support opening files in text mode.  Text mode is only different on Windows and on Windows it translates \n to \r\n, which means that files such as log files, could have a slightly different format on Windows than other platforms.  Besides, tools on Windows can handle UNIX line endings.
* Remove FileName(), change Trace code to manage its own path.
* Rename id_ member variable to file_.
* Removed the open_ member variable since the same functionality can be gotten from just checking the file pointer.
* Don't call CloseFile inside of Write.  Write shouldn't be changing the state of the class beyond just attempting to write.
* Remove concept of looping from FileWrapper and never close inside of Read()
* Changed stream base classes to inherit from a common base class instead of both defining the Rewind method. Ultimately, Id' like to remove these interfaces and just have FileWrapper.
* Remove read_only param from OpenFromFileHandle
* Renamed size_in_bytes_ to position_, since it gets set to 0 when Rewind() is called (and the size actually does not change).
* Switch out rw lock for CriticalSection. The r/w lock was only used for reading when checking the open_ flag.

BUG=

Review-Url: https://codereview.webrtc.org/2054373002
Cr-Commit-Position: refs/heads/master@{#13155}
2016-06-15 17:30:18 +00:00
kwiberg
ceb9d0cc29 Audio decoder factory test: Ensure that g722's sample rate is 16 kHz, not 8 kHz
Review-Url: https://codereview.webrtc.org/2068133002
Cr-Commit-Position: refs/heads/master@{#13153}
2016-06-15 12:55:22 +00:00
kwiberg
6808419068 iSAC decoder: Remove obsolete TODO
NOTRY=true

Review-Url: https://codereview.webrtc.org/2069993002
Cr-Commit-Position: refs/heads/master@{#13152}
2016-06-15 12:54:20 +00:00
kwiberg
edaa849013 WebRtcVoiceCodecs: Eliminate some useless copying
Review-Url: https://codereview.webrtc.org/2067453002
Cr-Commit-Position: refs/heads/master@{#13151}
2016-06-15 11:34:53 +00:00
ossu
111744e1d7 Added backwards compatible version of WebRtcMediaEngineFactory::Create.
Added notry to unbreak clients quickly.

NOTRY=True
BUG=webrtc:6000

Review-Url: https://codereview.webrtc.org/2069643002
Cr-Commit-Position: refs/heads/master@{#13150}
2016-06-15 09:24:01 +00:00
perkj
71ee44cc6d This cl:
1. It moves calculation of the needed padding to VideoSendStream instead of ViEEncoder and only does it once per send Stream instead of every time the network estimate changes.

2. The maximum amount of padding sent was prior to this cl calculated and updated based on network estimate changes. However, it can only change based on encoder configuration changes and if send streams are added or removed. This cl change the VideoSendStream/VieEncoder to notify the BitrateAllocator of changes to the needed padding bitrate and for BitrateAllocator to notify Call of these changes.

3. Fixed an issue in the SendPacer where it could send a padding packet before sending a real packet. This caused the test EndToEndTest.RestartingSendStreamPreservesRtpStatesWithRtx to fail with these refactorings since the pacer suddenly could send a padding packet before the encoder had produced its first frame.

BUG=webrtc:5687

Review-Url: https://codereview.webrtc.org/1993113003
Cr-Commit-Position: refs/heads/master@{#13149}
2016-06-15 07:47:58 +00:00
nisse
786f481577 New misc scripts, header_usage.sh and author_line_count.sh.
NOTRY=True
BUG=

Review-Url: https://codereview.webrtc.org/2061683002
Cr-Commit-Position: refs/heads/master@{#13148}
2016-06-15 07:06:32 +00:00
tommi
42883f8b85 Revert of Attempt to figure out what the issue is on the Win10 FYI build bot in content_browsertests. (patchset #1 id:1 of https://codereview.webrtc.org/2063313003/ )
Reason for revert:
Reverting after experiment.  What seems to happen is that the thread can't be stopped when PostThreadMessage fails with this error code (or lack thereof).

Original issue's description:
> Attempt to figure out what the issue is on the Win10 FYI build bot in content_browsertests.
> Check for the case when PostThreadMessage returns false but GetLastError returns ERROR_SUCCESS.
>
> TBR=olka
> NOTRY=true
>
> Committed: https://crrev.com/e11041159d6e66fb25c2e045ad1558fc99d2d6cd
> Cr-Commit-Position: refs/heads/master@{#13143}

TBR=olka@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.webrtc.org/2067013003
Cr-Commit-Position: refs/heads/master@{#13147}
2016-06-14 23:06:35 +00:00
tommi
17c3cddf9d Revert of Split IncomingVideoStream into two implementations, with smoothing and without. (patchset #23 id:430001 of https://codereview.webrtc.org/2035173002/ )
Reason for revert:
Reverting while we track down the issue on the Win10 bot.

Original issue's description:
> Split IncomingVideoStream into two implementations, with smoothing and without.
>
> This CL fixes an issue with the non-smoothing implementation where frames were delivered on the decoder thread.  No-smoothing is now done in a separate class that uses a TaskQueue.  The implementation may drop frames if the renderer doesn't keep up and it doesn't block the decoder thread.
>
> Further work done:
>
> * I added TODOs and documentation for VideoReceiveStream::OnFrame, where we today grab 5 locks.
>
> * I removed the Start/Stop methods from the IncomingVideoStream implementations.  Now, when an instance is created, it should be considered to be "running" and when it is deleted, it's "not running".  This saves on resources and also reduces the amount of locking required and I could remove one critical section altogether.
>
> * I changed the VideoStreamDecoder class to not depend on IncomingVideoStream but rather use the generic rtc::VideoSinkInterface<VideoFrame> interface.  This means that any implementation of that interface can be used and the decoder can be made to  just use the 'renderer' from the config.  Once we do that, we can decouple the IncomingVideoStream implementations from the decoder and VideoReceiveStream implementations and leave it up to the application for how to do smoothing.  The app can choose to use the Incoming* classes or roll its own (which may be preferable since applications often have their own scheduling mechanisms).
>
> * The non-smoothing IncomingVideoStream implementation currently allows only 1 outstanding pending frame.  If we exceed that, the current frame won't be delivered to the renderer and instead we deliver the next one (since when this happens, the renderer is falling behind).
>
> * The lifetime of the VideoStreamDecoder instance is now bound to Start/Stop in VideoReceiveStream and not all of the lifetime of VideoReceiveStream.
>
> * Fixed VideoStreamDecoder to unregister callbacks in the dtor that were registered in the ctor. (this was open to a use-after-free regression)
>
> * Delay and callback pointers are now passed via the ctors to the IncomingVideoStream classes.  The thread primitives in the IncomingVideoStream classes are also constructed/destructed at the same time as the owning object, which allowed me to remove one more lock.
>
> * Removed code in the VideoStreamDecoder that could overwrite the VideoReceiveStream render delay with a fixed value of 10ms on construction.  This wasn't a problem with the previous implementation (it would be now though) but seemed to me like the wrong place to be setting that value.
>
> * Made the render delay value in VideoRenderFrames, const.
>
> BUG=
>
> Committed: https://crrev.com/1c7eef652b0aa22d8ebb0bfe2b547094a794be22
> Cr-Commit-Position: refs/heads/master@{#13129}

TBR=mflodman@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review-Url: https://codereview.webrtc.org/2061363002
Cr-Commit-Position: refs/heads/master@{#13146}
2016-06-14 23:04:48 +00:00
sergeyu
37ad337848 Remove EncodedFrameCallbackAdapter.
EncodedFrameCallbackAdapter was used VideoSendStream and
VideoReceiveStream, but there is no reason to have it as these classes
can call EncodedFrameObserver directly.

Review-Url: https://codereview.webrtc.org/2068463004
Cr-Commit-Position: refs/heads/master@{#13145}
2016-06-14 22:29:45 +00:00
tkchin
204177f967 Add RTCEventLog API to ObjC.
NOTRY=True

BUG=

Review-Url: https://codereview.webrtc.org/2067683002
Cr-Commit-Position: refs/heads/master@{#13144}
2016-06-14 22:03:19 +00:00
tommi
e11041159d Attempt to figure out what the issue is on the Win10 FYI build bot in content_browsertests.
Check for the case when PostThreadMessage returns false but GetLastError returns ERROR_SUCCESS.

TBR=olka
NOTRY=true

Review-Url: https://codereview.webrtc.org/2063313003
Cr-Commit-Position: refs/heads/master@{#13143}
2016-06-14 21:38:04 +00:00
Alex Glaznev
2cc8baa144 Adjust the amount of VP8 encoder threads for Android builds.
Current number of threads selection code does not work well
for Android builds - middle and low end devices are having hard time
encoding VGA and QVGA with just one thread.

Increase the amount of vp8 encoder threads for 180p and above resolution.

Also limit maximum number of thread to 3, since for 8 core devices
most of time 4 cores are idle when thermal throttling kicks in.

BUG=b/27946721
R=marpan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13142}
2016-06-14 21:28:42 +00:00
honghaiz
4deba9adf1 Add SigslotTester0 for testing signals without argument.
BUG=

Review-Url: https://codereview.webrtc.org/2066443003
Cr-Commit-Position: refs/heads/master@{#13141}
2016-06-14 19:49:54 +00:00
solenberg
8189b02fea Configure VoE NACK through AudioReceiveStream::Config, for receive streams. Also minor refactoring of WVoE unit test.
BUG=webrtc:4690

Review-Url: https://codereview.webrtc.org/2060813002
Cr-Commit-Position: refs/heads/master@{#13140}
2016-06-14 19:13:07 +00:00
zhihuang
184a3fd648 Forward the SignalFirstPacketReceived to RtpReceiver.
The RtpReceiverObserverInterface is created.
The SignalFirstPacketReceived will be forwarded from BaseChannel to WebRtcSession.
WebRtcSession will forward SignalFirstAudioPacketReceived and SignalFirstVideoPacketReceived to the RtpReceiverInterface.
The application can listen to the Signal by implementing and registering a RtpReceiverObserver.

Review-Url: https://codereview.webrtc.org/1999853002
Cr-Commit-Position: refs/heads/master@{#13139}
2016-06-14 18:47:20 +00:00
kwiberg
9a38cabf24 Voice Engine: Remove RED support
It was already disabled for browsers by design, and for everyone else
because of a bug.

BUG=webrtc:5922

Review-Url: https://codereview.webrtc.org/2055493003
Cr-Commit-Position: refs/heads/master@{#13138}
2016-06-14 18:21:51 +00:00
isheriff
5aaa9faa9b Remove thread_checker in playout_delay_oracle
It appears there the encode and send operation can happen over multiple
threads. Also, padding data itself may be sent on a different thread.
Remove thread checker and protect all data with crit_sect.

BUG=webrtc:5998
TBR=stefan@webrtc.org

Review-Url: https://codereview.webrtc.org/2066863002
Cr-Commit-Position: refs/heads/master@{#13137}
2016-06-14 17:55:46 +00:00
solenberg
971cab0d93 Configure VoE NACK through AudioSendStream::Config, for send streams.
BUG=webrtc:4690

Review-Url: https://codereview.webrtc.org/1955363003
Cr-Commit-Position: refs/heads/master@{#13136}
2016-06-14 17:02:46 +00:00
solenberg
05b9803c8e Removed unused GetOutputVolume() and SetOutputVolume() from MediaEngineInterface.
BUG=webrtc:4690

Review-Url: https://codereview.webrtc.org/2059403002
Cr-Commit-Position: refs/heads/master@{#13135}
2016-06-14 15:59:54 +00:00
tommi
8b06ec0b71 Change RTC_CHECK to RTC_CHECK_EQ for improved printout of GetLastError.
TBR=olka@webrtc.org
NOTRY=true

Review-Url: https://codereview.webrtc.org/2061923004
Cr-Commit-Position: refs/heads/master@{#13134}
2016-06-14 15:38:14 +00:00
kwiberg
6806136aec Remove RED support from WebRtcVoiceEngine/MediaChannel
This CL was originally written by solenberg@webrtc.org:
https://codereview.webrtc.org/1928233003/

BUG=webrtc:4690, webrtc:5922

Review-Url: https://codereview.webrtc.org/2051073002
Cr-Commit-Position: refs/heads/master@{#13133}
2016-06-14 15:04:53 +00:00
minyue
b1963b403f Reland of Re-enable UBsan on AGC.
patchset #8 id:300001 of https://codereview.webrtc.org/2003623003/

This reverts commit 2b9423f7a18145255deb93f2505a4fd1c3fa9ad7.

BUG=webrtc:5530
TBR=peah@webrtc.org, kjellander@webrtc.org

Review-Url: https://codereview.webrtc.org/2063643003
Cr-Commit-Position: refs/heads/master@{#13132}
2016-06-14 14:18:17 +00:00
ossu
dedfd28a52 Support for two audio codec lists down into WebRtcVoiceEngine.
Added the plumbing necessary to get two different lists of codecs from
WebRtcVoiceEngine up to MediaSessionDescriptionFactory.

This should be the last step in this set of CLs. Once
https://codereview.webrtc.org/1991233004/ has landed, it's possible to
implement the ReceiveCodecs getter with the info from the
AudioDecoderFactory. The factory needs to be updated to actually
produce the correct list, as well.

BUG=webrtc:5805

Review-Url: https://codereview.webrtc.org/2013053002
Cr-Commit-Position: refs/heads/master@{#13131}
2016-06-14 14:12:46 +00:00
sakal
79ede033f6 Refactor VideoCapturerAndroid tests in WebRTC.
Camera1 tests are now separated from general CameraVideoCapturer tests.
Main motivation behind these changes is that Camera2 implementation can
be tested using the same tests.

CL also reduces code duplication on tests using textures.

BUG=webrtc:5519

Review-Url: https://codereview.webrtc.org/2024843002
Cr-Commit-Position: refs/heads/master@{#13130}
2016-06-14 12:33:48 +00:00
tommi
1c7eef652b Split IncomingVideoStream into two implementations, with smoothing and without.
This CL fixes an issue with the non-smoothing implementation where frames were delivered on the decoder thread.  No-smoothing is now done in a separate class that uses a TaskQueue.  The implementation may drop frames if the renderer doesn't keep up and it doesn't block the decoder thread.

Further work done:

* I added TODOs and documentation for VideoReceiveStream::OnFrame, where we today grab 5 locks.

* I removed the Start/Stop methods from the IncomingVideoStream implementations.  Now, when an instance is created, it should be considered to be "running" and when it is deleted, it's "not running".  This saves on resources and also reduces the amount of locking required and I could remove one critical section altogether.

* I changed the VideoStreamDecoder class to not depend on IncomingVideoStream but rather use the generic rtc::VideoSinkInterface<VideoFrame> interface.  This means that any implementation of that interface can be used and the decoder can be made to  just use the 'renderer' from the config.  Once we do that, we can decouple the IncomingVideoStream implementations from the decoder and VideoReceiveStream implementations and leave it up to the application for how to do smoothing.  The app can choose to use the Incoming* classes or roll its own (which may be preferable since applications often have their own scheduling mechanisms).

* The non-smoothing IncomingVideoStream implementation currently allows only 1 outstanding pending frame.  If we exceed that, the current frame won't be delivered to the renderer and instead we deliver the next one (since when this happens, the renderer is falling behind).

* The lifetime of the VideoStreamDecoder instance is now bound to Start/Stop in VideoReceiveStream and not all of the lifetime of VideoReceiveStream.

* Fixed VideoStreamDecoder to unregister callbacks in the dtor that were registered in the ctor. (this was open to a use-after-free regression)

* Delay and callback pointers are now passed via the ctors to the IncomingVideoStream classes.  The thread primitives in the IncomingVideoStream classes are also constructed/destructed at the same time as the owning object, which allowed me to remove one more lock.

* Removed code in the VideoStreamDecoder that could overwrite the VideoReceiveStream render delay with a fixed value of 10ms on construction.  This wasn't a problem with the previous implementation (it would be now though) but seemed to me like the wrong place to be setting that value.

* Made the render delay value in VideoRenderFrames, const.

BUG=

Review-Url: https://codereview.webrtc.org/2035173002
Cr-Commit-Position: refs/heads/master@{#13129}
2016-06-14 11:38:43 +00:00
Peter Boström
e355069d22 Disable SctpDataMediaChannelTest.ReusesAStream.
Flaky on all platforms.

BUG=webrtc:4453
TBR=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13128}
2016-06-14 11:08:07 +00:00
Peter Boström
0208322ee3 GN: Add video_engine_tests
Adds separate source_sets for the video_engine_tests subtargets inside
audio, call and video and merges them together into video_engine_tests.

BUG=webrtc:5949
R=kjellander@webrtc.org
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13127}
2016-06-14 10:53:09 +00:00
ossu
075af92730 Initial asymmetric codec support in MediaSessionDescription
Added initial support for MediaSessionDescriptionFactory to pick different codecs based on communications direction (sendrecv, sendonly, recvonly, inactive) specifically for audio.

This adds some more degradation options for the answer: depending on answer options, it's now possible to degrade to INACTIVE from any offer, as well as to either RECVONLY or SENDONLY from a SENDRECV offer.

The set of "codecs" used for testing the answer was compiled using this spreadsheet:
https://docs.google.com/a/google.com/spreadsheets/d/1nVIfZLsFo5YK10_e80BCAADZnnRQ1devwwwAGmqJPow/edit?usp=sharing

I should probably condense it into a smaller table and put in the source.

BUG=webrtc:5805

Review-Url: https://codereview.webrtc.org/1956343002
Cr-Commit-Position: refs/heads/master@{#13126}
2016-06-14 10:29:47 +00:00
solenberg
87abc289a9 Add kwiberg@webrtc.org as root owner.
NOTRY=true

Review-Url: https://codereview.webrtc.org/2060923003
Cr-Commit-Position: refs/heads/master@{#13125}
2016-06-14 09:39:40 +00:00
kjellander
86600246ca Remove webrtc_all target
Move all its configuration to all.gyp instead, which is
not processed by Chromium builds (webrtc.gyp is).

BUG=webrtc:5949
NOTRY=True

Review-Url: https://codereview.webrtc.org/2060873002
Cr-Commit-Position: refs/heads/master@{#13124}
2016-06-14 09:09:24 +00:00
nisse
7336225505 Delete left-over files.
References from Chrome's build files are gone with
https://codereview.chromium.org/2054763002/ and
https://codereview.chromium.org/2056243003/

BUG=

Review-Url: https://codereview.webrtc.org/2063703002
Cr-Commit-Position: refs/heads/master@{#13123}
2016-06-14 08:54:52 +00:00
sakal
1fc4810006 Always on statistics for AndroidMediaEncoder.
Earlier, no statistics were reported if no frames were being delivered
for encoding. This makes statics always be reported regardless of if
there are frames being delivered to the encoder.

Review-Url: https://codereview.webrtc.org/2051403002
Cr-Commit-Position: refs/heads/master@{#13122}
2016-06-14 08:53:44 +00:00
peah
81d99b3049 A missing path separator caused aecdump recordings
not to be created in apprtc on Android.

The path separator was missing when the path for the aecdump
file was created. This CL adds that path separator.

Note that the change of the formatting of the rest of the
line was caused by "git cl format" (the clang automatic
formatting).

BUG=webrtc:5991

Review-Url: https://codereview.webrtc.org/2053263002
Cr-Commit-Position: refs/heads/master@{#13121}
2016-06-14 08:34:55 +00:00
sakal
54f5a26421 Report errors creating peer connection in AppRTC Demo Android.
Right now if an exception is thrown, it doesn't seem to be logged
anywhere. This CL makes it show a pop-up with the error message.
This should save time debugging issues.

Review-Url: https://codereview.webrtc.org/2049933004
Cr-Commit-Position: refs/heads/master@{#13120}
2016-06-14 08:08:25 +00:00
deadbeef
e9fc75ee72 Fixing SCTP verbose packet logging.
We were passing the pointer to the sockaddr to usrsctp_dumppacket,
instead of the pointer to the data. So we were just logging random
bytes. The dangers of void*...

NOTRY=True
TBR=pthatcher@webrtc.org
BUG=619372

Review-Url: https://codereview.webrtc.org/2061093003
Cr-Commit-Position: refs/heads/master@{#13119}
2016-06-14 00:30:41 +00:00
kjellander
dfe6937666 Revert of Roll chromium_revision 7fa6701bc5..1a73d11e65 (398458:399420) (patchset #2 id:20001 of https://codereview.webrtc.org/2061723002/ )
Reason for revert:
webrtc_perf_tests fails on all Android Release testers:
http://build.chromium.org/p/client.webrtc/builders/Android64%20Tests%20%28L%20Nexus9%29/builds/3673

Original issue's description:
> Roll chromium_revision 7fa6701bc5..1a73d11e65 (398458:399420)
>
> A fix was needed to make Android tests pass after
> https://codereview.chromium.org/2043803003
>
> Change log: 7fa6701bc5..1a73d11e65
> Full diff: 7fa6701bc5..1a73d11e65
>
> Changed dependencies:
> * src/buildtools: 8dd3c8e39a..099f1da55b
> * src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/0fc7df55c0..171b5403ee
> * src/third_party/ffmpeg: 7f03319b9d..bcb8b67b8b
> DEPS diff: 7fa6701bc5..1a73d11e65/DEPS
>
> No update to Clang.
>
> TBR=
> BUG=webrtc:5990
> NOTRY=True
>
> Committed: https://crrev.com/c49cf1308f879ce029f5f0e804b4eef3b08b67c5
> Cr-Commit-Position: refs/heads/master@{#13117}

TBR=
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5990

Review-Url: https://codereview.webrtc.org/2059423002
Cr-Commit-Position: refs/heads/master@{#13118}
2016-06-13 21:11:09 +00:00
kjellander
c49cf1308f Roll chromium_revision 7fa6701bc5..1a73d11e65 (398458:399420)
A fix was needed to make Android tests pass after
https://codereview.chromium.org/2043803003

Change log: 7fa6701bc5..1a73d11e65
Full diff: 7fa6701bc5..1a73d11e65

Changed dependencies:
* src/buildtools: 8dd3c8e39a..099f1da55b
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/0fc7df55c0..171b5403ee
* src/third_party/ffmpeg: 7f03319b9d..bcb8b67b8b
DEPS diff: 7fa6701bc5..1a73d11e65/DEPS

No update to Clang.

TBR=
BUG=webrtc:5990
NOTRY=True

Review-Url: https://codereview.webrtc.org/2061723002
Cr-Commit-Position: refs/heads/master@{#13117}
2016-06-13 19:12:47 +00:00