Corrected the associations on the UML diagrams

Original commit message from CVS:
Corrected the associations on the UML diagrams
This commit is contained in:
Wim Taymans 2001-02-11 22:22:47 +00:00
parent ff31df763e
commit d0d6cd30d4
2 changed files with 55 additions and 26 deletions

View file

@ -58,13 +58,13 @@
<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"/>
@ -228,15 +228,15 @@
</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">
@ -256,7 +256,7 @@
<string/>
</attribute>
<attribute name="multiplicity">
<string>#0#</string>
<string>#1#</string>
</attribute>
<attribute name="arrow">
<boolean val="false"/>
@ -270,7 +270,7 @@
<string/>
</attribute>
<attribute name="multiplicity">
<string>#1#</string>
<string>#0..1#</string>
</attribute>
<attribute name="arrow">
<boolean val="false"/>
@ -400,7 +400,7 @@
<string/>
</attribute>
<attribute name="multiplicity">
<string>#0#</string>
<string>#1#</string>
</attribute>
<attribute name="arrow">
<boolean val="false"/>

View file

@ -177,8 +177,6 @@ the caps can be set with the gst_pad_set_caps function, which accepts
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:
@ -187,7 +185,6 @@ example4:
!
! gst_pad_set_caps (
! pad,
! GST_CAPS_NEGOTIATE_AUTHORITATIVE,
! gst_caps_new_with_props (
! "src_caps", /* name */
! "audio/raw", /* mime */
@ -201,20 +198,12 @@ example4:
! )
! );
the _set_caps function returns a gboolean, indicating that the
new caps are accepted by the peer pad.
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.
The _set_caps method will trigger the caps negotiation with the
peer pad (if connected).
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.
@ -224,6 +213,7 @@ new caps are acceptable. When it accepts the caps, both pads will
be set to the negotiated caps.
example5:
!
! this is the caps negotiation function implemented by an element on
! one of its sink pads.
!
@ -241,6 +231,45 @@ example5:
! 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
------------