Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-1.1
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-1.1
Commits
9d310461
Commit
9d310461
authored
Oct 05, 2004
by
Gildas Bazin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* modules/access/file.c: WinCE cruft removal.
parent
9d08f2d7
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
39 additions
and
40 deletions
+39
-40
modules/access/file.c
modules/access/file.c
+39
-40
No files found.
modules/access/file.c
View file @
9d310461
...
...
@@ -49,14 +49,24 @@
# include <io.h>
#endif
/* stat() support for large files on win32 */
#if defined( WIN32 ) && !defined( UNDER_CE )
#define stat _stati64
#define fstat(a,b) _fstati64(a,b)
#endif
#ifdef UNDER_CE
# define close(a) CloseHandle((HANDLE)a)
/* stat() support for large files on win32 */
# define stat _stati64
# define fstat(a,b) _fstati64(a,b)
# ifdef lseek
# undef lseek
# endif
# define lseek _lseeki64
#elif defined( UNDER_CE )
# ifdef read
# undef read
# endif
# define read(a,b,c) fread(b,1,c,a)
# define close(a) fclose(a)
# ifdef lseek
# undef lseek
# endif
# define lseek fseek
#endif
/*****************************************************************************
...
...
@@ -113,9 +123,12 @@ struct access_sys_t
/* Current file */
int
i_index
;
#ifndef UNDER_CE
int
fd
;
#ifdef UNDER_CE
HANDLE
fd_handle
;
int
fd_backup
;
#else
FILE
*
fd
;
FILE
*
fd_backup
;
#endif
/* */
...
...
@@ -365,7 +378,8 @@ static int Read( access_t *p_access, uint8_t *p_buffer, int i_len )
else
{
/* b_kfir ; work around a buggy poll() driver implementation */
while
(
(
i_ret
=
read
(
p_sys
->
fd
,
p_buffer
,
i_len
))
==
0
&&
!
p_access
->
b_die
)
while
(
(
i_ret
=
read
(
p_sys
->
fd
,
p_buffer
,
i_len
))
==
0
&&
!
p_access
->
b_die
)
{
msleep
(
INPUT_ERROR_SLEEP
);
}
...
...
@@ -373,17 +387,10 @@ static int Read( access_t *p_access, uint8_t *p_buffer, int i_len )
}
else
#endif
/* WIN32 || UNDER_CE */
#ifdef UNDER_CE
if
(
!
ReadFile
(
p_sys
->
fd_handle
,
p_buffer
,
i_len
,
(
LPDWORD
)
&
i_ret
,
0
)
)
{
i_ret
=
-
1
;
}
#else
{
/* b_pace_control || WIN32 */
i_ret
=
read
(
p_sys
->
fd
,
p_buffer
,
i_len
);
}
#endif
if
(
i_ret
<
0
)
{
...
...
@@ -418,18 +425,18 @@ static int Read( access_t *p_access, uint8_t *p_buffer, int i_len )
/* If we reached an EOF then switch to the next file in the list */
if
(
i_ret
==
0
&&
p_sys
->
i_index
+
1
<
p_sys
->
i_file
)
{
int
fd
=
p_sys
->
fd
;
char
*
psz_name
=
p_sys
->
file
[
++
p_sys
->
i_index
]
->
psz_name
;
p_sys
->
fd_backup
=
p_sys
->
fd
;
msg_Dbg
(
p_access
,
"opening file `%s'"
,
psz_name
);
if
(
_OpenFile
(
p_access
,
psz_name
)
)
{
p_sys
->
fd
=
fd
;
p_sys
->
fd
=
p_sys
->
fd_backup
;
return
0
;
}
close
(
fd
);
close
(
p_sys
->
fd_backup
);
/* We have to read some data */
return
Read
(
p_access
,
p_buffer
,
i_len
);
...
...
@@ -454,9 +461,9 @@ static int Seek( access_t *p_access, int64_t i_pos )
/* Check which file we need to access */
if
(
p_sys
->
i_file
>
1
)
{
int
fd
=
p_sys
->
fd
;
int
i
;
char
*
psz_name
;
p_sys
->
fd_backup
=
p_sys
->
fd
;
for
(
i
=
0
;
i
<
p_sys
->
i_file
-
1
;
i
++
)
{
...
...
@@ -471,20 +478,16 @@ static int Seek( access_t *p_access, int64_t i_pos )
if
(
i
!=
p_sys
->
i_index
&&
!
_OpenFile
(
p_access
,
psz_name
)
)
{
/* Close old file */
close
(
fd
);
close
(
p_sys
->
fd_backup
);
p_sys
->
i_index
=
i
;
}
else
{
p_sys
->
fd
=
fd
;
p_sys
->
fd
=
p_sys
->
fd_backup
;
}
}
#if defined( WIN32 ) && !defined( UNDER_CE )
_lseeki64
(
p_sys
->
fd
,
i_pos
-
i_size
,
SEEK_SET
);
#else
lseek
(
p_sys
->
fd
,
i_pos
-
i_size
,
SEEK_SET
);
#endif
p_access
->
info
.
i_pos
=
i_pos
;
if
(
p_access
->
info
.
i_size
<
p_access
->
info
.
i_pos
)
...
...
@@ -537,8 +540,9 @@ static int Control( access_t *p_access, int i_query, va_list args )
case
ACCESS_GET_PTS_DELAY
:
pi_64
=
(
int64_t
*
)
va_arg
(
args
,
int64_t
*
);
*
pi_64
=
(
int64_t
)
var_GetInteger
(
p_access
,
"file-caching"
)
*
I64C
(
1000
);
*
pi_64
=
var_GetInteger
(
p_access
,
"file-caching"
)
*
I64C
(
1000
);
break
;
/* */
case
ACCESS_SET_PAUSE_STATE
:
/* Nothing to do */
...
...
@@ -567,22 +571,17 @@ static int _OpenFile( access_t * p_access, char * psz_name )
access_sys_t
*
p_sys
=
p_access
->
p_sys
;
#ifdef UNDER_CE
wchar_t
psz_filename
[
MAX_PATH
];
MultiByteToWideChar
(
CP_ACP
,
0
,
psz_name
,
-
1
,
psz_filename
,
MAX_PATH
);
p_sys
->
fd_handle
=
CreateFile
(
psz_filename
,
GENERIC_READ
,
FILE_SHARE_READ
,
NULL
,
OPEN_EXISTING
,
FILE_ATTRIBUTE_NORMAL
,
NULL
);
p_sys
->
fd
=
(
int
)
p_sys
->
fd_handle
;
if
(
p_sys
->
fd_handle
==
INVALID_HANDLE_VALUE
)
p_sys
->
fd
=
fopen
(
psz_name
,
"rb"
);
if
(
!
p_sys
->
fd
)
{
msg_Err
(
p_access
,
"cannot open file %s"
,
psz_name
);
msg_Err
(
p_access
,
"cannot open file %s"
);
return
VLC_EGENERIC
;
}
p_access
->
info
.
i_size
=
GetFileSize
(
p_sys
->
fd_handle
,
NULL
);
fseek
(
p_sys
->
fd
,
0
,
SEEK_END
);
p_access
->
info
.
i_size
=
ftell
(
p_sys
->
fd
);
p_access
->
info
.
i_update
|=
INPUT_UPDATE_SIZE
;
fseek
(
p_sys
->
fd
,
0
,
SEEK_SET
);
#else
p_sys
->
fd
=
open
(
psz_name
,
O_NONBLOCK
/*| O_LARGEFILE*/
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment