GNOME Bugzilla – Bug 596183
decodebin2: Rewrite autoplugging and how groups of pads are handled
Last modified: 2009-10-07 15:49:26 UTC
Created attachment 143906 [details] [review] 0001-decodebin2-Rewrite-autoplugging-and-how-groups-of-pa.patch Hi, the attached, large patch rewrites the autoplugging behaviour and how groups of pads are handled in decodebin2, while keeping backwards compatibility. Also everything is now documented much better. For reviewing the patch it might be a good idea to read the general implementation documentation at the top. PS: Sorry for having such a mega patch, I don't see a way to split it into several small pieces because I change what a GstDecodeGroup is and this required code changes *everywhere*
Created attachment 143911 [details] [review] 0002-uridecodebin-Don-t-post-missing-plugin-messages-twic.patch Not strictly necessary but it prevents totem (and friends) from seeing every missing plugin message twice.
Created attachment 143912 [details] [review] 0004-decodebin2-Make-sure-that-the-GstDecodePads-are-stil.patch Not that I could make this a real problem but in theory it could fail in weird situations. (Note the 0003 patch I have locally is just an unrelated optimization and not needed here)
Created attachment 144021 [details] [review] 0004-decodebin2-Make-sure-that-the-GstDecodePads-are-stil.patch
Created attachment 144022 [details] [review] 0004-decodebin2-Make-sure-that-the-GstDecodePads-are-stil.patch Same patch as previous but with corrected indention. I should've said what has changed before though, this fixes the case when there are still pending blocked pads and decodebin2 is set to READY state again. (Regression introduced in first 0004 patch)
Created attachment 144060 [details] [review] 0001-decodebin2-Only-use-the-object-lock-for-protecting-t.patch New set of patches. Changes: - two changes that could be split from the mega patch are split now (0001 and 0002) - minor performance improvement (0003) - minor fixes/cleanups (0006 and 0007) For 0006 the core-0001 patch is nice to have.
Created attachment 144061 [details] [review] 0002-decodebin2-Don-t-set-the-external-ghostpads-blocked-.patch
Created attachment 144062 [details] [review] 0003-factorylist-Use-gst_caps_can_intersect-instead-of-_i.patch
Created attachment 144063 [details] [review] 0004-decodebin2-Rewrite-autoplugging-and-how-groups-of-pa.patch
Created attachment 144064 [details] [review] 0005-uridecodebin-Don-t-post-missing-plugin-messages-twic.patch
Created attachment 144065 [details] [review] 0006-decodebin2-Use-the-iterate-internal-links-function-i.patch
Created attachment 144067 [details] [review] 0007-decodebin2-Chains-with-an-exposed-endpad-are-complet.patch
Created attachment 144068 [details] [review] core-0001-multiqueue-Improve-iterate-internal-links-function.patch
Comment on attachment 144068 [details] [review] core-0001-multiqueue-Improve-iterate-internal-links-function.patch Trivial bits are pushed now
Ok, it's all pushed now.