eDebug("found %d adapter, %d frontends and %d demux",
m_adapter.size(), m_frontend.size(), m_demux.size());
eDebug("found %d adapter, %d frontends and %d demux",
m_adapter.size(), m_frontend.size(), m_demux.size());
sprintf(blasel, "eDVBResourceManager::setFrontendSlotInformations list size incorrect %d frontends avail, but %d entries in slotlist",
m_frontend.size(), PyList_Size(list));
PyErr_SetString(PyExc_StandardError, blasel);
sprintf(blasel, "eDVBResourceManager::setFrontendSlotInformations list size incorrect %d frontends avail, but %d entries in slotlist",
m_frontend.size(), PyList_Size(list));
PyErr_SetString(PyExc_StandardError, blasel);
}
int pos=0;
for (eSmartPtrList<eDVBRegisteredFrontend>::iterator i(m_frontend.begin()); i != m_frontend.end(); ++i)
{
ePyObject obj = PyList_GET_ITEM(list, pos++);
}
int pos=0;
for (eSmartPtrList<eDVBRegisteredFrontend>::iterator i(m_frontend.begin()); i != m_frontend.end(); ++i)
{
ePyObject obj = PyList_GET_ITEM(list, pos++);
if (!m_cue->m_decoding_demux)
{
start = current_offset;
size = max;
eDebug("getNextSourceSpan, no decoding demux. forcing normal play");
if (!m_cue->m_decoding_demux)
{
start = current_offset;
size = max;
eDebug("getNextSourceSpan, no decoding demux. forcing normal play");
while (!m_cue->m_seek_requests.empty())
{
std::pair<int, pts_t> seek = m_cue->m_seek_requests.front();
while (!m_cue->m_seek_requests.empty())
{
std::pair<int, pts_t> seek = m_cue->m_seek_requests.front();
for (std::list<std::pair<off_t, off_t> >::const_iterator i(m_source_span.begin()); i != m_source_span.end(); ++i)
{
long long aligned_start = align(i->first, blocksize);
for (std::list<std::pair<off_t, off_t> >::const_iterator i(m_source_span.begin()); i != m_source_span.end(); ++i)
{
long long aligned_start = align(i->first, blocksize);
--i;
eDebug("skip to previous block, which is %llx..%llx", i->first, i->second);
size_t len;
--i;
eDebug("skip to previous block, which is %llx..%llx", i->first, i->second);
size_t len;
-
- if ((i->second - i->first) > max)
+
+ aligned_start = align(i->first, blocksize);
+ aligned_end = align(i->second, blocksize);
+
+ if ((aligned_end - aligned_start) > max)
start = aligned_end - len;
eDebug("skipping to %llx, %d", start, len);
}
start = aligned_end - len;
eDebug("skipping to %llx, %d", start, len);
}
eDebug("result: %llx, %x (%llx %llx)", start, size, aligned_start, aligned_end);
return;
}
}
eDebug("result: %llx, %x (%llx %llx)", start, size, aligned_start, aligned_end);
return;
}
}
if ((current_offset < -m_skipmode_m) && (m_skipmode_m < 0))
{
eDebug("reached SOF");
m_skipmode_m = 0;
m_pvr_thread->sendEvent(eFilePushThread::evtUser);
}
if ((current_offset < -m_skipmode_m) && (m_skipmode_m < 0))
{
eDebug("reached SOF");
m_skipmode_m = 0;
m_pvr_thread->sendEvent(eFilePushThread::evtUser);
}
- {
- eSingleLocker l(m_lock);
- m_seek_requests.push_back(std::pair<int, pts_t>(relative, pts));
- }
+ m_lock.WrLock();
+ m_seek_requests.push_back(std::pair<int, pts_t>(relative, pts));
+ m_lock.Unlock();
- {
- eSingleLocker l(m_lock);
- m_spans.push_back(std::pair<pts_t, pts_t>(begin, end));
- }
+ m_lock.WrLock();
+ m_spans.push_back(std::pair<pts_t, pts_t>(begin, end));
+ m_lock.Unlock();