summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorphintuka <phintuka>2009-02-10 12:50:50 +0000
committerphintuka <phintuka>2009-02-10 12:50:50 +0000
commit6c85b277842a76640d1883713f43ca53029580e4 (patch)
tree950ae7a494d82f86c219d31097716d1c4eb08701
parent53c43825ac7e68b6984a077f1692daa61fa54d43 (diff)
downloadxineliboutput-6c85b277842a76640d1883713f43ca53029580e4.tar.gz
xineliboutput-6c85b277842a76640d1883713f43ca53029580e4.tar.bz2
Added payload type to SDP
-rw-r--r--frontend_svr.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/frontend_svr.c b/frontend_svr.c
index 62669d1d..98fdc093 100644
--- a/frontend_svr.c
+++ b/frontend_svr.c
@@ -4,7 +4,7 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: frontend_svr.c,v 1.65 2008-12-19 15:16:08 phintuka Exp $
+ * $Id: frontend_svr.c,v 1.66 2009-02-10 12:50:50 phintuka Exp $
*
*/
@@ -1434,18 +1434,20 @@ void cXinelibServer::Handle_Control_RTSP(int cli, const char *arg)
else if(!strcmp(m_State[cli]->Name(), "DESCRIBE")) {
cHeader *accept = m_State[cli]->Header("Accept");
if(accept && strstr(accept->Value(), "application/sdp")) {
- struct sockaddr_in sin;
- socklen_t len = sizeof(sin);
- char buf[64];
- fd_control[cli].getsockname((struct sockaddr *)&sin, &len);
+ struct sockaddr_in sin;
+ socklen_t len = sizeof(sin);
+ char buf[64];
+ uint32_t payload_type = VDRVERSNUM > 10702 ? SDP_PAYLOAD_MPEG_TS : SDP_PAYLOAD_MPEG_PES;
+ fd_control[cli].getsockname((struct sockaddr *)&sin, &len);
const char *sdp_descr = vdr_sdp_description(cxSocket::ip2txt(sin.sin_addr.s_addr,
- sin.sin_port, buf),
- 2001,
- xc.listen_port,
- xc.remote_rtp_addr,
- /*m_ssrc*/0x4df73452,
- xc.remote_rtp_port,
- xc.remote_rtp_ttl);
+ sin.sin_port, buf),
+ 2001,
+ xc.listen_port,
+ xc.remote_rtp_addr,
+ payload_type,
+ /*m_ssrc*/0x4df73452,
+ xc.remote_rtp_port,
+ xc.remote_rtp_ttl);
size_t sdplen = sdp_descr ? strlen(sdp_descr) : 0;
RTSPOUT(RTSP_200_OK
"Content-Type: application/sdp\r\n"