diff --git a/flvio/amf0.go b/flvio/amf0.go index df903f4..f2427f3 100644 --- a/flvio/amf0.go +++ b/flvio/amf0.go @@ -67,6 +67,8 @@ func WriteAMF0Val(w *pio.Writer, _val interface{}) (err error) { return writeAMF0Number(w, float64(val)) case int64: return writeAMF0Number(w, float64(val)) + case int: + return writeAMF0Number(w, float64(val)) case uint8: return writeAMF0Number(w, float64(val)) case uint16: @@ -75,6 +77,8 @@ func WriteAMF0Val(w *pio.Writer, _val interface{}) (err error) { return writeAMF0Number(w, float64(val)) case uint64: return writeAMF0Number(w, float64(val)) + case uint: + return writeAMF0Number(w, float64(val)) case float32: return writeAMF0Number(w, float64(val)) case float64: @@ -107,7 +111,10 @@ func WriteAMF0Val(w *pio.Writer, _val interface{}) (err error) { } for k, v := range val { if len(k) > 0 { - if err = WriteAMF0Val(w, k); err != nil { + if err = w.WriteU16BE(uint16(len(k))); err != nil { + return + } + if _, err = w.Write([]byte(k)); err != nil { return } if err = WriteAMF0Val(w, v); err != nil {