syn keyword cType es_format_t video_palette_t
" Aout
syn keyword cType audio_output_t aout_sys_t
- syn keyword cType aout_fifo_t aout_input_t aout_buffer_t audio_sample_format_t
+ syn keyword cType aout_fifo_t aout_input_t audio_sample_format_t
syn keyword cType aout_mixer_sys_t aout_filter_sys_t audio_volume_t
syn keyword cType aout_mixer_t aout_output_t audio_date_t
syn keyword cType aout_filter_t
/** Audio output buffer FIFO */
struct aout_fifo_t
{
- aout_buffer_t * p_first;
- aout_buffer_t ** pp_last;
- date_t end_date;
+ block_t *p_first;
+ block_t **pp_last;
+ date_t end_date;
};
/* Legacy packet-oriented audio output helpers */
/* */
picture_t * ( * pf_decode_video )( decoder_t *, block_t ** );
- aout_buffer_t * ( * pf_decode_audio )( decoder_t *, block_t ** );
+ block_t * ( * pf_decode_audio )( decoder_t *, block_t ** );
subpicture_t * ( * pf_decode_sub) ( decoder_t *, block_t ** );
block_t * ( * pf_packetize ) ( decoder_t *, block_t ** );
/* Audio output callbacks
* XXX use decoder_NewAudioBuffer/decoder_DeleteAudioBuffer */
- aout_buffer_t *(*pf_aout_buffer_new)( decoder_t *, int );
+ block_t *(*pf_aout_buffer_new)( decoder_t *, int );
/* SPU output callbacks
* XXX use decoder_NewSubpicture and decoder_DeleteSubpicture */
es_format_t fmt_out;
block_t * ( * pf_encode_video )( encoder_t *, picture_t * );
- block_t * ( * pf_encode_audio )( encoder_t *, aout_buffer_t * );
+ block_t * ( * pf_encode_audio )( encoder_t *, block_t * );
block_t * ( * pf_encode_sub )( encoder_t *, subpicture_t * );
/* Common encoder options */
* output buffer. You have to release it using decoder_DeleteAudioBuffer
* or by returning it to the caller as a pf_decode_audio return value.
*/
-VLC_API aout_buffer_t * decoder_NewAudioBuffer( decoder_t *, int i_size ) VLC_USED;
+VLC_API block_t * decoder_NewAudioBuffer( decoder_t *, int i_size ) VLC_USED;
/**
* This function will return a new subpicture usable by a decoder as an output
typedef struct aout_sys_t aout_sys_t;
typedef struct aout_fifo_t aout_fifo_t;
typedef struct aout_input_t aout_input_t;
-typedef struct block_t aout_buffer_t;
typedef audio_format_t audio_sample_format_t;
/* Video */
* DoWork: convert a buffer
*****************************************************************************/
static void DoWork( filter_t * p_filter,
- aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf )
+ block_t * p_in_buf, block_t * p_out_buf )
{
filter_sys_t *p_sys = p_filter->p_sys;
int i_input_nb = aout_FormatNbChannels( &p_filter->fmt_in.audio );
static block_t *Convert( filter_t *p_filter, block_t *p_block );
-static unsigned int stereo_to_mono( filter_t *, aout_buffer_t *,
- aout_buffer_t * );
-static unsigned int mono( filter_t *, aout_buffer_t *, aout_buffer_t * );
-static void stereo2mono_downmix( filter_t *, aout_buffer_t *,
- aout_buffer_t * );
+static unsigned int stereo_to_mono( filter_t *, block_t *, block_t * );
+static unsigned int mono( filter_t *, block_t *, block_t * );
+static void stereo2mono_downmix( filter_t *, block_t *, block_t * );
/*****************************************************************************
* Local structures
* Written by Boris Dorès <babal@via.ecp.fr>
*/
static void stereo2mono_downmix( filter_t * p_filter,
- aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf )
+ block_t * p_in_buf, block_t * p_out_buf )
{
filter_sys_t *p_sys = (filter_sys_t *)p_filter->p_sys;
/* Simple stereo to mono mixing. */
static unsigned int mono( filter_t *p_filter,
- aout_buffer_t *p_output, aout_buffer_t *p_input )
+ block_t *p_output, block_t *p_input )
{
filter_sys_t *p_sys = (filter_sys_t *)p_filter->p_sys;
int16_t *p_in, *p_out;
/* Simple stereo to mono mixing. */
static unsigned int stereo_to_mono( filter_t *p_filter,
- aout_buffer_t *p_output, aout_buffer_t *p_input )
+ block_t *p_output, block_t *p_input )
{
filter_sys_t *p_sys = (filter_sys_t *)p_filter->p_sys;
int16_t *p_in, *p_out;
* DoWork: convert a buffer
*****************************************************************************/
static void DoWork( filter_t * p_filter,
- aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf )
+ block_t * p_in_buf, block_t * p_out_buf )
{
const unsigned i_input_physical = p_filter->fmt_in.audio.i_physical_channels;
* DoWork: decode an MPEG audio frame.
*****************************************************************************/
static void DoWork( filter_t * p_filter,
- aout_buffer_t * p_in_buf, aout_buffer_t * p_out_buf )
+ block_t * p_in_buf, block_t * p_out_buf )
{
filter_sys_t *p_sys = p_filter->p_sys;
* Local prototypes
*****************************************************************************/
static int Create( vlc_object_t * );
-static void DoWork( audio_mixer_t *, aout_buffer_t *, float );
+static void DoWork( audio_mixer_t *, block_t *, float );
/*****************************************************************************
* Module descriptor
/**
* Mixes a new output buffer
*/
-static void DoWork( audio_mixer_t * p_mixer, aout_buffer_t *p_buffer,
+static void DoWork( audio_mixer_t * p_mixer, block_t *p_buffer,
float f_multiplier )
{
if( f_multiplier == 1.0 )
/*****************************************************************************
* aout_FifoPop : get the next buffer out of the FIFO
*****************************************************************************/
-static aout_buffer_t *aout_FifoPop2( aout_fifo_t * p_fifo )
+static block_t *aout_FifoPop2( aout_fifo_t * p_fifo )
{
- aout_buffer_t *p_buffer = p_fifo->p_first;
+ block_t *p_buffer = p_fifo->p_first;
if( p_buffer != NULL )
{
p_fifo->p_first = p_buffer->p_next;
void AudioQueueCallback(void * inUserData, AudioQueueRef inAQ, AudioQueueBufferRef inBuffer) {
audio_output_t * p_aout = (audio_output_t *)inUserData;
- aout_buffer_t * p_buffer = NULL;
+ block_t * p_buffer = NULL;
if (p_aout) {
struct aout_sys_t * p_sys = p_aout->sys;
while( i_mData_bytes < ioData->mBuffers[0].mDataByteSize )
{
/* We don't have enough data yet */
- aout_buffer_t * p_buffer;
+ block_t * p_buffer;
p_buffer = aout_PacketNext( p_aout, current_date );
if( p_buffer != NULL )
const AudioTimeStamp * inOutputTime,
void * threadGlobals )
{
- aout_buffer_t * p_buffer;
+ block_t * p_buffer;
mtime_t current_date;
audio_output_t * p_aout = (audio_output_t *)threadGlobals;
static int CreateDSBufferPCM ( audio_output_t *, vlc_fourcc_t*, int, int, int, bool );
static void DestroyDSBuffer ( audio_output_t * );
static void* DirectSoundThread( void * );
-static int FillBuffer ( audio_output_t *, int, aout_buffer_t * );
+static int FillBuffer ( audio_output_t *, int, block_t * );
static int ReloadDirectXDevices( vlc_object_t *, char const *,
vlc_value_t, vlc_value_t, void * );
*****************************************************************************
* Returns VLC_SUCCESS on success.
*****************************************************************************/
-static int FillBuffer( audio_output_t *p_aout, int i_frame,
- aout_buffer_t *p_buffer )
+static int FillBuffer( audio_output_t *p_aout, int i_frame, block_t *p_buffer )
{
aout_sys_t *p_sys = p_aout->sys;
notification_thread_t *p_notif = &p_sys->notif;
for( i = 0; i < l_free_slots; i++ )
{
- aout_buffer_t *p_buffer = aout_PacketNext( p_aout,
+ block_t *p_buffer = aout_PacketNext( p_aout,
mtime + INT64_C(1000000) * (i * i_frame_siz + l_queued) /
p_aout->format.i_rate );
mtime_t play_date = mdate() + (mtime_t) ( dtime );
/* Get the next audio data buffer */
- aout_buffer_t *p_buffer = aout_PacketNext( p_aout, play_date );
+ block_t *p_buffer = aout_PacketNext( p_aout, play_date );
if( p_buffer != NULL )
{
ULONG i_buf_size )
{
audio_output_t *p_aout = (audio_output_t *)p_cb_data;
- aout_buffer_t *p_aout_buffer;
+ block_t *p_aout_buffer;
mtime_t current_date, next_date;
ULONG i_len;
typedef struct
{
- aout_buffer_t *p_buffer;
+ block_t *p_buffer;
void *p_bytes;
} oss_thread_ctx_t;
for( ;; )
{
- aout_buffer_t * p_buffer = NULL;
+ block_t * p_buffer = NULL;
int canc = vlc_savecancel ();
if ( p_aout->format.i_format != VLC_CODEC_SPDIFL )
/**
* Pushes a packet into the FIFO.
*/
-static void aout_FifoPush( aout_fifo_t * p_fifo, aout_buffer_t * p_buffer )
+static void aout_FifoPush( aout_fifo_t * p_fifo, block_t * p_buffer )
{
*p_fifo->pp_last = p_buffer;
p_fifo->pp_last = &p_buffer->p_next;
*/
static void aout_FifoReset( aout_fifo_t * p_fifo )
{
- aout_buffer_t * p_buffer;
+ block_t * p_buffer;
date_Set( &p_fifo->end_date, VLC_TS_INVALID );
p_buffer = p_fifo->p_first;
while ( p_buffer != NULL )
{
- aout_buffer_t * p_next = p_buffer->p_next;
+ block_t * p_next = p_buffer->p_next;
block_Release( p_buffer );
p_buffer = p_next;
}
/**
* Gets the next buffer out of the FIFO
*/
-static aout_buffer_t *aout_FifoPop( aout_fifo_t * p_fifo )
+static block_t *aout_FifoPop( aout_fifo_t * p_fifo )
{
- aout_buffer_t *p_buffer = p_fifo->p_first;
+ block_t *p_buffer = p_fifo->p_first;
if( p_buffer != NULL )
{
p_fifo->p_first = p_buffer->p_next;
*/
static void aout_FifoDestroy( aout_fifo_t * p_fifo )
{
- aout_buffer_t * p_buffer;
+ block_t * p_buffer;
p_buffer = p_fifo->p_first;
while ( p_buffer != NULL )
{
- aout_buffer_t * p_next = p_buffer->p_next;
+ block_t * p_next = p_buffer->p_next;
block_Release( p_buffer );
p_buffer = p_next;
}
mtime_t start_date = date_Get( &exact_start_date );
/* Check if there is enough data to slice a new buffer. */
- aout_buffer_t *p_buffer = p_fifo->p_first;
+ block_t *p_buffer = p_fifo->p_first;
if( p_buffer == NULL )
return NULL;
for( uint8_t *p_out = p_buffer->p_buffer; needed > 0; )
{
- aout_buffer_t *p_inbuf = p_fifo->p_first;
+ block_t *p_inbuf = p_fifo->p_first;
if( unlikely(p_inbuf == NULL) )
{
msg_Err( p_aout, "packetization error" );
static int OpenWaveOutPCM( audio_output_t *, uint32_t,
vlc_fourcc_t*, int, int, int, bool );
static int PlayWaveOut ( audio_output_t *, HWAVEOUT, WAVEHDR *,
- aout_buffer_t *, bool );
+ block_t *, bool );
static void CALLBACK WaveOutCallback ( HWAVEOUT, UINT, DWORD_PTR, DWORD_PTR, DWORD_PTR );
static void* WaveOutThread( void * );
* PlayWaveOut: play a buffer through the WaveOut device
*****************************************************************************/
static int PlayWaveOut( audio_output_t *p_aout, HWAVEOUT h_waveout,
- WAVEHDR *p_waveheader, aout_buffer_t *p_buffer,
- bool b_spdif)
+ WAVEHDR *p_waveheader, block_t *p_buffer, bool b_spdif)
{
MMRESULT result;
if( (p_waveheader[i].dwFlags & WHDR_DONE) &&
p_waveheader[i].dwUser )
{
- aout_buffer_t *p_buffer =
- (aout_buffer_t *)(p_waveheader[i].dwUser);
+ block_t *p_buffer =
+ (block_t *)(p_waveheader[i].dwUser);
/* Unprepare and free the buffers which has just been played */
waveOutUnprepareHeader( p_sys->h_waveout, &p_waveheader[i],
sizeof(WAVEHDR) );
{
audio_output_t *p_aout = data;
aout_sys_t *p_sys = p_aout->sys;
- aout_buffer_t *p_buffer = NULL;
+ block_t *p_buffer = NULL;
WAVEHDR *p_waveheader = p_sys->waveheader;
int i, i_queued_frames;
bool b_sleek;
****************************************************************************/
static block_t *DecodeBlock ( decoder_t *, block_t ** );
-static uint8_t *GetOutBuffer ( decoder_t *, block_t ** );
-static aout_buffer_t *GetAoutBuffer( decoder_t * );
-static block_t *GetSoutBuffer( decoder_t * );
+static uint8_t *GetOutBuffer ( decoder_t *, block_t ** );
+static block_t *GetAoutBuffer( decoder_t * );
+static block_t *GetSoutBuffer( decoder_t * );
/*****************************************************************************
* OpenCommon: probe the decoder/packetizer and return score
}
else
{
- aout_buffer_t *p_aout_buffer = GetAoutBuffer( p_dec );
+ block_t *p_aout_buffer = GetAoutBuffer( p_dec );
p_buf = p_aout_buffer ? p_aout_buffer->p_buffer : NULL;
*pp_out_buffer = p_aout_buffer;
}
/*****************************************************************************
* GetAoutBuffer:
*****************************************************************************/
-static aout_buffer_t *GetAoutBuffer( decoder_t *p_dec )
+static block_t *GetAoutBuffer( decoder_t *p_dec )
{
decoder_sys_t *p_sys = p_dec->p_sys;
- aout_buffer_t *p_buf = decoder_NewAudioBuffer( p_dec, p_sys->frame.i_samples );
+ block_t *p_buf = decoder_NewAudioBuffer( p_dec, p_sys->frame.i_samples );
if( p_buf )
{
p_buf->i_pts = date_Get( &p_sys->end_date );
static int OpenDecoder( vlc_object_t * );
static void CloseDecoder( vlc_object_t * );
-static aout_buffer_t *DecodeBlock( decoder_t *, block_t ** );
+static block_t *DecodeBlock( decoder_t *, block_t ** );
vlc_module_begin ()
set_description( N_("ADPCM audio decoder") )
/*****************************************************************************
* DecodeBlock:
*****************************************************************************/
-static aout_buffer_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
+static block_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
{
decoder_sys_t *p_sys = p_dec->p_sys;
block_t *p_block;
if( p_block->i_buffer >= p_sys->i_block )
{
- aout_buffer_t *p_out;
+ block_t *p_out;
p_out = decoder_NewAudioBuffer( p_dec, p_sys->i_samplesperblock );
if( p_out == NULL )
****************************************************************************
* Beware, this function must be fed with complete frames (PES packet).
*****************************************************************************/
-static aout_buffer_t *Decode( decoder_t *p_dec, block_t **pp_block )
+static block_t *Decode( decoder_t *p_dec, block_t **pp_block )
{
decoder_sys_t *p_sys = p_dec->p_sys;
block_t *p_block;
- aout_buffer_t *p_aout_buffer;
+ block_t *p_aout_buffer;
int i_frame_length, i_bits;
p_block = Parse( p_dec, &i_frame_length, &i_bits, pp_block, false );
/*****************************************************************************
* Local prototypes
*****************************************************************************/
-static aout_buffer_t *DecodeBlock( decoder_t *, block_t ** );
+static block_t *DecodeBlock( decoder_t *, block_t ** );
#ifdef ENABLE_SOUT
-static block_t *EncoderEncode( encoder_t *, aout_buffer_t * );
+static block_t *EncoderEncode( encoder_t *, block_t * );
#endif
struct decoder_sys_t
****************************************************************************
* This function must be fed with whole samples (see nBlockAlign).
****************************************************************************/
-static aout_buffer_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
+static block_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
{
decoder_sys_t *p_sys = p_dec->p_sys;
/*****************************************************************************
* EncoderEncode:
*****************************************************************************/
-static block_t *EncoderEncode( encoder_t *p_enc, aout_buffer_t *p_aout_buf )
+static block_t *EncoderEncode( encoder_t *p_enc, block_t *p_aout_buf )
{
encoder_sys_t *p_sys = p_enc->p_sys;
block_t *p_block = NULL;
* SplitBuffer: Needed because aout really doesn't like big audio chunk and
* wma produces easily > 30000 samples...
*****************************************************************************/
-static aout_buffer_t *SplitBuffer( decoder_t *p_dec )
+static block_t *SplitBuffer( decoder_t *p_dec )
{
decoder_sys_t *p_sys = p_dec->p_sys;
int i_samples = __MIN( p_sys->i_samples, 4096 );
- aout_buffer_t *p_buffer;
+ block_t *p_buffer;
if( i_samples == 0 ) return NULL;
/*****************************************************************************
* DecodeAudio: Called to decode one frame
*****************************************************************************/
-aout_buffer_t * DecodeAudio ( decoder_t *p_dec, block_t **pp_block )
+block_t * DecodeAudio ( decoder_t *p_dec, block_t **pp_block )
{
decoder_sys_t *p_sys = p_dec->p_sys;
int i_used, i_output;
- aout_buffer_t *p_buffer;
+ block_t *p_buffer;
block_t *p_block;
AVPacket pkt;
vlc_fourcc_t *pi_fourcc, const char **ppsz_name );
void GetVlcAudioFormat( vlc_fourcc_t *, unsigned *pi_bits, int i_sample_fmt );
-picture_t * DecodeVideo ( decoder_t *, block_t ** );
-aout_buffer_t * DecodeAudio( decoder_t *, block_t ** );
+picture_t * DecodeVideo( decoder_t *, block_t ** );
+block_t * DecodeAudio( decoder_t *, block_t ** );
subpicture_t *DecodeSubtitle( decoder_t *p_dec, block_t ** );
/* Video encoder module */
void CloseEncoder( vlc_object_t * );
static block_t *EncodeVideo( encoder_t *, picture_t * );
-static block_t *EncodeAudio( encoder_t *, aout_buffer_t * );
+static block_t *EncodeAudio( encoder_t *, block_t * );
struct thread_context_t;
/****************************************************************************
* EncodeAudio: the whole thing
****************************************************************************/
-static block_t *EncodeAudio( encoder_t *p_enc, aout_buffer_t *p_aout_buf )
+static block_t *EncodeAudio( encoder_t *p_enc, block_t *p_aout_buf )
{
encoder_sys_t *p_sys = p_enc->p_sys;
/* Set callbacks */
p_dec->pf_decode_video = (picture_t *(*)(decoder_t *, block_t **))
DecodeBlock;
- p_dec->pf_decode_audio = (aout_buffer_t *(*)(decoder_t *, block_t **))
+ p_dec->pf_decode_audio = (block_t *(*)(decoder_t *, block_t **))
DecodeBlock;
p_dec->pf_decode_sub = (subpicture_t *(*)(decoder_t *, block_t **))
DecodeBlock;
/* Set callbacks */
p_dec->pf_decode_video = (picture_t *(*)(decoder_t *, block_t **))
DecodeBlock;
- p_dec->pf_decode_audio = (aout_buffer_t *(*)(decoder_t *, block_t **))
+ p_dec->pf_decode_audio = (block_t *(*)(decoder_t *, block_t **))
DecodeBlock;
vlc_mutex_init( &p_sys->lock );
}
else
{
- aout_buffer_t *p_aout_buffer;
+ block_t *p_aout_buffer;
int i_samples = block_out.i_buffer /
( p_dec->fmt_out.audio.i_bitspersample *
p_dec->fmt_out.audio.i_channels / 8 );
/* Set callbacks */
p_enc->pf_encode_video = (block_t *(*)(encoder_t *, picture_t *))
EncodeBlock;
- p_enc->pf_encode_audio = (block_t *(*)(encoder_t *, aout_buffer_t *))
+ p_enc->pf_encode_audio = (block_t *(*)(encoder_t *, block_t *))
EncodeBlock;
return VLC_SUCCESS;
}
else
{
- aout_buffer_t *p_aout_buffer = (aout_buffer_t *)p_data;
+ block_t *p_aout_buffer = (block_t *)p_data;
p_block_in = block_New( p_enc, p_aout_buffer->i_buffer );
memcpy( p_block_in->p_buffer, p_aout_buffer->p_buffer,
p_block_in->i_buffer );
static int SyncInfo( const uint8_t *, bool *, unsigned int *, unsigned int *,
unsigned int *, unsigned int *, unsigned int * );
-static uint8_t *GetOutBuffer ( decoder_t *, block_t ** );
-static aout_buffer_t *GetAoutBuffer( decoder_t * );
-static block_t *GetSoutBuffer( decoder_t * );
+static uint8_t *GetOutBuffer ( decoder_t *, block_t ** );
+static block_t *GetAoutBuffer( decoder_t * );
+static block_t *GetSoutBuffer( decoder_t * );
/*****************************************************************************
* OpenDecoder: probe the decoder
}
else
{
- aout_buffer_t *p_aout_buffer = GetAoutBuffer( p_dec );
+ block_t *p_aout_buffer = GetAoutBuffer( p_dec );
p_buf = p_aout_buffer ? p_aout_buffer->p_buffer : NULL;
*pp_out_buffer = p_aout_buffer;
}
/*****************************************************************************
* GetAoutBuffer:
*****************************************************************************/
-static aout_buffer_t *GetAoutBuffer( decoder_t *p_dec )
+static block_t *GetAoutBuffer( decoder_t *p_dec )
{
decoder_sys_t *p_sys = p_dec->p_sys;
- aout_buffer_t *p_buf;
+ block_t *p_buf;
/* Hack for DTS S/PDIF filter which needs to send 3 frames at a time
* (plus a few header bytes) */
* Local prototypes
*****************************************************************************/
static block_t *EncodeVideo( encoder_t *p_enc, picture_t *p_pict );
-static block_t *EncodeAudio( encoder_t *p_enc, aout_buffer_t *p_buf );
+static block_t *EncodeAudio( encoder_t *p_enc, block_t *p_buf );
/*****************************************************************************
* OpenDecoder: open the dummy encoder.
/****************************************************************************
* EncodeAudio: the whole thing
****************************************************************************/
-static block_t *EncodeAudio( encoder_t *p_enc, aout_buffer_t *p_buf )
+static block_t *EncodeAudio( encoder_t *p_enc, block_t *p_buf )
{
VLC_UNUSED(p_enc); VLC_UNUSED(p_buf);
return NULL;
/****************************************************************************
* Local prototypes
****************************************************************************/
-static aout_buffer_t *DecodeBlock( decoder_t *, block_t ** );
+static block_t *DecodeBlock( decoder_t *, block_t ** );
static void DoReordering( uint32_t *, uint32_t *, int, int, uint32_t * );
#define MAX_CHANNEL_POSITIONS 9
/*****************************************************************************
* DecodeBlock:
*****************************************************************************/
-static aout_buffer_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
+static block_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
{
decoder_sys_t *p_sys = p_dec->p_sys;
block_t *p_block;
{
void *samples;
faacDecFrameInfo frame;
- aout_buffer_t *p_out;
+ block_t *p_out;
int i, j;
samples = faacDecDecode( p_sys->hfaad, &frame,
* Input/Output properties
*/
block_t *p_block;
- aout_buffer_t *p_aout_buffer;
- date_t end_date;
+ block_t *p_aout_buffer;
+ date_t end_date;
/*
* FLAC properties
static int OpenEncoder ( vlc_object_t * );
static void CloseEncoder ( vlc_object_t * );
-static aout_buffer_t *DecodeBlock( decoder_t *, block_t ** );
+static block_t *DecodeBlock( decoder_t *, block_t ** );
/*****************************************************************************
* Module descriptor
/****************************************************************************
* DecodeBlock: the whole thing
****************************************************************************/
-static aout_buffer_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
+static block_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
{
decoder_sys_t *p_sys = p_dec->p_sys;
#define STREAMINFO_SIZE 38
-static block_t *Encode( encoder_t *, aout_buffer_t * );
+static block_t *Encode( encoder_t *, block_t * );
/*****************************************************************************
* EncoderWriteCallback: called by libflac to output encoded samples
****************************************************************************
* This function spits out ogg packets.
****************************************************************************/
-static block_t *Encode( encoder_t *p_enc, aout_buffer_t *p_aout_buf )
+static block_t *Encode( encoder_t *p_enc, block_t *p_aout_buf )
{
encoder_sys_t *p_sys = p_enc->p_sys;
block_t *p_chain;
};
-static aout_buffer_t *DecodeBlock (decoder_t *p_dec, block_t **pp_block);
+static block_t *DecodeBlock (decoder_t *p_dec, block_t **pp_block);
static int Open (vlc_object_t *p_this)
}
-static aout_buffer_t *DecodeBlock (decoder_t *p_dec, block_t **pp_block)
+static block_t *DecodeBlock (decoder_t *p_dec, block_t **pp_block)
{
block_t *p_block;
decoder_sys_t *p_sys = p_dec->p_sys;
- aout_buffer_t *p_out = NULL;
+ block_t *p_out = NULL;
if (pp_block == NULL)
return NULL;
#ifdef ENABLE_SOUT
static int OpenEncoder ( vlc_object_t * );
static void CloseEncoder ( vlc_object_t * );
-static block_t *EncodeFrames( encoder_t *, aout_buffer_t * );
+static block_t *EncodeFrames( encoder_t *, block_t * );
#endif
vlc_module_begin ()
unsigned *pi_channels, unsigned *pi_original_channels,
unsigned *pi_bits,
const uint8_t *p_header );
-static void VobExtract( aout_buffer_t *, block_t *, unsigned i_bits );
+static void VobExtract( block_t *, block_t *, unsigned i_bits );
/* */
static int AobHeader( unsigned *pi_rate,
unsigned *pi_channels, unsigned *pi_layout,
unsigned *pi_padding,
aob_group_t g[2],
const uint8_t *p_header );
-static void AobExtract( aout_buffer_t *, block_t *, unsigned i_bits, aob_group_t p_group[2] );
+static void AobExtract( block_t *, block_t *, unsigned i_bits, aob_group_t p_group[2] );
/* */
static int BdHeader( unsigned *pi_rate,
unsigned *pi_channels,
unsigned *pi_original_channels,
unsigned *pi_bits,
const uint8_t *p_header );
-static void BdExtract( aout_buffer_t *, block_t *, unsigned, unsigned, unsigned, unsigned );
+static void BdExtract( block_t *, block_t *, unsigned, unsigned, unsigned, unsigned );
/*****************************************************************************
}
/* */
- aout_buffer_t *p_aout_buffer;
+ block_t *p_aout_buffer;
p_aout_buffer = decoder_NewAudioBuffer( p_dec, i_frame_length );
if( !p_aout_buffer )
return NULL;
/*****************************************************************************
* EncodeFrames: encode zero or more LCPM audio packets
*****************************************************************************/
-static block_t *EncodeFrames( encoder_t *p_enc, aout_buffer_t *p_aout_buf )
+static block_t *EncodeFrames( encoder_t *p_enc, block_t *p_aout_buf )
{
encoder_sys_t *p_sys = p_enc->p_sys;
block_t *p_first_block = NULL, *p_last_block = NULL;
return 0;
}
-static void VobExtract( aout_buffer_t *p_aout_buffer, block_t *p_block,
+static void VobExtract( block_t *p_aout_buffer, block_t *p_block,
unsigned i_bits )
{
uint8_t *p_out = p_aout_buffer->p_buffer;
memcpy( p_out, p_block->p_buffer, p_block->i_buffer );
}
}
-static void AobExtract( aout_buffer_t *p_aout_buffer,
+static void AobExtract( block_t *p_aout_buffer,
block_t *p_block, unsigned i_bits, aob_group_t p_group[2] )
{
const unsigned i_channels = p_group[0].i_channels +
}
}
-static void BdExtract( aout_buffer_t *p_aout_buffer, block_t *p_block,
+static void BdExtract( block_t *p_aout_buffer, block_t *p_block,
unsigned i_frame_length,
unsigned i_channels, unsigned i_channels_padding,
unsigned i_bits )
/* This isn't the place to put mad-specific stuff. However, it makes the
* mad plug-in's life much easier if we put 8 extra bytes at the end of the
- * buffer, because that way it doesn't have to copy the aout_buffer_t to a
- * bigger buffer. This has no implication on other plug-ins, and we only
- * lose 8 bytes per frame. --Meuuh */
+ * buffer, because that way it doesn't have to copy the block_t to a bigger
+ * buffer. This has no implication on other plug-ins, and we only lose 8 bytes
+ * per frame. --Meuuh */
#define MAD_BUFFER_GUARD 8
#define MPGA_HEADER_SIZE 4
static void CloseDecoder ( vlc_object_t * );
static block_t *DecodeBlock ( decoder_t *, block_t ** );
-static uint8_t *GetOutBuffer ( decoder_t *, block_t ** );
-static aout_buffer_t *GetAoutBuffer( decoder_t * );
-static block_t *GetSoutBuffer( decoder_t * );
+static uint8_t *GetOutBuffer ( decoder_t *, block_t ** );
+static block_t *GetAoutBuffer( decoder_t * );
+static block_t *GetSoutBuffer( decoder_t * );
static int SyncInfo( uint32_t i_header, unsigned int * pi_channels,
unsigned int * pi_channels_conf,
}
else
{
- aout_buffer_t *p_aout_buffer = GetAoutBuffer( p_dec );
+ block_t *p_aout_buffer = GetAoutBuffer( p_dec );
p_buf = p_aout_buffer ? p_aout_buffer->p_buffer : NULL;
*pp_out_buffer = p_aout_buffer;
}
/*****************************************************************************
* GetAoutBuffer:
*****************************************************************************/
-static aout_buffer_t *GetAoutBuffer( decoder_t *p_dec )
+static block_t *GetAoutBuffer( decoder_t *p_dec )
{
decoder_sys_t *p_sys = p_dec->p_sys;
- aout_buffer_t *p_buf;
+ block_t *p_buf;
p_buf = decoder_NewAudioBuffer( p_dec, p_sys->i_frame_length );
if( p_buf == NULL ) return NULL;
static void CloseGeneric( vlc_object_t * );
static picture_t *DecodeVideo( decoder_t *, block_t ** );
-static aout_buffer_t *DecodeAudio ( decoder_t *, block_t ** );
+static block_t *DecodeAudio ( decoder_t *, block_t ** );
static block_t *EncodeVideo( encoder_t *, picture_t * );
static OMX_ERRORTYPE OmxEventHandler( OMX_HANDLETYPE, OMX_PTR, OMX_EVENTTYPE,
/*****************************************************************************
* DecodeAudio: Called to decode one frame
*****************************************************************************/
-aout_buffer_t *DecodeAudio ( decoder_t *p_dec, block_t **pp_block )
+block_t *DecodeAudio ( decoder_t *p_dec, block_t **pp_block )
{
decoder_sys_t *p_sys = p_dec->p_sys;
- aout_buffer_t *p_buffer = 0;
+ block_t *p_buffer = NULL;
OMX_BUFFERHEADERTYPE *p_header;
OMX_ERRORTYPE omx_error;
block_t *p_block;
static int OpenAudio( decoder_t * );
static int OpenVideo( decoder_t * );
-static aout_buffer_t *DecodeAudio( decoder_t *, block_t ** );
+static block_t *DecodeAudio( decoder_t *, block_t ** );
#ifndef WIN32
static picture_t *DecodeVideo( decoder_t *, block_t ** );
#endif
/*****************************************************************************
* DecodeAudio:
*****************************************************************************/
-static aout_buffer_t *DecodeAudio( decoder_t *p_dec, block_t **pp_block )
+static block_t *DecodeAudio( decoder_t *p_dec, block_t **pp_block )
{
decoder_sys_t *p_sys = p_dec->p_sys;
if( p_sys->i_out < p_sys->i_out_frames )
{
- aout_buffer_t *p_out;
+ block_t *p_out;
int i_frames = __MIN( p_sys->i_out_frames - p_sys->i_out, 1000 );
p_out = decoder_NewAudioBuffer( p_dec, i_frames );
static int OpenEncoder ( vlc_object_t * );
static void CloseEncoder ( vlc_object_t * );
-static block_t *EncodeFrame ( encoder_t *, aout_buffer_t * );
+static block_t *EncodeFrame ( encoder_t *, block_t * );
vlc_module_begin();
set_category( CAT_INPUT );
}
/* We split/pack PCM blocks to a fixed size: pcm_chunk_size bytes */
-static block_t *GetPCM( encoder_t *p_enc, aout_buffer_t *p_block )
+static block_t *GetPCM( encoder_t *p_enc, block_t *p_block )
{
encoder_sys_t *p_sys = p_enc->p_sys;
block_t *p_pcm_block;
return block_FifoCount( p_sys->p_fifo ) > 0 ? block_FifoGet( p_sys->p_fifo ) : NULL;
}
-static block_t *EncodeFrame( encoder_t *p_enc, aout_buffer_t *p_block )
+static block_t *EncodeFrame( encoder_t *p_enc, block_t *p_block )
{
block_t *p_pcm_block;
block_t *p_chain = NULL;
****************************************************************************/
static block_t *DecodeBlock ( decoder_t *, block_t ** );
-static aout_buffer_t *DecodeRtpSpeexPacket( decoder_t *, block_t **);
+static block_t *DecodeRtpSpeexPacket( decoder_t *, block_t **);
static int ProcessHeaders( decoder_t * );
static int ProcessInitialHeader ( decoder_t *, ogg_packet * );
static void *ProcessPacket( decoder_t *, ogg_packet *, block_t ** );
-static aout_buffer_t *DecodePacket( decoder_t *, ogg_packet * );
+static block_t *DecodePacket( decoder_t *, ogg_packet * );
static block_t *SendPacket( decoder_t *, block_t * );
static void ParseSpeexComments( decoder_t *, ogg_packet * );
-static block_t *Encode ( encoder_t *, aout_buffer_t * );
+static block_t *Encode ( encoder_t *, block_t * );
/*****************************************************************************
* OpenDecoder: probe the decoder and return score
}
else
{
- aout_buffer_t *p_aout_buffer = DecodePacket( p_dec, p_oggpacket );
+ block_t *p_aout_buffer = DecodePacket( p_dec, p_oggpacket );
if( p_block )
block_Release( p_block );
}
}
-static aout_buffer_t *DecodeRtpSpeexPacket( decoder_t *p_dec, block_t **pp_block )
+static block_t *DecodeRtpSpeexPacket( decoder_t *p_dec, block_t **pp_block )
{
block_t *p_speex_bit_block = *pp_block;
decoder_sys_t *p_sys = p_dec->p_sys;
- aout_buffer_t *p_aout_buffer;
+ block_t *p_aout_buffer;
int i_decode_ret;
unsigned int i_speex_frame_size;
/*****************************************************************************
* DecodePacket: decodes a Speex packet.
*****************************************************************************/
-static aout_buffer_t *DecodePacket( decoder_t *p_dec, ogg_packet *p_oggpacket )
+static block_t *DecodePacket( decoder_t *p_dec, ogg_packet *p_oggpacket )
{
decoder_sys_t *p_sys = p_dec->p_sys;
/* Decode one frame at a time */
if( p_sys->i_frame_in_packet < p_sys->p_header->frames_per_packet )
{
- aout_buffer_t *p_aout_buffer;
+ block_t *p_aout_buffer;
if( p_sys->p_header->frame_size == 0 )
return NULL;
****************************************************************************
* This function spits out ogg packets.
****************************************************************************/
-static block_t *Encode( encoder_t *p_enc, aout_buffer_t *p_aout_buf )
+static block_t *Encode( encoder_t *p_enc, block_t *p_aout_buf )
{
encoder_sys_t *p_sys = p_enc->p_sys;
block_t *p_block, *p_chain = NULL;
****************************************************************************/
static int OpenEncoder ( vlc_object_t * );
static void CloseEncoder ( vlc_object_t * );
-static block_t *Encode ( encoder_t *, aout_buffer_t * );
+static block_t *Encode ( encoder_t *, block_t * );
/*****************************************************************************
* Module descriptor
* sizeof(int16_t) );
}
-static block_t *Encode( encoder_t *p_enc, aout_buffer_t *p_aout_buf )
+static block_t *Encode( encoder_t *p_enc, block_t *p_aout_buf )
{
encoder_sys_t *p_sys = p_enc->p_sys;
int16_t *p_buffer = (int16_t *)p_aout_buf->p_buffer;
static int ProcessHeaders( decoder_t * );
static void *ProcessPacket ( decoder_t *, ogg_packet *, block_t ** );
-static aout_buffer_t *DecodePacket ( decoder_t *, ogg_packet * );
+static block_t *DecodePacket( decoder_t *, ogg_packet * );
static block_t *SendPacket( decoder_t *, ogg_packet *, block_t * );
static void ParseVorbisComments( decoder_t * );
#ifdef HAVE_VORBIS_ENCODER
static int OpenEncoder ( vlc_object_t * );
static void CloseEncoder ( vlc_object_t * );
-static block_t *Encode ( encoder_t *, aout_buffer_t * );
+static block_t *Encode ( encoder_t *, block_t * );
#endif
/*****************************************************************************
}
else
{
- aout_buffer_t *p_aout_buffer = DecodePacket( p_dec, p_oggpacket );
+ block_t *p_aout_buffer = DecodePacket( p_dec, p_oggpacket );
if( p_block )
block_Release( p_block );
return p_aout_buffer;
/*****************************************************************************
* DecodePacket: decodes a Vorbis packet.
*****************************************************************************/
-static aout_buffer_t *DecodePacket( decoder_t *p_dec, ogg_packet *p_oggpacket )
+static block_t *DecodePacket( decoder_t *p_dec, ogg_packet *p_oggpacket )
{
decoder_sys_t *p_sys = p_dec->p_sys;
int i_samples;
if( ( i_samples = vorbis_synthesis_pcmout( &p_sys->vd, &pp_pcm ) ) > 0 )
{
- aout_buffer_t *p_aout_buffer;
+ block_t *p_aout_buffer;
p_aout_buffer =
decoder_NewAudioBuffer( p_dec, i_samples );
****************************************************************************
* This function spits out ogg packets.
****************************************************************************/
-static block_t *Encode( encoder_t *p_enc, aout_buffer_t *p_aout_buf )
+static block_t *Encode( encoder_t *p_enc, block_t *p_aout_buf )
{
encoder_sys_t *p_sys = p_enc->p_sys;
ogg_packet oggpacket;
static int OpenDecoder ( vlc_object_t * );
static void CloseDecoder ( vlc_object_t * );
-static aout_buffer_t *DecodeFrame ( decoder_t *, block_t ** );
+static block_t *DecodeFrame( decoder_t *, block_t ** );
/*****************************************************************************
* Module descriptor
* SplitBuffer: Needed because aout really doesn't like big audio chunk and
* wma produces easily > 30000 samples...
*****************************************************************************/
-static aout_buffer_t *SplitBuffer( decoder_t *p_dec )
+static block_t *SplitBuffer( decoder_t *p_dec )
{
decoder_sys_t *p_sys = p_dec->p_sys;
unsigned int i_samples = __MIN( p_sys->i_samples, 2048 );
- aout_buffer_t *p_buffer;
+ block_t *p_buffer;
if( i_samples == 0 ) return NULL;
/*****************************************************************************
* DecodeFrame: decodes a wma frame.
*****************************************************************************/
-static aout_buffer_t *DecodeFrame( decoder_t *p_dec, block_t **pp_block )
+static block_t *DecodeFrame( decoder_t *p_dec, block_t **pp_block )
{
decoder_sys_t *p_sys = p_dec->p_sys;
block_t *p_block;
- aout_buffer_t *p_aout_buffer = NULL;
+ block_t *p_aout_buffer = NULL;
if( !pp_block || !*pp_block ) return NULL;
* Local prototypes
*****************************************************************************/
static block_t *EncodeVideo( encoder_t *p_enc, picture_t *p_pict );
-static block_t *EncodeAudio( encoder_t *p_enc, aout_buffer_t *p_abuff );
+static block_t *EncodeAudio( encoder_t *p_enc, block_t *p_abuff );
/*****************************************************************************
* OpenDecoder: open the dummy encoder.
/****************************************************************************
* EncodeVideo: the whole thing
****************************************************************************/
-static block_t *EncodeAudio( encoder_t *p_enc, aout_buffer_t *p_abuff )
+static block_t *EncodeAudio( encoder_t *p_enc, block_t *p_abuff )
{
(void)p_abuff;
(void)p_enc;
| AOUT_CHAN_REARLEFT | AOUT_CHAN_REARRIGHT
};
-static aout_buffer_t *audio_new_buffer( decoder_t *p_dec, int i_samples )
+static block_t *audio_new_buffer( decoder_t *p_dec, int i_samples )
{
block_t *p_block;
int i_size;
#define aout_FiltersCreatePipeline(o, pv, pc, inf, outf) \
aout_FiltersCreatePipeline(VLC_OBJECT(o), pv, pc, inf, outf)
void aout_FiltersDestroyPipeline( filter_t *const *, unsigned );
-void aout_FiltersPlay( filter_t *const *, unsigned, aout_buffer_t ** );
+void aout_FiltersPlay( filter_t *const *, unsigned, block_t ** );
/* From mixer.c : */
#define aout_MixerNew(o, f) aout_MixerNew(VLC_OBJECT(o), f)
/* From output.c : */
int aout_OutputNew( audio_output_t * p_aout,
const audio_sample_format_t * p_format );
-void aout_OutputPlay( audio_output_t * p_aout, aout_buffer_t * p_buffer );
+void aout_OutputPlay( audio_output_t * p_aout, block_t * p_buffer );
void aout_OutputPause( audio_output_t * p_aout, bool, mtime_t );
void aout_OutputFlush( audio_output_t * p_aout, bool );
void aout_OutputDelete( audio_output_t * p_aout );
#include "aout_internal.h"
-static void inputDrop( aout_input_t *, aout_buffer_t * );
+static void inputDrop( aout_input_t *, block_t * );
static void inputResamplingStop( aout_input_t *p_input );
static int VisualizationCallback( vlc_object_t *, char const *,
* static functions
*****************************************************************************/
-static void inputDrop( aout_input_t *p_input, aout_buffer_t *p_buffer )
+static void inputDrop( aout_input_t *p_input, block_t *p_buffer )
{
block_Release( p_buffer );
static void DecoderUnsupportedCodec( decoder_t *, vlc_fourcc_t );
/* Buffers allocation callbacks for the decoders */
-static aout_buffer_t *aout_new_buffer( decoder_t *, int );
+static block_t *aout_new_buffer( decoder_t *, int );
static picture_t *vout_new_buffer( decoder_t * );
static void vout_del_buffer( decoder_t *, picture_t * );
subpicture_t *p_subpic;
subpicture_t **pp_subpic_next;
- aout_buffer_t *p_audio;
- aout_buffer_t **pp_audio_next;
+ block_t *p_audio;
+ block_t **pp_audio_next;
block_t *p_block;
block_t **pp_block_next;
p_decoder->pf_picture_unlink( p_decoder, p_picture );
}
-aout_buffer_t *decoder_NewAudioBuffer( decoder_t *p_decoder, int i_size )
+block_t *decoder_NewAudioBuffer( decoder_t *p_decoder, int i_size )
{
if( !p_decoder->pf_aout_buffer_new )
return NULL;
i_deadline ) == 0 );
}
-static void DecoderPlayAudio( decoder_t *p_dec, aout_buffer_t *p_audio,
+static void DecoderPlayAudio( decoder_t *p_dec, block_t *p_audio,
int *pi_played_sum, int *pi_lost_sum )
{
decoder_owner_sys_t *p_owner = p_dec->p_owner;
static void DecoderDecodeAudio( decoder_t *p_dec, block_t *p_block )
{
decoder_owner_sys_t *p_owner = p_dec->p_owner;
- aout_buffer_t *p_aout_buf;
+ block_t *p_aout_buf;
int i_decoded = 0;
int i_lost = 0;
int i_played = 0;
}
while( p_owner->buffer.p_audio )
{
- aout_buffer_t *p_audio = p_owner->buffer.p_audio;
+ block_t *p_audio = p_owner->buffer.p_audio;
p_owner->buffer.p_audio = p_audio->p_next;
p_owner->buffer.i_count--;
return p_vout;
}
-static aout_buffer_t *aout_new_buffer( decoder_t *p_dec, int i_samples )
+static block_t *aout_new_buffer( decoder_t *p_dec, int i_samples )
{
decoder_owner_sys_t *p_owner = p_dec->p_owner;
- aout_buffer_t *p_buffer;
+ block_t *p_buffer;
if( p_owner->p_aout
&& !AOUT_FMTS_IDENTICAL(&p_dec->fmt_out.audio, &p_owner->audio) )