180 Commits

Author SHA1 Message Date
wu@webrtc.org
94454b71ad Fix the chain that propagates the audio frame's rtp and ntp timestamp including:
* In AudioCodingModuleImpl::PlayoutData10Ms, don't reset the timestamp got from GetAudio.
* When there're more than one participant, set AudioFrame's RTP timestamp to 0.
* Copy ntp_time_ms_ in AudioFrame::CopyFrom method.
* In RemixAndResample, pass src frame's timestamp_ and ntp_time_ms_ to the dst frame.
* Fix how |elapsed_time_ms| is computed in channel.cc by adding GetPlayoutFrequency.

Tweaks on ntp_time_ms_:
* Init ntp_time_ms_ to -1 in AudioFrame ctor.
* When there're more than one participant, set AudioFrame's ntp_time_ms_ to an invalid value. I.e. we don't support ntp_time_ms_ in multiple participants case before the mixing is moved to chrome.

Added elapsed_time_ms to AudioFrame and pass it to chrome, where we don't have the information about the rtp timestmp's sample rate, i.e. can't convert rtp timestamp to ms.

BUG=3111
R=henrik.lundin@webrtc.org, turaj@webrtc.org, xians@webrtc.org
TBR=andrew
andrew to take another look on audio_conference_mixer_impl.cc

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6346 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-05 20:34:08 +00:00
tkchin@webrtc.org
738df8913d Fix retain cycle in RTCEAGLVideoView.
CADisplayLink increases its target's refcount. In order to break retain cycle, we wrap CADisplayLink in a new RTCDisplayLinkTimer class and use that instead.

R=fischman@webrtc.org, noahric@chromium.org
BUG=3391

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6331 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-04 20:19:39 +00:00
fischman@webrtc.org
83eb7dff5c PeerConnection(java): disable wait for flaky ICEConnection.COMPLETED.
This should be reverted when COMPLETED is delivered reliably.

BUG=3021
TESTED=without this patch the test fails in Debug mode after a handful of runs.  With this patch 100 runs passed in a row on my desktop.
R=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6315 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-03 16:38:08 +00:00
buildbot@webrtc.org
b525a9d790 (Auto)update libjingle 68379861-> 68445177
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6309 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-03 09:42:15 +00:00
pbos@webrtc.org
044bdacfef Remove kMaxWaitForStatsMs from tsanv2 compilation.
As some tests are #ifdef'd out on THREAD_SANITIZER this constant
triggers an unused-const-variable warning which breaks the build.

BUG=1205,3220
TBR=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6308 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-03 09:40:01 +00:00
pbos@webrtc.org
174a67439b Enable -Wall, -Wextra and -Wunused-variable for talk/ on clang.
Also removes one case of unused-variable.

BUG=3220
R=henrike@webrtc.org, kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6297 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-02 07:58:30 +00:00
tkchin@webrtc.org
acca675bcf Implement mac version of AppRTCDemo.
- Refactored and moved AppRTCDemo to support sharing AppRTC connection code between iOS and mac counterparts.
- Refactored OpenGL rendering code to be shared between iOS and mac counterparts.
- iOS AppRTCDemo now respects video aspect ratio.

BUG=2168
R=fischman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6291 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-30 22:26:06 +00:00
jiayl@webrtc.org
9f8164c060 Fix two bugs in DataChannel state transition.
1. OnStateChange should not be fired if state is not changed.
2. RemotePeerRequestClose should be a no-op if it's already closed.

TBR=pthatcher@webrtc.org
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6290 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-30 21:53:17 +00:00
buildbot@webrtc.org
1d66be22c8 (Auto)update libjingle 68203780-> 68206793
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6277 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-29 22:54:24 +00:00
jiayl@webrtc.org
5dc51fbe50 Closes the DataChannel when the send buffer is full or on transport errors.
As stated in the spec.

BUG=2645
R=pthatcher@google.com, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6270 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-29 15:33:54 +00:00
jiayl@webrtc.org
001fd2d503 Fire OnRenegotiationNeeded only for the first SCTP DataChannel.
Subsequent DataChannels do not need renegotiation since SCTP data streams are not negotiated through SDP.

BUG=2431
R=pthatcher@google.com, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6268 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-29 15:31:11 +00:00
jiayl@webrtc.org
b364016cbb Revert r6161 "Drop the DataChannel message if it's received when the channel is not open."
The spec does not say the DataChannel has to be open to receive a message.

TBR=pthatcher@google.com
BUG=crbug/363005

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6264 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-28 16:37:25 +00:00
mallinath@webrtc.org
b445f26f24 Fixing correct UMA metric for PeerConnection enabled with IPv4 Vs IPv6.
BUG=N/A
TBR=jiayl@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6242 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-23 22:19:37 +00:00
buildbot@webrtc.org
7aa1a4767f (Auto)update libjingle 67848628-> 67848776
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6237 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-23 17:33:05 +00:00
tkchin@webrtc.org
1732a591e7 Add a UIView for rendering a video track.
RTCEAGLVideoView provides functionality to render a supplied RTCVideoTrack using OpenGLES2.

R=fischman@webrtc.org
BUG=3188

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6192 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-19 23:26:01 +00:00
wu@webrtc.org
cb711f77d2 Add interface to propagate audio capture timestamp to the renderer.
BUG=3111
R=andrew@webrtc.org, turaj@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6189 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-19 17:39:11 +00:00
fischman@webrtc.org
a150bc9bbf PeerConnection(android): allow initializing either (or neither) of {Voice,Video}Engine.
Enables applications that don't want to pay the init/startup cost or request
extra permissions (e.g. audio-only app, or DataChannel-only app).

BUG=3234

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6164 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-14 22:00:50 +00:00
jiayl@webrtc.org
4f5801494d Drop the DataChannel message if it's received when the channel is not open.
It may happen when the JS has closed the channel on the signaling thread while messages are received on the worker thread and posted before the state change is pushed to the worker thread.

BUG=crbug/363005
R=mallinath@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6161 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-14 20:32:35 +00:00
buildbot@webrtc.org
688ed699e0 (Auto)update libjingle 67017551-> 67023528
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6158 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-14 18:26:09 +00:00
fischman@webrtc.org
2c98af7935 PeerConnection(Java): auto-WrapCurrentThread() when creating PeerConnectionFactory.
Various pieces of talk/ assume that the current Thread is ThreadManager'd
without checking this, so unconditionally wrap the caller's thread in case it
was created by Java code unbeknownst to ThreadManager.

BUG=2947
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6154 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-14 17:33:32 +00:00
buildbot@webrtc.org
da510c5de6 (Auto)update libjingle 66923202-> 66924241
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6132 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-13 22:30:56 +00:00
buildbot@webrtc.org
c14f521b1b (Auto)update libjingle 66887616-> 66900106
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6130 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-13 18:52:57 +00:00
buildbot@webrtc.org
3e01e0b16c (Auto)update libjingle 66867790-> 66887616
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6128 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-13 17:54:10 +00:00
pbos@webrtc.org
b5a22b1464 Revert r6110 and r6109.
Effectively re-landing r6104 as well as r6108 which includes a fix to a
compile error that caused r6104 to be reverted in r6110.

BUG=
TBR=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6119 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-13 11:07:01 +00:00
mallinath@webrtc.org
d37bcfa882 Changed enums to less generic names.
IPv4/IPv6 will be sent when RegisterUMAObserver is called. This is done
as Initialize is not called through interface.

R=jiayl@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6112 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-12 23:10:18 +00:00
buildbot@webrtc.org
17911dca80 (Auto)update libjingle 66798415-> 66813165
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6110 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-12 18:42:49 +00:00
pbos@webrtc.org
d266a2020f Initial wiring of new webrtc API in libjingle.
BUG=1788
R=pthatcher@google.com, pthatcher@webrtc.org
TBR=juberti@webrtc.org, mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6104 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-12 14:32:01 +00:00
mallinath@webrtc.org
0f2a22b3fa Removed sending metrics from PeerConnection about IPv4 and IPv6.
Reasons: 1: There is memcheck failure.
         2: DoInitialize is called before RegisterUMAObserver,
            which means this will be never triggered in real cases.

BUG=3326
R=jiayl@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6097 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-09 21:15:06 +00:00
buildbot@webrtc.org
1567b8cf8c (Auto)update libjingle 66540208-> 66541346
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6085 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-08 19:54:16 +00:00
buildbot@webrtc.org
ff6a3d920a (Auto)update libjingle 66523887-> 66524760
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6080 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-08 16:16:41 +00:00
buildbot@webrtc.org
ed97bb0eb4 (Auto)update libjingle 66340694-> 66388864
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6071 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-07 11:15:20 +00:00
buildbot@webrtc.org
0581f0ba0a (Auto)update libjingle 66303009-> 66322380
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6065 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-06 21:36:31 +00:00
buildbot@webrtc.org
41451d4e55 (Auto)update libjingle 66106643-> 66138442
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6049 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-03 05:39:45 +00:00
jiayl@webrtc.org
9c16c39e61 Sets the SCTP port codec in the native SessionDescription.
Previously it's only set when a SDP string is parsed into SessionDescription, causing failuring for native client.

BUG=3141
R=juberti@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6036 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-01 18:30:30 +00:00
tkchin@webrtc.org
ff2733204d Implement ObjC DataChannel wrapper
R=fischman@webrtc.org
BUG=3112

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6031 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-30 18:32:33 +00:00
fischman@webrtc.org
f04a6ea733 MediaCodecVideoEncoder: limit MediaCodec bitrate to 95% of requested to avoid overshoot.
BUG=3194
R=noahric@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6021 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-29 17:53:30 +00:00
mallinath@webrtc.org
a0d3067575 Use CreatePeerConnection method which accepts port_allocator.
Other method will be removed, in a different CL.

R=fischman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5987 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-26 00:00:15 +00:00
tkchin@webrtc.org
19b1be159e Provide GetStats method in RTCPeerConnection
BUG=3144
R=fischman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5960 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-22 21:05:38 +00:00
tkchin@webrtc.org
ec3d8ecdcc Fix typo by renaming RTCSessionDescriptonDelegate -> RTCSessionsDescriptionDelegate
R=fischman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5946 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-21 18:47:24 +00:00
fischman@webrtc.org
29540b1879 Revert "PeerConnectionFactory: delay deletion of owned threads."
This reverts r5933 because it broke
http://build.chromium.org/p/client.webrtc/builders/Win64%20Release/builds/1598

BUG=3100

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5935 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-17 22:54:30 +00:00
fischman@webrtc.org
cea024d672 PeerConnectionFactory: delay deletion of owned threads.
Since PeerConnection holds a ref to its creating PeerConnectionFactory, it's
possible for ~PeerConnectionFactory() to be run on its signaling thread.
Deleting a thread from within that thread is sad times, so don't do it.

It would be nicer to avoid having PeerConnection hold a ref to the factory,
and instead require the user to keep the factory alive.  Unfortunately that
changes the contract on PeerConnection{,Factory} and it's unclear how to vet
existing callers for safety.

BUG=3100
R=juberti@webrtc.org, noahric@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5933 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-17 22:36:00 +00:00
jiayl@webrtc.org
8f88f20af2 Expand the test max wait time from 1000ms to 2000ms.
The createOffer/createAnswer methods sometimes times out due to slow identity generation under memcheck.

BUG=2838
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5920 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-16 17:14:21 +00:00
wu@webrtc.org
36eda7cf0e Workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=996329, where the m line from firefox have a space at the end.
For example:
"m=application 38233 DTLS/SCTP 5000 "

BUG=3212
TEST=manually try to use DataChannel between FF 28 and Chrome with rtccopy.com
R=jiayl@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5915 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-15 20:37:30 +00:00
buildbot@webrtc.org
f875f15afb (Auto)update libjingle 64709629-> 64813990
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5897 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-14 16:06:21 +00:00
buildbot@webrtc.org
61c1b8ea32 (Auto)update libjingle 64585415-> 64594651
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5870 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-09 06:06:38 +00:00
wu@webrtc.org
4e393070be Compare the answer's media type against offer to make sure they are match. Otherwise we should return failure.
BUG=2687
R=mallinath@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5858 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-07 17:04:35 +00:00
wu@webrtc.org
148149138d (Auto)update libjingle 64147530-> 64247466
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5835 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-02 23:25:15 +00:00
wu@webrtc.org
5e760e7b94 Check the return value of the FromString call and return failure when then value is invalid. I.e. uses
bool FromString(const std::string& s, T* t)
instead of
T FromString(const std::string& str)

Before this change we will silently continue the parsing and take whatever default value returned by FromString.

TEST=new tests
BUG=2507
R=mallinath@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5834 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-02 23:19:09 +00:00
fischman@webrtc.org
49c5ba32bb AppRTCDemo(iOS): now works in the iOS Simulator!
...which has no camera device emulation or pass-through, so no local video
view.

R=noahric@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5815 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-31 20:22:19 +00:00
fischman@webrtc.org
4f2bd68744 Silence pointless LS_WARNING about port 0 for active-only candidates.
R=mallinath@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5808 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-28 18:13:34 +00:00