ba8c15b857
Merge methods for configuring NACK/FEC/hybrid.
...
BUG=webrtc:1695
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1226143013
Cr-Commit-Position: refs/heads/master@{#9580}
2015-07-14 16:36:37 +00:00
66a641a9c6
Update encoder settings periodically, not only on new bandwidth estimate
...
Also moved actual update call to encoder thread, and tweaked frame rate
estimate to be less noisy.
This is a re-upload of https://review.webrtc.org/47249004
BUG=chromium:476469
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1180623005 .
Cr-Commit-Position: refs/heads/master@{#9417}
2015-06-11 12:20:17 +00:00
df664536af
Remove FPS->kilo-FPS conversion in VideoSender.
...
Wat.
Also moving the parameter to make sure this doesn't happen as easily
(right now it was part of a bitrate conversion from kilobits to bits).
BUG=
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/51819004
Cr-Commit-Position: refs/heads/master@{#9177}
2015-05-12 10:22:07 +00:00
fcf54bdabb
Reland "Avoid critsect for protection- and qm setting callbacks in
...
VideoSender."
The original Cl is uploaded as patch set 1, the fix in ps#2 and I'll rebase in ps#3.
BUG=4534
R=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/46769004
Cr-Commit-Position: refs/heads/master@{#9000}
2015-04-14 19:28:03 +00:00
9cb1f3002f
Remove er_tables_xor.h.
...
Removes _efficiency and _residualPacketLossFec from
VCMLossProtectionLogic which are updated but never read. This frees up
~38k of local read-only data.
BUG=4491
R=marpan@google.com , mflodman@webrtc.org , marpan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/45899004
Cr-Commit-Position: refs/heads/master@{#8906}
2015-04-01 09:39:57 +00:00
0828a0c094
Revert "Avoid critsect for protection- and qm setting callbacks in VideoSender."
...
This reverts commit 903c0f2e7649a2b98659286dc228447facd49bb7,
aka #8899 .
TBR=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/46759004
Cr-Commit-Position: refs/heads/master@{#8901}
2015-03-31 13:29:31 +00:00
903c0f2e76
Avoid critsect for protection- and qm setting callbacks in VideoSender.
...
This CL avoids changing the mentioned callbacks during a call, to avoid
a potential deadlock when acquiring _sendCritSect and calling
_mediaOpt.SetTargetRates.
Moving the critsect revealed a race for the FEC parameters in RtpVideoSender, so the CL grew a bit to avoid this. I also cleaned up some code here at the same time, but tried to keep it at a minimum since this CL had already increased a lot in size.
BUG=769
R=pbos@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/42939004
Cr-Commit-Position: refs/heads/master@{#8899}
2015-03-31 13:07:26 +00:00
cade82c56f
Refactor MediaOptimization protection methods.
...
Makes MediaOptimization::EnableProtectionMethod significantly less
confusing. Also removing some dead methods in VideoSender.
BUG=
R=mflodman@webrtc.org
TBR=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/42339004
Cr-Commit-Position: refs/heads/master@{#8693}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8693 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-12 10:39:43 +00:00
16825b1a82
Use int64_t more consistently for times, in particular for RTT values.
...
Existing code was inconsistent about whether to use uint16_t, int, unsigned int,
or uint32_t, and sometimes silently truncated one to another, or truncated
int64_t. Because most core time-handling functions use int64_t, being
consistent about using int64_t unless otherwise necessary minimizes the number
of explicit or implicit casts.
BUG=chromium:81439
TEST=none
R=henrik.lundin@webrtc.org , holmer@google.com , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/31349004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8045 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-12 21:51:21 +00:00
273a414b0e
Report encoded frame size in VideoSendStream.
...
Implements reporting transmitted frame size in WebRtcVideoEngine2.
R=mflodman@webrtc.org , stefan@webrtc.org
BUG=4033
Review URL: https://webrtc-codereview.appspot.com/33399004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7772 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-01 15:23:21 +00:00
4591fbd09f
Use size_t more consistently for packet/payload lengths.
...
See design doc at https://docs.google.com/a/chromium.org/document/d/1I6nmE9D_BmCY-IoV6MDPY2V6WYpEI-dg2apWXTfZyUI/edit?usp=sharing for more information.
This CL was reviewed and approved in pieces in the following CLs:
https://webrtc-codereview.appspot.com/24209004/
https://webrtc-codereview.appspot.com/24229004/
https://webrtc-codereview.appspot.com/24259004/
https://webrtc-codereview.appspot.com/25109004/
https://webrtc-codereview.appspot.com/26099004/
https://webrtc-codereview.appspot.com/27069004/
https://webrtc-codereview.appspot.com/27969004/
https://webrtc-codereview.appspot.com/27989004/
https://webrtc-codereview.appspot.com/29009004/
https://webrtc-codereview.appspot.com/30929004/
https://webrtc-codereview.appspot.com/30939004/
https://webrtc-codereview.appspot.com/31999004/
Committing as TBR to the original reviewers.
BUG=chromium:81439
TEST=none
TBR=pthatcher,henrik.lundin,tina.legrand,stefan,tkchin,glaznev,kjellander,perkj,mflodman,henrika,asapersson,niklas.enbom
Review URL: https://webrtc-codereview.appspot.com/23129004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7726 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-20 22:28:14 +00:00
0bae1fab4a
Wire up bandwidth stats to the new API and webrtcvideoengine2.
...
Adds stats to verify bandwidth and pacer stats.
BUG=1788
R=mflodman@webrtc.org , pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/24969004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7634 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-05 14:05:29 +00:00
ae7cfd7bc8
Make MediaOptimization thread-safe.
...
HW encoder posts the encode callback to libjingle worker
thread. It accesses MediaOptimization and is not protected
by the critial section of VideoSender. Make MediaOptimization
thread-safe to fix it.
BUG=chromium:367691
TEST=Run apprtc loopback with SW or HW encoders.
Run module_unittests.
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/12849004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6562 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-30 08:01:47 +00:00
34c5da6b5e
Cleaned up logging in video_coding.
...
Converted all calls to WEBRTC_TRACE to LOG(). Also removed a large number of less useful logs.
BUG=3153
R=mflodman@webrtc.org , pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/11169004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5887 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-11 14:08:35 +00:00
e682aa5077
Refactoring MediaOptimization so it can easily be turned into a thread-safe class.
...
BUG=2732
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/6149004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5322 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-19 10:59:48 +00:00
71f055fb41
Add send frame rate statistics callback
...
BUG=2235
R=mflodman@webrtc.org , pbos@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/4479005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5213 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-04 15:09:27 +00:00
ce8e0936d9
Rename AutoMute to SuspendBelowMinBitrate
...
Changes all instances throughout the WebRTC stack.
BUG=2436
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/3919004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5130 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-18 12:18:43 +00:00
544b17c6a9
Implemented AutoMuter in MediaOptimization
...
Also added a unittest. This is the first step towards creating an
AutoMuter function in WebRTC.
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2294005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4857 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-26 12:05:15 +00:00
b426c469b9
MediaOptimization: Converting a few members to scoped_ptrs
...
For consistency with other parts of the code.
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2275006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4822 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-24 07:41:53 +00:00
bec11ef632
Reformatting media_optimization.cc and .h
...
Ran both tools/refactoring/webrtc_reformat.py and clang-format.
Changing VCMMediaOptimization -> MediaOptimization and
VCMEncodedFrameSample -> EncodedFrameSample.
Aligning the order of methods in .h and .cc files and fixing comments.
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2265007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4816 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-23 19:54:25 +00:00
a4407329d4
Include files from webrtc/.. paths in video_coding/.
...
BUG=1662
R=tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1783006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4348 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-16 12:32:05 +00:00
046bc448d5
Fixes the frameRate stats by grouping the frames by timestamp.
...
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1536004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4138 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-29 16:33:46 +00:00
890f6092e6
Bugfix: VCM would report wrong sentBitrate
...
issue: https://code.google.com/p/webrtc/issues/detail?id=1755
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1484004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4048 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-16 15:38:44 +00:00
7b859cc1e9
Webrtc_Word32 => int32_t in video_coding/main/
...
BUG=
Review URL: https://webrtc-codereview.appspot.com/1279004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3753 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-02 15:54:38 +00:00
bfacda60be
Add interface to signal a network down event.
...
- In real-time mode encoding will be paused until the network is back up.
- In buffering mode the encoder will keep encoding, and packets will be
buffered at the sender. When the buffer grows above the target delay
encoding will be paused.
- Fixes a couple of issues related to pacing which was found with the new test.
- Introduces different max bitrates for pacing and for encoding. This allows
the pacer to faster get rid of the queue after a network down event.
(Work based on issue 1237004)
BUG=1524
TESTS=trybots,vie_auto_test
Review URL: https://webrtc-codereview.appspot.com/1258004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3730 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-27 16:36:01 +00:00
3d0b0d6902
Follow-up fix for r3681.
...
TESTS=trybots and vie_auto_test
BUG=1514
Review URL: https://webrtc-codereview.appspot.com/1216006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3689 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-19 10:04:57 +00:00
f4944d49cf
Fix framerate sent to account for actually sent frames.
...
TESTS=trybots
BUG=1481
Review URL: https://webrtc-codereview.appspot.com/1195005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3682 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-18 17:04:52 +00:00
abc9d5b6aa
Change VCM interface to take target bitrate in bits per second.
...
This also solves issue 1469.
TESTS=trybots
BUG=1469
Review URL: https://webrtc-codereview.appspot.com/1215004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3681 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-18 17:00:51 +00:00
a64300af50
Refactor NACK list creation to build the NACK list as packets arrive.
...
Also fixes a timer bug related to NACKing in the RTP module which could cause packets to only be NACKed twice if there's frequent packet losses.
Note that I decided to remove any selective NACKing for now as I don't think the gain of doing it is big enough compared to the added complexity. The same reasoning for empty packets. None of them will be retransmitted by a smart sender since the sender would know that they aren't needed.
BUG=1420
TEST=video_coding_unittests, vie_auto_test, video_coding_integrationtests, trybots
Review URL: https://webrtc-codereview.appspot.com/1115006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3599 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-04 15:24:40 +00:00
eb91792cfd
Refactoring temporal layers implementation and adding VideoCodecMode for easier control of codec settings.
...
Review URL: https://webrtc-codereview.appspot.com/1105007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3528 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-02-18 14:40:18 +00:00
a678a3baee
Move video_coding to new Clock interface and remove fake clock implementations from RTP module tests.
...
TEST=video_coding_unittests, video_coding_integrationtests, rtp_rtcp_unittests, trybots
Review URL: https://webrtc-codereview.appspot.com/1044004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3393 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-01-21 07:42:11 +00:00
273ccad59d
Fixed standard PSNR/SSIM test.
...
BUG=1103
Review URL: https://webrtc-codereview.appspot.com/971005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3197 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-29 10:08:16 +00:00
14b43beb7c
Move src/ -> webrtc/
...
TBR=niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/915006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@2963 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-10-22 18:19:23 +00:00