Closed Bug 897486 Opened 11 years ago Closed 8 years ago

RTSP: investigate the impact of rtsp data discarding on I-Frames and media decoding

Categories

(Firefox OS Graveyard :: RTSP, defect)

x86_64
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(tracking-b2g:backlog)

RESOLVED WONTFIX
tracking-b2g backlog

People

(Reporter: bechen, Assigned: bechen)

References

Details

This bug is forked from bug 831645 comment 104.

As we know, the RTSP is a network stream and there is a "ring buffer" in the RtspMedaiResource. The data may loss due to
1. The data rate comes from network is faster than decoder, so we need to overwrite some data because the ring buffer is full.
2. RTP packet loss/malformed.

In these cases, we want to investigate what happened if we loss the I-Frame.

In my thought, we can detect I-Frame at AVCAssembler/MPEG4ElementaryAssembler and pass the I-Frame info to RtspMedaiResource.
Regarding the RTP packet loss/malformed, we can also notify the RtspMedaiResource but seems useless because we don't know the type miss frame.

Or we can study the codec(H263/H264) to see if there exist a default behavior if I-Frame is missing.
Blocks: b2g-RTSP-1.3
Basically, I-frame is the base frame for motion vetor, any data loss in I-frame should cause damaged frame. If the whole frame got lost, the video will decoded incorrectly unless the scene is rather static untill next I-frame comes.
blocking-b2g: --- → 1.3?
Whiteboard: [ft:ril]
Blocks: backlog-RIL/Net/Conn
No longer blocks: b2g-RTSP-1.3
blocking-b2g: 1.3? → ---
Component: General → RTSP
Whiteboard: [ft:ril]
blocking-b2g: --- → backlog
Since we suspect the video quality is bad(or some corrupt frames) after pause/play,
we can try to detect H264 iframe first then observe the RTSP server behavior in pause/play.

http://stackoverflow.com/questions/1957427/detect-mpeg4-h264-i-frame-idr-in-rtp-stream
blocking-b2g: backlog → ---
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.