question

fancybits avatar image
fancybits asked

BUG: Latest generation FireTVs (AFTN/AFTA) produce overlapping PTS output when decoding interlaced H264

For example, try decoding https://s3.amazonaws.com/tmm1/uk-interlaced-h264.ts using VLC or Exoplayer (with FLAG_ALLOW_NON_IDR_KEYFRAMES set).

The decoder will return output buffers which have overlapping PTS values. When using releaseOutputBuffer(true) to render them, the video rendered will be choppy as multiple frames will try to render at the same time.

The decoder itself notices it is creating broken output, and logs every time an overlapping PTS is generated:

07-20 09:45:28.363 11082-11187/com.google.android.exoplayer2.demo I/MediaCodecLogger: com.google.android.exoplayer2.demo.HW.video.avc Repeating PTS in Output = 65680000
07-20 09:45:28.414 11082-11187/com.google.android.exoplayer2.demo I/MediaCodecLogger: com.google.android.exoplayer2.demo.HW.video.avc Repeating PTS in Output = 65720000
07-20 09:45:28.445 11082-11187/com.google.android.exoplayer2.demo I/MediaCodecLogger: com.google.android.exoplayer2.demo.HW.video.avc Repeating PTS in Output = 65760000
07-20 09:45:28.485 11082-11187/com.google.android.exoplayer2.demo I/MediaCodecLogger: com.google.android.exoplayer2.demo.HW.video.avc Repeating PTS in Output = 65800000
07-20 09:45:28.534 11082-11187/com.google.android.exoplayer2.demo I/MediaCodecLogger: com.google.android.exoplayer2.demo.HW.video.avc Repeating PTS in Output = 65840000
07-20 09:45:28.564 11082-11187/com.google.android.exoplayer2.demo I/MediaCodecLogger: com.google.android.exoplayer2.demo.HW.video.avc Repeating PTS in Output = 65880000
07-20 09:45:28.616 11082-11187/com.google.android.exoplayer2.demo I/MediaCodecLogger: com.google.android.exoplayer2.demo.HW.video.avc Repeating PTS in Output = 65920000
07-20 09:45:28.962 11082-11187/com.google.android.exoplayer2.demo I/MediaCodecLogger: com.google.android.exoplayer2.demo.HW.video.avc Repeating PTS in Output = 66280000
07-20 09:45:29.010 11082-11187/com.google.android.exoplayer2.demo I/MediaCodecLogger: com.google.android.exoplayer2.demo.HW.video.avc Repeating PTS in Output = 66320000
07-20 09:45:29.052 11082-11187/com.google.android.exoplayer2.demo I/MediaCodecLogger: com.google.android.exoplayer2.demo.HW.video.avc Repeating PTS in Output = 66360000
07-20 09:45:29.081 11082-11187/com.google.android.exoplayer2.demo I/MediaCodecLogger: com.google.android.exoplayer2.demo.HW.video.avc Repeating PTS in Output = 66400000
07-20 09:45:29.132 11082-11187/com.google.android.exoplayer2.demo I/MediaCodecLogger: W.rot11.com.google.android.exoplayer2.demo.HW.video.avc Repeating PTS in Output = 66440000
07-20 09:45:29.163 11082-11187/com.google.android.exoplayer2.demo I/MediaCodecLogger: W.rot12.com.google.android.exoplayer2.demo.HW.video.avc Repeating PTS in Output = 66480000
07-20 09:45:29.214 11082-11187/com.google.android.exoplayer2.demo I/MediaCodecLogger: W.rot13.com.google.android.exoplayer2.demo.HW.video.avc Repeating PTS in Output = 66520000
07-20 09:45:29.245 11082-11187/com.google.android.exoplayer2.demo I/MediaCodecLogger: W.rot14.com.google.android.exoplayer2.demo.HW.video.avc Repeating PTS in Output = 66560000 
fire tvvideoapp
1 comment
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Thanks fancybits, and this report also forwarded to the Fire TV team. Thanks!

1 Like 1 ·

0 Answers