automake
build-essential
gettext
+libdvdnav-dev
libfreetype6-dev
libfribidi-dev
libgif-dev
cd ..
sudo dpkg -i libxmlccwrap*.deb
-4.) Build and install enigma2:
+4.) Build and install libdreamdvd:
+
+git clone git://schwerkraft.elitedvb.net/libdreamdvd/libdreamdvd.git
+cd libdreamdvd
+dpkg-buildpackage -uc -us
+cd ..
+sudo dpkg -i libdreamdvd*.deb
+
+5.) Build and install enigma2:
git clone git://git.opendreambox.org/git/enigma2.git
cd enigma2
<map context="InfobarMenuActions">
<key id="KEY_MENU" mapto="mainMenu" flags="mr" />
+ <key id="KEY_SPACE" mapto="mainMenu" flags="mr" />
</map>
<map context="MenuActions">
<key id="KEY_MENU" mapto="menu" flags="mr" />
+ <key id="KEY_SPACE" mapto="menu" flags="mr" />
</map>
<map context="InfobarShowHideActions">
<map context="MovieSelectionActions">
<key id="KEY_MENU" mapto="contextMenu" flags="m" />
+ <key id="KEY_SPACE" mapto="contextMenu" flags="m" />
<key id="KEY_INFO" mapto="showEventInfo" flags="m" />
</map>
<map context="ChannelSelectEditActions">
<key id="KEY_MENU" mapto="contextMenu" flags="m" />
+ <key id="KEY_SPACE" mapto="contextMenu" flags="m" />
</map>
<map context="TvRadioActions">
</device>
<key id="KEY_MENU" mapto="menu" flags="m" />
+ <key id="KEY_SPACE" mapto="menu" flags="m" />
<key id="KEY_2" mapto="skipListbegin" flags="m" />
<key id="KEY_8" mapto="skipListend" flags="m" />
if (km == eRCInput::kmNone) {
code = translateKey(key->sym);
} else {
+ // ASCII keys should only generate key press events
+ if (flags == eRCKey::flagBreak)
+ return;
+
eDebug("unicode=%04x scancode=%02x", m_unicode, key->scancode);
if (m_unicode & 0xff80) {
eDebug("SDL: skipping unicode character");
m_boxtype = DM8000;
}
- eDebug("found %d adapter, %d frontends(%d sim) and %d demux, boxtype %d",
+ eDebug("found %zd adapter, %zd frontends(%zd sim) and %zd demux, boxtype %d",
m_adapter.size(), m_frontend.size(), m_simulate_frontend.size(), m_demux.size(), m_boxtype);
eDVBCAService::registerChannelCallback(this);
}
if (assigned != m_frontend.size()) {
char blasel[256];
- sprintf(blasel, "eDVBResourceManager::setFrontendSlotInformations .. assigned %d socket informations, but %d registered frontends!",
+ sprintf(blasel, "eDVBResourceManager::setFrontendSlotInformations .. assigned %zd socket informations, but %d registered frontends!",
m_frontend.size(), assigned);
PyErr_SetString(PyExc_StandardError, blasel);
return NULL;
size = max;
else
size = aligned_end - current_offset;
- eDebug("HIT, %lld < %lld < %lld, size: %d", i->first, current_offset, i->second, size);
+ eDebug("HIT, %lld < %lld < %lld, size: %zd", i->first, current_offset, i->second, size);
return;
}
if (current_offset < aligned_start)
len = aligned_end - aligned_start;
start = aligned_end - len;
- eDebug("skipping to %llx, %d", start, len);
+ eDebug("skipping to %llx, %zd", start, len);
}
- eDebug("result: %llx, %x (%llx %llx)", start, size, aligned_start, aligned_end);
+ eDebug("result: %llx, %zx (%llx %llx)", start, size, aligned_start, aligned_end);
return;
}
}
{
start = current_offset;
size = max;
- eDebug("NO CUESHEET. (%08llx, %d)", start, size);
+ eDebug("NO CUESHEET. (%08llx, %zd)", start, size);
} else
{
start = current_offset;
else
TABLE_eDebugNoNewLine("-");
- TABLE_eDebug(" %d/%d TID %02x", avail.size(), max, data[0]);
+ TABLE_eDebug(" %zd/%d TID %02x", avail.size(), max, data[0]);
if (avail.size() == max)
{
if (m_ch_toScan.empty())
{
SCAN_eDebug("no channels left to scan.");
- SCAN_eDebug("%d channels scanned, %d were unavailable.",
+ SCAN_eDebug("%zd channels scanned, %zd were unavailable.",
m_ch_scanned.size(), m_ch_unavailable.size());
- SCAN_eDebug("%d channels in database.", m_new_channels.size());
+ SCAN_eDebug("%zd channels in database.", m_new_channels.size());
m_event(evtFinish);
return -ENOENT;
}
if (!slot)
{
char tmp[255];
- snprintf(tmp, 255, "eDVBCIInterfaces::getDescrambleRules try to get rules for CI Slot %d... but just %d slots are available", slotid, m_slots.size());
+ snprintf(tmp, 255, "eDVBCIInterfaces::getDescrambleRules try to get rules for CI Slot %d... but just %zd slots are available", slotid, m_slots.size());
PyErr_SetString(PyExc_StandardError, tmp);
return 0;
}
if (!slot)
{
char tmp[255];
- snprintf(tmp, 255, "eDVBCIInterfaces::setDescrambleRules try to set rules for CI Slot %d... but just %d slots are available", slotid, m_slots.size());
+ snprintf(tmp, 255, "eDVBCIInterfaces::setDescrambleRules try to set rules for CI Slot %d... but just %zd slots are available", slotid, m_slots.size());
PyErr_SetString(PyExc_StandardError, tmp);
return -1;
}
if (PyTuple_Size(tuple) != 2)
{
char buf[255];
- snprintf(buf, 255, "eDVBCIInterfaces::setDescrambleRules provider tuple has %d instead of 2 entries!!", PyTuple_Size(tuple));
+ snprintf(buf, 255, "eDVBCIInterfaces::setDescrambleRules provider tuple has %zd instead of 2 entries!!", PyTuple_Size(tuple));
PyErr_SetString(PyExc_StandardError, buf);
return -1;
}
if (!slot)
{
char tmp[255];
- snprintf(tmp, 255, "eDVBCIInterfaces::readCICaIds try to get CAIds for CI Slot %d... but just %d slots are available", slotid, m_slots.size());
+ snprintf(tmp, 255, "eDVBCIInterfaces::readCICaIds try to get CAIds for CI Slot %d... but just %zd slots are available", slotid, m_slots.size());
PyErr_SetString(PyExc_StandardError, tmp);
}
else
case 6: strcpy(m_exifinfo->Orientation,"Right-Top"); break;
case 7: strcpy(m_exifinfo->Orientation,"Right-Bottom"); break;
case 8: strcpy(m_exifinfo->Orientation,"Left-Bottom"); break;
- default: strcpy(m_exifinfo->Orientation,"Undefined rotation value");
+ default: strcpy(m_exifinfo->Orientation,"Undefined"); break;
}
break;
case TAG_EXIF_IMAGELENGTH:
int eSocketMMIHandler::send_to_mmisock( void* buf, size_t len)
{
- int ret = write(connfd, buf, len);
+ ssize_t ret = write(connfd, buf, len);
if ( ret < 0 )
eDebug("[eSocketMMIHandler] write (%m)");
- else if ( (uint)ret != len )
- eDebug("[eSocketMMIHandler] only %d bytes sent.. %d bytes should be sent", ret, len );
+ else if ( (size_t)ret != len )
+ eDebug("[eSocketMMIHandler] only %zd bytes sent.. %zu bytes should be sent", ret, len );
else
return 0;
return ret;
eDebug("getting program info failed.");
else
{
- eDebugNoNewLine("have %d video stream(s)", program.videoStreams.size());
+ eDebugNoNewLine("have %zd video stream(s)", program.videoStreams.size());
if (!program.videoStreams.empty())
{
eDebugNoNewLine(" (");
}
eDebugNoNewLine(")");
}
- eDebugNoNewLine(", and %d audio stream(s)", program.audioStreams.size());
+ eDebugNoNewLine(", and %zd audio stream(s)", program.audioStreams.size());
if (!program.audioStreams.empty())
{
eDebugNoNewLine(" (");
m_cue_entries.insert(cueEntry(where, what));
}
fclose(f);
- eDebug("%d entries", m_cue_entries.size());
+ eDebug("%zd entries", m_cue_entries.size());
} else
eDebug("cutfile not found!");
int timing_pid = -1, timing_pid_type = -1;
- eDebugNoNewLine("RECORD: have %d video stream(s)", program.videoStreams.size());
+ eDebugNoNewLine("RECORD: have %zd video stream(s)", program.videoStreams.size());
if (!program.videoStreams.empty())
{
eDebugNoNewLine(" (");
}
eDebugNoNewLine(")");
}
- eDebugNoNewLine(", and %d audio stream(s)", program.audioStreams.size());
+ eDebugNoNewLine(", and %zd audio stream(s)", program.audioStreams.size());
if (!program.audioStreams.empty())
{
eDebugNoNewLine(" (");
int bufferPercent;
int avgInRate;
int avgOutRate;
- long long bufferingLeft;
+ int64_t bufferingLeft;
bufferInfo()
:bufferPercent(0), avgInRate(0), avgOutRate(0), bufferingLeft(-1)
{