[prev in list] [next in list] [prev in thread] [next in thread]
List: helix-server-cvs
Subject: [Server-cvs] protocol/http/pub httpprot.h,1.52,1.53
From: ryuan () helixcommunity ! org
Date: 2011-12-24 3:46:55
[Download RAW message or body]
Update of /cvsroot/server/protocol/http/pub
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv7947/pub
Modified Files:
httpprot.h
Log Message:
Synopsis:
=========
Fixes bug 269453 Unable to track iPhone disconnect time for use in a bookmarking URL
Branches: SERVER_14_3_RN and SERVER_CURRENT_RN (HEAD).
Reviewed By: Chytanya
Description:
============
For RTSP clients this can be done through the NPTEnd value passed through Session \
Manager however this is logged as 0 for iPhone disconnects. So the target is to set \
NPTEndTime for HLS.
My solution:
Unlike RTSP/RTMP, there is no Client Session object for HLS. But there is still a \
pClipStats object for each persistent http connection, so set the NPTEndTime in it. \
So I added two functions in HTTPProtocol, one is to get the clip duration, another is \
to set the NPTEndTime.
DetermineSegmentDuration(const char* pszURL, IHXRegistry* pReg) Searching \
MPEG2_Transport_Stream to get the corresponding mount point name of this ts URL, then \
searching the FSMount to get the duration of the mount point.
SetNPTEndTimeForHLS(IHXClipStats* pClipStats, const char* pszURL); Set NPT End Time
Files affected:
===============
server/protocol/http/httpproto.cpp
server/protocol/http/pub/httpproto.h
Testing Performed:
================
Unit Tests:
1. Use a templatized log, Use format to output NPTEndTime<Var \
FormatOnDisconnect="ClientIP:%Client.*.IPAddress%\nEndtime:%Client.*.Session.*.Clip.*.NPTEndTime%\nURL:%Client.*.Session.*.Clip.*.URL%\n\n"/>
2. For HLS, it can output the corresponding NPTEndTime of the TS file.
Integration Tests:
None
Leak Tests: None
Performance Tests: N/A
Platforms Tested: win-x86_64-vc10
Builds Verified: win-x86_64-vc10
QA Hints
========
None.
Index: httpprot.h
===================================================================
RCS file: /cvsroot/server/protocol/http/pub/httpprot.h,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -d -r1.52 -r1.53
--- httpprot.h 21 Nov 2011 02:59:45 -0000 1.52
+++ httpprot.h 24 Dec 2011 03:46:52 -0000 1.53
@@ -186,6 +186,8 @@
void SetSocketTimeoutTS();
void LogFinalTSRequest();
HXBOOL IsM3ugenReq();
+ void DetermineSegmentDuration(const char* pszURL, \
IHXRegistry* pReg); + void SetNPTEndTimeForHLS(IHXClipStats* \
pClipStats, const char* pszURL); #endif
void ByteRangeReset();
@@ -249,6 +251,7 @@
IHXBuffer* m_pReadBuffer;
UINT32 m_ulReadBufOffset;
IHXBuffer* m_pGzipOutBuffer;
+ UINT32 m_ulSegmentDuration;
#endif //HELIX_FEATURE_SERVER_MPEG2TS
};
_______________________________________________
Server-cvs mailing list
Server-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/server-cvs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic