Commit Graph

20 Commits

Author SHA1 Message Date
98f53510b2 system_wrappers: rename interface -> include
BUG=webrtc:5095
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10438}
2015-10-28 17:17:50 +00:00
22993e1a0c Unify FrameType and VideoFrameType.
Prevents some heap allocation and frame-type conversion since interfaces
mismatch. Also it's less confusing to have one type for this.

BUG=webrtc:5042
R=magjed@webrtc.org, mflodman@webrtc.org, henrik.lundin@webrtc.org, solenberg@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10320}
2015-10-19 09:39:15 +00:00
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
d4cec15c75 Resolved Rebase Conflicts
This is just https://webrtc-codereview.appspot.com/53629004/

Remove a constructor of VCMJitterBuffer.

Remove unnecessary factory use

Comment Fix

Move frame incoming simulation to the clock

DCHECK typo fix

Coding Style Fix

Rephrased some comments, and removed some virtual for override function.

Coding Style Fix

Coding Style Fix

Add a unittest for VCMReceiver::FrameForDecoding. Mainly test the time control algorithm.

BUG=

TBR=holmer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#9470}
2015-06-19 16:17:10 +00:00
349c2bb223 Remove the timestamp_ member of StreamGenerator.
timestamp_ is only used in GenerateFrame() and its old value is
discarded. So it just needs to be a local variable in GenerateFrame().
As a result, we can remove the start_timestamp parameter from the
constructor and Init().

Also mark the GeneratePacket() method private because it is only used
internally.

R=stefan@webrtc.org
BUG=none
TEST=none

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

Cr-Commit-Position: refs/heads/master@{#9386}
2015-06-05 21:45:13 +00:00
b1825a4038 Change JitterBuffer::GetNackList to return a std::vector<uint16_t>.
This fixed the problem with returning a pointer to an internal buffer
of a JitterBuffer.

R=stefan@webrtc.org
BUG=none
TEST=none

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

Cr-Commit-Position: refs/heads/master@{#9365}
2015-06-03 22:03:46 +00:00
92d9489881 Miscellaneous cleanups in VCMReceiver and its unit tests.
The most important change is to prevent a potential buffer overflow in
NackList(). It cannot happen if the |size| argument passed to NackList()
is consistent with the |max_nack_list_size| argument passed to
SetNackSettings(), and there is an assertion to check that. But it is
good to defend against this in the release build because assert() is
compiled away in the release build.

Remove the unused |master| parameter to the VCMReceiver constructor.

Remove the unused State() getter method and the corresponding state_
member.

Remove the declarations for the nonexistent GenerateReceiverId()
method and the receiver_id_counter_ member.

Remove the unneeded data_buffer_ member of TestVCMReceiver. It was
assigned to packet.dataPtr and then immediately overwritten by
stream_generator_->GetPacket() or stream_generator_->PopPacket().

R=stefan@webrtc.org
BUG=none
TEST=none

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

Cr-Commit-Position: refs/heads/master@{#9318}
2015-05-28 20:36:22 +00:00
00b8f6b364 Use base/scoped_ptr.h; system_wrappers/interface/scoped_ptr.h is going away
BUG=
R=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8517}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8517 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-26 14:43:50 +00:00
4f16c874c6 Simplifying VideoReceiver and JitterBuffer.
Removing frame_buffers_ array and dual-receiver mechanism. Also adding
some thread annotations to VCMJitterBuffer.

R=stefan@webrtc.org
BUG=4014

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7735 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-24 09:06:48 +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
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
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
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
1673481ed7 Fixes a bug where the render buffer size (and indirectly the non-continuous duration) was computed incorrectly.
BUG=1769
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4026 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-14 12:00:47 +00:00
ef14488d03 Trigger a PLI if the duration of non-decodable frames exceeds a threshold.
BUG=1663
R=mikhal@webrtc.org, ronghuawu@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3975 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-07 19:16:33 +00:00
759b041019 Relanding r3952: VCM: Updating receiver logic
BUG=r1734
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3970 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-07 16:36:00 +00:00
3004c79c6a Fix clang errors in non-GYP_DEFINES=clang=1 build
BUG=1623
R=stefan@webrtc.org, tina.legrand@webrtc.org, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3968 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-07 12:36:21 +00:00
4ce19b1664 Revert r3952 "VCM: Updating receiver logic"
TBR=phoglund@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3963 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-06 13:16:51 +00:00
d3cd565ecf VCM: Updating receiver logic
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3952 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-03 17:54:18 +00:00
381da4be9c VCM: Adding API for the size(duration) of the jitter buffer.
Refers to the duration in time of the frames which are ready to be sent to the decoder.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3903 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-25 21:45:29 +00:00