Commit Graph

3622 Commits

Author SHA1 Message Date
stefan@webrtc.org
7f3f8bc5a6 Refactor jitter buffer to use separate lists for decodable and incomplete frames.
This changes the design of the jitter buffer to keeping track of decodable frames from the point when packets are inserted in the buffer, instead of searching for decodable frames when they are needed.

To accomplish this the frame_list_, which previously contained all frames (incomplete or complete, continuous or not), is split into a list of decodable_frames_ (complete, continuous) and a list of incomplete_frames_ (either incomplete or non-continuous). These frame lists are updated every time a packet is inserted.

This is another step in the direction of doing most of the work in the jitter buffer only once, when packets are inserted, instead of doing it every time we look for a frame or try to get a nack list.

BUG=1798
TEST=vie_auto_test, trybots
R=mikhal@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4104 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-27 07:02:45 +00:00
sergeyu@chromium.org
ead3c6d508 Fix bugs in DesktopRegion::IntersectWith() and DesktopRect::IntersectWith().
IntersectWith() didn't work correctly which breaks screen capturers in chromium.

BUG=crbug.com/243160
R=alexeypa@chromium.org, wez@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4102 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-24 21:07:20 +00:00
pbos@webrtc.org
8665da8926 Remove dead testRateControl.cc
BUG=
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4101 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-24 13:29:29 +00:00
pbos@webrtc.org
a01f7f6509 Removed dead testH263Parser.cc
BUG=
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4100 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-24 13:01:57 +00:00
pbos@webrtc.org
c1f0eb2c03 Remove dead bitstreamTest.cc.
BUG=
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4099 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-24 12:46:08 +00:00
pbos@webrtc.org
28556f5658 Make sure GlxRenderer frees its resources.
BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4098 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-24 10:54:56 +00:00
stefan@webrtc.org
c74c3c2447 Adds integration test for RTX and fixes bugs found.
BUG=1811
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4096 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-23 13:48:22 +00:00
stefan@webrtc.org
5c58f63d3f Fix regression where retransmission bitrate is no longer estimated.
BUG=1813
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4095 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-23 13:36:55 +00:00
pbos@webrtc.org
d445d2229e CreateEmptyFrame casts from size_t to int.
BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4094 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-23 12:59:51 +00:00
pbos@webrtc.org
9b30348cfc FrameGenerator class for future fake capture device.
BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4093 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-23 12:37:11 +00:00
pbos@webrtc.org
771cdcbb09 Control new VideoEngine tests with gflags.
BUG=1703
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4092 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-23 12:20:16 +00:00
henrike@webrtc.org
191c596912 Adds print out of incoming resolution.
BUG=N/A
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4091 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-23 11:57:25 +00:00
stefan@webrtc.org
a7dc37d568 Log the type of recycled frames.
Also correct the logging of incoming key frame packets.

BUG=1814
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4090 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-23 07:21:05 +00:00
hclam@chromium.org
8c49c1eab3 Log a message when a key frame packet is received
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4089 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-22 21:18:59 +00:00
solenberg@webrtc.org
46db413e22 Fix failing tests on 32 bit Linux.
BUG=
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4088 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-22 20:53:42 +00:00
turaj@webrtc.org
e46c8d3875 API to control target delay in NetEq jitter buffer. NetEq maintains the given delay unless channel conditions require a higher delay.
TEST=unit-test, manual, trybots.
R=henrik.lundin@webrtc.org, henrika@webrtc.org, mflodman@webrtc.org, mikhal@webrtc.org, stefan@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4087 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-22 20:39:43 +00:00
solenberg@webrtc.org
561990fd73 - Changed RemoteBitrateEstimator::IncomingPacket() to include a const WebRtcRTPHeader& and remove ssrc, rtp_timestamp.
- Changed RemoteBitrateObserver::OnReceivedBitrateChanged() to use a const & instead of non-const *, to avoid unnecessary copying.
- Refactored RemoteBitrateEstimatorTest so it can be instantiated for both single and multi stream BWE (first using a parameterized test, but then as a standard test fixture and a few helper functions).
- Refactored some tests in RemoteBitrateEstimatorTest into a common function CapacityDropTestHelper().

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4086 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-22 19:04:19 +00:00
sergeyu@chromium.org
6ec25073e3 Disable WindowCapturer tests on OSX and Linux
R=alexeypa@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4085 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-22 18:47:07 +00:00
sergeyu@chromium.org
6ebfd346ae Add direct_dependent_settings in common.gypi.
When building chromium targets that depend on webrtc, compiler settings must
have the include path to webrtc and webrtc-specific defines that the headers
may depend on. Added direct_dependent_settings in common.gyp, so that all
webrtc target propagate these settings to dependencies.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4084 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-22 18:22:21 +00:00
braveyao@webrtc.org
5f8f112a7b Not to request to TURN server for local tests. Follow-up work to issue1197.
BUG=1197
TEST=Manual test
R=dutton@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4083 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-22 07:27:05 +00:00
marpan@webrtc.org
106afffa90 Roll libvpx to 196669.
-pick up libvpx roll to 9981006d

TBR=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4082 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-21 21:19:03 +00:00
mikhal@webrtc.org
2eaf98b38b Refactor VCM/Timing.
No changes in functionality.

R=marpan@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4081 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-21 17:58:43 +00:00
stefan@webrtc.org
3417eb49f6 Consolidate GetFrame and InsertPacket and move NACK list processing to after a packet has been successfully inserted.
TEST=trybots
BUG=1799
R=mikhal@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4080 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-21 15:25:53 +00:00
pbos@webrtc.org
956aa7e087 Include files from webrtc/.. paths in voice_engine/
BUG=1662
R=henrikg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4079 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-21 13:52:32 +00:00
pbos@webrtc.org
8a025e26db Make sure VoiceEngine tests only include one test framework.
BUG=
R=henrikg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4078 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-21 11:25:12 +00:00
pbos@webrtc.org
d2541e81c6 Remove <iostream> usage from loopback.cc
BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4077 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-21 11:09:36 +00:00
pbos@webrtc.org
375deb4e19 Suffix VcmCapturer's privates with underscore_
BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4076 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-21 09:32:22 +00:00
hclam@chromium.org
0d540c3762 Log timestamp of the frame when it's dropped from the render module
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4075 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-21 00:16:01 +00:00
hclam@chromium.org
69bb348084 Log error in ViESender::SendRTCPPacket
Log the packet length and the error of SendRTCPPacket.

R=mikhal@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4074 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-20 22:39:39 +00:00
andrew@webrtc.org
ac0ef48631 Revert 4067 "libyuv roll to r698 for Core Media fourccs for OSX ..."
> libyuv roll to r698 for Core Media fourccs for OSX camtwist support and performance improvements in ARGB scaler.
> BUG=none
> TEST=libyuv unittests add CM32 and CM24 types and ARGBScaleClip tests added.
> Review URL: https://webrtc-codereview.appspot.com/1508004

TBR=fbarchard@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4072 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-20 21:36:59 +00:00
andrew@webrtc.org
f9825e50f3 Revert 4000 "Reverting r3978"
> Reverting r3978
> 
> BUG=webrtc:1749
> R=niklas.enbom@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/1454004

TBR=elham@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4071 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-20 21:18:04 +00:00
andrew@webrtc.org
225f2b8814 Revert 4001 "Revert 3977"
> Revert 3977
> BUG=webrtc:1749
> 
> > Update protoc.gypi to match Chromium's latest.
> > 
> > This is in preparation for enabling protobufs in Chromium. Requires
> > syncing tools/protoc_wrapper.
> > 
> > BUG=webrtc:830
> > R=kjellander@webrtc.org
> > 
> > Review URL: https://webrtc-codereview.appspot.com/1426004
> 
> TBR=andrew@webrtc.org
> Review URL: https://webrtc-codereview.appspot.com/1453005

TBR=tnakamura@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4070 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-20 21:12:58 +00:00
solenberg@webrtc.org
c0352d566a Fix assertions in rtp_header_extension.h caused by not handling the AudioLevel extension. Added unit tests to do basic checks of the AudioLevel extension.
BUG=
R=asapersson@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4069 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-20 20:55:07 +00:00
fbarchard@google.com
e5794cbc8e Recalibrate point sample expectation
BUG=none
TESTED=try bots
Review URL: https://webrtc-codereview.appspot.com/1512004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4068 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-20 18:17:44 +00:00
fbarchard@google.com
a58d7294e5 libyuv roll to r698 for Core Media fourccs for OSX camtwist support and performance improvements in ARGB scaler.
BUG=none
TEST=libyuv unittests add CM32 and CM24 types and ARGBScaleClip tests added.
Review URL: https://webrtc-codereview.appspot.com/1508004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4067 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-20 17:46:59 +00:00
solenberg@webrtc.org
cb9cff0c71 Add functions to ViE API to enable/disable the absolute send time header extension.
BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4065 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-20 12:00:23 +00:00
sergeyu@chromium.org
b10ccbec02 Window capturer implementation for Windows.
R=alexeypa@chromium.org, andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4064 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-19 07:02:48 +00:00
fischman@webrtc.org
5e2a1bbbc6 AppRTC: make requestTurn() failure non-fatal to call establishment.
BUG=1795
R=vikasmarwaha@google.com, vikasmarwaha@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4063 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-17 18:32:23 +00:00
fischman@webrtc.org
8d6eb56085 Avoid NPE crash on Android platforms that don't support getting preview framerate.
- catch Camera.setParameters() signaling errors through RuntimeException (!)
- make video_demo_apk rebuild when .java sources change

BUG=1778
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4059 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-17 17:33:31 +00:00
fischman@webrtc.org
5a602d7996 Enable WebRTC demo application on x86 Android
Steps to build the demo application for x86 Android:
source build/android/envsetup.sh --target-arch=x86
gclient runhooks
ninja -C out/Debug
cd webrtc/video_engine/test/android
ndk-build APP_ABI=x86
ant debug

Commmitted as https://code.google.com/p/webrtc/source/detail?r=4053

R=fischman@webrtc.org, leozwang@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4058 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-17 17:20:04 +00:00
pbos@webrtc.org
21632124dd Include gflags properly and X11 include order in VideoEngine.
BUG=

TBR=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4057 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-17 14:25:02 +00:00
pbos@webrtc.org
f5d4cb1958 Include files from webrtc/.. paths in video_engine/
BUG=1662
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4056 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-17 13:44:48 +00:00
stefan@webrtc.org
9f557c140e Improve wraparound handling in the render time extrapolator.
This was actually working as intended, but as r3970 changed when render timestamps were extrapolated to when a frame was taken out for decoding, the wraparound could have happened in the Update() step before it had happened in the ExtrapolateLocalTime() step. This causes render timestamps to be generated 13 hours into the future.

TEST=trybots
BUG=1787
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4055 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-17 12:55:07 +00:00
phoglund@webrtc.org
14d7700d00 Moved command line parsing to internal tools and moved back the mic volume thingie.
BUG=
R=henrika@webrtc.org, kjellander@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4054 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-17 11:52:08 +00:00
fischman@webrtc.org
e874a8f24b Enable WebRTC demo application on x86 Android
Steps to build the demo application for x86 Android:
source build/android/envsetup.sh --target-arch=x86
gclient runhooks
ninja -C out/Debug
cd webrtc/video_engine/test/android
ndk-build APP_ABI=x86
ant debug

R=fischman@webrtc.org, leozwang@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4053 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-17 05:41:07 +00:00
turaj@webrtc.org
8630cfe016 Guarding certain operations, e.g. bandwidth estimation, RTCP statistics update etc., not to be run on sync RTPS.
BUG=issue1770
R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4052 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-16 23:54:54 +00:00
hclam@chromium.org
fe307e1332 Add one unit test for NACKing a key frame
Adding a test case that wasn't covered. This new test is passing.

R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4051 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-16 21:19:59 +00:00
hclam@chromium.org
b3e5acfb66 Cleanup traces in WebRTC
Remove some unused traces and add a trace counter for encoded video size.

R=holmer@google.com, mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4050 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-16 21:13:02 +00:00
pbos@webrtc.org
b9bb3d1e7d Avoid resetting encoder on identical settings.
BUG=1681
R=holmer@google.com, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4049 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-16 18:40:48 +00:00
marpan@webrtc.org
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