Merge branch 'obi/master' into experimental
authorAndreas Oberritter <obi@opendreambox.org>
Wed, 19 Jan 2011 03:28:19 +0000 (04:28 +0100)
committerAndreas Oberritter <obi@opendreambox.org>
Wed, 19 Jan 2011 03:28:19 +0000 (04:28 +0100)
12 files changed:
README
data/keymap.xml
lib/driver/rcsdl.cpp
lib/dvb/dvb.cpp
lib/dvb/esection.h
lib/dvb/scan.cpp
lib/dvb_ci/dvbci.cpp
lib/gdi/picexif.cpp
lib/python/Plugins/Extensions/SocketMMI/src/socket_mmi.cpp
lib/service/servicedvb.cpp
lib/service/servicedvbrecord.cpp
lib/service/servicemp3.h

diff --git a/README b/README
index f745e9c..0018e58 100644 (file)
--- a/README
+++ b/README
@@ -17,6 +17,7 @@ autoconf
 automake
 build-essential
 gettext
+libdvdnav-dev
 libfreetype6-dev
 libfribidi-dev
 libgif-dev
@@ -48,7 +49,15 @@ dpkg-buildpackage -uc -us
 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
index 9461d50..f986b62 100755 (executable)
        
        <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" />
index a907b80..145b23c 100644 (file)
@@ -33,6 +33,10 @@ void eSDLInputDevice::handleCode(long arg)
        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");
index 414ab8d..cd6c232 100644 (file)
@@ -108,7 +108,7 @@ eDVBResourceManager::eDVBResourceManager()
                        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);
@@ -334,7 +334,7 @@ PyObject *eDVBResourceManager::setFrontendSlotInformations(ePyObject list)
        }
        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;
@@ -1488,7 +1488,7 @@ void eDVBChannel::getNextSourceSpan(off_t current_offset, size_t bytes_read, off
                                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)
@@ -1529,10 +1529,10 @@ void eDVBChannel::getNextSourceSpan(off_t current_offset, size_t bytes_read, off
                                        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;
                }
        }
@@ -1548,7 +1548,7 @@ void eDVBChannel::getNextSourceSpan(off_t current_offset, size_t bytes_read, off
        {
                start = current_offset;
                size = max;
-               eDebug("NO CUESHEET. (%08llx, %d)", start, size);
+               eDebug("NO CUESHEET. (%08llx, %zd)", start, size);
        } else
        {
                start = current_offset;
index b4782f8..3e097cc 100644 (file)
@@ -63,7 +63,7 @@ protected:
                        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)
                {
index d559614..fb6f204 100644 (file)
@@ -193,9 +193,9 @@ RESULT eDVBScan::nextChannel()
        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;
        }
index 8a43e5b..374672a 100644 (file)
@@ -739,7 +739,7 @@ PyObject *eDVBCIInterfaces::getDescrambleRules(int slotid)
        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;
        }
@@ -791,7 +791,7 @@ RESULT eDVBCIInterfaces::setDescrambleRules(int slotid, SWIG_PYOBJECT(ePyObject)
        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;
        }
@@ -862,7 +862,7 @@ RESULT eDVBCIInterfaces::setDescrambleRules(int slotid, SWIG_PYOBJECT(ePyObject)
                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;
                }
@@ -914,7 +914,7 @@ PyObject *eDVBCIInterfaces::readCICaIds(int slotid)
        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
index f9e8055..2daeeff 100644 (file)
@@ -428,7 +428,7 @@ bool Cexif::ProcessExifDir(unsigned char * DirStart, unsigned char * OffsetBase,
                        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:
index 673b525..9a69de3 100644 (file)
@@ -118,11 +118,11 @@ eAutoInitP0<eSocket_UI> init_socketui(eAutoInitNumbers::rc, "Socket MMI");
 
 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;
index 5228677..8650989 100644 (file)
@@ -2405,7 +2405,7 @@ void eDVBServicePlay::updateDecoder(bool sendSeekableStateChanged)
                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(" (");
@@ -2424,7 +2424,7 @@ void eDVBServicePlay::updateDecoder(bool sendSeekableStateChanged)
                        }
                        eDebugNoNewLine(")");
                }
-               eDebugNoNewLine(", and %d audio stream(s)", program.audioStreams.size());
+               eDebugNoNewLine(", and %zd audio stream(s)", program.audioStreams.size());
                if (!program.audioStreams.empty())
                {
                        eDebugNoNewLine(" (");
@@ -2601,7 +2601,7 @@ void eDVBServicePlay::loadCuesheet()
                        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!");
        
index 419c26b..08cd247 100644 (file)
@@ -313,7 +313,7 @@ int eDVBServiceRecord::doRecord()
 
                        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(" (");
@@ -335,7 +335,7 @@ int eDVBServiceRecord::doRecord()
                                }
                                eDebugNoNewLine(")");
                        }
-                       eDebugNoNewLine(", and %d audio stream(s)", program.audioStreams.size());
+                       eDebugNoNewLine(", and %zd audio stream(s)", program.audioStreams.size());
                        if (!program.audioStreams.empty())
                        {
                                eDebugNoNewLine(" (");
index 173084d..c620151 100644 (file)
@@ -167,7 +167,7 @@ public:
                int bufferPercent;
                int avgInRate;
                int avgOutRate;
-               long long bufferingLeft;
+               int64_t bufferingLeft;
                bufferInfo()
                        :bufferPercent(0), avgInRate(0), avgOutRate(0), bufferingLeft(-1)
                {