[Libav-user] Decoding Packets, missing Frames at End

Ronny Wegener max_schmerz at gmx.net
Tue Feb 5 10:58:22 CET 2013


i'm running a simple while loop, reading all video packets, decode the
corresponding frames and print the timestamps.

The first frame is successfully decoded after reading the fifth
packet. So the while loop stops after reading the last packet, before
i decoded all frames:

  packet.pts=0 => GOT NO PICTURE
  packet.pts=1 => GOT NO PICTURE
  packet.pts=2 => GOT NO PICTURE
  packet.pts=3 => GOT NO PICTURE
  packet.pts=4 => frame.pts=0
  packet.pts=5 => frame.pts=1
  packet.pts=6 => frame.pts=2
  packet.pts=7 => frame.pts=3
  packet.pts=8 => frame.pts=4
  packet.pts=9 => frame.pts=5

It seems the packets are buffered, how can i decode the last frames
from the internal buffered packets?

+ source code: http://pastebin.com/SjLYQfS7
+ demo project: http://rghost.net/43560908

More information about the Libav-user mailing list