Monday, September 19, 2011

[android-developers] Frame Drop Management in Video Player

Dear Experts,

In Video playback, the current algorithm uses the audio track's time
source as reference and based on the thresholds, a decision is taken
if a video frame can be rendered or dropped or delayed. This is
implemented in AwesomePlayer.cpp, onVideoEvent method.

If there is some block in the system due to some hardware issue which
introduces a very long delay, the current algorithm starts dropping
the video frames. However, the decision to drop a frame is taken after
the same has been decoded and not during parsing.

In other words, all subsequent frames potentially would be dropped and
the catch-up or resynchronization depends on the speed of the decoder.
However, this leads a bad user experience as the video playback
appears stuck/stalled.

In these scenarios, shouldn't the system be able to resynchronize
faster i.e. skip frames at parser level and start decoding from a key
frame at the new position?

Could someone explain why a similar strategy wasn't adopted?

Thanks in advance.

Ganesh

--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

No comments:

Post a Comment