Videodecoder PTS&DTS question
Carlos Rafael Giani
dv at pseudoterminal.org
Thu Mar 20 05:07:03 PDT 2014
Nevermind, I found out that I was associating the wrong frames. Input
frame #1 was getting associated with output frame #0 etc. so input frame
#1 was never finished. This explains the timestamp problems.
> Hello,
>
> I have noticed that when a frame with valid dts but no valid pts is
> pushed downstream with the video decoder finish_frame() call, the
> videodecoder class will internally reuse the DTS of the *last* frame
> for the PTS. As seen here:
> http://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/gst-libs/gst/video/gstvideodecoder.c#n2406
>
> I wonder why it is not using the DTS of the current frame. I have a
> test video here, with MPEG-4 part 2 encoded data, in an AVI container.
> Keyframes have valid PTS, the rest doesn't. The video shows a circle
> moving steadily and slowly over the screen. Result: at the keyframes,
> the circle "jumps" - playback is not smooth. By checking the PTS prior
> to finishing, and using PTS = DTS , the jumps go away.
>
> However, I am not sure doing this check is a good idea in general.
> Maybe this is actually covering a bug in the AVI demuxer for example?
> Opinions?
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
More information about the gstreamer-devel
mailing list