-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SeqManager generate discontinue sequence number in h264 svc mode #1101
Comments
Hi, I don't see any proper solution here since the If we assigned the |
Hi, we should only deliver I frame(with sequence [11, 15]) and P2 frame(with sequence [21, 25]) to consumer . The situation above (packet 18 is lost) generate discontinue sequence when we deliver I farme(with sequence [11, 15]) and P2 frame(with sequence [21, 25]) to consumer. webrtc client can't handle correctly discontinue sequence in h264. Please bear with me, I'm not a native English speaker, so I hope i have made it clear. |
I understand the problem. It is only the codec I'm open to proposals. |
In the example provided:
Rtp packets 16-20 belongs to the same frame so they must have same RTP timestamp. That makes possible to deduce that packet 18 also belongs to the same frame and can be dropped. |
Environment :
L1T3 h264 svc mode
I frame with sequence range [11, 15], TemporalLayer : 0, SpatialLayer : 0
P1 frame with sequence range [16, 20], TemporalLayer : 2, SpatialLayer : 0
P2 frame with sequence range[21, 25], TemporalLayer : 1, SpatialLayer : 0
SVC consumer TargetTemporalLayer: 1, TargetSpatialLayer 0
Issue description
svc consumer receive video rtp packet as follow:
seqManager.Sync(11 -1); // first packet is keyframe
rtp packet 11 -----------> seqManager output seq 1
rtp packet 12 ------------> seqManager output seq 2
rtp packet 13 ------------> seqManager output seq 3
rtp packet 14 ------------> seqManager output seq 4
rtp packet 15 ------------> seqManager output seq 5
rtp packet 16 ------------> The packet was droped , TemporalLayer > TargetTemporalLayer
rtp packet 17 ------------> The packet was droped , TemporalLayer > TargetTemporalLayer
rtp packet 18 ------------> The packet is lost, server did not receive it
rtp packet 19 ------------> The packet was droped , TemporalLayer > TargetTemporalLayer
rtp packet 20 ------------> The packet was droped , TemporalLayer > TargetTemporalLayer
rtp packet 21 ------------> seqManager output seq 7, but expected value should be 6
There is a sequence gap when server deliver I frame(with seq [15,20]) and P2 frame (with seq [21, 25]) to consumer.
The text was updated successfully, but these errors were encountered: