[Bug 753257] avenc_mjpeg does not play well with appsrc do-timestamp=true

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Oct 5 03:16:58 PDT 2015


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

--- Comment #11 from Francois Gouget <fgouget at codeweavers.com> ---
Created attachment 312667
  --> https://bugzilla.gnome.org/attachment.cgi?id=312667&action=edit
Small self-contained test program in C

To reproduce the problem invoke the test program with no argument. It will
remain stuck after a couple of frames:
$ GST_DEBUG=1 ./mjpeg-timestamp
appsrc name=src format=2 do-timestamp=true ! videoconvert ! avenc_mjpeg
max-threads=1 ! appsink name=sink
setting state to PLAYING
encoding frame 0
  pushing...
  pulling...
encoding frame 1
  pushing...
  pulling...
encoding frame 2
  pushing...
  pulling...
0:00:00.013567948 17286       0xba4190 ERROR                  libav :0::
Invalid pts (0) <= last (0)
0:00:00.013589815 17286       0xba4190 ERROR                  libav
gstavvidenc.c:703:gst_ffmpegvidenc_handle_frame:<encoder> avenc_mjpeg: failed
to encode buffer

But if you tell it to remove the clock it will successfully encode the 40
frames:
$ ./mjpeg-timestamp jpeg,noclock


For comparison points you can also try the VP8 encoder which works just fine,
clock or no clock:
$ ./mjpeg-timestamp vp8
$ ./mjpeg-timestamp vp8,noclock


Finally enabling threading in avenc_mjpeg locks up which I guess is somewhat
expected at this point. So I'll ignore that for now:
$ ./mjpeg-timestamp jpeg,threads
$ ./mjpeg-timestamp jpeg,threads,noclock

-- 
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