mp4: fix fmt

This commit is contained in:
nareix 2016-07-29 07:10:41 +08:00
parent 6752dafead
commit 525606422e

View File

@ -3,20 +3,15 @@ package mp4
import ( import (
"time" "time"
"fmt" "fmt"
"github.com/nareix/pio"
"github.com/nareix/joy4/av" "github.com/nareix/joy4/av"
"github.com/nareix/joy4/codec/aacparser" "github.com/nareix/joy4/codec/aacparser"
"github.com/nareix/joy4/codec/h264parser" "github.com/nareix/joy4/codec/h264parser"
"github.com/nareix/joy4/format/mp4/mp4io" "github.com/nareix/joy4/format/mp4/mp4io"
"io" "io"
"bufio"
) )
type Demuxer struct { type Demuxer struct {
r io.ReadSeeker r io.ReadSeeker
bufr *bufio.Reader
rpos int64
streams []*Stream streams []*Stream
movieAtom *mp4io.Movie movieAtom *mp4io.Movie
} }
@ -24,7 +19,6 @@ type Demuxer struct {
func NewDemuxer(r io.ReadSeeker) *Demuxer { func NewDemuxer(r io.ReadSeeker) *Demuxer {
return &Demuxer{ return &Demuxer{
r: r, r: r,
bufr: bufio.NewReaderSize(r, pio.RecommendBufioSize),
} }
} }
@ -39,20 +33,12 @@ func (self *Demuxer) Streams() (streams []av.CodecData, err error) {
} }
func (self *Demuxer) readat(pos int64, b []byte) (err error) { func (self *Demuxer) readat(pos int64, b []byte) (err error) {
if pos < self.rpos || pos > self.rpos+int64(pio.RecommendBufioSize) { if _, err = self.r.Seek(pos, 0); err != nil {
self.bufr.Reset(self.r) return
if _, err = self.r.Seek(pos, 0); err != nil { }
return if _, err = io.ReadFull(self.r, b); err != nil {
}
} else if pos != self.rpos {
if _, err = self.bufr.Discard(int(pos-self.rpos)); err != nil {
return
}
}
if _, err = io.ReadFull(self.bufr, b); err != nil {
return return
} }
self.rpos = pos+int64(len(b))
return return
} }