Author Topic: DVB Subtitles with 0.3.1-x  (Read 4913 times)

Offline JTe

  • Full Member
  • ***
  • Posts: 81
    • View Profile
DVB Subtitles with 0.3.1-x
« on: January 15, 2010, 19:48:07 »
I noticed that with VDR 1.6.x and vompserver 0.3.1-x some DVB broadcasts (YLE broadcasts in Finland for example) the DVB subtitles are cleared off the screen only when the next subtitle is displayed. I mean that often there are parts of the film when nobody is speaking and normally no subtitle is shown, but in this case the last subtitle will be displayed as long as the next is displayed. Also the very last subtitle of a film will stay forever on the screen.

I also tested with TV5 EUROPE and TV5 FBS on my DVBS and there the subtitles work fully fine.

I was browsing through the ETS 300 743 and figured out it could be something to do with page_time_out in the page_composition_segment or with the region erasure...

Anyway if somebody has already set up a vomp-plugin development environment and wants to try to get the region or page erasure to work I could provide a short vdr-recording for tests...

Offline MarkC

  • Full Member
  • ***
  • Posts: 65
    • View Profile
Re: DVB Subtitles with 0.3.1-x
« Reply #1 on: January 18, 2010, 00:31:57 »
You are probably correct about page_time_out. I didn't implement this, because when I was testing with UK subtitles, they were always cleared explicitly with an empty page composition. I believe this is the way subtitles are supposed to be transmitted, and that page_time_out is only there in case the decoder misses some of the subtitle data.

I've been lucky to have got away with this for so long! :) I'll make a mental note that this needs to be looked at, but I can't promise anything soon!

Offline JTe

  • Full Member
  • ***
  • Posts: 81
    • View Profile
Re: DVB Subtitles with 0.3.1-x
« Reply #2 on: November 20, 2011, 20:05:53 »
I finally managed to try a fix to this subtitle problem. Attached is a first try to a patch that adds the page_time_out to the subtitles. I shamelessly copied the vdr code and also the vdr tools with a some light modifications. I have been now running the the code for about two weeks and it seems to work both with Finnish DVB-T channels and the Astra satellite channels (which did not have the page clear problem).

One thing I am not happy id to use the osd->clearOSD() to clear the display but I could not get anything else working... Mark probably has better ideas for this. Also I am kind of misusing the thread method by making it to sleep maximum of 200 ms and then waking up to check the timeout, but that was a easy way to do it with similar structure as on the vdr side. There seems to be no performance hit neither with this approach.

I also thought that at state 1 (Acquisition point) the regions should be cleared... at least everything works if it is done.

Anyway I would be happy if Mark could comment is this a right approach to make the subtitle timeout?