set PCR before write ts header

This commit is contained in:
nareix 2016-03-28 15:21:24 +08:00
parent 6164f70ade
commit 431a02254d

View File

@ -15,7 +15,6 @@ type Track struct {
writeSPS bool writeSPS bool
spsHasWritten bool spsHasWritten bool
pcrHasWritten bool
mux *Muxer mux *Muxer
streamId uint streamId uint
@ -25,12 +24,7 @@ type Track struct {
} }
func (self *Track) setPCR() { func (self *Track) setPCR() {
if !self.pcrHasWritten { self.tsw.PCR = uint64(self.PTS)*PCR_HZ/uint64(self.TimeScale)
self.tsw.PCR = 24300000
self.pcrHasWritten = true
} else {
self.tsw.PCR = 0
}
} }
func (self *Track) getPesHeader(dataLength int) (data []byte){ func (self *Track) getPesHeader(dataLength int) (data []byte){
@ -129,7 +123,6 @@ func (self *Muxer) AddAACTrack() (track *Track) {
ElementaryStreamInfo{StreamType: ElementaryStreamTypeAdtsAAC, ElementaryPID: 0x101}, ElementaryStreamInfo{StreamType: ElementaryStreamTypeAdtsAAC, ElementaryPID: 0x101},
) )
track = newTrack(self, 0x101, StreamIdAAC) track = newTrack(self, 0x101, StreamIdAAC)
track.pcrHasWritten = true
track.cacheSize = 3000 track.cacheSize = 3000
self.Tracks = append(self.Tracks, track) self.Tracks = append(self.Tracks, track)
return return
@ -179,7 +172,6 @@ func (self *Muxer) WriteHeader() (err error) {
for _, track := range(self.Tracks) { for _, track := range(self.Tracks) {
track.spsHasWritten = false track.spsHasWritten = false
track.pcrHasWritten = false
} }
return return