<layer name="Background" visible="true">
<object type="UML - Class" version="0" id="O0">
<attribute name="obj_pos">
- <point val="1.65,5.6"/>
+ <point val="0.75,5.55"/>
</attribute>
<attribute name="obj_bb">
- <rectangle val="1.6,5.55;13.6504,9.65"/>
+ <rectangle val="0.7,5.5;12.7504,9.6"/>
</attribute>
<attribute name="elem_corner">
- <point val="1.65,5.6"/>
+ <point val="0.75,5.55"/>
</attribute>
<attribute name="elem_width">
<real val="11.9504"/>
</object>
<object type="UML - Association" version="0" id="O2">
<attribute name="obj_pos">
- <point val="13.6004,9.1"/>
+ <point val="12.7004,9.05"/>
</attribute>
<attribute name="obj_bb">
- <rectangle val="12.1504,7.65;17.8,11.8"/>
+ <rectangle val="11.2504,7.6;18.4892,11.8"/>
</attribute>
<attribute name="orth_points">
- <point val="13.6004,9.1"/>
- <point val="15.15,9.1"/>
- <point val="15.15,10.35"/>
+ <point val="12.7004,9.05"/>
+ <point val="14.15,9.05"/>
+ <point val="14.15,10.35"/>
<point val="16.35,10.35"/>
</attribute>
<attribute name="orth_orient">
<string/>
</attribute>
<attribute name="multiplicity">
- <string>#0#</string>
+ <string>#1#</string>
</attribute>
<attribute name="arrow">
<boolean val="false"/>
<string/>
</attribute>
<attribute name="multiplicity">
- <string>#1#</string>
+ <string>#0..1#</string>
</attribute>
<attribute name="arrow">
<boolean val="false"/>
<string/>
</attribute>
<attribute name="multiplicity">
- <string>#0#</string>
+ <string>#1#</string>
</attribute>
<attribute name="arrow">
<boolean val="false"/>
the following parameters:
- the pad to set the caps to
- - whether the peer pad *must* accept the caps (AUTHORITATIVE) or
- whether if can reject the caps (TRY)
- a GstCaps* structure
example4:
!
! gst_pad_set_caps (
! pad,
-! GST_CAPS_NEGOTIATE_AUTHORITATIVE,
! gst_caps_new_with_props (
! "src_caps", /* name */
! "audio/raw", /* mime */
! )
! );
-the _set_caps function returns a gboolean, indicating that the
-new caps are accepted by the peer pad.
+The _set_caps method will trigger the caps negotiation with the
+peer pad (if connected).
-when the negotiation type is set to TRY, and the negotiation
-fails, the pad has to perform another _set_caps call. The last
-call to _set_caps has to be of type AUTHORITATIVE.
-when the negotiation fails and the type is set to AUTHORITATIVE,
-the pads are disconnected and a signal is emitted to inform any
-interested listeners.
-
-
-6) caps negotiation
--------------------
+6) caps negotiation function
+----------------------------
the negotiate function of a pad is called whenever the peer pad
modifies the caps using the gst_pad_set_caps function.
be set to the negotiated caps.
example5:
+!
! this is the caps negotiation function implemented by an element on
! one of its sink pads.
!
! return TRUE;
! }
+When the negotiate function returns FALSE (it does not accept the
+specified caps of the peer pad),
+
+
+figure1
+!
+!
+! element pad pad->peer
+! !
+! ! _negotiate(pad)
+! !------------------>!
+! ! gst_pad_negotiate()
+! !------.
+! !<-----'
+! ! _caps_negotiate()
+! !--------------------->!
+!
+!
+
+
+the element has some of its internal properties changed. It wants
+to renegotiate the caps with its peer element. The element does:
+
+ gst_pad_renegotiate (element->srcpad);
+
+this will trigger the class method of the pad and
+
+
+
+
+7) use cases
+------------
+
+
+
+
+
+
+