edx-platform icon indicating copy to clipboard operation
edx-platform copied to clipboard

Fixing Video Repeating Issue

Open mfarhan943 opened this issue 2 years ago • 22 comments

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.

mfarhan943 avatar Sep 27 '23 14:09 mfarhan943

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.

openedx-webhooks avatar Sep 27 '23 14:09 openedx-webhooks

Hi @mfarhan943! Thank you for this contribution! Please let me know if you have any questions regarding completing the CLA form mentioned above.

mphilbrick211 avatar Oct 02 '23 17:10 mphilbrick211

@mfarhan943 Should this change be contributed as a staff member at edly?

e0d avatar Oct 10 '23 18:10 e0d

@mfarhan943 There are also a few failing checks that will require some attention.

e0d avatar Oct 10 '23 18:10 e0d

@mfarhan943 Should this change be contributed as a staff member at edly?

Yes

mfarhan943 avatar Oct 10 '23 18:10 mfarhan943

@mfarhan943 Can you ask your HR team to reach out to us to add you to the contributor license agreement?

e0d avatar Oct 10 '23 19:10 e0d

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.

e0d avatar Oct 17 '23 16:10 e0d

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!

mphilbrick211 avatar Nov 16 '23 15:11 mphilbrick211

@mfarhan943 looks like we have some failed tests, can you take a look?

e0d avatar Dec 14 '23 19:12 e0d

@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.

e0d avatar Dec 20 '23 19:12 e0d

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?

mfarhan943 avatar Jan 19 '24 10:01 mfarhan943

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 avatar Jan 19 '24 18:01 mphilbrick211

@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 avatar Jan 19 '24 19:01 mfarhan943

@mfarhan943 - we need your email address (your work email), and your github username (which we have).

mphilbrick211 avatar Jan 19 '24 20:01 mphilbrick211

@mfarhan943 just re-ran the tests, can you respond to @mphilbrick211 's question above?

e0d avatar Feb 08 '24 19:02 e0d

@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 avatar Feb 08 '24 19:02 mfarhan943

@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 avatar Feb 09 '24 16:02 mphilbrick211

@mphilbrick211 I have forwarded email to [email protected].

mfarhan943 avatar Feb 12 '24 13:02 mfarhan943

@mphilbrick211 @mfarhan943 I can help review this PR as CC.

navinkarkera avatar Mar 06 '24 12:03 navinkarkera

@mphilbrick211 @mfarhan943 I can help review this PR as CC.

Yes, that would be great.

mfarhan943 avatar Mar 06 '24 12:03 mfarhan943

@mphilbrick211 @mfarhan943 I can help review this PR as CC.

Great! Thanks, @navinkarkera!

mphilbrick211 avatar Mar 08 '24 20:03 mphilbrick211

@mfarhan943 I am not able to reproduce this issue in master. Is it browser specific? I tried it in Firefox and Brave.

navinkarkera avatar Apr 02 '24 10:04 navinkarkera

@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 avatar Apr 26 '24 17:04 mariajgrimaldi

@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

navinkarkera avatar Apr 29 '24 09:04 navinkarkera

I'll leave here what I did to reproduce it, this time in Firefox:

  1. In Studio, load a component with a video
  2. Play the video
  3. Move the cursor to the end of the video so it buffers
  4. Move the cursor back and forth a few times

Screencast from 29-04-24 09:10:06.webm

In case it helps.

mariajgrimaldi avatar Apr 29 '24 13:04 mariajgrimaldi

@mfarhan943 @navinkarkera - is this still in progress?

mphilbrick211 avatar Jul 30 '24 19:07 mphilbrick211

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.

navinkarkera avatar Aug 01 '24 03:08 navinkarkera