diff options
author | phintuka <phintuka> | 2006-07-22 20:13:18 +0000 |
---|---|---|
committer | phintuka <phintuka> | 2006-07-22 20:13:18 +0000 |
commit | b065efd0b9a0dc0cc62ab0af0d023b0e5a832a6b (patch) | |
tree | dbe0b31ad183ba1a73453d2302537456f980a688 | |
parent | da30eaa25a832739ae4a02f1eb5bd46e20765d48 (diff) | |
download | xineliboutput-b065efd0b9a0dc0cc62ab0af0d023b0e5a832a6b.tar.gz xineliboutput-b065efd0b9a0dc0cc62ab0af0d023b0e5a832a6b.tar.bz2 |
*** empty log message ***
-rw-r--r-- | tools/udp_pes_scheduler.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/tools/udp_pes_scheduler.c b/tools/udp_pes_scheduler.c index 7d6bce13..66fd95cd 100644 --- a/tools/udp_pes_scheduler.c +++ b/tools/udp_pes_scheduler.c @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: udp_pes_scheduler.c,v 1.9 2006-07-21 22:52:50 phintuka Exp $ + * $Id: udp_pes_scheduler.c,v 1.10 2006-07-22 20:13:18 phintuka Exp $ * */ @@ -668,19 +668,19 @@ void cUdpScheduler::ReSend(int fd, uint64_t Pos, int Seq1, int Seq2) ((stream_udp_header_t *)udp_ctrl)->seq = (uint16_t)(-1); ((stream_udp_header_t *)udp_ctrl)->pos = (uint64_t)(-1); - cMutexLock ml(&m_Lock); // keeps also scheduler thread suspended ... - // Handle buffer wrap if(Seq1 > Seq2) Seq2 += UDP_BUFFER_SIZE; + cMutexLock ml(&m_Lock); // keeps also scheduler thread suspended ... + if(Seq2-Seq1 > 64) { LOGDBG("cUdpScheduler::ReSend: requested range too large (%d-%d)", Seq1, Seq2); sprintf((udp_ctrl+sizeof(stream_udp_header_t)), "UDP MISSING %d-%d %" PRIu64, - Seq1, Seq2, Pos); + Seq1, (Seq2 & UDP_BUFFER_MASK), Pos); send(fd, udp_ctrl, 64, 0); return; } |