summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog1
-rw-r--r--configure.ac1
-rw-r--r--src/xine-engine/input_rip.c11
3 files changed, 9 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 6b3e07b92..481b07962 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -21,6 +21,7 @@ xine-lib (1-rc3)
(goom video does not jump any more)
* problem with long frame durations fixed
* seek timeout in RIP input plugin
+ * support for saved files bigger than 2 GB
xine-lib (1-rc2)
* XvMC support for hardware accelerated mpeg2 playback (-V xvmc)
diff --git a/configure.ac b/configure.ac
index 6cfe6de2e..92483a55d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -165,6 +165,7 @@ dnl AC_CHECK_TYPES([ptrdiff_t])
AC_CHECK_GENERATE_INTTYPES([include])
AC_CHECK_HEADERS(libgen.h)
AC_CHECK_FUNCS(basename)
+AC_FUNC_FSEEKO
dnl ---------------------------------------------
diff --git a/src/xine-engine/input_rip.c b/src/xine-engine/input_rip.c
index 002e040d3..cefe5e4cb 100644
--- a/src/xine-engine/input_rip.c
+++ b/src/xine-engine/input_rip.c
@@ -29,13 +29,12 @@
* - it's possible speeder saving streams in the xine without playing:
* xine stream_mrl#save:file.raw\;noaudio\;novideo
*
- * $Id: input_rip.c,v 1.16 2003/11/23 23:43:35 valtri Exp $
+ * $Id: input_rip.c,v 1.17 2003/11/24 22:52:15 valtri Exp $
*/
/* TODO:
* - resume feature (via #append)
* - gui activation (after restarting playback)
- * - long files support
*/
#ifdef HAVE_CONFIG_H
@@ -58,6 +57,10 @@
#include "xine_internal.h"
+#ifndef HAVE_FSEEKO
+# define fseeko fseek
+#endif
+
#define SCRATCH_SIZE 1024
#define MAX_TARGET_LEN 256
#define SEEK_TIMEOUT 2.5
@@ -354,7 +357,7 @@ static off_t rip_plugin_seek(input_plugin_t *this_gen, off_t offset, int origin)
if (this->regular) {
if (reqpos != this->savepos) {
lprintf(" => seeking file to %lld\n", reqpos);
- if (fseek(this->file, reqpos, SEEK_SET) != 0) {
+ if (fseeko(this->file, reqpos, SEEK_SET) != 0) {
xine_log(this->stream->xine, XINE_LOG_MSG,
_("input_rip: seeking failed: %s\n"), strerror(errno));
return -1;
@@ -373,7 +376,7 @@ static off_t rip_plugin_seek(input_plugin_t *this_gen, off_t offset, int origin)
lprintf(" => seeking to end: %lld\n", this->savepos);
if (this->regular) {
lprintf(" => seeking file to end: %lld\n", this->savepos);
- if (fseek(this->file, this->savepos, SEEK_SET) != 0) {
+ if (fseeko(this->file, this->savepos, SEEK_SET) != 0) {
xine_log(this->stream->xine, XINE_LOG_MSG,
_("input_rip: seeking failed: %s\n"), strerror(errno));
return -1;