GNOME Bugzilla – Bug 609423
[appsrc] gst_app_src_set_size() should update duration and post a duration message
Last modified: 2010-02-12 10:04:35 UTC
Otherwise applications using on-disk buffering won't work because the query of segment size/maxsize will return -1.
Created attachment 153339 [details] [review] appsrc: Update segment duration and post a duration message if the duration changes Fixes bug #609423.
(In reply to comment #1) > Created an attachment (id=153339) [details] [review] > appsrc: Update segment duration and post a duration message if the duration > changes > > Fixes bug #609423. Additionally locking is required in basesrc for the segment values but that's unfortunately not that easy :)
Created attachment 153341 [details] [review] basesrc: Protect segment values from concurrent access from different threads This could happen easily in the query functions or when the size is set on appsrc from some non-streaming thread.
Created attachment 153343 [details] [review] basesrc: Protect segment values from concurrent access from different threads This could happen easily in the query functions or when the size is set on appsrc from some non-streaming thread.
I tested the patches with success, it would be nice to get them in next release :)
commit b5fd5953d1f5fe54f2c6a1dadf8f22bd70bd776b Author: Sebastian Dröge <sebastian.droege@collabora.co.uk> Date: Tue Feb 9 17:39:21 2010 +0100 appsrc: Update segment duration and post a duration message if the duration Fixes bug #609423. commit 5998e902a3696a3fe7c4255da1da89af9d03f22b Author: Sebastian Dröge <sebastian.droege@collabora.co.uk> Date: Tue Feb 9 17:52:13 2010 +0100 basesrc: Protect segment values from concurrent access from different thread This could happen easily in the query functions or when the size is set on appsrc from some non-streaming thread.