Ticket #2716: subtitle_not_displaying.diff

File subtitle_not_displaying.diff, 1.2 KB (added by skamithi, 13 years ago)

if the "force display" bit is set in the subtitle but no subtitle is currently running, turn on subtitles.

  • DVDRingBuffer.cpp

     
    701709    if (buf_size < 4)
    702710        return false;
    703711
     712    bool force_subtitle_display = false;
    704713    sub->rects = NULL;
    705714    sub->num_rects = 0;
    706715    sub->start_display_time = 0;
     
    721730            switch(cmd)
    722731            {
    723732                case 0x00:
     733                    force_subtitle_display = true;
    724734                break; 
    725735                case 0x01:
    726736                    sub->start_display_time = (date << 10) / 90;
     
    837849        cmd_pos = next_cmd_pos;
    838850    }
    839851    if (sub->num_rects > 0)
     852    {
     853        if (parent && curSubtitleTrack == -1 && !IsInMenu())
     854        {
     855            uint captionmode = parent->GetCaptionMode();
     856            if (force_subtitle_display && captionmode != kDisplayAVSubtitle)
     857                parent->SetCaptionsEnabled(true, false);
     858            else if (!force_subtitle_display && captionmode == kDisplayAVSubtitle)
     859                parent->SetCaptionsEnabled(false, false);
     860        }
    840861        return true;
     862    }
    841863fail:
    842864    return false;
    843865}