mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-22 09:41:07 +00:00
Corrected the associations on the UML diagrams
Original commit message from CVS: Corrected the associations on the UML diagrams
This commit is contained in:
parent
ff31df763e
commit
d0d6cd30d4
2 changed files with 55 additions and 26 deletions
|
@ -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"/>
|
||||
|
|
|
@ -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
|
||||
------------
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue