add_string( SOUT_CFG_PREFIX "rating", "", NULL, RATING_TEXT,
RATING_LONGTEXT, true );
add_integer( SOUT_CFG_PREFIX "packet-size", 4096, NULL, PACKETSIZE_TEXT,
- PACKETSIZE_LONGTEXT, VLC_TRUE );
+ PACKETSIZE_LONGTEXT, true );
add_integer( SOUT_CFG_PREFIX "bitrate-override", 0, NULL, BITRATE_TEXT,
- BITRATE_LONGTEXT, VLC_TRUE );
+ BITRATE_LONGTEXT, true );
vlc_module_end();
p_sys->i_bitrate_override = config_GetInt( p_mux, "sout-asf-bitrate-override" );
msg_Dbg( p_mux, "Packet size %d", p_sys->i_packet_size);
if (p_sys->i_bitrate_override)
- msg_Dbg( p_mux, "Bitrate override %d", p_sys->i_bitrate_override);
+ msg_Dbg( p_mux, "Bitrate override %"PRId64, p_sys->i_bitrate_override);
p_sys->i_packet_count= 0;
/* Generate a random fid */
*****************************************************************************/
static int DelStream( sout_mux_t *p_mux, sout_input_t *p_input )
{
- VLC_UNUSED(p_input);
+ /* if bitrate ain't defined in commanline, reduce it when tracks are deleted
+ */
+ sout_mux_sys_t *p_sys = p_mux->p_sys;
+ asf_track_t *tk = p_input->p_sys;
+ if(!p_sys->i_bitrate_override)
+ {
+ if( tk->i_cat == AUDIO_ES )
+ {
+ if( p_input->p_fmt->i_bitrate > 24000 )
+ p_sys->i_bitrate -= p_input->p_fmt->i_bitrate;
+ else
+ p_sys->i_bitrate -= 512000;
+ }
+ else if(tk->i_cat == VIDEO_ES )
+ {
+ if( p_input->p_fmt->i_bitrate > 50000 )
+ p_sys->i_bitrate -= p_input->p_fmt->i_bitrate;
+ else
+ p_sys->i_bitrate -= 1000000;
+ }
+ }
msg_Dbg( p_mux, "removing input" );
return VLC_SUCCESS;
}