Commit 2c17f860 authored by Pierre Ynard's avatar Pierre Ynard

vod_rtsp: fix raw transport without x-playNow header

There have been reports about this. Untested
parent 2cdc5c75
...@@ -113,6 +113,7 @@ typedef struct ...@@ -113,6 +113,7 @@ typedef struct
char *psz_session; char *psz_session;
bool b_playing; /* is it in "play" state */ bool b_playing; /* is it in "play" state */
int i_port_raw;
int i_es; int i_es;
rtsp_client_es_t **es; rtsp_client_es_t **es;
...@@ -951,7 +952,6 @@ static int RtspCallback( httpd_callback_sys_t *p_args, httpd_client_t *cl, ...@@ -951,7 +952,6 @@ static int RtspCallback( httpd_callback_sys_t *p_args, httpd_client_t *cl,
const char *psz_session = NULL; const char *psz_session = NULL;
const char *psz_cseq = NULL; const char *psz_cseq = NULL;
rtsp_client_t *p_rtsp; rtsp_client_t *p_rtsp;
int i_port = 0;
int i_cseq = 0; int i_cseq = 0;
if( answer == NULL || query == NULL ) return VLC_SUCCESS; if( answer == NULL || query == NULL ) return VLC_SUCCESS;
...@@ -982,8 +982,8 @@ static int RtspCallback( httpd_callback_sys_t *p_args, httpd_client_t *cl, ...@@ -982,8 +982,8 @@ static int RtspCallback( httpd_callback_sys_t *p_args, httpd_client_t *cl,
{ {
rtsp_client_t *p_rtsp = NULL; rtsp_client_t *p_rtsp = NULL;
char ip[NI_MAXNUMERICHOST]; char ip[NI_MAXNUMERICHOST];
i_port = atoi( strstr( psz_transport, "client_port=" ) + int i_port = atoi( strstr( psz_transport, "client_port=" ) +
strlen("client_port=") ); strlen("client_port=") );
if( strstr( psz_transport, "MP2T/H2221/UDP" ) || if( strstr( psz_transport, "MP2T/H2221/UDP" ) ||
strstr( psz_transport, "RAW/RAW/UDP" ) ) strstr( psz_transport, "RAW/RAW/UDP" ) )
...@@ -1047,6 +1047,8 @@ static int RtspCallback( httpd_callback_sys_t *p_args, httpd_client_t *cl, ...@@ -1047,6 +1047,8 @@ static int RtspCallback( httpd_callback_sys_t *p_args, httpd_client_t *cl,
if( p_media->b_raw ) if( p_media->b_raw )
{ {
p_rtsp->i_port_raw = i_port;
if( strstr( psz_transport, "MP2T/H2221/UDP" ) ) if( strstr( psz_transport, "MP2T/H2221/UDP" ) )
{ {
httpd_MsgAdd( answer, "Transport", httpd_MsgAdd( answer, "Transport",
...@@ -1165,7 +1167,7 @@ static int RtspCallback( httpd_callback_sys_t *p_args, httpd_client_t *cl, ...@@ -1165,7 +1167,7 @@ static int RtspCallback( httpd_callback_sys_t *p_args, httpd_client_t *cl,
{ {
if( asprintf( &psz_output, if( asprintf( &psz_output,
"std{access=udp,dst=%s:%i,mux=%s}", "std{access=udp,dst=%s:%i,mux=%s}",
ip, i_port, p_media->psz_mux ) < 0 ) ip, p_rtsp->i_port_raw, p_media->psz_mux ) < 0 )
return VLC_ENOMEM; return VLC_ENOMEM;
} }
else else
......
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