FFmpeg
|
#include "libavutil/parseutils.h"
#include "libavutil/pixdesc.h"
#include "libavutil/opt.h"
#include "libavformat/internal.h"
#include "libavformat/riff.h"
#include "avdevice.h"
#include "dshow_capture.h"
#include "libavcodec/raw.h"
Go to the source code of this file.
Data Structures | |
struct | dshow_ctx |
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, 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. | |
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. | |
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). | |
static int | dshow_cycle_pins (AVFormatContext *avctx, enum dshowDeviceType devtype, 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. | |
static int | dshow_list_device_options (AVFormatContext *avctx, ICreateDevEnum *devenum, enum dshowDeviceType devtype) |
List options for device with type devtype. | |
static int | dshow_open_device (AVFormatContext *avctx, ICreateDevEnum *devenum, enum dshowDeviceType devtype) |
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. | |
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 75 of file dshow.c.
Referenced by dshow_add_device(), and dshow_cycle_formats().
|
static |
Definition at line 99 of file dshow.c.
Referenced by dshow_read_header().
|
static |
Definition at line 173 of file dshow.c.
Referenced by dshow_cycle_pins().
|
static |
Definition at line 183 of file dshow.c.
Referenced by callback().
|
static |
Definition at line 200 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 246 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 325 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 472 of file dshow.c.
Referenced by dshow_cycle_pins().
|
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 519 of file dshow.c.
Referenced by dshow_list_device_options(), and dshow_open_device().
|
static |
List options for device with type devtype.
devenum | device enumerator used for accessing the device |
Definition at line 633 of file dshow.c.
Referenced by dshow_read_header().
|
static |
Definition at line 650 of file dshow.c.
Referenced by dshow_read_header().
|
static |
Definition at line 713 of file dshow.c.
Referenced by dshow_add_device().
|
static |
Definition at line 723 of file dshow.c.
Referenced by dshow_add_device().
|
static |
Definition at line 734 of file dshow.c.
Referenced by dshow_read_header().
|
static |
Definition at line 829 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 1017 of file dshow.c.
Referenced by dshow_read_packet().
|
static |
|
static |
|
static |
AVInputFormat ff_dshow_demuxer |