From f37190e6d1e3e96ae50c036c8afd8c9273ae950b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Wed, 19 Dec 2018 00:34:40 +0000 Subject: [PATCH] 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 --- libs/gst/base/gstbasesrc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libs/gst/base/gstbasesrc.c b/libs/gst/base/gstbasesrc.c index fd046bf418..cfc09c1f2f 100644 --- a/libs/gst/base/gstbasesrc.c +++ b/libs/gst/base/gstbasesrc.c @@ -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));