32 Commits

Author SHA1 Message Date
Peter Boström
b7d9a97ce4 Expose codec implementation names in stats.
Used to distinguish between software/hardware encoders/decoders and
other implementation differences. Useful for tracking quality
regressions related to specific implementations.

BUG=webrtc:4897
R=hta@webrtc.org, mflodman@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11084}
2015-12-18 15:01:23 +00:00
perkj
796cfaf7f7 Add VideoCodec::PreferDecodeLate
The purpose is so that a decoder (Android) that only have a limited number of output buffers can make sure that decoding is done just before the frame is needed.

Removed unused iSupportsRenderTiming and the settings structs since it was not used.
Added VCMReceiver::FrameForDecoding unit test for the case when PreferDecodeLate is set.

Note that this does not change the current behaviour. We actually currently always decode frames late. This cl is to make sure the behaviour is kept for Android, if the default behaviour is changed.

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

Cr-Commit-Position: refs/heads/master@{#10974}
2015-12-10 17:27:45 +00:00
stefan
43edf0ffb9 Require negotiation to send transport cc feedback over RTCP.
BUG=4312

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

Cr-Commit-Position: refs/heads/master@{#10735}
2015-11-21 02:05:53 +00:00
noahric
65220a70a3 Fix RTPPayloadRegistry to correctly restore RTX, if a valid mapping exists.
Also updated the RTPPayloadRegistry::RestoreOriginalPacket signature to not take the first arg as a **, since it isn't modified.

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

Cr-Commit-Position: refs/heads/master@{#10276}
2015-10-14 18:29:56 +00:00
pbos
da903eaabb Unify newapi::RtcpMode and RTCPMethod.
BUG=webrtc:1695
R=solenberg@webrtc.org, stefan@webrtc.org
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10143}
2015-10-02 09:37:18 +00:00
pbos
2d566686a2 Unify Transport and newapi::Transport interfaces.
BUG=webrtc:1695
R=stefan@webrtc.org
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10096}
2015-09-28 16:59:36 +00:00
pbos
f42376c601 Wire up currently-received video codec to stats.
BUG=webrtc:1844, webrtc:4808
R=mflodman@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9810}
2015-08-28 14:35:40 +00:00
solenberg
4fbae2b791 Add send transports to individual webrtc::Call streams.
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#9807}
2015-08-28 11:07:15 +00:00
Jelena Marusic
cd6702282a Define Stream base classes
BUG=webrtc:4690

Defined classes Stream, SendStream and ReceiveStream. Inherited existing stream classes from either SendStream or ReceiveStream.
This is a step towards having a Transport associated with streams instead of a Call. It will allow a lot of code in the Call to be media type agnostic.

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

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

Cr-Commit-Position: refs/heads/master@{#9591}
2015-07-16 07:30:20 +00:00
pbos
8fc7fa798f Base A/V synchronization on sync_labels.
Groups of streams that should be synchronized are signalled through
SDP. These should be used rather than synchronizing the first-added
video stream to the first-added audio stream implicitly.

BUG=webrtc:4667
R=hta@webrtc.org, solenberg@webrtc.org, stefan@webrtc.org
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9586}
2015-07-15 15:03:04 +00:00
Fredrik Solenberg
78fb3b3f8f C++11 in-class member initialization in Call configs.
BUG=
R=mflodman@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9416}
2015-06-11 10:38:46 +00:00
Peter Boström
d7da120b40 Disable reduced-size RTCP in default config.
Verifies that reduced-size isn't configured in WebRtcVideoEngine2
without explicit configuration (which doesn't exist). Also disables REMB
in the default config because it requires reconfiguration.

Adds default-config tests to make sure that they don't contain
parameters that need to be negotiated between clients.

BUG=chromium:497103, webrtc:4745
R=mflodman@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9384}
2015-06-05 12:09:48 +00:00
Peter Boström
def39883f0 Configure default render delay as 10 ms.
BUG=chromium:488395
R=mflodman@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9296}
2015-05-27 15:59:21 +00:00
Peter Boström
c4188fd3c7 Use IncomingVideoStream in VideoReceiveStream.
Decouples VideoReceiveStream further from webrtc/video_engine/ as well
as most of webrtc/modules/video_render/ resulting in a simpler setup.

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

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

Cr-Commit-Position: refs/heads/master@{#9080}
2015-04-24 13:15:40 +00:00
pbos@webrtc.org
09c77b95bb Add decoder-timing stats to VideoReceiveStream.
Also breaks out SsrcStats from VideoReceiveStream::Stats as they don't
have that much overlap.

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

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

Cr-Commit-Position: refs/heads/master@{#8501}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8501 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-25 10:42:45 +00:00
pbos@webrtc.org
32e8528581 Log configs when creating video streams in Call.
Adds VideoReceiveStream::Config::ToString and logs configs in both
Call::CreateVideoSendStream and Call::CreateVideoReceiverStream.

R=mflodman@webrtc.org
BUG=1667

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8075 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-15 10:09:39 +00:00
stefan@webrtc.org
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
pbos@webrtc.org
3bf3d238c8 Configure A/V sync in WebRtcVideoEngine2.
Sets up A/V sync for the first video receive channel with the default
voice channel. This is only done when conference mode is disabled to
preserve existing behavior. Ideally we'd know which voice channel to
sync with here.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7577 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-31 12:59:34 +00:00
pbos@webrtc.org
776e6f289c Use external VideoDecoders in VideoReceiveStream.
Removes direct VideoCodec use from the new API, exposes VideoDecoders
through webrtc/video_decoder.h similar to VideoEncoders.

Also includes some preparation for wiring up external decoders in
WebRtcVideoEngine2 by adding AllocatedDecoders that specify whether they
were allocated internally or externally.

Additionally addresses a data race in VideoReceiver that was exposed with this change.

R=mflodman@webrtc.org, stefan@webrtc.org
TBR=pthatcher@webrtc.org
BUG=2854,1667

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7560 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-29 15:28:39 +00:00
asapersson@webrtc.org
9d453931c5 Change return value for number of discarded packets to be int.
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7054 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-04 07:07:44 +00:00
pbos@webrtc.org
bd249bc711 Remove GetDefaultConfigs() from Call.
Defaults for configs are instead placed in the Config constructors.

BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6608 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-07 04:45:15 +00:00
pbos@webrtc.org
a5c8d2c9b3 Rename Start/Stop in Video{Send,Receive}Streams.
Rename {Start,Stop}{Sending,Receving} to Start/Stop. StartSending
provides no extra information in the context of a VideoSendStream, as
what it does is to send.

R=mflodman@webrtc.org
BUG=3227

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5970 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-24 11:13:21 +00:00
sprang@webrtc.org
9510e53cc0 Make VideoReceiveStream::GetStats() const.
BUG=
R=mflodman@webrtc.org, pbos@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5501 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-07 15:32:45 +00:00
sprang@webrtc.org
09315705b9 Wire up statistics in video receive stream of new API
This CL includes Call tests that test both send and receive sides.

BUG=2235
R=mflodman@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5499 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-07 12:06:29 +00:00
pbos@webrtc.org
c279a5d72c Wire up RTX in VideoReceiveStream.
Also adds a test to make sure that a retransmitted frame is actually
received and decoded on the remote side. The previous NACK test checked
retransmission, but not that the receiver actually takes care of the
retransmitted packet.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5422 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-24 09:30:53 +00:00
pbos@webrtc.org
e02d47515f Set up receiver RTX config using a std::map.
This change removes video_payload_type from RtxConfig as it can be
inferred from the map key or config otherwise. Wiring up this config is
part of issue 2399.

BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5402 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-20 14:43:55 +00:00
asapersson@webrtc.org
efaeda0c76 Add configuration and test for extended RTCP reference time reports to new video api.
R=mflodman@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5401 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-20 08:34:49 +00:00
mflodman@webrtc.org
b429e516a9 cpplint cleaning new API and its implementation files.
R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5317 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-18 09:46:22 +00:00
mflodman@webrtc.org
92c2793154 Adding REMB to receive stream configuration, the send side will always
react to incoming REMB for now.

Adding a test to verify the receive side is generating RTCP REMB and
will follow up with a send side test as soon as the bitrate stats are
wired up for the new API.

TEST=See above.
R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5286 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-13 16:36:28 +00:00
pbos@webrtc.org
b613b5ab2b Set local SSRC for VideoReceiveStream.
As a bonus, also removes GenerateRandomSsrc, which only worked on sender
configs. There's no point to generate random SSRCs in tests.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5201 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-03 10:13:04 +00:00
pbos@webrtc.org
53c8573525 Rename video streams' start/stop methods.
{Start,Stop}{Send,Receive}() -> {Start,Stop}{Sending,Receiving}().

BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5136 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-20 11:36:47 +00:00
pbos@webrtc.org
16e03b7bd8 Separate Call API/build files from video_engine/.
BUG=2535
R=andrew@webrtc.org, mflodman@webrtc.org, niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5042 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-28 16:32:01 +00:00