view stream/audio_in.h @ 30316:93e7fdf664a7
Make the pal2rgbWrapper set and use the converter in pal2rgbWrapper
only if the input format is paletted.
Fix potential crashes/weirdness if the input format is non-paletted.
author
stefano
date
Sun, 17 Jan 2010 23:00:01 +0000 (2010-01-17)
parents
0f1b5b68af32
children
ce0122361a39
line source
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #ifndef MPLAYER_AUDIO_IN_H
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #define MPLAYER_AUDIO_IN_H
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #define AUDIO_IN_ALSA 1
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #define AUDIO_IN_OSS 2
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #include "config.h"
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #ifdef CONFIG_ALSA
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #include <alsa/asoundlib.h>
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 typedef struct {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 char *device;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 snd_pcm_t *handle;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 snd_output_t *log;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int buffer_time, period_time, chunk_size;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 size_t bits_per_sample, bits_per_frame;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 } ai_alsa_t;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #endif
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #ifdef CONFIG_OSS_AUDIO
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 typedef struct {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 char *device;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int audio_fd;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 } ai_oss_t;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #endif
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 typedef struct
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 {
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int type;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int setup;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 /* requested values */
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int req_channels;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int req_samplerate;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 /* real values read-only */
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int channels;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int samplerate;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int blocksize;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int bytes_per_sample;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int samplesize;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #ifdef CONFIG_ALSA
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 ai_alsa_t alsa;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #endif
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #ifdef CONFIG_OSS_AUDIO
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 ai_oss_t oss;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #endif
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 } audio_in_t;
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int audio_in_init(audio_in_t *ai, int type);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int audio_in_setup(audio_in_t *ai);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int audio_in_set_device(audio_in_t *ai, char *device);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int audio_in_set_samplerate(audio_in_t *ai, int rate);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int audio_in_set_channels(audio_in_t *ai, int channels);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int audio_in_uninit(audio_in_t *ai);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int audio_in_start_capture(audio_in_t *ai);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int audio_in_read_chunk(audio_in_t *ai, unsigned char *buffer);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #ifdef CONFIG_ALSA
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int ai_alsa_setup(audio_in_t *ai);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int ai_alsa_init(audio_in_t *ai);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int ai_alsa_xrun(audio_in_t *ai);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #endif
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #ifdef CONFIG_OSS_AUDIO
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int ai_oss_set_samplerate(audio_in_t *ai);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int ai_oss_set_channels(audio_in_t *ai);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 int ai_oss_init(audio_in_t *ai);
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #endif
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申
+ 鐃緒申��申鐃初姐�渇����鐃醇�鐃緒申��申鐃緒申 #endif /* MPLAYER_AUDIO_IN_H */