draft-ietf-avtext-splicing-notification-05.txt | draft-ietf-avtext-splicing-notification-06.txt | |||
---|---|---|---|---|
AVTEXT Working Group J. Xia | AVTEXT Working Group J. Xia | |||
INTERNET-DRAFT R. Even | INTERNET-DRAFT R. Even | |||
Intended Status: Standards Track R. Huang | Intended Status: Standards Track R. Huang | |||
Expires: September 22, 2016 Huawei | Expires: October 8, 2016 Huawei | |||
L. Deng | L. Deng | |||
China Mobile | China Mobile | |||
March 21, 2016 | April 6, 2016 | |||
RTP/RTCP extension for RTP Splicing Notification | RTP/RTCP extension for RTP Splicing Notification | |||
draft-ietf-avtext-splicing-notification-05 | draft-ietf-avtext-splicing-notification-06 | |||
Abstract | Abstract | |||
Content splicing is a process that replaces the content of a main | Content splicing is a process that replaces the content of a main | |||
multimedia stream with other multimedia content, and delivers the | multimedia stream with other multimedia content, and delivers the | |||
substitutive multimedia content to the receivers for a period of | substitutive multimedia content to the receivers for a period of | |||
time. The splicer is designed to handle RTP splicing and needs to | time. The splicer is designed to handle RTP splicing and needs to | |||
know when to start and end the splicing. | know when to start and end the splicing. | |||
This memo defines two RTP/RTCP extensions to indicate the splicing | This memo defines two RTP/RTCP extensions to indicate the splicing | |||
skipping to change at page 6, line 6 ¶ | skipping to change at page 6, line 6 ¶ | |||
3 Conveying Splicing Interval in RTP/RTCP extensions | 3 Conveying Splicing Interval in RTP/RTCP extensions | |||
This memo defines two backwards compatible RTP extensions to convey | This memo defines two backwards compatible RTP extensions to convey | |||
the Splicing Interval to the splicer: an RTP header extension and an | the Splicing Interval to the splicer: an RTP header extension and an | |||
RTCP splicing notification message. | RTCP splicing notification message. | |||
3.1 RTP Header Extension | 3.1 RTP Header Extension | |||
The RTP header extension mechanism defined in [RFC5285] can be | The RTP header extension mechanism defined in [RFC5285] can be | |||
adapted to carry the Splicing Interval consisting of a pair of NTP- | adapted to carry the Splicing Interval consisting of a pair of NTP- | |||
format timestamps. Two variants are defined for this header | format timestamps. | |||
extension: one-byte header variant and two-byte header variant. | ||||
For one-byte header variant, it carries the 7 octets splicing-out | This RTP header extension carries the 6 octets splicing-out NTP- | |||
NTP-format timestamp (lower 24-bit part of the Seconds of a NTP- | format timestamp (lower 16-bit part of the Seconds of a NTP-format | |||
format timestamp and the 32 bits of the Fraction of a NTP-format | timestamp and the 32 bits of the Fraction of a NTP-format timestamp | |||
timestamp as defined in [RFC5905]), followed by the 8 octets | as defined in [RFC5905]), followed by the 8 octets splicing-in NTP- | |||
splicing-in NTP-format timestamp (64-bit NTP-format timestamp as | format timestamp (64-bit NTP-format timestamp as defined in | |||
defined in [RFC5905]). The top 8 bits of the splicing-out NTP | [RFC5905]). The top 16 bits of the splicing-out NTP timestamp are | |||
timestamp are inferred from the top 8 bits of the splicing-in NTP | inferred from the top 16 bits of the splicing-in NTP timestamp, under | |||
timestamp. This is unambiguous, under the assumption that the | the assumption that the splicing-out time is after the splicing-in | |||
splicing-out time is after the splicing-in time, and the splicing | time, and the splicing interval is less than 2^16 seconds. Therefore, | |||
interval is less than 2^25 seconds. Therefore, if the value of 7 | if the value of 6 octets splicing-out NTP-format timestamp is smaller | |||
octets splicing-out NTP-format timestamp is smaller than the value of | than the value of 6 lower octets splicing-in NTP-format, it implies a | |||
7 lower octets splicing-in NTP-format, it implies a wrap of the 56- | wrap of the 48-bit splicing-out NTP-format timestamp which means the | |||
bit splicing-out NTP-format timestamp which means the top 8-bit value | top 16-bit value of the 64-bit splicing-out is equal to the top 16- | |||
of the 64-bit splicing-out is equal to the top 8-bit value of | bit value of splicing-in NTP Timestamp plus 0x0001. Otherwise, the | |||
splicing-in NTP Timestamp plus 0x01. Otherwise, the top 8 bits of | top 16 bits of splicing-out NTP timestamp is equal to the top 16 bits | |||
splicing-out NTP timestamp is equal to the top 8 bits of splicing-in | of splicing-in NTP Timestamp. | |||
NTP Timestamp. | ||||
The format is shown in Figures 1. | This RTP header extension can be encoded using either the one-byte or | |||
two-byte header defined in [RFC5285]. Figure 1 and 2 show the | ||||
splicing interval header extension with each of the two header | ||||
formats. | ||||
0 1 2 3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+E | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+E | |||
| ID | L=15 | OUT NTP timestamp format - Seconds (bit 8-31) |x | | ID | L=13 |OUT NTP timestamp-Seconds(0-16)| Out |x | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+t | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+t | |||
| OUT NTP timestamp format - Fraction (bit 0-31) |e | | NTP timestamp format - Fraction (bit 0-31) | In |e | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+n | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+n | |||
| IN NTP timestamp format - Seconds (bit 0-31) |s | | NTP timestamp format - Seconds (bit 0-31) | In |s | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+i | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+i | |||
| IN NTP timestamp format - Fraction (bit 0-31) |o | | NTP timestamp format - Fraction (bit 0-31) | 0 (pad) |o | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+n | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+n | |||
Figure 1: Splicing Interval | Figure 1: Splicing Interval | |||
Using the One-Byte Header Format | Using the One-Byte Header Format | |||
For two-byte header variant, it carries the 6 octets splicing-out | ||||
NTP-format timestamp (lower 16-bit part of the Seconds of a NTP- | ||||
format timestamp and the 32 bits of the Fraction of a NTP-format | ||||
timestamp as defined in [RFC5905]), followed by the 8 octets | ||||
splicing-in NTP-format timestamp (64-bit NTP-format timestamp as | ||||
defined in [RFC5905]). Also, the top 16 bits of the splicing-out NTP | ||||
timestamp are inferred from the top 16 bits of the splicing-in NTP | ||||
timestamp, under the assumption that the splicing-out time is after | ||||
the splicing-in time, and the splicing interval is less than 2^16 | ||||
seconds. Similar to the one-byte header, if the value of 6 octets | ||||
splicing-out NTP-format timestamp is smaller than the value of 6 | ||||
lower octets splicing-in NTP-format, it implies a wrap of the 48-bit | ||||
splicing-out NTP-format timestamp which means the top 16-bit value of | ||||
the 64-bit splicing-out is equal to the top 16-bit value of splicing- | ||||
in NTP Timestamp plus 0x01. Otherwise, the top 16 bits of splicing- | ||||
out NTP timestamp is equal to the top 16 bits of splicing-in NTP | ||||
Timestamp. | ||||
The format is shown in Figures 2. | ||||
0 1 2 3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+E | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+E | |||
| ID | L=14 | OUT NTP timestamp - Seconds |x | | ID | L=14 | OUT NTP timestamp - Seconds |x | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+t | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+t | |||
| OUT NTP timestamp format - Fraction (bit 0-31) |e | | OUT NTP timestamp format - Fraction (bit 0-31) |e | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+n | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+n | |||
| IN NTP timestamp format - Seconds (bit 0-31) |s | | IN NTP timestamp format - Seconds (bit 0-31) |s | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+i | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+i | |||
| IN NTP timestamp format - Fraction (bit 0-31) |o | | IN NTP timestamp format - Fraction (bit 0-31) |o | |||
End of changes. 11 change blocks. | ||||
47 lines changed or deleted | 28 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |