Michael Stefaniuc : avifil32: Move CreateEditableStream() to avoid exporting a helper.
Alexandre Julliard
julliard at winehq.org
Fri Jul 15 09:07:06 CDT 2016
Module: wine
Branch: master
Commit: a0b7eb0d3e060b4e4ee6eb821a19c9259e171559
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a0b7eb0d3e060b4e4ee6eb821a19c9259e171559
Author: Michael Stefaniuc <mstefani at redhat.de>
Date: Thu Jul 14 10:15:50 2016 +0200
avifil32: Move CreateEditableStream() to avoid exporting a helper.
Signed-off-by: Michael Stefaniuc <mstefani at redhat.de>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/avifil32/api.c | 38 --------------------------------------
dlls/avifil32/avifile_private.h | 1 -
dlls/avifil32/editstream.c | 39 ++++++++++++++++++++++++++++++++++++++-
3 files changed, 38 insertions(+), 40 deletions(-)
diff --git a/dlls/avifil32/api.c b/dlls/avifil32/api.c
index 0715d58..5c15c1f 100644
--- a/dlls/avifil32/api.c
+++ b/dlls/avifil32/api.c
@@ -1982,44 +1982,6 @@ HRESULT WINAPI AVISaveVW(LPCWSTR szFile, CLSID *pclsidHandler,
}
/***********************************************************************
- * CreateEditableStream (AVIFIL32.@)
- */
-HRESULT WINAPI CreateEditableStream(PAVISTREAM *ppEditable, PAVISTREAM pSource)
-{
- IAVIEditStream *pEdit = NULL;
- HRESULT hr;
-
- TRACE("(%p,%p)\n", ppEditable, pSource);
-
- if (ppEditable == NULL)
- return AVIERR_BADPARAM;
-
- *ppEditable = NULL;
-
- if (pSource != NULL) {
- hr = IAVIStream_QueryInterface(pSource, &IID_IAVIEditStream,
- (LPVOID*)&pEdit);
- if (SUCCEEDED(hr) && pEdit != NULL) {
- hr = IAVIEditStream_Clone(pEdit, ppEditable);
- IAVIEditStream_Release(pEdit);
-
- return hr;
- }
- }
-
- /* need own implementation of IAVIEditStream */
- pEdit = AVIFILE_CreateEditStream(pSource);
- if (pEdit == NULL)
- return AVIERR_MEMORY;
-
- hr = IAVIEditStream_QueryInterface(pEdit, &IID_IAVIStream,
- (LPVOID*)ppEditable);
- IAVIEditStream_Release(pEdit);
-
- return hr;
-}
-
-/***********************************************************************
* EditStreamClone (AVIFIL32.@)
*/
HRESULT WINAPI EditStreamClone(PAVISTREAM pStream, PAVISTREAM *ppResult)
diff --git a/dlls/avifil32/avifile_private.h b/dlls/avifil32/avifile_private.h
index 0fd74c4..16893d9 100644
--- a/dlls/avifil32/avifile_private.h
+++ b/dlls/avifil32/avifile_private.h
@@ -62,7 +62,6 @@ extern HRESULT AVIFILE_CreateAVIFile(IUnknown *pUnkOuter, REFIID riid, LPVOID *p
extern HRESULT AVIFILE_CreateWAVFile(IUnknown *outer_unk, REFIID riid, void **ret_iface) DECLSPEC_HIDDEN;
extern HRESULT AVIFILE_CreateACMStream(REFIID riid, LPVOID *ppobj) DECLSPEC_HIDDEN;
extern HRESULT AVIFILE_CreateICMStream(REFIID riid, LPVOID *ppobj) DECLSPEC_HIDDEN;
-extern PAVIEDITSTREAM AVIFILE_CreateEditStream(PAVISTREAM pstream) DECLSPEC_HIDDEN;
extern PGETFRAME AVIFILE_CreateGetFrame(PAVISTREAM pstream) DECLSPEC_HIDDEN;
extern PAVIFILE AVIFILE_CreateAVITempFile(int nStreams, const PAVISTREAM *ppStreams) DECLSPEC_HIDDEN;
diff --git a/dlls/avifil32/editstream.c b/dlls/avifil32/editstream.c
index 45a4d98..a6c534e 100644
--- a/dlls/avifil32/editstream.c
+++ b/dlls/avifil32/editstream.c
@@ -70,6 +70,8 @@ struct _IAVIEditStreamImpl {
LPBITMAPINFOHEADER lpFrame; /* frame of pCurStream */
};
+static IAVIEditStream *AVIFILE_CreateEditStream(IAVIStream *stream);
+
static inline IAVIEditStreamImpl *impl_from_IAVIEditStream(IAVIEditStream *iface)
{
return CONTAINING_RECORD(iface, IAVIEditStreamImpl, IAVIEditStream_iface);
@@ -1005,7 +1007,7 @@ static const struct IAVIStreamVtbl ieditstast = {
IEditAVIStream_fnSetInfo
};
-PAVIEDITSTREAM AVIFILE_CreateEditStream(PAVISTREAM pstream)
+static IAVIEditStream *AVIFILE_CreateEditStream(IAVIStream *pstream)
{
IAVIEditStreamImpl *pedit = NULL;
@@ -1021,3 +1023,38 @@ PAVIEDITSTREAM AVIFILE_CreateEditStream(PAVISTREAM pstream)
return (PAVIEDITSTREAM)pedit;
}
+
+/***********************************************************************
+ * CreateEditableStream (AVIFIL32.@)
+ */
+HRESULT WINAPI CreateEditableStream(IAVIStream **editable, IAVIStream *src)
+{
+ IAVIEditStream *edit = NULL;
+ HRESULT hr;
+
+ TRACE("(%p,%p)\n", editable, src);
+
+ if (!editable)
+ return AVIERR_BADPARAM;
+ *editable = NULL;
+
+ if (src) {
+ hr = IAVIStream_QueryInterface(src, &IID_IAVIEditStream, (void**)&edit);
+ if (SUCCEEDED(hr) && edit) {
+ hr = IAVIEditStream_Clone(edit, editable);
+ IAVIEditStream_Release(edit);
+
+ return hr;
+ }
+ }
+
+ /* Need own implementation of IAVIEditStream */
+ edit = AVIFILE_CreateEditStream(src);
+ if (!edit)
+ return AVIERR_MEMORY;
+
+ hr = IAVIEditStream_QueryInterface(edit, &IID_IAVIStream, (void**)editable);
+ IAVIEditStream_Release(edit);
+
+ return hr;
+}
More information about the wine-cvs
mailing list