# include "config.h"
#endif
-#include <vlc/vlc.h>
+#include <vlc_common.h>
+#include <vlc_plugin.h>
#include <vlc_aout.h>
#include <vlc_sout.h>
#include <vlc_block.h>
static int Open ( vlc_object_t * );
static void Close ( vlc_object_t * );
-vlc_module_begin();
- set_description( _("WAV muxer") );
- set_capability( "sout mux", 5 );
- set_category( CAT_SOUT );
- set_subcategory( SUBCAT_SOUT_MUX );
- set_callbacks( Open, Close );
- add_shortcut( "wav" );
-vlc_module_end();
+vlc_module_begin ()
+ set_description( N_("WAV muxer") )
+ set_capability( "sout mux", 5 )
+ set_category( CAT_SOUT )
+ set_subcategory( SUBCAT_SOUT_MUX )
+ set_callbacks( Open, Close )
+ add_shortcut( "wav" )
+vlc_module_end ()
/*****************************************************************************
* Exported prototypes
struct sout_mux_sys_t
{
- vlc_bool_t b_used;
- vlc_bool_t b_header;
- vlc_bool_t b_ext;
+ bool b_used;
+ bool b_header;
+ bool b_ext;
uint32_t i_data;
uint32_t waveheader2[2];
uint32_t i_channel_mask;
- vlc_bool_t b_chan_reorder; /* do we need channel reordering */
+ bool b_chan_reorder; /* do we need channel reordering */
int pi_chan_table[AOUT_CHAN_MAX];
};
static const uint32_t pi_channels_src[] =
{ AOUT_CHAN_LEFT, AOUT_CHAN_RIGHT,
AOUT_CHAN_MIDDLELEFT, AOUT_CHAN_MIDDLERIGHT,
- AOUT_CHAN_REARLEFT, AOUT_CHAN_REARRIGHT,
+ AOUT_CHAN_REARLEFT, AOUT_CHAN_REARRIGHT, AOUT_CHAN_REARCENTER,
AOUT_CHAN_CENTER, AOUT_CHAN_LFE, 0 };
static const uint32_t pi_channels_in[] =
{ WAVE_SPEAKER_FRONT_LEFT, WAVE_SPEAKER_FRONT_RIGHT,
WAVE_SPEAKER_SIDE_LEFT, WAVE_SPEAKER_SIDE_RIGHT,
- WAVE_SPEAKER_BACK_LEFT, WAVE_SPEAKER_BACK_RIGHT,
+ WAVE_SPEAKER_BACK_LEFT, WAVE_SPEAKER_BACK_RIGHT, WAVE_SPEAKER_BACK_CENTER,
WAVE_SPEAKER_FRONT_CENTER, WAVE_SPEAKER_LOW_FREQUENCY, 0 };
static const uint32_t pi_channels_out[] =
{ WAVE_SPEAKER_FRONT_LEFT, WAVE_SPEAKER_FRONT_RIGHT,
WAVE_SPEAKER_FRONT_CENTER, WAVE_SPEAKER_LOW_FREQUENCY,
WAVE_SPEAKER_BACK_LEFT, WAVE_SPEAKER_BACK_RIGHT,
+ WAVE_SPEAKER_BACK_CENTER,
WAVE_SPEAKER_SIDE_LEFT, WAVE_SPEAKER_SIDE_RIGHT, 0 };
/*****************************************************************************
p_mux->pf_mux = Mux;
p_mux->p_sys = p_sys = malloc( sizeof( sout_mux_sys_t ) );
- p_sys->b_used = VLC_FALSE;
- p_sys->b_header = VLC_TRUE;
+ if( !p_sys )
+ return VLC_ENOMEM;
+ p_sys->b_used = false;
+ p_sys->b_header = true;
p_sys->i_data = 0;
p_sys->b_chan_reorder = 0;
static int Control( sout_mux_t *p_mux, int i_query, va_list args )
{
VLC_UNUSED(p_mux);
- vlc_bool_t *pb_bool;
+ bool *pb_bool;
char **ppsz;
switch( i_query )
{
case MUX_CAN_ADD_STREAM_WHILE_MUXING:
- pb_bool = (vlc_bool_t*)va_arg( args, vlc_bool_t * );
- *pb_bool = VLC_FALSE;
+ pb_bool = (bool*)va_arg( args, bool * );
+ *pb_bool = false;
return VLC_SUCCESS;
case MUX_GET_ADD_STREAM_WAIT:
- pb_bool = (vlc_bool_t*)va_arg( args, vlc_bool_t * );
- *pb_bool = VLC_TRUE;
+ pb_bool = (bool*)va_arg( args, bool * );
+ *pb_bool = true;
return VLC_SUCCESS;
case MUX_GET_MIME:
GUID subformat_guid = {0, 0, 0x10,{0x80, 0, 0, 0xaa, 0, 0x38, 0x9b, 0x71}};
sout_mux_sys_t *p_sys = p_mux->p_sys;
WAVEFORMATEX *p_waveformat = &p_sys->waveformat.Format;
- int i_bytes_per_sample, i_format;
- vlc_bool_t b_ext;
+ int i_bytes_per_sample;
+ uint16_t i_format;
+ bool b_ext;
if( p_input->p_fmt->i_cat != AUDIO_ES )
{
p_sys->i_channel_mask, (int)p_sys->b_chan_reorder );
}
- i_format = p_input->p_fmt->i_codec == VLC_FOURCC('f', 'l', '3', '2') ?
- WAVE_FORMAT_IEEE_FLOAT : WAVE_FORMAT_PCM;
+ fourcc_to_wf_tag( p_input->p_fmt->i_codec, &i_format );
b_ext = p_sys->b_ext = p_input->p_fmt->audio.i_channels > 2;
/* Build a WAV header for the output data */
p_sys->waveformat.SubFormat.Data1 = i_format;
- p_sys->b_used = VLC_TRUE;
+ p_sys->b_used = true;
return VLC_SUCCESS;
}
msg_Dbg( p_mux, "writing header data" );
sout_AccessOutWrite( p_mux->p_access, GetHeader( p_mux ) );
}
- p_sys->b_header = VLC_FALSE;
+ p_sys->b_header = false;
p_input = p_mux->pp_inputs[0];
while( block_FifoCount( p_input->p_fifo ) > 0 )