Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[K21] Subtitles from German live broadcasters (ARD, ZDF) temporarly are not displayed #1611

Open
werimail opened this issue Jul 30, 2024 · 1 comment
Labels
Component: HLS Triage: Confirmed issue has been reproduced by a team member

Comments

@werimail
Copy link

werimail commented Jul 30, 2024

Describe the problem

Subtitles from German live broadcasters (ARD, ZDF, etc.) temporarly are not displayed in Kodi 21 (Omega), although selected in the OSD

Possible fix

It shows subtitles available e.g.: "German - Untertitel deutsch (Standard)" but nothing shows when it is turned on.

Steps to reproduce

Steps to reproduce the behavior:

  1. Call up the stream (using PVR IPTV Simple Client etc.)
  2. Enable subtitles via the OSD menu

Debug log

kodi_debug_sub_omega.log

Stream manifest file(s)

manifest_1722338282_child-audio.txt
manifest_1722338282_child-subtitle.txt
manifest_1722338282_child-video.txt
manifest_1722338280_child-subtitle.txt
manifest_1722338279_child-audio.txt
manifest_1722338279_child-video.txt
manifest_1722338277_child-audio.txt
manifest_1722338277_child-subtitle.txt
manifest_1722338277_child-video.txt
manifest_1722338274_child-audio.txt
manifest_1722338267_child-video.txt
manifest_1722338267_child-audio.txt
manifest_1722338267_child-subtitle.txt
manifest_1722338274_child-subtitle.txt
manifest_1722338264_child-video.txt
manifest_1722338262_child-audio.txt
manifest_1722338262_child-subtitle.txt
manifest_1722338262_child-video.txt
manifest_1722338260_child-subtitle.txt
manifest_1722338259_child-audio.txt
manifest_1722338259_child-video.txt
manifest_1722338257_child-audio.txt
manifest_1722338257_child-subtitle.txt
manifest_1722338257_child-video.txt
manifest_1722338255_child-subtitle.txt
manifest_1722338254_child-audio.txt
manifest_1722338254_child-video.txt
manifest_1722338252_child-audio.txt
manifest_1722338252_child-subtitle.txt
manifest_1722338252_child-video.txt
manifest_1722338250_child-audio.txt
manifest_1722338250_child-subtitle.txt
manifest_1722338249_child-video.txt
manifest_1722338247_child-audio.txt
manifest_1722338247_child-subtitle.txt
manifest_1722338247_child-video.txt
manifest_1722338245_child-audio.txt
manifest_1722338245_child-subtitle.txt
manifest_1722338244_child-video.txt
manifest_1722338264_child-subtitle.txt
manifest_1722338264_child-audio.txt
manifest_1722338274_child-video.txt
manifest_1722338272_child-audio.txt
manifest_1722338272_child-subtitle.txt
manifest_1722338272_child-video.txt
manifest_1722338269_child-audio.txt
manifest_1722338269_child-subtitle.txt
manifest_1722338269_child-video.txt
manifest_1722338242_child-audio.txt
manifest_1722338242_child-subtitle.txt
manifest_1722338242_child-video.txt
manifest_1722338240_child-audio.txt
manifest_1722338240_child-subtitle.txt
manifest_1722338239_child-video.txt
manifest_1722338237_child-audio.txt
manifest_1722338237_child-subtitle.txt
manifest_1722338237_child-video.txt
manifest_1722338235_child-audio.txt
manifest_1722338235_child-subtitle.txt
manifest_1722338235_child-video.txt
manifest_1722338232_child-audio.txt
manifest_1722338232_child-subtitle.txt
manifest_1722338232_child-video.txt
manifest_1722338230_child-audio.txt
manifest_1722338230_child-subtitle.txt
manifest_1722338230_child-video.txt
manifest_1722338227_child-audio.txt
manifest_1722338227_child-subtitle.txt
manifest_1722338227_child-video.txt
manifest_1722338225_child-audio.txt
manifest_1722338225_child-subtitle.txt
manifest_1722338225_child-video.txt
manifest_1722338222_child-audio.txt
manifest_1722338222_child-subtitle.txt
manifest_1722338222_child-video.txt
manifest_1722338220_child-audio.txt
manifest_1722338220_child-subtitle.txt
manifest_1722338220_child-video.txt
manifest_1722338217_child-audio.txt
manifest_1722338217_child-subtitle.txt
manifest_1722338217_child-video.txt
manifest_1722338215_child-audio.txt
manifest_1722338215_child-subtitle.txt
manifest_1722338215_child-video.txt
manifest_1722338212_child-audio.txt
manifest_1722338212_child-subtitle.txt
manifest_1722338212_child-video.txt
manifest_1722338210_child-audio.txt
manifest_1722338210_child-subtitle.txt
manifest_1722338210_child-video.txt
manifest_1722338207_child-audio.txt
manifest_1722338207_child-subtitle.txt
manifest_1722338207_child-video.txt
manifest_1722338205_child-audio.txt
manifest_1722338205_child-subtitle.txt
manifest_1722338205_child-video.txt
manifest_1722338202_child-audio.txt
manifest_1722338202_child-subtitle.txt

Additional info

Here is some additional context or explanation that might help:
Streaming Adresses of German live broadcasters (ZDF):
https://zdf-hls-15.akamaized.net/hls/live/2016498/de/high/master.m3u8

Operating system(s)

Android

Operating system version(s)

LineageOS 20 based on Android for Raspberry Pi 400

InputStream Adaptive version(s)

ISA 21.4.10

Kodi version(s)

Kodi 21

@werimail werimail added the Triage: Needed (managed by bot) issue that was just created and needs someone looking at it label Jul 30, 2024
@CastagnaIT CastagnaIT added Triage: Confirmed issue has been reproduced by a team member and removed Triage: Needed (managed by bot) issue that was just created and needs someone looking at it labels Aug 1, 2024
@CastagnaIT
Copy link
Collaborator

CastagnaIT commented Aug 1, 2024

is a know problem of bad segment package pts / selection,
mainly for HLS because pts that come from segment packages are differents form the manifest pts of subtitles

//! @todo: startPTS workaround! pts has been taken by substracting the period start
//! this just to have a lower pts value, but the real problem is in CSession::GetNextSample
//! that that makes an incorrect comparison of DTSorPTS
if (CSrvBroker::GetResources().GetTree().GetTreeType() == adaptive::TreeType::HLS)

//!@ todo: DTSorPTS comparison is wrong
//! currently we are compare audio/video/subtitles
//! for audio/video the pts/dts come from demuxer, but subtitles use pts from manifest
//! these values not always are comparable because pts/dts that come from demuxer packet data
//! can be different and makes this package selection ineffective
//! see also workaround on CSubtitleSampleReader::ReadSample
if (!res || streamReader->DTSorPTS() < res->GetReader()->DTSorPTS())

this bug influence also this value

// The last PTS of the segment package fed to kodi.
// NO_PTS_VALUE only when playback starts or a new period starts
std::atomic<uint64_t> m_lastPts{PLAYLIST::NO_PTS_VALUE};

used to seek subtitle stream when re-enabled
then when you turn off/on subtitle happens bad behaviours with segments

a good solution require not easy changes on more components
from my part atm i have no time
thing to do in a future or by someonelse

PS. attach hundred of files in a Issue thread is nonsense, compress all them in a single file

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: HLS Triage: Confirmed issue has been reproduced by a team member
Projects
None yet
Development

No branches or pull requests

2 participants