Skip to content
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

QUIRK: Fix quickstart on webOS 3.x TVs QUIRK_DILE_VT_DESTROY_ON_STOP #99

Closed
wants to merge 5 commits into from

Conversation

TBSniller
Copy link
Collaborator

@TBSniller TBSniller commented Oct 3, 2022

In latest unicapture changes, we have changed how TVs powerstate is processed. In older versions we have used to completly stop capture on standby. Now we only stop capture and let capture interfaces in memory.
The problem with older webOS TVs is, that in standby it regardless kills hyperion-webos after awake, which leads to not fully shut down capture interfaces and because of that a new interface can't be created.

This PR will introduce another quirk QUIRK_DILE_VT_DESTROY_ON_STOP, which will destroy DILE_VT interface, when a standby is in progress, so it can be created on next TV awake, without the need of disabling QuickStart+ or completly reboot TV.

This addresses #95

@tuxuser Can you please review?

@Informatic
Copy link
Member

Informatic commented Oct 4, 2022

I've just realized we don't actually call capture_cleanup anywhere.

Wouldn't it make sense to implement this in unicapture.c instead, so that it could be used as a workaround on other backends as well?

We could add an extra "initialized" field into capture_backend_t that'd be set to true at the end of unicapture_init_backend on success (since we depend on init call for backend autodetection), then at the end of unicapture_run shutdown add apropriate backend->cleanup() calls, set that flag back to false, and add backend->init() call at the beginning of unicapture_run if said flag is false again. (aka. unicapture_run has been launched once again after suspend)

@TBSniller
Copy link
Collaborator Author

@Informatic
Yeah, that was also something I have seen. In my first attempt I have also tried to do things like you have described, but to be honest I'm not that experienced and haven't managed to get something useful. I'm more in a manner of doing things in a trial and error way, so as I don't have a WebOS 3 TV, I'm a bit lost in testing changed things.
Because of this and the reason that no one else has tried to fix this issue, I have done it in this way.
I would appreciate your opinion in merging anyways and create a issue for this, so users can use this fix, while someone else might contribute in a correct way. Or otherwise, if you mean that we should keep things clean and in a correct way, but as a bummer that this issue might not be fixed in near future, as currently no one had time, or wanted to do this.

@TBSniller
Copy link
Collaborator Author

Not needed due to #105 Thanks @Informatic ! <3

@TBSniller TBSniller closed this Mar 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants