<font size="4">Hi All,<br>I am new to Gstreamer. I was confused when reading Plugin guide document about Plugin's state at <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/chapter-statemanage-states.html#section-statemanage-filters">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/chapter-statemanage-states.html#section-statemanage-filters</a><br>
At line </font>:<br><pre class="programlisting"> <font size="4"><b>ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);</b></font><br><font><font face="times new roman,serif"><br><font size="4"><br>
in this line why we call parent_class->change_state? I read and get the explanation:"</font></font></font><b><font size="4"> upwards (NULL=>READY, READY=>PAUSED, PAUSED=>PLAYING)
and downwards (PLAYING=>PAUSED, PAUSED=>READY, READY=>NULL) state  changes are handled in two separate blocks with the downwards state change
handled only after we have chained up to the parent class's state change function. This is necessary in order to safely handle concurrent
access by multiple threads" </font></b><font size="4"> <br>but actually I can't understand the mechanism.Please help me resolve this problem.Thanks</font></pre>