rename isom to aacparser
This commit is contained in:
parent
a5ec0acea0
commit
dfd71d04bf
@ -1,10 +1,9 @@
|
||||
|
||||
package ts
|
||||
|
||||
import (
|
||||
"io"
|
||||
"fmt"
|
||||
"encoding/hex"
|
||||
"fmt"
|
||||
"io"
|
||||
)
|
||||
|
||||
var ieeeCrc32Tbl = []uint32{
|
||||
@ -101,4 +100,3 @@ func (self *Crc32Writer) Write(b []byte) (n int, err error) {
|
||||
self.Crc32 = updateIeeeCrc32(self.Crc32, b)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
package ts
|
||||
|
||||
import (
|
||||
@ -11,4 +10,3 @@ func TestChecksum(t *testing.T) {
|
||||
crc := updateIeeeCrc32(0xffffffff, b)
|
||||
t.Logf("%x", crc)
|
||||
}
|
||||
|
||||
|
20
demuxer.go
20
demuxer.go
@ -1,11 +1,10 @@
|
||||
|
||||
package ts
|
||||
|
||||
import (
|
||||
"io"
|
||||
"bytes"
|
||||
"fmt"
|
||||
"github.com/nareix/mp4/isom"
|
||||
"github.com/nareix/codec/aacparser"
|
||||
"io"
|
||||
)
|
||||
|
||||
type Demuxer struct {
|
||||
@ -33,7 +32,7 @@ func (self *Demuxer) ReadHeader() (err error) {
|
||||
for {
|
||||
if self.pmt != nil {
|
||||
n := 0
|
||||
for _, track := range(self.Tracks) {
|
||||
for _, track := range self.Tracks {
|
||||
if track.payloadReady {
|
||||
n++
|
||||
}
|
||||
@ -58,7 +57,7 @@ func (self *Demuxer) ReadSample() (track *Track, err error) {
|
||||
}
|
||||
|
||||
for {
|
||||
for _, _track := range(self.Tracks) {
|
||||
for _, _track := range self.Tracks {
|
||||
if _track.payloadReady {
|
||||
track = _track
|
||||
return
|
||||
@ -87,13 +86,13 @@ func (self *Demuxer) readPacket() (err error) {
|
||||
}
|
||||
} else {
|
||||
if self.pmt == nil {
|
||||
for _, entry := range(self.pat.Entries) {
|
||||
for _, entry := range self.pat.Entries {
|
||||
if entry.ProgramMapPID == header.PID {
|
||||
self.pmt = new(PMT)
|
||||
if *self.pmt, err = ReadPMT(bytes.NewReader(payload)); err != nil {
|
||||
return
|
||||
}
|
||||
for _, info := range(self.pmt.ElementaryStreamInfos) {
|
||||
for _, info := range self.pmt.ElementaryStreamInfos {
|
||||
track := &Track{}
|
||||
|
||||
track.demuxer = self
|
||||
@ -113,7 +112,7 @@ func (self *Demuxer) readPacket() (err error) {
|
||||
}
|
||||
} else {
|
||||
|
||||
for _, track := range(self.Tracks) {
|
||||
for _, track := range self.Tracks {
|
||||
if header.PID == track.pid {
|
||||
if err = track.appendPacket(header, payload); err != nil {
|
||||
return
|
||||
@ -126,7 +125,7 @@ func (self *Demuxer) readPacket() (err error) {
|
||||
return
|
||||
}
|
||||
|
||||
func (self *Track) GetMPEG4AudioConfig() isom.MPEG4AudioConfig {
|
||||
func (self *Track) GetMPEG4AudioConfig() aacparser.MPEG4AudioConfig {
|
||||
return self.mpeg4AudioConfig
|
||||
}
|
||||
|
||||
@ -154,7 +153,7 @@ func (self *Track) appendPayload() (err error) {
|
||||
|
||||
if self.Type == AAC {
|
||||
if !self.mpeg4AudioConfig.IsValid() {
|
||||
if self.mpeg4AudioConfig, _, _, _, err = isom.ReadADTSFrame(self.payload); err != nil {
|
||||
if self.mpeg4AudioConfig, _, _, _, err = aacparser.ReadADTSFrame(self.payload); err != nil {
|
||||
return
|
||||
}
|
||||
self.mpeg4AudioConfig = self.mpeg4AudioConfig.Complete()
|
||||
@ -200,4 +199,3 @@ func (self *Track) appendPacket(header TSHeader, payload []byte) (err error) {
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -1,16 +1,15 @@
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"os"
|
||||
"io"
|
||||
ts "../"
|
||||
"fmt"
|
||||
"encoding/hex"
|
||||
"bytes"
|
||||
"encoding/gob"
|
||||
"runtime/pprof"
|
||||
"encoding/hex"
|
||||
"flag"
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
"runtime/pprof"
|
||||
)
|
||||
|
||||
type GobAllSamples struct {
|
||||
@ -157,7 +156,7 @@ func readSamples(filename string, ch chan Sample) {
|
||||
}
|
||||
}
|
||||
|
||||
for _, entry := range(pat.Entries) {
|
||||
for _, entry := range pat.Entries {
|
||||
if entry.ProgramMapPID == header.PID {
|
||||
//fmt.Println("matchs", entry)
|
||||
if pmt, err = ts.ReadPMT(pr); err != nil {
|
||||
@ -167,7 +166,7 @@ func readSamples(filename string, ch chan Sample) {
|
||||
}
|
||||
}
|
||||
|
||||
for _, info = range(pmt.ElementaryStreamInfos) {
|
||||
for _, info = range pmt.ElementaryStreamInfos {
|
||||
if info.ElementaryPID == header.PID {
|
||||
onStreamPayload()
|
||||
}
|
||||
@ -395,4 +394,3 @@ func main() {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
14
muxer.go
14
muxer.go
@ -1,12 +1,11 @@
|
||||
|
||||
package ts
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"io"
|
||||
"github.com/nareix/mp4/isom"
|
||||
"github.com/nareix/codec/h264parser"
|
||||
"github.com/nareix/codec/aacparser"
|
||||
"io"
|
||||
)
|
||||
|
||||
type Muxer struct {
|
||||
@ -87,7 +86,7 @@ func (self *Muxer) WriteHeader() (err error) {
|
||||
}
|
||||
|
||||
// about to remove
|
||||
for _, track := range(self.Tracks) {
|
||||
for _, track := range self.Tracks {
|
||||
track.spsHasWritten = false
|
||||
}
|
||||
|
||||
@ -106,7 +105,7 @@ func (self *Track) TimeScale() int64 {
|
||||
return self.timeScale
|
||||
}
|
||||
|
||||
func (self *Track) SetMPEG4AudioConfig(config isom.MPEG4AudioConfig) {
|
||||
func (self *Track) SetMPEG4AudioConfig(config aacparser.MPEG4AudioConfig) {
|
||||
self.mpeg4AudioConfig = config
|
||||
}
|
||||
|
||||
@ -129,8 +128,8 @@ func (self *Track) WriteSample(pts int64, dts int64, isKeyFrame bool, data []byt
|
||||
|
||||
if self.Type == AAC {
|
||||
|
||||
if !isom.IsADTSFrame(data) {
|
||||
data = append(isom.MakeADTSHeader(self.mpeg4AudioConfig, 1024, len(data)), data...)
|
||||
if !aacparser.IsADTSFrame(data) {
|
||||
data = append(aacparser.MakeADTSHeader(self.mpeg4AudioConfig, 1024, len(data)), data...)
|
||||
}
|
||||
if false {
|
||||
fmt.Printf("WriteSample=%x\n", data[:5])
|
||||
@ -252,4 +251,3 @@ func (self *Track) WriteADTSAACFrame(duration int, frame []byte) (err error) {
|
||||
self.incPTS(duration)
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
package ts
|
||||
|
||||
import (
|
||||
@ -212,7 +211,6 @@ func ReadPSI(r io.Reader) (self PSI, lr *io.LimitedReader, cr *Crc32Reader, err
|
||||
fmt.Printf("psi: pointer=%d\n", pointer)
|
||||
}
|
||||
|
||||
|
||||
if pointer != 0 {
|
||||
if err = ReadDummy(r, int(pointer)); err != nil {
|
||||
return
|
||||
@ -684,4 +682,3 @@ func ReadPESHeader(r io.Reader) (res *PESHeader, err error) {
|
||||
res = self
|
||||
return
|
||||
}
|
||||
|
||||
|
6
track.go
6
track.go
@ -1,9 +1,8 @@
|
||||
|
||||
package ts
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"github.com/nareix/mp4/isom"
|
||||
"github.com/nareix/codec/aacparser"
|
||||
)
|
||||
|
||||
type Track struct {
|
||||
@ -16,7 +15,7 @@ type Track struct {
|
||||
PTS int64
|
||||
timeScale int64
|
||||
|
||||
mpeg4AudioConfig isom.MPEG4AudioConfig
|
||||
mpeg4AudioConfig aacparser.MPEG4AudioConfig
|
||||
buf bytes.Buffer
|
||||
payload []byte
|
||||
peshdr *PESHeader
|
||||
@ -36,4 +35,3 @@ const (
|
||||
H264 = 1
|
||||
AAC = 2
|
||||
)
|
||||
|
||||
|
2
ts.go
2
ts.go
@ -1,4 +1,3 @@
|
||||
|
||||
package ts
|
||||
|
||||
import (
|
||||
@ -116,4 +115,3 @@ func (self FieldsDumper) String() (res string) {
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
package ts
|
||||
|
||||
import (
|
||||
@ -8,4 +7,3 @@ import (
|
||||
func TestPESTsConv(t *testing.T) {
|
||||
t.Logf("%x", PESTsToUInt(0x123))
|
||||
}
|
||||
|
||||
|
10
vecio.go
10
vecio.go
@ -1,13 +1,12 @@
|
||||
|
||||
package ts
|
||||
|
||||
import (
|
||||
"io"
|
||||
"os"
|
||||
"net"
|
||||
"fmt"
|
||||
"unsafe"
|
||||
"io"
|
||||
"net"
|
||||
"os"
|
||||
"syscall"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
type iovec struct {
|
||||
@ -134,4 +133,3 @@ func newVecWriter(w io.Writer) (vecw *vecWriter) {
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -1,10 +1,9 @@
|
||||
|
||||
package ts
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"io"
|
||||
"bytes"
|
||||
)
|
||||
|
||||
var DebugWriter = false
|
||||
@ -701,4 +700,3 @@ func (self *SimpleH264Writer) WriteNALU(sync bool, duration int, nalu []byte) (e
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
|
@ -1,10 +1,9 @@
|
||||
|
||||
package ts
|
||||
|
||||
import (
|
||||
"testing"
|
||||
"encoding/hex"
|
||||
"bytes"
|
||||
"encoding/hex"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestWriteTSHeader(t *testing.T) {
|
||||
@ -16,4 +15,3 @@ func TestWriteTSHeader(t *testing.T) {
|
||||
w.Write([]byte{'h', 'e', 'l', 'o'}[:], false)
|
||||
t.Logf("\n%s", hex.Dump(bw.Bytes()))
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user