Hi Klaus,
>I have no such problem here. If I open the menu of the channel/progress
>display while subtitles are active, no subtitles are displayed while
>the menu is open and they continue to be displayed once the menu has
>been closed again.
OK. The only difference that I am seeing (after disabling the
dirty_lines[] optimization) that the OSD menu will disappear for less
than half a second when the subtitles would want to do something. The
menu would reappear again, and no subtitles are displayed until I close
the OSD menu. As soon as I close the OSD menu, the subtitles (if any are
active at that time) would be displayed immediately.
>"burning the subtitles into the video layer" is probably the worst idea
>ever.
I fully agree. I guess that the commercial broadcasters try to avoid
"leaking" too much metadata. Or they are just lazy, such as never
showing the episode number of name of a series in the EPG data. If they
sent proper subtitles and VPS signals and what not, then commercial
breaks could be detected easier, without having to decompress and
interpret the video stream. (Well, I guess there are VDR plugins for
this; another reason to use VDR instead of some proprietary product.)
Also the state-owned broadcaster YLE is bending the rules a little.
There usually is a "Dutch" language audio track that contains the
original audio mixed with a speech synthesizer that is reading the
Finnish subtitles. More recently, they have started to introduce "Dutch"
language subtitles that actually are Finnish transcript of the Finnish
audio track for the hearing impaired.
In any case, this is good service: The same video broadcast can serve
all audiences. For example, a program that has original audio in N
languages can be sent with N+M audio tracks and N+M sets of subtitles.
In the times of the analog TV, the program could be sent in 2 channels,
once in Swedish and once in Finnish, and that is it.
>When the whole OSD is closed, ther is nothing that gets displayed.
OK, I think I will have to check what is happening around cOsd::~cOsd().
It could be that Softdevice is simply clearing the OSD layer at wrong
points of the object lifecycle, in a way that happens to work for
everything else than subtitles.
Best regards,
Marko