eDebug("skipmode ratio is %lld:90000, bitrate is %d bit/s", m_cue->m_skipmode_ratio, bitrate);
/* i agree that this might look a bit like black magic. */
m_skipmode_n = 512*1024; /* must be 1 iframe at least. */
- m_skipmode_m = bitrate / 8 / 90000 * m_cue->m_skipmode_ratio;
+ m_skipmode_m = bitrate / 8 / 90000 * m_cue->m_skipmode_ratio / 8;
+
+ if (m_cue->m_skipmode_ratio < 0)
+ m_skipmode_m -= m_skipmode_n;
eDebug("resolved to: %d %d", m_skipmode_m, m_skipmode_n);
if (abs(m_skipmode_m) < abs(m_skipmode_n))
{
- eFatal("damn, something is wrong with this calculation");
+ eWarning("something is wrong with this calculation");
m_skipmode_n = m_skipmode_m = 0;
}
THEN DO A REAL FIX HERE! */
/* (this codepath needs to be improved anyway.) */
+#if HAVE_DVB_API_VERSION < 3
+ m_pvr_fd_dst = open("/dev/pvr", O_WRONLY);
+#else
m_pvr_fd_dst = open("/dev/misc/pvr", O_WRONLY);
+#endif
if (m_pvr_fd_dst < 0)
{
eDebug("can't open /dev/misc/pvr - you need to buy the new(!) $$$ box! (%m)"); // or wait for the driver to be improved.