Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(122)

Issue 2886993005: Introduce RtpStreamReceiver and RtpStreamReceiverControllerInterface. (Closed)

Created:
3 years, 7 months ago by nisse-webrtc
Modified:
3 years, 6 months ago
CC:
webrtc-reviews_webrtc.org, video-team_agora.io, yujie_mao (webrtc), zhengzhonghou_agora.io, stefan-webrtc, tlegrand-webrtc, tterriberry_mozilla.com, the sun, mflodman, elad.alon_webrtc.org
Target Ref:
refs/heads/master
Project:
webrtc
Visibility:
Public.

Description

Introduce RtpStreamReceiverInterface and RtpStreamReceiverControllerInterface. And implementation class RtpStreamReceiverController. It's responsible for demuxing, and acts as factory for RtpStreamReceiverInterface. BUG=webrtc:7135 Review-Url: https://codereview.webrtc.org/2886993005 Cr-Commit-Position: refs/heads/master@{#18696} Committed: https://chromium.googlesource.com/external/webrtc/+/0f15f926e3468f9d0d8f09da6f3760cbd22da219

Patch Set 1 #

Total comments: 24

Patch Set 2 : Make RtpTransportControllerReceive thread-safe. #

Patch Set 3 : Remove incorrect DCHECK. #

Patch Set 4 : Fix FlexFEC. #

Total comments: 8

Patch Set 5 : Additional comment. #

Patch Set 6 : Rebased. #

Patch Set 7 : Reenable FlexfecReceiveStreamTest. #

Total comments: 1

Patch Set 8 : Rename RtpTransportReceiver -> SsrcReceiver. #

Patch Set 9 : Rebased. #

Patch Set 10 : Rename again, to RtpStreamReceiver. #

Total comments: 10

Patch Set 11 : Typo fixes. #

Patch Set 12 : Update VideoReceiveStreamTest. #

Patch Set 13 : Add dependency on call:rtp_receiver. #

Patch Set 14 : Update AudioReceiveStreamTest. #

Patch Set 15 : Don't pass on packets if the ssrc isn't found in receive_rtp_config_. #

Total comments: 6

Patch Set 16 : Address comments. #

Total comments: 1

Patch Set 17 : Return DELIVERY_UNKNOWN_SSRC, not DELIVERY_PACKET_ERROR, when receive_rtp_config_ lookup fails. #

Total comments: 24

Patch Set 18 : Address nits. Make ChannelProxy, rather than AudioReceiveStream, implement RtpPacketSinkInterface. #

Patch Set 19 : Delete empty line. #

Patch Set 20 : Add thread checkers to RtpStreamReceiverController. #

Patch Set 21 : Fix comment style. #

Patch Set 22 : Rebased. #

Patch Set 23 : Delete thread checkers, they'll not work with all applications. #

Patch Set 24 : Protect construction of FlexfecReceiveStreamImpl. #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+331 lines, -73 lines) Patch
M webrtc/audio/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/audio/audio_receive_stream.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 4 chunks +12 lines, -5 lines 0 comments Download
M webrtc/audio/audio_receive_stream.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 3 chunks +8 lines, -2 lines 0 comments Download
M webrtc/audio/audio_receive_stream_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 10 chunks +12 lines, -0 lines 0 comments Download
M webrtc/call/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +3 lines, -0 lines 0 comments Download
M webrtc/call/call.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 11 chunks +42 lines, -34 lines 0 comments Download
M webrtc/call/flexfec_receive_stream_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +10 lines, -4 lines 0 comments Download
M webrtc/call/flexfec_receive_stream_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 3 chunks +18 lines, -0 lines 1 comment Download
M webrtc/call/flexfec_receive_stream_unittest.cc View 1 2 3 4 5 6 7 8 9 4 chunks +6 lines, -3 lines 0 comments Download
A webrtc/call/rtp_stream_receiver_controller.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +72 lines, -0 lines 0 comments Download
A webrtc/call/rtp_stream_receiver_controller.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +58 lines, -0 lines 0 comments Download
A webrtc/call/rtp_stream_receiver_controller_interface.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +47 lines, -0 lines 0 comments Download
M webrtc/video/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/video/rtp_video_stream_receiver.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 3 chunks +4 lines, -2 lines 0 comments Download
M webrtc/video/video_receive_stream.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 4 chunks +8 lines, -6 lines 0 comments Download
M webrtc/video/video_receive_stream.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 4 chunks +16 lines, -9 lines 0 comments Download
M webrtc/video/video_receive_stream_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 5 chunks +8 lines, -6 lines 0 comments Download
M webrtc/voice_engine/channel_proxy.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 3 chunks +5 lines, -2 lines 0 comments Download

Messages

Total messages: 67 (24 generated)
nisse-webrtc
This is work-in-progress, superseding https://codereview.webrtc.org/2709723003/ The new class owns the demuxer, and is passed to ...
3 years, 7 months ago (2017-05-17 14:30:46 UTC) #2
pthatcher1
On 2017/05/17 14:30:46, nisse-webrtc wrote: > This is work-in-progress, superseding https://codereview.webrtc.org/2709723003/ > > The new ...
3 years, 7 months ago (2017-05-17 23:24:33 UTC) #3
pthatcher1
https://codereview.webrtc.org/2886993005/diff/1/webrtc/audio/audio_receive_stream.cc File webrtc/audio/audio_receive_stream.cc (right): https://codereview.webrtc.org/2886993005/diff/1/webrtc/audio/audio_receive_stream.cc#newcode114 webrtc/audio/audio_receive_stream.cc:114: transport->CreateReceiver(config_.rtp.remote_ssrc, this); So CreateReceiver really means "add sink with ...
3 years, 7 months ago (2017-05-17 23:24:53 UTC) #4
nisse-webrtc
https://codereview.webrtc.org/2886993005/diff/1/webrtc/audio/audio_receive_stream.cc File webrtc/audio/audio_receive_stream.cc (right): https://codereview.webrtc.org/2886993005/diff/1/webrtc/audio/audio_receive_stream.cc#newcode114 webrtc/audio/audio_receive_stream.cc:114: transport->CreateReceiver(config_.rtp.remote_ssrc, this); On 2017/05/17 23:24:53, pthatcher1 wrote: > So ...
3 years, 7 months ago (2017-05-18 08:45:43 UTC) #5
danilchap
https://codereview.webrtc.org/2886993005/diff/1/webrtc/call/call.cc File webrtc/call/call.cc (right): https://codereview.webrtc.org/2886993005/diff/1/webrtc/call/call.cc#newcode1217 webrtc/call/call.cc:1217: video_transport_receive_.OnRtpPacket(*parsed_packet); using ReceiverController feels preliminary: it should be able ...
3 years, 7 months ago (2017-05-19 15:37:43 UTC) #6
nisse-webrtc
Comments only, no code updates yet. https://codereview.webrtc.org/2886993005/diff/1/webrtc/call/call.cc File webrtc/call/call.cc (right): https://codereview.webrtc.org/2886993005/diff/1/webrtc/call/call.cc#newcode1217 webrtc/call/call.cc:1217: video_transport_receive_.OnRtpPacket(*parsed_packet); On 2017/05/19 ...
3 years, 7 months ago (2017-05-22 07:09:37 UTC) #7
nisse-webrtc
New patchset, with a lock in RtpTransportControllerReceive. Also #if:ed out the unittests which aren't yet ...
3 years, 7 months ago (2017-05-22 12:41:13 UTC) #8
danilchap
https://codereview.webrtc.org/2886993005/diff/60001/webrtc/call/rtp_transport_controller_receive.h File webrtc/call/rtp_transport_controller_receive.h (right): https://codereview.webrtc.org/2886993005/diff/60001/webrtc/call/rtp_transport_controller_receive.h#newcode26 webrtc/call/rtp_transport_controller_receive.h:26: // This class represents the RTP receive parsing and ...
3 years, 7 months ago (2017-05-23 12:53:10 UTC) #10
nisse-webrtc
Just a few quick comments, I'm about to leave for the day. https://codereview.webrtc.org/2886993005/diff/60001/webrtc/call/rtp_transport_controller_receive_interface.h File webrtc/call/rtp_transport_controller_receive_interface.h ...
3 years, 7 months ago (2017-05-23 14:33:09 UTC) #11
danilchap
https://codereview.webrtc.org/2886993005/diff/60001/webrtc/call/rtp_transport_controller_receive_interface.h File webrtc/call/rtp_transport_controller_receive_interface.h (right): https://codereview.webrtc.org/2886993005/diff/60001/webrtc/call/rtp_transport_controller_receive_interface.h#newcode33 webrtc/call/rtp_transport_controller_receive_interface.h:33: virtual void AddSink(uint32_t ssrc, RtpPacketSinkInterface* sink) = 0; On ...
3 years, 7 months ago (2017-05-23 16:02:02 UTC) #12
pthatcher1
On 2017/05/23 16:02:02, danilchap wrote: > https://codereview.webrtc.org/2886993005/diff/60001/webrtc/call/rtp_transport_controller_receive_interface.h > File webrtc/call/rtp_transport_controller_receive_interface.h (right): > > https://codereview.webrtc.org/2886993005/diff/60001/webrtc/call/rtp_transport_controller_receive_interface.h#newcode33 > ...
3 years, 7 months ago (2017-05-24 03:57:33 UTC) #14
pthatcher1
https://codereview.webrtc.org/2886993005/diff/1/webrtc/call/rtp_transport_controller_receive.cc File webrtc/call/rtp_transport_controller_receive.cc (right): https://codereview.webrtc.org/2886993005/diff/1/webrtc/call/rtp_transport_controller_receive.cc#newcode24 webrtc/call/rtp_transport_controller_receive.cc:24: demuxer_->RemoveSink(sink_); On 2017/05/18 08:45:43, nisse-webrtc wrote: > On 2017/05/17 ...
3 years, 7 months ago (2017-05-24 03:57:38 UTC) #15
nisse-webrtc
On 2017/05/24 03:57:38, pthatcher1 wrote: > A controller is a thing that creates, owns, and ...
3 years, 6 months ago (2017-05-29 11:18:35 UTC) #16
nisse-webrtc
https://codereview.webrtc.org/2886993005/diff/60001/webrtc/call/rtp_transport_controller_receive_interface.h File webrtc/call/rtp_transport_controller_receive_interface.h (right): https://codereview.webrtc.org/2886993005/diff/60001/webrtc/call/rtp_transport_controller_receive_interface.h#newcode19 webrtc/call/rtp_transport_controller_receive_interface.h:19: class RtpTransportReceiver { On 2017/05/23 12:53:09, danilchap wrote: > ...
3 years, 6 months ago (2017-05-29 13:35:50 UTC) #17
nisse-webrtc
I and danil had a little brainstorming session on naming, considering a long list of ...
3 years, 6 months ago (2017-05-30 11:59:44 UTC) #18
pthatcher
https://codereview.webrtc.org/2886993005/diff/120001/webrtc/call/rtp_transport_controller_receive_interface.h File webrtc/call/rtp_transport_controller_receive_interface.h (right): https://codereview.webrtc.org/2886993005/diff/120001/webrtc/call/rtp_transport_controller_receive_interface.h#newcode20 webrtc/call/rtp_transport_controller_receive_interface.h:20: // media-independent state needed for receiving a stream. "stream" ...
3 years, 6 months ago (2017-06-02 22:44:17 UTC) #20
nisse-webrtc
On 2017/05/30 11:59:44, nisse-webrtc wrote: > I and danil had a little brainstorming session on ...
3 years, 6 months ago (2017-06-08 12:43:03 UTC) #21
nisse-webrtc
On 2017/06/08 12:43:03, nisse-webrtc wrote: > On 2017/05/30 11:59:44, nisse-webrtc wrote: > > I and ...
3 years, 6 months ago (2017-06-08 13:16:49 UTC) #22
nisse-webrtc
On 2017/06/08 13:16:49, nisse-webrtc wrote: > On 2017/06/08 12:43:03, nisse-webrtc wrote: > > On 2017/05/30 ...
3 years, 6 months ago (2017-06-09 12:30:47 UTC) #24
nisse-webrtc
Peter, can you have another look, and tell me what you think is needed to ...
3 years, 6 months ago (2017-06-09 13:43:49 UTC) #25
danilchap
looks good to me, might be time to fix tests. https://codereview.webrtc.org/2886993005/diff/180001/webrtc/call/call.cc File webrtc/call/call.cc (right): https://codereview.webrtc.org/2886993005/diff/180001/webrtc/call/call.cc#newcode829 ...
3 years, 6 months ago (2017-06-09 13:49:32 UTC) #26
pthatcher
Overall, looks good to me. Obviously, there are all those "if 0"s to fix. https://codereview.webrtc.org/2886993005/diff/180001/webrtc/call/rtp_stream_receiver_controller_interface.h ...
3 years, 6 months ago (2017-06-10 03:12:51 UTC) #27
nisse-webrtc
New patchset is only typo fixes. https://codereview.webrtc.org/2886993005/diff/180001/webrtc/call/call.cc File webrtc/call/call.cc (right): https://codereview.webrtc.org/2886993005/diff/180001/webrtc/call/call.cc#newcode829 webrtc/call/call.cc:829: delete receive_stream_impl; On ...
3 years, 6 months ago (2017-06-13 10:56:07 UTC) #28
nisse-webrtc
On 2017/06/13 10:56:07, nisse-webrtc wrote: > 3. Or treat registration in receive_rtp_config_ as essential, and ...
3 years, 6 months ago (2017-06-13 14:04:38 UTC) #29
danilchap
lgtm https://codereview.webrtc.org/2886993005/diff/280001/webrtc/call/flexfec_receive_stream_impl.cc File webrtc/call/flexfec_receive_stream_impl.cc (right): https://codereview.webrtc.org/2886993005/diff/280001/webrtc/call/flexfec_receive_stream_impl.cc#newcode148 webrtc/call/flexfec_receive_stream_impl.cc:148: // TODO(nisse): Register receiver_, and delete below OnRtpPacket ...
3 years, 6 months ago (2017-06-13 15:58:32 UTC) #30
pthatcher1
https://codereview.webrtc.org/2886993005/diff/180001/webrtc/call/rtp_stream_receiver_controller_interface.h File webrtc/call/rtp_stream_receiver_controller_interface.h (right): https://codereview.webrtc.org/2886993005/diff/180001/webrtc/call/rtp_stream_receiver_controller_interface.h#newcode27 webrtc/call/rtp_stream_receiver_controller_interface.h:27: class RtpStreamReceiver { On 2017/06/13 10:56:07, nisse-webrtc wrote: > ...
3 years, 6 months ago (2017-06-13 21:49:16 UTC) #31
nisse-webrtc
https://codereview.webrtc.org/2886993005/diff/180001/webrtc/call/rtp_stream_receiver_controller_interface.h File webrtc/call/rtp_stream_receiver_controller_interface.h (right): https://codereview.webrtc.org/2886993005/diff/180001/webrtc/call/rtp_stream_receiver_controller_interface.h#newcode27 webrtc/call/rtp_stream_receiver_controller_interface.h:27: class RtpStreamReceiver { On 2017/06/13 21:49:16, pthatcher1 wrote: > ...
3 years, 6 months ago (2017-06-14 06:31:06 UTC) #32
nisse-webrtc
https://codereview.webrtc.org/2886993005/diff/300001/webrtc/call/call.cc File webrtc/call/call.cc (right): https://codereview.webrtc.org/2886993005/diff/300001/webrtc/call/call.cc#newcode499 webrtc/call/call.cc:499: return rtc::Optional<RtpPacketReceived>(); It seems this change breaks ortc tests, ...
3 years, 6 months ago (2017-06-14 08:16:27 UTC) #37
nisse-webrtc
https://codereview.webrtc.org/2886993005/diff/300001/webrtc/call/call.cc File webrtc/call/call.cc (right): https://codereview.webrtc.org/2886993005/diff/300001/webrtc/call/call.cc#newcode499 webrtc/call/call.cc:499: return rtc::Optional<RtpPacketReceived>(); It seems this change breaks ortc tests, ...
3 years, 6 months ago (2017-06-14 08:16:28 UTC) #38
pthatcher
lgtm
3 years, 6 months ago (2017-06-16 01:56:33 UTC) #39
nisse-webrtc
Adding OWNERs, solenberg for audio/, stefan for video/ and call/.
3 years, 6 months ago (2017-06-16 07:09:21 UTC) #42
holmer
lgtm for video and call
3 years, 6 months ago (2017-06-16 07:41:43 UTC) #44
the sun
https://codereview.webrtc.org/2886993005/diff/320001/webrtc/audio/audio_receive_stream.cc File webrtc/audio/audio_receive_stream.cc (right): https://codereview.webrtc.org/2886993005/diff/320001/webrtc/audio/audio_receive_stream.cc#newcode113 webrtc/audio/audio_receive_stream.cc:113: rtp_stream_receiver_ = Exposing the controller to the stream so ...
3 years, 6 months ago (2017-06-16 13:37:40 UTC) #45
nisse-webrtc
https://codereview.webrtc.org/2886993005/diff/320001/webrtc/audio/audio_receive_stream.cc File webrtc/audio/audio_receive_stream.cc (right): https://codereview.webrtc.org/2886993005/diff/320001/webrtc/audio/audio_receive_stream.cc#newcode113 webrtc/audio/audio_receive_stream.cc:113: rtp_stream_receiver_ = On 2017/06/16 13:37:39, the sun wrote: > ...
3 years, 6 months ago (2017-06-16 14:33:26 UTC) #46
the sun
lgtm https://codereview.webrtc.org/2886993005/diff/320001/webrtc/audio/audio_receive_stream.cc File webrtc/audio/audio_receive_stream.cc (right): https://codereview.webrtc.org/2886993005/diff/320001/webrtc/audio/audio_receive_stream.cc#newcode113 webrtc/audio/audio_receive_stream.cc:113: rtp_stream_receiver_ = On 2017/06/16 14:33:25, nisse-webrtc wrote: > ...
3 years, 6 months ago (2017-06-16 15:00:13 UTC) #47
nisse-webrtc
https://codereview.webrtc.org/2886993005/diff/320001/webrtc/audio/audio_receive_stream.cc File webrtc/audio/audio_receive_stream.cc (right): https://codereview.webrtc.org/2886993005/diff/320001/webrtc/audio/audio_receive_stream.cc#newcode113 webrtc/audio/audio_receive_stream.cc:113: rtp_stream_receiver_ = On 2017/06/16 15:00:13, the sun wrote: > ...
3 years, 6 months ago (2017-06-19 07:21:01 UTC) #48
the sun
https://codereview.webrtc.org/2886993005/diff/320001/webrtc/audio/audio_receive_stream.cc File webrtc/audio/audio_receive_stream.cc (right): https://codereview.webrtc.org/2886993005/diff/320001/webrtc/audio/audio_receive_stream.cc#newcode113 webrtc/audio/audio_receive_stream.cc:113: rtp_stream_receiver_ = On 2017/06/19 07:21:01, nisse-webrtc wrote: > On ...
3 years, 6 months ago (2017-06-20 07:11:36 UTC) #49
nisse-webrtc
On 2017/06/20 07:11:36, the sun wrote: > https://codereview.webrtc.org/2886993005/diff/320001/webrtc/audio/audio_receive_stream.cc > File webrtc/audio/audio_receive_stream.cc (right): > > https://codereview.webrtc.org/2886993005/diff/320001/webrtc/audio/audio_receive_stream.cc#newcode113 ...
3 years, 6 months ago (2017-06-20 09:03:13 UTC) #50
nisse-webrtc
https://codereview.webrtc.org/2886993005/diff/320001/webrtc/call/rtp_stream_receiver_controller.cc File webrtc/call/rtp_stream_receiver_controller.cc (right): https://codereview.webrtc.org/2886993005/diff/320001/webrtc/call/rtp_stream_receiver_controller.cc#newcode38 webrtc/call/rtp_stream_receiver_controller.cc:38: bool RtpStreamReceiverController::OnRtpPacket(const RtpPacketReceived& packet) { On 2017/06/16 15:00:13, the ...
3 years, 6 months ago (2017-06-20 09:04:35 UTC) #51
nisse-webrtc
Final(?) fix. I'd like Fredrik or Stefan to have a look at change in ps#24, ...
3 years, 6 months ago (2017-06-20 13:35:35 UTC) #58
stefan-webrtc
lgtm
3 years, 6 months ago (2017-06-21 07:42:56 UTC) #61
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2886993005/460001
3 years, 6 months ago (2017-06-21 08:02:17 UTC) #64
commit-bot: I haz the power
3 years, 6 months ago (2017-06-21 08:05:31 UTC) #67
Message was sent while issue was closed.
Committed patchset #24 (id:460001) as
https://chromium.googlesource.com/external/webrtc/+/0f15f926e3468f9d0d8f09da6...

Powered by Google App Engine
This is Rietveld 408576698