Commit bd8b4baf authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

mfplay: Implement creating media items from URLs.

parent 6a389d14
......@@ -54,6 +54,16 @@ typedef enum MFP_EVENT_TYPE
MFP_EVENT_TYPE_ACQUIRE_USER_CREDENTIAL,
} MFP_EVENT_TYPE;
typedef UINT32 MFP_MEDIAITEM_CHARACTERISTICS;
typedef [v1_enum] enum _MFP_MEDIAITEM_CHARACTERISTICS
{
MFP_MEDIAITEM_IS_LIVE = 0x00000001,
MFP_MEDIAITEM_CAN_SEEK = 0x00000002,
MFP_MEDIAITEM_CAN_PAUSE = 0x00000004,
MFP_MEDIAITEM_HAS_SLOW_SEEK = 0x00000008,
} _MFP_MEDIAITEM_CHARACTERISTICS;
interface IMFPMediaPlayer;
interface IMFPMediaItem;
......@@ -198,5 +208,85 @@ interface IMFPMediaPlayer : IUnknown
HRESULT Shutdown();
}
[
object,
uuid(90eb3e6b-ecbf-45cc-b1da-c6fe3ea70d57),
local,
]
interface IMFPMediaItem : IUnknown
{
HRESULT GetMediaPlayer(
[out] IMFPMediaPlayer **player);
HRESULT GetURL(
[out] LPWSTR *url);
HRESULT GetObject(
[out] IUnknown **obj);
HRESULT GetUserData(
[out] DWORD_PTR *user_data);
HRESULT SetUserData(
[in] DWORD_PTR user_data);
HRESULT GetStartStopPosition(
[out] GUID *start_format,
[out] PROPVARIANT *start_position,
[out] GUID *stop_format,
[out] PROPVARIANT *stop_position);
HRESULT SetStartStopPosition(
[in] const GUID *start_format,
[in] const PROPVARIANT *start_position,
[in] const GUID *stop_format,
[in] const PROPVARIANT *stop_position);
HRESULT HasVideo(
[out] BOOL *has_video,
[out] BOOL *selected);
HRESULT HasAudio(
[out] BOOL *has_audio,
[out] BOOL *selected);
HRESULT IsProtected(
[out] BOOL *protected);
HRESULT GetDuration(
[in] REFGUID format,
[out] PROPVARIANT *value);
HRESULT GetNumberOfStreams(
[out] DWORD *count);
HRESULT GetStreamSelection(
[in] DWORD index,
[out] BOOL *enabled);
HRESULT SetStreamSelection(
[in] DWORD index,
[in] BOOL enabled);
HRESULT GetStreamAttribute(
[in] DWORD index,
[in] REFGUID key,
[out] PROPVARIANT *value);
HRESULT GetPresentationAttribute(
[in] REFGUID key,
[out] PROPVARIANT *value);
HRESULT GetCharacteristics(
[out] MFP_MEDIAITEM_CHARACTERISTICS *flags);
HRESULT SetStreamSink(
[in] DWORD index,
[in] IUnknown *sink);
HRESULT GetMetadata(
[out] IPropertyStore **metadata);
}
cpp_quote("HRESULT WINAPI MFPCreateMediaPlayer(const WCHAR *url, BOOL start_playback, MFP_CREATION_OPTIONS options, ")
cpp_quote(" IMFPMediaPlayerCallback *callback, HWND hwnd, IMFPMediaPlayer **player);")
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment