Go to the documentation of this file.
37 #define POST_PLUGIN_IFACE_VERSION 10
78 #define default_post_class_dispose (void (*) (post_class_t *this_gen))free
246 pthread_mutex_t free_frames_lock;
399 #define _x_post_inc_usage(port) \
401 pthread_mutex_lock(&(port)->usage_lock); \
402 (port)->usage_count++; \
403 pthread_mutex_unlock(&(port)->usage_lock); \
406 #define _x_post_dec_usage(port) \
408 pthread_mutex_lock(&(port)->usage_lock); \
409 (port)->usage_count--; \
410 if ((port)->usage_count == 0) { \
411 if ((port)->post->dispose_pending) { \
412 pthread_mutex_unlock(&(port)->usage_lock); \
413 (port)->post->dispose((port)->post); \
415 pthread_mutex_unlock(&(port)->usage_lock); \
417 pthread_mutex_unlock(&(port)->usage_lock); \
431 #define START_PARAM_DESCR( param_t ) \
432 typedef param_t temp_t; \
433 static xine_post_api_parameter_t temp_p[] = {
439 #define PARAM_ITEM( param_type, var, enumv, min, max, readonly, descr ) \
440 { param_type, #var, sizeof(((temp_t*)0)->var), \
441 offsetof(temp_t, var), enumv, min, max, readonly, descr },
443 #define END_PARAM_DESCR( name ) \
444 { POST_PARAM_TYPE_LAST, NULL, 0, 0, NULL, 0, 0, 1, NULL } \
446 static xine_post_api_descr_t name = { \
Definition: xine_internal.h:80
int _x_post_audio_port_unref(xine_audio_port_t *port_gen)
Definition: post.c:287
int(* intercept_frame)(post_video_port_t *self, vo_frame_t *frame)
Definition: post.h:185
int _x_post_dispose(post_plugin_t *post)
Definition: post.c:1044
xine_stream_t * stream
Definition: post.h:216
void _x_post_frame_u_turn(vo_frame_t *frame, xine_stream_t *stream)
Definition: post.c:719
Definition: xine_internal.h:123
xine_t * xine
Definition: post.h:113
void(* acquire)(xine_ticket_t *self, int irrevocable)
Definition: tickets.h:66
xine_post_t xine_post
Definition: post.h:83
xine_post_in_t xine_in
Definition: post.h:137
xine_video_port_t new_port
Definition: post.h:176
void(* dispose)(post_plugin_t *this_gen)
Definition: post.h:95
xine_audio_port_t new_port
Definition: post.h:302
int dispose_pending
Definition: post.h:128
const char * text_domain
Optional non-standard catalog to use with dgettext() for description.
Definition: post.h:69
xine_video_port_t * original_port
Definition: post.h:179
const char * description
human readable (verbose = 1 line) description for this plugin class
Definition: post.h:64
xine_list_t * output
Definition: post.h:90
video_overlay_manager_t * original_manager
Definition: post.h:207
Definition: video_out.h:176
pthread_mutex_t * manager_lock
Definition: post.h:221
pthread_mutex_t * frame_lock
Definition: post.h:220
static void _x_post_unlock(post_plugin_t *post)
Definition: post.h:383
xine_stream_t * stream
Definition: post.h:309
vo_frame_t * new_frame
Definition: post.h:188
xine_audio_port_t * original_port
Definition: post.h:305
pthread_mutex_t * port_lock
Definition: post.h:322
void _x_post_frame_copy_up(vo_frame_t *to, vo_frame_t *from)
Definition: post.c:695
NULL
Definition: xine_plugin.c:78
int(* intercept_ovl)(post_video_port_t *self)
Definition: post.h:201
int _x_post_video_port_ref(xine_video_port_t *port_gen)
Definition: post.c:211
void _x_post_frame_copy_down(vo_frame_t *from, vo_frame_t *to)
Definition: post.c:660
void(* dispose)(post_class_t *this_gen)
Definition: post.h:75
pthread_mutex_t * port_lock
Definition: post.h:219
static post_video_port_t * _x_post_video_frame_to_port(vo_frame_t *frame)
Definition: post.h:283
const char * identifier
short human readable identifier for this plugin class
Definition: post.h:57
xine_ticket_t * running_ticket
Definition: post.h:109
pthread_mutex_t usage_lock
Definition: post.h:212
uint32_t rate
Definition: post.h:318
void * user_data
Definition: post.h:143
int(* route_preprocessing_procs)(post_video_port_t *self, vo_frame_t *frame)
Definition: post.h:195
const char ** output_ids
Definition: post.h:117
struct plugin_node_s *node XINE_PRIVATE_FIELD
Pointer to the loaded plugin node.
Definition: post.h:125
static post_video_port_t * _x_post_ovl_manager_to_port(video_overlay_manager_t *manager)
Definition: post.h:287
static void _x_post_lock(post_plugin_t *post)
Definition: post.h:380
post_plugin_t * post
Definition: post.h:225
xine_post_out_t xine_out
Definition: post.h:149
const char ** input_ids
Definition: post.h:116
int _x_post_audio_port_ref(xine_audio_port_t *port_gen)
Definition: post.c:262
post_plugin_t * post
Definition: post.h:140
Definition: video_out.h:518
xine_video_port_t * port
Definition: video_out.h:150
uint32_t mode
Definition: post.h:319
Definition: audio_out.h:172
post_video_port_t * _x_post_intercept_video_port(post_plugin_t *post, xine_video_port_t *port, post_in_t **input, post_out_t **output)
Definition: post.c:509
vo_frame_t * _x_post_restore_video_frame(vo_frame_t *frame, post_video_port_t *port)
Definition: post.c:656
void _x_post_init(post_plugin_t *post, int num_audio_inputs, int num_video_inputs)
Definition: post.c:292
xine_list_t * input
Definition: post.h:89
vo_frame_t * _x_post_intercept_video_frame(vo_frame_t *frame, post_video_port_t *port)
Definition: post.c:651
void(* renew)(xine_ticket_t *self, int irrevocable)
Definition: tickets.h:75
int _x_post_video_port_unref(xine_video_port_t *port_gen)
Definition: post.c:236
post_audio_port_t * _x_post_intercept_audio_port(post_plugin_t *post, xine_audio_port_t *port, post_in_t **input, post_out_t **output)
Definition: post.c:993
#define XINE_PROTECTED
Definition: attributes.h:73
Definition: plugin_catalog.h:44
Definition: video_out.h:59
int ticket_revoked
Definition: tickets.h:61
post_plugin_t * post
Definition: post.h:326
void * user_data
Definition: post.h:329
void(* release)(xine_ticket_t *self, int irrevocable)
Definition: tickets.h:69
int usage_count
Definition: post.h:314
uint32_t bits
Definition: post.h:317
static int input(void)
Definition: goomsl_lex.c:1495
pthread_mutex_t usage_lock
Definition: post.h:311
void _x_post_intercept_overlay_manager(video_overlay_manager_t *manager, post_video_port_t *port)
Definition: post.c:817
void * user_data
Definition: post.h:155
void * user_data
Definition: post.h:228
post_plugin_t * post
Definition: post.h:152
video_overlay_manager_t * new_manager
Definition: post.h:204
int usage_count
Definition: post.h:211
static void _x_post_rewire(post_plugin_t *post)
Definition: post.h:373