class RTCP::PSFB
PSFB: Payload-specific FB message Documentation: RFC 4585, 6.1.
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |V=2|P| FMT | PT | length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of packet sender | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of media source | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : Feedback Control Information (FCI) : : :
Constants
- FORMATS
- PT_ID
Attributes
fci[R]
first_mb[R]
format[R]
number[R]
picture_id[R]
sender_ssrc[R]
source_ssrc[R]
version[R]
Public Instance Methods
decode(packet_data)
click to toggle source
# File lib/rtcp/psfb.rb, line 30 def decode(packet_data) vpfmt, packet_type, length, @sender_ssrc, @source_ssrc = packet_data.unpack('CCnN2') ensure_packet_type(packet_type) @length = 4 * (length + 1) @version = vpfmt >> 6 format = vpfmt & 31 @format = FORMATS[format] || format @fci_data = payload_data(packet_data, @length, 12) case @format when :sli pl = @fci_data.unpack('L') @first_mb = pl >> 19 @number = (pl >> 6) & 8191 @picture_id = pl & 63 # when :pli # No parameters # when :rpsi # when :afb end self end