Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
e40dd74d
Commit
e40dd74d
authored
Apr 25, 2019
by
Michael Müller
Committed by
Alexandre Julliard
Apr 25, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
avifile.dll16: Convert between AVISTREAMINFO (16 bit) and AVISTREAMINFOA.
Signed-off-by:
Vijay Kiran Kamuju
<
infyquest@gmail.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
9fd1ec63
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
102 additions
and
2 deletions
+102
-2
avifile.dll16.spec
dlls/avifile.dll16/avifile.dll16.spec
+2
-2
main.c
dlls/avifile.dll16/main.c
+100
-0
No files found.
dlls/avifile.dll16/avifile.dll16.spec
View file @
e40dd74d
...
@@ -36,13 +36,13 @@
...
@@ -36,13 +36,13 @@
141 pascal AVIFileRelease(long) AVIFileRelease
141 pascal AVIFileRelease(long) AVIFileRelease
142 pascal AVIFileInfo(long ptr long) AVIFileInfoA
142 pascal AVIFileInfo(long ptr long) AVIFileInfoA
143 pascal AVIFileGetStream(long ptr long long) AVIFileGetStream
143 pascal AVIFileGetStream(long ptr long long) AVIFileGetStream
144 pascal AVIFileCreateStream(long ptr ptr) AVIFileCreateStream
A
144 pascal AVIFileCreateStream(long ptr ptr) AVIFileCreateStream
16
146 pascal AVIFileWriteData(long long ptr long) AVIFileWriteData
146 pascal AVIFileWriteData(long long ptr long) AVIFileWriteData
147 pascal AVIFileReadData(long long ptr ptr) AVIFileReadData
147 pascal AVIFileReadData(long long ptr ptr) AVIFileReadData
148 pascal AVIFileEndRecord(long) AVIFileEndRecord
148 pascal AVIFileEndRecord(long) AVIFileEndRecord
160 pascal AVIStreamAddRef(long) AVIStreamAddRef
160 pascal AVIStreamAddRef(long) AVIStreamAddRef
161 pascal AVIStreamRelease(long) AVIStreamRelease
161 pascal AVIStreamRelease(long) AVIStreamRelease
162 pascal AVIStreamInfo(long ptr long) AVIStreamInfo
A
162 pascal AVIStreamInfo(long ptr long) AVIStreamInfo
16
163 pascal AVIStreamFindSample(long long long) AVIStreamFindSample
163 pascal AVIStreamFindSample(long long long) AVIStreamFindSample
164 pascal AVIStreamReadFormat(long long ptr ptr) AVIStreamReadFormat
164 pascal AVIStreamReadFormat(long long ptr ptr) AVIStreamReadFormat
165 pascal AVIStreamReadData(long long ptr ptr) AVIStreamReadData
165 pascal AVIStreamReadData(long long ptr ptr) AVIStreamReadData
...
...
dlls/avifile.dll16/main.c
View file @
e40dd74d
...
@@ -23,6 +23,27 @@
...
@@ -23,6 +23,27 @@
#include "wingdi.h"
#include "wingdi.h"
#include "vfw.h"
#include "vfw.h"
typedef
struct
_AVISTREAMINFO16
{
DWORD
fccType
;
DWORD
fccHandler
;
DWORD
dwFlags
;
DWORD
dwCaps
;
WORD
wPriority
;
WORD
wLanguage
;
DWORD
dwScale
;
DWORD
dwRate
;
DWORD
dwStart
;
DWORD
dwLength
;
DWORD
dwInitialFrames
;
DWORD
dwSuggestedBufferSize
;
DWORD
dwQuality
;
DWORD
dwSampleSize
;
RECT16
rcFrame
;
DWORD
dwEditCount
;
DWORD
dwFormatChangeCount
;
CHAR
szName
[
64
];
}
AVISTREAMINFO16
,
*
LPAVISTREAMINFO16
,
*
PAVISTREAMINFO16
;
struct
frame_wrapper16
struct
frame_wrapper16
{
{
PGETFRAME
pg
;
PGETFRAME
pg
;
...
@@ -131,3 +152,82 @@ HRESULT WINAPI AVIStreamGetFrameClose16(PGETFRAME pg)
...
@@ -131,3 +152,82 @@ HRESULT WINAPI AVIStreamGetFrameClose16(PGETFRAME pg)
HeapFree
(
GetProcessHeap
(),
0
,
wrapper
);
HeapFree
(
GetProcessHeap
(),
0
,
wrapper
);
return
hr
;
return
hr
;
}
}
/***********************************************************************
* AVIFileCreateStream (AVIFILE.144)
*/
HRESULT
WINAPI
AVIFileCreateStream16
(
PAVIFILE
pfile
,
PAVISTREAM
*
ppavi
,
LPAVISTREAMINFO16
asi16
)
{
AVISTREAMINFOA
asi
;
if
(
!
asi16
)
return
AVIFileCreateStreamA
(
pfile
,
ppavi
,
NULL
);
asi
.
fccType
=
asi16
->
fccType
;
asi
.
fccHandler
=
asi16
->
fccHandler
;
asi
.
dwFlags
=
asi16
->
dwFlags
;
asi
.
dwCaps
=
asi16
->
dwCaps
;
asi
.
wPriority
=
asi16
->
wPriority
;
asi
.
wLanguage
=
asi16
->
wLanguage
;
asi
.
dwScale
=
asi16
->
dwScale
;
asi
.
dwRate
=
asi16
->
dwRate
;
asi
.
dwStart
=
asi16
->
dwStart
;
asi
.
dwLength
=
asi16
->
dwLength
;
asi
.
dwInitialFrames
=
asi16
->
dwInitialFrames
;
asi
.
dwSuggestedBufferSize
=
asi16
->
dwSuggestedBufferSize
;
asi
.
dwQuality
=
asi16
->
dwQuality
;
asi
.
dwSampleSize
=
asi16
->
dwSampleSize
;
asi
.
rcFrame
.
left
=
asi16
->
rcFrame
.
left
;
asi
.
rcFrame
.
top
=
asi16
->
rcFrame
.
top
;
asi
.
rcFrame
.
right
=
asi16
->
rcFrame
.
right
;
asi
.
rcFrame
.
bottom
=
asi16
->
rcFrame
.
bottom
;
asi
.
dwEditCount
=
asi16
->
dwEditCount
;
asi
.
dwFormatChangeCount
=
asi16
->
dwFormatChangeCount
;
strcpy
(
asi
.
szName
,
asi16
->
szName
);
return
AVIFileCreateStreamA
(
pfile
,
ppavi
,
&
asi
);
}
/***********************************************************************
* AVIStreamInfo (AVIFILE.162)
*/
HRESULT
WINAPI
AVIStreamInfo16
(
PAVISTREAM
pstream
,
LPAVISTREAMINFO16
asi16
,
LONG
size
)
{
AVISTREAMINFOA
asi
;
HRESULT
hr
;
if
(
!
asi16
)
return
AVIStreamInfoA
(
pstream
,
NULL
,
size
);
if
(
size
<
sizeof
(
AVISTREAMINFO16
))
return
AVIERR_BADSIZE
;
hr
=
AVIStreamInfoA
(
pstream
,
&
asi
,
sizeof
(
asi
));
if
(
SUCCEEDED
(
hr
))
{
asi16
->
fccType
=
asi
.
fccType
;
asi16
->
fccHandler
=
asi
.
fccHandler
;
asi16
->
dwFlags
=
asi
.
dwFlags
;
asi16
->
dwCaps
=
asi
.
dwCaps
;
asi16
->
wPriority
=
asi
.
wPriority
;
asi16
->
wLanguage
=
asi
.
wLanguage
;
asi16
->
dwScale
=
asi
.
dwScale
;
asi16
->
dwRate
=
asi
.
dwRate
;
asi16
->
dwStart
=
asi
.
dwStart
;
asi16
->
dwLength
=
asi
.
dwLength
;
asi16
->
dwInitialFrames
=
asi
.
dwInitialFrames
;
asi16
->
dwSuggestedBufferSize
=
asi
.
dwSuggestedBufferSize
;
asi16
->
dwQuality
=
asi
.
dwQuality
;
asi16
->
dwSampleSize
=
asi
.
dwSampleSize
;
asi16
->
rcFrame
.
left
=
asi
.
rcFrame
.
left
;
asi16
->
rcFrame
.
top
=
asi
.
rcFrame
.
top
;
asi16
->
rcFrame
.
right
=
asi
.
rcFrame
.
right
;
asi16
->
rcFrame
.
bottom
=
asi
.
rcFrame
.
bottom
;
asi16
->
dwEditCount
=
asi
.
dwEditCount
;
asi16
->
dwFormatChangeCount
=
asi
.
dwFormatChangeCount
;
strcpy
(
asi16
->
szName
,
asi
.
szName
);
}
return
hr
;
}
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