7 |/ pad has negotiate function
15 call negotiate function, set the resulting caps
23 call negotiate function, set the resulting caps
27 always compatible, caps are those of the pad
31 always compatible, caps are those of the pad
35 always compatible, caps are those of the pad
39 always compatible, caps are those of the pad
41 =====================================
44 |/ pad has negotiate function
49 call negotiate function, set the resulting caps
53 negotiate until agreed
57 call negotiate until caps match padtemplate
61 negotiate until agreed, caps only got send to the
62 other pad if they match the padtemplate
66 call negotiate function with src caps, set caps if ok
70 call negotiate function with src caps, negotiate until agreed
74 call negotiate function with src caps, set caps if ok
78 call negotiate function with src caps, negotiate until agreed
80 =====================================
83 |/ pad has negotiate function
92 call negotiate until caps match padtemplate
96 check padtemplates, if compatible connect
100 check templates, if compatible,
101 call negotiate, until it matches the padtemplate
105 check caps against padtemplate, if compatible, connect
109 check caps against padtemplate, if compatible: connect
110 alse call negotiate until it matches template
114 check caps against padtemplate, if match, connect
118 check caps against padtemplate, if match, connect
119 alse check padtemplates if compatible,
120 call negotiate until match template
123 =====================================
127 |/ pad has negotiate function
132 call negotiate, set resulting caps
136 call negotiate until agree, check src caps against
137 padtemplate before calling sink negotiate
141 check padtemplates, if match call negotiate until
142 match src padtemplate.
146 check padtemplates, if match call negotiate until
151 check caps against padtemplate
152 call negotiate with caps, if agree, set caps
156 check caps against padtemplate
157 call negotiate with caps, negotiate until agree
161 check caps against padtemplate
162 call negotiate with caps, call negotiate until
163 sink caps match src padtemplate
167 check caps against padtemplate
168 call negotiate with caps, negotiate until agree
171 =====================================
176 |/ pad has negotiate function
205 call src negotiate with caps
208 =====================================
212 |/ pad has negotiate function
239 =====================================
243 |/ pad has negotiate function
270 =====================================
274 |/ pad has negotiate function
301 =====================================
303 srccaps = GST_PAD_CAPS (srcpad);
311 if (srcpad->negotiatefunc && !srctempl)
313 srccaps = srcpad->negotiatefunc (srpad, srcaps, counter);
318 srccaps = gst_pad_get_caps (srcpad);
323 /* check against other pad */
325 // the other pad doesn't want to negotiate
326 if (!sinkpad->negotiatefunc)
328 sinkcaps = gst_pad_get_caps (sinkpad);
333 if (gst_caps_check_compatibility (srccaps, sinkcaps))
343 } while (counter < 100);