<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">On 19.04.2017 10:24, KimJeongYeon
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAPoUOUJBNi_mSQqmEupDDwnNidbOFsY9GdoPh5UcV2ZjzP-C=A@mail.gmail.com"
      type="cite">
      <div dir="auto">
        <div><br>
          <div class="gmail_extra"><br>
            <div class="gmail_quote">2017. 4. 19. 오전 5:10에 "Georg Chini"
              <<a moz-do-not-send="true" href="mailto:georg@chini.tk">georg@chini.tk</a>>님이
              작성:<br type="attribution">
              <blockquote class="quote" style="margin:0 0 0
                .8ex;border-left:1px #ccc solid;padding-left:1ex">
                <div class="elided-text">On 18.04.2017 21:45, Georg
                  Chini wrote:<br>
                  <blockquote class="gmail_quote" style="margin:0 0 0
                    .8ex;border-left:1px #ccc solid;padding-left:1ex">
                    On 18.04.2017 14:36, KimJeongYeon wrote:<br>
                    <blockquote class="gmail_quote" style="margin:0 0 0
                      .8ex;border-left:1px #ccc solid;padding-left:1ex">
                      For example, a normal stream tried to attach to
                      filter sink or source, which<br>
                      filter loaded and managed by filter-apply. But,
                      the stream goes to filter's<br>
                      ***master sink or source*** due to unexpected
                      restoring operation.<br>
                      It should attached to filter sink or source
                      properly.<br>
                      <br>
                      Also, includes further fix according to Georg's
                      comment, [1]<br>
                         If a stream that had filter.apply set initially
                      is moved to another sink/source, then the filter<br>
                         should be applied again (a new filter, since
                      the master sink/source has changed).<br>
                      <br>
                         If a stream that did not have filter.apply set
                      initially is moved away, the property should<br>
                         be removed and no new filter applied.<br>
                      <br>
                         Also, a property list change might add or
                      remove the filter.apply property. If it is added,<br>
                         we want that the filter is applied. Your patch
                      does nothing and assumes that the stream<br>
                         is already filtered, even if the stream is not
                      on a filter sink.<br>
                      <br>
                      [1] <a moz-do-not-send="true"
href="https://lists.freedesktop.org/archives/pulseaudio-discuss/2017-April/027980.html"
                        rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>archives/pulseaudio-discuss/20<wbr>17-April/027980.html</a><br>
                      <br>
                      Signed-off-by: KimJeongYeon <<a
                        moz-do-not-send="true"
                        href="mailto:jeongyeon.kim@samsung.com"
                        target="_blank">jeongyeon.kim@samsung.com</a>><br>
                    </blockquote>
                    Hi JeongYeon,<br>
                    <br>
                    sorry, but I still don't agree with your patch. As
                    already said you do not need the<br>
                    enumeration, a simple boolean </blockquote>
                </div>
              </blockquote>
            </div>
          </div>
        </div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">Ok. I'll do.</div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">
          <div class="gmail_extra">
            <div class="gmail_quote">
              <blockquote class="quote" style="margin:0 0 0
                .8ex;border-left:1px #ccc solid;padding-left:1ex">
                <div class="elided-text">
                  <blockquote class="gmail_quote" style="margin:0 0 0
                    .8ex;border-left:1px #ccc solid;padding-left:1ex">should
                    do. Also skip_prop_change seems unnecessary.<br>
                  </blockquote>
                </div>
              </blockquote>
            </div>
          </div>
        </div>
        <div dir="auto"><br>
        </div>
        <div dir="auto">About 'skip_prop_change':</div>
        <div dir="auto">Move operation happens twice when call
          'move_objects_for_filter'. Because, unexpected proplist-hook
          comes at 'do_move'.</div>
        <div dir="auto">But, it doesn't harm moving operation.</div>
      </div>
    </blockquote>
    <br>
    That's what I mean. I know there will be an unnecessary call to
    process() due to<br>
    the property list change, but it should not have any effect and so
    there is no need<br>
    to prevent it. Actually the move operation should not happen twice,
    instead you<br>
    should see the "Stream appears to be playing on an appropriate sink
    already. Ignoring."<br>
    message. Or am I wrong there?<br>
    <br>
    Apart from PA_PROP_FILTER_APPLY_MOVING there are also the other
    changes to the<br>
    property list when we set/remove the filter.apply and
    filter.apply.set_by_mfa properties.<br>
    They also should have no effect, but better test it out. If there
    are too many superfluous<br>
    messages in the log, I am not completely against using
    skip_prop_changes to suppress<br>
    them. In this case you would only need to set the variable before
    the property list<br>
    operation and it can be checked and reset early in process().<br>
    <p><br>
    </p>
  </body>
</html>