<?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>224543</bug_id>
          
          <creation_ts>2021-04-14 05:58:35 -0700</creation_ts>
          <short_desc>AudioSourceProviderAVFObjC uses atomic variables but also locks with mutex</short_desc>
          <delta_ts>2021-04-23 02:52:02 -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>Media</component>
          <version>WebKit Local 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="Kimmo Kinnunen">kkinnunen</reporter>
          <assigned_to name="Kimmo Kinnunen">kkinnunen</assigned_to>
          <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>lingcherd_ho</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1750086</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-04-14 05:58:35 -0700</bug_when>
    <thetext>AudioSourceProviderAVFObjC uses atomic variables but also locks with mutex
This makes it hard to understand the code, as the atomic usage seems to be purposeless.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750087</commentid>
    <comment_count>1</comment_count>
      <attachid>425975</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-04-14 06:00:49 -0700</bug_when>
    <thetext>Created attachment 425975
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750809</commentid>
    <comment_count>2</comment_count>
      <attachid>425975</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-04-15 15:45:27 -0700</bug_when>
    <thetext>Comment on attachment 425975
Patch

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

&gt; Source/WebCore/platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:378
&gt; +        m_writeAheadCount = m_tapDescription-&gt;mSampleRate * earlyBy.toDouble();

I looked here as an example, and I don&apos;t see any mutex serializing the access.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750935</commentid>
    <comment_count>3</comment_count>
      <attachid>425975</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-04-15 22:14:47 -0700</bug_when>
    <thetext>Comment on attachment 425975
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:378
&gt;&gt; +        m_writeAheadCount = m_tapDescription-&gt;mSampleRate * earlyBy.toDouble();
&gt; 
&gt; I looked here as an example, and I don&apos;t see any mutex serializing the access.

Taken up there in the caller, processCallback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752225</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-20 04:38:45 -0700</bug_when>
    <thetext>Committed r276301 (236783@main): &lt;https://commits.webkit.org/236783@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 425975.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753526</commentid>
    <comment_count>5</comment_count>
    <who name="Ling Ho">lingcherd_ho</who>
    <bug_when>2021-04-23 02:52:02 -0700</bug_when>
    <thetext>rdar://76893260</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425975</attachid>
            <date>2021-04-14 06:00:49 -0700</date>
            <delta_ts>2021-04-20 04:38:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224543-20210414160047.patch</filename>
            <type>text/plain</type>
            <size>4840</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1OTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2QyMzFkNTgxNjYxOThl
ZGY1YmMwZDEwNjM3ZTQ5ZjI2NmQwOGY4NC4uZjQwMTU0NmQ1NDNkNzRjNzcyOTY3YjllOGZhZGYz
YzJjMTE1YTRmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA0LTE0ICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgQXVkaW9Tb3VyY2VQ
cm92aWRlckFWRk9iakMgdXNlcyBhdG9taWMgdmFyaWFibGVzIGJ1dCBhbHNvIGxvY2tzIHdpdGgg
bXV0ZXgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NDU0MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJl
bW92ZSB0aGUgdXNlIG9mIHN0ZDo6YXRvbWljLCB0aGUgdmFyaWFibGVzIGFyZSBhbHJlYWR5IHBy
b3RlY3RlZCBieSB0aGUKKyAgICAgICAgbXV0ZXguCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vQXVkaW9Tb3VyY2VQcm92aWRlckFWRk9iakMuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vQXVkaW9Tb3VyY2VQcm92aWRlckFWRk9i
akMubW06CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQzo6cHJv
dmlkZUlucHV0KToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU291cmNlUHJvdmlkZXJBVkZPYmpD
Ojpwcm9jZXNzKToKKwogMjAyMS0wNC0xNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lh
QGlnYWxpYS5jb20+CiAKICAgICAgICAgRG8gbm90IHJlc2V0IGNvbXB1dGVkIHN0eWxlIGZvciBl
bGVtZW50IGNoaWxkcmVuIHdpdGggZGlzcGxheSBjb250ZW50cyBzdHlsZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL0F1ZGlvU291cmNl
UHJvdmlkZXJBVkZPYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vQXVkaW9Tb3VyY2VQcm92aWRlckFWRk9iakMuaAppbmRleCBlMDQ2NWZiMmYyYWMz
ZTA4MTA4NDAyOWJlY2IxOWFlN2FiYTUzZjgxLi4zYjYxODk5NmJhNzNjYmQzZjMzMTZlN2ExYWZh
M2JmMGEyOWIwM2U2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vQXVkaW9Tb3VyY2VQcm92aWRlckFWRk9iakMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vQXVkaW9Tb3VyY2VQcm92aWRl
ckFWRk9iakMuaApAQCAtMjgsNyArMjgsNiBAQAogI2lmIEVOQUJMRShXRUJfQVVESU8pICYmIFVT
RShNRURJQVRPT0xCT1gpCiAKICNpbmNsdWRlICJBdWRpb1NvdXJjZVByb3ZpZGVyLmgiCi0jaW5j
bHVkZSA8YXRvbWljPgogI2luY2x1ZGUgPHd0Zi9NZWRpYVRpbWUuaD4KICNpbmNsdWRlIDx3dGYv
UmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CkBAIC0x
MDEsMTAgKzEwMCwxMCBAQCBwcml2YXRlOgogCiAgICAgTWVkaWFUaW1lIG1fc3RhcnRUaW1lQXRM
YXN0UHJvY2VzczsKICAgICBNZWRpYVRpbWUgbV9lbmRUaW1lQXRMYXN0UHJvY2VzczsKLSAgICBz
dGQ6OmF0b21pYzx1aW50NjRfdD4gbV93cml0ZUFoZWFkQ291bnQgeyAwIH07CisgICAgdWludDY0
X3QgbV93cml0ZUFoZWFkQ291bnQgeyAwIH07CiAgICAgdWludDY0X3QgbV9yZWFkQ291bnQgeyAw
IH07CiAgICAgZW51bSB7IE5vU2VlayA9IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDY0X3Q+Ojpt
YXgoKSB9OwotICAgIHN0ZDo6YXRvbWljPHVpbnQ2NF90PiBtX3NlZWtUbyB7IE5vU2VlayB9Owor
ICAgIHVpbnQ2NF90IG1fc2Vla1RvIHsgTm9TZWVrIH07CiAgICAgYm9vbCBtX3BhdXNlZCB7IHRy
dWUgfTsKICAgICBBdWRpb1NvdXJjZVByb3ZpZGVyQ2xpZW50KiBtX2NsaWVudCB7IG51bGxwdHIg
fTsKICAgICBXZWFrUHRyRmFjdG9yeTxBdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQz4gbV93ZWFr
RmFjdG9yeTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9BdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9BdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2Jq
Qy5tbQppbmRleCA4YTdlOGZiOTc5N2E4MGRkNjQ4ZDkyMTU1ODJmMjczZGQ4N2NmMmYyLi5kMTY0
Mjg3NDQzNzczYjBiNjYxMzI3NjdkMmJmYTMwZjA1MmRhMjExIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vQXVkaW9Tb3VyY2VQcm92aWRl
ckFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL0F1ZGlvU291cmNlUHJvdmlkZXJBVkZPYmpDLm1tCkBAIC0xMTAsOCArMTEwLDcgQEAg
dm9pZCBBdWRpb1NvdXJjZVByb3ZpZGVyQVZGT2JqQzo6cHJvdmlkZUlucHV0KEF1ZGlvQnVzKiBi
dXMsIHNpemVfdCBmcmFtZXNUb1Byb2MKIAogICAgIHVpbnQ2NF90IHN0YXJ0RnJhbWUgPSAwOwog
ICAgIHVpbnQ2NF90IGVuZEZyYW1lID0gMDsKLSAgICB1aW50NjRfdCBzZWVrVG8gPSBtX3NlZWtU
by5leGNoYW5nZShOb1NlZWspOwotICAgIHVpbnQ2NF90IHdyaXRlQWhlYWRDb3VudCA9IG1fd3Jp
dGVBaGVhZENvdW50LmxvYWQoKTsKKyAgICB1aW50NjRfdCBzZWVrVG8gPSBzdGQ6OmV4Y2hhbmdl
KG1fc2Vla1RvLCBOb1NlZWspOwogICAgIGlmIChzZWVrVG8gIT0gTm9TZWVrKQogICAgICAgICBt
X3JlYWRDb3VudCA9IHNlZWtUbzsKIApAQCAtMTIwLDcgKzExOSw3IEBAIHZvaWQgQXVkaW9Tb3Vy
Y2VQcm92aWRlckFWRk9iakM6OnByb3ZpZGVJbnB1dChBdWRpb0J1cyogYnVzLCBzaXplX3QgZnJh
bWVzVG9Qcm9jCiAgICAgaWYgKCFtX3JlYWRDb3VudCB8fCBtX3JlYWRDb3VudCA9PSBzZWVrVG8p
IHsKICAgICAgICAgLy8gV2UgaGF2ZSBub3Qgc3RhcnRlZCByZW5kZXJpbmcgeWV0LiBJZiB0aGVy
ZSBhcmVuJ3QgZW5vdWdoIGZyYW1lcyBpbiB0aGUgYnVmZmVyLCB0aGVuIG91dHB1dAogICAgICAg
ICAvLyBzaWxlbmNlIHVudGlsIHRoZXJlIGlzLgotICAgICAgICBpZiAoZW5kRnJhbWUgPD0gbV9y
ZWFkQ291bnQgKyB3cml0ZUFoZWFkQ291bnQgKyBmcmFtZXNUb1Byb2Nlc3MpIHsKKyAgICAgICAg
aWYgKGVuZEZyYW1lIDw9IG1fcmVhZENvdW50ICsgbV93cml0ZUFoZWFkQ291bnQgKyBmcmFtZXNU
b1Byb2Nlc3MpIHsKICAgICAgICAgICAgIGJ1cy0+emVybygpOwogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB9CkBAIC0zNzYsNyArMzc1LDcgQEAgdm9pZCBBdWRpb1NvdXJjZVByb3ZpZGVy
QVZGT2JqQzo6cHJvY2VzcyhNVEF1ZGlvUHJvY2Vzc2luZ1RhcFJlZiB0YXAsIENNSXRlbUNvdW4K
ICAgICAgICAgLy8gT25seSBjaGVjayB0aGUgd3JpdGUtYWhlYWQgdGltZSB3aGVuIHBsYXliYWNr
IGJlZ2lucy4KICAgICAgICAgbV9wYXVzZWQgPSBmYWxzZTsKICAgICAgICAgTWVkaWFUaW1lIGVh
cmx5QnkgPSByYW5nZVN0YXJ0IC0gY3VycmVudFRpbWU7Ci0gICAgICAgIG1fd3JpdGVBaGVhZENv
dW50LnN0b3JlKG1fdGFwRGVzY3JpcHRpb24tPm1TYW1wbGVSYXRlICogZWFybHlCeS50b0RvdWJs
ZSgpKTsKKyAgICAgICAgbV93cml0ZUFoZWFkQ291bnQgPSBtX3RhcERlc2NyaXB0aW9uLT5tU2Ft
cGxlUmF0ZSAqIGVhcmx5QnkudG9Eb3VibGUoKTsKICAgICB9CiAKICAgICB1aW50NjRfdCBzdGFy
dEZyYW1lID0gMDsKQEAgLTM4Niw3ICszODUsNyBAQCB2b2lkIEF1ZGlvU291cmNlUHJvdmlkZXJB
VkZPYmpDOjpwcm9jZXNzKE1UQXVkaW9Qcm9jZXNzaW5nVGFwUmVmIHRhcCwgQ01JdGVtQ291bgog
ICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0aGUgdW5kZXJseWluZyBtZWRpYSBoYXMgc2Vla2VkLCB3
aGljaCB3b3VsZCByZXF1aXJlIHVzIHRvICJmbHVzaCIKICAgICAvLyBvdXIgb3V0c3RhbmRpbmcg
YnVmZmVycy4KICAgICBpZiAocmFuZ2VTdGFydCAhPSBtX2VuZFRpbWVBdExhc3RQcm9jZXNzKQot
ICAgICAgICBtX3NlZWtUby5zdG9yZShlbmRGcmFtZSk7CisgICAgICAgIG1fc2Vla1RvID0gZW5k
RnJhbWU7CiAKICAgICBtX3N0YXJ0VGltZUF0TGFzdFByb2Nlc3MgPSByYW5nZVN0YXJ0OwogICAg
IG1fZW5kVGltZUF0TGFzdFByb2Nlc3MgPSByYW5nZVN0YXJ0ICsgcmFuZ2VEdXJhdGlvbjsKQEAg
LTM5NCw3ICszOTMsNyBAQCB2b2lkIEF1ZGlvU291cmNlUHJvdmlkZXJBVkZPYmpDOjpwcm9jZXNz
KE1UQXVkaW9Qcm9jZXNzaW5nVGFwUmVmIHRhcCwgQ01JdGVtQ291bgogICAgIC8vIFN0YXJ0T2ZT
dHJlYW0gaW5kaWNhdGVzIGEgZGlzY29udGludWl0eSwgc3VjaCBhcyB3aGVuIGFuIEFWUGxheWVy
SXRlbSBpcyByZS1hZGRlZAogICAgIC8vIHRvIGFuIEFWUGxheWVyLCBzbyAiZmx1c2giIG91dHN0
YW5kaW5nIGJ1ZmZlcnMuCiAgICAgaWYgKGZsYWdzT3V0ICYmICpmbGFnc091dCAmIGtNVEF1ZGlv
UHJvY2Vzc2luZ1RhcEZsYWdfU3RhcnRPZlN0cmVhbSkKLSAgICAgICAgbV9zZWVrVG8uc3RvcmUo
ZW5kRnJhbWUpOworICAgICAgICBtX3NlZWtUbyA9IGVuZEZyYW1lOwogCiAgICAgbV9yaW5nQnVm
ZmVyLT5zdG9yZShidWZmZXJMaXN0SW5PdXQsIGl0ZW1Db3VudCwgZW5kRnJhbWUpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>