After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 747546 - vtenc: "Output state was not configured"
vtenc: "Output state was not configured"
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other All
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-04-09 06:42 UTC by Ilya Konstantinov
Modified: 2018-11-03 13:33 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Ilya Konstantinov 2015-04-09 06:42:14 UTC
gst_vtenc_finish might be called before gst_vtenc_encode_frame ever manages to encode a single frame, i.e.

  i = 0;
  while (g_async_queue_length (self->cur_outframes) > 0) {
    GstVideoCodecFrame *outframe = g_async_queue_try_pop (self->cur_outframes);

    /* Try to renegotiate once */
    if (i == 0) {
      meta = gst_buffer_get_core_media_meta (outframe->output_buffer);
      if (!gst_vtenc_negotiate_downstream (self, meta->sample_buf)) {

           ^^ this code might never run before gst_vtenc_finish


In such case, VT's queue will be flushed and gst_video_encoder_finish_frame will be called for every frame, but negotiation will never happen, and therefore:

ERROR           videoencoder gstvideoencoder.c:2033:GstFlowReturn gst_video_encoder_finish_frame(GstVideoEncoder *, GstVideoCodecFrame *):<vtenc_h264-0> Output state was not configured
Comment 1 Sebastian Dröge (slomo) 2015-04-26 18:19:02 UTC
This negotiate code is all a bit weird. It should a) override the negotiate vfunc for that, b) always call that if no output state is set. No need to call it all the time if i == 0... and also call it before finish_frame() if no output state was set yet.
Comment 2 GStreamer system administrator 2018-11-03 13:33:41 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/235.