From cdfd1698d5c449a7ee88b0321b25c0c6bf48ec75 Mon Sep 17 00:00:00 2001 From: nareix Date: Thu, 23 Jun 2016 13:40:22 +0800 Subject: [PATCH] bugfix write AMF0 --- flvio/amf0.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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 {