X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc_aout.h;h=dbe1102bfd85506f73c7f54686742e7195b30783;hb=36e37a19e99fff3c0dbfe83ab49f3efa6fa4de59;hp=993fa0135662fd77af88fc1ce1efab50d937645e;hpb=ebd800345f87349ff51971ae88c56cb439da4dcf;p=vlc diff --git a/include/vlc_aout.h b/include/vlc_aout.h index 993fa01356..dbe1102bfd 100644 --- a/include/vlc_aout.h +++ b/include/vlc_aout.h @@ -51,11 +51,13 @@ extern "C" { # define AOUT_FMT_S16_NE VLC_FOURCC('s','1','6','b') # define AOUT_FMT_U16_NE VLC_FOURCC('u','1','6','b') # define AOUT_FMT_S24_NE VLC_FOURCC('s','2','4','b') +# define AOUT_FMT_S32_NE VLC_FOURCC('s','3','2','b') # define AOUT_FMT_SPDIF_NE VLC_FOURCC('s','p','d','b') #else # define AOUT_FMT_S16_NE VLC_FOURCC('s','1','6','l') # define AOUT_FMT_U16_NE VLC_FOURCC('u','1','6','l') # define AOUT_FMT_S24_NE VLC_FOURCC('s','2','4','l') +# define AOUT_FMT_S32_NE VLC_FOURCC('s','3','2','l') # define AOUT_FMT_SPDIF_NE VLC_FOURCC('s','p','d','i') #endif @@ -144,7 +146,7 @@ struct aout_buffer_t size_t i_size, i_nb_bytes; unsigned int i_nb_samples; mtime_t start_date, end_date; - bool b_discontinuity; /* Set on discontinuity (for non pcm stream) */ + bool b_discontinuity; /* Set on discontinuity (for non pcm stream) */ struct aout_buffer_t * p_next; @@ -354,6 +356,17 @@ struct aout_instance_t aout_output_t output; }; +/** + * It describes the audio channel order VLC except. + */ +static const uint32_t pi_vlc_chan_order_wg4[] = +{ + AOUT_CHAN_LEFT, AOUT_CHAN_RIGHT, + AOUT_CHAN_MIDDLELEFT, AOUT_CHAN_MIDDLERIGHT, + AOUT_CHAN_REARLEFT, AOUT_CHAN_REARRIGHT, AOUT_CHAN_REARCENTER, + AOUT_CHAN_CENTER, AOUT_CHAN_LFE, 0 +}; + /***************************************************************************** * Prototypes *****************************************************************************/ @@ -362,22 +375,28 @@ struct aout_instance_t VLC_EXPORT( void, aout_DateInit, ( audio_date_t *, uint32_t ) ); VLC_EXPORT( void, aout_DateSet, ( audio_date_t *, mtime_t ) ); VLC_EXPORT( void, aout_DateMove, ( audio_date_t *, mtime_t ) ); -VLC_EXPORT( mtime_t, aout_DateGet, ( const audio_date_t * ) ); +VLC_EXPORT( mtime_t, aout_DateGet, ( const audio_date_t * ) LIBVLC_USED); VLC_EXPORT( mtime_t, aout_DateIncrement, ( audio_date_t *, uint32_t ) ); -VLC_EXPORT( aout_buffer_t *, aout_OutputNextBuffer, ( aout_instance_t *, mtime_t, bool ) ); +VLC_EXPORT( aout_buffer_t *, aout_OutputNextBuffer, ( aout_instance_t *, mtime_t, bool ) LIBVLC_USED ); -VLC_EXPORT( int, aout_CheckChannelReorder, ( const uint32_t *, const uint32_t *, uint32_t, int, int * ) ); +/** + * This function computes the reordering needed to go from pi_chan_order_in to + * pi_chan_order_out. + * If pi_chan_order_in or pi_chan_order_out is NULL, it will assume that vlc + * internal (WG4) order is requested. + */ +VLC_EXPORT( int, aout_CheckChannelReorder, ( const uint32_t *pi_chan_order_in, const uint32_t *pi_chan_order_out, uint32_t i_channel_mask, int i_channels, int *pi_chan_table ) ); VLC_EXPORT( void, aout_ChannelReorder, ( uint8_t *, int, int, const int *, int ) ); -VLC_EXPORT( unsigned int, aout_FormatNbChannels, ( const audio_sample_format_t * p_format ) ); -VLC_EXPORT( unsigned int, aout_BitsPerSample, ( vlc_fourcc_t i_format ) ); +VLC_EXPORT( unsigned int, aout_FormatNbChannels, ( const audio_sample_format_t * p_format ) LIBVLC_USED ); +VLC_EXPORT( unsigned int, aout_BitsPerSample, ( vlc_fourcc_t i_format ) LIBVLC_USED ); VLC_EXPORT( void, aout_FormatPrepare, ( audio_sample_format_t * p_format ) ); VLC_EXPORT( void, aout_FormatPrint, ( aout_instance_t * p_aout, const char * psz_text, const audio_sample_format_t * p_format ) ); -VLC_EXPORT( const char *, aout_FormatPrintChannels, ( const audio_sample_format_t * ) ); +VLC_EXPORT( const char *, aout_FormatPrintChannels, ( const audio_sample_format_t * ) LIBVLC_USED ); -VLC_EXPORT( mtime_t, aout_FifoFirstDate, ( aout_instance_t *, aout_fifo_t * ) ); -VLC_EXPORT( aout_buffer_t *, aout_FifoPop, ( aout_instance_t * p_aout, aout_fifo_t * p_fifo ) ); +VLC_EXPORT( mtime_t, aout_FifoFirstDate, ( aout_instance_t *, aout_fifo_t * ) LIBVLC_USED ); +VLC_EXPORT( aout_buffer_t *, aout_FifoPop, ( aout_instance_t * p_aout, aout_fifo_t * p_fifo ) LIBVLC_USED ); /* From intf.c : */ VLC_EXPORT( void, aout_VolumeSoftInit, ( aout_instance_t * ) );