[rtmp] "abort message" control message not implemented, leading to error or corrupted chunkstream (original) (raw)
Which version are you using?
Which operating system are you using?
Other (please describe)
Describe how to replicate the issue
(all OSes, from source code inspection)
there is a definition for TypeAbortMessage in internal/protocols/rtmp/message/message.go; however, nothing seems to look for this protocol control message, and receiving one would generate an error:
| default: |
|---|
| return nil, fmt.Errorf("invalid message type: %v", raw.Type) |
correctly handling this protocol control message is essential for the chunkstream to not become corrupted in the receiver when the peer abandons a message partway through. this may happen if the deadline for a multi-chunk message is exceeded after transmission has started, as is common in RTMP implementations that take the "RT" part seriously.
note that the description for "Abort Message (2)" in Section 5.4.2 of the RTMP specification of 2012 is misleading and incorrect. please see Section 6 "Abandoning a Message" of RTMP Errata and Addenda for clarification.
Server logs
No response
Network dump
No response