xine-lib: xine-lib-1.2.13/src/post/visualizations/fooviz.c File Reference

xine-lib 1.2.13-20230125hg15249

Data Structures | Macros | Typedefs | Functions | Variables
fooviz.c File Reference
`#include <stdio.h>`
`#include <xine/xine_internal.h>`
`#include <xine/xineutils.h>`
`#include <xine/post.h>`

## Data Structures
struct | post_class_fooviz_s
struct | post_plugin_fooviz_s

## Macros
#define | FPS 20
#define | FOO_WIDTH 320
#define | FOO_HEIGHT 240
#define | NUMSAMPLES 512

## Typedefs
typedef struct post_plugin_fooviz_s | post_plugin_fooviz_t
typedef struct post_class_fooviz_s | post_class_fooviz_t

## Functions
static int | fooviz_rewire_video (xine_post_out_t *output_gen, void *data)
static int | fooviz_port_open (xine_audio_port_t *port_gen, xine_stream_t *stream, uint32_t bits, uint32_t rate, int mode)
static void | fooviz_port_close (xine_audio_port_t *port_gen, xine_stream_t *stream)
static void | fooviz_port_put_buffer (xine_audio_port_t *port_gen, audio_buffer_t *buf, xine_stream_t *stream)
static void | fooviz_dispose (post_plugin_t *this_gen)
static post_plugin_t * | fooviz_open_plugin (post_class_t *class_gen, int inputs, xine_audio_port_t **audio_target, xine_video_port_t **video_target)
static void * | fooviz_init_plugin (xine_t *xine, const void *data)

## Variables
static const post_info_t | fooviz_special_info
const plugin_info_t xine_plugin_info[] | EXPORTED

## Macro Definition Documentation

## ◆ FOO_HEIGHT

#define FOO_HEIGHT 240

Referenced by fooviz_port_open(), and fooviz_port_put_buffer().

## ◆ FOO_WIDTH

#define FOO_WIDTH 320

Referenced by fooviz_port_open(), and fooviz_port_put_buffer().

## ◆ FPS

#define FPS 20

Referenced by fooviz_port_open().

## ◆ NUMSAMPLES

#define NUMSAMPLES 512

Referenced by fooviz_port_put_buffer().

## Typedef Documentation

## ◆ post_class_fooviz_t

typedef struct post_class_fooviz_s post_class_fooviz_t

## ◆ post_plugin_fooviz_t

typedef struct post_plugin_fooviz_s post_plugin_fooviz_t

## Function Documentation

## ◆ fooviz_dispose()

static void fooviz_dispose | ( | post_plugin_t * | this_gen | ) |
| static

References _x_post_dispose().

Referenced by fooviz_open_plugin().

## ◆ fooviz_init_plugin()

static void * fooviz_init_plugin | ( | xine_t * | xine,
|  | const void * | data )
| static

References default_post_class_dispose, fooviz_open_plugin(), N_, NULL, post_class_s::open_plugin, post_class_fooviz_s::post_class, and xine_xmalloc().

## ◆ fooviz_open_plugin()

static post_plugin_t * fooviz_open_plugin | ( | post_class_t * | class_gen,
|  | int | inputs,
|  | xine_audio_port_t ** | audio_target,
|  | xine_video_port_t ** | video_target )
| static

References _x_metronom_init(), _x_post_init(), _x_post_intercept_audio_port(), xine_audio_port_s::close, xine_post_out_s::data, fooviz_dispose(), fooviz_port_close(), fooviz_port_open(), fooviz_port_put_buffer(), fooviz_rewire_video(), input(), xine_post_out_s::name, post_audio_port_s::new_port, NULL, xine_audio_port_s::open, post_out_s::post, xine_audio_port_s::put_buffer, xine_post_out_s::rewire, xine_post_out_s::type, xine_list_push_back(), post_out_s::xine_out, and XINE_POST_DATA_VIDEO.

Referenced by fooviz_init_plugin().

## ◆ fooviz_port_close()

static void fooviz_port_close | ( | xine_audio_port_t * | port_gen,
|  | xine_stream_t * | stream )
| static

References _x_post_dec_usage, xine_audio_port_s::close, NULL, post_audio_port_s::original_port, post_audio_port_s::post, post_audio_port_s::stream, and XINE_ANON_STREAM.

Referenced by fooviz_open_plugin().

## ◆ fooviz_port_open()

static int fooviz_port_open | ( | xine_audio_port_t * | port_gen,
|  | xine_stream_t * | stream,
|  | uint32_t | bits,
|  | uint32_t | rate,
|  | int | mode )
| static

References _x_ao_mode2channels(), _x_post_inc_usage, _x_post_rewire(), bits, post_audio_port_s::bits, FOO_HEIGHT, FOO_WIDTH, FPS, xine_stream_s::metronom, mode(), post_audio_port_s::mode, xine_audio_port_s::open, post_audio_port_s::original_port, post_audio_port_s::post, post_audio_port_s::rate, post_audio_port_s::stream, and XINE_ANON_STREAM.

Referenced by fooviz_open_plugin().

## ◆ fooviz_port_put_buffer()

static void fooviz_port_put_buffer | ( | xine_audio_port_t * | port_gen,
|  | audio_buffer_t * | buf,
|  | xine_stream_t * | stream )
| static

References vo_frame_s::bad_frame, vo_frame_s::base, post_audio_port_s::bits, vo_frame_s::draw, vo_frame_s::duration, vo_frame_s::extra_info, FOO_HEIGHT, FOO_WIDTH, vo_frame_s::free, extra_info_s::invalid, audio_buffer_s::mem, audio_buffer_s::mem_size, audio_buffer_s::num_frames, NUMSAMPLES, post_audio_port_s::original_port, post_audio_port_s::post, vo_frame_s::pts, xine_audio_port_s::put_buffer, post_audio_port_s::rate, VO_BOTH_FIELDS, audio_buffer_s::vpts, XINE_ANON_STREAM, and XINE_IMGFMT_YUY2.

Referenced by fooviz_open_plugin().

## ◆ fooviz_rewire_video()

static int fooviz_rewire_video | ( | xine_post_out_t * | output_gen,
|  | void * | data )
| static

References xine_video_port_s::close, xine_post_out_s::data, xine_video_port_s::open, post_out_s::post, and XINE_ANON_STREAM.

Referenced by fooviz_open_plugin().

## Variable Documentation

## ◆ EXPORTED

const plugin_info_t xine_plugin_info [] EXPORTED

Initial value:
= {
{ PLUGIN_POST, 10, "fooviz", XINE_VERSION_CODE, &fooviz_special_info, &fooviz_init_plugin },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
}
fooviz_special_info
static const post_info_t fooviz_special_info
Definition fooviz.c:310
fooviz_init_plugin
static void * fooviz_init_plugin(xine_t *xine, const void *data)
Definition fooviz.c:292
XINE_VERSION_CODE
#define XINE_VERSION_CODE
Definition xine_internal.h:57
NULL
NULL
Definition xine_plugin.c:78
PLUGIN_NONE
#define PLUGIN_NONE
Definition xine_plugin.h:29
PLUGIN_POST
#define PLUGIN_POST
Definition xine_plugin.h:37

## ◆ fooviz_special_info

const post_info_t fooviz_special_info
| static

Initial value:
= {
.type = XINE_POST_TYPE_AUDIO_VISUALIZATION,
}
XINE_POST_TYPE_AUDIO_VISUALIZATION
#define XINE_POST_TYPE_AUDIO_VISUALIZATION
Definition xine.h:825