pbos@webrtc.org
6ae48c6609
Make VideoSendStream/VideoReceiveStream configs const.
...
Benefits of this is that the send config previously had unclear locking
requirements, a lock was used to lock parts parts of it while
reconfiguring the VideoEncoder. Primary work was splitting out video
streams from config as well as encoder_settings as these change on
ReconfigureVideoEncoder. Now threading requirements for both member
configs are clear (as they are read-only), and encoder_settings doesn't
stay in the config as a stale pointer.
CreateVideoSendStream now takes video streams separately as well as the
encoder_settings pointer, analogous to ReconfigureVideoEncoder.
This change required changing so that pacing is silently enabled when
using suspend_below_min_bitrate rather than silently setting it.
R=henrik.lundin@webrtc.org , mflodman@webrtc.org , pthatcher@webrtc.org , stefan@webrtc.org
BUG=3260
Review URL: https://webrtc-codereview.appspot.com/20409004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6349 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-06 10:49:19 +00:00
asapersson@webrtc.org
1457b4737a
First incoming packet was not accounted for in receive stats. Changed call order for incoming packet to receive statistics class.
...
Receive stats is reset if the payload type changes. Update stats after a possible reset.
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/12549004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6247 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-26 13:06:04 +00:00
pbos@webrtc.org
caba2d2a37
Add DeliveryStatus enum to DeliverPacket().
...
Allows signalling why packet delivery failed. Especially enables
signaling that delivery fails because the incoming packet had an unknown
SSRC. This allows an application to react and create receivers for the
new streams.
R=mflodman@webrtc.org
BUG=3228
Review URL: https://webrtc-codereview.appspot.com/12289005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6150 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-14 13:57:12 +00:00
pbos@webrtc.org
de1429e9ad
Add thread annotations to Call API.
...
Also constified a lot of pointers and reordered members to make
protected members more grouped together.
R=kjellander@webrtc.org , stefan@webrtc.org
BUG=2770
Review URL: https://webrtc-codereview.appspot.com/15399004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5998 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-28 13:00:21 +00:00
pbos@webrtc.org
f043f79711
Disabling flaky CanReceiveFec.
...
CanReceiveFec is flaky, likely to the test expecting the first FEC
packet to always be decoded and rendered.
R=stefan@webrtc.org
BUG=3269
Review URL: https://webrtc-codereview.appspot.com/19379004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5992 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-28 09:00:50 +00:00
pbos@webrtc.org
5ca6a5387e
Remove TraceCallback use from Call.
...
Non-global logging isn't supported, and having a per-call logging
dispatch seems over-eager and adds more complexity than it's worth. The
current implementation is racy on initialization due to missing atomics
support. Besides, logging support should be separate from use of Call.
R=mflodman@webrtc.org
BUG=3250,3157
Review URL: https://webrtc-codereview.appspot.com/12329006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5971 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-24 11:35:33 +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
pbos@webrtc.org
22cf7472a0
Disable UsesTraceCallback
...
Ongoing removal of trace code is causing UsesTraceCallback to fail,
disabling it for now.
BUG=3157
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/11629004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5882 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-10 14:39:22 +00:00
pbos@webrtc.org
2a03498825
Implement FEC support in VideoReceiveStream.
...
Added an FEC end-to-end test. NACK+FEC is probably working but not yet tested
as the test for it must introduce packet delays as the underlying API prefers
NACK over FEC if RTT is low.
BUG=3174
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/11399004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5862 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-08 11:21:45 +00:00
pbos@webrtc.org
f577ae9eac
Remove internal codecs from VideoSendStream.
...
Replaces VideoCodec in VideoSendStream::Config with an EncoderSettings
struct. The EncoderSettings struct uses an external encoder for all
codecs. This means that external users, such as libjingle, will provide
the encoders themselves, removing the previous distinction of internal
and external codecs.
For now VideoSendStream translates to VideoCodec internally. In the
interrim (before the corresponding change is implemented in
VideoReceiveStream) tests convert EncoderSettings to VideoCodecs.
Removes Call::GetVideoCodecs().
Disables RampUpTest.WithPacingAndRtx as its further exposed with changes
to bitrates used in tests.
BUG=2854,2992
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/7919004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5722 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-19 08:43:57 +00:00
pbos@webrtc.org
3349ae0cdc
Implement minimum transmit bitrate.
...
Utilizing minimum transmission bitrate prevents low remote bitrate
estimates (bitrate estimation dips) when encoding non-complex content
such as screenshare of a static image even though there's nothing wrong
with the link.
Requires pacing to be enabled for now, pending issue 3036.
BUG=3014
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/9719004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5694 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-13 12:52:27 +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
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
pbos@webrtc.org
f777cf2547
Permitting double start/stopping of streams.
...
It doesn't make too much sense to hard enforce that the user keeps track
of which streams are started and which are not.
BUG=
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/6899004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5363 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-10 18:47:32 +00:00
mflodman@webrtc.org
bcd124cdba
Reduced execution time for CallTest::ReceivesPliAndRecovers, by dropping only one packet and made it predictable by removing rand().
...
Follow up steps is to support NackConfig.rtp_hostory_ms and/or increase fake encoder bitrate.
R=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/6109005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5316 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-18 09:45:45 +00:00
mflodman@webrtc.org
1fa41be66a
Speeding up CallTest.ReceivesAndRetransmitsNack and removed the random packet loss.
...
R=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/6119004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5315 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-18 09:44:53 +00:00
pbos@webrtc.org
eb7b7bce3d
Modify video_render/ to allow a single old frame.
...
This stabilizes tests as a single frame reaches end-to-end, as well as
allowing slow or heavily-loaded systems to see any video updates even if
the frame takes more than 500ms in the pipeline.
R=mflodman@webrtc.org , stefan@webrtc.org
BUG=2724
Review URL: https://webrtc-codereview.appspot.com/5949004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5303 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-16 18:24:37 +00:00
pbos@webrtc.org
919f87fb36
Delete capturers after destroying streams in test.
...
Since the renderers in CallTest.SendsAndReceiveStreams also stopped the
capturers they must be deleted after the VideoReceiveStream is stopped
or an use-after-free may occur.
R=mflodman@webrtc.org
BUG=
Review URL: https://webrtc-codereview.appspot.com/5969004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5300 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-16 14:55:54 +00:00
pbos@webrtc.org
5ab756703e
Revert r5294 to re-roll r5293.
...
To fix races in test each stream now owns its own encoder/decoder.
R=mflodman@webrtc.org
BUG=
Review URL: https://webrtc-codereview.appspot.com/5919004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5297 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-16 12:24:44 +00:00
turaj@webrtc.org
41e2615e02
Revert 5293 "Auto instantiate RBE depending on whether AST or TO..."
...
> Auto instantiate RBE depending on whether AST or TOF is available in incoming packet stream.
>
> BUG=
> R=mflodman@webrtc.org , stefan@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/5409004
TBR=solenberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5889004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5294 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-15 18:42:32 +00:00
solenberg@webrtc.org
341e91441a
Auto instantiate RBE depending on whether AST or TOF is available in incoming packet stream.
...
BUG=
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5409004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5293 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-13 23:57:54 +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
1d096901ac
Move realtime tests to webrtc_perf_tests.
...
New binary not to be run on our VMs as they result in flaky tests. These
will instead be run on baremetal machines.
BUG=2710
R=kjellander@webrtc.org , mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5679004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5283 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-13 12:48:05 +00:00
pbos@webrtc.org
724947b8ef
Add SwapFrame() to VideoSendStreamInput.
...
Optionally prevents doing a frame copy when putting frames into a
VideoSendStream. PutFrame() is still there, which copies the frame.
Also removes time_since_capture_ms as a parameter, since
I420VideoFrame::render_time_ms() denotes when the frame was captured.
BUG=2657
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5119004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5265 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-11 16:26:16 +00:00
pbos@webrtc.org
0f3d0bb601
Stop video capturers in multi-stream test.
...
Expected to reduce runtime and flakiness in
CallTest.SendsAndReceivesMultipleStreams on linux_memcheck which is
presumed to be due to contention between the threads.
BUG=
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5249004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5238 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-06 15:48:17 +00:00
pbos@webrtc.org
5cea89f3e1
Remove CallTest dependency on voice_engine/test/.
...
Loading file out of resources/ instead of data/ which is deprecated.
BUG=
R=holmer@google.com , mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5069004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5226 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-05 14:24:17 +00:00
pbos@webrtc.org
c49d5b7df8
Move implementation files out of the webrtc/ root.
...
Leaves the root for public headers. Also fixes the issue of requiring
root OWNERS approval for changes in the Call implementation and adding
end-to-end tests.
BUG=
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5049005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5223 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-05 12:11:47 +00:00