| Mister_Magister | abranson: per gstreamer's AGENTS.md i had to first comprehend entire issue and now I fully and utterly comprehend the issue i believe and the fix has to go upstream but might also need minor tweaking in qtwayland | 00:36 |
|---|---|---|
| Mister_Magister | abranson: also I've concluded i'm in no way qualified to CR/fix it either so i've asked gstreamer guys | 00:59 |
| Mister_Magister | I've caught great asset in form of gstreamer dev into my sfos chat >:) | 00:59 |
| Mister_Magister | the proper description without llm garbage is *atchoo* The issue is with EGL context invalidation of the context that comes from Qt via qmlglsink. Let me explain. Gstreamer in no way is prepared for qt to get rid of its egl context. The pipeline caches it, the element cache it, and there's no way to send signal to the pipeline to make everything invalidate the context and fetch new one. And that problem probably has never ever arisen before | 00:59 |
| Mister_Magister | because to the best of my knowledge desktop has no reason to throw away egl context. SFOS does so when you turn the screen off (mostlikely because it shuts down the GPU) and when screen comes back on the qt has new egl context but the pipeline/qmlglsink/glupload/glcolorconvert don't get new one and the video stays forever black (thats the actual bug) because it's writing to old context, egl doesn't throw any error by design and video is | 00:59 |
| Mister_Magister | forever black. Now the solution that claude implemented is to listen to the aboutToBeDestroyed signal and set flag so that on next frame (because the context is still old when the signal arrives) fetch new context, walk up to the root of the pipeline and set new context using gst_element_set_context + minor fixes because glupload/glcolorconvert won't do anything with it because they react only if display changed and don't care if context | 00:59 |
| Mister_Magister | changed | 00:59 |
| Mister_Magister | My head hurts | 01:00 |
| *** n2klb_ is now known as n2klb | 02:39 | |
| Mister_Magister | so the same issue exists on android… great | 03:16 |
| Mister_Magister | abranson: i got the answer i got the solution!!! The solution is… THERE IS NONE | 03:17 |
| Mister_Magister | I apparently have to recreate pipeline elements | 03:18 |
| Mister_Magister | because actual solution is difficult | 03:18 |
| Mister_Magister | abranson: after talking to gstreamer guy I might implement same per-app workaround he implemented for android | 04:12 |
| Mister_Magister | basicially swap qmlglsink to fakesink -> recreate QtGLVideoItem because it holds cached egl sink (just recreating pipeline elements would just pull cached context from it so there's no point -> recreate pipeline elements -> swap back to qmlglsink | 04:12 |
| Mister_Magister | abranson: hey at least now i can precisely explain to you why the fix belongs to gstreamer and why it has literally nothign to do with qtwayland | 04:26 |
| Mister_Magister | and it's entirely gstreamer issue | 04:26 |
| Mister_Magister | and yes we're both unqualified becuase even gstreamer devs have no clue what the proper fix is | 04:27 |
| Mister_Magister | abranson: i'll mostlikely save you the hussle and craete issue upstream while implementing workaround in my app that way everyone is happy, gstreamer might fix it, sfos might get the fix in the future and i get the app working asap | 04:32 |
| Mister_Magister | abranson: but you gotta merge this https://github.com/abranson/qtwayland/commits/event-thread/ | 04:34 |
| Mister_Magister | everything else is fine | 04:35 |
| Mister_Magister | i just need this | 04:35 |
| nephros_ | on OBS, can I configure how long the builder waits until it kills itself due to 'inactivity'? so, wait longer than 1800 seconds? | 17:30 |
| mal | nephros_: which package has issues? | 18:07 |
| nephros_ | mal: ecl. it seems its internal compiler is very quiet. | 18:10 |
| nephros_ | chum:testing/ecl | 18:10 |
| mal | nephros_: the previous version had no such issues based on quick look | 18:14 |
| mal | so what has changed | 18:14 |
| mal | niqt: https://build.sailfishos.org/packages/ecl/job_history/sailfishos:chum:testing/4.3.0.15_aarch64/aarch64 | 18:15 |
| mal | random example | 18:15 |
| mal | sorry | 18:15 |
| mal | accidental highlight | 18:15 |
| mal | nephros_: I wonder if it is some parallel build issue? maybe try switching back to just "make" | 18:18 |
| mal | I know there were some parallel build issues in sb2 and/or make in cross builds | 18:19 |
| poetaster | mal, did you ever get a godot 4 build finished? | 18:36 |
| mal | hmm, can't remember, wasn't there some community version of that? | 18:39 |
| mal | but now that we have xdg-shell it should be easier | 18:42 |
| mal | and newer gcc | 18:42 |
| mal | I can do a new test build | 18:43 |
| mal | poetaster: https://github.com/savegame/godot there is that one | 18:53 |
| poetaster | ah! I had lost track! Thanks! | 19:01 |
| mal | but newer godot versions have need for fewer hacks | 19:02 |
| nephros_ | mal: thx, I'll try it out. | 19:17 |
| nephros_ | mal: any clues of what causes/caused the queue full issue on OBS in the last days? | 19:32 |
| mal | probably AI bots or something | 19:37 |
| nephros_ | hm. I guess counter measures are tricky without breaking osc, chum gui and others... | 20:14 |
| nephros_ | ... and here we go again. | 20:47 |
| mal | nephros_: looks like that ecl build worked fine, single thread build is annoyingly slow but still better than failure | 21:50 |
| *** titinonero_ is now known as titinonero | 22:33 | |
Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!