FFmpeg
|
#include "dshow_capture.h"
#include "libavutil/parseutils.h"
#include "libavutil/pixdesc.h"
#include "libavutil/opt.h"
#include "libavformat/internal.h"
#include "libavformat/riff.h"
#include "avdevice.h"
#include "libavcodec/raw.h"
#include "objidl.h"
#include "shlwapi.h"
Go to the source code of this file.
Macros | |
#define | OFFSET(x) offsetof(struct dshow_ctx, x) |
#define | DEC AV_OPT_FLAG_DECODING_PARAM |
Functions | |
static enum AVPixelFormat | dshow_pixfmt (DWORD biCompression, WORD biBitCount) |
static int | dshow_read_close (AVFormatContext *s) |
static char * | dup_wchar_to_utf8 (wchar_t *w) |
static int | shall_we_drop (AVFormatContext *s, int index, enum dshowDeviceType devtype) |
static void | callback (void *priv_data, int index, uint8_t *buf, int buf_size, int64_t time, enum dshowDeviceType devtype) |
static int | dshow_cycle_devices (AVFormatContext *avctx, ICreateDevEnum *devenum, enum dshowDeviceType devtype, enum dshowSourceFilterType sourcetype, IBaseFilter **pfilter) |
Cycle through available devices using the device enumerator devenum, retrieve the device with type specified by devtype and return the pointer to the object found in *pfilter. More... | |
static void | dshow_cycle_formats (AVFormatContext *avctx, enum dshowDeviceType devtype, IPin *pin, int *pformat_set) |
Cycle through available formats using the specified pin, try to set parameters specified through AVOptions and if successful return 1 in *pformat_set. More... | |
static int | dshow_set_audio_buffer_size (AVFormatContext *avctx, IPin *pin) |
Set audio device buffer size in milliseconds (which can directly impact latency, depending on the device). More... | |
void | dshow_show_filter_properties (IBaseFilter *device_filter, AVFormatContext *avctx) |
Pops up a user dialog allowing them to adjust properties for the given filter, if possible. More... | |
static int | dshow_cycle_pins (AVFormatContext *avctx, enum dshowDeviceType devtype, enum dshowSourceFilterType sourcetype, IBaseFilter *device_filter, IPin **ppin) |
Cycle through available pins using the device_filter device, of type devtype, retrieve the first output pin and return the pointer to the object found in *ppin. More... | |
static int | dshow_list_device_options (AVFormatContext *avctx, ICreateDevEnum *devenum, enum dshowDeviceType devtype, enum dshowSourceFilterType sourcetype) |
List options for device with type devtype, source filter type sourcetype. More... | |
static int | dshow_open_device (AVFormatContext *avctx, ICreateDevEnum *devenum, enum dshowDeviceType devtype, enum dshowSourceFilterType sourcetype) |
static enum AVCodecID | waveform_codec_id (enum AVSampleFormat sample_fmt) |
static enum AVSampleFormat | sample_fmt_bits_per_sample (int bits) |
static int | dshow_add_device (AVFormatContext *avctx, enum dshowDeviceType devtype) |
static int | parse_device_name (AVFormatContext *avctx) |
static int | dshow_read_header (AVFormatContext *avctx) |
static int | dshow_check_event_queue (IMediaEvent *media_event) |
Checks media events from DirectShow and returns -1 on error or EOF. More... | |
static int | dshow_read_packet (AVFormatContext *s, AVPacket *pkt) |
Variables | |
static const AVOption | options [] |
static const AVClass | dshow_class |
AVInputFormat | ff_dshow_demuxer |
#define DEC AV_OPT_FLAG_DECODING_PARAM |
|
static |
Definition at line 34 of file dshow.c.
Referenced by dshow_add_device(), and dshow_cycle_formats().
|
static |
Definition at line 58 of file dshow.c.
Referenced by dshow_read_header().
|
static |
Definition at line 132 of file dshow.c.
Referenced by dshow_cycle_pins().
|
static |
Definition at line 142 of file dshow.c.
Referenced by callback().
|
static |
Definition at line 161 of file dshow.c.
Referenced by av_log_set_callback(), av_opt_query_ranges(), dshow_open_device(), libAVFilter_Setup(), and libspeex_decode_init().
|
static |
Cycle through available devices using the device enumerator devenum, retrieve the device with type specified by devtype and return the pointer to the object found in *pfilter.
If pfilter is NULL, list all device names.
Definition at line 207 of file dshow.c.
Referenced by dshow_list_device_options(), dshow_open_device(), and dshow_read_header().
|
static |
Cycle through available formats using the specified pin, try to set parameters specified through AVOptions and if successful return 1 in *pformat_set.
If pformat_set is NULL, list all pin capabilities.
Definition at line 318 of file dshow.c.
Referenced by dshow_cycle_pins().
|
static |
Set audio device buffer size in milliseconds (which can directly impact latency, depending on the device).
Definition at line 465 of file dshow.c.
Referenced by dshow_cycle_pins().
void dshow_show_filter_properties | ( | IBaseFilter * | device_filter, |
AVFormatContext * | avctx | ||
) |
Pops up a user dialog allowing them to adjust properties for the given filter, if possible.
Definition at line 509 of file dshow.c.
Referenced by dshow_cycle_pins(), and dshow_try_setup_crossbar_options().
|
static |
Cycle through available pins using the device_filter device, of type devtype, retrieve the first output pin and return the pointer to the object found in *ppin.
If ppin is NULL, cycle through all pins listing audio/video capabilities.
Definition at line 559 of file dshow.c.
Referenced by dshow_list_device_options(), and dshow_open_device().
|
static |
List options for device with type devtype, source filter type sourcetype.
devenum | device enumerator used for accessing the device |
Definition at line 704 of file dshow.c.
Referenced by dshow_read_header().
|
static |
Definition at line 721 of file dshow.c.
Referenced by dshow_read_header().
|
static |
Definition at line 895 of file dshow.c.
Referenced by dshow_add_device().
|
static |
Definition at line 905 of file dshow.c.
Referenced by dshow_add_device().
|
static |
Definition at line 916 of file dshow.c.
Referenced by dshow_read_header().
|
static |
Definition at line 1011 of file dshow.c.
Referenced by dshow_read_header().
|
static |
|
static |
Checks media events from DirectShow and returns -1 on error or EOF.
Also purges all events that might be in the event queue to stop the trigger of event notification.
Definition at line 1216 of file dshow.c.
Referenced by dshow_read_packet().
|
static |
|
static |
AVInputFormat ff_dshow_demuxer |