[Bug 779696] New: Videocompositor halts if PTS = none

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Mar 7 08:39:35 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=779696

            Bug ID: 779696
           Summary: Videocompositor halts if PTS = none
    Classification: Platform
           Product: GStreamer
           Version: 1.11.1
                OS: Mac OS
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-bad
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: socialmediamaster9000 at gmail.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

VideoAggregator errors when it receives a frame with PTS = TIME_NONE

https://github.com/GStreamer/gst-plugins-bad/blob/08c52c931e5145a569da1efcd53d77e0090ec898/gst-libs/gst/video/gstvideoaggregator.c#L1128

Perhaps it should drop the frame instead and continue?

=== PS ===

The bad PTS, in my case, is coming from rtpbasedepayload, I think. I have found
a case where it will emit frames out of order and then will emit multiple
frames with no PTS, one sync and another non-sync. I don't know the root cause,
but here is a log showing the input to gstvideodecoder:

0:00:31.022978000 84684 0x7fd5c808e280 WARN            videodecoder
gstvideodecoder.c:2767:void
gst_video_decoder_prepare_finish_frame(GstVideoDecoder *, GstVideoCodecFrame *,
gboolean):<vtdec0> decreasing timestamp (0:00:27.235867490 < 0:00:27.258838694)
0:00:31.055632000 84684 0x7fd5c808e280 DEBUG           videodecoder
gstvideodecoder.c:2730:void
gst_video_decoder_prepare_finish_frame(GstVideoDecoder *, GstVideoCodecFrame *,
gboolean):<vtdec0> invalidating PTS
0:00:31.056315000 84684 0x7fd5c808e280 LOG             videodecoder
gstvideodecoder.c:2416:GstFlowReturn gst_video_decoder_chain(GstPad *,
GstObject *, GstBuffer *):<vtdec0> chain PTS 99:99:99.999999999, DTS
0:00:26.953637406 duration 99:99:99.999999999 size 5007
0:00:31.056345000 84684 0x7fd5c808e280 LOG             videodecoder
gstvideodecoder.c:3374:GstFlowReturn
gst_video_decoder_decode_frame(GstVideoDecoder *, GstVideoCodecFrame
*):<vtdec0> PTS 99:99:99.999999999, DTS 0:00:26.953637406, dist 300
0:00:31.056840000 84684 0x7fd5c808e280 LOG             videodecoder
gstvideodecoder.c:2416:GstFlowReturn gst_video_decoder_chain(GstPad *,
GstObject *, GstBuffer *):<vtdec0> chain PTS 99:99:99.999999999, DTS
0:00:26.956768313 duration 99:99:99.999999999 size 3546
0:00:31.056870000 84684 0x7fd5c808e280 LOG             videodecoder
gstvideodecoder.c:3374:GstFlowReturn
gst_video_decoder_decode_frame(GstVideoDecoder *, GstVideoCodecFrame
*):<vtdec0> PTS 99:99:99.999999999, DTS 0:00:26.956768313, dist 301
0:00:31.057982000 84684 0x7fd5c808e280 LOG             videodecoder
gstvideodecoder.c:2612:void
gst_video_decoder_prepare_finish_frame(GstVideoDecoder *, GstVideoCodecFrame *,
gboolean):<vtdec0> finish frame 0x7fd5c632ad00 (#300) sync:1
PTS:99:99:99.999999999 DTS:0:00:26.953637406
0:00:31.058014000 84684 0x7fd5c808e280 WARN            videodecoder
gstvideodecoder.c:2767:void
gst_video_decoder_prepare_finish_frame(GstVideoDecoder *, GstVideoCodecFrame *,
gboolean):<vtdec0> decreasing timestamp (0:00:26.953637406 < 0:00:27.258838694)
0:00:31.058135000 84684 0x7fd5c808e280 WARN            videodecoder
gstvideodecoder.c:2767:void
gst_video_decoder_prepare_finish_frame(GstVideoDecoder *, GstVideoCodecFrame *,
gboolean):<vtdec0> decreasing timestamp (0:00:27.257010699 < 0:00:27.258838694)
0:00:31.058940000 84684 0x7fd5c808e280 LOG             videodecoder
gstvideodecoder.c:2612:void
gst_video_decoder_prepare_finish_frame(GstVideoDecoder *, GstVideoCodecFrame *,
gboolean):<vtdec0> finish frame 0x7fd5c6372a20 (#301) sync:0
PTS:99:99:99.999999999 DTS:0:00:26.956768313
0:00:31.058987000 84684 0x7fd5c808e280 DEBUG           videodecoder
gstvideodecoder.c:3174:GstFlowReturn
gst_video_decoder_clip_and_push_buf(GstVideoDecoder *, GstBuffer *):<vtdec0>
pushing buffer 0x7fd5c63722b0 of size 115200, PTS 99:99:99.999999999, dur
99:99:99.999999999
0:00:31.059808000 84684 0x7fd5c808e280 WARN            videodecoder
gstvideodecoder.c:2767:void
gst_video_decoder_prepare_finish_frame(GstVideoDecoder *, GstVideoCodecFrame *,
gboolean):<vtdec0> decreasing timestamp (0:00:27.169113426 < 0:00:27.258838694)
0:00:31.061337000 84684 0x7fd5c808e280 WARN            videodecoder
gstvideodecoder.c:2767:void
gst_video_decoder_prepare_finish_frame(GstVideoDecoder *, GstVideoCodecFrame *,
gboolean):<vtdec0> decreasing timestamp (0:00:27.127792885 < 0:00:27.258838694)

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list