Closed TBSniller closed 1 year ago
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)
@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.
Not needed due to https://github.com/webosbrew/hyperion-webos/pull/105 Thanks @Informatic ! <3
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 https://github.com/webosbrew/hyperion-webos/issues/95
@tuxuser Can you please review?