mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-27 16:36:39 +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">
|
<layer name="Background" visible="true">
|
||||||
<object type="UML - Class" version="0" id="O0">
|
<object type="UML - Class" version="0" id="O0">
|
||||||
<attribute name="obj_pos">
|
<attribute name="obj_pos">
|
||||||
<point val="1.65,5.6"/>
|
<point val="0.75,5.55"/>
|
||||||
</attribute>
|
</attribute>
|
||||||
<attribute name="obj_bb">
|
<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>
|
||||||
<attribute name="elem_corner">
|
<attribute name="elem_corner">
|
||||||
<point val="1.65,5.6"/>
|
<point val="0.75,5.55"/>
|
||||||
</attribute>
|
</attribute>
|
||||||
<attribute name="elem_width">
|
<attribute name="elem_width">
|
||||||
<real val="11.9504"/>
|
<real val="11.9504"/>
|
||||||
|
@ -228,15 +228,15 @@
|
||||||
</object>
|
</object>
|
||||||
<object type="UML - Association" version="0" id="O2">
|
<object type="UML - Association" version="0" id="O2">
|
||||||
<attribute name="obj_pos">
|
<attribute name="obj_pos">
|
||||||
<point val="13.6004,9.1"/>
|
<point val="12.7004,9.05"/>
|
||||||
</attribute>
|
</attribute>
|
||||||
<attribute name="obj_bb">
|
<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>
|
||||||
<attribute name="orth_points">
|
<attribute name="orth_points">
|
||||||
<point val="13.6004,9.1"/>
|
<point val="12.7004,9.05"/>
|
||||||
<point val="15.15,9.1"/>
|
<point val="14.15,9.05"/>
|
||||||
<point val="15.15,10.35"/>
|
<point val="14.15,10.35"/>
|
||||||
<point val="16.35,10.35"/>
|
<point val="16.35,10.35"/>
|
||||||
</attribute>
|
</attribute>
|
||||||
<attribute name="orth_orient">
|
<attribute name="orth_orient">
|
||||||
|
@ -256,7 +256,7 @@
|
||||||
<string/>
|
<string/>
|
||||||
</attribute>
|
</attribute>
|
||||||
<attribute name="multiplicity">
|
<attribute name="multiplicity">
|
||||||
<string>#0#</string>
|
<string>#1#</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
<attribute name="arrow">
|
<attribute name="arrow">
|
||||||
<boolean val="false"/>
|
<boolean val="false"/>
|
||||||
|
@ -270,7 +270,7 @@
|
||||||
<string/>
|
<string/>
|
||||||
</attribute>
|
</attribute>
|
||||||
<attribute name="multiplicity">
|
<attribute name="multiplicity">
|
||||||
<string>#1#</string>
|
<string>#0..1#</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
<attribute name="arrow">
|
<attribute name="arrow">
|
||||||
<boolean val="false"/>
|
<boolean val="false"/>
|
||||||
|
@ -400,7 +400,7 @@
|
||||||
<string/>
|
<string/>
|
||||||
</attribute>
|
</attribute>
|
||||||
<attribute name="multiplicity">
|
<attribute name="multiplicity">
|
||||||
<string>#0#</string>
|
<string>#1#</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
<attribute name="arrow">
|
<attribute name="arrow">
|
||||||
<boolean val="false"/>
|
<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 following parameters:
|
||||||
|
|
||||||
- the pad to set the caps to
|
- 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
|
- a GstCaps* structure
|
||||||
|
|
||||||
example4:
|
example4:
|
||||||
|
@ -187,7 +185,6 @@ example4:
|
||||||
!
|
!
|
||||||
! gst_pad_set_caps (
|
! gst_pad_set_caps (
|
||||||
! pad,
|
! pad,
|
||||||
! GST_CAPS_NEGOTIATE_AUTHORITATIVE,
|
|
||||||
! gst_caps_new_with_props (
|
! gst_caps_new_with_props (
|
||||||
! "src_caps", /* name */
|
! "src_caps", /* name */
|
||||||
! "audio/raw", /* mime */
|
! "audio/raw", /* mime */
|
||||||
|
@ -201,20 +198,12 @@ example4:
|
||||||
! )
|
! )
|
||||||
! );
|
! );
|
||||||
|
|
||||||
the _set_caps function returns a gboolean, indicating that the
|
The _set_caps method will trigger the caps negotiation with the
|
||||||
new caps are accepted by the peer pad.
|
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
|
the negotiate function of a pad is called whenever the peer pad
|
||||||
modifies the caps using the gst_pad_set_caps function.
|
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.
|
be set to the negotiated caps.
|
||||||
|
|
||||||
example5:
|
example5:
|
||||||
|
!
|
||||||
! this is the caps negotiation function implemented by an element on
|
! this is the caps negotiation function implemented by an element on
|
||||||
! one of its sink pads.
|
! one of its sink pads.
|
||||||
!
|
!
|
||||||
|
@ -241,6 +231,45 @@ example5:
|
||||||
! return TRUE;
|
! 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