summaryrefslogtreecommitdiff
path: root/frontend_svr.c
diff options
context:
space:
mode:
Diffstat (limited to 'frontend_svr.c')
-rw-r--r--frontend_svr.c33
1 files changed, 15 insertions, 18 deletions
diff --git a/frontend_svr.c b/frontend_svr.c
index 017a033d..18f9fb1b 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.8 2006-07-06 02:57:59 phintuka Exp $
+ * $Id: frontend_svr.c,v 1.9 2006-07-07 05:32:14 phintuka Exp $
*
*/
@@ -457,6 +457,16 @@ int cXinelibServer::Xine_Control(const char *cmd)
return 1;
}
+void cXinelibServer::TrickSpeed(int Speed)
+{
+ if(Speed == 0)
+ m_Scheduler->Pause(true);
+ else
+ m_Scheduler->Pause(false);
+
+ cXinelibThread::TrickSpeed(Speed);
+}
+
bool cXinelibServer::EndOfStreamReached(void)
{
LOCK_THREAD;
@@ -577,7 +587,7 @@ bool cXinelibServer::Listen(int listen_port)
// set listen for discovery messages
CLOSESOCKET(fd_discovery);
- if(xc.remote_usebcast && fd_discovery<0) {
+ if(xc.remote_usebcast) {
struct sockaddr_in sin;
if ((fd_discovery = socket(PF_INET, SOCK_DGRAM, 0/*IPPROTO_TCP*/)) < 0) {
LOGERR("socket() failed (UDP discovery)");
@@ -608,7 +618,7 @@ bool cXinelibServer::Listen(int listen_port)
CLOSESOCKET(fd_multicast);
CLOSESOCKET(fd_rtcp);
- if(xc.remote_usertp && fd_multicast < 0) {
+ if(xc.remote_usertp) {
//
// RTP
//
@@ -671,7 +681,7 @@ bool cXinelibServer::Listen(int listen_port)
if(xc.remote_rtp_always_on)
LOGMSG("WARNING: RTP Configuration: transmission is always on !");
if(xc.remote_rtp_always_on || m_iMulticastMask)
- m_Scheduler->AddHandle(fd_multicast);
+ m_Scheduler->AddHandle(fd_multicast, fd_rtcp);
}
}
@@ -688,7 +698,6 @@ uchar *cXinelibServer::GrabImage(int &Size, bool Jpeg,
return NULL;
}
-
//
// (Client) Control message handling
//
@@ -826,7 +835,7 @@ void cXinelibServer::Handle_Control_RTP(int cli, const char *arg)
}
if(!m_iMulticastMask)
- m_Scheduler->AddHandle(fd_multicast);
+ m_Scheduler->AddHandle(fd_multicast, fd_rtcp);
m_bMulticast[cli] = true;
m_iMulticastMask |= (1<<cli);
@@ -1170,16 +1179,6 @@ void cXinelibServer::Handle_Discovery_Broadcast()
}
}
-void cXinelibServer::Handle_RTCP(void)
-{
- // Called locked !
- if(fd_rtcp >= 0 && (xc.remote_rtp_always_on || m_iMulticastMask)) {
- if(m_Scheduler) {
- m_Scheduler->Send_RTCP(fd_rtcp, m_Frames, m_StreamPos);
- }
- }
-}
-
void cXinelibServer::Action(void)
{
@@ -1308,8 +1307,6 @@ void cXinelibServer::Action(void)
} /* for(fds) */
- Handle_RTCP();
-
Unlock();
} /* Check poll result */