basesrc: ensure submitted buffer list is writable

Fixes flaky appsrc unit test where depending on scheduling
the submitted list might not be writable if submitted via
an action signal from the application thread.

Fixes gst-plugins-base#522
This commit is contained in:
Tim-Philipp Müller 2018-12-19 00:34:40 +00:00
parent 4c87b6ee84
commit f37190e6d1

View file

@ -4027,7 +4027,8 @@ gst_base_src_submit_buffer_list (GstBaseSrc * src, GstBufferList * buffer_list)
g_return_if_fail (GST_IS_BUFFER_LIST (buffer_list));
g_return_if_fail (BASE_SRC_HAS_PENDING_BUFFER_LIST (src) == FALSE);
src->priv->pending_bufferlist = buffer_list;
/* we need it to be writable later in get_range() where we use get_writable */
src->priv->pending_bufferlist = gst_buffer_list_make_writable (buffer_list);
GST_LOG_OBJECT (src, "%u buffers submitted in buffer list",
gst_buffer_list_length (buffer_list));