summaryrefslogtreecommitdiffstats
path: root/dxsdk/Include/DShowIDL/mmstream.idl
diff options
context:
space:
mode:
authoraap <aap@papnet.eu>2019-06-02 10:25:55 +0200
committerGitHub <noreply@github.com>2019-06-02 10:25:55 +0200
commit9c26e46e17b421288f7653f4c9cff81b4b6cdfb0 (patch)
treec1b34122ddd4be0461a5310c964e8218b9f5781e /dxsdk/Include/DShowIDL/mmstream.idl
parentimplemented splashes; fixed zones (diff)
parentMerge branch 'master' into master (diff)
downloadre3-9c26e46e17b421288f7653f4c9cff81b4b6cdfb0.tar
re3-9c26e46e17b421288f7653f4c9cff81b4b6cdfb0.tar.gz
re3-9c26e46e17b421288f7653f4c9cff81b4b6cdfb0.tar.bz2
re3-9c26e46e17b421288f7653f4c9cff81b4b6cdfb0.tar.lz
re3-9c26e46e17b421288f7653f4c9cff81b4b6cdfb0.tar.xz
re3-9c26e46e17b421288f7653f4c9cff81b4b6cdfb0.tar.zst
re3-9c26e46e17b421288f7653f4c9cff81b4b6cdfb0.zip
Diffstat (limited to 'dxsdk/Include/DShowIDL/mmstream.idl')
-rw-r--r--dxsdk/Include/DShowIDL/mmstream.idl190
1 files changed, 190 insertions, 0 deletions
diff --git a/dxsdk/Include/DShowIDL/mmstream.idl b/dxsdk/Include/DShowIDL/mmstream.idl
new file mode 100644
index 00000000..b94f1ed1
--- /dev/null
+++ b/dxsdk/Include/DShowIDL/mmstream.idl
@@ -0,0 +1,190 @@
+//------------------------------------------------------------------------------
+// File: MMStream.idl
+//
+// Desc: MultiMedia streaming interface IDL file. Used by MIDL tool
+// to generate mmstream.h.
+//
+// Copyright (c) 1998-2002, Microsoft Corporation. All rights reserved.
+//------------------------------------------------------------------------------
+
+
+import "unknwn.idl";
+
+cpp_quote("#define MS_ERROR_CODE(x) MAKE_HRESULT(1, FACILITY_ITF, (x) + 0x400)")
+cpp_quote("#define MS_SUCCESS_CODE(x) MAKE_HRESULT(0, FACILITY_ITF, x)")
+cpp_quote("#define MS_S_PENDING MS_SUCCESS_CODE(1)")
+cpp_quote("#define MS_S_NOUPDATE MS_SUCCESS_CODE(2)")
+cpp_quote("#define MS_S_ENDOFSTREAM MS_SUCCESS_CODE(3)")
+
+cpp_quote("#define MS_E_SAMPLEALLOC MS_ERROR_CODE(1)")
+cpp_quote("#define MS_E_PURPOSEID MS_ERROR_CODE(2)")
+cpp_quote("#define MS_E_NOSTREAM MS_ERROR_CODE(3)")
+cpp_quote("#define MS_E_NOSEEKING MS_ERROR_CODE(4)")
+cpp_quote("#define MS_E_INCOMPATIBLE MS_ERROR_CODE(5)")
+cpp_quote("#define MS_E_BUSY MS_ERROR_CODE(6)")
+cpp_quote("#define MS_E_NOTINIT MS_ERROR_CODE(7)")
+cpp_quote("#define MS_E_SOURCEALREADYDEFINED MS_ERROR_CODE(8)")
+cpp_quote("#define MS_E_INVALIDSTREAMTYPE MS_ERROR_CODE(9)")
+cpp_quote("#define MS_E_NOTRUNNING MS_ERROR_CODE(10)")
+
+cpp_quote("// {A35FF56A-9FDA-11d0-8FDF-00C04FD9189D}")
+cpp_quote("DEFINE_GUID(MSPID_PrimaryVideo, ")
+cpp_quote("0xa35ff56a, 0x9fda, 0x11d0, 0x8f, 0xdf, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);")
+
+cpp_quote("// {A35FF56B-9FDA-11d0-8FDF-00C04FD9189D}")
+cpp_quote("DEFINE_GUID(MSPID_PrimaryAudio,")
+cpp_quote("0xa35ff56b, 0x9fda, 0x11d0, 0x8f, 0xdf, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0x9d);")
+
+cpp_quote("#if(_WIN32_WINNT < 0x0400)")
+typedef void (__stdcall * PAPCFUNC)(DWORD_PTR dwParam);
+cpp_quote("#endif")
+
+typedef LONGLONG STREAM_TIME;
+
+typedef GUID MSPID;
+typedef REFGUID REFMSPID;
+
+typedef enum {
+ STREAMTYPE_READ = 0,
+ STREAMTYPE_WRITE = 1,
+ STREAMTYPE_TRANSFORM= 2
+} STREAM_TYPE;
+
+typedef enum {
+ STREAMSTATE_STOP = 0,
+ STREAMSTATE_RUN = 1
+} STREAM_STATE;
+
+
+typedef enum {
+ COMPSTAT_NOUPDATEOK = 0x00000001,
+ COMPSTAT_WAIT = 0x00000002,
+ COMPSTAT_ABORT = 0x00000004
+} COMPLETION_STATUS_FLAGS;
+
+// Flags for GetInformation
+enum {
+ MMSSF_HASCLOCK = 0x00000001,
+ MMSSF_SUPPORTSEEK = 0x00000002,
+ MMSSF_ASYNCHRONOUS = 0x00000004
+};
+
+// Flags for StreamSample::Update
+enum {
+ SSUPDATE_ASYNC = 0x00000001,
+ SSUPDATE_CONTINUOUS = 0x00000002
+};
+
+interface IMultiMediaStream;
+interface IMediaStream;
+interface IStreamSample;
+
+// IMultiMediaStream interface
+[
+object,
+local,
+uuid(B502D1BC-9A57-11d0-8FDE-00C04FD9189D),
+pointer_default(unique)
+]
+interface IMultiMediaStream : IUnknown {
+
+ HRESULT GetInformation(
+ [out] DWORD *pdwFlags,
+ [out] STREAM_TYPE *pStreamType);
+
+ HRESULT GetMediaStream(
+ [in] REFMSPID idPurpose,
+ [out] IMediaStream **ppMediaStream);
+
+ HRESULT EnumMediaStreams(
+ [in] long Index,
+ [out] IMediaStream **ppMediaStream);
+
+ HRESULT GetState(
+ [out] STREAM_STATE *pCurrentState);
+
+ HRESULT SetState(
+ [in] STREAM_STATE NewState);
+
+ HRESULT GetTime(
+ [out] STREAM_TIME *pCurrentTime);
+
+ HRESULT GetDuration(
+ [out] STREAM_TIME *pDuration);
+
+ HRESULT Seek(
+ [in] STREAM_TIME SeekTime);
+
+ HRESULT GetEndOfStreamEventHandle(
+ [out] HANDLE *phEOS);
+};
+
+
+// IMediaStream interface
+[
+object,
+uuid(B502D1BD-9A57-11d0-8FDE-00C04FD9189D),
+pointer_default(unique)
+]
+interface IMediaStream : IUnknown {
+
+ HRESULT GetMultiMediaStream(
+ [out] IMultiMediaStream **ppMultiMediaStream);
+
+ HRESULT GetInformation(
+ [out] MSPID *pPurposeId,
+ [out] STREAM_TYPE *pType);
+
+ HRESULT SetSameFormat(
+ [in] IMediaStream *pStreamThatHasDesiredFormat,
+ [in] DWORD dwFlags);
+
+ HRESULT AllocateSample(
+ [in] DWORD dwFlags,
+ [out] IStreamSample **ppSample);
+
+
+ HRESULT CreateSharedSample(
+ [in] IStreamSample *pExistingSample,
+ [in] DWORD dwFlags,
+ [out] IStreamSample **ppNewSample);
+
+ HRESULT SendEndOfStream(DWORD dwFlags);
+};
+
+
+// IStreamSample interface
+[
+object,
+local,
+uuid(B502D1BE-9A57-11d0-8FDE-00C04FD9189D),
+pointer_default(unique)
+]
+interface IStreamSample : IUnknown {
+
+ HRESULT GetMediaStream(
+ [in] IMediaStream **ppMediaStream);
+
+ HRESULT GetSampleTimes(
+ [out] STREAM_TIME * pStartTime,
+ [out] STREAM_TIME * pEndTime,
+ [out] STREAM_TIME * pCurrentTime);
+
+ HRESULT SetSampleTimes(
+ [in] const STREAM_TIME *pStartTime,
+ [in] const STREAM_TIME *pEndTime);
+
+ HRESULT Update(
+ [in] DWORD dwFlags,
+ [in] HANDLE hEvent,
+ [in] PAPCFUNC pfnAPC,
+ [in] DWORD_PTR dwAPCData);
+
+ HRESULT CompletionStatus(
+ [in] DWORD dwFlags,
+ [in] DWORD dwMilliseconds);
+};
+
+
+
+