webrtc/modules/rtp_rtcp/source
Anton Sukhanov ff25b873bf Implements method on RtpPacket to extract extension.
Removing extension will be used in DatagramDtlsAdaptor to remove transport sequence number to avoid having both datagram and RTP feedback loops. The sequence number will be stored in temporary map and used to re-create RTCP fdeedback packed when we receive datagram ACK. It would enable integration of Datagram transport without any changes in the upper layers of RTP stack. Note that Datagram adaptor changes will be implemented in a separate changelist.

In this change:
- Implement method to remove extension by rebuilding entire packet without given extension type.
- Fails if extension is not registered or not set.
- Unit test

Bug: webrtc:9719
Change-Id: I9d3811d5d97fadde5a294d5da643b2ebc6a8196e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/145100
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Bjorn Mellem <mellem@webrtc.org>
Commit-Queue: Anton Sukhanov <sukhanov@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28530}
2019-07-10 17:35:43 +00:00
..
rtcp_packet Format almost everything. 2019-07-08 13:45:15 +00:00
byte_io.h Format almost everything. 2019-07-08 13:45:15 +00:00
byte_io_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
contributing_sources.cc Add RTP timestamp to contributing sources 2019-05-22 08:53:08 +00:00
contributing_sources.h Add RTP timestamp to contributing sources 2019-05-22 08:53:08 +00:00
contributing_sources_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
dtmf_queue.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
dtmf_queue.h Format almost everything. 2019-07-08 13:45:15 +00:00
fec_private_tables_bursty.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
fec_private_tables_bursty.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
fec_private_tables_bursty_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
fec_private_tables_random.cc
fec_private_tables_random.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
fec_test_helper.cc Delete use of WebRtcRTPHeader from FEC test code 2019-03-12 09:40:02 +00:00
fec_test_helper.h Delete use of WebRtcRTPHeader from FEC test code 2019-03-12 09:40:02 +00:00
flexfec_header_reader_writer.cc Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +00:00
flexfec_header_reader_writer.h [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
flexfec_header_reader_writer_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
flexfec_receiver.cc Allow VideoTimingExtension to be used with FEC 2019-06-27 07:38:49 +00:00
flexfec_receiver_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
flexfec_sender.cc Format almost everything. 2019-07-08 13:45:15 +00:00
flexfec_sender_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
forward_error_correction.cc Format almost everything. 2019-07-08 13:45:15 +00:00
forward_error_correction.h Format almost everything. 2019-07-08 13:45:15 +00:00
forward_error_correction_internal.cc Format almost everything. 2019-07-08 13:45:15 +00:00
forward_error_correction_internal.h [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
nack_rtx_unittest.cc Negotiation of LNTF controls instantiation of RTPSenderVideo::rtp_sequence_number_map_ 2019-05-24 13:02:06 +00:00
packet_loss_stats.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
packet_loss_stats.h Format almost everything. 2019-07-08 13:45:15 +00:00
packet_loss_stats_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
playout_delay_oracle.cc Format almost everything. 2019-07-08 13:45:15 +00:00
playout_delay_oracle.h Move ownership of RTPSenderVideo one more level up, to RtpVideoSender 2019-03-04 16:57:49 +00:00
playout_delay_oracle_unittest.cc Refactor PlayoutDelayOracle with separate update methods 2019-01-30 16:50:24 +00:00
receive_statistics_impl.cc Make ReceiveStatisticsImpl::SetMaxReorderingThreshold apply per ssrc 2019-05-27 10:53:04 +00:00
receive_statistics_impl.h Format almost everything. 2019-07-08 13:45:15 +00:00
receive_statistics_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
remote_ntp_time_estimator.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
remote_ntp_time_estimator_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtcp_nack_stats.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
rtcp_nack_stats.h Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
rtcp_nack_stats_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtcp_packet.cc Enable padding bit in TransportFeedback packets 2019-02-12 11:55:34 +00:00
rtcp_packet.h Move rtc::FunctionView to the public API 2019-03-21 15:23:05 +00:00
rtcp_packet_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtcp_receiver.cc ReportBlockData and observer added, for stats collection in future CLs. 2019-05-16 12:12:07 +00:00
rtcp_receiver.h ReportBlockData and observer added, for stats collection in future CLs. 2019-05-16 12:12:07 +00:00
rtcp_receiver_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtcp_sender.cc Reland "Add ability to set RTCP sender ssrc at construction time" 2019-07-09 20:20:41 +00:00
rtcp_sender.h Reland "Add ability to set RTCP sender ssrc at construction time" 2019-07-09 20:20:41 +00:00
rtcp_sender_unittest.cc Reland "Add ability to set RTCP sender ssrc at construction time" 2019-07-09 20:20:41 +00:00
rtcp_transceiver.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtcp_transceiver.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
rtcp_transceiver_config.cc
rtcp_transceiver_config.h in RtcpTransceiver remove workaround for old bug in RtcpReceiver 2018-11-19 10:13:02 +00:00
rtcp_transceiver_impl.cc Use Abseil container algorithms in modules/rtp_rtcp/ 2019-03-29 16:47:33 +00:00
rtcp_transceiver_impl.h Stop using rtc::TaskQueue::Current in RtcpTransceiver 2019-03-07 10:51:54 +00:00
rtcp_transceiver_impl_unittest.cc Removes TimeMicros interface from ThreadProcessingFakeClock. 2019-04-17 15:37:48 +00:00
rtcp_transceiver_unittest.cc Avoid using global task queue factory in RtcpTransciever tests 2019-03-20 15:20:20 +00:00
rtp_dependency_descriptor_extension.cc Add trait to Build/Parse DependencyDescriptor rtp header extension 2019-06-28 14:21:21 +00:00
rtp_dependency_descriptor_extension.h Add trait to Build/Parse DependencyDescriptor rtp header extension 2019-06-28 14:21:21 +00:00
rtp_dependency_descriptor_reader.h Add trait to Build/Parse DependencyDescriptor rtp header extension 2019-06-28 14:21:21 +00:00
rtp_dependency_descriptor_writer.h Add trait to Build/Parse DependencyDescriptor rtp header extension 2019-06-28 14:21:21 +00:00
rtp_fec_unittest.cc Use Abseil container algorithms in modules/rtp_rtcp/ 2019-03-29 16:47:33 +00:00
rtp_format.cc Add option to configure raw RTP packetization per payload type. 2019-05-23 12:38:16 +00:00
rtp_format.h Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_format_h264.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_format_h264.h Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_format_h264_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_format_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_format_video_generic.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_format_video_generic.h Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_format_video_generic_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_format_vp8.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_format_vp8.h Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_format_vp8_test_helper.cc Cleanup RtpPacketizerVP8 tests 2018-08-31 08:13:45 +00:00
rtp_format_vp8_test_helper.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
rtp_format_vp8_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_format_vp9.cc Move frame_type member from RtpDepacketizer::ParsedPayload to RTPVideoHeader 2019-04-24 13:13:04 +00:00
rtp_format_vp9.h Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_format_vp9_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_generic_frame_descriptor.cc Ensure GenericFrameDescriptor byte representation match 2018-12-04 11:52:25 +00:00
rtp_generic_frame_descriptor.h Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_generic_frame_descriptor_extension.cc Create version 01 of Generic Frame Descriptor - with discardability flag 2019-02-20 10:31:58 +00:00
rtp_generic_frame_descriptor_extension.h Create version 01 of Generic Frame Descriptor - with discardability flag 2019-02-20 10:31:58 +00:00
rtp_generic_frame_descriptor_extension_unittest.cc Create version 01 of Generic Frame Descriptor - with discardability flag 2019-02-20 10:31:58 +00:00
rtp_header_extension_map.cc Add writing and parsing of the abs-capture-time RTP header extension. 2019-07-03 14:07:36 +00:00
rtp_header_extension_map_unittest.cc Move RtpHeaderExtensionMap::GetTotalLengthInBytes into own file 2018-10-03 17:25:31 +00:00
rtp_header_extension_size.cc (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
rtp_header_extension_size.h Move RtpHeaderExtensionMap::GetTotalLengthInBytes into own file 2018-10-03 17:25:31 +00:00
rtp_header_extension_size_unittest.cc Move RtpHeaderExtensionMap::GetTotalLengthInBytes into own file 2018-10-03 17:25:31 +00:00
rtp_header_extensions.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_header_extensions.h Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_header_parser.cc Reland "Replace RTPHeader memset with assignment from a fresh object." 2019-03-26 14:06:17 +00:00
rtp_packet.cc Implements method on RtpPacket to extract extension. 2019-07-10 17:35:43 +00:00
rtp_packet.h Implements method on RtpPacket to extract extension. 2019-07-10 17:35:43 +00:00
rtp_packet_history.cc Add speculative checks to RtpPacketHistory 2019-07-03 16:07:25 +00:00
rtp_packet_history.h Add GeneratePadding method to replace TimeToSendPadding 2019-06-27 13:39:05 +00:00
rtp_packet_history_unittest.cc Add GeneratePadding method to replace TimeToSendPadding 2019-06-27 13:39:05 +00:00
rtp_packet_received.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_packet_received.h Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_packet_to_send.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
rtp_packet_to_send.h Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_packet_unittest.cc Implements method on RtpPacket to extract extension. 2019-07-10 17:35:43 +00:00
rtp_rtcp_config.h Delete unused constants from rtp_rtcp_config.h 2018-08-09 08:38:51 +00:00
rtp_rtcp_impl.cc Reland "Add ability to set RTCP sender ssrc at construction time" 2019-07-09 20:20:41 +00:00
rtp_rtcp_impl.h Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_rtcp_impl_unittest.cc Reland "Add ability to set RTCP sender ssrc at construction time" 2019-07-09 20:20:41 +00:00
rtp_sender.cc Wire up new PacedSender code path. 2019-07-05 15:38:59 +00:00
rtp_sender.h Wire up new PacedSender code path. 2019-07-05 15:38:59 +00:00
rtp_sender_audio.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_sender_audio.h Move towards always using packet type instead of priority in RTPSender 2019-06-24 10:12:26 +00:00
rtp_sender_audio_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_sender_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_sender_video.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_sender_video.h Move towards always using packet type instead of priority in RTPSender 2019-06-24 10:12:26 +00:00
rtp_sender_video_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_sequence_number_map.cc Add RtpSequenceNumberMap::InsertFrame() 2019-04-08 12:39:08 +00:00
rtp_sequence_number_map.h Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_sequence_number_map_unittest.cc Add RtpSequenceNumberMap::InsertFrame() 2019-04-08 12:39:08 +00:00
rtp_utility.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_utility.h Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_utility_unittest.cc Add writing and parsing of the abs-capture-time RTP header extension. 2019-07-03 14:07:36 +00:00
rtp_video_header.cc Add default values for PlayoutDelay in RTPVideoHeader. 2018-11-16 12:10:23 +00:00
rtp_video_header.h Move frame_type member from RtpDepacketizer::ParsedPayload to RTPVideoHeader 2019-04-24 13:13:04 +00:00
source_tracker.cc Add a tracker for RTCRtpContributingSource and RTCRtpSynchronizationSource. 2019-06-12 12:11:55 +00:00
source_tracker.h Add a tracker for RTCRtpContributingSource and RTCRtpSynchronizationSource. 2019-06-12 12:11:55 +00:00
source_tracker_unittest.cc Remove sequence_number from RtpPacketInfo. 2019-06-14 11:21:42 +00:00
time_util.cc (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
time_util.h In ReceiveStatistics use monotonic clock instead of ntp clock 2018-11-26 10:31:44 +00:00
time_util_unittest.cc Removes TimeMicros interface from ThreadProcessingFakeClock. 2019-04-17 15:37:48 +00:00
tmmbr_help.cc Format almost everything. 2019-07-08 13:45:15 +00:00
tmmbr_help.h Format almost everything. 2019-07-08 13:45:15 +00:00
ulpfec_generator.cc Format almost everything. 2019-07-08 13:45:15 +00:00
ulpfec_generator.h Format almost everything. 2019-07-08 13:45:15 +00:00
ulpfec_generator_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
ulpfec_header_reader_writer.cc Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +00:00
ulpfec_header_reader_writer.h [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
ulpfec_header_reader_writer_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
ulpfec_receiver_impl.cc Format almost everything. 2019-07-08 13:45:15 +00:00
ulpfec_receiver_impl.h Format almost everything. 2019-07-08 13:45:15 +00:00
ulpfec_receiver_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00