[gstreamer-bugs] [Bug 324807] duration caching in bins doesn't work right

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Fri Dec 23 11:42:13 PST 2005


Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=324807
 GStreamer | gstreamer (core) | Ver: HEAD CVS





------- Comment #3 from Tim-Philipp Müller  2005-12-23 19:42 UTC -------
So, here's roughly what I think happens (schematically):

 - playbin contains, say,
     - bin1 with the source and decoder
     - bin2 bin with volume ! audioconvert ! audiosink

now, the source posts a DURATION message, which clears all cached durations for
bin1 and then clears all cached durations for bin2. However, the cached
durations from bin2 will not be cleard. So then, next time one does


   gst_element_query_duration (playbin, ....)

there is no cached query, so the bin will pass the query on to its children. If
that child is bin2, it will return the outdated previously cached query.

Not sure what the right solution for this is. Maybe have all elements post a
duration message on the bus whenever they come across a NEW_SEGMENT event
maybe? Or introduce some kind of gst_bin_clear_cached_durations() which a bin
calls on all children that are bins after clearing its own cached durations.


-- 
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.




More information about the Gstreamer-bugs mailing list