Commit Graph

8490 Commits

Author SHA1 Message Date
Alex Glaznev
908e77bd00 Allow Java code to detect if VP8 and H.264 HW decoding is supported.
R=wzh@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/43269004

Cr-Commit-Position: refs/heads/master@{#9058}
2015-04-22 16:25:22 +00:00
Fredrik Solenberg
b67288283a Move cricket::FakeCall and associates to a separate file.
BUG=4574
R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49129004

Cr-Commit-Position: refs/heads/master@{#9057}
2015-04-22 13:34:57 +00:00
Fredrik Solenberg
7fb711f683 Remove unused voice channel argument from cricket::VideoChannel ctor and corresponding field in class.
BUG=4574
R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/50769004

Cr-Commit-Position: refs/heads/master@{#9056}
2015-04-22 13:30:33 +00:00
Åsa Persson
96d1d89c3e Do not register bandwidth observer for receive only channels.
An incoming rtcp report block is inserted to both send and receive channels in Call::DeliverRtcp. The report block may also be accepted by each receive channel (in addition to the send channel) but fails to calculate the rtt (=0).
Remove registration of bandwidth observer for receive channels. Prevents multiple callbacks to the bitrate controller (and with incorrect rtt) for an incoming report block.

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

Review URL: https://webrtc-codereview.appspot.com/45209004

Cr-Commit-Position: refs/heads/master@{#9055}
2015-04-22 12:57:32 +00:00
Peter Boström
393347ff98 Report receive-side packet loss.
BUG=4558
R=asapersson@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/48219004

Cr-Commit-Position: refs/heads/master@{#9054}
2015-04-22 12:52:31 +00:00
Henrik Kjellander
7c027b64ae Enable more Clang warnings for talk/
BUG=4242
R=andresp@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46999004

Cr-Commit-Position: refs/heads/master@{#9053}
2015-04-22 11:21:10 +00:00
Ivo Creusen
5a3178042b Reformatting RTPtimeshift.cc file.
BUG=2692
R=henrik.lundin@webrtc.org, kwiberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/45239004

Cr-Commit-Position: refs/heads/master@{#9052}
2015-04-22 11:11:39 +00:00
Stefan Holmer
ac69016b0f Improve TCP by adding a real timeout to in flight packets.
Note that the timeout should depend on the smoothed RTT, but for now is hard coded to 1000 ms.

This solves issues where a full cwnd gets lost.

R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/51739004

Cr-Commit-Position: refs/heads/master@{#9051}
2015-04-22 11:11:28 +00:00
Henrik Kjellander
8e4b9e8804 Roll chromium_revision dcb0929..d5098d0 (325030:326014)
Relevant changes:
* src/third_party/android_tools: a1ffd63..bba2299
* src/third_party/libvpx: 1fff3e3..0816cf2
* src/tools/gyp: 2889664..2a5511b
Details: dcb0929..d5098d0/DEPS

Clang version was not updated in this roll.

TBR=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49109004

Cr-Commit-Position: refs/heads/master@{#9050}
2015-04-22 06:50:06 +00:00
Henrik Kjellander
e555b7b440 Fix CC flags in GN Windows build.
It was applying a GCC command line flag on Windows

R=brettw@chromium.org

Review URL: https://webrtc-codereview.appspot.com/46989004

Cr-Commit-Position: refs/heads/master@{#9049}
2015-04-22 06:49:37 +00:00
Bjorn Volcker
fb49451014 Disables mic bump-up level if not built with chromium
In http://chromegw.corp.google.com/viewvc/chrome-internal?view=rev&revision=61016 a feature to bump up low input audio levels to a fixed value of 33%. In https://webrtc-codereview.appspot.com/43109004/ a configuration to choose an arbitrary level was added, but still using 33% as default.
The original bump-up feature was added to fix audio issues in chrome, but affected also non-chrome users. This CL disables the feature for non-chrome applications.

Note that the default value is set to 0, but any value up to 12 will do. Zero was selected because it is more clear that the feature is turned off.

BUG=4529
R=andrew@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/43259004

Cr-Commit-Position: refs/heads/master@{#9048}
2015-04-22 04:39:47 +00:00
Ljubomir Papuga
8f85dbcce4 Reduce the number of registers used in MIPS optimizations.
This change is needed by ChromeOS as it introduces -fno-omit-frame-pointer
flag (see code.google.com/p/chromium/issues/detail?id=477749). This causes
compile error for MIPS, as some MIPS optimization blocks use maximum possible
number of available registers.
Also, this change contains minor GN build fix for MIPS platform regarding the
pitch_filter_mips.c / pitch_filter_c.c file inclusion.

BUG=477749
R=andrew@webrtc.org, djordje.pesut@imgtec.com, tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/48139004

Patch from Ljubomir Papuga <lpapuga@mips.com>.

Cr-Commit-Position: refs/heads/master@{#9047}
2015-04-21 23:52:26 +00:00
Noah Richards
bbf7c864ad Add a new BitBuffer class to webrtc base.
Provides a read-only interface for reading byte and bit-sized data from
an underlying buffer in network/big-endian order. Also provides a method
for reading exponential golomb encoded values, which will be useful in
H.264 packet parsing (separate CL).

BUG=
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49719004

Cr-Commit-Position: refs/heads/master@{#9046}
2015-04-21 23:29:53 +00:00
jackychen
61b4d518af Dynamic resolution change for VP8 HW encode.
Off by default for now.

BUG=
R=glaznev@webrtc.org, stefan@webrtc.org
TBR=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/45849004

Cr-Commit-Position: refs/heads/master@{#9045}
2015-04-21 22:29:53 +00:00
Peter Boström
5464a6e548 Remove VideoCodingModule::InitializeReceiver.
This code is no longer used to reset, so we can just initialize the
object in the constructor.

BUG=4391
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/43249004

Cr-Commit-Position: refs/heads/master@{#9044}
2015-04-21 14:35:34 +00:00
Peter Boström
9dbbcfbcb5 Remove VideoCodingModule::InitializeSender.
This code is no longer used to reset, so we can just initialize the
object in the constructor.

BUG=4391
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/51619005

Cr-Commit-Position: refs/heads/master@{#9043}
2015-04-21 13:54:56 +00:00
Stefan Holmer
95702246d7 Fix broken perf prints.
R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/51709004

Cr-Commit-Position: refs/heads/master@{#9042}
2015-04-21 13:44:01 +00:00
Stefan Holmer
5f92051f06 Fix bug in TCP implementation (simulations).
The problem was that only ACKed packets were subtracted from in_flight_, but lost packets were never removed, which caused TCP to stop sending eventually.

R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/43239004

Cr-Commit-Position: refs/heads/master@{#9041}
2015-04-21 12:48:07 +00:00
Shao Changbin
e62202fedf Support handling multiple RTX but only generate SDP with RTX associated with VP8.
This implementation registers RTX-APT map inside RTP sender and receiver.
While it only generates SDP with RTX associated with VP8 to make it
compatible with previous Chrome versions.

Should add following changes after reaches stable,
* Use RTX-APT map for building and restoring RTP packets.
* Add RTX support for RED or VP9 in Video engine.
* Set RTX payload type for RED inside FecConfig in EndToEndTest.

BUG=4024
R=mflodman@webrtc.org, pbos@webrtc.org, pthatcher@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/36889004

Cr-Commit-Position: refs/heads/master@{#9040}
2015-04-21 12:25:42 +00:00
Peter Boström
6cff9cf8a3 Revert "Remove simulcast modules from ViEReceiver."
This reverts commit 14a97f0a91.

Introduces a deadlock due to acquiring simulcast_rtp_rtcp_ in
ReceivedRTCPPacket.

BUG=4568, chromium:478911
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/44289004

Cr-Commit-Position: refs/heads/master@{#9039}
2015-04-21 11:47:02 +00:00
Jelena Marusic
06b08afb67 VoE: VoEBase unit test
Changes:
1. Documented return values of VoEBase methods.
2. Added/modified VoEBase unit test.

R=henrika@webrtc.org, kwiberg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/51669004

Cr-Commit-Position: refs/heads/master@{#9038}
2015-04-21 09:39:41 +00:00
Alex Glaznev
c4905fb72a Fix race condition in Android camera JNI code.
AndroidVideoCapturerJni dtor is called on signaling thread
and may destroy JNI global refs while processing late camera
frame arrival in ReturnBuffer_w() in worker thread.

Fix this by waiting for all function invoked on worker thread
to complete in camera JNI dtor.

R=wzh@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49099004

Cr-Commit-Position: refs/heads/master@{#9037}
2015-04-20 23:54:25 +00:00
Zeke Chin
ac7d97fea6 Remove frame copy in RTCOpenGLVideoRenderer.
BUG=1128
R=magjed@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/44039004

Cr-Commit-Position: refs/heads/master@{#9036}
2015-04-20 21:33:05 +00:00
Karl Wiberg
011c00f708 rtc::Buffer: Accept void* in addition to the byte-sized types
We used to accept void* (until 9478437f), and we'll have to continue
to do so for a little while longer, until Chromium doesn't need it
anymore.

TBR=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/48179004

Cr-Commit-Position: refs/heads/master@{#9035}
2015-04-20 20:55:41 +00:00
Alex Glaznev
8c054154da Add extra logging for Android camera JNI layer.
Plus enabled checks for release version.

R=wzh@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46939004

Cr-Commit-Position: refs/heads/master@{#9034}
2015-04-20 20:00:35 +00:00
Karl Wiberg
9478437fde rtc::Buffer improvements
1. Constructors, SetData(), and AppendData() now accept uint8_t*,
     int8_t*, and char*. Previously, they accepted void*, meaning that
     any kind of pointer was accepted. I think requiring an explicit
     cast in cases where the input array isn't already of a byte-sized
     type is a better compromise between convenience and safety.

  2. data() can now return a uint8_t* instead of a char*, which seems
     more appropriate for a byte array, and is harder to mix up with
     zero-terminated C strings. data<int8_t>() is also available so
     that callers that want that type instead won't have to cast, as
     is data<char>() (which remains the default until all existing
     callers have been fixed).

  3. Constructors, SetData(), and AppendData() now accept arrays
     natively, not just decayed to pointers. The advantage of this is
     that callers don't have to pass the size separately.

  4. There are new constructors that allow setting size and capacity
     without initializing the array. Previously, this had to be done
     separately after construction.

  5. Instead of TransferTo(), Buffer now supports swap(), and move
     construction and assignment, and has a Pass() method that works
     just like std::move(). (The Pass method is modeled after
     scoped_ptr::Pass().)

R=jmarusic@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/42989004

Cr-Commit-Position: refs/heads/master@{#9033}
2015-04-20 12:03:00 +00:00
Thiago Farina
91543731c3 Do not define POSIX.
It breaks integration with upstream re2 library on Chromium.

Without patching re2 library, with this define, it produces the
following error:

../../third_party/re2/re2/re2.h:254:5: error: expected identifier
    POSIX, // POSIX syntax, leftmost-longest match

As we define POSIX on the command line, the C preprocessor changes
RE2::POSIX to nothing and thus break the compilation. :(

See chromium-dev mailing list for this discussion in
https://groups.google.com/a/chromium.org/d/topic/chromium-dev/UXCHnX7pV44/discussion

BUG=None
TEST=ninja -C out/Debug, everything compiles as before
R=sergeyu@chromium.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46049004

Patch from Thiago Farina <tfarina@chromium.org>.

Cr-Commit-Position: refs/heads/master@{#9032}
2015-04-20 11:14:22 +00:00
Henrik Kjellander
d43ba89d00 PRESUBMIT: Add new trybots for iOS Simulator
Trybots added in https://codereview.chromium.org/1096683002

BUG=chromium:478057
R=phoglund@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49049004

Cr-Commit-Position: refs/heads/master@{#9031}
2015-04-20 06:58:07 +00:00
Ted Nakamura
599beb8687 Revert "AudioEncoderDecoderIsac: Merge the two config structs"
Reason for revert - breaks Hangouts

This reverts commit 7c324cac50.

BUG=chromium:478161

Review URL: https://webrtc-codereview.appspot.com/43209004

Cr-Commit-Position: refs/heads/master@{#9030}
2015-04-17 21:13:59 +00:00
Henrik Boström
09a9ea8886 Supporting formats of non-multiple of 16 widths on Android.
This is an updated version of perkj's issue (https://webrtc-codereview.appspot.com/44129004/) which was reverted due to libjingle_peerconnection_android_unittest crashing on Nexus 9. It crashed because there was old test code still assuming the width was multiple of 16 (which was only a problem on devices with non-16 widths).

BUG=4522
R=glaznev@webrtc.org, magjed@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/45109004

Cr-Commit-Position: refs/heads/master@{#9029}
2015-04-17 15:31:45 +00:00
Stefan Holmer
a51e8f490c Fix some simulation issues.
Don't default to an infinite queue.
Make sure the computation of missing packets is correct.

R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49059004

Cr-Commit-Position: refs/heads/master@{#9028}
2015-04-17 13:48:58 +00:00
Peter Boström
14a97f0a91 Remove simulcast modules from ViEReceiver.
Instead of maintaining two lists of simulcast modules, deliver RTCP
packets to simulcast modules inside ViEChannel.

BUG=1695
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/48119004

Cr-Commit-Position: refs/heads/master@{#9027}
2015-04-17 13:13:52 +00:00
Stefan Holmer
1d19893f3a Add TCP fairness test.
BUG=4548
R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/43199004

Cr-Commit-Position: refs/heads/master@{#9026}
2015-04-17 12:54:34 +00:00
Henrik Lundin
b0b54259c3 Let rtp_analyze parse absolute sender time
Also change to use virtual_packet_length_bytes in order to print the
actual packet size of the complete packet even when the RTP file only
contains RTP headers.

BUG=2692
R=tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/51559004

Cr-Commit-Position: refs/heads/master@{#9025}
2015-04-17 09:46:56 +00:00
Karl Wiberg
61c2a6f241 Remove rtc::Buffer::length(), since no one uses it anymore
Chromium now uses size() instead, just like WebRTC.

This CL also fixes a new length() call that had crept in.

R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/44119004

Cr-Commit-Position: refs/heads/master@{#9024}
2015-04-16 19:48:52 +00:00
Stefan Holmer
d4e80146e3 Fix build errors in r9022 / 09bdc1e5f5.
Implicit casts detected by Win64 Release.

TBR=pbos@webrtc.org

BUG=4548

Review URL: https://webrtc-codereview.appspot.com/44239004

Cr-Commit-Position: refs/heads/master@{#9023}
2015-04-16 18:35:32 +00:00
Stefan Holmer
09bdc1e5f5 Add a BWE fairness test.
Also moves the BWE perf tests to webrtc_perf_tests for tracking.

BUG=4548
R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/45189004

Cr-Commit-Position: refs/heads/master@{#9022}
2015-04-16 18:20:26 +00:00
Stefan Holmer
3795937920 Adds a simplified Reno-type TCP sender.
BUG=4559
R=sprang@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/44189004

Cr-Commit-Position: refs/heads/master@{#9021}
2015-04-16 17:55:38 +00:00
Alex Glaznev
f49dbfa5c3 Close all camera resources when camera error happens.
Also add more logs to better track still observed camera
open/close failures.

R=magjed@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/48109004

Cr-Commit-Position: refs/heads/master@{#9020}
2015-04-16 16:11:22 +00:00
Peter Boström
3f4eed0cc0 Deliver RTCP packets only once per receive stream.
Receive streams can have multiple entries in the SSRC table when RTX is
configured. This does not mean that they should receive RTCP packets
more than once.

BUG=4546
R=asapersson@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/43179004

Cr-Commit-Position: refs/heads/master@{#9019}
2015-04-16 13:59:35 +00:00
Peter Boström
fb98c40915 Register RTP/RTCP modules outside rtp_rtcp_cs_.
Prevents deadlock between the process thread and SetSendCodec calls.

BUG=4542
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/45179004

Cr-Commit-Position: refs/heads/master@{#9018}
2015-04-16 10:00:12 +00:00
Henrik Kjellander
382c58d127 Move target_subarch from gyp_webrtc to supplement.gypi
Since the webrtc/build/supplement.gypi file is loaded before
Chromium's build/common.gypi it is the right place to override
GYP variables. This makes it possible to use the approach in
https://webrtc-codereview.appspot.com/48869004, which I applied
to supplement.gypi in this CL, instead of the hacky approach in
https://webrtc-codereview.appspot.com/48909004 (removed in this CL).

R=tkchin@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/50729004

Cr-Commit-Position: refs/heads/master@{#9017}
2015-04-16 07:24:23 +00:00
Henrik Kjellander
f2497cf517 Fix unknown option '-msse2' warning
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/43169004

Cr-Commit-Position: refs/heads/master@{#9016}
2015-04-16 06:57:12 +00:00
Karl Wiberg
7c324cac50 AudioEncoderDecoderIsac: Merge the two config structs
This patch merges the Config and ConfigAdaptive structs, so that iSAC
has just one config struct like the other codecs. Future CLs will make
use of this.

COAUTHOR=henrik.lundin@webrtc.org
BUG=4228
R=tina.legrand@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/45979004

Cr-Commit-Position: refs/heads/master@{#9015}
2015-04-16 04:00:18 +00:00
Alex Glaznev
9829af4bfc Disable VP8 encoder HW acceleration on NVidia devices.
NVidia HW encoder bitrate control is allowing too much
bitrate fluctuation. Plus average encoding time is not enough
for 720p 30 fps support.

R=wzh@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/48099004

Cr-Commit-Position: refs/heads/master@{#9014}
2015-04-15 21:58:19 +00:00
Zeke Chin
7d89f80fd4 Use BoringSSL as default on iOS
BUG=3605
R=kjellander@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/51659004

Cr-Commit-Position: refs/heads/master@{#9013}
2015-04-15 19:09:14 +00:00
Alejandro Luebs
5d22c006eb Add performance tests flag to audioproc_float
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46039004

Cr-Commit-Position: refs/heads/master@{#9012}
2015-04-15 18:26:34 +00:00
Noah Richards
41ee1ea4fa Modified the simulcast encoder adapter to correctly handle encoded frames from sub encoders even if the encoder is unable to (temporarily or permanently) produce frames of the exactly matching resolution. This is done by using a different EncodedImageCallback for each encoder, which remembers which VideoEncoder it is registered to and forwards that on to SimulcastEncoderAdapter::Encoded.
BUG=
R=pbos@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/45949004

Cr-Commit-Position: refs/heads/master@{#9011}
2015-04-15 16:24:16 +00:00
Noah Richards
099323e39b Have ViE sender also use the last encoded frame timestamp when determining if the video stream is paused/muted, for purposes of padding.
Without this, external encoders with internal sources (i.e. don't use the normal camera path) won't trigger ViEEncoder::DeliverFrame, so time_of_last_incoming_frame_ms_ will always be 0.

BUG=
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/44099004

Cr-Commit-Position: refs/heads/master@{#9010}
2015-04-15 16:14:07 +00:00
Åsa Persson
352b2d7a19 Fix for sent/received RTCP packet counters returned by GetRtcpPacketTypeCounters. The returned counters are incorrect: sent_packets returns stats from a sent stream (and received_packets returns stats from a receive stream).
Add separate functions for returning stats from send/receive stream and updated how functions are used.

Add test implementation for histogram methods in system_wrappers/interface/metrics.h.

BUG=4519
R=pbos@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49639004

Cr-Commit-Position: refs/heads/master@{#9009}
2015-04-15 16:00:37 +00:00