Go to the documentation of this file.
74 #define DMO_E_INVALIDSTREAMINDEX 0x80040201
75 #define DMO_E_INVALIDTYPE 0x80040202
76 #define DMO_E_TYPE_NOT_SET 0x80040203
77 #define DMO_E_NOTACCEPTING 0x80040204
78 #define DMO_E_TYPE_NOT_ACCEPTED 0x80040205
79 #define DMO_E_NO_MORE_ITEMS 0x80040206
int32_t size
Definition: buffer.h:343
void * get_cb_data[5]
Definition: buffer.h:653
static buf_element_t * buffer_pool_size_alloc(fifo_buffer_t *this, size_t size)
Definition: buffer.c:227
extra_info_t ei
Definition: buffer.c:68
void * xine_mallocz_aligned(size_t size)
Definition: utils.c:856
pthread_cond_t not_empty
Definition: buffer.h:590
void(* acquire)(xine_ticket_t *self, int irrevocable)
Definition: tickets.h:66
int nbufs
Definition: buffer.c:67
static void fifo_register_alloc_cb(fifo_buffer_t *this, void(*cb)(fifo_buffer_t *this, void *data_cb), void *data_cb)
Definition: buffer.c:749
static HRESULT STDCALL CMediaBuffer_SetLength(IMediaBuffer *This, unsigned long cbLength)
Definition: buffer.c:21
const GUID IID_IMediaObject
Definition: dmo_guids.c:6
int buffer_pool_capacity
Definition: buffer.h:645
_DMO_PROCESS_OUTPUT_FLAGS
Definition: dmo.h:62
static void dummy_fifo_buffer_insert(fifo_buffer_t *fifo, buf_element_t *element)
Definition: buffer.c:476
static buf_element_t * buffer_pool_size_alloc_int(fifo_buffer_t *this, int n)
Definition: buffer.c:138
FARPROC WINAPI GetProcAddress(HMODULE, LPCSTR)
@ DMO_SET_TYPEF_CLEAR
Definition: dmo.h:59
int fifo_size
Definition: buffer.h:585
CMediaBuffer * CMediaBufferCreate(unsigned long maxlen, void *mem, unsigned long len, int copy)
Definition: buffer.c:69
fifo_buffer_t * _x_fifo_buffer_new(int num_buffers, uint32_t buf_size)
Allocate and initialise new (empty) FIFO buffers.
Definition: buffer.c:873
uint32_t decoder_info[5]
Definition: buffer.h:353
static HRESULT STDCALL CMediaBuffer_GetBufferAndLength(IMediaBuffer *This, char **ppBuffer, unsigned long *pcbLength)
Definition: buffer.c:43
@ DMO_OUTPUT_DATA_BUFFERF_TIME
Definition: dmo.h:29
static void dummy_fifo_buffer_put(fifo_buffer_t *fifo, buf_element_t *element)
Definition: buffer.c:434
_DMO_OUTPUT_DATA_BUFFER_FLAGS
Definition: dmo.h:26
#define LARGE_NUM
Definition: buffer.c:71
@ DMO_OUTPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER
Definition: dmo.h:50
_DMO_OUTPUT_STREAM_INFO_FLAGS
Definition: dmo.h:47
void * put_cb_data[5]
Definition: buffer.h:652
_DMO_VIDEO_OUTPUT_STREAM_FLAGS
Definition: dmo.h:67
static HRESULT STDCALL CMediaBuffer_GetMaxLength(IMediaBuffer *This, unsigned long *pcbMaxLength)
Definition: buffer.c:32
@ DMO_OUTPUT_STREAMF_OPTIONAL
Definition: dmo.h:53
buf_element_t * next
Definition: buffer.h:338
void * source
Definition: buffer.h:359
#define put(predictor, i)
Definition: motion_comp.c:96
void(* put_cb[5])(fifo_buffer_t *fifo, buf_element_t *buf, void *data_cb)
Definition: buffer.h:649
uint32_t fifo_data_size
Definition: buffer.h:586
@ DMO_INPUT_STREAMF_FIXED_SAMPLE_SIZE
Definition: dmo.h:43
HMODULE WINAPI LoadLibraryA(LPCSTR)
pthread_mutex_t mutex
Definition: buffer.h:589
int64_t pts
Definition: buffer.h:345
static buf_element_t * fifo_buffer_get(fifo_buffer_t *fifo)
Definition: buffer.c:484
#define BUF_CONTROL_BASE
Definition: buffer.h:68
NULL
Definition: xine_plugin.c:78
@ DMO_OUTPUT_STREAMF_WHOLE_SAMPLES
Definition: dmo.h:49
const GUID IID_IMediaBuffer
Definition: dmo_guids.c:4
buf_element_t elem
Definition: buffer.c:66
@ DMO_OUTPUT_STREAMF_DISCARDABLE
Definition: dmo.h:52
@ DMO_OUTPUT_DATA_BUFFERF_INCOMPLETE
Definition: dmo.h:31
#define _x_abort()
Definition: xine_mpeg2new_decoder.c:50
Definition: DMO_Filter.h:11
int m_iHandle
Definition: DMO_Filter.h:13
@ DMO_INPUT_STREAMF_HOLDS_BUFFERS
Definition: dmo.h:44
#define _(String)
Definition: vcdplayer.h:39
int fifo_num_waiters
Definition: buffer.h:663
static void fifo_buffer_dispose(fifo_buffer_t *this)
Definition: buffer.c:736
static buf_element_t * buffer_pool_realloc(buf_element_t *buf, size_t new_size)
Definition: buffer.c:278
static uint32_t fifo_buffer_data_size(fifo_buffer_t *this)
Definition: buffer.c:710
IDMOVideoOutputOptimizations_vt * vt
Definition: dmo_interfaces.h:192
#define BUF_MAX_CALLBACKS
Definition: buffer.h:45
@ DMO_INPUT_DATA_BUFFERF_TIMELENGTH
Definition: dmo.h:23
@ DMO_OUTPUT_DATA_BUFFERF_SYNCPOINT
Definition: dmo.h:28
const GUID IID_IDMOVideoOutputOptimizations
Definition: dmo_guids.c:14
static void fifo_buffer_insert(fifo_buffer_t *fifo, buf_element_t *element)
Definition: buffer.c:450
IDMOVideoOutputOptimizations * m_pOptim
Definition: DMO_Filter.h:14
static void fifo_unregister_alloc_cb(fifo_buffer_t *this, void(*cb)(fifo_buffer_t *this, void *data_cb))
Definition: buffer.c:811
static int fifo_buffer_size(fifo_buffer_t *this)
Definition: buffer.c:697
@ DMO_INPUT_DATA_BUFFERF_SYNCPOINT
Definition: dmo.h:21
static buf_element_t * buffer_pool_try_alloc(fifo_buffer_t *this)
Definition: buffer.c:348
@ DMO_INPUT_STREAMF_WHOLE_SAMPLES
Definition: dmo.h:41
static void fifo_unregister_put_cb(fifo_buffer_t *this, void(*cb)(fifo_buffer_t *this, buf_element_t *buf, void *data_cb))
Definition: buffer.c:831
#define BUF_MAJOR_MASK
Definition: buffer.h:61
static buf_element_t * buffer_pool_alloc(fifo_buffer_t *this)
Definition: buffer.c:236
static void fifo_register_put_cb(fifo_buffer_t *this, void(*cb)(fifo_buffer_t *this, buf_element_t *buf, void *data_cb), void *data_cb)
Definition: buffer.c:769
static void fifo_buffer_put(fifo_buffer_t *fifo, buf_element_t *element)
Definition: buffer.c:384
@ DMO_OUTPUT_DATA_BUFFERF_TIMELENGTH
Definition: dmo.h:30
fifo_buffer_t * _x_dummy_fifo_buffer_new(int num_buffers, uint32_t buf_size)
Allocate and initialise new dummy FIFO buffers.
Definition: buffer.c:965
static void fifo_buffer_clear(fifo_buffer_t *fifo)
Definition: buffer.c:587
static void fifo_buffer_all_clear(fifo_buffer_t *fifo)
Definition: buffer.c:648
@ DMO_INPUT_STATUSF_ACCEPT_DATA
Definition: dmo.h:36
@ DMO_INPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER
Definition: dmo.h:42
unsigned char * mem
Definition: buffer.h:340
@ DMO_VOSF_NEEDS_PREVIOUS_SAMPLE
Definition: dmo.h:69
static int fifo_buffer_num_free(fifo_buffer_t *this)
Definition: buffer.c:723
enable disable number of frames of telecine pattern sync required before mode change make frames evenly spaced for film mode(24 fps)" ) PARAM_ITEM( POST_PARAM_TYPE_BOOL
const GUID IID_IMediaObjectInPlace
Definition: dmo_guids.c:10
static void fifo_unregister_get_cb(fifo_buffer_t *this, void(*cb)(fifo_buffer_t *this, buf_element_t *buf, void *data_cb))
Definition: buffer.c:852
void(* free_buffer)(buf_element_t *buf)
Definition: buffer.h:357
HRESULT STDCALL(* QueryOperationModePreferences)(IDMOVideoOutputOptimizations *This, unsigned long ulOutputStreamIndex, unsigned long *pdwRequestedCapabilities)
Definition: dmo_interfaces.h:179
@ DMO_SET_TYPEF_TEST_ONLY
Definition: dmo.h:58
#define Debug
Definition: guids.h:10
static void buffer_pool_free(buf_element_t *element)
Definition: buffer.c:76
void * decoder_info_ptr[5]
Definition: buffer.h:355
buf_element_t * first
Definition: buffer.h:583
@ DMO_OUTPUT_STREAMF_FIXED_SAMPLE_SIZE
Definition: dmo.h:51
unsigned char * content
Definition: buffer.h:341
_DMO_SET_TYPE_FLAGS
Definition: dmo.h:56
buf_element_t * last
Definition: buffer.h:583
void _x_free_buf_elements(buf_element_t *head)
Free chained list of buffer elements.
Definition: buffer.c:974
#define BUF_FLAG_MERGE
Definition: buffer.h:426
AM_MEDIA_TYPE DMO_MEDIA_TYPE
Definition: dmo.h:15
uint32_t decoder_flags
Definition: buffer.h:350
IMediaObject * m_pMedia
Definition: DMO_Filter.h:15
static buf_element_t * fifo_buffer_tget(fifo_buffer_t *fifo, xine_ticket_t *ticket)
Definition: buffer.c:520
static void fifo_register_get_cb(fifo_buffer_t *this, void(*cb)(fifo_buffer_t *this, buf_element_t *buf, void *data_cb), void *data_cb)
Definition: buffer.c:790
long STDCALL(* GETCLASS)(const GUID *, const GUID *, void **)
Definition: dmo.c:10
#define IMPLEMENT_IUNKNOWN(CLASSNAME)
Definition: iunk.h:14
void DMO_Filter_Destroy(DMO_Filter *This)
Definition: dmo.c:12
int32_t max_size
Definition: buffer.h:344
uint32_t type
Definition: buffer.h:362
@ DMO_INPUT_DATA_BUFFERF_TIME
Definition: dmo.h:22
int ticket_revoked
Definition: tickets.h:61
void(* release)(xine_ticket_t *self, int irrevocable)
Definition: tickets.h:69
void _x_extra_info_reset(extra_info_t *extra_info)
Definition: xine.c:118
DMO_Filter * DMO_FilterCreate(const char *dllname, const GUID *id, DMO_MEDIA_TYPE *in_fmt, DMO_MEDIA_TYPE *out_fmt)
Definition: dmo.c:25
AM_MEDIA_TYPE
Definition: guids.h:23
@ DMO_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER
Definition: dmo.h:64
extra_info_t * extra_info
Definition: buffer.h:348
void xine_free_aligned(void *ptr)
Definition: utils.c:882
void(* get_cb[5])(fifo_buffer_t *fifo, buf_element_t *buf, void *data_cb)
Definition: buffer.h:650
IMediaObjectInPlace * m_pInPlace
Definition: DMO_Filter.h:16
_DMO_INPUT_STATUS_FLAGS
Definition: dmo.h:34
static void CMediaBuffer_Destroy(CMediaBuffer *This)
Definition: buffer.c:58
_DMO_INPUT_DATA_BUFFER_FLAGS
Definition: dmo.h:19
_DMO_INPUT_STREAM_INFO_FLAGS
Definition: dmo.h:39