Commit 55c96074 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

Merge branch 'base' into master

parents b74ce937 8e4c60f6
...@@ -267,6 +267,8 @@ case $HOST in ...@@ -267,6 +267,8 @@ case $HOST in
# Try to match distribution # Try to match distribution
if test -f /etc/fedora-release; then if test -f /etc/fedora-release; then
cat src/Distributions/fedora.mak >> distro.mak cat src/Distributions/fedora.mak >> distro.mak
elif test -f /etc/maemo_version; then
cat src/Distributions/maemo.mak >> distro.mak
else else
# Default Unix-like systems # Default Unix-like systems
cat src/Distributions/unix.mak >> distro.mak cat src/Distributions/unix.mak >> distro.mak
......
# Maemo 5
all: \
.mad .a52 .dca .mpcdec .faad .lame .mpeg2 \
.id3tag \
.ogg .vorbis .vorbisenc .flac .speex .theora .kate .tiger \
.twolame .x264 \
.ebml .matroska .ffmpeg .mod \
.live .dvbpsi .zvbi \
.lua
#.gpg-error .gcrypt .gnutls -> OpenSSL
#.dvdcss .dvdnav -> no DVD
#.dirac -> broken
#.faac -> non-free
...@@ -133,7 +133,8 @@ endif ...@@ -133,7 +133,8 @@ endif
FFMPEGCONF+= --enable-small --disable-debug --disable-mpegaudio-hp FFMPEGCONF+= --enable-small --disable-debug --disable-mpegaudio-hp
FFMPEG_CFLAGS += -DHAVE_LRINTF --std=c99 FFMPEG_CFLAGS += -DHAVE_LRINTF --std=c99
else else
FFMPEGCONF+= --enable-libmp3lame --enable-libfaac --enable-libgsm FFMPEGCONF+= --enable-libmp3lame --enable-libgsm
#--enable-libfaac
endif endif
ifdef HAVE_BEOS ifdef HAVE_BEOS
......
...@@ -853,10 +853,8 @@ static sout_stream_id_t *Add( sout_stream_t *p_stream, es_format_t *p_fmt ) ...@@ -853,10 +853,8 @@ static sout_stream_id_t *Add( sout_stream_t *p_stream, es_format_t *p_fmt )
* mux (TS/PS), then p_fmt is NULL. */ * mux (TS/PS), then p_fmt is NULL. */
sout_stream_sys_t *p_sys = p_stream->p_sys; sout_stream_sys_t *p_sys = p_stream->p_sys;
sout_stream_id_t *id; sout_stream_id_t *id;
int i_port, cscov = -1; int cscov = -1;
char *psz_sdp; char *psz_sdp;
int i_port_audio_option = var_GetInteger( p_stream, "port-audio" );
int i_port_video_option = var_GetInteger( p_stream, "port-video" );
if (0xffffffff == p_sys->payload_bitmap) if (0xffffffff == p_sys->payload_bitmap)
{ {
...@@ -864,38 +862,41 @@ static sout_stream_id_t *Add( sout_stream_t *p_stream, es_format_t *p_fmt ) ...@@ -864,38 +862,41 @@ static sout_stream_id_t *Add( sout_stream_t *p_stream, es_format_t *p_fmt )
return NULL; return NULL;
} }
id = vlc_object_create( p_stream, sizeof( sout_stream_id_t ) );
if( id == NULL )
return NULL;
vlc_object_attach( id, p_stream );
/* Choose the port */ /* Choose the port */
i_port = 0; uint16_t i_port = 0;
if( p_fmt == NULL ) if( p_fmt == NULL )
; ;
else else
if( p_fmt->i_cat == AUDIO_ES && p_sys->i_port_audio > 0 ) if( p_fmt->i_cat == AUDIO_ES && p_sys->i_port_audio > 0 )
{
i_port = p_sys->i_port_audio; i_port = p_sys->i_port_audio;
p_sys->i_port_audio = 0;
}
else else
if( p_fmt->i_cat == VIDEO_ES && p_sys->i_port_video > 0 ) if( p_fmt->i_cat == VIDEO_ES && p_sys->i_port_video > 0 )
{
i_port = p_sys->i_port_video; i_port = p_sys->i_port_video;
p_sys->i_port_video = 0;
}
while( i_port == 0 ) /* We do not need the ES lock (p_sys->lock_es) here, because this is the
* only one thread that can *modify* the ES table. The ES lock protects
* the other threads from our modifications (TAB_APPEND, TAB_REMOVE). */
for (int i = 0; i_port && (i < p_sys->i_es); i++)
if (i_port == p_sys->es[i]->i_port)
i_port = 0; /* Port already in use! */
for (uint16_t p = p_sys->i_port; i_port == 0; p += 2)
{ {
if( p_sys->i_port != i_port_audio_option if (p == 0)
&& p_sys->i_port != i_port_video_option )
{ {
i_port = p_sys->i_port; msg_Err (p_stream, "too many RTP elementary streams");
return NULL;
} }
p_sys->i_port += 2; i_port = p;
for (int i = 0; i_port && (i < p_sys->i_es); i++)
if (p == p_sys->es[i]->i_port)
i_port = 0;
} }
id = vlc_object_create( p_stream, sizeof( sout_stream_id_t ) );
if( id == NULL )
return NULL;
vlc_object_attach( id, p_stream );
id->p_stream = p_stream; id->p_stream = p_stream;
/* Look for free dymanic payload type */ /* Look for free dymanic payload type */
...@@ -1309,11 +1310,6 @@ static int Del( sout_stream_t *p_stream, sout_stream_id_t *id ) ...@@ -1309,11 +1310,6 @@ static int Del( sout_stream_t *p_stream, sout_stream_id_t *id )
TAB_REMOVE( p_sys->i_es, p_sys->es, id ); TAB_REMOVE( p_sys->i_es, p_sys->es, id );
vlc_mutex_unlock( &p_sys->lock_es ); vlc_mutex_unlock( &p_sys->lock_es );
/* Release port */
if( id->i_port == var_GetInteger( p_stream, "port-audio" ) )
p_sys->i_port_audio = id->i_port;
if( id->i_port == var_GetInteger( p_stream, "port-video" ) )
p_sys->i_port_video = id->i_port;
/* Release dynamic payload type */ /* Release dynamic payload type */
if (id->i_payload_type >= 96) if (id->i_payload_type >= 96)
p_sys->payload_bitmap &= ~(1 << (id->i_payload_type - 96)); p_sys->payload_bitmap &= ~(1 << (id->i_payload_type - 96));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment