examples: add MakeIncrement

This commit is contained in:
nareix 2016-07-18 16:19:54 +08:00
parent 2db58d0acc
commit bc5e321c39

View File

@ -89,6 +89,7 @@ func main() {
if ch != nil { if ch != nil {
cursor := ch.que.Latest() cursor := ch.que.Latest()
query := conn.URL.Query() query := conn.URL.Query()
if q := query.Get("delaygop"); q != "" { if q := query.Get("delaygop"); q != "" {
n := 0 n := 0
fmt.Sscanf(q, "%d", &n) fmt.Sscanf(q, "%d", &n)
@ -97,16 +98,21 @@ func main() {
dur, _ := time.ParseDuration(q) dur, _ := time.ParseDuration(q)
cursor = ch.que.DelayedTime(dur) cursor = ch.que.DelayedTime(dur)
} }
filters := pktque.Filters{} filters := pktque.Filters{}
if q := query.Get("waitkey"); q != "" { if q := query.Get("waitkey"); q != "" {
filters = append(filters, &pktque.WaitKeyFrame{}) filters = append(filters, &pktque.WaitKeyFrame{})
} }
filters = append(filters, &pktque.FixTime{StartFromZero: true})
filters = append(filters, &pktque.FixTime{StartFromZero: true, MakeIncrement: true})
if q := query.Get("framedrop"); q != "" { if q := query.Get("framedrop"); q != "" {
n := 0 n := 0
fmt.Sscanf(q, "%d", &n) fmt.Sscanf(q, "%d", &n)
filters = append(filters, &FrameDropper{Interval: n}) filters = append(filters, &FrameDropper{Interval: n})
} }
if q := query.Get("delayskip"); q != "" { if q := query.Get("delayskip"); q != "" {
dur, _ := time.ParseDuration(q) dur, _ := time.ParseDuration(q)
skipper := &FrameDropper{DelaySkip: dur} skipper := &FrameDropper{DelaySkip: dur}
@ -117,10 +123,12 @@ func main() {
} }
filters = append(filters, skipper) filters = append(filters, skipper)
} }
demuxer := &pktque.FilterDemuxer{ demuxer := &pktque.FilterDemuxer{
Filter: filters, Filter: filters,
Demuxer: cursor, Demuxer: cursor,
} }
avutil.CopyFile(conn, demuxer) avutil.CopyFile(conn, demuxer)
} }
} }