-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # 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: