Closed
Bug 985254
Opened 9 years ago
Closed 9 years ago
RTP packetization for H.264
Categories
(Core :: WebRTC, defect, P1)
Tracking
()
People
(Reporter: mreavy, Assigned: jesup)
References
(Blocks 1 open bug)
Details
(Whiteboard: [p=3, s=Fx32])
Attachments
(7 files, 2 obsolete files)
49.21 KB,
patch
|
Details | Diff | Splinter Review | |
5.67 KB,
patch
|
Details | Diff | Splinter Review | |
11.05 KB,
patch
|
Details | Diff | Splinter Review | |
17.45 KB,
patch
|
pkerr
:
review+
|
Details | Diff | Splinter Review |
7.59 KB,
patch
|
pkerr
:
review+
|
Details | Diff | Splinter Review |
5.77 KB,
patch
|
jhlin
:
review+
|
Details | Diff | Splinter Review |
11.34 KB,
patch
|
pkerr
:
review+
|
Details | Diff | Splinter Review |
Add RTP packetization for H.264 as part of adding OpenH264 support to WebRTC
Reporter | ||
Comment 1•9 years ago
|
||
Someone from Cisco will write the patches for this bug. Ethan is helping to identify who and will then help get them set up to contribute the code.
Assignee: nobody → ethanhugg
Assignee | ||
Comment 2•9 years ago
|
||
From https://webrtc-codereview.appspot.com/11239004/
Assignee | ||
Comment 4•9 years ago
|
||
I'm doing some more work on this. Since upstream will not be taking it as-is, I'm making it an internal codec (and adding h264 codecSpecific data from negotiation); we can back it out and replace it with a patch from upstream when it's ready. Taking at least temporarily
Assignee: ethanhugg → rjesup
Reporter | ||
Updated•9 years ago
|
Whiteboard: [p=3, s=Fx32]
Updated•9 years ago
|
Priority: -- → P1
Target Milestone: --- → mozilla32
Assignee | ||
Comment 5•9 years ago
|
||
This is patchset #10 from upstream https://webrtc-codereview.appspot.com/13399004/ That patchset still needs work, and I'll upload patches that make it function in mozilla.
Assignee | ||
Comment 6•9 years ago
|
||
Alternatively we could put all the codec-specific stuff in the generic codec config collection. Right now H264 is 90% built-in and 10% 'external'
Assignee | ||
Comment 7•9 years ago
|
||
Assignee | ||
Updated•9 years ago
|
Attachment #8410454 -
Attachment is obsolete: true
Assignee | ||
Comment 8•9 years ago
|
||
Fiddled the patch queue order this depends on. with the mode 1 changes, the timestamp stuff for SPS becomes irrelevant, but not until then
Assignee | ||
Comment 9•9 years ago
|
||
Assignee | ||
Comment 10•9 years ago
|
||
Assignee | ||
Comment 11•9 years ago
|
||
Comment on attachment 8425153 [details] [diff] [review] cleanup upstream h264 packetization patch per review comments upstream These are partial cleanups of issues I flagged during upstream review at https://webrtc-codereview.appspot.com/13399004/ I'm also submitting these patches there for review at webrtc.org, but I don't know how long that will take.
Attachment #8425153 -
Flags: review?(pkerr)
Assignee | ||
Updated•9 years ago
|
Attachment #8425154 -
Flags: review?(pkerr)
Comment 12•9 years ago
|
||
Comment on attachment 8425153 [details] [diff] [review] cleanup upstream h264 packetization patch per review comments upstream Review of attachment 8425153 [details] [diff] [review]: ----------------------------------------------------------------- R+ with some nits/questions. ::: media/webrtc/trunk/webrtc/modules/rtp_rtcp/source/rtp_receiver_video.cc @@ +242,2 @@ > > + uint8_t original_nal_header = fnri | original_nal_type; Why reconstruct payload_data[0] instead of just assigning it to original_payload? ::: media/webrtc/trunk/webrtc/modules/video_coding/main/source/session_info.cc @@ +444,5 @@ > last_packet_seq_num_ = static_cast<int>(packet.seqNum); > } else if (last_packet_seq_num_ != -1 && > IsNewerSequenceNumber(packet.seqNum, last_packet_seq_num_)) { > + //LOG(LS_WARNING) << "Received packet with a sequence number which is out " > + // " of frame boundaries"; Wouldn't it be better to remove this or conditionally compile instead of commenting out? @@ +472,5 @@ > first_packet_seq_num_ = static_cast<int>(packet.seqNum); > } else if (first_packet_seq_num_ != -1 && > !IsNewerSequenceNumber(packet.seqNum, first_packet_seq_num_)) { > + //LOG(LS_WARNING) << "Received packet with a sequence number which is out " > + // "of frame boundaries"; see above @@ +486,5 @@ > last_packet_seq_num_ = static_cast<int>(packet.seqNum); > } else if (last_packet_seq_num_ != -1 && > IsNewerSequenceNumber(packet.seqNum, last_packet_seq_num_)) { > + //LOG(LS_WARNING) << "Received packet with a sequence number which is out " > + // "of frame boundaries"; see above
Attachment #8425153 -
Flags: review?(pkerr) → review+
Comment 13•9 years ago
|
||
Comment on attachment 8425154 [details] [diff] [review] modify upstream h264 packetization patch to make it work Review of attachment 8425154 [details] [diff] [review]: ----------------------------------------------------------------- r+ with some nits/questions. ::: media/webrtc/trunk/webrtc/modules/interface/module_common_types.h @@ +1066,5 @@ > > +inline bool IsNewerOrSameTimestamp(uint32_t timestamp, uint32_t prev_timestamp) { > + return timestamp == prev_timestamp || > + static_cast<uint32_t>(timestamp - prev_timestamp) < 0x80000000; > +} Perhaps 0x80000000 should be replaced with a declared constant to be used in both comparison functions. ::: media/webrtc/trunk/webrtc/modules/rtp_rtcp/source/rtp_receiver_video.cc @@ +278,5 @@ > > // WebRtcRTPHeader > + if (nal_type == RtpFormatH264::kH264NALU_SPS || > + nal_type == RtpFormatH264::kH264NALU_PPS || > + nal_type == RtpFormatH264::kH264NALU_IDR) { Expand on your comment as to why you need to set the frameType to kVideoFrameKey for SPS and PPS payloads in addition to an IDR.
Attachment #8425154 -
Flags: review?(pkerr) → review+
Updated•9 years ago
|
feature-b2g: --- → 2.0
Assignee | ||
Comment 14•9 years ago
|
||
Assignee | ||
Updated•9 years ago
|
Attachment #8424761 -
Attachment is obsolete: true
Assignee | ||
Updated•9 years ago
|
Attachment #8427516 -
Flags: review?(jolin)
Assignee | ||
Comment 15•9 years ago
|
||
Assignee | ||
Updated•9 years ago
|
Attachment #8427522 -
Flags: review?(pkerr)
Updated•9 years ago
|
Attachment #8427516 -
Flags: review?(jolin) → review+
Updated•9 years ago
|
Attachment #8427522 -
Flags: review?(pkerr) → review+
Assignee | ||
Comment 16•9 years ago
|
||
Green try on the mass of patches - https://tbpl.mozilla.org/?tree=Try&rev=36fed02b8193
Assignee | ||
Comment 17•9 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/e88a722da07e https://hg.mozilla.org/integration/mozilla-inbound/rev/5246ba3954b7 https://hg.mozilla.org/integration/mozilla-inbound/rev/d2c1d93b3698 https://hg.mozilla.org/integration/mozilla-inbound/rev/d00df59cb452 https://hg.mozilla.org/integration/mozilla-inbound/rev/53c1c87969b5 https://hg.mozilla.org/integration/mozilla-inbound/rev/3a470fb782be
Comment 18•9 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/e88a722da07e https://hg.mozilla.org/mozilla-central/rev/5246ba3954b7 https://hg.mozilla.org/mozilla-central/rev/d2c1d93b3698 https://hg.mozilla.org/mozilla-central/rev/d00df59cb452 https://hg.mozilla.org/mozilla-central/rev/53c1c87969b5 https://hg.mozilla.org/mozilla-central/rev/3a470fb782be
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•