<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Downward state changes are always
      synchronous.<br>
      <br>
      So once gst_element_set_state (pipeline, GST_STATE_NULL);
      completes, all the internal elements are in the NULL state and you
      can unref the pipeline.<br>
      <br>
      On 8/5/19 12:42 pm, Halley Zhao wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAJ1_6ND3poCuEN_fFmujq=pV9eDf0_a4E-FjLMDyv-42LdbL2w@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">then, what's the right way to cleanup the pipeline
        to make sure it has already changed status to GST_STATE_NULL?</div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">Matthew Waters <<a
            href="mailto:ystreet00@gmail.com" moz-do-not-send="true">ystreet00@gmail.com</a>>
          于2019年5月8日周三 上午10:32写道:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0px 0px 0px
          0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
          <div bgcolor="#FFFFFF">
            <div class="gmail-m_-3439340797728667417moz-cite-prefix">Not
              receiving READY->NULL state change messages is normal
              as the GstBus attached to the pipeline is set to flushing
              to avoid reference cycles.<br>
              <br>
              Cheers<br>
              -Matt<br>
              <br>
              On 8/5/19 12:05 pm, Halley Zhao wrote:<br>
            </div>
            <blockquote type="cite">
              <div dir="ltr">
                <div dir="ltr">
                  <div dir="ltr">
                    <div dir="ltr">
                      <div dir="ltr">
                        <div>Hi experts:</div>
                        <div>I want to do cleanup after pipeline changed
                          to GST_STATE_NULL. however I
                          received GST_MESSAGE_STATE_CHANGED with
                          newstate of GST_STATE_NULL of its children
                          element, but not the pipeline itself.</div>
                        <div><br>
                        </div>
                        <div>I don't know whether there is something
                          wrong in my code, or it is by design?</div>
                        <div>my pipeline contains
                          "appsrc-->h264parse-->videodecode-->appsink".
                          here is my log:</div>
                        <div>the source code sees attachment</div>
                        <div><br>
                        </div>
                        <div>
                          <div>(cb_need_data, 148)emit eos signal</div>
                          <div>(bus_call, 61)End of stream</div>
                          <div><br>
                          </div>
                          <div>(bus_call, 84)my_sink state change, old
                            state: PLAYING, new state: PAUSED</div>
                          <div>(bus_call, 84)my_vdec state change, old
                            state: PLAYING, new state: PAUSED</div>
                          <div>(bus_call, 84)my_h264parse state change,
                            old state: PLAYING, new state: PAUSED</div>
                          <div>(bus_call, 84)my_appsrc state change, old
                            state: PLAYING, new state: PAUSED</div>
                          <div>(bus_call, 84)my_pipeline state change,
                            old state: PLAYING, new state: PAUSED</div>
                          <div>(bus_call, 84)my_sink state change, old
                            state: PAUSED, new state: READY</div>
                          <div>(bus_call, 84)my_vdec state change, old
                            state: PAUSED, new state: READY</div>
                          <div>(bus_call, 84)my_h264parse state change,
                            old state: PAUSED, new state: READY</div>
                          <div>(bus_call, 84)my_appsrc state change, old
                            state: PAUSED, new state: READY</div>
                          <div>(bus_call, 84)my_pipeline state change,
                            old state: PAUSED, new state: READY</div>
                          <div>(bus_call, 84)my_sink state change, old
                            state: READY, new state: NULL</div>
                          <div>(bus_call, 84)my_vdec state change, old
                            state: READY, new state: NULL</div>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
              <br>
              <fieldset
                class="gmail-m_-3439340797728667417mimeAttachmentHeader"></fieldset>
              <pre class="gmail-m_-3439340797728667417moz-quote-pre">_______________________________________________
gstreamer-devel mailing list
<a class="gmail-m_-3439340797728667417moz-txt-link-abbreviated" href="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank" moz-do-not-send="true">gstreamer-devel@lists.freedesktop.org</a>
<a class="gmail-m_-3439340797728667417moz-txt-link-freetext" href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank" moz-do-not-send="true">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a></pre>
            </blockquote>
            <p><br>
            </p>
          </div>
        </blockquote>
      </div>
    </blockquote>
    <p><br>
    </p>
  </body>
</html>