<div dir="auto"><div><div class="gmail_extra"><br><div class="gmail_quote">2017. 4. 21. 오전 3:28에 "Georg Chini" <<a href="mailto:georg@chini.tk">georg@chini.tk</a>>님이 작성:<blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Still found a few issues, but I think the next version will be final.<div class="quoted-text"><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">  +static void set_filter_properties(pa_propl<wbr>ist *pl, struct filter *filter, bool set_properties, bool set_by_mfa) {<br>
</blockquote>
<br></div>
You either call that function with ..., false, false) or with ..., true, true), so the "set_by_mfa"<br>
parameter is in fact not necessary. You can set/unset PA_PROP_FILTER_APPLY_SET_BY_MF<wbr>A<br>
unconditionally.<div class="elided-text"></div></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">Yes. I think so.</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"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">+            if ((filter = get_filter_for_object(u, o, is_sink_input))) {<br>
+                /* Change 'filter.apply'. */<br>
+                set_filter_properties(pl, NULL, false, false);<br>
+                set_filter_properties(pl, filter, true, true);<br>
+            } else {<br>
+                set_filter_properties(pl, NULL, false, false);<br>
+            }<br>
</blockquote>
<br></div>
You can move the "set_filter_properties(pl, NULL, false, false);" before the if()<br>
because you are doing it in both branches.<div class="quoted-text"></div></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">You're right. I'll fix.</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="quoted-text"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">+<br>
+            trigger_housekeeping(u);<br>
+            return PA_HOOK_OK;  /* goto done; */<br>
</blockquote>
<br></div>
You forget to free module_name. I would move the "done" label before the<br>
"if (done_something)" and do "done_something=true; goto done" here.<div class="elided-text"></div></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto"><div dir="auto" style="font-family:sans-serif">Sorry. It was my mistake while doing my local merging. 'goto done;' is correct.</div></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">    static pa_hook_result_t sink_input_proplist_cb(pa_core *core, pa_sink_input *i, struct userdata *u) {<br>
      pa_core_assert_ref(core);<br>
      pa_sink_input_assert_ref(i);<br>
</blockquote>
<br></div>
Didn't you want to avoid the double move here? Or will that be another patch?<div class="quoted-text"></div></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">I hope submit another patch. It might be regarded as another issue.</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="quoted-text"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote></div></blockquote></div></div></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="quoted-text"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">    static pa_hook_result_t source_output_proplist_cb(pa_c<wbr>ore *core, pa_source_output *o, struct userdata *u) {<br>
      pa_core_assert_ref(core);<br>
      pa_source_output_assert_ref(o)<wbr>;<br>
</blockquote>
<br></div>
Didn't you want to avoid the double move here? Or will that be another patch?</blockquote></div></div></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"></div></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto"><span style="font-family:sans-serif">I hope submit another patch. It might be regarded as another issue.</span><br></div><div dir="auto"><span style="font-family:sans-serif"><br></span></div><div dir="auto"><span style="font-family:sans-serif">I'll submit patch v7 as soon as possible.</span></div><div dir="auto"><span style="font-family:sans-serif">Thanks for reviewing!</span></div><div dir="auto"><span style="font-family:sans-serif"><br></span></div><div dir="auto"><span style="font-family:sans-serif">Regards,</span></div><div dir="auto"><span style="font-family:sans-serif">KimJeongYeon</span></div></div>