TODO
----
- kun subit pistetaan pois paalta, tulee edelleen viesti
old
|
new
|
|
564 | 564 | videoOutput->EmbedInWidget(embedid, embx, emby, embw, embh); |
565 | 565 | } |
566 | 566 | |
567 | | SetCaptionsEnabled(gContext->GetNumSetting("DefaultCCMode")); |
| 567 | SetCaptionsEnabled(gContext->GetNumSetting("DefaultCCMode"), false); |
568 | 568 | |
569 | 569 | return true; |
570 | 570 | } |
… |
… |
|
620 | 620 | |
621 | 621 | if (textDisplayMode) |
622 | 622 | { |
623 | | DisableCaptions(textDisplayMode); |
624 | | SetCaptionsEnabled(true); |
| 623 | DisableCaptions(textDisplayMode, false); |
| 624 | SetCaptionsEnabled(true, false); |
625 | 625 | } |
626 | 626 | } |
627 | 627 | |
… |
… |
|
1450 | 1450 | |
1451 | 1451 | ResetCaptions(mode); |
1452 | 1452 | |
1453 | | if (osd_msg && osd) |
| 1453 | if (!osd || !osd_msg) |
| 1454 | return; |
| 1455 | |
| 1456 | QString msg = " "; |
| 1457 | if (kDisplayNUVTeletextCaptions & mode) |
| 1458 | msg += QObject::tr("TXT CAP"); |
| 1459 | if (kDisplayTeletextCaptions & mode) |
1454 | 1460 | { |
1455 | | QString msg = " "; |
1456 | | if (kDisplayNUVTeletextCaptions & mode) |
1457 | | msg += QObject::tr("TXT CAP"); |
1458 | | if (kDisplayTeletextCaptions & mode) |
1459 | | { |
1460 | | msg += decoder->GetTrackDesc(kTrackTypeTeletextCaptions, |
1461 | | GetTrack(kTrackTypeTeletextCaptions)); |
| 1461 | msg += decoder->GetTrackDesc(kTrackTypeTeletextCaptions, |
| 1462 | GetTrack(kTrackTypeTeletextCaptions)); |
1462 | 1463 | |
1463 | | DisableTeletext(); |
1464 | | } |
1465 | | if (kDisplayAVSubtitle & mode) |
1466 | | { |
1467 | | msg += decoder->GetTrackDesc(kTrackTypeSubtitle, |
1468 | | GetTrack(kTrackTypeSubtitle)); |
1469 | | } |
1470 | | if (kDisplayTextSubtitle & mode) |
1471 | | { |
| 1464 | DisableTeletext(); |
| 1465 | } |
| 1466 | if (kDisplayAVSubtitle & mode) |
| 1467 | { |
| 1468 | msg += decoder->GetTrackDesc(kTrackTypeSubtitle, |
| 1469 | GetTrack(kTrackTypeSubtitle)); |
| 1470 | } |
| 1471 | if (kDisplayTextSubtitle & mode) |
| 1472 | { |
1472 | 1473 | msg += QObject::tr("Text subtitles"); |
1473 | | } |
1474 | | if (kDisplayCC608 & mode) |
1475 | | { |
1476 | | msg += decoder->GetTrackDesc(kTrackTypeCC608, |
1477 | | GetTrack(kTrackTypeCC608)); |
1478 | | } |
1479 | | if (kDisplayCC708 & mode) |
1480 | | { |
1481 | | msg += decoder->GetTrackDesc(kTrackTypeCC708, |
1482 | | GetTrack(kTrackTypeCC708)); |
1483 | | } |
| 1474 | } |
| 1475 | if (kDisplayCC608 & mode) |
| 1476 | { |
| 1477 | msg += decoder->GetTrackDesc(kTrackTypeCC608, |
| 1478 | GetTrack(kTrackTypeCC608)); |
| 1479 | } |
| 1480 | if (kDisplayCC708 & mode) |
| 1481 | { |
| 1482 | msg += decoder->GetTrackDesc(kTrackTypeCC708, |
| 1483 | GetTrack(kTrackTypeCC708)); |
| 1484 | } |
1484 | 1485 | |
1485 | | if (msg != " ") |
1486 | | { |
1487 | | msg += " " + QObject::tr("Off"); |
1488 | | osd->SetSettingsText(msg, 3 /* seconds until message timeout */); |
1489 | | } |
| 1486 | if (msg != " ") |
| 1487 | { |
| 1488 | msg += " " + QObject::tr("Off"); |
| 1489 | osd->SetSettingsText(msg, 3 /* seconds until message timeout */); |
1490 | 1490 | } |
1491 | 1491 | } |
1492 | 1492 | |
1493 | 1493 | // caller has decoder_changed_lock |
1494 | | void NuppelVideoPlayer::EnableCaptions(uint mode) |
| 1494 | void NuppelVideoPlayer::EnableCaptions(uint mode, bool osd_msg) |
1495 | 1495 | { |
1496 | 1496 | QString msg = ""; |
1497 | 1497 | if (kDisplayAVSubtitle & mode) |
… |
… |
|
1536 | 1536 | msg += " " + QObject::tr("On"); |
1537 | 1537 | |
1538 | 1538 | textDisplayMode = mode; |
1539 | | if (osd) |
| 1539 | if (osd && osd_msg) |
1540 | 1540 | osd->SetSettingsText(msg, 3 /* seconds until message timeout */); |
1541 | 1541 | |
1542 | 1542 | } |
… |
… |
|
1626 | 1626 | return textDisplayMode; |
1627 | 1627 | } |
1628 | 1628 | |
1629 | | void NuppelVideoPlayer::SetCaptionsEnabled(bool enable) |
| 1629 | void NuppelVideoPlayer::SetCaptionsEnabled(bool enable, bool osd_msg) |
1630 | 1630 | { |
1631 | 1631 | uint origMode = textDisplayMode; |
1632 | 1632 | |
… |
… |
|
1636 | 1636 | |
1637 | 1637 | if (!enable) |
1638 | 1638 | { |
1639 | | DisableCaptions(origMode); |
| 1639 | DisableCaptions(origMode, osd_msg); |
1640 | 1640 | return; |
1641 | 1641 | } |
1642 | 1642 | |
1643 | 1643 | // figure out which text type to enable.. |
1644 | 1644 | bool captions_found = true; |
1645 | 1645 | if (decoder->GetTrackCount(kTrackTypeSubtitle)) |
1646 | | EnableCaptions(kDisplayAVSubtitle); |
| 1646 | EnableCaptions(kDisplayAVSubtitle, osd_msg); |
1647 | 1647 | else if (textSubtitles.GetSubtitleCount() > 0) |
1648 | | EnableCaptions(kDisplayTextSubtitle); |
| 1648 | EnableCaptions(kDisplayTextSubtitle, osd_msg); |
1649 | 1649 | else if (decoder->GetTrackCount(kTrackTypeCC708)) |
1650 | | EnableCaptions(kDisplayCC708); |
| 1650 | EnableCaptions(kDisplayCC708, osd_msg); |
1651 | 1651 | else if (decoder->GetTrackCount(kTrackTypeTeletextCaptions)) |
1652 | | EnableCaptions(kDisplayTeletextCaptions); |
| 1652 | EnableCaptions(kDisplayTeletextCaptions, osd_msg); |
1653 | 1653 | else if (vbimode == VBIMode::PAL_TT) |
1654 | | EnableCaptions(kDisplayNUVTeletextCaptions); |
| 1654 | EnableCaptions(kDisplayNUVTeletextCaptions, osd_msg); |
1655 | 1655 | else if (vbimode == VBIMode::NTSC_CC) |
1656 | 1656 | { |
1657 | 1657 | if (decoder->GetTrackCount(kTrackTypeCC608)) |
1658 | | EnableCaptions(kDisplayCC608); |
| 1658 | EnableCaptions(kDisplayCC608, osd_msg); |
1659 | 1659 | else |
1660 | 1660 | captions_found = false; |
1661 | 1661 | } |
1662 | 1662 | else |
1663 | 1663 | captions_found = false; |
1664 | 1664 | |
1665 | | if (!captions_found && osd) |
| 1665 | if (!captions_found && osd && osd_msg) |
1666 | 1666 | { |
1667 | 1667 | QString msg = QObject::tr( |
1668 | 1668 | "No captions", "CC/Teletext/Subtitle text not available"); |
… |
… |
|
5722 | 5722 | ((sid == 3) ? CC_CC3 : CC_CC4); |
5723 | 5723 | } |
5724 | 5724 | DisableCaptions(textDisplayMode, false); |
5725 | | EnableCaptions(kDisplayCC608); |
| 5725 | EnableCaptions(kDisplayCC608, false); |
5726 | 5726 | } |
5727 | 5727 | else if (kTrackTypeTeletextCaptions == type) |
5728 | 5728 | { |
… |
… |
|
5733 | 5733 | } |
5734 | 5734 | |
5735 | 5735 | /** \fn NuppelVideoPlayer::TracksChanged(uint) |
5736 | | * \brief This tries to re-enables captions/subtitles if the user |
| 5736 | * \brief This tries to re-enable captions/subtitles if the user |
5737 | 5737 | * wants them and one of the captions/subtitles tracks has |
5738 | 5738 | * changed. |
5739 | 5739 | */ |
… |
… |
|
5742 | 5742 | if (trackType >= kTrackTypeSubtitle && |
5743 | 5743 | trackType <= kTrackTypeTeletextCaptions && textDesired) |
5744 | 5744 | { |
5745 | | SetCaptionsEnabled(textDesired); |
| 5745 | SetCaptionsEnabled(true, false); |
5746 | 5746 | } |
5747 | 5747 | } |
5748 | 5748 | |