Vdr 1.7.4 replay hangs, when subtitles start

Message ID 49832510.9090208@cadsoft.de
State New
Headers

Commit Message

Klaus Schmidinger Jan. 30, 2009, 4:04 p.m. UTC
  On 29.01.2009 20:07, Timo Helkio wrote:
> Hi all,
> 
> 
> Vdr-1.7.4 stops playing recordings with subtitles, when subtitles start 
> and in the log is seen "subtitleConverter thread started". There are no 
> other messages in the log and replay goes on if you press FF and play 
> buttons again. I have a Nexus-s card as tv-output and this happens with 
> "pure" Vdr, no patches and plugins installed.

Here's the fix:



Klaus
  

Comments

Timo Helkio Jan. 30, 2009, 4:20 p.m. UTC | #1
Klaus Schmidinger kirjoitti:
> On 29.01.2009 20:07, Timo Helkio wrote:
>> Hi all,
>>
>>
>> Vdr-1.7.4 stops playing recordings with subtitles, when subtitles start 
>> and in the log is seen "subtitleConverter thread started". There are no 
>> other messages in the log and replay goes on if you press FF and play 
>> buttons again. I have a Nexus-s card as tv-output and this happens with 
>> "pure" Vdr, no patches and plugins installed.
> 
> Here's the fix:
> 
> --- device.c    2009/01/25 11:10:56     2.11
> +++ device.c    2009/01/30 16:01:53
> @@ -1304,8 +1304,9 @@
>    if (!dvbSubtitleConverter)
>       dvbSubtitleConverter = new cDvbSubtitleConverter;
>    tsToPesSubtitle.PutTs(Data, Length);
> -  if (const uchar *p = tsToPesSubtitle.GetPes(Length)) {
> -     dvbSubtitleConverter->Convert(p, Length);
> +  int l;
> +  if (const uchar *p = tsToPesSubtitle.GetPes(l)) {
> +     dvbSubtitleConverter->Convert(p, l);
>       tsToPesSubtitle.Reset();
>       }
>    return Length;
> 
> 
> Klaus
> 
> _______________________________________________
> vdr mailing list
> vdr@linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
> 


Yes, it works now.


Timo
  

Patch

--- device.c    2009/01/25 11:10:56     2.11
+++ device.c    2009/01/30 16:01:53
@@ -1304,8 +1304,9 @@ 
   if (!dvbSubtitleConverter)
      dvbSubtitleConverter = new cDvbSubtitleConverter;
   tsToPesSubtitle.PutTs(Data, Length);
-  if (const uchar *p = tsToPesSubtitle.GetPes(Length)) {
-     dvbSubtitleConverter->Convert(p, Length);
+  int l;
+  if (const uchar *p = tsToPesSubtitle.GetPes(l)) {
+     dvbSubtitleConverter->Convert(p, l);
      tsToPesSubtitle.Reset();
      }
   return Length;