|
FFmpeg
|
#include "avdevice.h"#include <windows.h>#include <dshow.h>#include <dvdmedia.h>#include "libavcodec/internal.h"Go to the source code of this file.
Data Structures | |
| struct | GUIDoffset |
| struct | libAVPin |
| struct | libAVEnumPins |
| struct | libAVEnumMediaTypes |
| struct | libAVFilter |
| struct | dshow_ctx |
Macros | |
| #define | DSHOWDEBUG 0 |
| #define | COBJMACROS |
| #define | WIN32_LEAN_AND_MEAN |
| #define | NO_DSHOW_STRSAFE |
| #define | EC_DEVICE_LOST 0x1f |
| #define | dshowdebug(...) ff_dlog(&ff_dshow_context_class_ptr, __VA_ARGS__) |
| #define | DECLARE_QUERYINTERFACE(class,...) |
| #define | DECLARE_ADDREF(class) |
| #define | DECLARE_RELEASE(class) |
| #define | DECLARE_DESTROY(class, func) |
| #define | DECLARE_CREATE(class, setup,...) |
| #define | SETVTBL(vtbl, class, fn) do { (vtbl)->fn = (void *) class##_##fn; } while(0) |
Typedefs | |
| typedef struct libAVMemInputPin | libAVMemInputPin |
Enumerations | |
| enum | dshowDeviceType { VideoDevice = 0, AudioDevice = 1 } |
| enum | dshowSourceFilterType { VideoSourceDevice = 0, AudioSourceDevice = 1 } |
Variables | |
| const AVClass * | ff_dshow_context_class_ptr |
| #define DSHOWDEBUG 0 |
Definition at line 25 of file dshow_capture.h.
| #define COBJMACROS |
Definition at line 29 of file dshow_capture.h.
| #define WIN32_LEAN_AND_MEAN |
Definition at line 30 of file dshow_capture.h.
| #define NO_DSHOW_STRSAFE |
Definition at line 32 of file dshow_capture.h.
| #define EC_DEVICE_LOST 0x1f |
Definition at line 40 of file dshow_capture.h.
Referenced by dshow_check_event_queue().
| #define dshowdebug | ( | ... | ) | ff_dlog(&ff_dshow_context_class_ptr, __VA_ARGS__) |
Definition at line 50 of file dshow_capture.h.
Referenced by ff_print_AM_MEDIA_TYPE(), ff_print_AUDIO_STREAM_CONFIG_CAPS(), ff_print_VIDEO_STREAM_CONFIG_CAPS(), ff_printGUID(), libAVEnumMediaTypes_Clone(), libAVEnumMediaTypes_Reset(), libAVEnumMediaTypes_Skip(), libAVEnumPins_Clone(), libAVEnumPins_Reset(), libAVEnumPins_Skip(), libAVFilter_EnumPins(), libAVFilter_FindPin(), libAVFilter_GetState(), libAVFilter_GetSyncSource(), libAVFilter_JoinFilterGraph(), libAVFilter_Pause(), libAVFilter_QueryFilterInfo(), libAVFilter_QueryVendorInfo(), libAVFilter_Run(), libAVFilter_SetSyncSource(), libAVFilter_Stop(), libAVMemInputPin_AddRef(), libAVMemInputPin_Destroy(), libAVMemInputPin_GetAllocator(), libAVMemInputPin_GetAllocatorRequirements(), libAVMemInputPin_NotifyAllocator(), libAVMemInputPin_QueryInterface(), libAVMemInputPin_Receive(), libAVMemInputPin_ReceiveCanBlock(), libAVMemInputPin_ReceiveMultiple(), libAVMemInputPin_Release(), libAVPin_BeginFlush(), libAVPin_ConnectedTo(), libAVPin_ConnectionMediaType(), libAVPin_Disconnect(), libAVPin_EndFlush(), libAVPin_EndOfStream(), libAVPin_EnumMediaTypes(), libAVPin_NewSegment(), libAVPin_QueryAccept(), libAVPin_QueryDirection(), libAVPin_QueryId(), libAVPin_QueryInternalConnections(), libAVPin_QueryPinInfo(), and libAVPin_ReceiveConnection().
| #define DECLARE_QUERYINTERFACE | ( | class, | |
| ... | |||
| ) |
Definition at line 71 of file dshow_capture.h.
| #define DECLARE_ADDREF | ( | class | ) |
Definition at line 94 of file dshow_capture.h.
| #define DECLARE_RELEASE | ( | class | ) |
Definition at line 101 of file dshow_capture.h.
Definition at line 112 of file dshow_capture.h.
| #define DECLARE_CREATE | ( | class, | |
| setup, | |||
| ... | |||
| ) |
Definition at line 123 of file dshow_capture.h.
Definition at line 145 of file dshow_capture.h.
Referenced by libAVEnumMediaTypes_Setup(), libAVEnumPins_Setup(), libAVFilter_Setup(), and libAVPin_Setup().
| typedef struct libAVMemInputPin libAVMemInputPin |
Definition at line 152 of file dshow_capture.h.
| enum dshowDeviceType |
| Enumerator | |
|---|---|
| VideoDevice | |
| AudioDevice | |
Definition at line 61 of file dshow_capture.h.
| Enumerator | |
|---|---|
| VideoSourceDevice | |
| AudioSourceDevice | |
Definition at line 66 of file dshow_capture.h.
| long ff_copy_dshow_media_type | ( | AM_MEDIA_TYPE * | dst, |
| const AM_MEDIA_TYPE * | src | ||
| ) |
Definition at line 24 of file dshow_common.c.
Referenced by libAVEnumMediaTypes_Setup(), libAVPin_ConnectionMediaType(), and libAVPin_ReceiveConnection().
| void ff_print_VIDEO_STREAM_CONFIG_CAPS | ( | const VIDEO_STREAM_CONFIG_CAPS * | caps | ) |
Definition at line 85 of file dshow_common.c.
Referenced by dshow_cycle_formats().
| void ff_print_AUDIO_STREAM_CONFIG_CAPS | ( | const AUDIO_STREAM_CONFIG_CAPS * | caps | ) |
Definition at line 115 of file dshow_common.c.
Referenced by dshow_cycle_formats().
| void ff_print_AM_MEDIA_TYPE | ( | const AM_MEDIA_TYPE * | type | ) |
Definition at line 134 of file dshow_common.c.
Referenced by dshow_cycle_formats(), and libAVPin_ReceiveConnection().
Definition at line 42 of file dshow_common.c.
Referenced by ff_print_AM_MEDIA_TYPE(), ff_print_AUDIO_STREAM_CONFIG_CAPS(), and ff_print_VIDEO_STREAM_CONFIG_CAPS().
Definition at line 52 of file dshow_capture.h.
Referenced by libAVMemInputPin_QueryInterface().
| unsigned long WINAPI libAVPin_AddRef | ( | libAVPin * | ) |
Referenced by dshow_open_device(), libAVFilter_FindPin(), and libAVMemInputPin_AddRef().
| unsigned long WINAPI libAVPin_Release | ( | libAVPin * | ) |
Referenced by dshow_read_close(), libAVFilter_Cleanup(), and libAVMemInputPin_Release().
| long WINAPI libAVPin_Connect | ( | libAVPin * | , |
| IPin * | , | ||
| const AM_MEDIA_TYPE * | |||
| ) |
| long WINAPI libAVPin_ReceiveConnection | ( | libAVPin * | , |
| IPin * | , | ||
| const AM_MEDIA_TYPE * | |||
| ) |
Definition at line 40 of file dshow_pin.c.
| long WINAPI libAVPin_Disconnect | ( | libAVPin * | ) |
Definition at line 68 of file dshow_pin.c.
| long WINAPI libAVPin_ConnectedTo | ( | libAVPin * | , |
| IPin ** | |||
| ) |
Definition at line 82 of file dshow_pin.c.
| long WINAPI libAVPin_ConnectionMediaType | ( | libAVPin * | , |
| AM_MEDIA_TYPE * | |||
| ) |
Definition at line 96 of file dshow_pin.c.
Referenced by dshow_add_device().
| long WINAPI libAVPin_QueryPinInfo | ( | libAVPin * | , |
| PIN_INFO * | |||
| ) |
Definition at line 108 of file dshow_pin.c.
| long WINAPI libAVPin_QueryDirection | ( | libAVPin * | , |
| PIN_DIRECTION * | |||
| ) |
Definition at line 125 of file dshow_pin.c.
| long WINAPI libAVPin_QueryId | ( | libAVPin * | , |
| wchar_t ** | |||
| ) |
Definition at line 134 of file dshow_pin.c.
| long WINAPI libAVPin_QueryAccept | ( | libAVPin * | , |
| const AM_MEDIA_TYPE * | |||
| ) |
Definition at line 146 of file dshow_pin.c.
| long WINAPI libAVPin_EnumMediaTypes | ( | libAVPin * | , |
| IEnumMediaTypes ** | |||
| ) |
Definition at line 152 of file dshow_pin.c.
| long WINAPI libAVPin_QueryInternalConnections | ( | libAVPin * | , |
| IPin ** | , | ||
| unsigned long * | |||
| ) |
Definition at line 168 of file dshow_pin.c.
| long WINAPI libAVPin_EndOfStream | ( | libAVPin * | ) |
Definition at line 175 of file dshow_pin.c.
| long WINAPI libAVPin_BeginFlush | ( | libAVPin * | ) |
Definition at line 182 of file dshow_pin.c.
| long WINAPI libAVPin_EndFlush | ( | libAVPin * | ) |
Definition at line 189 of file dshow_pin.c.
| long WINAPI libAVPin_NewSegment | ( | libAVPin * | , |
| REFERENCE_TIME | , | ||
| REFERENCE_TIME | , | ||
| double | |||
| ) |
Definition at line 196 of file dshow_pin.c.
| long WINAPI libAVMemInputPin_QueryInterface | ( | libAVMemInputPin * | , |
| const GUID * | , | ||
| void ** | |||
| ) |
Definition at line 259 of file dshow_pin.c.
| unsigned long WINAPI libAVMemInputPin_AddRef | ( | libAVMemInputPin * | ) |
Definition at line 267 of file dshow_pin.c.
| unsigned long WINAPI libAVMemInputPin_Release | ( | libAVMemInputPin * | ) |
Definition at line 274 of file dshow_pin.c.
| long WINAPI libAVMemInputPin_GetAllocator | ( | libAVMemInputPin * | , |
| IMemAllocator ** | |||
| ) |
Definition at line 281 of file dshow_pin.c.
| long WINAPI libAVMemInputPin_NotifyAllocator | ( | libAVMemInputPin * | , |
| IMemAllocator * | , | ||
| BOOL | |||
| ) |
Definition at line 287 of file dshow_pin.c.
| long WINAPI libAVMemInputPin_GetAllocatorRequirements | ( | libAVMemInputPin * | , |
| ALLOCATOR_PROPERTIES * | |||
| ) |
Definition at line 294 of file dshow_pin.c.
| long WINAPI libAVMemInputPin_Receive | ( | libAVMemInputPin * | , |
| IMediaSample * | |||
| ) |
Definition at line 301 of file dshow_pin.c.
Referenced by libAVMemInputPin_ReceiveMultiple().
| long WINAPI libAVMemInputPin_ReceiveMultiple | ( | libAVMemInputPin * | , |
| IMediaSample ** | , | ||
| long | , | ||
| long * | |||
| ) |
Definition at line 358 of file dshow_pin.c.
| long WINAPI libAVMemInputPin_ReceiveCanBlock | ( | libAVMemInputPin * | ) |
Definition at line 371 of file dshow_pin.c.
Referenced by libAVMemInputPin_Destroy().
| libAVPin* libAVPin_Create | ( | libAVFilter * | filter | ) |
Referenced by libAVFilter_Setup().
| void libAVMemInputPin_Destroy | ( | libAVMemInputPin * | ) |
Definition at line 379 of file dshow_pin.c.
| long WINAPI libAVEnumPins_QueryInterface | ( | libAVEnumPins * | , |
| const GUID * | , | ||
| void ** | |||
| ) |
| unsigned long WINAPI libAVEnumPins_AddRef | ( | libAVEnumPins * | ) |
| unsigned long WINAPI libAVEnumPins_Release | ( | libAVEnumPins * | ) |
| long WINAPI libAVEnumPins_Next | ( | libAVEnumPins * | , |
| unsigned | long, | ||
| IPin ** | , | ||
| unsigned long * | |||
| ) |
| long WINAPI libAVEnumPins_Skip | ( | libAVEnumPins * | , |
| unsigned | long | ||
| ) |
Definition at line 50 of file dshow_enumpins.c.
| long WINAPI libAVEnumPins_Reset | ( | libAVEnumPins * | ) |
Definition at line 58 of file dshow_enumpins.c.
| long WINAPI libAVEnumPins_Clone | ( | libAVEnumPins * | , |
| libAVEnumPins ** | |||
| ) |
Definition at line 65 of file dshow_enumpins.c.
| void libAVEnumPins_Destroy | ( | libAVEnumPins * | ) |
| libAVEnumPins* libAVEnumPins_Create | ( | libAVPin * | pin, |
| libAVFilter * | filter | ||
| ) |
Referenced by libAVEnumPins_Clone(), and libAVFilter_EnumPins().
| long WINAPI libAVEnumMediaTypes_QueryInterface | ( | libAVEnumMediaTypes * | , |
| const GUID * | , | ||
| void ** | |||
| ) |
| unsigned long WINAPI libAVEnumMediaTypes_AddRef | ( | libAVEnumMediaTypes * | ) |
| unsigned long WINAPI libAVEnumMediaTypes_Release | ( | libAVEnumMediaTypes * | ) |
| long WINAPI libAVEnumMediaTypes_Next | ( | libAVEnumMediaTypes * | , |
| unsigned | long, | ||
| AM_MEDIA_TYPE ** | , | ||
| unsigned long * | |||
| ) |
| long WINAPI libAVEnumMediaTypes_Skip | ( | libAVEnumMediaTypes * | , |
| unsigned | long | ||
| ) |
Definition at line 55 of file dshow_enummediatypes.c.
| long WINAPI libAVEnumMediaTypes_Reset | ( | libAVEnumMediaTypes * | ) |
Definition at line 63 of file dshow_enummediatypes.c.
| long WINAPI libAVEnumMediaTypes_Clone | ( | libAVEnumMediaTypes * | , |
| libAVEnumMediaTypes ** | |||
| ) |
Definition at line 70 of file dshow_enummediatypes.c.
| void libAVEnumMediaTypes_Destroy | ( | libAVEnumMediaTypes * | ) |
| libAVEnumMediaTypes* libAVEnumMediaTypes_Create | ( | const AM_MEDIA_TYPE * | type | ) |
Referenced by libAVEnumMediaTypes_Clone(), and libAVPin_EnumMediaTypes().
| long WINAPI libAVFilter_QueryInterface | ( | libAVFilter * | , |
| const GUID * | , | ||
| void ** | |||
| ) |
| unsigned long WINAPI libAVFilter_AddRef | ( | libAVFilter * | ) |
Referenced by libAVEnumPins_Setup(), and libAVPin_QueryPinInfo().
| unsigned long WINAPI libAVFilter_Release | ( | libAVFilter * | ) |
Referenced by dshow_read_close(), and libAVEnumPins_Cleanup().
| long WINAPI libAVFilter_GetClassID | ( | libAVFilter * | , |
| CLSID * | |||
| ) |
| long WINAPI libAVFilter_Stop | ( | libAVFilter * | ) |
Definition at line 37 of file dshow_filter.c.
| long WINAPI libAVFilter_Pause | ( | libAVFilter * | ) |
Definition at line 44 of file dshow_filter.c.
| long WINAPI libAVFilter_Run | ( | libAVFilter * | , |
| REFERENCE_TIME | |||
| ) |
Definition at line 51 of file dshow_filter.c.
| long WINAPI libAVFilter_GetState | ( | libAVFilter * | , |
| DWORD | , | ||
| FILTER_STATE * | |||
| ) |
Definition at line 59 of file dshow_filter.c.
| long WINAPI libAVFilter_SetSyncSource | ( | libAVFilter * | , |
| IReferenceClock * | |||
| ) |
Definition at line 68 of file dshow_filter.c.
| long WINAPI libAVFilter_GetSyncSource | ( | libAVFilter * | , |
| IReferenceClock ** | |||
| ) |
Definition at line 83 of file dshow_filter.c.
| long WINAPI libAVFilter_EnumPins | ( | libAVFilter * | , |
| IEnumPins ** | |||
| ) |
Definition at line 96 of file dshow_filter.c.
| long WINAPI libAVFilter_FindPin | ( | libAVFilter * | , |
| const wchar_t * | , | ||
| IPin ** | |||
| ) |
Definition at line 111 of file dshow_filter.c.
| long WINAPI libAVFilter_QueryFilterInfo | ( | libAVFilter * | , |
| FILTER_INFO * | |||
| ) |
Definition at line 129 of file dshow_filter.c.
| long WINAPI libAVFilter_JoinFilterGraph | ( | libAVFilter * | , |
| IFilterGraph * | , | ||
| const wchar_t * | |||
| ) |
Definition at line 142 of file dshow_filter.c.
| long WINAPI libAVFilter_QueryVendorInfo | ( | libAVFilter * | , |
| wchar_t ** | |||
| ) |
Definition at line 154 of file dshow_filter.c.
| void libAVFilter_Destroy | ( | libAVFilter * | ) |
| libAVFilter* libAVFilter_Create | ( | void * | , |
| void * | , | ||
| enum | dshowDeviceType | ||
| ) |
Referenced by dshow_open_device().
| HRESULT dshow_try_setup_crossbar_options | ( | ICaptureGraphBuilder2 * | graph_builder2, |
| IBaseFilter * | device_filter, | ||
| enum dshowDeviceType | devtype, | ||
| AVFormatContext * | avctx | ||
| ) |
Given a fully constructed graph, check if there is a cross bar filter, and configure its pins if so.
Definition at line 140 of file dshow_crossbar.c.
Referenced by dshow_open_device().
| void dshow_show_filter_properties | ( | IBaseFilter * | pFilter, |
| AVFormatContext * | avctx | ||
| ) |
Pops up a user dialog allowing them to adjust properties for the given filter, if possible.
Definition at line 512 of file dshow.c.
Referenced by dshow_cycle_pins(), and dshow_try_setup_crossbar_options().
| const AVClass* ff_dshow_context_class_ptr |
Definition at line 60 of file dshow_common.c.
1.8.6