androidx / androidx/media

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

Open
#2,930 13 comments 0 reactions 1 assignee View on GitHub

@microkatz is already working on this.

Since Dec 8, 2025.

question
Dominant language
Java
Stars
3k
Forks
955
Avg merge
12d 14h
Merged PRs (30d)
2

Description

你们的回答是这样的:
怀疑问题出在包含分片单元的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.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.