Issue metadata
Sign in to add a comment
|
tabCapture stop sending frame when tab becomes inactive (not selected)
Reported by
kra...@gmail.com,
Oct 21 2017
|
||||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3246.0 Safari/537.36 Steps to reproduce the problem: 1. Start capturing video in tab using chrome.tabCapture (using MediaRecorder to get Blob) 2. Switch to another tab 3. Stop capture after some time (e.g. 10 seconds). What is the expected behavior? I expect to get 10 seconds long video What went wrong? I get very short video (some milliseconds). Everything works fine when keeping tab active (interacting with it). Did this work before? Yes Does this work in other browsers? N/A Chrome version: 64.0.3246.0 Channel: canary OS Version: OS X 10.13.0 Flash Version: It seems like this issue is related to background tab throttling. Doing so breaks my extension, which expects to get frames regardless of the tab activity.
,
Oct 23 2017
,
Oct 23 2017
Unable to reproduce this issue with below steps on reported version 64.0.3246.0 and latest canary 64.0.3247.0 using Mac 10.12.6. Test URL: https://chrome.google.com/webstore/detail/bugreplay/ffcpppmcclefacgmplnmghljcomeiobd?utm_source=chrome-ntp-icon extension On adding above extension on Mac 10.12.6 error "BugrReplay is blocked by administrator" message is seen. But on adding in Ubuntu 14.04 and Windows 10 and following steps below worked fine. 1.Added above extension and captured tab for 25 seconds and 2. Now video with 25 seconds is seen without any missing @Reporter: Could you please let us know the test URL through which you captured tab recording. Thanks!
,
Oct 23 2017
Adding Tab capture Component (seems more related to the source than to the Recorder itself FWIW).
,
Oct 24 2017
Attached minimal extension to reproduce an issue. Steps: 1. Add/install extension 2. Navigate somewhere 3. Start recording and after couple seconds switch to another tab 4. Do not return and wait till new tab is open with captured video I set 10 seconds delay in code, but video will be much shorter. If I get it right, length equals tab activity time.
,
Oct 24 2017
Thank you for providing more feedback. Adding requester "sc00335628@techmahindra.com" to the cc list and removing "Needs-Feedback" label. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Oct 24 2017
It works properly, however, if you stop recording with another click on extension button.
,
Oct 25 2017
Tested this issue on mac 10.12.6 using chrome reported version-64.0.3246.0 & latest Canary-64.0.3249.0 as per steps & Zip file mentioned in C#5 . After step 3 & 4 in C#5, observed new tab opened with captured video which is exactly 10 secs duration. If we want to stop before 10 sec's also we can stop by clicking on extension button at the right side of omnibox. Seems it is working as intended. krassx@, Could you please check & let us know your observations on the same (or confirm to close the issue). Thanks..!
,
Oct 25 2017
For me it always generate broken video (much shorter). Primary idea here is to stay switch to another tab and wait there for completion (not at the tab you are capturing). I will try to capture my screen with the issue, so you will have visual confirmation of my words :).
,
Oct 25 2017
Thank you for providing more feedback. Adding requester "jmukthavaram@chromium.org" to the cc list and removing "Needs-Feedback" label. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Oct 25 2017
Here it is. I started capture and switched to another tab. Then, after 10 secs new tab was created with captured video. And its length is 2 secs, not 10.
,
Oct 25 2017
Just to clarify, IIRC tab capture will only generate frames as long as there is content update (e.g. scrolling, a video or an animation). MediaRecorder OTOH simply records what is fed to it, so if you're sending an inactive tab to the background and then collecting the results with a timed MediaRecorder, then what we get here is what is expected. A similar situation happens with <canvas>.captureStream(), which does not produce frames if the content is not updated. The best option might be to force new frames from the background tab. Marking as Wontfix from the MediaRecorder POV beacause it's WAI, please feel free to reopen if we need more discussion. |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by nyerramilli@chromium.org
, Oct 23 2017