4070935f4f
Implement and test EncodedImageCallback in new ViE API.
...
R=mflodman@webrtc.org , pbos@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/4059004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5179 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-26 11:41:59 +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
57eb858698
Remove ".." from include_dirs in build/common.
...
BUG=1662
TEST=compile on trybots
R=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2332004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5107 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-11 10:20:27 +00:00
bde3056567
Fix for video_processor_intergration_tests to run in parallel.
...
BUG=2601.
R=pbos@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/3519004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5091 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-06 20:59:29 +00:00
0aeb22e32c
Adding tl0idx consideration for continuity
...
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2879004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5046 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-28 22:26:14 +00:00
1a3a6e5340
Removing the threshold from the auto-mute APIs
...
The threshold is now set equal to the minimum bitrate of the
encoder. The test is also changed to have the REMB values
depend on the minimum bitrate from the encoder.
BUG=2436
R=pbos@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2919004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5040 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-28 10:16:14 +00:00
37bb4974e7
Expose VideoCodingModule's decoder stats up the stack from VCMTiming to chrome://webrtc-internals.
...
R=juberti@google.com , mikhal@webrtc.org , stefan@webrtc.org , wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2429004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5027 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-23 23:59:45 +00:00
31628aae7e
Upgrade scoped_ptr to Chromium's latest version.
...
Analogous to the recent libjingle change: http://cl/54929753-p10 .
This supports scoped_ptr<T[]> and scoped_ptr<C, FreeDeleter> rather
than scoped_array and scoped_ptr_malloc respectively.
- Add Chromium's template-based COMPILE_ASSERT. We didn't have this
previously in order to support the macro in C. Instead, move the
existing macro to compile_assert_c.h.
- Additionally copy the move.h and template_util.h depedencies and add
the WARN_UNUSED_RESULT macro.
- Leave scoped_array and scoped_ptr_malloc for now, but mark as
deprecated.
- Remove scoped_ptr foo(NULL) use. The default constructor handles it.
- Remove the now redundant COMPILE_ASSERT from peerconnection_jni.cc.
- Add a CHECK_ARRAY_SIZE macro to rtp_format_vp8_unittest.cc to remove
some repeated code.
TESTED=trybots
R=pbos@webrtc.org , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2449005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5015 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-22 12:50:00 +00:00
943e3b95a6
Add CurrentLayerId() to temporal layers.
...
same patch as: https://webrtc-codereview.appspot.com/2427004/
TBR=holmer@google.com
Review URL: https://webrtc-codereview.appspot.com/2729004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5012 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-22 01:55:07 +00:00
be9c560aab
Revert r4913 that reverts r4911. Original CL description:
...
"Adding temporal layer strategy that keeps base layer framerate at an acceptable value."
R=holmer@google.com , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2351006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4920 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-04 13:11:31 +00:00
44db9d1a57
Revert 4911 "Adding temporal layer strategy that keeps base laye..."
...
> Adding temporal layer strategy that keeps base layer framerate at an acceptable value.
>
> R=stefan@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/2272005
TBR=andresp@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2349004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4913 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-03 17:42:07 +00:00
b43d8078a1
Reformatting VPM: First step - No functional changes.
...
R=marpan@google.com , marpan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2333004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4912 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-03 16:42:41 +00:00
26f78f7ecb
Adding temporal layer strategy that keeps base layer framerate at an acceptable value.
...
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2272005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4911 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-03 14:06:14 +00:00
572699d3eb
Propagate AutoMuter interface out to VideoCodingModule
...
BUG=2436
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2311004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4878 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-30 12:16:08 +00:00
30377c7f71
Change the parameters of calculating maximum decode time.
...
- Reduce the window size from 20 to 10 seconds. If there is
any spurious high decode time, it will be faster to pass it.
- Ignore more samples at first because HW decoder has higher
initialization latency.
BUG=crbug.com/298176
TEST=Run apprtc loopback on Chromebook Daisy.
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2315005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4874 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-28 06:06:18 +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
054ccd2e35
Remove include_dirs from video_coding.
...
BUG=1662
TEST=compile on trybots
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2294007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4853 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-26 09:22:09 +00:00
641587f938
Disable some VP8 tests on Android.
...
DecodeWithACompleteKeyFrame and FixedTemporalLayersStrategy.
TBR=andresp
BUG=2037
Review URL: https://webrtc-codereview.appspot.com/2283004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4829 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-24 18:43:28 +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
98fcd2d4c3
Adding unit tests for default temporal layer strategy.
...
R=mflodman@webrtc.org , stefan@webrtc.org , stefan
Review URL: https://webrtc-codereview.appspot.com/2235005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4810 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-23 11:12:59 +00:00
4f3624d39e
Avoid recursively taking critical section.
...
TEST=trybots
BUG=2261
R=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2258006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4800 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-20 07:43:17 +00:00
8db81c5112
Fix races in vcm::Process().
...
R=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2241004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4775 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-18 11:57:34 +00:00
32d640e03d
Fix typo in r4765.
...
Fixes compile error on all platforms.
BUG=
TEST=compile on tryboys
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2231004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4766 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-17 10:36:30 +00:00
da2c4cede0
Fix dangling pointer _encoder in video_sender.cc.
...
When _codecDataBase.SetSendCodec() fails, the encoder may be deleted.
This is however not reflected in _encoder, which then becomes a dangling
pointer to the deleted object.
BUG=2384
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2229004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4765 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-17 09:38:41 +00:00
e401c2e391
Split video coding module unit tests into sender and receiver unit tests.
...
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2199005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4753 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-16 20:29:13 +00:00
f7eb75be1a
Split VideoCodingModuleImpl into VideoSender and VideoReceiver.
...
Only implmentation is changed the interface to the module is unchanged for now.
R=mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2200008
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4746 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-14 00:25:28 +00:00
1f09dbe353
Moving test-only code (stream_generator) out of vcm implemention.
...
R=niklas.enbom@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2207004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4740 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-13 19:17:54 +00:00
d4d59ac871
Remove FrameForStorage:Follow up on r4688
...
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2201004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4723 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-11 15:18:15 +00:00
554d158ce6
Reset jitter buffer and timing if frames are getting too much delay.
...
BUG=chromium/263867
TEST=trybots
R=mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2177005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4721 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-11 08:45:26 +00:00
021c42bfa8
Lock use of _packetRequestCallback in VCM.
...
BUG=
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2190006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4708 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-09 17:18:31 +00:00
0181b5f8dd
ExternalVideoDecoder for new VideoEngine API.
...
Implements the ExternalVideoDecoder interface for VideoReceiveStream.
Also adds a FakeDecoder used in tests, removing the overhead of running
the EngineTest tests with VP8 under Memcheck/TSan, allowing us to enable
them under Memcheck/TSan as well.
BUG=2346,2312
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2172004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4702 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-09 08:26:30 +00:00
7bb8f02274
Adds support for combining RTX and FEC/RED.
...
This is accomplished by breaking out RTX and FEC/RED functionality from the RTP module and keeping track of the base payload type, that is the payload type received when not receiving RTX.
Enables retransmissions over RTX by default in the loopback test.
BUG=1811
TESTS=voe/vie_auto_test --automated and trybots.
R=mflodman@webrtc.org , pbos@webrtc.org , xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2154004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4692 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-06 13:40:11 +00:00
5500d93fe5
Add temporal layer factory.
...
R=marpan@google.com , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2180004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4691 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-06 11:26:15 +00:00
f1e807c0e5
Removing FrameForStorage
...
R=pwestin@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2142004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4688 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-05 22:34:41 +00:00
9080518a39
Restore severity precondition to logging.h.
...
I mistakenly ommitted the checks when logging.h was ported from
libjingle to webrtc. This caused a significant CPU cost for logs which
were later filtered out anyway.
Verified with LS_VERBOSE logging in neteq4, running:
$ out/Release/modules_unittests \
--gtest_filter=NetEqDecodingTest.TestBitExactness \
--gtest_repeat=50 > time.txt
$ grep "case ran" time.txt | grep "[0-9]* ms" -o | sort
Results on a MacBook Retina, averaged over 5 runs:
Verbose logs disabled: 666 ms
Exisiting implementation, verbose logs enabled: 944 ms (1.42x)
New implementation, verbose logs enabled: 673 ms (1.01x)
BUG=2314
R=henrik.lundin@webrtc.org , henrike@webrtc.org , kjellander@webrtc.org , turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2160005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4682 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-05 16:40:43 +00:00
3c5a9242fe
Don't force cont' when enabling kWithErrors
...
BUG=
R=pbos@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2047004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4669 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-03 20:45:36 +00:00
2b810bf77b
Removing non decodable count from session info: This value isn't used, and therfore can be removed. This is a step towards the refactor of the session info to use maps.
...
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2143004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4667 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-03 19:09:49 +00:00
f31a47abdc
VCM:Accounting for bounds when inserting packets. We currently receive indicators to the first and last packets of the frame, but not have any sanity to verify that all packets are indeed within the bounds (when available). This cl attempts to fix that,
...
BUG=
R=marpan@google.com
Review URL: https://webrtc-codereview.appspot.com/2077004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4614 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-26 17:10:11 +00:00
b2c28c3699
Relanding 4597 - Don't force key frame when decoding with errors.
...
Makes sure that incomplete key frame or delta frames will be released from the JB when decoding with errors.
The decoder in turn will trigger a PLI until a complete key frame is received in order to start a session.
TBR=stefan@webrtc.org
BUG=
Review URL: https://webrtc-codereview.appspot.com/2097004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4607 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-23 21:54:50 +00:00
ceea41d135
Revert 4597 "Don't force key frame when decoding with errors"
...
> Don't force key frame when decoding with errors
>
> BUG=2241
> R=stefan@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/2036004
TBR=mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2093004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4600 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-23 00:53:24 +00:00
44af55cc44
Don't force key frame when decoding with errors
...
BUG=2241
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2036004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4597 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-22 23:29:43 +00:00
dbf6a81cb5
Follow-up changes to kSelectiveErrors
...
Committing cl for agalusza (cl 1992004)
TEST = trybots
R=marpan@google.com
Review URL: https://webrtc-codereview.appspot.com/2085004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4587 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-21 20:40:47 +00:00
822fbd8b68
Update talk to 50918584.
...
Together with Stefan's http://review.webrtc.org/1960004/ .
R=mallinath@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2048004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4556 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-15 23:38:54 +00:00
dde7d4c6ed
Roll chromium_revision 214260:217707 and gflags 45:84
...
gflags roll is needed mostly to pick up fixes for warnings triggered by newer
compiler/settings pulled in by the chromium roll. Had to switch from the old
google-gflags project the current gflags project to pick up this fix (see
https://code.google.com/p/gflags/source/detail?r=74 for details).
Update android build.xml file to reflect tools moves in new SDK pulled in by the chromium_revision roll.
R=niklas.enbom@webrtc.org , wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2043004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4555 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-15 23:31:30 +00:00
0d94c2f81c
Avoid acquiring VCM::_receiveCritSect during decode callback.
...
When VideoDecoder::Decode, Reset, or Release is called,
VideoCodingModuleImpl::_receiveCritSect may have been
acquired. Decode callback needs to acquire the same lock
in ViEChannel::FrameToRender. It is not a problem for
SW decode because decode callback is run on the same
WebRTC decoding thread and the lock is re-entrant. But
for HW decode, decode callback is run on a thread different
from WebRTC decoding thread. Decode callback gets the locks
in the opposite order. Deadlock can happen.
BUG=http://crbug.com/170345
TEST=Try apprtc.appspot.com/?debug=loopback on ARM Chromebook Daisy.
Run libjingle_peerconnection_unittest.
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1997005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4523 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-12 14:20:49 +00:00
a3b7406219
Remove unused unreferenced code in webrtc/
...
The code removed here are .c, .cc and .h files that are not referenced
from anywhere else. E.g. if git-grep showed no occurrence of the file
it's removed. This process was repeated until no more unreferenced
files were present.
BUG=
R=andrew@webrtc.org , henrike@webrtc.org , phoglund@webrtc.org , stefan@webrtc.org , turaj@webrtc.org , wu@webrtc.org , xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1945004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4511 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-09 08:47:51 +00:00
64799da6c6
Allowing decoding with errors, when disabling nack.
...
BUG=1897
R=stefan@webrtc.org , wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1982004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4508 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-08 22:45:33 +00:00
d177c10e2d
Added logic for kSelectiveErrors to VCMJitterBuffer and corresponding unit tests.
...
R=marpan@google.com , mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1943004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4503 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-08 01:12:33 +00:00
c4e1ab515b
Added Decoding with errors API to video_coding.h and removed unused DecodeError enum.
...
R=marpan@google.com , mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1937004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4497 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-06 18:27:41 +00:00