Fixing Video Repeating Issue
Description
This PR fixes an issue that causes the video to loop for a specific few seconds. The issue is caused when the video buffer completes and this.el.on('play.seek',) calls back to player.seekTo. To prevent this behavior, a check has been added before invoking player.seekTo.
Supporting information
https://github.com/openedx/wg-build-test-release/issues/304
Testing instructions
Play a video and seek multiple times to different points in the video before the buffering process completes.
Deadline
"None" if there's no rush, or provide a specific date or event (and reason) if there is one.
Other information
Include anything else that will help reviewers and consumers understand the change.
- Does this change depend on other changes elsewhere?
- Any special concerns or limitations? For example: deprecations, migrations, security, or accessibility.
- If your database migration can't be rolled back easily.
Thanks for the pull request, @mfarhan943! Please note that it may take us up to several weeks or months to complete a review and merge your PR.
Feel free to add as much of the following information to the ticket as you can:
- supporting documentation
- Open edX discussion forum threads
- timeline information ("this must be merged by XX date", and why that is)
- partner information ("this is a course on edx.org")
- any other information that can help Product understand the context for the PR
All technical communication about the code itself will be done via the GitHub pull request interface. As a reminder, our process documentation is here.
Please let us know once your PR is ready for our review and all tests are green.
:warning: We can't start reviewing your pull request until you've submitted a signed contributor agreement or indicated your institutional affiliation. Please see the CONTRIBUTING file for more information. If you've signed an agreement in the past, you may need to re-sign. See The New Home of the Open edX Codebase for details.
Once you've signed the CLA, please allow 1 business day for it to be processed. After this time, you can re-run the CLA check by adding a comment here that you have signed it. If the problem persists, you can tag the @openedx/cla-problems team in a comment on your PR for further assistance.
Hi @mfarhan943! Thank you for this contribution! Please let me know if you have any questions regarding completing the CLA form mentioned above.
@mfarhan943 Should this change be contributed as a staff member at edly?
@mfarhan943 There are also a few failing checks that will require some attention.
@mfarhan943 Should this change be contributed as a staff member at edly?
Yes
@mfarhan943 Can you ask your HR team to reach out to us to add you to the contributor license agreement?
Hi, we need to have a valid Contributor License Agreement (CLA) in place for all contributions. See the welcome message above for the details about how to enroll. The process is different depending upon whether you are making this contribution as an individual or on behalf of your employer.
Hi @mfarhan943! Just following up on this! If you plan to pursue this pull request, please have your manager reach out to [email protected] to add you to Edly's entity agreement. Thanks!
@mfarhan943 looks like we have some failed tests, can you take a look?
@mfarhan943 I just created an individual CLA for you, but noticed that your email is an arbisoft address. If you are covered under their CLA, please have HR reach out to us to include you. If this is an individual contribution, we need a personal email address.
Hi @mfarhan943! Just following up on this! If you plan to pursue this pull request, please have your manager reach out to [email protected] to add you to Edly's entity agreement. Thanks!
My manager has already emailed but I am still not added. Could you please check?
Hi @mfarhan943! Just following up on this! If you plan to pursue this pull request, please have your manager reach out to [email protected] to add you to Edly's entity agreement. Thanks!
My manager has already emailed but I am still not added. Could you please check?
Hi @mfarhan943 - I can add you in, but I'm not seeing a previous email from your manager to add you. Could you make sure they sent it to [email protected]? We need to also confirm your email address.
@mphilbrick211 They sent it with the 'Arbisoft' email but I had changed my GitHub primary. Do I need to change my GitHub email for the contract?
@mfarhan943 - we need your email address (your work email), and your github username (which we have).
@mfarhan943 just re-ran the tests, can you respond to @mphilbrick211 's question above?
@mfarhan943 - we need your email address (your work email), and your github username (which we have).
Should I reply to the email sent by my lead, or should I share my email with you through another method?
@mfarhan943 - we need your email address (your work email), and your github username (which we have).
Should I reply to the email sent by my lead, or should I share my email with you through another method?
@mfarhan943 If you could forward the email sent by your lead to [email protected], that would be great! I'm not sure we received it.
@mphilbrick211 I have forwarded email to [email protected].
@mphilbrick211 @mfarhan943 I can help review this PR as CC.
@mphilbrick211 @mfarhan943 I can help review this PR as CC.
Yes, that would be great.
@mphilbrick211 @mfarhan943 I can help review this PR as CC.
Great! Thanks, @navinkarkera!
@mfarhan943 I am not able to reproduce this issue in master. Is it browser specific? I tried it in Firefox and Brave.
@navinkarkera: I reproduced it once using Chrome with this component: https://studio.sandbox.openedx.edly.io/container/block-v1:edX+DemoX+Demo_Course+type@vertical+block@4f6c1b4e316a419ab5b6bf30e6c708e9, but then I couldn't. I'm not sure how to trigger the buffering.
https://github.com/openedx/edx-platform/assets/64440265/256b4021-eba3-4f13-9a5b-8856723c0796
@mariajgrimaldi I am still not able to reproduce this issue. The fix is checking for player status which is already being checked in the line above (although it is outside of play.seek event). Unless we can reproduce this reliably and test the solution, I guess we cannot merge this. cc @mfarhan943
I'll leave here what I did to reproduce it, this time in Firefox:
- In Studio, load a component with a video
- Play the video
- Move the cursor to the end of the video so it buffers
- Move the cursor back and forth a few times
Screencast from 29-04-24 09:10:06.webm
In case it helps.
@mfarhan943 @navinkarkera - is this still in progress?
Move the cursor to the end of the video so it buffers
@mariajgrimaldi Thanks! I was able to reproduce the issue by throttling my internet to Good 3G in firefox.
@mfarhan943 The issue still persists even after applying the solution in this PR.