38 #define POST_PLUGIN_IFACE_VERSION 10 79 #define default_post_class_dispose (void (*) (post_class_t *this_gen))free 251 pthread_mutex_t free_frames_lock;
372 #define _x_post_inc_usage(port) \ 374 pthread_mutex_lock(&(port)->usage_lock); \ 375 (port)->usage_count++; \ 376 pthread_mutex_unlock(&(port)->usage_lock); \ 379 #define _x_post_dec_usage(port) \ 381 pthread_mutex_lock(&(port)->usage_lock); \ 382 (port)->usage_count--; \ 383 if ((port)->usage_count == 0) { \ 384 if ((port)->post->dispose_pending) { \ 385 pthread_mutex_unlock(&(port)->usage_lock); \ 386 (port)->post->dispose((port)->post); \ 388 pthread_mutex_unlock(&(port)->usage_lock); \ 390 pthread_mutex_unlock(&(port)->usage_lock); \ 396 #define START_PARAM_DESCR( param_t ) \ 397 typedef param_t temp_t; \ 398 static param_t temp_s; \ 399 static xine_post_api_parameter_t temp_p[] = { 405 #define PARAM_ITEM( param_type, var, enumv, min, max, readonly, descr ) \ 406 { param_type, #var, sizeof(temp_s.var), \ 407 offsetof(temp_t, var), enumv, min, max, readonly, descr }, 409 #define END_PARAM_DESCR( name ) \ 410 { POST_PARAM_TYPE_LAST, NULL, 0, 0, NULL, 0, 0, 1, NULL } \ 412 static xine_post_api_descr_t name = { \ pthread_mutex_t * manager_lock
Definition: post.h:226
post_plugin_t * post
Definition: post.h:145
void * user_data
Definition: post.h:148
vo_frame_t * _x_post_restore_video_frame(vo_frame_t *frame, post_video_port_t *port)
Definition: post.c:598
post_plugin_t * post
Definition: post.h:157
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:922
xine_post_t xine_post
Definition: post.h:84
int(* intercept_ovl)(post_video_port_t *self)
Definition: post.h:206
Definition: xine_internal.h:125
void * user_data
Definition: post.h:233
int dispose_pending
Definition: post.h:133
NULL
Definition: xine_plugin.c:91
pthread_mutex_t * frame_lock
Definition: post.h:225
pthread_mutex_t usage_lock
Definition: post.h:316
plugin_node_t * node
Pointer to the loaded plugin node.
Definition: post.h:127
void _x_post_frame_copy_down(vo_frame_t *from, vo_frame_t *to)
Definition: post.c:602
void(* renew)(xine_ticket_t *self, int irrevocable)
Definition: xine_internal.h:147
uint32_t rate
Definition: post.h:323
xine_post_in_t xine_in
Definition: post.h:142
const char ** output_ids
Definition: post.h:118
int _x_post_dispose(post_plugin_t *post)
Definition: post.c:973
pthread_mutex_t * port_lock
Definition: post.h:327
Definition: plugin_catalog.h:44
void _x_post_frame_u_turn(vo_frame_t *frame, xine_stream_t *stream)
Definition: post.c:653
xine_video_port_t * port
Definition: video_out.h:151
static post_video_port_t * _x_post_ovl_manager_to_port(video_overlay_manager_t *manager)
Definition: post.h:292
static post_video_port_t * _x_post_video_frame_to_port(vo_frame_t *frame)
Definition: post.h:288
vo_frame_t * _x_post_intercept_video_frame(vo_frame_t *frame, post_video_port_t *port)
Definition: post.c:594
xine_t * xine
Definition: post.h:114
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:452
void(* release)(xine_ticket_t *self, int irrevocable)
Definition: xine_internal.h:141
void * user_data
Definition: post.h:334
void _x_post_init(post_plugin_t *post, int num_audio_inputs, int num_video_inputs)
Definition: post.c:239
video_overlay_manager_t * original_manager
Definition: post.h:212
int usage_count
Definition: post.h:319
Definition: xine_internal.h:210
Definition: video_out.h:522
const char * text_domain
Optional non-standard catalog to use with dgettext() for description.
Definition: post.h:70
Definition: video_out.h:177
void(* dispose)(post_class_t *this_gen)
Definition: post.h:76
video_overlay_manager_t * new_manager
Definition: post.h:209
const char * identifier
short human readable identifier for this plugin class
Definition: post.h:58
xine_audio_port_t new_port
Definition: post.h:307
const char ** input_ids
Definition: post.h:117
static void _x_post_rewire(post_plugin_t *post)
Definition: post.h:346
Definition: video_out.h:60
static int input(void)
Definition: goomsl_lex.c:1495
xine_video_port_t new_port
Definition: post.h:181
xine_audio_port_t * original_port
Definition: post.h:310
int(* intercept_frame)(post_video_port_t *self, vo_frame_t *frame)
Definition: post.h:190
xine_post_out_t xine_out
Definition: post.h:154
void * user_data
Definition: post.h:160
void _x_post_intercept_overlay_manager(video_overlay_manager_t *manager, post_video_port_t *port)
Definition: post.c:746
#define XINE_PROTECTED
Definition: attributes.h:73
pthread_mutex_t * port_lock
Definition: post.h:224
void(* acquire)(xine_ticket_t *self, int irrevocable)
Definition: xine_internal.h:138
const char * description
human readable (verbose = 1 line) description for this plugin class
Definition: post.h:65
int ticket_revoked
Definition: xine_internal.h:133
xine_stream_t * stream
Definition: post.h:221
vo_frame_t * new_frame
Definition: post.h:193
post_plugin_t * post
Definition: post.h:331
Definition: xine_internal.h:81
void _x_post_frame_copy_up(vo_frame_t *to, vo_frame_t *from)
Definition: post.c:633
xine_list_t * input
Definition: post.h:90
uint32_t bits
Definition: post.h:322
void(* dispose)(post_plugin_t *this_gen)
Definition: post.h:96
int(* route_preprocessing_procs)(post_video_port_t *self, vo_frame_t *frame)
Definition: post.h:200
xine_stream_t * stream
Definition: post.h:314
static void _x_post_unlock(post_plugin_t *post)
Definition: post.h:356
xine_ticket_t * running_ticket
Definition: post.h:110
xine_video_port_t * original_port
Definition: post.h:184
int usage_count
Definition: post.h:216
pthread_mutex_t usage_lock
Definition: post.h:217
static void _x_post_lock(post_plugin_t *post)
Definition: post.h:353
post_plugin_t * post
Definition: post.h:230
uint32_t mode
Definition: post.h:324
Definition: audio_out.h:178
xine_list_t * output
Definition: post.h:91