mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
FLV: Drop packet if header flag is not matched. v5.0.109 (#3306)
1. Ignore audo or video packets if FLV header disable it. 2. Run: Add regression test config and run for IDEA. 3. Test: Refine regression test to allow no audio/video for FLV 4. Config: Whether drop packet if not match header.
This commit is contained in:
parent
35185cf844
commit
4551200e95
13 changed files with 191 additions and 42 deletions
20
trunk/3rdparty/srs-bench/srs/rtc_test.go
vendored
20
trunk/3rdparty/srs-bench/srs/rtc_test.go
vendored
|
@ -2046,18 +2046,12 @@ func TestRtcPublish_FlvPlay(t *testing.T) {
|
|||
}
|
||||
defer f.Close()
|
||||
|
||||
var version uint8
|
||||
var hasVideo, hasAudio bool
|
||||
if version, hasVideo, hasAudio, err = f.ReadHeader(); err != nil {
|
||||
if _, hasVideo, hasAudio, err = f.ReadHeader(); err != nil {
|
||||
logger.Tf(ctx, "Flv demuxer read header failed, err=%v", err)
|
||||
return
|
||||
}
|
||||
|
||||
// Optional, user can check the header.
|
||||
_ = version
|
||||
_ = hasAudio
|
||||
_ = hasVideo
|
||||
|
||||
var nnVideo, nnAudio int
|
||||
var prevVideoTimestamp, prevAudioTimestamp int64
|
||||
|
||||
|
@ -2083,14 +2077,12 @@ func TestRtcPublish_FlvPlay(t *testing.T) {
|
|||
prevVideoTimestamp = (int64)(timestamp)
|
||||
}
|
||||
|
||||
if nnAudio >= 10 && nnVideo >= 10 {
|
||||
audioPacketsOK, videoPacketsOK := !hasAudio || nnAudio >= 10, !hasVideo || nnVideo >= 10
|
||||
if audioPacketsOK && videoPacketsOK {
|
||||
avDiff := prevVideoTimestamp - prevAudioTimestamp
|
||||
// Check timestamp gap between video and audio, make sure audio timestamp align to video timestamp.
|
||||
if avDiff <= 50 && avDiff >= -50 {
|
||||
logger.Tf(ctx, "Flv recv %v audio, %v video, timestamp gap=%v", nnAudio, nnVideo, avDiff)
|
||||
cancel()
|
||||
break
|
||||
}
|
||||
logger.Tf(ctx, "Flv recv %v/%v audio, %v/%v video, avDiff=%v", hasAudio, nnAudio, hasVideo, nnVideo, avDiff)
|
||||
cancel()
|
||||
break
|
||||
}
|
||||
|
||||
_ = tag
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue