mirror of
https://github.com/aler9/gortsplib
synced 2025-10-27 17:21:22 +08:00
simplify examples (#389)
This commit is contained in:
@@ -18,12 +18,11 @@ type mpegtsMuxer struct {
|
|||||||
sps []byte
|
sps []byte
|
||||||
pps []byte
|
pps []byte
|
||||||
|
|
||||||
f *os.File
|
f *os.File
|
||||||
b *bufio.Writer
|
b *bufio.Writer
|
||||||
w *mpegts.Writer
|
w *mpegts.Writer
|
||||||
track *mpegts.Track
|
track *mpegts.Track
|
||||||
dtsExtractor *h264.DTSExtractor
|
dtsExtractor *h264.DTSExtractor
|
||||||
firstIDRReceived bool
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// newMPEGTSMuxer allocates a mpegtsMuxer.
|
// newMPEGTSMuxer allocates a mpegtsMuxer.
|
||||||
@@ -103,26 +102,18 @@ func (e *mpegtsMuxer) encode(au [][]byte, pts time.Duration) error {
|
|||||||
|
|
||||||
var dts time.Duration
|
var dts time.Duration
|
||||||
|
|
||||||
if !e.firstIDRReceived {
|
if e.dtsExtractor == nil {
|
||||||
// skip samples silently until we find one with a IDR
|
// skip samples silently until we find one with a IDR
|
||||||
if !idrPresent {
|
if !idrPresent {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
e.firstIDRReceived = true
|
|
||||||
e.dtsExtractor = h264.NewDTSExtractor()
|
e.dtsExtractor = h264.NewDTSExtractor()
|
||||||
|
}
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
dts, err = e.dtsExtractor.Extract(au, pts)
|
dts, err = e.dtsExtractor.Extract(au, pts)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
|
||||||
} else {
|
|
||||||
var err error
|
|
||||||
dts, err = e.dtsExtractor.Extract(au, pts)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// encode into MPEG-TS
|
// encode into MPEG-TS
|
||||||
|
|||||||
@@ -18,12 +18,11 @@ type mpegtsMuxer struct {
|
|||||||
sps []byte
|
sps []byte
|
||||||
pps []byte
|
pps []byte
|
||||||
|
|
||||||
f *os.File
|
f *os.File
|
||||||
b *bufio.Writer
|
b *bufio.Writer
|
||||||
w *mpegts.Writer
|
w *mpegts.Writer
|
||||||
track *mpegts.Track
|
track *mpegts.Track
|
||||||
dtsExtractor *h264.DTSExtractor
|
dtsExtractor *h264.DTSExtractor
|
||||||
firstIDRReceived bool
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// newMPEGTSMuxer allocates a mpegtsMuxer.
|
// newMPEGTSMuxer allocates a mpegtsMuxer.
|
||||||
@@ -103,26 +102,18 @@ func (e *mpegtsMuxer) encode(au [][]byte, pts time.Duration) error {
|
|||||||
|
|
||||||
var dts time.Duration
|
var dts time.Duration
|
||||||
|
|
||||||
if !e.firstIDRReceived {
|
if e.dtsExtractor == nil {
|
||||||
// skip samples silently until we find one with a IDR
|
// skip samples silently until we find one with a IDR
|
||||||
if !idrPresent {
|
if !idrPresent {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
e.firstIDRReceived = true
|
|
||||||
e.dtsExtractor = h264.NewDTSExtractor()
|
e.dtsExtractor = h264.NewDTSExtractor()
|
||||||
|
}
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
dts, err = e.dtsExtractor.Extract(au, pts)
|
dts, err = e.dtsExtractor.Extract(au, pts)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
|
||||||
} else {
|
|
||||||
var err error
|
|
||||||
dts, err = e.dtsExtractor.Extract(au, pts)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// encode into MPEG-TS
|
// encode into MPEG-TS
|
||||||
|
|||||||
Reference in New Issue
Block a user