• Martin Storsjö's avatar
    rtmp: Correctly handle the Window Acknowledgement Size packets · 15a92e0c
    Martin Storsjö authored
    This swaps which field is set when the Window Acknowledgement Size
    and Set Peer BW packets are received, renames the fields in
    order to clarify their role further and adds verbose comments
    explaining their respective roles and how well the code currently
    does what it is supposed to.
    
    The Set Peer BW packet tells the receiver of the packet (which
    can be either client or server) that it should not send more data
    if it already has sent more data than the specified number of bytes,
    without receiving acknowledgement for them. Actually checking this
    limit is currently not implemented.
    
    In order to be able to check that properly, one can send the
    Window Acknowledgement Size packet, which tells the receiver of the
    packet that it needs to send Acknowledgement packets
    (RTMP_PT_BYTES_READ) at least after receiving a given number of bytes
    since the last Acknowledgement.
    
    Therefore, when we receive a Window Acknowledgement Size packet,
    this sets the maximum number of bytes we can receive without sending
    an Acknowledgement; therefore when handling this packet we should set
    the receive_report_size field (previously client_report_size).
    Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
    15a92e0c
rtmpproto.c 104 KB