Jump to content


hw9258

Member Since 19 Dec 2017
Offline Last Active 03 Nov 2024 18:04
-----

Topics I've Started

VOD number seek disables channel number zapping if IPTV channel URL is down

31 October 2024 - 18:25

This commit adds VOD number seek when there are VOD channels with URLs ending in mp4 or mkv.

 

https://github.com/O...8d7c44d4ad8ee17

		seekable = self.getSeek()
		if seekable:
			length = seekable.getLength() or (None, 0)
			if length[1] > 0:
				key = int(number)
				time = (-config.seek.selfdefined_13.value, False, config.seek.selfdefined_13.value,
					-config.seek.selfdefined_46.value, False, config.seek.selfdefined_46.value,
					-config.seek.selfdefined_79.value, False, config.seek.selfdefined_79.value)[key - 1]

				time = time * 90000
				seekable.seekRelative(time < 0 and -1 or 1, abs(time))
				return

The problem is that when an IPTV channel URL is down either occasionally or permanently, then zapping out of the black screen with numbers is not possible. It was also discussed here https://forums.openp...is-not-working/

 

The detection for VOD is in https://github.com/O...cemp3.cpp#L1212

RESULT eServiceMP3::isCurrentlySeekable()
{
	int ret = 3; /* just assume that seeking and fast/slow winding are possible */

	if (!m_gst_playbin)
		return 0;

	return ret;
}

which just assumes that all URLs are seekable, perhaps a better solution would be to check if the 4097 URL ends with mp4 or mkv but I don't have enough cpp knowledge to fix it.

Since VOD is not useful for the current use case, the VOD number seek is commented out in Screens/InfoBarGenerics.py.

Thanks in case someone has the time and expertied to look into it.