<?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>183004</bug_id>
          
          <creation_ts>2018-02-21 08:37:21 -0800</creation_ts>
          <short_desc>[GStreamer] Rewrite purgeInvalid*Tracks methods</short_desc>
          <delta_ts>2018-02-21 09:02:38 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>Other</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="Philippe Normand">pnormand</reporter>
          <assigned_to name="Philippe Normand">pnormand</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1401115</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-02-21 08:37:21 -0800</bug_when>
    <thetext>Removing items from a hashmap while iterating is no good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1401116</commentid>
    <comment_count>1</comment_count>
      <attachid>334382</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-02-21 08:40:02 -0800</bug_when>
    <thetext>Created attachment 334382
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1401118</commentid>
    <comment_count>2</comment_count>
      <attachid>334382</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-02-21 08:46:10 -0800</bug_when>
    <thetext>Comment on attachment 334382
Patch

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

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:1458
&gt; +    m_audioTracks.removeIf([&amp;](auto&amp; keyAndValue) {

I prefer to explicitly capture validTrackIds&amp; only</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1401123</commentid>
    <comment_count>3</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-02-21 09:01:16 -0800</bug_when>
    <thetext>Committed r228875: &lt;https://trac.webkit.org/changeset/228875&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1401124</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-02-21 09:02:38 -0800</bug_when>
    <thetext>&lt;rdar://problem/37747568&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334382</attachid>
            <date>2018-02-21 08:40:02 -0800</date>
            <delta_ts>2018-02-21 08:46:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183004-20180221164000.patch</filename>
            <type>text/plain</type>
            <size>3424</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4ODcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTZmYzZhZTg5ZmQ3MDE0
OGIzNzQ4ODRkZDNmMzNkNTA0ZjU1ZjhjOS4uN2ViNjNhNjQxYjgxMmEzNWQxZjAyODEzNGUzNGNm
ZmYzOTQzNTkxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE4LTAyLTIxICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVy
XSBSZXdyaXRlIHB1cmdlSW52YWxpZCpUcmFja3MgbWV0aG9kcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgzMDA0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZpbmcgaXRlbXMgZnJvbSBhIGhhc2ht
YXAgd2hpbGUgaXRlcmF0aW5nIGlzIGJhZC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpwdXJnZUludmFsaWRBdWRpb1RyYWNr
cyk6CisgICAgICAgIFNhZmVseSByZW1vdmUgaXRlbXMgZnJvbSB0aGUgaGFzaG1hcCB1c2luZyBy
ZW1vdmVJZigpLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
OjpwdXJnZUludmFsaWRWaWRlb1RyYWNrcyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpwdXJnZUludmFsaWRUZXh0VHJhY2tzKTogRGl0dG8u
CisKIDIwMTgtMDItMjEgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFtHU3RyZWFtZXJdIENyYXNoIGluIERlYnVnIGJ1aWxkIHdoZW4gcHVyZ2luZyBp
bnZhbGlkIHRyYWNrcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyLmNwcAppbmRleCBlODY4ZTI2ZjNmOWI0ZDE1ZTRlZjE0YjM2YWMwODY5NzM3MTgzMjE5Li4z
NTEyZjI3ODAwYjEzZDhkY2ZkZDg5OWVlYmU2YzAyZDJlMTZmNWRiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApAQCAtMTQ1NSw1MCArMTQ1NSwy
MyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6cHJvY2Vzc1RhYmxlT2ZDb250
ZW50c0VudHJ5KEdzdFRvY0VudHJ5KiBlbnRyeQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcjo6cHVyZ2VJbnZhbGlkQXVkaW9UcmFja3MoVmVjdG9yPFN0cmluZz4gdmFsaWRUcmFj
a0lkcykKIHsKLSAgICBpZiAodmFsaWRUcmFja0lkcy5pc0VtcHR5KCkpIHsKLSAgICAgICAgbV9h
dWRpb1RyYWNrcy5jbGVhcigpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGZvciAoYXV0
byBhdWRpb1RyYWNrSWQgOiBtX2F1ZGlvVHJhY2tzLmtleXMoKSkgewotICAgICAgICBpZiAodmFs
aWRUcmFja0lkcy5jb250YWlucyhhdWRpb1RyYWNrSWQpKQotICAgICAgICAgICAgY29udGludWU7
Ci0gICAgICAgIGF1dG8gdHJhY2sgPSBtX2F1ZGlvVHJhY2tzLmdldChhdWRpb1RyYWNrSWQpOwot
ICAgICAgICB0cmFjay0+ZGlzY29ubmVjdCgpOwotICAgICAgICBtX3BsYXllci0+cmVtb3ZlQXVk
aW9UcmFjaygqdHJhY2spOwotICAgICAgICBtX2F1ZGlvVHJhY2tzLnJlbW92ZShhdWRpb1RyYWNr
SWQpOwotICAgIH0KKyAgICBtX2F1ZGlvVHJhY2tzLnJlbW92ZUlmKFsmXShhdXRvJiBrZXlBbmRW
YWx1ZSkgeworICAgICAgICByZXR1cm4gIXZhbGlkVHJhY2tJZHMuY29udGFpbnMoa2V5QW5kVmFs
dWUua2V5KTsKKyAgICB9KTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6
OnB1cmdlSW52YWxpZFZpZGVvVHJhY2tzKFZlY3RvcjxTdHJpbmc+IHZhbGlkVHJhY2tJZHMpCiB7
Ci0gICAgaWYgKHZhbGlkVHJhY2tJZHMuaXNFbXB0eSgpKSB7Ci0gICAgICAgIG1fdmlkZW9UcmFj
a3MuY2xlYXIoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBmb3IgKGF1dG8gdmlkZW9U
cmFja0lkIDogbV92aWRlb1RyYWNrcy5rZXlzKCkpIHsKLSAgICAgICAgaWYgKHZhbGlkVHJhY2tJ
ZHMuY29udGFpbnModmlkZW9UcmFja0lkKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAg
ICBhdXRvIHRyYWNrID0gbV92aWRlb1RyYWNrcy5nZXQodmlkZW9UcmFja0lkKTsKLSAgICAgICAg
dHJhY2stPmRpc2Nvbm5lY3QoKTsKLSAgICAgICAgbV9wbGF5ZXItPnJlbW92ZVZpZGVvVHJhY2so
KnRyYWNrKTsKLSAgICAgICAgbV92aWRlb1RyYWNrcy5yZW1vdmUodmlkZW9UcmFja0lkKTsKLSAg
ICB9CisgICAgbV92aWRlb1RyYWNrcy5yZW1vdmVJZihbJl0oYXV0byYga2V5QW5kVmFsdWUpIHsK
KyAgICAgICAgcmV0dXJuICF2YWxpZFRyYWNrSWRzLmNvbnRhaW5zKGtleUFuZFZhbHVlLmtleSk7
CisgICAgfSk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpwdXJnZUlu
dmFsaWRUZXh0VHJhY2tzKFZlY3RvcjxTdHJpbmc+IHZhbGlkVHJhY2tJZHMpCiB7Ci0gICAgaWYg
KHZhbGlkVHJhY2tJZHMuaXNFbXB0eSgpKSB7Ci0gICAgICAgIG1fdGV4dFRyYWNrcy5jbGVhcigp
OwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIGZvciAoYXV0byB0ZXh0VHJhY2tJZCA6IG1f
dGV4dFRyYWNrcy5rZXlzKCkpIHsKLSAgICAgICAgaWYgKHZhbGlkVHJhY2tJZHMuY29udGFpbnMo
dGV4dFRyYWNrSWQpKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIGF1dG8gdHJhY2sg
PSBtX3RleHRUcmFja3MuZ2V0KHRleHRUcmFja0lkKTsKLSAgICAgICAgdHJhY2stPmRpc2Nvbm5l
Y3QoKTsKLSAgICAgICAgbV9wbGF5ZXItPnJlbW92ZVRleHRUcmFjaygqdHJhY2spOwotICAgICAg
ICBtX3RleHRUcmFja3MucmVtb3ZlKHRleHRUcmFja0lkKTsKLSAgICB9CisgICAgbV90ZXh0VHJh
Y2tzLnJlbW92ZUlmKFsmXShhdXRvJiBrZXlBbmRWYWx1ZSkgeworICAgICAgICByZXR1cm4gIXZh
bGlkVHJhY2tJZHMuY29udGFpbnMoa2V5QW5kVmFsdWUua2V5KTsKKyAgICB9KTsKIH0KICNlbmRp
ZgogCg==
</data>
<flag name="review"
          id="353145"
          type_id="1"
          status="+"
          setter="cgarcia"
    />
          </attachment>
      

    </bug>

</bugzilla>