FFmpeg
|
#include "avdevice.h"
#include <windows.h>
#include <dshow.h>
#include <dvdmedia.h>
#include "libavcodec/internal.h"
#include "libavcodec/packet_internal.h"
Go to the source code of this file.
Data Structures | |
struct | GUIDoffset |
struct | DShowPin |
struct | DShowEnumPins |
struct | DShowEnumMediaTypes |
struct | DShowFilter |
struct | dshow_ctx |
Macros | |
#define | DSHOWDEBUG 0 |
#define | COBJMACROS |
#define | NO_DSHOW_STRSAFE |
#define | EC_DEVICE_LOST 0x1f |
#define | dshowdebug(...) ff_dlog(&ff_dshow_context_class_ptr, __VA_ARGS__) |
#define | DECLARE_QUERYINTERFACE(prefix, class, ...) |
#define | DECLARE_ADDREF(prefix, class) |
#define | DECLARE_RELEASE(prefix, class) |
#define | DECLARE_DESTROY(prefix, class, func) |
#define | DECLARE_CREATE(prefix, class, setup, ...) |
#define | SETVTBL(vtbl, prefix, fn) do { (vtbl)->fn = (void *) ff_dshow_##prefix##_##fn; } while(0) |
Typedefs | |
typedef struct DShowMemInputPin | DShowMemInputPin |
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 NO_DSHOW_STRSAFE |
Definition at line 31 of file dshow_capture.h.
#define EC_DEVICE_LOST 0x1f |
Definition at line 40 of file dshow_capture.h.
#define dshowdebug | ( | ... | ) | ff_dlog(&ff_dshow_context_class_ptr, __VA_ARGS__) |
Definition at line 50 of file dshow_capture.h.
#define DECLARE_QUERYINTERFACE | ( | prefix, | |
class, | |||
... | |||
) |
Definition at line 71 of file dshow_capture.h.
#define DECLARE_ADDREF | ( | prefix, | |
class | |||
) |
Definition at line 94 of file dshow_capture.h.
#define DECLARE_RELEASE | ( | prefix, | |
class | |||
) |
Definition at line 101 of file dshow_capture.h.
Definition at line 112 of file dshow_capture.h.
#define DECLARE_CREATE | ( | prefix, | |
class, | |||
setup, | |||
... | |||
) |
Definition at line 123 of file dshow_capture.h.
#define SETVTBL | ( | vtbl, | |
prefix, | |||
fn | |||
) | do { (vtbl)->fn = (void *) ff_dshow_##prefix##_##fn; } while(0) |
Definition at line 145 of file dshow_capture.h.
typedef struct DShowMemInputPin DShowMemInputPin |
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 ff_dshow_enummediatypes_Setup(), ff_dshow_pin_ConnectionMediaType(), and ff_dshow_pin_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 ff_dshow_pin_ReceiveConnection().
void ff_printGUID | ( | const GUID * | g | ) |
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().
|
inlinestatic |
Definition at line 52 of file dshow_capture.h.
long WINAPI ff_dshow_pin_QueryInterface | ( | DShowPin * | , |
const GUID * | , | ||
void ** | |||
) |
Referenced by ff_dshow_meminputpin_QueryInterface().
unsigned long WINAPI ff_dshow_pin_AddRef | ( | DShowPin * | ) |
Referenced by dshow_open_device(), ff_dshow_filter_FindPin(), and ff_dshow_meminputpin_AddRef().
unsigned long WINAPI ff_dshow_pin_Release | ( | DShowPin * | ) |
Referenced by dshow_read_close(), ff_dshow_filter_Cleanup(), and ff_dshow_meminputpin_Release().
long WINAPI ff_dshow_pin_Connect | ( | DShowPin * | , |
IPin * | , | ||
const AM_MEDIA_TYPE * | |||
) |
long WINAPI ff_dshow_pin_ReceiveConnection | ( | DShowPin * | , |
IPin * | , | ||
const AM_MEDIA_TYPE * | |||
) |
Definition at line 38 of file dshow_pin.c.
long WINAPI ff_dshow_pin_Disconnect | ( | DShowPin * | ) |
Definition at line 65 of file dshow_pin.c.
long WINAPI ff_dshow_pin_ConnectedTo | ( | DShowPin * | , |
IPin ** | |||
) |
Definition at line 78 of file dshow_pin.c.
long WINAPI ff_dshow_pin_ConnectionMediaType | ( | DShowPin * | , |
AM_MEDIA_TYPE * | |||
) |
Definition at line 91 of file dshow_pin.c.
Referenced by dshow_add_device().
long WINAPI ff_dshow_pin_QueryPinInfo | ( | DShowPin * | , |
PIN_INFO * | |||
) |
Definition at line 102 of file dshow_pin.c.
long WINAPI ff_dshow_pin_QueryDirection | ( | DShowPin * | , |
PIN_DIRECTION * | |||
) |
Definition at line 118 of file dshow_pin.c.
long WINAPI ff_dshow_pin_QueryId | ( | DShowPin * | , |
wchar_t ** | |||
) |
Definition at line 126 of file dshow_pin.c.
long WINAPI ff_dshow_pin_QueryAccept | ( | DShowPin * | , |
const AM_MEDIA_TYPE * | |||
) |
Definition at line 137 of file dshow_pin.c.
long WINAPI ff_dshow_pin_EnumMediaTypes | ( | DShowPin * | , |
IEnumMediaTypes ** | |||
) |
Definition at line 142 of file dshow_pin.c.
long WINAPI ff_dshow_pin_QueryInternalConnections | ( | DShowPin * | , |
IPin ** | , | ||
unsigned long * | |||
) |
Definition at line 157 of file dshow_pin.c.
long WINAPI ff_dshow_pin_EndOfStream | ( | DShowPin * | ) |
Definition at line 163 of file dshow_pin.c.
long WINAPI ff_dshow_pin_BeginFlush | ( | DShowPin * | ) |
Definition at line 169 of file dshow_pin.c.
long WINAPI ff_dshow_pin_EndFlush | ( | DShowPin * | ) |
Definition at line 175 of file dshow_pin.c.
Definition at line 181 of file dshow_pin.c.
long WINAPI ff_dshow_meminputpin_QueryInterface | ( | DShowMemInputPin * | , |
const GUID * | , | ||
void ** | |||
) |
Definition at line 253 of file dshow_pin.c.
unsigned long WINAPI ff_dshow_meminputpin_AddRef | ( | DShowMemInputPin * | ) |
Definition at line 260 of file dshow_pin.c.
unsigned long WINAPI ff_dshow_meminputpin_Release | ( | DShowMemInputPin * | ) |
Definition at line 266 of file dshow_pin.c.
long WINAPI ff_dshow_meminputpin_GetAllocator | ( | DShowMemInputPin * | , |
IMemAllocator ** | |||
) |
Definition at line 272 of file dshow_pin.c.
long WINAPI ff_dshow_meminputpin_NotifyAllocator | ( | DShowMemInputPin * | , |
IMemAllocator * | , | ||
BOOL | |||
) |
Definition at line 277 of file dshow_pin.c.
long WINAPI ff_dshow_meminputpin_GetAllocatorRequirements | ( | DShowMemInputPin * | , |
ALLOCATOR_PROPERTIES * | |||
) |
Definition at line 283 of file dshow_pin.c.
long WINAPI ff_dshow_meminputpin_Receive | ( | DShowMemInputPin * | , |
IMediaSample * | |||
) |
Definition at line 289 of file dshow_pin.c.
Referenced by ff_dshow_meminputpin_ReceiveMultiple().
long WINAPI ff_dshow_meminputpin_ReceiveMultiple | ( | DShowMemInputPin * | , |
IMediaSample ** | , | ||
long | , | ||
long * | |||
) |
Definition at line 357 of file dshow_pin.c.
long WINAPI ff_dshow_meminputpin_ReceiveCanBlock | ( | DShowMemInputPin * | ) |
Definition at line 369 of file dshow_pin.c.
void ff_dshow_pin_Destroy | ( | DShowPin * | ) |
Referenced by ff_dshow_meminputpin_Destroy().
DShowPin* ff_dshow_pin_Create | ( | DShowFilter * | filter | ) |
Referenced by ff_dshow_filter_Setup().
void ff_dshow_meminputpin_Destroy | ( | DShowMemInputPin * | ) |
Definition at line 376 of file dshow_pin.c.
long WINAPI ff_dshow_enumpins_QueryInterface | ( | DShowEnumPins * | , |
const GUID * | , | ||
void ** | |||
) |
unsigned long WINAPI ff_dshow_enumpins_AddRef | ( | DShowEnumPins * | ) |
unsigned long WINAPI ff_dshow_enumpins_Release | ( | DShowEnumPins * | ) |
long WINAPI ff_dshow_enumpins_Next | ( | DShowEnumPins * | , |
unsigned long | , | ||
IPin ** | , | ||
unsigned long * | |||
) |
long WINAPI ff_dshow_enumpins_Skip | ( | DShowEnumPins * | , |
unsigned long | |||
) |
Definition at line 48 of file dshow_enumpins.c.
long WINAPI ff_dshow_enumpins_Reset | ( | DShowEnumPins * | ) |
Definition at line 55 of file dshow_enumpins.c.
long WINAPI ff_dshow_enumpins_Clone | ( | DShowEnumPins * | , |
DShowEnumPins ** | |||
) |
Definition at line 61 of file dshow_enumpins.c.
void ff_dshow_enumpins_Destroy | ( | DShowEnumPins * | ) |
DShowEnumPins* ff_dshow_enumpins_Create | ( | DShowPin * | pin, |
DShowFilter * | filter | ||
) |
Referenced by ff_dshow_enumpins_Clone(), and ff_dshow_filter_EnumPins().
long WINAPI ff_dshow_enummediatypes_QueryInterface | ( | DShowEnumMediaTypes * | , |
const GUID * | , | ||
void ** | |||
) |
unsigned long WINAPI ff_dshow_enummediatypes_AddRef | ( | DShowEnumMediaTypes * | ) |
unsigned long WINAPI ff_dshow_enummediatypes_Release | ( | DShowEnumMediaTypes * | ) |
long WINAPI ff_dshow_enummediatypes_Next | ( | DShowEnumMediaTypes * | , |
unsigned long | , | ||
AM_MEDIA_TYPE ** | , | ||
unsigned long * | |||
) |
long WINAPI ff_dshow_enummediatypes_Skip | ( | DShowEnumMediaTypes * | , |
unsigned long | |||
) |
Definition at line 53 of file dshow_enummediatypes.c.
long WINAPI ff_dshow_enummediatypes_Reset | ( | DShowEnumMediaTypes * | ) |
Definition at line 60 of file dshow_enummediatypes.c.
long WINAPI ff_dshow_enummediatypes_Clone | ( | DShowEnumMediaTypes * | , |
DShowEnumMediaTypes ** | |||
) |
Definition at line 66 of file dshow_enummediatypes.c.
void ff_dshow_enummediatypes_Destroy | ( | DShowEnumMediaTypes * | ) |
DShowEnumMediaTypes* ff_dshow_enummediatypes_Create | ( | const AM_MEDIA_TYPE * | type | ) |
Referenced by ff_dshow_enummediatypes_Clone(), and ff_dshow_pin_EnumMediaTypes().
long WINAPI ff_dshow_filter_QueryInterface | ( | DShowFilter * | , |
const GUID * | , | ||
void ** | |||
) |
unsigned long WINAPI ff_dshow_filter_AddRef | ( | DShowFilter * | ) |
Referenced by ff_dshow_enumpins_Setup(), and ff_dshow_pin_QueryPinInfo().
unsigned long WINAPI ff_dshow_filter_Release | ( | DShowFilter * | ) |
Referenced by dshow_read_close(), and ff_dshow_enumpins_Cleanup().
long WINAPI ff_dshow_filter_GetClassID | ( | DShowFilter * | , |
CLSID * | |||
) |
long WINAPI ff_dshow_filter_Stop | ( | DShowFilter * | ) |
Definition at line 35 of file dshow_filter.c.
long WINAPI ff_dshow_filter_Pause | ( | DShowFilter * | ) |
Definition at line 41 of file dshow_filter.c.
long WINAPI ff_dshow_filter_Run | ( | DShowFilter * | , |
REFERENCE_TIME | |||
) |
Definition at line 47 of file dshow_filter.c.
long WINAPI ff_dshow_filter_GetState | ( | DShowFilter * | , |
DWORD | , | ||
FILTER_STATE * | |||
) |
Definition at line 54 of file dshow_filter.c.
long WINAPI ff_dshow_filter_SetSyncSource | ( | DShowFilter * | , |
IReferenceClock * | |||
) |
Definition at line 62 of file dshow_filter.c.
long WINAPI ff_dshow_filter_GetSyncSource | ( | DShowFilter * | , |
IReferenceClock ** | |||
) |
Definition at line 76 of file dshow_filter.c.
long WINAPI ff_dshow_filter_EnumPins | ( | DShowFilter * | , |
IEnumPins ** | |||
) |
Definition at line 88 of file dshow_filter.c.
long WINAPI ff_dshow_filter_FindPin | ( | DShowFilter * | , |
const wchar_t * | , | ||
IPin ** | |||
) |
Definition at line 102 of file dshow_filter.c.
long WINAPI ff_dshow_filter_QueryFilterInfo | ( | DShowFilter * | , |
FILTER_INFO * | |||
) |
Definition at line 119 of file dshow_filter.c.
long WINAPI ff_dshow_filter_JoinFilterGraph | ( | DShowFilter * | , |
IFilterGraph * | , | ||
const wchar_t * | |||
) |
Definition at line 131 of file dshow_filter.c.
long WINAPI ff_dshow_filter_QueryVendorInfo | ( | DShowFilter * | , |
wchar_t ** | |||
) |
Definition at line 142 of file dshow_filter.c.
void ff_dshow_filter_Destroy | ( | DShowFilter * | ) |
DShowFilter* ff_dshow_filter_Create | ( | void * | , |
void * | , | ||
enum | dshowDeviceType | ||
) |
Referenced by dshow_open_device().
HRESULT ff_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 ff_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 1122 of file dshow.c.
Referenced by dshow_cycle_pins(), and ff_dshow_try_setup_crossbar_options().
const AVClass* ff_dshow_context_class_ptr |
Definition at line 60 of file dshow_common.c.