diff options
author | Mike Frysinger <vapier@gentoo.org> | 2009-02-24 07:18:36 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2009-02-24 07:18:36 +0000 |
commit | 47b070d8b35607944844c87e7704c3a56f862f7f (patch) | |
tree | abcb27ddb656a11388f038f05ac567d70c988c76 /media-tv/xbmc/files | |
parent | Marked ~ppc for bug #242292. (diff) | |
download | gentoo-2-47b070d8b35607944844c87e7704c3a56f862f7f.tar.gz gentoo-2-47b070d8b35607944844c87e7704c3a56f862f7f.tar.bz2 gentoo-2-47b070d8b35607944844c87e7704c3a56f862f7f.zip |
And now the fribidi/readsector patches have been merged upstream.
(Portage version: 2.2_rc23/cvs/Linux x86_64)
Diffstat (limited to 'media-tv/xbmc/files')
-rw-r--r-- | media-tv/xbmc/files/xbmc-fribidi.patch | 51 | ||||
-rw-r--r-- | media-tv/xbmc/files/xbmc-readsector.patch | 83 |
2 files changed, 0 insertions, 134 deletions
diff --git a/media-tv/xbmc/files/xbmc-fribidi.patch b/media-tv/xbmc/files/xbmc-fribidi.patch deleted file mode 100644 index 1ae6903c072f..000000000000 --- a/media-tv/xbmc/files/xbmc-fribidi.patch +++ /dev/null @@ -1,51 +0,0 @@ -http://xbmc.org/trac/ticket/5283 - ---- xbmc/utils/ArabicShaping.cpp -+++ xbmc/utils/ArabicShaping.cpp -@@ -148,10 +148,10 @@ - for (int i = 0; i < MAP_LENGTH; i++)
- {
- if (charsMap[i].code == c)
-- return FRIBIDI_TRUE;
-+ return true;
- }
-
-- return FRIBIDI_FALSE;
-+ return false;
- }
-
- static CharRep GetCharRep(FriBidiChar c)
-@@ -186,9 +186,9 @@ - for (i = 0; i < TRANS_CHARS_LENGTH; i++)
- {
- if (transChars[i] == c)
-- return FRIBIDI_TRUE;
-+ return true;
- }
-- return FRIBIDI_FALSE;
-+ return false;
- }
-
- FriBidiChar* shape_arabic(FriBidiChar * str, int len)
---- xbmc/utils/ArabicShaping.h -+++ xbmc/utils/ArabicShaping.h -@@ -30,7 +30,7 @@ - #include "lib/libfribidi/fribidi.h"
- #else
- #include <fribidi/fribidi.h>
--#include <fribidi/fribidi_char_sets.h>
-+#include <fribidi/fribidi-char-sets.h>
- #endif
-
- /**
---- xbmc/utils/CharsetConverter.cpp -+++ xbmc/utils/CharsetConverter.cpp -@@ -30,7 +30,7 @@ - #else - #include <iconv.h> - #include <fribidi/fribidi.h> --#include <fribidi/fribidi_char_sets.h> -+#include <fribidi/fribidi-char-sets.h> - #endif - - #ifdef __APPLE__ diff --git a/media-tv/xbmc/files/xbmc-readsector.patch b/media-tv/xbmc/files/xbmc-readsector.patch deleted file mode 100644 index ceca6cc9d3dd..000000000000 --- a/media-tv/xbmc/files/xbmc-readsector.patch +++ /dev/null @@ -1,83 +0,0 @@ -Enable support for XBMC to read data DVD discs -http://xbmc.org/trac/ticket/5296 - ---- xbmc/xbmc/xbox/IoSupport.cpp -+++ xbmc/xbmc/xbox/IoSupport.cpp -@@ -40,6 +40,7 @@ - #include <linux/limits.h> - #include <sys/types.h> - #include <sys/ioctl.h> -+#include <unistd.h> - #include <fcntl.h> - #include <linux/cdrom.h> - #endif -@@ -445,37 +446,31 @@ - if (hDevice->m_bCDROM) - { - int fd = hDevice->fd; -- int lba = (dwSector + CD_MSF_OFFSET) ; -- int m,s,f; -- union -- { -- struct cdrom_msf msf; -- char buffer[2356]; -- } arg; - -- // convert sector offset to minute, second, frame format -- // since that is what the 'ioctl' requires as input -- f = lba % CD_FRAMES; -- lba /= CD_FRAMES; -- s = lba % CD_SECS; -- lba /= CD_SECS; -- m = lba; -+ // seek to requested sector -+ if (lseek(fd, dwSector * MODE1_DATA_SIZE, SEEK_SET) < 0) -+ { -+ CLog::Log(LOGERROR, "CD: ReadSector Request to read sector %d\n", (int)dwSector); -+ CLog::Log(LOGERROR, "CD: ReadSector error: %s\n", strerror(errno)); -+ OutputDebugString("CD Read error\n"); -+ return (-1); -+ } - -- arg.msf.cdmsf_min0 = m; -- arg.msf.cdmsf_sec0 = s; -- arg.msf.cdmsf_frame0 = f; -- -- int ret = ioctl(fd, CDROMREADMODE1, &arg); -- if (ret==0) -+ // read data block of this sector -+ while (read(fd, lpczBuffer, MODE1_DATA_SIZE) < 0) - { -- memcpy(lpczBuffer, arg.buffer, 2048); -- return 2048; -+ // read was interrupted - try again -+ if (errno == EINTR) -+ continue; -+ -+ // error reading sector -+ CLog::Log(LOGERROR, "CD: ReadSector Request to read sector %d\n", (int)dwSector); -+ CLog::Log(LOGERROR, "CD: ReadSector error: %s\n", strerror(errno)); -+ OutputDebugString("CD Read error\n"); -+ return (-1); - } -- CLog::Log(LOGERROR, "CD: ReadSector Request to read sector %d\n", (int)dwSector); -- CLog::Log(LOGERROR, "CD: ReadSector error: %s\n", strerror(errno)); -- CLog::Log(LOGERROR, "CD: ReadSector minute %d, second %d, frame %d\n", m, s, f); -- OutputDebugString("CD Read error\n"); -- return -1; -+ -+ return MODE1_DATA_SIZE; - } - #endif - LARGE_INTEGER Displacement; ---- xbmc/xbmc/xbox/IoSupport.h -+++ xbmc/xbmc/xbox/IoSupport.h -@@ -40,6 +40,8 @@ - #define DRIVE_CLOSED_MEDIA_PRESENT 4 // Will be send once when the drive just have closed - #define DRIVE_NONE 5 // system doesn't have an optical drive - -+#define MODE1_DATA_SIZE 2048 // Mode1 sector has 2048 bytes of data -+ - #define MODE2_DATA_START 24 // Mode2 raw sector has 24 bytes before the data payload - #define MODE2_DATA_SIZE 2324 // And has 2324 usable bytes - #define RAW_SECTOR_SIZE 2352 // Raw sector size |