mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-20 04:56:24 +00:00
v4l2videoenc: Delay capture pool activation
This is support CODA driver which prevents setting the output format if the capture is streaming. https://bugzilla.gnome.org/show_bug.cgi?id=791338
This commit is contained in:
parent
97985a335c
commit
4aa5298f56
1 changed files with 8 additions and 6 deletions
|
@ -343,6 +343,14 @@ gst_v4l2_video_enc_set_format (GstVideoEncoder * encoder,
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* activating a capture pool will also call STREAMON. CODA driver will
|
||||||
|
* refuse to configure the output if the capture is stremaing. */
|
||||||
|
if (!gst_buffer_pool_set_active (GST_BUFFER_POOL (self->v4l2capture->pool),
|
||||||
|
TRUE)) {
|
||||||
|
GST_WARNING_OBJECT (self, "Could not activate capture buffer pool.");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
self->input_state = gst_video_codec_state_ref (state);
|
self->input_state = gst_video_codec_state_ref (state);
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (self, "output caps: %" GST_PTR_FORMAT, state->caps);
|
GST_DEBUG_OBJECT (self, "output caps: %" GST_PTR_FORMAT, state->caps);
|
||||||
|
@ -581,12 +589,6 @@ gst_v4l2_video_enc_negotiate (GstVideoEncoder * encoder)
|
||||||
if (!GST_VIDEO_ENCODER_CLASS (parent_class)->negotiate (encoder))
|
if (!GST_VIDEO_ENCODER_CLASS (parent_class)->negotiate (encoder))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
if (!gst_buffer_pool_set_active (GST_BUFFER_POOL (self->v4l2capture->pool),
|
|
||||||
TRUE)) {
|
|
||||||
GST_WARNING_OBJECT (self, "Could not activate capture buffer pool.");
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
g_ctrl_failed:
|
g_ctrl_failed:
|
||||||
|
|
Loading…
Reference in a new issue