xine-lib: xine-lib-1.2.12/src/xine-engine/audio_decoder.c File Reference

xine-lib 1.2.12

Macros | Functions
audio_decoder.c File Reference
`#include <stdio.h>`
`#include <stdlib.h>`
`#include <string.h>`
`#include <sched.h>`
`#include <unistd.h>`
`#include <pthread.h>`
`#include <sys/time.h>`
`#include <xine/xine_internal.h>`
`#include <xine/xineutils.h>`
`#include "xine_private.h"`

## Macros
#define | LOG_MODULE "audio_decoder"
#define | LOG_VERBOSE
#define | AUDIO_TRACK_MAP_MAX 50
#define | AUDIO_TRACK_MAP_MASK 0x8000ffff
#define | AUDIO_TRACK_MAP_END 0x80000000
#define | BUFTYPE_BASE(type) ((type) >> 24)
#define | BUFTYPE_SUB(type) (((type) & 0x00ff0000) >> 16)

## Functions
static void * | audio_decoder_loop (void *stream_gen)
int | _x_audio_decoder_init (xine_stream_t *s)
void | _x_audio_decoder_shutdown (xine_stream_t *s)
int | _x_get_audio_channel (xine_stream_t *s)

## Macro Definition Documentation

## ◆ AUDIO_TRACK_MAP_END

#define AUDIO_TRACK_MAP_END 0x80000000

## ◆ AUDIO_TRACK_MAP_MASK

#define AUDIO_TRACK_MAP_MASK 0x8000ffff

## ◆ AUDIO_TRACK_MAP_MAX

#define AUDIO_TRACK_MAP_MAX 50

## ◆ BUFTYPE_BASE

#define BUFTYPE_BASE | ( |  | type | ) | ((type) >> 24)

## ◆ BUFTYPE_SUB

#define BUFTYPE_SUB | ( |  | type | ) | (((type) & 0x00ff0000) >> 16)

## ◆ LOG_MODULE

#define LOG_MODULE "audio_decoder"

## ◆ LOG_VERBOSE

#define LOG_VERBOSE

## Function Documentation

## ◆ _x_audio_decoder_init()

int _x_audio_decoder_init | ( | xine_stream_t * | s | ) |

References _, _x_dummy_fifo_buffer_new(), _x_fifo_buffer_new(), xine_stream_s::audio_channel_auto, xine_stream_private_st::audio_channel_user, audio_decoder_loop(), xine_stream_s::audio_fifo, xine_stream_s::audio_out, xine_stream_private_st::audio_thread, xine_stream_private_st::audio_thread_created, xine_stream_private_st::audio_track_map_entries, xine_stream_private_st::audio_type, xine_s::config, fifo_buffer_s::dispose, NULL, config_values_s::register_num, xine_stream_private_st::s, SCHED_OTHER, xine_stream_private_st::side_streams, xine_stream_s::xine, XINE_VERBOSITY_DEBUG, and xprintf.

Referenced by xine_stream_new().

## ◆ _x_audio_decoder_shutdown()

void _x_audio_decoder_shutdown | ( | xine_stream_t * | s | ) |

References xine_stream_s::audio_fifo, xine_stream_private_st::audio_thread, xine_stream_private_st::audio_thread_created, BUF_CONTROL_QUIT, fifo_buffer_s::buffer_pool_alloc, fifo_buffer_s::dispose, NULL, fifo_buffer_s::put, xine_stream_private_st::s, and buf_element_s::type.

Referenced by xine_dispose().

## ◆ _x_get_audio_channel()

int _x_get_audio_channel | ( | xine_stream_t * | s | ) |

References xine_stream_private_st::audio_type.

Referenced by vcd_get_optional_data().

## ◆ audio_decoder_loop()

static void * audio_decoder_loop | ( | void * | stream_gen | ) |
| static

References _, _x_buf_audio_name(), _x_extra_info_merge(), _x_extra_info_reset(), _x_free_audio_decoder(), _x_free_buf_elements(), _x_get_audio_decoder(), _x_meta_info_get(), _x_meta_info_set_utf8(), AO_PROP_BUFS_IN_FIFO, AO_PROP_NUM_STREAMS, xine_stream_s::audio_channel_auto, xine_stream_private_st::audio_channel_user, xine_stream_private_st::audio_decoder_extra_info, xine_stream_private_st::audio_decoder_plugin, xine_stream_private_st::audio_decoder_streamtype, xine_stream_s::audio_fifo, xine_stream_s::audio_out, AUDIO_TRACK_MAP_END, xine_stream_private_st::audio_track_map_entries, AUDIO_TRACK_MAP_MASK, AUDIO_TRACK_MAP_MAX, xine_stream_private_st::audio_type, BUF_AUDIO_BASE, BUF_AUDIO_UNKNOWN, BUF_CONTROL_AUDIO_CHANNEL, BUF_CONTROL_BASE, BUF_CONTROL_DISCONTINUITY, BUF_CONTROL_END, BUF_CONTROL_HEADERS_DONE, BUF_CONTROL_NEWPTS, BUF_CONTROL_NOP, BUF_CONTROL_QUIT, BUF_CONTROL_RESET_DECODER, BUF_CONTROL_RESET_TRACK_MAP, BUF_CONTROL_START, BUF_FLAG_GAPLESS_SW, BUF_FLAG_HEADER, BUF_FLAG_SEEK, BUFTYPE_BASE, BUFTYPE_SUB, xine_stream_private_st::changed, xine_stream_private_st::counter, xine_event_t::data_length, audio_decoder_s::decode_data, buf_element_s::decoder_flags, buf_element_s::decoder_info, DISC_ABSOLUTE, buf_element_s::disc_off, DISC_RELATIVE, DISC_STREAMSEEK, DISC_STREAMSTART, audio_decoder_s::discontinuity, xine_stream_private_st::early_finish_event, buf_element_s::extra_info, xine_stream_private_st::finisheds_audio, xine_stream_private_st::finisheds_video, buf_element_s::free_buffer, xine_audio_port_s::get_property, metronom_s::handle_audio_discontinuity, xine_stream_private_st::headers_audio, xine_stream_private_st::headers_video, xine_stream_private_st::info_lock, xine_stream_private_st::keep_ao_driver_open, xine_stream_private_st::lock, lprintf, xine_stream_s::metronom, buf_element_s::next, NULL, xine_private_t::port_ticket, buf_element_s::pts, audio_decoder_s::reset, xine_stream_private_st::s, extra_info_s::seek_count, buf_element_s::size, xine_stream_private_st::stream_info, fifo_buffer_s::tget, xine_event_t::type, buf_element_s::type, type, xine_stream_private_st::video_seek_count, xine_stream_private_st::video_thread_created, xine_stream_s::xine, xine_event_send(), XINE_EVENT_UI_CHANNELS_CHANGED, xine_gettime(), xine_log(), XINE_LOG_MSG, XINE_META_INFO_AUDIOCODEC, xine_profiler_allocate_slot(), xine_profiler_start_count(), xine_profiler_stop_count(), xine_rwlock_rdlock, xine_rwlock_unlock, xine_rwlock_wrlock, XINE_STREAM_INFO_AUDIO_BITRATE, XINE_STREAM_INFO_AUDIO_HANDLED, XINE_STREAM_INFO_IGNORE_AUDIO, xine_uint_mul_div(), xine_usec_sleep(), XINE_VERBOSITY_DEBUG, and xprintf.

Referenced by _x_audio_decoder_init().