fix: rtmp encode nil value

This commit is contained in:
langhuihui
2024-02-02 10:15:33 +08:00
parent e82bc7e5d0
commit fea867a287

View File

@@ -248,6 +248,10 @@ func (amf *AMF) Marshal(v any) []byte {
amf.WriteByte(0)
}
case EcmaArray:
if vv == nil {
amf.WriteByte(AMF0_NULL)
return amf.Buffer
}
amf.WriteByte(AMF0_ECMA_ARRAY)
amf.WriteUint32(uint32(len(vv)))
for k, v := range vv {
@@ -255,6 +259,10 @@ func (amf *AMF) Marshal(v any) []byte {
}
amf.Write(END_OBJ)
case map[string]any:
if vv == nil {
amf.WriteByte(AMF0_NULL)
return amf.Buffer
}
amf.WriteByte(AMF0_OBJECT)
for k, v := range vv {
amf.writeProperty(k, v)