You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
4.7 KiB
114 lines
4.7 KiB
From fbe644e0d4abebee4c5d7459efe6791504e0fe18 Mon Sep 17 00:00:00 2001
|
|
Message-Id: <fbe644e0d4abebee4c5d7459efe6791504e0fe18.1354462414.git.striper@gmx.de>
|
|
From: Yonathan Yusim <yonathan@boxee.tv>
|
|
Date: Wed, 31 Aug 2011 18:46:47 +0300
|
|
Subject: [PATCH] support seeking in large > 2gb files
|
|
|
|
---
|
|
djmount/file_buffer.h | 2 +-
|
|
djmount/media_file.c | 2 +-
|
|
libupnp/upnp/inc/upnp.h | 4 ++--
|
|
libupnp/upnp/src/api/upnpapi.c | 4 ++--
|
|
libupnp/upnp/src/genlib/net/http/httpreadwrite.c | 6 +++---
|
|
libupnp/upnp/src/inc/httpreadwrite.h | 4 ++--
|
|
6 files changed, 11 insertions(+), 11 deletions(-)
|
|
|
|
diff --git a/djmount/file_buffer.h b/djmount/file_buffer.h
|
|
index 215e017..9434efb 100644
|
|
--- a/djmount/file_buffer.h
|
|
+++ b/djmount/file_buffer.h
|
|
@@ -60,7 +60,7 @@ typedef struct _FileBuffer FileBuffer;
|
|
*
|
|
*****************************************************************************/
|
|
|
|
-#define FILE_BUFFER_MAX_CONTENT_LENGTH ((uintmax_t) INT_MAX)
|
|
+#define FILE_BUFFER_MAX_CONTENT_LENGTH ((uintmax_t) ~0ULL)
|
|
|
|
|
|
/*****************************************************************************
|
|
diff --git a/djmount/media_file.c b/djmount/media_file.c
|
|
index 44b4ffe..761f715 100644
|
|
--- a/djmount/media_file.c
|
|
+++ b/djmount/media_file.c
|
|
@@ -282,7 +282,7 @@ MediaFile_GetResSize (const MediaFile* const file)
|
|
{
|
|
const char* const str = ixmlElement_getAttribute (file->res, "size");
|
|
off_t res;
|
|
- STRING_TO_INT (str, res, -1);
|
|
+ STRING_TO_INT (str, res, 8ULL * 1024 * 1024 * 1024);
|
|
return res;
|
|
}
|
|
|
|
diff --git a/libupnp/upnp/inc/upnp.h b/libupnp/upnp/inc/upnp.h
|
|
index aac43ee..34cb188 100644
|
|
--- a/libupnp/upnp/inc/upnp.h
|
|
+++ b/libupnp/upnp/inc/upnp.h
|
|
@@ -2262,9 +2262,9 @@ int UpnpOpenHttpGetEx(
|
|
IN OUT int *httpStatus, /** The status returned on receiving a
|
|
response message from the remote
|
|
server. */
|
|
- IN int lowRange, /** An integer value representing the low
|
|
+ IN unsigned long long lowRange, /** An integer value representing the low
|
|
end of a range to retrieve. */
|
|
- IN int highRange, /** An integer value representing the high
|
|
+ IN unsigned long long highRange, /** An integer value representing the high
|
|
end of a range to retrieve. */
|
|
IN int timeout /** A time out value sent with the request
|
|
during which a response is expected
|
|
diff --git a/libupnp/upnp/src/api/upnpapi.c b/libupnp/upnp/src/api/upnpapi.c
|
|
index ea5460b..8642060 100644
|
|
--- a/libupnp/upnp/src/api/upnpapi.c
|
|
+++ b/libupnp/upnp/src/api/upnpapi.c
|
|
@@ -3117,8 +3117,8 @@ UpnpOpenHttpGetEx( IN const char *url_str,
|
|
IN OUT char **contentType,
|
|
OUT int *contentLength,
|
|
OUT int *httpStatus,
|
|
- IN int lowRange,
|
|
- IN int highRange,
|
|
+ IN unsigned long long lowRange,
|
|
+ IN unsigned long long highRange,
|
|
IN int timeout )
|
|
{
|
|
return http_OpenHttpGetEx( url_str,
|
|
diff --git a/libupnp/upnp/src/genlib/net/http/httpreadwrite.c b/libupnp/upnp/src/genlib/net/http/httpreadwrite.c
|
|
index 838b3be..bb03419 100644
|
|
--- a/libupnp/upnp/src/genlib/net/http/httpreadwrite.c
|
|
+++ b/libupnp/upnp/src/genlib/net/http/httpreadwrite.c
|
|
@@ -2072,8 +2072,8 @@ http_OpenHttpGetEx( IN const char *url_str,
|
|
IN OUT char **contentType,
|
|
OUT int *contentLength,
|
|
OUT int *httpStatus,
|
|
- IN int lowRange,
|
|
- IN int highRange,
|
|
+ IN unsigned long long lowRange,
|
|
+ IN unsigned long long highRange,
|
|
IN int timeout )
|
|
{
|
|
int http_error_code;
|
|
@@ -2107,7 +2107,7 @@ http_OpenHttpGetEx( IN const char *url_str,
|
|
}
|
|
|
|
memset( &rangeBuf, 0, sizeof( rangeBuf ) );
|
|
- sprintf( rangeBuf.RangeHeader, "Range: bytes=%d-%d\r\n",
|
|
+ sprintf( rangeBuf.RangeHeader, "Range: bytes=%llu-%llu\r\n",
|
|
lowRange, highRange );
|
|
|
|
membuffer_init( &request );
|
|
diff --git a/libupnp/upnp/src/inc/httpreadwrite.h b/libupnp/upnp/src/inc/httpreadwrite.h
|
|
index a657320..e583858 100644
|
|
--- a/libupnp/upnp/src/inc/httpreadwrite.h
|
|
+++ b/libupnp/upnp/src/inc/httpreadwrite.h
|
|
@@ -494,8 +494,8 @@ int http_OpenHttpGetEx(IN const char *url_str,
|
|
IN OUT char **contentType,
|
|
OUT int *contentLength,
|
|
OUT int *httpStatus,
|
|
- IN int lowRange,
|
|
- IN int highRange,
|
|
+ IN unsigned long long lowRange,
|
|
+ IN unsigned long long highRange,
|
|
IN int timeout);
|
|
|
|
/************************************************************************
|
|
--
|
|
1.7.3.4
|
|
|
|
|