J'ai fait une petite modification au patch de crazyfred : l'option s'appelle maintenant --rtsp-client-port
De plus il n'y a plus de port par défaut : si on ne spécifie pas l'option ou si on met '0', vlc se comporte comme la version non patchée.
A ce propos, il semble après une recherche rapide dans les sources que vlc utilise comme port client un port spécifié par le serveur (la freebox dans notre cas ne spécifie rien) dans la ligne "m=video 0 RTP/AVP 33" (le '0' est le port du client)
Donc je pense que free peut nous faire une mise a jour du firmware qui résoudrait tous nos malheureux problèmes de configuration de passerelle.
le patch pour la version svn de vlc :
Index: modules/demux/livedotcom.cpp
===================================================================
--- modules/demux/livedotcom.cpp (révision 13824)
+++ modules/demux/livedotcom.cpp (copie de travail)
@@ -68,6 +68,10 @@
"dialect of RTSP. When you set this parameter, VLC will try this dialect "
"for communication. In this mode you cannot talk to normal RTSP servers." )
+#define PORT_TEXTE N_("UDP Client Port (Spécial Freebox !)")
+#define PORT_LONGTEXTE N_(
+ "Allows you to specify the port used to receive the stream." )
+
vlc_module_begin();
set_description( _("RTP/RTSP/SDP demuxer (using Live555.com)" ) );
set_capability( "demux2", 50 );
@@ -98,6 +102,7 @@
CACHING_TEXT, CACHING_LONGTEXT, VLC_TRUE );
add_bool( "rtsp-kasenna", VLC_FALSE, NULL, KASENNA_TEXT,
KASENNA_LONGTEXT, VLC_TRUE );
+ add_integer( "rtsp-client-port", 0, NULL, PORT_TEXTE, PORT_LONGTEXTE, VLC_TRUE);
vlc_module_end();
/* TODO:
@@ -208,6 +213,8 @@
int i_sdp_max;
uint8_t *p_sdp;
+ unsigned short clientport;
+
if( p_demux->s )
{
/* See if it looks like a SDP
@@ -370,6 +377,10 @@
else
continue;
+ clientport = (unsigned short) var_CreateGetInteger( p_demux, "rtsp-client-port" );
+ if(clientport != 0)
+ sub->setClientPortNum(clientport);
+
if( !strcmp( sub->codecName(), "X-ASF-PF" ) )
bInit = sub->initiate( 4 ); /* Constant ? */
else