fix new pio
This commit is contained in:
parent
039b6c3136
commit
3febe06647
@ -16,7 +16,7 @@ type Tag interface {
|
|||||||
Type() uint8
|
Type() uint8
|
||||||
Len() int
|
Len() int
|
||||||
Marshal(*pio.Writer) error
|
Marshal(*pio.Writer) error
|
||||||
Unmarshal(*pio.LimitedReader) error
|
Unmarshal(*pio.Reader) error
|
||||||
}
|
}
|
||||||
|
|
||||||
type Scriptdata struct {
|
type Scriptdata struct {
|
||||||
@ -38,7 +38,7 @@ func (self Scriptdata) Len() int {
|
|||||||
return len(self.Data)
|
return len(self.Data)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (self *Scriptdata) Unmarshal(r *pio.LimitedReader) (err error) {
|
func (self *Scriptdata) Unmarshal(r *pio.Reader) (err error) {
|
||||||
self.Data = make([]byte, r.N)
|
self.Data = make([]byte, r.N)
|
||||||
if _, err = io.ReadFull(r, self.Data); err != nil {
|
if _, err = io.ReadFull(r, self.Data); err != nil {
|
||||||
return
|
return
|
||||||
@ -154,7 +154,7 @@ func (self Audiodata) Marshal(w *pio.Writer) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func (self *Audiodata) Unmarshal(r *pio.LimitedReader) (err error) {
|
func (self *Audiodata) Unmarshal(r *pio.Reader) (err error) {
|
||||||
var flags uint8
|
var flags uint8
|
||||||
if flags, err = r.ReadU8(); err != nil {
|
if flags, err = r.ReadU8(); err != nil {
|
||||||
return
|
return
|
||||||
@ -229,7 +229,7 @@ func (self Videodata) Len() int {
|
|||||||
return 5 + len(self.Data)
|
return 5 + len(self.Data)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (self *Videodata) Unmarshal(r *pio.LimitedReader) (err error) {
|
func (self *Videodata) Unmarshal(r *pio.Reader) (err error) {
|
||||||
var flags uint8
|
var flags uint8
|
||||||
if flags, err = r.ReadU8(); err != nil {
|
if flags, err = r.ReadU8(); err != nil {
|
||||||
return
|
return
|
||||||
@ -346,9 +346,11 @@ func ReadTag(r *pio.Reader) (tag Tag, timestamp int32, err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if err = tag.Unmarshal(pio.NewLimitedReader(r, int64(datasize))); err != nil {
|
r.LimitOn(int64(datasize))
|
||||||
|
if err = tag.Unmarshal(r); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
r.LimitOff()
|
||||||
|
|
||||||
if _, err = r.ReadI32BE(); err != nil {
|
if _, err = r.ReadI32BE(); err != nil {
|
||||||
return
|
return
|
||||||
|
Loading…
x
Reference in New Issue
Block a user