<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Неофициальный форум DLNA Home Media Server &mdash; Задержка выполнения скрипта]]></title>
		<link>https://hms.lostcut.net/viewtopic.php?id=582</link>
		<atom:link href="https://hms.lostcut.net/extern.php?action=feed&amp;tid=582&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Задержка выполнения скрипта».]]></description>
		<lastBuildDate>Mon, 05 Nov 2018 15:31:08 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Задержка выполнения скрипта]]></title>
			<link>https://hms.lostcut.net/viewtopic.php?pid=13313#p13313</link>
			<description><![CDATA[<div class="quotebox"><cite>WendyH пишет:</cite><blockquote><p>Следующий код вызовет паузу в 3 сек:<br /></p><div class="codebox"><pre><code>HmsSleep(3000);</code></pre></div><p>Значение - время в миллисекундах.</p></blockquote></div><p>Спасибо, то, что надо.<br /></p><div class="quotebox"><cite>WendyH пишет:</cite><blockquote><p>Насчёт момента, когда срабатывает скрипт, а когда транскодирование.<br />Дело в том, что транскодирование - дело не моментальное. Пока наполнится буфер, пока начнёт отправляться на устройство, (если это подкаст и ссылка на файл в интернете - пока пройдёт соединение), всё это может быть ощущение, что скрипт запустился позже.</p></blockquote></div><p>Ход транскодирования видно в HMS в окне &quot;транскодирование&quot;, если ставлю задержку в скрипте обработки события запуска транскодирования, то транскодирование начинается с задержкой.</p><p>Могу более подробно объяснить.<br />При получении потока со спутникового ресивера есть несколько тонких моментов.</p><p>1. Поток имеет приоритет перед просмотром на ТВ (поток считается записью).<br />2. При переключении канала, когда идёт запись, переход ресивера к трансляции канала, на который произошло переключение, блокируется.<br />В результате, сначала идёт попытка переключения, потом, при взятии потока с ресивера, начинается трансляция по сети, но на ТВ ресивер уже не показывает. У меня сейчас 2 разных устройства с энигмой, оба ведут себя одинаково.<br />Есть 2 варианта : 1 - переключать канал с небольшой задержкой после начала сетевой трансляции, 2 - сначала ждать прекращения транскодирования по таймауту, потом переключать канал. Но тут тоже засада, таймаут нельзя ставить менее 15 сек., поскольку иначе ресивер не всегда успевает получить ключи для декодирования потока. В результате сейчас у меня таймаут прекразщения транскодирования 14 сек. и задержка 15 сек на событии начала воспроизведения, т.е. что бы переключить канал, надо ждать более 30 сек.</p><p>Вот такая засада.</p><p>Если бы не нужно было смотреть на телевизоре непосредственно с ресивера, а исключительно по сети, может и так бы сгодилось.</p>]]></description>
			<author><![CDATA[null@example.com (fctsu001)]]></author>
			<pubDate>Mon, 05 Nov 2018 15:31:08 +0000</pubDate>
			<guid>https://hms.lostcut.net/viewtopic.php?pid=13313#p13313</guid>
		</item>
		<item>
			<title><![CDATA[Re: Задержка выполнения скрипта]]></title>
			<link>https://hms.lostcut.net/viewtopic.php?pid=13305#p13305</link>
			<description><![CDATA[<p>Следующий код вызовет паузу в 3 сек:<br /></p><div class="codebox"><pre><code>HmsSleep(3000);</code></pre></div><p>Значение - время в миллисекундах.</p><p>Насчёт момента, когда срабатывает скрипт, а когда транскодирование.<br />Дело в том, что транскодирование - дело не моментальное. Пока наполнится буфер, пока начнёт отправляться на устройство, (если это подкаст и ссылка на файл в интернете - пока пройдёт соединение), всё это может быть ощущение, что скрипт запустился позже.</p>]]></description>
			<author><![CDATA[null@example.com (WendyH)]]></author>
			<pubDate>Sun, 04 Nov 2018 14:48:53 +0000</pubDate>
			<guid>https://hms.lostcut.net/viewtopic.php?pid=13305#p13305</guid>
		</item>
		<item>
			<title><![CDATA[Задержка выполнения скрипта]]></title>
			<link>https://hms.lostcut.net/viewtopic.php?pid=13304#p13304</link>
			<description><![CDATA[<p>При добавлении скрипта обработки к событию &quot;после начала воспроизведения медиа-ресурса&quot; сначала отрабатывает этот скрипт и затем запускается транскодирование. А есть ли какая то возможность запускать скрипт с задержкой уже после начала транскодирования, например, через секунду?</p><p>И есть ли стандартная функция для скриптов просто задержки?</p><p>Потому, как не нашёл стандартную HMS функцию для этой цели, для задержки вставляю:<br />Для скрипта в паскале:<br /></p><div class="codebox"><pre><code>      //вносим задержку
      b := Time + StrToTime(&#039;0:00:01&#039;);
      while b &gt; Time do;
      //конец задержки</code></pre></div><p>в паскале описание переменной добавляю к блоку описания.<br />Для скрипта на c++:<br /></p><div class="codebox"><pre><code>      //вносим задержку
      TTime b = Time + StrToTime(&#039;0:00:15&#039;);
      while (b &gt; Time); // пауза 15 сек.
      //конец задержки</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (fctsu001)]]></author>
			<pubDate>Sun, 04 Nov 2018 13:06:28 +0000</pubDate>
			<guid>https://hms.lostcut.net/viewtopic.php?pid=13304#p13304</guid>
		</item>
	</channel>
</rss>
