From: Alistair Leslie-Hughes Subject: [v3 PATCH 1/2] include: Add mfreadwrite.idl Message-Id: Date: Thu, 23 Feb 2017 06:49:36 +0000 v3 - Correct Camelcase - Correct indent of multi line parameter list. Signed-off-by: Alistair Leslie-Hughes --- include/Makefile.in | 1 + include/mfreadwrite.idl | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 include/mfreadwrite.idl diff --git a/include/Makefile.in b/include/Makefile.in index 80fa362..4fbfd16 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -89,6 +89,7 @@ IDL_SRCS = \ mediaobj.idl \ metahost.idl \ mfobjects.idl \ + mfreadwrite.idl \ mimeinfo.idl \ mimeole.idl \ mlang.idl \ diff --git a/include/mfreadwrite.idl b/include/mfreadwrite.idl new file mode 100644 index 0000000..b9df10b --- /dev/null +++ b/include/mfreadwrite.idl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2017 Alistair Leslie-Hughes + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ +import "unknwn.idl"; +import "objidl.idl"; +import "oaidl.idl"; +import "mfobjects.idl"; + +interface IMFMediaSource; + +[ + object, + uuid(70ae66f2-c809-4e4f-8915-bdcb406b7993), + local +] +interface IMFSourceReader : IUnknown +{ + HRESULT GetStreamSelection([in] DWORD index, [out] BOOL *selected); + HRESULT SetStreamSelection([in] DWORD index, [in] BOOL selected); + HRESULT GetNativeMediaType([in] DWORD index, [in] DWORD typeindex, [out] IMFMediaType **type); + HRESULT GetCurrentMediaType([in] DWORD index, [out] IMFMediaType **type); + HRESULT SetCurrentMediaType([in] DWORD index, [in, out] DWORD *reserved, [in] IMFMediaType *type); + HRESULT SetCurrentPosition([in] REFGUID format, [in] REFPROPVARIANT position); + HRESULT ReadSample([in] DWORD index, [in] DWORD flags, [out] DWORD *actualindex, [out] DWORD *sampleflags, + [out] LONGLONG *timestamp, [out] IMFSample **sample); + HRESULT Flush([in] DWORD index); + HRESULT GetServiceForStream([in] DWORD index, [in] REFGUID service, [in] REFIID riid, [out] void **object); + HRESULT GetPresentationAttribute([in] DWORD index, [in] REFGUID guid, [out] PROPVARIANT *attr); +}; + +cpp_quote( "HRESULT WINAPI MFCreateSourceReaderFromMediaSource(IMFMediaSource *source, IMFAttributes *attributes, IMFSourceReader **reader);" ) -- 1.9.1