<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>187402</bug_id>
          
          <creation_ts>2018-07-06 12:45:39 -0700</creation_ts>
          <short_desc>Make RealtimeOutgoingVideoSource use DestructionThread::Main</short_desc>
          <delta_ts>2018-07-06 16:45:04 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1439871</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-07-06 12:45:39 -0700</bug_when>
    <thetext>Make RealtimeOutgoingVideoSource use DestructionThread::Main</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1439872</commentid>
    <comment_count>1</comment_count>
      <attachid>344442</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-07-06 12:49:48 -0700</bug_when>
    <thetext>Created attachment 344442
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1439877</commentid>
    <comment_count>2</comment_count>
      <attachid>344442</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-07-06 12:57:41 -0700</bug_when>
    <thetext>Comment on attachment 344442
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=344442&amp;action=review

&gt; Source/WebCore/platform/mediastream/RealtimeOutgoingVideoSource.h:57
&gt; +        auto result = hasOneRef() ? rtc::RefCountReleaseStatus::kDroppedLastRef : rtc::RefCountReleaseStatus::kOtherRefsRemained;

Is this thread safe? If Release() can be called from various threads, then a ref() / deref() can happen on another thread after your hasOneRef() check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1439882</commentid>
    <comment_count>3</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-07-06 13:02:22 -0700</bug_when>
    <thetext>&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=344442&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/mediastream/RealtimeOutgoingVideoSource.h:57
&gt; &gt; +        auto result = hasOneRef() ? rtc::RefCountReleaseStatus::kDroppedLastRef : rtc::RefCountReleaseStatus::kOtherRefsRemained;
&gt; 
&gt; Is this thread safe? If Release() can be called from various threads, then a
&gt; ref() / deref() can happen on another thread after your hasOneRef() check.

Well, this whole API is not really thread safe but we need to return something as an API contract. Even if we return the true value at the time we did defer(), it will be useless for the caller, except maybe for logging.
 
I am fine continuing returning rtc::RefCountReleaseStatus::kOtherRefsRemained like done before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1439996</commentid>
    <comment_count>4</comment_count>
      <attachid>344442</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-06 16:30:28 -0700</bug_when>
    <thetext>Comment on attachment 344442
Patch

Clearing flags on attachment: 344442

Committed r233602: &lt;https://trac.webkit.org/changeset/233602&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1439997</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-07-06 16:30:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440005</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-07-06 16:45:04 -0700</bug_when>
    <thetext>&lt;rdar://problem/41914556&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>344442</attachid>
            <date>2018-07-06 12:49:48 -0700</date>
            <delta_ts>2018-07-06 16:30:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187402-20180706124947.patch</filename>
            <type>text/plain</type>
            <size>2231</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMzNTMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzhiOGI3YmZkMThmMzBl
NGFkYTU4Y2M2YTRlMjg1MzQ4NzM2Y2Y4Yy4uNzgxMDhlZDRlZGU0YzIzZjZhZmFmMDdmMDg1MzIy
ZGRlNWY1NDE5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTA3LTA2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIFJlYWx0aW1lT3V0
Z29pbmdWaWRlb1NvdXJjZSB1c2UgRGVzdHJ1Y3Rpb25UaHJlYWQ6Ok1haW4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NzQwMgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIGNoYW5nZSBvZiBiZWhhdmlv
ci4KKworICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lT3V0Z29pbmdWaWRl
b1NvdXJjZS5oOgorCiAyMDE4LTA3LTA2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KIAogICAgICAgICBXZWJSVEMgTWVkaWFTdHJlYW1UcmFjayBFbmFibGUgLyBEaXNhYmxlIGNh
dXNlcyB2aWRlbyBkZWxheSAvIGxhZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UuaApp
bmRleCAxN2Y4NjM1NWNmZDVjM2Y2M2M3NzcyZGUyMzNlMjNmMTE4Mzk2YzdmLi4wMjlkMTQ3ODI3
NDJlZjMzZDBjZWZiNzIxNmQxZWFkYmZhNTE4NDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU91dGdvaW5nVmlk
ZW9Tb3VyY2UuaApAQCAtNDIsNyArNDIsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNs
YXNzIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291
bnRlZDxSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2U+LCBwdWJsaWMgd2VicnRjOjpWaWRlb1Ry
YWNrU291cmNlSW50ZXJmYWNlLCBwcml2YXRlIE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlOjpPYnNl
cnZlciB7CitjbGFzcyBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2UgOiBwdWJsaWMgVGhyZWFk
U2FmZVJlZkNvdW50ZWQ8UmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlLCBXVEY6OkRlc3RydWN0
aW9uVGhyZWFkOjpNYWluPiwgcHVibGljIHdlYnJ0Yzo6VmlkZW9UcmFja1NvdXJjZUludGVyZmFj
ZSwgcHJpdmF0ZSBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZTo6T2JzZXJ2ZXIgewogcHVibGljOgog
ICAgIHN0YXRpYyBSZWY8UmVhbHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlPiBjcmVhdGUoUmVmPE1l
ZGlhU3RyZWFtVHJhY2tQcml2YXRlPiYmIHZpZGVvU291cmNlKTsKICAgICB+UmVhbHRpbWVPdXRn
b2luZ1ZpZGVvU291cmNlKCkgeyBzdG9wKCk7IH0KQEAgLTU0LDEwICs1NCw5IEBAIHB1YmxpYzoK
ICAgICB2b2lkIEFkZFJlZigpIGNvbnN0IGZpbmFsIHsgcmVmKCk7IH0KICAgICBydGM6OlJlZkNv
dW50UmVsZWFzZVN0YXR1cyBSZWxlYXNlKCkgY29uc3QgZmluYWwKICAgICB7Ci0gICAgICAgIGNh
bGxPbk1haW5UaHJlYWQoW3RoaXNdIHsKLSAgICAgICAgICAgIGRlcmVmKCk7Ci0gICAgICAgIH0p
OwotICAgICAgICByZXR1cm4gcnRjOjpSZWZDb3VudFJlbGVhc2VTdGF0dXM6OmtPdGhlclJlZnNS
ZW1haW5lZDsKKyAgICAgICAgYXV0byByZXN1bHQgPSBoYXNPbmVSZWYoKSA/IHJ0Yzo6UmVmQ291
bnRSZWxlYXNlU3RhdHVzOjprRHJvcHBlZExhc3RSZWYgOiBydGM6OlJlZkNvdW50UmVsZWFzZVN0
YXR1czo6a090aGVyUmVmc1JlbWFpbmVkOworICAgICAgICBkZXJlZigpOworICAgICAgICByZXR1
cm4gcmVzdWx0OwogICAgIH0KIAogICAgIHZvaWQgc2V0QXBwbHlSb3RhdGlvbihib29sIHNob3Vs
ZEFwcGx5Um90YXRpb24pIHsgbV9zaG91bGRBcHBseVJvdGF0aW9uID0gc2hvdWxkQXBwbHlSb3Rh
dGlvbjsgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>