xine-lib: xine-lib-1.2.13/src/video_out/video_out_macosx.m File Reference

xine-lib 1.2.13-20230125hg15249

Data Structures | Macros | Functions | Variables
video_out_macosx.m File Reference
`#include <stdio.h>`
`#include <stdlib.h>`
`#include <unistd.h>`
`#include <string.h>`
`#include "xine.h"`
`#include "xine/video_out.h"`
`#include "xine/vo_scale.h"`
`#include "xine/xine_internal.h"`
`#include "xine/xineutils.h"`
`#include "macosx/video_window.h"`

## Data Structures
struct | macosx_frame_t
struct | macosx_driver_t
struct | macosx_class_t

## Macros
#define | LOG_MODULE "video_out_macosx"
#define | LOG_VERBOSE

## Functions
static void | free_framedata (macosx_frame_t *frame)
static void | macosx_frame_dispose (vo_frame_t *vo_frame)
static void | macosx_frame_field (vo_frame_t *vo_frame, int which_field)
static uint32_t | macosx_get_capabilities (vo_driver_t *vo_driver)
static vo_frame_t * | macosx_alloc_frame (vo_driver_t *vo_driver)
static void | macosx_update_frame_format (vo_driver_t *vo_driver, vo_frame_t *vo_frame, uint32_t width, uint32_t height, double ratio, int format, int flags)
static void | macosx_display_frame (vo_driver_t *vo_driver, vo_frame_t *vo_frame)
static void | macosx_overlay_blend (vo_driver_t *this_gen, vo_frame_t *frame_gen, vo_overlay_t *overlay)
static int | macosx_get_property (vo_driver_t *vo_driver, int property)
static int | macosx_set_property (vo_driver_t *vo_driver, int property, int value)
static void | macosx_get_property_min_max (vo_driver_t *vo_driver, int property, int *min, int *max)
static int | macosx_gui_data_exchange (vo_driver_t *vo_driver, int data_type, void *data)
static void | macosx_dispose (vo_driver_t *vo_driver)
static int | macosx_redraw_needed (vo_driver_t *vo_driver)
static vo_driver_t * | open_plugin (video_driver_class_t *driver_class, const void *visual)
static void * | init_class (xine_t *xine, void *visual)

## Variables
static const vo_info_t | vo_info_macosx
plugin_info_t xine_plugin_info[] | EXPORTED

## Macro Definition Documentation

## ◆ LOG_MODULE

#define LOG_MODULE "video_out_macosx"

## ◆ LOG_VERBOSE

#define LOG_VERBOSE

## Function Documentation

## ◆ free_framedata()

static void free_framedata | ( | macosx_frame_t * | frame | ) |
| static

References vo_frame_s::base, NULL, and macosx_frame_t::vo_frame.

Referenced by macosx_frame_dispose(), and macosx_update_frame_format().

## ◆ init_class()

static void * init_class | ( | xine_t * | xine,
|  | void * | visual )
| static

References macosx_class_t::config, xine_s::config, default_video_driver_class_dispose, video_driver_class_s::description, video_driver_class_s::dispose, macosx_class_t::driver_class, video_driver_class_s::identifier, N_, open_plugin(), video_driver_class_s::open_plugin, and macosx_class_t::xine.

## ◆ macosx_alloc_frame()

static vo_frame_t * macosx_alloc_frame | ( | vo_driver_t * | vo_driver | ) |
| static

References vo_frame_s::base, vo_frame_s::dispose, vo_frame_s::driver, vo_frame_s::field, macosx_frame_dispose(), macosx_frame_field(), vo_frame_s::mutex, NULL, vo_frame_s::proc_frame, vo_frame_s::proc_slice, and macosx_frame_t::vo_frame.

Referenced by open_plugin().

## ◆ macosx_display_frame()

static void macosx_display_frame | ( | vo_driver_t * | vo_driver,
|  | vo_frame_t * | vo_frame )
| static

References vo_frame_s::base, vo_frame_s::format, vo_frame_s::free, vo_frame_s::height, NULL, vo_frame_s::pitches, macosx_driver_t::view, macosx_frame_t::vo_frame, vo_frame_s::width, xine_fast_memcpy, XINE_IMGFMT_YUY2, XINE_IMGFMT_YV12, and yv12_to_yuy2.

Referenced by open_plugin().

## ◆ macosx_dispose()

static void macosx_dispose | ( | vo_driver_t * | vo_driver | ) |
| static

References _x_alphablend_free().

Referenced by open_plugin().

## ◆ macosx_frame_dispose()

static void macosx_frame_dispose | ( | vo_frame_t * | vo_frame | ) |
| static

References free_framedata().

Referenced by macosx_alloc_frame().

## ◆ macosx_frame_field()

static void macosx_frame_field | ( | vo_frame_t * | vo_frame,
|  | int | which_field )
| static

Referenced by macosx_alloc_frame().

## ◆ macosx_get_capabilities()

static uint32_t macosx_get_capabilities | ( | vo_driver_t * | vo_driver | ) |
| static

References VO_CAP_UNSCALED_OVERLAY, VO_CAP_YUY2, and VO_CAP_YV12.

Referenced by open_plugin().

## ◆ macosx_get_property()

static int macosx_get_property | ( | vo_driver_t * | vo_driver,
|  | int | property )
| static

References macosx_driver_t::ratio, and VO_PROP_ASPECT_RATIO.

Referenced by open_plugin().

## ◆ macosx_get_property_min_max()

static void macosx_get_property_min_max | ( | vo_driver_t * | vo_driver,
|  | int | property,
|  | int * | min,
|  | int * | max )
| static

Referenced by open_plugin().

## ◆ macosx_gui_data_exchange()

static int macosx_gui_data_exchange | ( | vo_driver_t * | vo_driver,
|  | int | data_type,
|  | void * | data )
| static

References lprintf, XINE_GUI_SEND_COMPLETION_EVENT, XINE_GUI_SEND_DRAWABLE_CHANGED, XINE_GUI_SEND_EXPOSE_EVENT, XINE_GUI_SEND_SELECT_VISUAL, XINE_GUI_SEND_TRANSLATE_GUI_TO_VIDEO, and XINE_GUI_SEND_VIDEOWIN_VISIBLE.

Referenced by open_plugin().

## ◆ macosx_overlay_blend()

static void macosx_overlay_blend | ( | vo_driver_t * | this_gen,
|  | vo_frame_t * | frame_gen,
|  | vo_overlay_t * | overlay )
| static

References _x_blend_yuv(), _x_blend_yuy2(), vo_frame_s::base, macosx_frame_t::format, macosx_frame_t::height, vo_frame_s::overlay_offset_x, vo_frame_s::overlay_offset_y, vo_frame_s::pitches, vo_overlay_s::rle, macosx_frame_t::vo_frame, macosx_frame_t::width, and XINE_IMGFMT_YV12.

Referenced by open_plugin().

## ◆ macosx_redraw_needed()

static int macosx_redraw_needed | ( | vo_driver_t * | vo_driver | ) |
| static

Referenced by open_plugin().

## ◆ macosx_set_property()

static int macosx_set_property | ( | vo_driver_t * | vo_driver,
|  | int | property,
|  | int | value )
| static

References macosx_driver_t::ratio, VO_PROP_ASPECT_RATIO, XINE_VO_ASPECT_AUTO, and XINE_VO_ASPECT_NUM_RATIOS.

Referenced by open_plugin().

## ◆ macosx_update_frame_format()

static void macosx_update_frame_format | ( | vo_driver_t * | vo_driver,
|  | vo_frame_t * | vo_frame,
|  | uint32_t | width,
|  | uint32_t | height,
|  | double | ratio,
|  | int | format,
|  | int | flags )
| static

References vo_frame_s::base, macosx_frame_t::format, free_framedata(), height, macosx_frame_t::height, lprintf, NULL, vo_frame_s::pitches, macosx_frame_t::ratio, macosx_frame_t::vo_frame, macosx_frame_t::width, width, XINE_IMGFMT_YUY2, XINE_IMGFMT_YV12, XINE_VERBOSITY_DEBUG, and xprintf.

Referenced by open_plugin().

## ◆ open_plugin()

static vo_driver_t * open_plugin | ( | video_driver_class_t * | driver_class,
|  | const void * | visual )
| static

References _x_alphablend_init(), vo_frame_s::dispose, macosx_class_t::driver_class, macosx_alloc_frame(), macosx_display_frame(), macosx_dispose(), macosx_get_capabilities(), macosx_get_property(), macosx_get_property_min_max(), macosx_gui_data_exchange(), macosx_overlay_blend(), macosx_redraw_needed(), macosx_set_property(), macosx_update_frame_format(), NULL, and XINE_VO_ASPECT_AUTO.

Referenced by init_class().

## Variable Documentation

## ◆ EXPORTED

plugin_info_t xine_plugin_info [] EXPORTED

Initial value:
= {
{ PLUGIN_VIDEO_OUT | PLUGIN_NO_UNLOAD, 22, "macosx", XINE_VERSION_CODE, &vo_info_macosx, init_class },
{ PLUGIN_NONE, 0, NULL, 0, NULL, NULL }
}
init_class
static void * init_class(xine_t *xine, void *visual)
Definition video_out_macosx.m:353
vo_info_macosx
static const vo_info_t vo_info_macosx
Definition video_out_macosx.m:369
XINE_VERSION_CODE
#define XINE_VERSION_CODE
Definition xine_internal.h:57
NULL
NULL
Definition xine_plugin.c:78
PLUGIN_NO_UNLOAD
#define PLUGIN_NO_UNLOAD
Definition xine_plugin.h:51
PLUGIN_NONE
#define PLUGIN_NONE
Definition xine_plugin.h:29
PLUGIN_VIDEO_OUT
#define PLUGIN_VIDEO_OUT
Definition xine_plugin.h:36

## ◆ vo_info_macosx

const vo_info_t vo_info_macosx
| static

Initial value:
= {
1,
XINE_VISUAL_TYPE_MACOSX
}
XINE_VISUAL_TYPE_MACOSX
#define XINE_VISUAL_TYPE_MACOSX
Definition xine.h:163