diff options
author | phintuka <phintuka> | 2009-07-02 18:27:19 +0000 |
---|---|---|
committer | phintuka <phintuka> | 2009-07-02 18:27:19 +0000 |
commit | 55d12e933581d8e2009ff2640cec1db753a66968 (patch) | |
tree | 9838b75911ca7e4df6cb9f7adbc618743a5a9968 | |
parent | 1c3b11742f888096c0e560a8a003b7ac98e522a2 (diff) | |
download | xineliboutput-55d12e933581d8e2009ff2640cec1db753a66968.tar.gz xineliboutput-55d12e933581d8e2009ff2640cec1db753a66968.tar.bz2 |
- Send padding packet to new UDP/RTP clients.
(Client uses first received packet to test the connection).
- Send header (PAT/PMT) to new UDP/RTP clients
-rw-r--r-- | frontend_svr.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/frontend_svr.c b/frontend_svr.c index 602d76bf..c993fec2 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.73 2009-06-01 14:15:59 phintuka Exp $ + * $Id: frontend_svr.c,v 1.74 2009-07-02 18:27:19 phintuka Exp $ * */ @@ -1108,6 +1108,12 @@ void cXinelibServer::Handle_Control_RTP(int cli, const char *arg) m_bMulticast[cli] = true; m_iMulticastMask |= (1<<cli); + + // Send padding packet before header (PAT/PMT). + // Client uses first received UDP/RTP packet to test connection. + m_Scheduler->QueuePadding(); + if (m_Header) + m_Scheduler->Queue(0, m_Header, m_HeaderLength); } void cXinelibServer::Handle_Control_UDP(int cli, const char *arg) @@ -1140,6 +1146,12 @@ void cXinelibServer::Handle_Control_UDP(int cli, const char *arg) m_bUdp[cli] = true; fd_data[cli] = fd; m_Scheduler->AddHandle(fd); + + // Send padding packet before header (PAT/PMT). + // Client uses first received UDP/RTP packet to test connection. + m_Scheduler->QueuePadding(); + if (m_Header) + m_Scheduler->Queue(0, m_Header, m_HeaderLength); } void cXinelibServer::Handle_Control_KEY(int cli, const char *arg) |