-
Notifications
You must be signed in to change notification settings - Fork 144
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Test required] MSE::updateStates() should not wait for state change to finish #1460
Conversation
I had similar change in the past (to wait for seek finish) #1132 (review) |
Yes, @asurdej-comcast , I tried it and it worked as expected, but maybe not in the platforms I don't have access to. |
@calvaris That was platform independent, I saw it with PC x86 webkit build also The case was that calling changePipelineState(GST_STATE_PAUSED); while seeking was getting rejected as pipeline was in PAUSED->PAUSED async transition. It was not reflected in m_isPipelinePlaying that was modified immediately anyway. with c2a7752 |
So did you also tested removing that condition from changePipelineState? |
@calvaris We have taken your PR in our code base and done some regression testing. So far, we don't see any regression. |
Yes, I tested with isSeeking removed |
@emutavchi @asurdej-comcast @suresh-khurdiya-infosys I just pushed some more bits of code. Can you please test them? I also filed WebKit/WebKit#40620 so if this works we land it everywhere. |
@calvaris The change is more serious now, I remember I saw yet another problem in the past, related to pausing GST pipeline during async state change. I run tests again and still everything works as expected from user perspective but not really sure if everything is fine inside GST itself. Full graph .dot file |
@asurdej-comcast . Which use case is this? |
MSE, call video.pause() while waiting for preroll after seek https://asurdej-comcast.github.io/tests/RDK-41921_mse_seek_pause2.html |
@calvaris I will wait for final changes for regression testing on our platform. |
Given this issues, let's close this. |
While investigating https://bugs.webkit.org/show_bug.cgi?id=259775 I tried to remove the requirement of not having an ongoing state change to be able to perform another state change. I tried upstream and then downstream with the reference box and rpi. It seems to work but I fear it might impact any custom platform I don't have access to.
I would require testing to ensure this is not a problem. Then I would port it upstream and follow the procedure of upstreaming and then bringing back.
3540c5d