New issue
Advanced search Search tips

Issue 9680 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 25
Cc:
Components:
NextAction: ----
OS: ----
Pri: 2
Type: Enhancement



Sign in to add a comment

Support attaching RTP extensions differently to the first packet of a video frame layer

Project Member Reported by danilchap@webrtc.org, Aug 28

Issue description

RTPSenderVideo::SendVideo make no difference in attaching RTP header extensions to first or following packets of frame.

But some extensions are helpful only on a first packet of a frame,
Other extensions use different size depending if they are attached to first or following packet.

To support those extension without increasing overhead, rtp packetizers should support first packet with less available payload size than following packets.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Aug 29

The following revision refers to this bug:
  https://webrtc.googlesource.com/src.git/+/f7f8a1f1764755f6079c6a1c0c5ab49f961e2ba8

commit f7f8a1f1764755f6079c6a1c0c5ab49f961e2ba8
Author: Danil Chapovalov <danilchap@webrtc.org>
Date: Wed Aug 29 08:44:08 2018

Cleanup RtpPacketizer interface

merge construction and call to SetPayloadData
Add NumPackets instead of SetPayloadData
Remove virtual ToString() as unused
move CHECK(rtp_video_header) from RtpPacketizer::Create to RtpSenderVideo::SendVideo

Bug:  webrtc:9680 
Change-Id: I074644e048c797eb836f79979df363fe1ea0075e
Reviewed-on: https://webrtc-review.googlesource.com/96543
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24474}
[modify] https://crrev.com/f7f8a1f1764755f6079c6a1c0c5ab49f961e2ba8/modules/rtp_rtcp/source/rtp_format.cc
[modify] https://crrev.com/f7f8a1f1764755f6079c6a1c0c5ab49f961e2ba8/modules/rtp_rtcp/source/rtp_format.h
[modify] https://crrev.com/f7f8a1f1764755f6079c6a1c0c5ab49f961e2ba8/modules/rtp_rtcp/source/rtp_format_h264.cc
[modify] https://crrev.com/f7f8a1f1764755f6079c6a1c0c5ab49f961e2ba8/modules/rtp_rtcp/source/rtp_format_h264.h
[modify] https://crrev.com/f7f8a1f1764755f6079c6a1c0c5ab49f961e2ba8/modules/rtp_rtcp/source/rtp_format_h264_unittest.cc
[modify] https://crrev.com/f7f8a1f1764755f6079c6a1c0c5ab49f961e2ba8/modules/rtp_rtcp/source/rtp_format_video_generic.cc
[modify] https://crrev.com/f7f8a1f1764755f6079c6a1c0c5ab49f961e2ba8/modules/rtp_rtcp/source/rtp_format_video_generic.h
[modify] https://crrev.com/f7f8a1f1764755f6079c6a1c0c5ab49f961e2ba8/modules/rtp_rtcp/source/rtp_format_vp8.cc
[modify] https://crrev.com/f7f8a1f1764755f6079c6a1c0c5ab49f961e2ba8/modules/rtp_rtcp/source/rtp_format_vp8.h
[modify] https://crrev.com/f7f8a1f1764755f6079c6a1c0c5ab49f961e2ba8/modules/rtp_rtcp/source/rtp_format_vp9.cc
[modify] https://crrev.com/f7f8a1f1764755f6079c6a1c0c5ab49f961e2ba8/modules/rtp_rtcp/source/rtp_format_vp9.h
[modify] https://crrev.com/f7f8a1f1764755f6079c6a1c0c5ab49f961e2ba8/modules/rtp_rtcp/source/rtp_sender_video.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Sep 5

The following revision refers to this bug:
  https://webrtc.googlesource.com/src.git/+/bace3a4bd60713206ed71dc1b51a05822cab4be0

commit bace3a4bd60713206ed71dc1b51a05822cab4be0
Author: Danil Chapovalov <danilchap@webrtc.org>
Date: Wed Sep 05 14:54:02 2018

in RtpPacketizer add support for first packet reduction length

Bug:  webrtc:9680 
Change-Id: I68580a8a44cbbf932ed0b2448b31169b26df5044
Reviewed-on: https://webrtc-review.googlesource.com/98005
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24584}
[modify] https://crrev.com/bace3a4bd60713206ed71dc1b51a05822cab4be0/modules/rtp_rtcp/source/rtp_format.cc
[modify] https://crrev.com/bace3a4bd60713206ed71dc1b51a05822cab4be0/modules/rtp_rtcp/source/rtp_format.h
[modify] https://crrev.com/bace3a4bd60713206ed71dc1b51a05822cab4be0/modules/rtp_rtcp/source/rtp_format_unittest.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Sep 6

The following revision refers to this bug:
  https://webrtc.googlesource.com/src.git/+/af8c03673b7fb6dbfed280aca83849f0f0ed1f1a

commit af8c03673b7fb6dbfed280aca83849f0f0ed1f1a
Author: Danil Chapovalov <danilchap@webrtc.org>
Date: Thu Sep 06 08:54:55 2018

Cleanup RtpPacketizerGeneric

merge SetPayloadData into constructor.
Reuse payload size split function

Bug:  webrtc:9680 
Change-Id: If8de22b2fc39c0bdf6d60154ecaaf19e2dccdcc9
Reviewed-on: https://webrtc-review.googlesource.com/97640
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24598}
[modify] https://crrev.com/af8c03673b7fb6dbfed280aca83849f0f0ed1f1a/modules/rtp_rtcp/source/rtp_format.cc
[modify] https://crrev.com/af8c03673b7fb6dbfed280aca83849f0f0ed1f1a/modules/rtp_rtcp/source/rtp_format_video_generic.cc
[modify] https://crrev.com/af8c03673b7fb6dbfed280aca83849f0f0ed1f1a/modules/rtp_rtcp/source/rtp_format_video_generic.h
[modify] https://crrev.com/af8c03673b7fb6dbfed280aca83849f0f0ed1f1a/modules/rtp_rtcp/source/rtp_format_video_generic_unittest.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Sep 7

The following revision refers to this bug:
  https://webrtc.googlesource.com/src.git/+/fa5ec8d20d8dbf0f2e9ebe1ad4da970dd7397807

commit fa5ec8d20d8dbf0f2e9ebe1ad4da970dd7397807
Author: Danil Chapovalov <danilchap@webrtc.org>
Date: Fri Sep 07 09:24:18 2018

Use signed integers for limiting packet size in video packetizers

Using signed integers allows to centralize checking of edge cases
in RtpPacketizer::SplitAboutEqually and
reduce chance of hitting issues with size_t underflow

Bug:  webrtc:9680 
Change-Id: Ic05bf0a9565a277c4608f43061ca46cf44e82d08
Reviewed-on: https://webrtc-review.googlesource.com/98602
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24618}
[modify] https://crrev.com/fa5ec8d20d8dbf0f2e9ebe1ad4da970dd7397807/modules/rtp_rtcp/source/rtp_format.cc
[modify] https://crrev.com/fa5ec8d20d8dbf0f2e9ebe1ad4da970dd7397807/modules/rtp_rtcp/source/rtp_format.h
[modify] https://crrev.com/fa5ec8d20d8dbf0f2e9ebe1ad4da970dd7397807/modules/rtp_rtcp/source/rtp_format_unittest.cc
[modify] https://crrev.com/fa5ec8d20d8dbf0f2e9ebe1ad4da970dd7397807/modules/rtp_rtcp/source/rtp_format_video_generic.h
[modify] https://crrev.com/fa5ec8d20d8dbf0f2e9ebe1ad4da970dd7397807/modules/rtp_rtcp/source/rtp_format_video_generic_unittest.cc
[modify] https://crrev.com/fa5ec8d20d8dbf0f2e9ebe1ad4da970dd7397807/modules/rtp_rtcp/source/rtp_format_vp8.cc
[modify] https://crrev.com/fa5ec8d20d8dbf0f2e9ebe1ad4da970dd7397807/modules/rtp_rtcp/source/rtp_format_vp8.h
[modify] https://crrev.com/fa5ec8d20d8dbf0f2e9ebe1ad4da970dd7397807/modules/rtp_rtcp/source/rtp_sender_video.cc

Project Member

Comment 8 by philipel@webrtc.org, Sep 7

Cc: philipel@webrtc.org
Project Member

Comment 9 by bugdroid1@chromium.org, Sep 7

The following revision refers to this bug:
  https://webrtc.googlesource.com/src.git/+/0b445c62719f4f60f8aed9fd2c1575025e35f57e

commit 0b445c62719f4f60f8aed9fd2c1575025e35f57e
Author: Danil Chapovalov <danilchap@webrtc.org>
Date: Fri Sep 07 22:01:46 2018

Cleanup RtpPacketizerVp9

Merge SetPayloadData into constructor.
Reuse payload size split function

Bug:  webrtc:9680 
Change-Id: If230a4ea901b5cdd6a376f8dd2db48e94d6dca36
Reviewed-on: https://webrtc-review.googlesource.com/98866
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24635}
[modify] https://crrev.com/0b445c62719f4f60f8aed9fd2c1575025e35f57e/modules/rtp_rtcp/source/rtp_format.cc
[modify] https://crrev.com/0b445c62719f4f60f8aed9fd2c1575025e35f57e/modules/rtp_rtcp/source/rtp_format_vp9.cc
[modify] https://crrev.com/0b445c62719f4f60f8aed9fd2c1575025e35f57e/modules/rtp_rtcp/source/rtp_format_vp9.h
[modify] https://crrev.com/0b445c62719f4f60f8aed9fd2c1575025e35f57e/modules/rtp_rtcp/source/rtp_format_vp9_unittest.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Sep 10

The following revision refers to this bug:
  https://webrtc.googlesource.com/src.git/+/e4f8b38091f06b9bb541f29ac95f5db638e7582f

commit e4f8b38091f06b9bb541f29ac95f5db638e7582f
Author: Danil Chapovalov <danilchap@webrtc.org>
Date: Mon Sep 10 12:53:10 2018

Allow different header extensions in 1st packet of a video frame

no behavior changes expected.
Different exension for the 1st packet will be added in a follow-up

Bug:  webrtc:9680 
Change-Id: I8c853b2710d58df579aeb4b029b42210310423cc
Reviewed-on: https://webrtc-review.googlesource.com/98843
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24655}
[modify] https://crrev.com/e4f8b38091f06b9bb541f29ac95f5db638e7582f/modules/rtp_rtcp/source/rtp_sender_video.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Sep 12

The following revision refers to this bug:
  https://webrtc.googlesource.com/src.git/+/fd5fbd0b581d4a18e090dda8ecc80d906304d858

commit fd5fbd0b581d4a18e090dda8ecc80d906304d858
Author: Danil Chapovalov <danilchap@webrtc.org>
Date: Wed Sep 12 11:11:18 2018

Cleanup RtpPacketizerH264 constructor

Merge SetPayloadData into constructor.
Add TODO to support first_packet_reduction_len

Bug:  webrtc:9680 
Change-Id: I65e771848e0ffe8968cd084840e77afc0152caeb
Reviewed-on: https://webrtc-review.googlesource.com/99505
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24702}
[modify] https://crrev.com/fd5fbd0b581d4a18e090dda8ecc80d906304d858/modules/rtp_rtcp/source/rtp_format.cc
[modify] https://crrev.com/fd5fbd0b581d4a18e090dda8ecc80d906304d858/modules/rtp_rtcp/source/rtp_format_h264.cc
[modify] https://crrev.com/fd5fbd0b581d4a18e090dda8ecc80d906304d858/modules/rtp_rtcp/source/rtp_format_h264.h
[modify] https://crrev.com/fd5fbd0b581d4a18e090dda8ecc80d906304d858/modules/rtp_rtcp/source/rtp_format_h264_unittest.cc

Project Member

Comment 12 by bugdroid1@chromium.org, Sep 25

The following revision refers to this bug:
  https://webrtc.googlesource.com/src.git/+/e7e156d7a6b0b8c08fea6c8b53f2e6c1df157f8e

commit e7e156d7a6b0b8c08fea6c8b53f2e6c1df157f8e
Author: Danil Chapovalov <danilchap@webrtc.org>
Date: Tue Sep 25 11:43:29 2018

Support first packet reduction in H264 packetizer


Bug:  webrtc:9680 
Change-Id: I73c9a5acecdf8dd82347be602bbfd7412c9610c5
Reviewed-on: https://webrtc-review.googlesource.com/99804
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24823}
[modify] https://crrev.com/e7e156d7a6b0b8c08fea6c8b53f2e6c1df157f8e/modules/rtp_rtcp/source/rtp_format_h264.cc
[modify] https://crrev.com/e7e156d7a6b0b8c08fea6c8b53f2e6c1df157f8e/modules/rtp_rtcp/source/rtp_format_h264.h
[modify] https://crrev.com/e7e156d7a6b0b8c08fea6c8b53f2e6c1df157f8e/modules/rtp_rtcp/source/rtp_format_h264_unittest.cc

Project Member

Comment 13 by danilchap@webrtc.org, Sep 25

Status: Fixed (was: Assigned)

Sign in to add a comment