I think the if condition below will always be true. You may
want to use
INT32 cast.
+HXBOOL
+RTSPClientProtocol::trimResumeRequestPendingReplyList(UINT3
2
ulPlayReplySeqNum)
+{
+ UINT32* pHeadCmdSeqNum;
+ HXBOOL bIsResumeReply = FALSE;
+
+
+ while (!m_ResumeRequestPendingReplyList.IsEmpty())
+ {
+ pHeadCmdSeqNum = (UINT32*)
m_ResumeRequestPendingReplyList.GetHead();
+ if ((ulPlayReplySeqNum - (*pHeadCmdSeqNum)) >= 0)
<<<<<<<<<<<<<<<
<<<<------------
+ {
+ if ((*pHeadCmdSeqNum) == ulPlayReplySeqNum)
+ {
+ bIsResumeReply = TRUE;
+ }
+
+ m_ResumeRequestPendingReplyList.RemoveHead();
+ delete pHeadCmdSeqNum;
+ }
+ else
+ {
+ break;
+ }
+ }
+
+ return bIsResumeReply;
+}
-----Original Message-----
From: protocol-dev-bounces helixcommunity.org
[mailto:protocol-dev-bounces helixcommunity.org]On
Behalf Of Milko Boic
Sent: Monday, November 13, 2006 11:36 PM
To: protocol-dev helixcommunity.org; helix-client-dev helixcommunity.org
Subject: [Protocol-dev] CR: RTSP, RTP and 3GPP Adaptation
fixes
Modified by: milko real.com
Date: 11:13:06
Project: Atlas
Synopsis: RTSP, RTP and 3GPP Adaptation fixes
Overview:
This submission includes enhancements and fixes to a number
of RTSP
protocol related defects:
-> Enabled logging in rtsp protocol library
-> Properly handled PLAY reponse to PLAY request issued
for resumption of
playback not to be isunderstood for PLAY response received
on
seek. Previously, the following sequence of RTSP commands
caused
mishandling in the transport buffer due to improperly set
first sequence
number and thus resuting in freeze of audio or video
playback or freeze in
both. The freezing occured due to inclusion of stale data
into poset seek
packets.
PAUSE
PAUSE resp
PLAY (resume)
PLAY (seek)
PLAY resp (resume)
PLAY resp (seek)
The correction records PLAY command sequence numbers
represeting resumption
(as opposed to seek) and handles the response differently.
-> In RTP transport removed time-out for receotion of
play response. If
play response is not received, playback will not start. Any
pre-start
packet queueing is limited to the set transport buffer byte
limit.
-> Corrected handling of 3gpp alternate streams. The
parsing logic did not
properly set RTPPayloadType if an alternate stream was
chosen. This
resulted all incomming RTP packets to be rejected due to not
matching the
RTP payload.
-> Corrected handling of fast start on RTP streams with
RTSP pipelining
enabled. Previously, the code crashed in attempt to set
FastStart on
transport streams not yet set-up. This occured to RTPS
pipelining
optimizations which allowe playback engine to proceed with
set-up prior to
all streams setting up porperly. The fix account for
possibility of fast
start being communicated to a transport stream prior to it
being fully
set-up and deferes needed action until full set-up is
accomplished.
-> Properly handled pipleined seek messaged in RTSP/RTP
by keeping track of
outstanding seeks in transport and ignoring RTP info for
intermediate seeks:
PLAY (seek1)
PLAY (seek2)
PLAY (seek3)
PLAY resp (seek1)
PLAY resp (seek2)
PLAY resp (seek3)
-> Updated few log statements in client audio services
and corrected
sequence of m_Owner->CheckIfLastNMilliSecsToBeStored()
invocation thus
resulting on proper communication of NMilliSecsToBeStored on
stream
creation. This only correctes asserts in certain cases. No
known defects
are associated with this change.
Files Modified:
/client/audiosvc/hxaudply.cpp,v
/client/audiosvc/hxaudstr_new.cpp,v
/protocol/rtsp/rtspclnt.cpp,v
/protocol/rtsp/pub/rtspclnt.h,v
/protocol/sdp/sdpmdparse.cpp,v
/protocol/transport/common/system/rtsptran.cpp,v
/protocol/transport/common/system/transbuf.cpp,v
/protocol/transport/common/system/pub/rtsptran.h,v
/protocol/transport/common/system/pub/transbuf.h,v
/protocol/transport/rtp/rtptran.cpp,v
/protocol/transport/rtp/pub/rtptran.h,v
Image Size and Heap Use impact (Client -Only):
Insignificant.
Platforms and Profiles Affected:
All
Distribution Libraries Affected:
none
Distribution library impact and planned action:
n/a
Platforms and Profiles Build Verified:
win32-i386-vc7, helix-client-all-defines
Platforms and Profiles Functionality verified:
win32
_______________________________________________
Protocol-dev mailing list
Protocol-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/pr
otocol-dev
|