<?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>221916</bug_id>
          
          <creation_ts>2021-02-15 12:58:02 -0800</creation_ts>
          <short_desc>MediaRecorder.stop() does not work correctly when recording has been paused.</short_desc>
          <delta_ts>2021-02-16 10:21:16 -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>WebRTC</component>
          <version>Safari Technology Preview</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://github.com/web-platform-tests/wpt/pull/27638</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Mannion">dmannion</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>clopez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1729308</commentid>
    <comment_count>0</comment_count>
    <who name="David Mannion">dmannion</who>
    <bug_when>2021-02-15 12:58:02 -0800</bug_when>
    <thetext>MediaRecorder::stopRecordingInternal() is not setting the state = RecordingState::Inactive when the current state == RecordingState::Paused.  The current code:

316	    if (state() != RecordingState::Recording) {
317	        completionHandler();
318	        return;
319	    }

should probably be:

316	    if (state() === RecordingState::Inactive) {
317	        completionHandler();
318	        return;
319	    }


The problem can be reproduced using these steps:
1) Start Recording
2) Pause Recording
3) Stop Recording
4) Start Recording

Actual result: After step 3, the status is still paused. Also, an exception is thrown and the browser reloads when trying to re-start recording.
Expected result: After step 3, the status should be inactive.  Also recording should re-start without error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729384</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-15 14:36:03 -0800</bug_when>
    <thetext>&lt;rdar://problem/74366154&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729559</commentid>
    <comment_count>2</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-02-15 23:23:25 -0800</bug_when>
    <thetext>&gt; Actual result: After step 3, the status is still paused. Also, an exception
&gt; is thrown and the browser reloads when trying to re-start recording.
When you say the browser reloads, does it mean there is a crash and the page reloads?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729562</commentid>
    <comment_count>3</comment_count>
      <attachid>420428</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-02-15 23:54:48 -0800</bug_when>
    <thetext>Created attachment 420428
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729563</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-02-15 23:55:35 -0800</bug_when>
    <thetext>Submitted web-platform-tests pull request: https://github.com/web-platform-tests/wpt/pull/27638</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729564</commentid>
    <comment_count>5</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-02-15 23:55:39 -0800</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729744</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-16 09:57:32 -0800</bug_when>
    <thetext>Committed r272911: &lt;https://commits.webkit.org/r272911&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 420428.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729776</commentid>
    <comment_count>7</comment_count>
    <who name="David Mannion">dmannion</who>
    <bug_when>2021-02-16 10:21:16 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #2)
&gt; &gt; Actual result: After step 3, the status is still paused. Also, an exception
&gt; &gt; is thrown and the browser reloads when trying to re-start recording.
&gt; When you say the browser reloads, does it mean there is a crash and the page
&gt; reloads?

My mistake.  It crashes if you call resume().  Calling start() throws an exception.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420428</attachid>
            <date>2021-02-15 23:54:48 -0800</date>
            <delta_ts>2021-02-16 09:57:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221916-20210216085447.patch</filename>
            <type>text/plain</type>
            <size>5335</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyODQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGM3YzJiMTVhNjgyZjNi
ZTc1MWNjMDMzZjM5OTk4MDZlZjZhNGNiNC4uYWQ4ZDk4NjczNGIzNzYwYzYxZDhhNzBjZmZkMTQx
ZDVmY2U1NzkxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTAyLTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVJlY29yZGVyLnN0
b3AoKSBkb2VzIG5vdCB3b3JrIGNvcnJlY3RseSB3aGVuIHJlY29yZGluZyBoYXMgYmVlbiBwYXVz
ZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjE5
MTYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc0MzY2MTU0PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFByb2NlZWQgd2l0aCBzdG9wIHN0ZXBzIGlu
IGNhc2Ugb2YgcGF1c2VkIHN0YXRlLCBhbmQgbm90IG9ubHkgaW4gY2FzZSBvZiByZWNvcmRpbmcg
c3RhdGUuCisgICAgICAgIENvdmVyZWQgYnkgYWRkZWQgV1BUIHRlc3QuCisKKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVJlY29yZGVyOjpzdG9wUmVjb3JkaW5nSW50ZXJuYWwpOgorCiAyMDIxLTAyLTE1ICBZ
b3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIFdlYlJUQ1Bs
YXRmb3JtQ29kZWNzSW5HUFVQcm9jZXNzRW5hYmxlZCB0byBQYWdlIFNldHRpbmdzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhcmVjb3JkZXIvTWVkaWFSZWNvcmRlci5j
cHAKaW5kZXggMGJkNzcxNTgyYjcwOGM3N2ZlZmRiYjg4MzU1MzJmY2ZmOTE1NDNhZC4uYjA5NTlh
Y2ZiZDM1MGVlNDU3OWI5MzNlNzU5OTJmZWM2MzczZDJiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXJlY29yZGVyL01lZGlhUmVjb3JkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFyZWNvcmRlci9NZWRpYVJlY29yZGVyLmNwcApAQCAtMzEz
LDcgKzMxMyw3IEBAIHZvaWQgTWVkaWFSZWNvcmRlcjo6ZmV0Y2hEYXRhKEZldGNoRGF0YUNhbGxi
YWNrJiYgY2FsbGJhY2ssIFRha2VQcml2YXRlUmVjb3JkZXIKIAogdm9pZCBNZWRpYVJlY29yZGVy
OjpzdG9wUmVjb3JkaW5nSW50ZXJuYWwoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQogewotICAgIGlmIChzdGF0ZSgpICE9IFJlY29yZGluZ1N0YXRlOjpSZWNv
cmRpbmcpIHsKKyAgICBpZiAoc3RhdGUoKSA9PSBSZWNvcmRpbmdTdGF0ZTo6SW5hY3RpdmUpIHsK
ICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDdkYWViZjM1NTBmNjI4ZGNlZWRkNmY5ZjI4
MzIyNjRkN2MxN2FmNjAuLjAwNzZjZjk4ZDliNmYxYTE5YWRmMmYyYjMyZGRhYThkMmZmNjAxM2Ug
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTAy
LTE1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNZWRpYVJl
Y29yZGVyLnN0b3AoKSBkb2VzIG5vdCB3b3JrIGNvcnJlY3RseSB3aGVuIHJlY29yZGluZyBoYXMg
YmVlbiBwYXVzZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjE5MTYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc0MzY2MTU0PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1wYXVzZS1yZXN1bWUtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3Jk
L01lZGlhUmVjb3JkZXItcGF1c2UtcmVzdW1lLmh0bWw6CisKIDIwMjEtMDItMTUgIE1hbnVlbCBS
ZWdvIENhc2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5jb20+CiAKICAgICAgICAgW3NlbGVjdG9yc10g
VXBkYXRlIFdQVCB0ZXN0IHN1aXRlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1w
YXVzZS1yZXN1bWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItcGF1c2UtcmVz
dW1lLWV4cGVjdGVkLnR4dAppbmRleCBhYmJmNjU4ZWQ2YjA0ZmU4ZWMwNjM3ZmQ2ZDU5NzZiNDVm
YWZmZjA2Li40MmY3YTRmMjIzZjUxZWFiZWZjODQxOTg2N2I2ZTFjZDdhNmM2NWE1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2Fw
dHVyZS1yZWNvcmQvTWVkaWFSZWNvcmRlci1wYXVzZS1yZXN1bWUtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJl
LXJlY29yZC9NZWRpYVJlY29yZGVyLXBhdXNlLXJlc3VtZS1leHBlY3RlZC50eHQKQEAgLTEsMyAr
MSw0IEBACiAKIFBBU1MgTWVkaWFSZWNvcmRlciBoYW5kbGVzIHBhdXNlKCkgYW5kIHJlc3VtZSgp
IGNhbGxzIGFwcHJvcHJpYXRlbHkgaW4gc3RhdGUgYW5kIGV2ZW50cworUEFTUyBNZWRpYVJlY29y
ZGVyIGhhbmRsZXMgc3RvcCgpIGluIHBhdXNlZCBzdGF0ZSBhcHByb3ByaWF0ZWx5CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFj
YXB0dXJlLXJlY29yZC9NZWRpYVJlY29yZGVyLXBhdXNlLXJlc3VtZS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01l
ZGlhUmVjb3JkZXItcGF1c2UtcmVzdW1lLmh0bWwKaW5kZXggMzNkZmQ4NTYwYzA0ZDllOWRlMzM1
YjEzY2ZjYjMzNDI4YTZiN2UyNC4uNTU1NTkxYTgzZDlkZGUwODViYjA0ZjJiYzdlZjRmODczYWU4
ODkwYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYWNhcHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItcGF1c2UtcmVzdW1lLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNh
cHR1cmUtcmVjb3JkL01lZGlhUmVjb3JkZXItcGF1c2UtcmVzdW1lLmh0bWwKQEAgLTY0LDYgKzY0
LDM0IEBACiAgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoZXZlbnRzLCBbInN0YXJ0IiwgInBh
dXNlIiwgInJlc3VtZSIsICJkYXRhYXZhaWxhYmxlIiwgInN0b3AiXSwKICAgICAgICAgICAgICJT
aG91bGQgaGF2ZSBnb3R0ZW4gZXhwZWN0ZWQgZXZlbnRzIik7CiAgICAgfSwgIk1lZGlhUmVjb3Jk
ZXIgaGFuZGxlcyBwYXVzZSgpIGFuZCByZXN1bWUoKSBjYWxscyBhcHByb3ByaWF0ZWx5IGluIHN0
YXRlIGFuZCBldmVudHMiKTsKKworICAgIHByb21pc2VfdGVzdChhc3luYyAoKSA9PiB7CisgICAg
ICAgIGxldCB2aWRlbyA9IGNyZWF0ZVZpZGVvU3RyZWFtKCk7CisgICAgICAgIGxldCByZWNvcmRl
ciA9IG5ldyBNZWRpYVJlY29yZGVyKHZpZGVvKTsKKyAgICAgICAgbGV0IGV2ZW50cyA9IHJlY29y
ZEV2ZW50cyhyZWNvcmRlciwKKyAgICAgICAgICAgIFsic3RhcnQiLCAic3RvcCIsICJkYXRhYXZh
aWxhYmxlIiwgInBhdXNlIiwgInJlc3VtZSIsICJlcnJvciJdKTsKKworICAgICAgICByZWNvcmRl
ci5zdGFydCgpOworICAgICAgICBhc3NlcnRfZXF1YWxzKHJlY29yZGVyLnN0YXRlLCAicmVjb3Jk
aW5nIiwgIk1lZGlhUmVjb3JkZXIgaGFzIGJlZW4gc3RhcnRlZCBzdWNjZXNzZnVsbHkiKTsKKyAg
ICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiByZWNvcmRlci5vbnN0YXJ0ID0gcik7CisKKyAg
ICAgICAgcmVjb3JkZXIucGF1c2UoKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhyZWNvcmRlci5z
dGF0ZSwgInBhdXNlZCIsICJNZWRpYVJlY29yZGVyIHNob3VsZCBiZSBwYXVzZWQgaW1tZWRpYXRl
bHkgZm9sbG93aW5nIHBhdXNlKCkiKTsKKyAgICAgICAgbGV0IGV2ZW50ID0gYXdhaXQgbmV3IFBy
b21pc2UociA9PiByZWNvcmRlci5vbnBhdXNlID0gcik7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
ZXZlbnQudHlwZSwgInBhdXNlIiwgInRoZSBldmVudCB0eXBlIHNob3VsZCBiZSBwYXVzZSIpOwor
ICAgICAgICBhc3NlcnRfdHJ1ZShldmVudC5pc1RydXN0ZWQsICJpc1RydXN0ZWQgc2hvdWxkIGJl
IHRydWUgd2hlbiB0aGUgZXZlbnQgaXMgY3JlYXRlZCBieSBDKysiKTsKKworICAgICAgICByZWNv
cmRlci5zdG9wKCk7CisgICAgICAgIGFzc2VydF9lcXVhbHMocmVjb3JkZXIuc3RhdGUsICJpbmFj
dGl2ZSIsICJNZWRpYVJlY29yZGVyIHNob3VsZCBiZSBpbmFjdGl2ZSBhZnRlciBiZWluZyBzdG9w
cGVkIik7CisgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gcmVjb3JkZXIub25zdG9wID0g
cik7CisKKyAgICAgICAgcmVjb3JkZXIuc3RhcnQoKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhy
ZWNvcmRlci5zdGF0ZSwgInJlY29yZGluZyIsICJNZWRpYVJlY29yZGVyIGhhcyBiZWVuIHN0YXJ0
ZWQgc3VjY2Vzc2Z1bGx5Iik7CisgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHIgPT4gcmVjb3Jk
ZXIub25zdGFydCA9IHIpOworCisgICAgICAgIGFzc2VydF9hcnJheV9lcXVhbHMoZXZlbnRzLCBb
InN0YXJ0IiwgInBhdXNlIiwgImRhdGFhdmFpbGFibGUiLCAic3RvcCIsICJzdGFydCJdLAorICAg
ICAgICAgICAgIlNob3VsZCBoYXZlIGdvdHRlbiBleHBlY3RlZCBldmVudHMiKTsKKyAgICB9LCAi
TWVkaWFSZWNvcmRlciBoYW5kbGVzIHN0b3AoKSBpbiBwYXVzZWQgc3RhdGUgYXBwcm9wcmlhdGVs
eSIpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>