Skip to content

你好,我注意到了你们关于#2613问题的修改 (Question regarding #2613) #2930

@zhangyuankai

Description

@zhangyuankai

你们的回答是这样的:
怀疑问题出在包含分片单元的RTP数据包丢失上。根据RTSP的H264和H265 RFC规范,"如果分片单元丢失,接收方应丢弃所有后续对应于同一NAL单元的分片单元”。ExoPlaver目前并未执行此操作,因此可能会写入不完整的NAL单元.

我的疑问是,如果出问题的这一个NAL单元有问题,下一个NAL单元应该是可以正常解码并播放的吧,那么问什么有问题的这个NAL单元会导致SampleDataQueue这个地方一直在增长,最终导致堆内存溢出呢,
感谢解答

Auto-translated in English:

Your response was as follows:
The problem is suspected to be the loss of RTP packets containing fragmented units. According to the RTSP H.264 and H.265 RFC specifications, "If a fragmented unit is lost, the receiver should discard all subsequent fragmented units corresponding to the same NAL unit." ExoPlaver does not currently perform this operation, and therefore may be writing incomplete NAL units.

My question is, if the problematic NAL unit has a problem, shouldn't the next NAL unit be able to decode and play normally? So why does the problematic NAL unit cause the SampleDataQueue to keep growing, eventually leading to a heap memory overflow?
Thank you for your answer.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions