xine-lib: xine-lib-1.2.13/src/post/audio/upmix_mono.c File Reference

xine-lib 1.2.13-20230125hg15249

Data Structures | Macros | Typedefs | Functions
upmix_mono.c File Reference
`#include <stdio.h>`
`#include <pthread.h>`
`#include <xine/xineutils.h>`
`#include <xine/post.h>`
`#include "audio_filters.h"`

## Data Structures
struct | upmix_mono_parameters_s
struct | post_plugin_upmix_mono_s

## Macros
#define | LOG_MODULE "upmix_mono"
#define | LOG_VERBOSE

## Typedefs
typedef struct upmix_mono_parameters_s | upmix_mono_parameters_t

## Functions
| PARAM_ITEM (POST_PARAM_TYPE_INT, channel, NULL, -1, 5, 0, "Select channel to upmix (duplicate) to stereo") typedef struct post_plugin_upmix_mono_s post_plugin_upmix_mono_t
static int | set_parameters (xine_post_t *this_gen, const void *param_gen)
static int | get_parameters (xine_post_t *this_gen, void *param_gen)
static xine_post_api_descr_t * | get_param_descr (void)
static char * | get_help (void)
static int | upmix_mono_port_open (xine_audio_port_t *port_gen, xine_stream_t *stream, uint32_t bits, uint32_t rate, int mode)
static void | upmix_mono_port_put_buffer (xine_audio_port_t *port_gen, audio_buffer_t *buf, xine_stream_t *stream)
static void | upmix_mono_dispose (post_plugin_t *this_gen)
static post_plugin_t * | upmix_mono_open_plugin (post_class_t *class_gen, int inputs, xine_audio_port_t **audio_target, xine_video_port_t **video_target)
void * | upmix_mono_init_plugin (xine_t *xine, const void *data)

## Macro Definition Documentation

## ◆ LOG_MODULE

#define LOG_MODULE "upmix_mono"

Referenced by upmix_mono_port_open().

## ◆ LOG_VERBOSE

#define LOG_VERBOSE

## Typedef Documentation

## ◆ upmix_mono_parameters_t

typedef struct upmix_mono_parameters_s upmix_mono_parameters_t

## Function Documentation

## ◆ get_help()

static char * get_help | ( | void |  | ) |
| static

References _.

Referenced by upmix_mono_open_plugin().

## ◆ get_param_descr()

static xine_post_api_descr_t * get_param_descr | ( | void |  | ) |
| static

Referenced by upmix_mono_open_plugin().

## ◆ get_parameters()

static int get_parameters | ( | xine_post_t * | this_gen,
|  | void * | param_gen )
| static

Referenced by upmix_mono_open_plugin().

## ◆ PARAM_ITEM()

PARAM_ITEM | ( | POST_PARAM_TYPE_INT | ,
|  | channel | ,
|  | NULL | ,
|  | - | 1,
|  | 5 | ,
|  | 0 | ,
|  | "Select channel to upmix (duplicate) to stereo" | )

## ◆ set_parameters()

static int set_parameters | ( | xine_post_t * | this_gen,
|  | const void * | param_gen )
| static

Referenced by upmix_mono_open_plugin().

## ◆ upmix_mono_dispose()

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

References _x_post_dispose().

Referenced by upmix_mono_open_plugin().

## ◆ upmix_mono_init_plugin()

void * upmix_mono_init_plugin | ( | xine_t * | xine,
|  | const void * | data )

References post_plugin_s::dispose, N_, NULL, post_class_s::open_plugin, and upmix_mono_open_plugin().

## ◆ upmix_mono_open_plugin()

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

References _x_post_init(), _x_post_intercept_audio_port(), upmix_mono_parameters_s::channel, get_help(), get_param_descr(), get_parameters(), input(), xine_post_in_s::name, post_audio_port_s::new_port, NULL, xine_audio_port_s::open, xine_audio_port_s::put_buffer, set_parameters(), xine_post_api_t::set_parameters, upmix_mono_dispose(), upmix_mono_port_open(), upmix_mono_port_put_buffer(), xine_list_push_back(), and XINE_POST_DATA_PARAMETERS.

Referenced by upmix_mono_init_plugin().

## ◆ upmix_mono_port_open()

static int upmix_mono_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(), AO_CAP_MODE_STEREO, bits, post_audio_port_s::bits, xine_audio_port_s::get_capabilities, LOG_MODULE, mode(), post_audio_port_s::mode, ngettext, 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, xine_stream_s::xine, XINE_VERBOSITY_LOG, and xprintf.

Referenced by upmix_mono_open_plugin().

## ◆ upmix_mono_port_put_buffer()

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

References _x_extra_info_merge(), AO_CAP_MODE_STEREO, ao_format_s::bits, audio_buffer_s::extra_info, audio_buffer_s::first_access_unit, audio_buffer_s::format, audio_buffer_s::frame_header_count, xine_audio_port_s::get_buffer, audio_buffer_s::mem, ao_format_s::mode, audio_buffer_s::num_frames, post_audio_port_s::original_port, post_audio_port_s::post, xine_audio_port_s::put_buffer, ao_format_s::rate, and audio_buffer_s::vpts.

Referenced by upmix_mono_open_plugin().