GNOME Bugzilla – Bug 663333
basetransfrom cache should be invalidated whenever there is any change in the peer caps
Last modified: 2011-11-07 23:19:07 UTC
gst_caps_is_equal simply checks of both cap sets represent the same global set of capabilities, so it doesn't take into account any specific ordering information, to be more precise, the following caps are equal: video/x-raw-yuv, width=640 ; video/x-raw-yuv, width=[1..MAX] and video/x-raw-yuv, width=320; video/x-raw-yuv, with=[1..MAX] Not flushing the cache can cause an upstream element to stay with the old resolution instead of moving to the new one if switching between these caps after a basetransform.
Created attachment 200608 [details] [review] Add API to check if caps are exactly the same (better fucntion name might be good)
Created attachment 200609 [details] [review] Only use the cached version if the peer caps stayed exactly the same
This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.