413 Commits

Author SHA1 Message Date
ivica
87f83a9a27 Adding support for simulcast and spatial layers into VideoQualityTest
The CL includes several changes:
- Adding flags describing the streams and spatial layers.
- Reorganizing the order of the flags, to make them easier to maintain.
- Adding a member .params_ to VideoQualityAnalyzer.
    (instead of passing it to every member function manually)
- Updating VideoAnalyzer to support simulcast.
    (select appropriate ssrc and fix timestamps which are sometimes increased by 1)
- VP9EncoderImpl already had code for automatic calculation of bitrate for each layer.
    Changing to first read bitrates and resolution ratios from the flags, if specified.
    If not specified, reverting to the old code are setting the values automatically.
- Changing the parameters in LayerFilteringTransport, replacing
    xx_discard_thresholds with selected_xx, to make it easier to use for the end user.

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

Cr-Commit-Position: refs/heads/master@{#10215}
2015-10-08 12:13:37 +00:00
ivica
c1cc854d54 Fixing perf regression caused by refactoring full stack tests
Calling CreateCapturer after CreateStreams. The wrong order of calling those methods seems to have caused perf regressions.

Testing has been done here: https://codereview.webrtc.org/1371113004/

BUG=chromium:534220

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

Cr-Commit-Position: refs/heads/master@{#10212}
2015-10-08 10:44:11 +00:00
Peter Boström
e23e737177 Disable pacer disabling.
Since the pacer is always enabled, removing enable/disable which makes
all packet queueing succeed. Also renaming one of the ::SendPackets
::InsertPacket to avoid confusion.

BUG=webrtc:1695, webrtc:2629
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10211}
2015-10-08 09:44:29 +00:00
asapersson
f839dcc870 Add stats for rendered pixels (sqrt(w*h)) per second:
- "WebRTC.Video.RenderSqrtPixelsPerSecond"

BUG=chromium:512752

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

Cr-Commit-Position: refs/heads/master@{#10208}
2015-10-08 07:42:07 +00:00
ivica
c7199c2d0b Read the number of TLs for VP9 too + cleanup
In video_sender.cc, properly read the number of temporal layers for VP9 too.

Also, some cleanup in video_loopback.cc and video_quality_test.h.

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

Cr-Commit-Position: refs/heads/master@{#10201}
2015-10-07 13:43:43 +00:00
ivica
8d15bd6dab Reland of Collecting encode_time_ms for each frame (patchset #1 id:1 of https://codereview.webrtc.org/1383283005/ )
Reason for revert:
The reverted commit didn't affect the tests, but the one before: https://codereview.webrtc.org/1385563005/

I've run the test that was failing (EndToEndTest.AssignsTransportSequenceNumbers) locally multiple times, and it works fine (finishes successfully in 150-170ms).

Original issue's description:
> Revert of Collecting encode_time_ms for each frame (patchset #13 id:220001 of https://codereview.webrtc.org/1374233002/ )
>
> Reason for revert:
> Breaks EndToEndTest.AssignsTransportSequenceNumbers in video_engine_tests
> on several bots:
> http://build.chromium.org/p/client.webrtc/builders/Linux64%20Debug/builds/5507
> http://build.chromium.org/p/client.webrtc/builders/Mac64%20Debug/builds/4815
> http://build.chromium.org/p/client.webrtc/builders/Win%20SyzyASan/builds/3272
> http://build.chromium.org/p/client.webrtc/builders/Linux%20Memcheck/builds/4414
>
> It seems very unfortunate that it breaks on _exactly_ the bot configs that aren't covered by the CQ trybots.
>
> Original issue's description:
> > Collecting encode_time_ms for each frame.
> >
> > Also, in Sample struct, replacing double with the original type.
> > It makes more sense to save the original data as truthful as possible, and then
> > convert it to double later if necessary (in the plot script).
> >
> > Committed: https://crrev.com/092b13384e57b33e2003d9736dfa1f491e76f938
> > Cr-Commit-Position: refs/heads/master@{#10184}
>
> TBR=sprang@webrtc.org,pbos@webrtc.org,mflodman@webrtc.org,asapersson@webrtc.org,ivica@webrtc.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/810447972425e890bc7911af27f894b86e9b7e6f
> Cr-Commit-Position: refs/heads/master@{#10185}

TBR=sprang@webrtc.org,pbos@webrtc.org,mflodman@webrtc.org,asapersson@webrtc.org,kjellander@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#10195}
2015-10-07 09:43:25 +00:00
Alejandro Luebs
10950692d6 Revert "Transport sequence number should be set also for retransmissions."
After this CL, video_engine_test started failing flakily in different bots for different CLs.

TBR=sprang@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10188}
2015-10-06 19:27:12 +00:00
kjellander
8104479724 Revert of Collecting encode_time_ms for each frame (patchset #13 id:220001 of https://codereview.webrtc.org/1374233002/ )
Reason for revert:
Breaks EndToEndTest.AssignsTransportSequenceNumbers in video_engine_tests
on several bots:
http://build.chromium.org/p/client.webrtc/builders/Linux64%20Debug/builds/5507
http://build.chromium.org/p/client.webrtc/builders/Mac64%20Debug/builds/4815
http://build.chromium.org/p/client.webrtc/builders/Win%20SyzyASan/builds/3272
http://build.chromium.org/p/client.webrtc/builders/Linux%20Memcheck/builds/4414

It seems very unfortunate that it breaks on _exactly_ the bot configs that aren't covered by the CQ trybots.

Original issue's description:
> Collecting encode_time_ms for each frame.
>
> Also, in Sample struct, replacing double with the original type.
> It makes more sense to save the original data as truthful as possible, and then
> convert it to double later if necessary (in the plot script).
>
> Committed: https://crrev.com/092b13384e57b33e2003d9736dfa1f491e76f938
> Cr-Commit-Position: refs/heads/master@{#10184}

TBR=sprang@webrtc.org,pbos@webrtc.org,mflodman@webrtc.org,asapersson@webrtc.org,ivica@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#10185}
2015-10-06 18:34:14 +00:00
ivica
092b13384e Collecting encode_time_ms for each frame.
Also, in Sample struct, replacing double with the original type.
It makes more sense to save the original data as truthful as possible, and then
convert it to double later if necessary (in the plot script).

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

Cr-Commit-Position: refs/heads/master@{#10184}
2015-10-06 14:13:50 +00:00
sprang
af4ced986b Transport sequence number should be set also for retransmissions.
When fetching a packet from the rtp packet history, cuased by a
retransmission, the transport seq extension header is enabled but the
sequence number is set to 0. A new transport seq should be assigned in
this case.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10183}
2015-10-06 13:02:57 +00:00
Peter Boström
5d0379da2c Remove kSkipFrame usage.
Since padding is no longer sent on Encoded() callbacks, dummy callbacks
aren't required to generate padding. This skip-frame behavior can then
be removed to get rid of dummy callbacks though nothing was encoded. As
frames don't have to be generated for frames that don't have to be sent
we skip encoding frames that aren't intended to be sent either, reducing
CPU load.

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

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

Cr-Commit-Position: refs/heads/master@{#10181}
2015-10-06 12:05:03 +00:00
asapersson
13c433c299 Add delay metric (includes network delay (rtt/2) + jitter delay + decode time + render delay):
- "WebRTC.Video.OnewayDelayInMs"

BUG=chromium:512752

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

Cr-Commit-Position: refs/heads/master@{#10180}
2015-10-06 11:08:22 +00:00
ivica
7bd242e53d Enabling screensharing tests for Android
This CL runs the screensharing tests 5 times, and none of the Android trybots failed:
https://codereview.webrtc.org/1377663003/

Therefore, we can now probably enable the tests.

BUG=chromium:513170

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

Cr-Commit-Position: refs/heads/master@{#10179}
2015-10-06 09:04:15 +00:00
Stefan Holmer
723dff1e6d Poll stats more often to get more stable stats in ramp-up tests.
BUG=chromium:538649
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10170}
2015-10-05 12:59:50 +00:00
Erik Språng
f3a7c9d732 In rampup tests, set start time when starting poller thread.
This should avoid perf change caused by
https://codereview.webrtc.org/1378303004

BUG=539257
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10168}
2015-10-05 12:03:29 +00:00
asapersson
dec5ebf106 Move sent key frame stats to send_statistics_proxy class.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10166}
2015-10-05 09:36:20 +00:00
sprang
a050e982b0 Avoid race in RampUpTest
Poller thread is currently started in the constructor, so the first call
to PollStats() may happen even before the streams have been configured.
This will blow up on RTC_DCHECK_GT(expected_bitrate_bps_, 0);

Thread should instead be started on PerformTest() call.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10149}
2015-10-02 13:51:56 +00:00
stefan
1d8a506405 Add a PacketOptions struct to webrtc::Transport.
This allows us to pass packet meta data, such as transport sequence
number, to libjingle and further down to the socket implementation. A
similar struct already exist in libjingle, see rtc::PacketOptions in asyncpacketsocket.h.

BUG=4173

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

Cr-Commit-Position: refs/heads/master@{#10144}
2015-10-02 10:39:40 +00:00
pbos
da903eaabb Unify newapi::RtcpMode and RTCPMethod.
BUG=webrtc:1695
R=solenberg@webrtc.org, stefan@webrtc.org
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10143}
2015-10-02 09:37:18 +00:00
sprang
86fd9ed6f9 Set RtcpSender transport at construction.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10106}
2015-09-29 11:45:51 +00:00
stefan
092508a5c5 Fix bug in ramp-up tests stats where rtx was accounted for in the media ssrc.
BUG=chromium:536941

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

Cr-Commit-Position: refs/heads/master@{#10104}
2015-09-29 09:26:50 +00:00
pbos
2d566686a2 Unify Transport and newapi::Transport interfaces.
BUG=webrtc:1695
R=stefan@webrtc.org
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10096}
2015-09-28 16:59:36 +00:00
stefan
4fbd145dce Fix suspend below min bitrate in new API by making it possible to set min bitrate at the receive-side.
In addition to this the ramp-up tests are refactored to use a receive call instead of only a remote bitrate estimator, and to make use of BaseTest.

BUG=webrtc:4836

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

Cr-Commit-Position: refs/heads/master@{#10087}
2015-09-28 10:57:23 +00:00
Peter Boström
5c389d3e09 Split webrtc/video into webrtc/{audio,call,video}.
Moves audio_receive_stream.{h,cc} into webrtc/audio, and common parts
into webrtc/call, splitting out audio/shared components with separate
OWNERS files.

BUG=webrtc:4690
R=solenberg@webrtc.org, tina.legrand@webrtc.org
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10073}
2015-09-25 11:58:39 +00:00
Erik Språng
6b8d355168 Reland "Wire up send-side bandwidth estimation."
Revert was patchset #8 id:140001 of https://codereview.webrtc.org/1338203003/

The culprit was RTC_DCHECK(poller_thread_->Start()); in rampup_test.cc

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

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

Cr-Commit-Position: refs/heads/master@{#10052}
2015-09-24 13:07:17 +00:00
Stefan Holmer
8bffba7107 Fix BWE bug where audio has timestamps in us.
The BWE expects arrival timestamps in ms, while the audio path delivered
them in us, causing the BWE to break down under the combined audio/video
BWE experiment. This was introduced in r9892 (68786d2040).

BUG=webrtc:4758
R=mflodman@webrtc.org, sprang@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10032}
2015-09-23 13:54:04 +00:00
Erik Språng
c9bbeb0354 Revert of Wire up send-side bandwidth estimation. (patchset #8 id:140001 of https://codereview.webrtc.org/1338203003/ )
Reason for revert:
Breaking some Android bots.
https://chromegw.corp.google.com/i/client.webrtc/builders/Android32%20Tests%20%28L%20Nexus5%29

Original issue's description:
> Wire up send-side bandwidth estimation.
>
> BUG=webrtc:4173
>
> Committed: https://crrev.com/ef165eefc79cf28bb67779afe303cc2365885547
> Cr-Commit-Position: refs/heads/master@{#10012}

TBR=stefan@webrtc.org, kjellander@webrtc.org
NOPRESUBMIT=false
NOTREECHECKS=false
NOTRY=false
BUG=webrtc:4173

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

Cr-Commit-Position: refs/heads/master@{#10029}
2015-09-23 11:52:01 +00:00
ivica
2d4e6c5d9d Fixing camera capture for video_loopback
In the middle of refactoring, I replaced the VideoCapturer with
FrameGeneratorCapturer, to reuse the code, and with that disabled the camera.
Now adding capturer_ element to VideoQualityTest and ignoring
frame_generator_capturer_ from the parent class test::CallTest.

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

Cr-Commit-Position: refs/heads/master@{#10023}
2015-09-23 08:57:13 +00:00
Peter Boström
7083e119e8 Remove callback_cs_ in ViEEncoder.
Instead make callbacks const and set on construction.

BUG=webrtc:1695
R=philipel@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10017}
2015-09-22 14:29:00 +00:00
ivica
d4818e7304 Using static frame generator when no scrolling
In screensharing full stack tests, instead of using YuvFileGenerator by default
when no scrolling is used, I always used ScrollingImageFileGenerator.
That possibly slowed down the test a little bit, at least for the slowed
devices, as it unnecessarily copied few MBs per frame.

BUG=chromium:534220

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

Cr-Commit-Position: refs/heads/master@{#10014}
2015-09-22 12:47:34 +00:00
sprang
ef165eefc7 Wire up send-side bandwidth estimation.
BUG=webrtc:4173

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

Cr-Commit-Position: refs/heads/master@{#10012}
2015-09-22 12:10:58 +00:00
Peter Boström
7317248ea7 Rename CaptureThread to EncodingThread.
Gives a less confusing name, this thread is used to pick up captured
frames and encode them.

BUG=
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10010}
2015-09-22 09:14:27 +00:00
ivica
1356ba5e6c Fixing target_bitrate_bps for a FullStackTest
While refactoring, I incorrectly set the target bitrate for one of the tests to
500k instead of 2000k.

This does not fix all the perf regressions.

BUG=534220

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

Cr-Commit-Position: refs/heads/master@{#10008}
2015-09-22 08:09:19 +00:00
sprang
ebbf8a805b Make sure rtp_rtcp module doesn't directly reference anything in the pacer module, and remove build dependencies on it.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10005}
2015-09-21 22:11:18 +00:00
Ivo Creusen
e1aa5b530d This relands "Tool to convert RtcEventLog files to RtpDump format.", commit 35624c2c3686a2ad40daffe073aa78507b0ef88e.
Moved the build target into a section in the gyp file that is conditional on 'include_test==1', as well as on 'enable_protobuf==1'.
Original review: https://codereview.webrtc.org/1297653002/
Reverted in be4959535a39262e1508cc4223b78b8db677cb94

BUG=webrtc:4741
TBR=kjellander@webrtc.org,stefan@webrtc.org,henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9990}
2015-09-18 13:41:18 +00:00
henrikg
be4959535a Revert of Tool to convert RtcEventLog files to RtpDump format. (patchset #11 id:200001 of https://codereview.webrtc.org/1297653002/ )
Reason for revert:
Breaks Chromium WebRTC FYI bots.

Updating projects from gyp files...
gyp: /b/build/slave/linux/build/src/third_party/gflags/gflags.gyp not found (cwd: /b/build/slave/linux/build)
Error: Command '/usr/bin/python src/build/gyp_chromium' returned non-zero exit status 1 in /b/build/slave/linux/build

Original issue's description:
> Tool to convert RtcEventLog files to RtpDump format.
>
> This is a small utility that reads RtcEventLog files, and converts the RTP headers within it to RtpDump format. All other types of events are ignored. Three command-line flags are supported, --audio-only, --video-only and --data-only. When one of these flags is supplied, only RTP packets that match the requested type are converted.
>
> BUG=webrtc:4741
> R=henrik.lundin@webrtc.org, kjellander@webrtc.org, stefan@webrtc.org, terelius@webrtc.org
>
> Committed: https://crrev.com/35624c2c3686a2ad40daffe073aa78507b0ef88e
> Cr-Commit-Position: refs/heads/master@{#9980}

TBR=henrik.lundin@webrtc.org,terelius@webrtc.org,stefan@webrtc.org,kjellander@webrtc.org,kjellander@google.com,ivoc@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4741

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

Cr-Commit-Position: refs/heads/master@{#9987}
2015-09-18 10:50:11 +00:00
Stefan Holmer
586b19bdb6 Enable probing with repeated payload packets by default.
To make this possible padding only packets will have the same timestamp
as the previously sent media packet, as long as RTX is not enabled. This
has the side effect that if we send only padding for a long time without
sending media, a receive-side jitter buffer could potentially overflow.

In practice this shouldn't be an issue, partly because RTX is recommended and
used by default, but also because padding typically is terminated before being
received by a client. It is also not an issue for bandwidth estimation as long
as abs-send-time is used instead of toffset.

BUG=chromium:425925
R=mflodman@webrtc.org, sprang@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9984}
2015-09-18 09:14:42 +00:00
Ivo Creusen
35624c2c36 Tool to convert RtcEventLog files to RtpDump format.
This is a small utility that reads RtcEventLog files, and converts the RTP headers within it to RtpDump format. All other types of events are ignored. Three command-line flags are supported, --audio-only, --video-only and --data-only. When one of these flags is supplied, only RTP packets that match the requested type are converted.

BUG=webrtc:4741
R=henrik.lundin@webrtc.org, kjellander@webrtc.org, stefan@webrtc.org, terelius@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9980}
2015-09-18 07:47:04 +00:00
Peter Boström
ac547a6538 Remove channel ids from various interfaces.
Starts by removing channel/engine id from ViEChannel which propagates
down to the RTP/RTCP module as well as the transport class.

IncomingVideoStream::RenderFrame() is untouched for now but receives a
fake id instead of the previous channel id. Added a TODO to remove it
later but the RenderFrame call is implemented in a lot of
platform-dependent files and should probably remove the "manager" aspect
of renderers, so preferring to do it separately

BUG=webrtc:1695
R=henrika@webrtc.org, mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9978}
2015-09-17 21:06:02 +00:00
Ivo Creusen
ae856f2c9f Added support for logging the SSRC corresponding to AudioPlayout events.
To do this, the logging of this event was moved from the ACM to
VoiceEngine Channel. A new LogAudioPlayoutEvent function was added on
the RtcEventLog interface, and the LogDebugEvent function was removed
since it is no longer being used.

BUG=webrtc:4741
R=henrik.lundin@webrtc.org, henrikg@webrtc.org, kwiberg@webrtc.org, stefan@webrtc.org, terelius@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9972}
2015-09-17 14:34:15 +00:00
ivica
5d6a06c1d2 Refactoring full stack and loopback tests
Refactoring full stack, video and screenshare tests to use the same code basis
for parametrization and initialization. This patch is done on top of recently
commited full stack graphs CL https://codereview.webrtc.org/1289933003/, but
virtually no changes have been made to full_stack_plot.py nor to the VideoAnalyzer
in full stack, except moving it to video_quality_test.cc.
Also, full_stack_samples.cc (build target) was removed and replaced with
-output_filename and -duration cmdline arguments in video_loopback and
screenshare_loopback.

The important things to review:
- video_quality_test.h
    Is the structure of Params good? (examples of usage can be found in
    full_stack.cc, video_loopback.cc and screenshare_loopback.cc)
- video_quality_test.cc
    Is the initialization correct? The case for using Analyzer and using local
    renderer are different, can they be further merged?
- webrtc_tests.gypi

Reproducing the different bitrate settings the full stack and loopback tests had
was a little bit tricky. To support both simultaneously, I added BitrateConfig
to the Params struct, as well as separate start_bitrate and target_bitrate flags
for loopback tests.

Note: Side-by-side diff for video_quality_test.cc compares that file directly
with the old full_stack.cc, so changes to VideoAnalyzer are clearly visible.

Note: Recent CL I've committed added -num_temporal_layers and -sl_discard_threshold
args to loopback tests. This was removed here. Support for streams and SVC
will be added in a CL following this one.

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

Cr-Commit-Position: refs/heads/master@{#9969}
2015-09-17 12:30:30 +00:00
henrikg
91d6edef35 Add RTC_ prefix to (D)CHECKs and related macros.
We must remove dependency on Chromium, i.e. we can't use Chromium's base/logging.h. That means we need to define these macros in WebRTC also when doing Chromium builds. And this causes redefinition.

Alternative solutions:
* Check if we already have defined e.g. CHECK, and don't define them in that case. This makes us depend on include order in Chromium, which is not acceptable.
* Don't allow using the macros in WebRTC headers. Error prone since if someone adds it there by mistake it may compile fine, but later break if a header in added or order is changed in Chromium. That will be confusing and hard to enforce.
* Ensure that headers that are included by an embedder don't include our macros. This would require some heavy refactoring to be maintainable and enforcable.
* Changes in Chromium for this is obviously not an option.

BUG=chromium:468375
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#9964}
2015-09-17 07:24:51 +00:00
henrikg
3c089d751e Add RTC_ prefix to contructormagic macros.
We must remove dependency on Chromium, i.e. we can't use Chromium's base/logging.h. That means we need to define these macros in WebRTC also when doing Chromium builds. And this causes redefinition.

* DISALLOW_ASSIGN -> RTC_DISALLOW_ASSIGN
* DISALLOW_COPY_AND_ASSIGN -> RTC_DISALLOW_COPY_AND_ASSIGN
* DISALLOW_IMPLICIT_CONSTRUCTORS -> RTC_DISALLOW_IMPLICIT_CONSTRUCTORS

Related CL: https://codereview.webrtc.org/1335923002/

BUG=chromium:468375
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#9953}
2015-09-16 12:37:52 +00:00
Tim Psiaki
6304626268 Add a rate tracker that tracks rate over a given interval split up into buckets that accumulate unit counts for their portion of said interval and use this instead of the standard rate tracker so that the values of retrieved frame rate stats are completely independent of the polling rate.
BUG=
R=asapersson@webrtc.org, noahric@chromium.org, pbos@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9933}
2015-09-14 17:38:20 +00:00
pbos
36d619b01e Log timestamps when old frames are delivered.
BUG=webrtc:4994
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9928}
2015-09-14 13:07:39 +00:00
stefan
847855b865 Add a name to the ProcessThread constructor.
Helps differentiate between different instances when debugging.

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

Cr-Commit-Position: refs/heads/master@{#9927}
2015-09-11 16:52:22 +00:00
mflodman
df1a171def Remove unused event in video_capture_input.cc.
Review URL: https://codereview.webrtc.org/1331833003

Cr-Commit-Position: refs/heads/master@{#9921}
2015-09-11 05:50:47 +00:00
ivoc
b04965ccf8 Hooked up RtcEventLog. It lives in Voice Engine and pointers are propagated to ACM and Call.
An option was added to voe_cmd_test to make a RtcEventLog dump.

BUG=webrtc:4741

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

Cr-Commit-Position: refs/heads/master@{#9901}
2015-09-09 07:09:49 +00:00
stefan
68786d2040 Wire up PacketTime to ReceiveStreams.
BUG=webrtc:4758

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

Cr-Commit-Position: refs/heads/master@{#9892}
2015-09-08 12:36:23 +00:00
solenberg
e526974759 Make LoadObserver settable per video send stream. Gives client flexibility and makes the implementation slightly simpler. See discussion in: https://codereview.webrtc.org/1269863005/
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#9891}
2015-09-08 12:13:25 +00:00