915 Commits

Author SHA1 Message Date
philipel
83c97da593 Only append SPS/PPS to bitstream if supplied out of band.
BUG=chromium:721597

Review-Url: https://codereview.webrtc.org/2945853002
Cr-Commit-Position: refs/heads/master@{#18701}
2017-06-21 14:22:40 +00:00
ilnik
2b3e061443 Hotfix for psnr regresion with fec tests caused by timing frames.
BUG=chromium:735001,webrtc:7594

Review-Url: https://codereview.webrtc.org/2946893002
Cr-Commit-Position: refs/heads/master@{#18681}
2017-06-20 15:52:27 +00:00
ilnik
04f4d126f8 Implement timing frames.
Timing information is gathered in EncodedImage,
starting at encoders. Then it's sent using RTP header extension. In the
end, it's gathered at the GenericDecoder. Actual reporting and tests
will be in the next CLs.

BUG=webrtc:7594

Review-Url: https://codereview.webrtc.org/2911193002
Cr-Commit-Position: refs/heads/master@{#18659}
2017-06-19 14:18:55 +00:00
eladalon
8fa21c49ef Style fixes in rtcp_packet/
1. To make the files conform to chromium-style guidelines, and stop the compiler from complaing:
1.1. Move constructors out of .h file.
1.2. Move destructors out of .h file.
1.3. Move virtual functions out of .h file.
2. BlockLength() and Create() did not have consistent access modifiers in the various subclasses of RtcpPacket. Change the access level to public throughout.
3. Reorder BlockLength() and Create() where necessary, to reflect the order defined in the parent class (RtcpPacket).

BUG=None

Review-Url: https://codereview.webrtc.org/2937403002
Cr-Commit-Position: refs/heads/master@{#18633}
2017-06-16 14:07:47 +00:00
Danil Chapovalov
f3ba6484e3 Change rtp header extension AbsoluteSendTime::Write to take time in 24bit format
making it symmetric to AbsoluteSendTime::Parse function.

Bug: None
Change-Id: I9c71d840768064022ebebbbeb2962aeeecc68392
Reviewed-on: https://chromium-review.googlesource.com/531044
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18555}
2017-06-13 09:08:14 +00:00
kwiberg
0703856b53 Add SafeClamp(), which accepts args of different types
Specifically, just like SafeMin() and SafeMax() it handles all
combinations of integer and all
combinations of floating-point arguments by picking a
result type that is guaranteed to be able to hold the result.

This CL also replaces a bunch of std::min + std:max call pairs with
calls to SafeClamp()---the ones that could easily be found by grep
because "min" and "max" were on the same line. :-)

BUG=webrtc:7459

Review-Url: https://codereview.webrtc.org/2808513003
Cr-Commit-Position: refs/heads/master@{#18542}
2017-06-12 18:40:47 +00:00
Danil Chapovalov
84b4d2c1c2 Use rtp_header_extension_map.h instead of rtp_header_extension.h
Finish renaming started in the https://chromium-review.googlesource.com/c/520947/

Bug: webrtc:5565
Change-Id: If420e05165ef7c110b7d38f53dbe73c21a4059bc
Reviewed-on: https://chromium-review.googlesource.com/528095
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18538}
2017-06-12 14:01:20 +00:00
nisse
b1f2ff900e Rename class RtpStreamReceiver --> RtpVideoStreamReceiver.
This class is video-specific, and we want to free the name
"RtpStreamReceiver" so it can be reused for a media-independent RTP
receive class.

Also renames related files.

BUG=webrtc:7135

Review-Url: https://codereview.webrtc.org/2926253002
Cr-Commit-Position: refs/heads/master@{#18510}
2017-06-09 11:01:55 +00:00
brandtr
92732ecc5c Revert of Only compare sequence numbers from the same SSRC in ForwardErrorCorrection. (patchset #5 id:120001 of https://codereview.webrtc.org/2893293003/ )
Reason for revert:
Breaks fuzzer.

Original issue's description:
> Only compare sequence numbers from the same SSRC in ForwardErrorCorrection.
>
> Prior to this CL, the ForwardErrorCorrection state would be reset whenever
> the difference in sequence numbers of the last recovered media packet
> and the new packet (media or FEC) was too large. This comparison did not
> take into account that FlexFEC uses a different SSRC for the FEC packets,
> meaning that the the state would be reset very frequently when FlexFEC
> is used. This should not have led to any major problems, except for a
> decreased decoding efficiency.
>
> This CL verifies that whenever we compare sequence numbers in
> ForwardErrorCorrection, they do indeed belong to the same SSRC.
>
> BUG=webrtc:5654
>
> Review-Url: https://codereview.webrtc.org/2893293003
> Cr-Commit-Position: refs/heads/master@{#18399}
> Committed: 1476a9d789

TBR=stefan@webrtc.org,holmer@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2919313005
Cr-Commit-Position: refs/heads/master@{#18446}
2017-06-05 14:25:01 +00:00
ilnik
ed9b9ff597 Revert of Protect new header extension by field trial experiment to allow hardcoding it in SDP (patchset #3 id:40001 of https://codereview.webrtc.org/2922683002/ )
Reason for revert:
Breaks tests in downstream projects.

Original issue's description:
> Protect new header extension by field trial experiment to allow hardcoding it in SDP
>
> BUG=chrome:718738
>
> Review-Url: https://codereview.webrtc.org/2922683002
> Cr-Commit-Position: refs/heads/master@{#18409}
> Committed: cafa1d6bbe

TBR=sprang@webrtc.org,asapersson@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chrome:718738

Review-Url: https://codereview.webrtc.org/2922723002
Cr-Commit-Position: refs/heads/master@{#18414}
2017-06-02 14:30:20 +00:00
ilnik
cafa1d6bbe Protect new header extension by field trial experiment to allow hardcoding it in SDP
BUG=chrome:718738

Review-Url: https://codereview.webrtc.org/2922683002
Cr-Commit-Position: refs/heads/master@{#18409}
2017-06-02 12:49:39 +00:00
Danil Chapovalov
07633bdc6c Rename rtp_header_extension.h to rtp_header_extension_map.h
Move it to include path of the rtp_rtcp module to indicate it is ok to include it outside of the module.

Renamed to match the class it introduce and to reduce confusion with rtp_header_extensions.h

Bug: webrtc:5565
Change-Id: Ic4b4e9f6b75cb9275e23539cd6e88632c1e7c8d2
Reviewed-on: https://chromium-review.googlesource.com/520947
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18402}
2017-06-02 09:11:27 +00:00
brandtr
1476a9d789 Only compare sequence numbers from the same SSRC in ForwardErrorCorrection.
Prior to this CL, the ForwardErrorCorrection state would be reset whenever
the difference in sequence numbers of the last recovered media packet
and the new packet (media or FEC) was too large. This comparison did not
take into account that FlexFEC uses a different SSRC for the FEC packets,
meaning that the the state would be reset very frequently when FlexFEC
is used. This should not have led to any major problems, except for a
decreased decoding efficiency.

This CL verifies that whenever we compare sequence numbers in
ForwardErrorCorrection, they do indeed belong to the same SSRC.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2893293003
Cr-Commit-Position: refs/heads/master@{#18399}
2017-06-02 07:58:11 +00:00
nisse
7fcdb6d7ca Delete class NullRtpData and function NullObjectRtpData.
BUG=webrtc:5565

Review-Url: https://codereview.webrtc.org/2885823002
Cr-Commit-Position: refs/heads/master@{#18366}
2017-06-01 07:30:55 +00:00
nisse
76e62b0d38 Address some violations of chromium-style.
BUG=webrtc:163

Review-Url: https://codereview.webrtc.org/2913793002
Cr-Commit-Position: refs/heads/master@{#18345}
2017-05-31 09:24:52 +00:00
nisse
6412e4c85f Drop the rtp_rtcp module's dependency on call.
Also deletes a couple of includes of call.h, which seem
unnecessary.

BUG=None

Review-Url: https://codereview.webrtc.org/2907403003
Cr-Commit-Position: refs/heads/master@{#18340}
2017-05-31 06:38:14 +00:00
perkj
77cd58e140 This cl removes RtcEventLog deps to call:call_interfaces. The purpose is to be able to use the event log from the upcoming RtpTransport.
Biggest change is to Remove MediaType as argument to RtcEventLog::LogRtpHeader and RtcEventLog::LogRtcpHeader.
Since the type is used by tools, these tools are rewritten to figure out the media type from the configurations instead.

BUG=webrtc:7538
TBR=solenberg@webrtc.org // For call.cc and voiceengine.cc

Review-Url: https://codereview.webrtc.org/2855143002
Cr-Commit-Position: refs/heads/master@{#18324}
2017-05-30 10:52:10 +00:00
brandtr
48d21a23c6 Persist RTP state for FlexFEC.
Before this CL, the RTP state would be re-randomized after a
recreation of VideoSendStream. That might lead to us sending
a non-compliant RTP stream, which is avoided after the
changes in this CL.

BUG=webrtc:5654
TBR=pbos@webrtc.org  # Trivial change to fuzzer.

Review-Url: https://codereview.webrtc.org/2912713002
Cr-Commit-Position: refs/heads/master@{#18322}
2017-05-30 09:32:12 +00:00
brandtr
53800ed191 Remove RTPSenderVideo::FecPacketOverhead() since it is unused.
BUG=None

Review-Url: https://codereview.webrtc.org/2914493002
Cr-Commit-Position: refs/heads/master@{#18315}
2017-05-30 06:34:37 +00:00
nisse
30e8931ea7 Delete RtpData::OnRecoveredPacket, use RecoveredPacketReceiver instead.
BUG=webrtc:7135

Review-Url: https://codereview.webrtc.org/2886813002
Cr-Commit-Position: refs/heads/master@{#18305}
2017-05-29 15:16:37 +00:00
eladalon
ae550e397a Correct sequence-number injection into packets in rtp_packet_unittest.cc
BUG=None

Review-Url: https://codereview.webrtc.org/2899293002
Cr-Commit-Position: refs/heads/master@{#18257}
2017-05-24 15:28:13 +00:00
ilnik
7a3006bae7 Fix packetization logic to leave space for extensions in the last packet
Change packetizer interface to explicitly return number of packets
instead of a last flag. Account for extra space needed in the last
packet.

BUG=webrtc:7588,webrtc:7594

Review-Url: https://codereview.webrtc.org/2871173008
Cr-Commit-Position: refs/heads/master@{#18244}
2017-05-23 16:34:21 +00:00
brandtr
f27c5b8d6e Add FlexfecReceiver unit test for infinite recovery loop.
This CL adds unit tests to the FlexfecReceiver, verifying that the
infinite recovery loop described in
https://codereview.webrtc.org/2867943003/ is tested for.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2895083002
Cr-Commit-Position: refs/heads/master@{#18240}
2017-05-23 15:38:43 +00:00
sergeyu
b2c001a795 Update Packet::GetHeader() to copy playout_delay
Packet::GetHeader() wasn't copying playout_delay. As result
playout_delay was ignored when flexfec is enabled.

Patch by Rob McCool <rmccool@google.com>

BUG=webrtc:7590

Review-Url: https://codereview.webrtc.org/2899553003
Cr-Commit-Position: refs/heads/master@{#18218}
2017-05-20 21:16:52 +00:00
erikvarga
76a5593835 Don't add FEC and RTX overheads when calculating a padding packet's maximum payload size.
BUG=webrtc:7433

Review-Url: https://codereview.webrtc.org/2892583002
Cr-Commit-Position: refs/heads/master@{#18184}
2017-05-17 14:50:17 +00:00
erikvarga
2788373528 Remove hardcoded kValueSizeBytes values from variable-length header extensions.
Since the RtpStreamId and RepairedRtpStreamId extensions can have variable
length, it makes no sense for them to have a constant valueSize field.
The header length calculation in RtpHeaderExtensionMap needed to be changed
for this because it previously worked with the assumption that all header
types have a constant size. Now it's the caller's job to specify the length
of the extensions that it might use.

BUG=webrtc:7433

Review-Url: https://codereview.webrtc.org/2867713003
Cr-Commit-Position: refs/heads/master@{#18179}
2017-05-17 12:08:38 +00:00
nisse
e4bcd6d02a New class RtpDemuxer and RtpPacketSinkInterface, use in Call.
BUG=webrtc:7135

Review-Url: https://codereview.webrtc.org/2867943003
Cr-Commit-Position: refs/heads/master@{#18160}
2017-05-16 11:47:04 +00:00
nisse
d2ef314292 Make Call::OnRecoveredPacket parse RTP header and call OnRtpPacket.
To make the distinction for stats, add a |recovered| flag to
RtpPacketReceived.

BUG=webrtc:7135

Review-Url: https://codereview.webrtc.org/2693123002
Cr-Commit-Position: refs/heads/master@{#18103}
2017-05-11 15:00:58 +00:00
erikvarga
e6b16194c7 Add write support for the RtpStreamId and RepairedRtpStreamId header extensions.
BUG=webrtc:7433

Review-Url: https://codereview.webrtc.org/2871813003
Cr-Commit-Position: refs/heads/master@{#18093}
2017-05-11 09:36:32 +00:00
henrik.lundin
b8c55b15a3 Handle padded audio packets correctly
RTP packets can be padded with extra data at the end of the payload. The usable
payload length of the packet should then be reduced with the padding length,
since the padding must be discarded. This was not the case; instead, the entire
payload, including padding data, was forwarded to the audio channel and in the
end to the decoder.

A special case of padding is packets which are empty except for the padding.
That is, they carry no usable payload. These packets are sometimes used for
probing the network and were discarded in
RTPReceiverAudio::ParseAudioCodecSpecific. The result is that NetEq never sees
those empty packets, just the holes in the sequence number series; this can
throw off the target buffer calculations.

With this change, the empty (after removing the padding) packets are let through,
all the way down to NetEq, to a new method called NetEq::InsertEmptyPacket. This
method notifies the DelayManager that an empty packet was received.

BUG=webrtc:7610, webrtc:7625

Review-Url: https://codereview.webrtc.org/2870043003
Cr-Commit-Position: refs/heads/master@{#18083}
2017-05-10 14:38:01 +00:00
danilchap
c1b693c7a8 Remove rtcp::TransportFeedback::GetStatusVector/GetReceiveDeltas
in favor of GetPacketStatusCount/GetReceivedPackets

BUG=webrtc:5565

Review-Url: https://codereview.webrtc.org/2822153002
Cr-Commit-Position: refs/heads/master@{#17792}
2017-04-20 15:23:41 +00:00
danilchap
ef8d773d26 Add read support of RtpStreamId/RepairedRtpStreamId header extensions.
BUG=webrtc:7433

Review-Url: https://codereview.webrtc.org/2805023002
Cr-Commit-Position: refs/heads/master@{#17759}
2017-04-19 09:59:48 +00:00
danilchap
ba6aa90c04 Ensure SetREMBStatus(false) disables sending REMB
support CL for upcoming https://codereview.webrtc.org/2789843002/

BUG=webrtc:7135

Review-Url: https://codereview.webrtc.org/2813693003
Cr-Commit-Position: refs/heads/master@{#17741}
2017-04-18 13:57:02 +00:00
zhihuang
0426222f4c Modified the rtp_receiver_unittests.
Implemented operator == in RtpSource and use the gmock EXPECT_THAT to make the test cleaner.

Related CL: https://codereview.webrtc.org/2770233003/

BUG=chromium:703122

Review-Url: https://codereview.webrtc.org/2813753002
Cr-Commit-Position: refs/heads/master@{#17659}
2017-04-11 18:28:10 +00:00
ilnik
00d802b6ee Reland of Add content type information to encoded images and corresponding rtp extension header (patchset #1 id:1 of https://codereview.webrtc.org/2809653004/ )
Reason for revert:
Fix failing bots.

BUG=webrtc:7420

Review-Url: https://codereview.webrtc.org/2816493002
Cr-Commit-Position: refs/heads/master@{#17658}
2017-04-11 17:34:31 +00:00
ilnik
27c46e2872 Revert of Add content type information to encoded images and corresponding rtp extension header (patchset #4 id:400001 of https://codereview.webrtc.org/2812913002/ )
Reason for revert:
Breaks android buildbots.

Original issue's description:
> Reland of Add content type information to encoded images and corresponding rtp extension header (patchset #1 id:1 of https://codereview.webrtc.org/2816463002/ )
>
> Reason for revert:
> Reland with appropriate changes to API to not break depending projects.
>
> Original issue's description:
> > Revert of Add content type information to encoded images and corresponding rtp extension header (patchset #31 id:600001 of https://codereview.webrtc.org/2772033002/ )
> >
> > Reason for revert:
> > Breaks dependent projects.
> >
> > Original issue's description:
> > > Add content type information to Encoded Images and add corresponding RTP extension header.
> > > Use it to separate UMA e2e delay metric between screenshare from video.
> > > Content type extension is set based on encoder settings and processed and decoders.
> > >
> > > Also,
> > > Fix full-stack-tests to calculate RTT correctly, so new metric could be tested.
> > >
> > > BUG=webrtc:7420
> > >
> > > Review-Url: https://codereview.webrtc.org/2772033002
> > > Cr-Commit-Position: refs/heads/master@{#17640}
> > > Committed: 64e739aeae
> >
> > TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:7420
> >
> > Review-Url: https://codereview.webrtc.org/2816463002
> > Cr-Commit-Position: refs/heads/master@{#17644}
> > Committed: 5721866808
>
> TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7420
>
> Review-Url: https://codereview.webrtc.org/2812913002
> Cr-Commit-Position: refs/heads/master@{#17651}
> Committed: 774f6b4b96

TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7420

Review-Url: https://codereview.webrtc.org/2809653004
Cr-Commit-Position: refs/heads/master@{#17653}
2017-04-11 13:20:05 +00:00
ilnik
774f6b4b96 Reland of Add content type information to encoded images and corresponding rtp extension header (patchset #1 id:1 of https://codereview.webrtc.org/2816463002/ )
Reason for revert:
Reland with appropriate changes to API to not break depending projects.

Original issue's description:
> Revert of Add content type information to encoded images and corresponding rtp extension header (patchset #31 id:600001 of https://codereview.webrtc.org/2772033002/ )
>
> Reason for revert:
> Breaks dependent projects.
>
> Original issue's description:
> > Add content type information to Encoded Images and add corresponding RTP extension header.
> > Use it to separate UMA e2e delay metric between screenshare from video.
> > Content type extension is set based on encoder settings and processed and decoders.
> >
> > Also,
> > Fix full-stack-tests to calculate RTT correctly, so new metric could be tested.
> >
> > BUG=webrtc:7420
> >
> > Review-Url: https://codereview.webrtc.org/2772033002
> > Cr-Commit-Position: refs/heads/master@{#17640}
> > Committed: 64e739aeae
>
> TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7420
>
> Review-Url: https://codereview.webrtc.org/2816463002
> Cr-Commit-Position: refs/heads/master@{#17644}
> Committed: 5721866808

TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7420

Review-Url: https://codereview.webrtc.org/2812913002
Cr-Commit-Position: refs/heads/master@{#17651}
2017-04-11 13:12:37 +00:00
ilnik
29dbb1992a Revert of Add content type information to encoded images and corresponding rtp extension header (patchset #1 id:1 of https://codereview.webrtc.org/2811963002/ )
Reason for revert:
Relanded by mistake.

Original issue's description:
> Reland of Add content type information to encoded images and corresponding rtp extension header (patchset #1 id:1 of https://codereview.webrtc.org/2816463002/ )
>
> Reason for revert:
> Reland with fixes which break API
>
> Original issue's description:
> > Revert of Add content type information to encoded images and corresponding rtp extension header (patchset #31 id:600001 of https://codereview.webrtc.org/2772033002/ )
> >
> > Reason for revert:
> > Breaks dependent projects.
> >
> > Original issue's description:
> > > Add content type information to Encoded Images and add corresponding RTP extension header.
> > > Use it to separate UMA e2e delay metric between screenshare from video.
> > > Content type extension is set based on encoder settings and processed and decoders.
> > >
> > > Also,
> > > Fix full-stack-tests to calculate RTT correctly, so new metric could be tested.
> > >
> > > BUG=webrtc:7420
> > >
> > > Review-Url: https://codereview.webrtc.org/2772033002
> > > Cr-Commit-Position: refs/heads/master@{#17640}
> > > Committed: 64e739aeae
> >
> > TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:7420
> >
> > Review-Url: https://codereview.webrtc.org/2816463002
> > Cr-Commit-Position: refs/heads/master@{#17644}
> > Committed: 5721866808
>
> TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7420
>
> Review-Url: https://codereview.webrtc.org/2811963002
> Cr-Commit-Position: refs/heads/master@{#17645}
> Committed: 4fa0c4f97f

TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7420

Review-Url: https://codereview.webrtc.org/2810923004
Cr-Commit-Position: refs/heads/master@{#17648}
2017-04-11 11:49:07 +00:00
ilnik
4fa0c4f97f Reland of Add content type information to encoded images and corresponding rtp extension header (patchset #1 id:1 of https://codereview.webrtc.org/2816463002/ )
Reason for revert:
Reland with fixes which break API

Original issue's description:
> Revert of Add content type information to encoded images and corresponding rtp extension header (patchset #31 id:600001 of https://codereview.webrtc.org/2772033002/ )
>
> Reason for revert:
> Breaks dependent projects.
>
> Original issue's description:
> > Add content type information to Encoded Images and add corresponding RTP extension header.
> > Use it to separate UMA e2e delay metric between screenshare from video.
> > Content type extension is set based on encoder settings and processed and decoders.
> >
> > Also,
> > Fix full-stack-tests to calculate RTT correctly, so new metric could be tested.
> >
> > BUG=webrtc:7420
> >
> > Review-Url: https://codereview.webrtc.org/2772033002
> > Cr-Commit-Position: refs/heads/master@{#17640}
> > Committed: 64e739aeae
>
> TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7420
>
> Review-Url: https://codereview.webrtc.org/2816463002
> Cr-Commit-Position: refs/heads/master@{#17644}
> Committed: 5721866808

TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7420

Review-Url: https://codereview.webrtc.org/2811963002
Cr-Commit-Position: refs/heads/master@{#17645}
2017-04-11 11:01:43 +00:00
ilnik
5721866808 Revert of Add content type information to encoded images and corresponding rtp extension header (patchset #31 id:600001 of https://codereview.webrtc.org/2772033002/ )
Reason for revert:
Breaks dependent projects.

Original issue's description:
> Add content type information to Encoded Images and add corresponding RTP extension header.
> Use it to separate UMA e2e delay metric between screenshare from video.
> Content type extension is set based on encoder settings and processed and decoders.
>
> Also,
> Fix full-stack-tests to calculate RTT correctly, so new metric could be tested.
>
> BUG=webrtc:7420
>
> Review-Url: https://codereview.webrtc.org/2772033002
> Cr-Commit-Position: refs/heads/master@{#17640}
> Committed: 64e739aeae

TBR=tommi@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,nisse@webrtc.org,mflodman@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7420

Review-Url: https://codereview.webrtc.org/2816463002
Cr-Commit-Position: refs/heads/master@{#17644}
2017-04-11 10:59:43 +00:00
ilnik
64e739aeae Add content type information to Encoded Images and add corresponding RTP extension header.
Use it to separate UMA e2e delay metric between screenshare from video.
Content type extension is set based on encoder settings and processed and decoders.

Also,
Fix full-stack-tests to calculate RTT correctly, so new metric could be tested.

BUG=webrtc:7420

Review-Url: https://codereview.webrtc.org/2772033002
Cr-Commit-Position: refs/heads/master@{#17640}
2017-04-11 08:46:04 +00:00
hbos
8d609f6b6d Reland of Implemented the GetSources() in native code. (patchset #1 id:1 of https://codereview.webrtc.org/2809613002/ )
Reason for revert:
Re-land, reverting did not fix bug.

https://bugs.chromium.org/p/webrtc/issues/detail?id=7465

Original issue's description:
> Revert of Implemented the GetSources() in native code. (patchset #11 id:510001 of https://codereview.webrtc.org/2770233003/ )
>
> Reason for revert:
> Suspected of WebRtcApprtcBrowserTest.MANUAL_WorksOnApprtc breakage, see
>
> https://bugs.chromium.org/p/webrtc/issues/detail?id=7465
>
> Original issue's description:
> > Added the GetSources() to the RtpReceiverInterface and implemented
> > it for the AudioRtpReceiver.
> >
> > This method returns a vector of RtpSource(both CSRC source and SSRC
> > source) which contains the ID of a source, the timestamp, the source
> > type (SSRC or CSRC) and the audio level.
> >
> > The RtpSource objects are buffered and maintained by the
> > RtpReceiver in webrtc/modules/rtp_rtcp/. When the method is called,
> > the info of the contributing source will be pulled along the object
> > chain:
> > AudioRtpReceiver -> VoiceChannel -> WebRtcVoiceMediaChannel ->
> > AudioReceiveStream -> voe::Channel -> RtpRtcp module
> >
> > Spec:https://w3c.github.io/webrtc-pc/archives/20151006/webrtc.html#widl-RTCRtpReceiver-getContributingSources-sequence-RTCRtpContributingSource
> >
> > BUG=chromium:703122
> > TBR=stefan@webrtc.org, danilchap@webrtc.org
> >
> > Review-Url: https://codereview.webrtc.org/2770233003
> > Cr-Commit-Position: refs/heads/master@{#17591}
> > Committed: 292084c376
>
> TBR=deadbeef@webrtc.org,solenberg@webrtc.org,hbos@webrtc.org,philipel@webrtc.org,stefan@webrtc.org,danilchap@webrtc.org,zhihuang@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=chromium:703122
>
> Review-Url: https://codereview.webrtc.org/2809613002
> Cr-Commit-Position: refs/heads/master@{#17616}
> Committed: fbcc5cb386

TBR=deadbeef@webrtc.org,solenberg@webrtc.org,philipel@webrtc.org,stefan@webrtc.org,danilchap@webrtc.org,zhihuang@webrtc.org,olka@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:703122

Review-Url: https://codereview.webrtc.org/2810623003
Cr-Commit-Position: refs/heads/master@{#17621}
2017-04-10 14:39:05 +00:00
olka
fbcc5cb386 Revert of Implemented the GetSources() in native code. (patchset #11 id:510001 of https://codereview.webrtc.org/2770233003/ )
Reason for revert:
Suspected of WebRtcApprtcBrowserTest.MANUAL_WorksOnApprtc breakage, see

https://bugs.chromium.org/p/webrtc/issues/detail?id=7465

Original issue's description:
> Added the GetSources() to the RtpReceiverInterface and implemented
> it for the AudioRtpReceiver.
>
> This method returns a vector of RtpSource(both CSRC source and SSRC
> source) which contains the ID of a source, the timestamp, the source
> type (SSRC or CSRC) and the audio level.
>
> The RtpSource objects are buffered and maintained by the
> RtpReceiver in webrtc/modules/rtp_rtcp/. When the method is called,
> the info of the contributing source will be pulled along the object
> chain:
> AudioRtpReceiver -> VoiceChannel -> WebRtcVoiceMediaChannel ->
> AudioReceiveStream -> voe::Channel -> RtpRtcp module
>
> Spec:https://w3c.github.io/webrtc-pc/archives/20151006/webrtc.html#widl-RTCRtpReceiver-getContributingSources-sequence-RTCRtpContributingSource
>
> BUG=chromium:703122
> TBR=stefan@webrtc.org, danilchap@webrtc.org
>
> Review-Url: https://codereview.webrtc.org/2770233003
> Cr-Commit-Position: refs/heads/master@{#17591}
> Committed: 292084c376

TBR=deadbeef@webrtc.org,solenberg@webrtc.org,hbos@webrtc.org,philipel@webrtc.org,stefan@webrtc.org,danilchap@webrtc.org,zhihuang@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=chromium:703122

Review-Url: https://codereview.webrtc.org/2809613002
Cr-Commit-Position: refs/heads/master@{#17616}
2017-04-10 11:38:13 +00:00
danilchap
c547e84ec5 Allow rtp::Packet::*RawExtension to take 0 as an extension id
BUG=webrtc:7433

Review-Url: https://codereview.webrtc.org/2803623004
Cr-Commit-Position: refs/heads/master@{#17610}
2017-04-10 08:31:49 +00:00
zhihuang
292084c376 Added the GetSources() to the RtpReceiverInterface and implemented
it for the AudioRtpReceiver.

This method returns a vector of RtpSource(both CSRC source and SSRC
source) which contains the ID of a source, the timestamp, the source
type (SSRC or CSRC) and the audio level.

The RtpSource objects are buffered and maintained by the
RtpReceiver in webrtc/modules/rtp_rtcp/. When the method is called,
the info of the contributing source will be pulled along the object
chain:
AudioRtpReceiver -> VoiceChannel -> WebRtcVoiceMediaChannel ->
AudioReceiveStream -> voe::Channel -> RtpRtcp module

Spec:https://w3c.github.io/webrtc-pc/archives/20151006/webrtc.html#widl-RTCRtpReceiver-getContributingSources-sequence-RTCRtpContributingSource

BUG=chromium:703122
TBR=stefan@webrtc.org, danilchap@webrtc.org

Review-Url: https://codereview.webrtc.org/2770233003
Cr-Commit-Position: refs/heads/master@{#17591}
2017-04-07 17:57:22 +00:00
danilchap
978504e25c Move rtp header extension length check from Packet::FindExtension to ExtensionT::Parse
to allow to read variable-length extensions.

BUG=webrtc:7433

Review-Url: https://codereview.webrtc.org/2801733002
Cr-Commit-Position: refs/heads/master@{#17554}
2017-04-06 08:03:53 +00:00
danilchap
fab482b326 Simplify RTPSender::RegisterRtpHeaderExtension
DCHECK instead of run-time check extension type is correct.

BUG=webrtc:1994

Review-Url: https://codereview.webrtc.org/2795723002
Cr-Commit-Position: refs/heads/master@{#17524}
2017-04-04 09:33:48 +00:00
danilchap
653063f6fd Add functions to get/set rtp header extension by id.
This helps with dynamic size extensions.

BUG=webrtc:7433

Review-Url: https://codereview.webrtc.org/2789773004
Cr-Commit-Position: refs/heads/master@{#17505}
2017-04-03 13:16:30 +00:00
minyue
3a407eee1c Making RtpSender tests cover BWE with overhead.
BUG=webrtc:7418, webrtc:6315

Review-Url: https://codereview.webrtc.org/2783743003
Cr-Commit-Position: refs/heads/master@{#17499}
2017-04-03 08:10:33 +00:00
nisse
0ffdcc51bc Delete unneeded includes of deprecated system_wrappers include files.
Deletes left-over includes of trace.h and critical_section_wrapper.h.

BUG=webrtc:7035

Review-Url: https://codereview.webrtc.org/2784873002
Cr-Commit-Position: refs/heads/master@{#17460}
2017-03-30 07:31:15 +00:00