GNOME Bugzilla – Bug 749447
gstv4l2bufferpool: gst_v4l2_allocator_probe cause reqbufs failed
Last modified: 2015-05-16 13:37:18 UTC
gst_v4l2_allocator_probe will use count=0 to detect whether that type of buffer is supported, unfortunately, it will break the state inside the exynos MFC 5.1 driver in kernel 3.16 and master. [ 33.661038] reqbufs_output:474: Freeing buffers [ 33.661057] s5p_mfc_clock_on:82: + 2 [ 33.661071] s5p_mfc_close_inst_cmd_v5:139: Returning instance number -1 [ 33.661116] s5p_mfc_irq:605: enter [ 33.661137] s5p_mfc_irq:612: Int reason: 32 (err: 00000004) [ 33.661144] s5p_mfc_handle_error:421: Interrupt Error: 00000004 [ 33.661220] s5p_mfc_clock_off:92: - 1 [ 33.661232] s5p_mfc_irq:690: leave [ 33.661256] s5p_mfc_wait_for_done_ctx:79: Finished waiting (ctx->int_type:32, command: 6) [ 33.661272] s5p_mfc_close_mfc_inst:454: Err returning instance [ 33.661335] s5p_mfc_clock_off:92: - 0 Then ctx->state inside become MFCINST_FREE, but in order to request buffers, it need state to be MFCINST_INIT. [ 33.664309] reqbufs_output:485: Reqbufs called in an invalid state [ 33.669298] s5p_mfc_clock_off:92: - 0 [ 33.669319] reqbufs_output:511: Failed allocating buffers for OUTPUT queue I don't know whether I should fix the kernel or gstreamer itself as v4l2 document doesn't give me an answer.
This is a bug in the kernel driver.