687 Commits

Author SHA1 Message Date
kjellander@webrtc.org
f58fe0ab2b Rename GYP and GN targets for video capture+render.
This CL performs the following renames of targets to
make GYP and GN more unified and make the targets that
have the same name as the module and include the external
render/capture implementation (the internal one is only
used by WebRTC tests).
This makes it natural to declare dependencies in GN
without having to specify the target.

Summary of the renames:
GYP:
video_render_module_impl -> video_render (new target)
video_capture_module_impl -> video_capture (new target)

GN:
video_capture -> video_capture_module (now identical to the GYP target)
video_capture_impl -> video_capture

video_render -> video_render_module (now identical to the GYP target)
video_render_impl -> video_render

BUG=456815
R=andresp@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8323}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8323 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-11 07:47:47 +00:00
pbos@webrtc.org
f4c10d24dc Always use DeliverI420Frame in WebRtcVideoEngine.
Moves native_handle() path to DeliverI420Frame and CHECKs that
DeliverFrame is not being used anymore.

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

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

Cr-Commit-Position: refs/heads/master@{#8312}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8312 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-10 10:20:38 +00:00
mflodman@webrtc.org
948d61724c Create a separate thread for pacing.
This CL moves the pacer out from the regular module process thread to
instead use one thread per pacer. This is to get better accuracy for the
paced packets and to avoid overusing the module process thread.

BUG=
TEST=existing tests
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8308}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8308 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-10 08:59:00 +00:00
tommi@webrtc.org
8e612aba60 Remove voice_engine_ member variable and GetVoiceEngine() from ViEChannelManager.
This is dead code right now and since the implementation of GetVoiceEngine() grabbed a lock and returned a raw pointer, it's not to be trusted anyway :)

R=mflodman@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#8306}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8306 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-10 08:16:02 +00:00
pbos@webrtc.org
0d852d5c27 Use VideoReceiveStream as an ExternalRenderer.
Removes AddRenderCallback from ViERenderer and implements
VideoReceiveStream on top of DeliverI420Frame like WebRtcVideoEngine
currently does today.

Also adds ::IsTextureSupported() to the VideoRenderer interface to
permit querying whether an external renderer supports texture rendering.

R=stefan@webrtc.org
TBR=mflodman@webrtc.org
BUG=1667

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

Cr-Commit-Position: refs/heads/master@{#8299}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8299 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-09 15:15:24 +00:00
changbin.shao@webrtc.org
f31f56d8d4 Remove default arguments in EncodedImageCallback.
BUG=
R=mflodman@webrtc.org, pbos@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8289}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8289 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-09 09:14:48 +00:00
tommi@webrtc.org
7a57f8f101 Reland 8203 "Reducing locking in OveruseFrameDetect..."
The issue that was causing the thread checker to report error, turned out to be unrelated.

> Revert 8203 "Reducing locking in OveruseFrameDetector and increa..."
>
> Broke tests in Chrome for some reason:
>
> [ RUN      ] WebRtcAecDumpBrowserTest.CallWithAecDump
> [80131:1287:0129/074432:30561723987517:ERROR:vt_video_decode_accelerator.cc(132)] Failed to create VTDecompressionSession: codecOpenErr (-8973)
> [80129:1287:0129/074432:30562276677373:INFO:CONSOLE(64)] "Looking at video in element remote-view-1", source: http://127.0.0.1:61401/media/webrtc_test_utilities.js (64)
> [80129:1287:0129/074432:30562281435788:INFO:CONSOLE(64)] "Looking at video in element remote-view-2", source: http://127.0.0.1:61401/media/webrtc_test_utilities.js (64)
> [80129:1287:0129/074432:30562315329399:INFO:CONSOLE(800)] "Negotiating call...", source: http://127.0.0.1:61401/media/peerconnection-call.html (800)
> [80133:29187:0129/074432:30562402039578:FATAL:overuse_frame_detector.cc(388)] Check failed: processing_thread_.CalledOnValidThread().
> 0   libbase.dylib                       0x000000010dfd688f base::debug::StackTrace::StackTrace() + 47
> 1   libbase.dylib                       0x000000010dfd68e3 base::debug::StackTrace::StackTrace() + 35
> 2   libbase.dylib                       0x000000010e030076 logging::LogMessage::~LogMessage() + 70
> 3   libbase.dylib                       0x000000010e02f0c3 logging::LogMessage::~LogMessage() + 35
> 4   libcontent.dylib                    0x000000011d8c0cd5 webrtc::OveruseFrameDetector::TimeUntilNextProcess() + 245
> 5   libcontent.dylib                    0x000000011d31ddfd webrtc::ProcessThreadImpl::Process() + 525
> 6   libcontent.dylib                    0x000000011d31d836 webrtc::ProcessThreadImpl::Run(void*) + 38
> 7   libcontent.dylib                    0x000000011d10c390 webrtc::ThreadPosix::Run() + 288
> 8   libcontent.dylib                    0x000000011d10c076 webrtc::StartThread(void*) + 38
> 9   libsystem_pthread.dylib             0x00007fff8e667899 _pthread_body + 138
> 10  libsystem_pthread.dylib             0x00007fff8e66772a _pthread_struct_init + 0
> 11  libsystem_pthread.dylib             0x00007fff8e66bfc9 thread_start + 13
>
>
> > Reducing locking in OveruseFrameDetector and increasing constness.
> >
> > I also added a few TODOs there to see what we can do to reduce the chance of contention.
> > To catch regressions, I've started using the ThreadChecker class on the processing thread but it might also be a good idea to add similar checks for other known threads such as the thread we receive frames on.  I'm sure we can reduce locking even further.
> >
> > BUG=2822
> > R=asapersson@webrtc.org
> >
> > Review URL: https://webrtc-codereview.appspot.com/33129004
>
> TBR=tommi@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/34079004

TBR=tommi@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#8287}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8287 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-08 18:29:12 +00:00
mflodman@webrtc.org
02270cd718 Implementing a packet router class, used to route RTP packets to the
sending RTP module for the specified simulcast layer a frame belongs to.
This CL also removes the corresponding functionality from the RTP RTCP
module and fixes lint warnings in the files touched.

BUG=769
TEST=New unittest and manual tests
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8267}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8267 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-06 13:10:39 +00:00
tommi@webrtc.org
0c3e12b7bf Revamp the ProcessThreadImpl implementation.
* Add a new WakeUp method that gives a module a chance to be called back right away on the worker thread.
* Wrote unit tests for the class.
* Significantly reduce the amount of locking.
  - ProcessThreadImpl itself does a lot less locking.
  - Reimplemented the way we keep track of when to make calls to Process.
    This reduces the amount of calls to TimeUntilNextProcess and since most implementations of that function grab a lock, this means less locking.
* Renamed ProcessThread::CreateProcessThread to ProcessThread::Create.
* Added thread checks for Start/Stop.  Threading model of other functions is now documented.
* We now log an error if an implementation of TimeUntilNextProcess returns a negative value (some implementations do, but the method should only return a positive nr of ms).
* Removed the DestroyProcessThread method and instead force callers to use scoped_ptr<> to maintain object lifetime.

BUG=2822
R=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8261}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8261 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-06 09:44:45 +00:00
tommi@webrtc.org
875c97ed9d Remove SetNotAlive method from the thread class.
Also cleaning up methods with the same name in other classes that are derived from the above method.

R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8242}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8242 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-04 11:12:39 +00:00
asapersson@webrtc.org
4414939954 Add method for incrementing RtpPacketCounter. Removes duplicate code.
Correction to check if rtx is enabled on send-side (and not receive) when updating rtx send bitrate stat.

Remove unneeded guarded by annotations.

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

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

Cr-Commit-Position: refs/heads/master@{#8239}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8239 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-04 08:35:21 +00:00
pkasting@chromium.org
19f3f71c98 Fix apparent typo: int -> char.
The surrounding similar methods all used unsigned char, using unsigned int in
this case looks like an accident, especially since the function passes on the
value in question to a function expecting a uint8.

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

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

Cr-Commit-Position: refs/heads/master@{#8228}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8228 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-02 19:44:42 +00:00
pkasting@chromium.org
026b892e72 Using << on an int8_t or uint8_t will output a character rather than a number.
Places that do this need to cast to int to get the desired behavior.

BUG=none
TEST=none
R=henrik.lundin@webrtc.org, pthatcher@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8223}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8223 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-30 19:54:19 +00:00
tommi@webrtc.org
7a37bfc240 Revert 8203 "Reducing locking in OveruseFrameDetector and increa..."
Broke tests in Chrome for some reason:

[ RUN      ] WebRtcAecDumpBrowserTest.CallWithAecDump
[80131:1287:0129/074432:30561723987517:ERROR:vt_video_decode_accelerator.cc(132)] Failed to create VTDecompressionSession: codecOpenErr (-8973)
[80129:1287:0129/074432:30562276677373:INFO:CONSOLE(64)] "Looking at video in element remote-view-1", source: http://127.0.0.1:61401/media/webrtc_test_utilities.js (64)
[80129:1287:0129/074432:30562281435788:INFO:CONSOLE(64)] "Looking at video in element remote-view-2", source: http://127.0.0.1:61401/media/webrtc_test_utilities.js (64)
[80129:1287:0129/074432:30562315329399:INFO:CONSOLE(800)] "Negotiating call...", source: http://127.0.0.1:61401/media/peerconnection-call.html (800)
[80133:29187:0129/074432:30562402039578:FATAL:overuse_frame_detector.cc(388)] Check failed: processing_thread_.CalledOnValidThread().
0   libbase.dylib                       0x000000010dfd688f base::debug::StackTrace::StackTrace() + 47
1   libbase.dylib                       0x000000010dfd68e3 base::debug::StackTrace::StackTrace() + 35
2   libbase.dylib                       0x000000010e030076 logging::LogMessage::~LogMessage() + 70
3   libbase.dylib                       0x000000010e02f0c3 logging::LogMessage::~LogMessage() + 35
4   libcontent.dylib                    0x000000011d8c0cd5 webrtc::OveruseFrameDetector::TimeUntilNextProcess() + 245
5   libcontent.dylib                    0x000000011d31ddfd webrtc::ProcessThreadImpl::Process() + 525
6   libcontent.dylib                    0x000000011d31d836 webrtc::ProcessThreadImpl::Run(void*) + 38
7   libcontent.dylib                    0x000000011d10c390 webrtc::ThreadPosix::Run() + 288
8   libcontent.dylib                    0x000000011d10c076 webrtc::StartThread(void*) + 38
9   libsystem_pthread.dylib             0x00007fff8e667899 _pthread_body + 138
10  libsystem_pthread.dylib             0x00007fff8e66772a _pthread_struct_init + 0
11  libsystem_pthread.dylib             0x00007fff8e66bfc9 thread_start + 13


> Reducing locking in OveruseFrameDetector and increasing constness.
> 
> I also added a few TODOs there to see what we can do to reduce the chance of contention.
> To catch regressions, I've started using the ThreadChecker class on the processing thread but it might also be a good idea to add similar checks for other known threads such as the thread we receive frames on.  I'm sure we can reduce locking even further.
> 
> BUG=2822
> R=asapersson@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/33129004

TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8206}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8206 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-29 16:09:07 +00:00
tommi@webrtc.org
18e758526d Reducing locking in OveruseFrameDetector and increasing constness.
I also added a few TODOs there to see what we can do to reduce the chance of contention.
To catch regressions, I've started using the ThreadChecker class on the processing thread but it might also be a good idea to add similar checks for other known threads such as the thread we receive frames on.  I'm sure we can reduce locking even further.

BUG=2822
R=asapersson@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8203}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8203 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-29 12:35:19 +00:00
magjed@webrtc.org
a26f511dd2 Remove frame copy in ViEExternalRendererImpl::RenderFrame
Add new interface for delivering frames to ExternalRenderer. The purpose is to avoid having to extract a packed buffer from I420VideoFrame, which will cause a deep frame copy.

BUG=1128,4227
R=mflodman@webrtc.org

Committed: https://code.google.com/p/webrtc/source/detail?r=8136

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

Cr-Commit-Position: refs/heads/master@{#8199}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8199 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-29 11:45:43 +00:00
tommi@webrtc.org
a907e01c63 Adding constness.
Make a few member variables in the Transport class officially const so that it's clear that locking isn't needed for access. There are getters for some of these (e.g. content_name()) that don't have locking or checking, so making the variables const is at least a way to guard against regressions. Also making the clock_ member in overuse_frame_detector.h const for clarity that it doesn't require a lock for access.

No code change.

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

Cr-Commit-Position: refs/heads/master@{#8186}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8186 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-28 17:33:45 +00:00
asapersson@webrtc.org
37c0559c1e Notify jitter buffer about received FEC packets (to avoid sending NACK request for these packets).
Don't copy codec specific header for empty packets in the jitter buffer.

BUG=3135
R=pbos@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8184}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8184 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-28 13:58:40 +00:00
asapersson@webrtc.org
273fbbb921 Update StreamDataCounter with FEC bytes.
Add histograms stats for send/receive FEC bitrate:
- "WebRTC.Video.FecBitrateReceivedInKbps"
- "WebRTC.Video.FecBitrateSentInKbps"

Correct media payload bytes in StreamDataCounter to not include FEC bytes.

Fix stats for rtcp packets sent/received per minute (regression from r7910).

BUG=crbug/419657
R=holmer@google.com, mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8164 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-27 12:17:29 +00:00
tkchin@webrtc.org
7519de519e Revert 8136 "Remove frame copy in ViEExternalRendererImpl::Rende..."
> Remove frame copy in ViEExternalRendererImpl::RenderFrame
> 
> Add new interface for delivering frames to ExternalRenderer. The purpose is to avoid having to extract a packed buffer from I420VideoFrame, which will cause a deep frame copy.
> 
> BUG=1128
> R=mflodman@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/36489004

TBR=magjed@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8144 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-23 21:20:41 +00:00
magjed@webrtc.org
182ea46fac Remove frame copy in ViEExternalRendererImpl::RenderFrame
Add new interface for delivering frames to ExternalRenderer. The purpose is to avoid having to extract a packed buffer from I420VideoFrame, which will cause a deep frame copy.

BUG=1128
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8136 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-23 11:50:13 +00:00
asapersson@webrtc.org
cfd82dfc11 Split packets/bytes in StreamDataCounter into RtpPacketCounter struct.
Prepares for adding FEC bytes to the StreamDataCounter.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8122 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-22 09:39:59 +00:00
asapersson@webrtc.org
e7358eabbc Only report fraction of lost packets if report_block_stats has been updated.
R=holmer@google.com, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8108 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-21 09:00:19 +00:00
tnakamura@webrtc.org
cbacd9e3bf Bump to version 41.
R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8104 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-20 18:52:01 +00:00
tommi@webrtc.org
2624b1ed23 Remove unused private data member engine_id_
BUG=chromium:447445
R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8088 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-19 07:54:29 +00:00
asapersson@webrtc.org
0800db74b9 Add percentage of fec packets and recovered media packets to histogram stats:
- "WebRTC.Video.ReceivedFecPacketsInPercent"
- "WebRTC.Video.RecoveredMediaPacketsInPercentOfFec"

BUG=crbug/419657
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8072 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-15 07:40:20 +00:00
andresp@webrtc.org
86e1e487e7 Move system_wrappers.gyp files to the proper directory.
Build targets should not refer to non-subpaths as was happening before when
 source/system_wrappers.gyp refers to ../interface/ files.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8057 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-14 09:30:52 +00:00
pbos@webrtc.org
0b0c24177b Only return Rtx mode in RTXSendStatus().
There is no need to return 'ssrc' and 'payloadtype' inside this function
since they are never used.

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

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

Patch from Changbin Shao <changbin.shao@intel.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8049 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-13 14:15:15 +00:00
pkasting@chromium.org
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
andrew@webrtc.org
8f27fcce79 Revert 8028 "Support associated payload type when registering Rt..."
Reasons for revert:
1. glaznev discovered potentially related problems using the Android AppRTCDemo.
2. We're trying to do an M41 webrtc roll in Chromium, and this CL is risky.

> Support associated payload type when registering Rtx payload type.
> 
> Major changes include,
> - Add associated payload type for SetRtxSendPayloadType & SetRtxReceivePayloadType.
> - Receiver: Restore RTP packets by the new RTX-APT map.
> - Sender: Send RTP packets by checking RTX-APT map.
> - Add RTX payload type for RED in the default codec list.
> 
> BUG=4024
> R=pbos@webrtc.org, stefan@webrtc.org
> TBR=mflodman@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/26259004
> 
> Patch from Changbin Shao <changbin.shao@intel.com>.

TBR=pbos@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8033 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-09 20:22:46 +00:00
pbos@webrtc.org
2a169640a3 Support associated payload type when registering Rtx payload type.
Major changes include,
- Add associated payload type for SetRtxSendPayloadType & SetRtxReceivePayloadType.
- Receiver: Restore RTP packets by the new RTX-APT map.
- Sender: Send RTP packets by checking RTX-APT map.
- Add RTX payload type for RED in the default codec list.

BUG=4024
R=pbos@webrtc.org, stefan@webrtc.org
TBR=mflodman@webrtc.org

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

Patch from Changbin Shao <changbin.shao@intel.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8028 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-09 15:16:10 +00:00
kjellander@webrtc.org
8649fed1b8 GN: Fix Windows build.
This required a tiny include fix in
src/third_party/winsdk_samples/src
which was committed in
https://code.google.com/p/webrtc/source/detail?r=7951

This incorporates contribution from vchigrin@yandex-team.ru
in https://webrtc-codereview.appspot.com/29299004/

BUG=261,1348,4105
R=pbos@webrtc.org
TBR=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8027 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-08 21:22:01 +00:00
asapersson@webrtc.org
823c9b8e36 Add histograms stats for sent/received fraction loss for a stream:
- "WebRTC.Video.SentPacketsLostInPercent"
- "WebRTC.Video.ReceivedPacketsLostInPercent"

BUG=crbug/419657
R=mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8020 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-08 07:50:56 +00:00
mflodman@webrtc.org
215bbbdcdd Fix for log typo in ViEExternalCodecImpl::RegisterExternalReceiveCodec.
R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7993 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-05 14:56:02 +00:00
stefan@webrtc.org
50f7db8a77 Remove unneccessary lock causing a potential deadlock.
TBR=pbos@webrtc.org
BUG=1667

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7967 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-19 17:55:20 +00:00
pbos@webrtc.org
5570769210 Remove the last getters from VideoReceiveStream stats.
R=stefan@webrtc.org
BUG=1667

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7965 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-19 15:45:03 +00:00
stefan@webrtc.org
742386a136 Enable payload-based padding by default and remove the API.
BUG=1812
R=mflodman@webrtc.org, pbos@webrtc.org, perkj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7964 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-19 15:33:17 +00:00
pbos@webrtc.org
d16e839c6d Rtp-Rtcp sender cleanup.
Some setter functions from Rtp and Rtcp Sender never return negative values. Remove return results from those functions.

Also removed const on non-pointer/reference types for related files.

BUG=
R=henrika@webrtc.org, pbos@webrtc.org, stefan@webrtc.org

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

Patch from Changbin Shao <changbin.shao@intel.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7962 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-19 13:49:55 +00:00
pbos@webrtc.org
ce4e9a3562 Refactor some receive-side stats.
Removes polling of CName as well as receive codec statistics in favor of
internal callbacks keeping a statistics struct up to date.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7950 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-18 13:50:16 +00:00
sprang@webrtc.org
9b79197c80 Suppress REMB in bitrate ctrl if it seems lika a short network glitch.
BUG=4082
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7948 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-18 11:53:59 +00:00
asapersson@webrtc.org
45a272ab22 Change aggregated fraction loss to be calculated from the cumulative loss and extended sequence number diff between the current and the last report block of two get stats calls.
Previously it was derived from the fraction loss of the current report (which could be based on a received report block in between two get stats calls).

R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7928 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-17 10:27:57 +00:00
asapersson@webrtc.org
d08d389ce8 Add field to counters for when first rtp/rtcp packet is sent/received.
Use this time for histogram statistics (send/receive bitrates, sent/received rtcp fir/nack packets/min).

BUG=crbug/419657
R=mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7910 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-16 12:03:11 +00:00
marpan@webrtc.org
d021bbbc9e Fix vp9 setting in vie loopback test.
If vp9 codec was selected then videoCodec.codecSpecific.VP8.numberOfTemporalLayers was being set.

TBR=stefan@webrtc.org
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7907 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-16 00:21:47 +00:00
pkasting@chromium.org
0b1534c52e Use int64_t for milliseconds more often, primarily for TimeUntilNextProcess.
This fixes a variety of MSVC warnings about value truncations when implicitly
storing the 64-bit values we get back from e.g. TimeTicks in 32-bit objects, and
removes the need for a number of explicit casts.

This also moves a number of constants so they're declared right where they're used, which is easier to read and maintain, and makes some of them of integral type rather than using the "enum hack".

BUG=chromium:81439
TEST=none
R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7905 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-15 22:09:40 +00:00
asapersson@webrtc.org
8084f9500f Change LastProcessedRtt (used in the rtp/rtcp module) to return the average RTT (instead of max RTT) to get a smooth estimate of the nack interval.
R=mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7863 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-10 11:04:13 +00:00
asapersson@webrtc.org
0df371549f Cast payload type to int in logs.
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7861 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-10 10:30:45 +00:00
asapersson@webrtc.org
97d0489058 Add video send bitrates to histogram stats:
- total bitrate ("WebRTC.Video.BitrateSentInKbps")
- media bitrate ("WebRTC.Video.MediaBitrateSentInKbps")
- rtx bitrate ("WebRTC.Video.RtxBitrateSentInKbps")
- padding bitrate ("WebRTC.Video.PaddingBitrateSentInKbps")
- retransmitted bitrate ("WebRTC.Video.RetransmittedBitrateInKbps")

Add retransmitted bytes to StreamDataCounters.

Change in UpdateRtpStats to also update counters for retransmitted packet.

BUG=crbug/419657
R=mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7838 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-09 09:47:53 +00:00
stefan@webrtc.org
edeea91803 Change all system clock types to int64_t in bitrate_controller.
They are both compared to int64_t types inside the class, and is being called
with int64_t types. Could possibly cause bugs.

R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7832 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-08 19:46:23 +00:00
pbos@webrtc.org
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
asapersson@webrtc.org
83b5200f95 Add framerate for complete received frames to histogram stats:
"WebRTC.Video.CompleteFramesReceivedPerSecond".

BUG=crbug/419657
R=mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7762 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-28 10:17:13 +00:00