Fetch the repository succeeded.
package mp4
import "io"
type FreeBox struct {
Box BasicBox
Data []byte
}
func NewFreeBox() *FreeBox {
return &FreeBox{
Box: BasicBox{
Type: [4]byte{'f', 'r', 'e', 'e'},
},
}
}
func (free *FreeBox) Size() uint64 {
return 8 + uint64(len(free.Data))
}
func (free *FreeBox) Decode(r io.Reader) (int, error) {
if BasicBoxLen < free.Box.Size {
free.Data = make([]byte, free.Box.Size-BasicBoxLen)
if _, err := io.ReadFull(r, free.Data); err != nil {
return 0, err
}
}
return int(free.Box.Size - BasicBoxLen), nil
}
func (free *FreeBox) Encode() (int, []byte) {
free.Box.Size = free.Size()
offset, buf := free.Box.Encode()
copy(buf[offset:], free.Data)
return int(free.Box.Size), buf
}
func decodeFreeBox(demuxer *MovDemuxer, size uint32) (err error) {
var free FreeBox
free.Box.Size = uint64(size)
_, err = free.Decode(demuxer.reader)
return
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。