On Sat, Nov 09, 2013 at 11:36:55AM +0100, Klaus Schmidinger wrote:
I just tried this on my VDR with a TT S2-6400 and there was no such problem. I assume that this is related to the softdevice OSD implementation and not the core VDR.
Thank you for testing, Klaus!
Were you able to test the other problem (the OSD menu becomes fully transparent and then normal again when subtitles would want to update the OSD)? I can provide a short recording if needed. I guess that these bitmap-based subtitles are not too widespread functionality. Even here in Finland, only the state-owned YLE is using them; the commercial broadcasters are burning the subtitles into the video layer.
In any case, these are very minor problems now; I have an acceptable workaround for both. I just thought that I would go the last mile and polish a bit more, to prepare for a proper release of softdevice.
While I now understand the VDR and softdevice OSD implementation a little better, I still do not fully understand it. Currently, it is a bit of a mystery for me what happens when the OSD is closed and the screen is cleared. In osd.c I understood that there could be a transparent "background pixmap" whose relevant part would be invalidated when upper-layer pixmaps or bitmaps get removed. But, will this also happen when the whole OSD is closed, or only for closing individual "windows"?
Based on the SoftOsd.c debug output and some gdb sessions, it seems to me that the cSoftOsd object gets created and destroyed repeatedly, maybe every time something is displayed and then hidden again. Is this the correct object life cycle? Is there some wiki page or other documentation than the source code?
Best regards and thank you for the great work,
Marko