[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-server-cvs
Subject:    [Server-cvs] engine/session/pub clientsession.h,1.83,1.84
From:       yuxinliu () helixcommunity ! org
Date:       2011-09-28 5:22:08
Message-ID: 201109280621.p8S6L4Us028349 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/server/engine/session/pub
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv13920/pub

Modified Files:
	clientsession.h 
Log Message:
Synopsis
========
This CR fixes PR 269469: clipBegin fails for non-first clip in SSPL file

Branch : SERVER_CURRENT_RN
Reviewed by: Chytanya

Description:
==========
When having a Helix Playlist file which specifies a specific start position of a \
piece of content in the playlist, this works fine for the first piece of content \
however is ignored for any subsequent request.

The cause of the problem:
When server switch source from first clip to second clip, it need to seek second clip \
according to its ClipBin time. But I find it will fail at CQTFileFormat::Seek because \
of NO_STREAM_SET.

My fix is:
I add a new interface SwitchDoneSeek in hxswitch.h, and then move seek code into new \
function ClientSession::SwitchDoneSeek. It will be called by \
BasePacketShim::Resubscribe to make sure streams will be subscribed first before \
CSessionSourceControl::DoInternalSeek is called.


Files affected:
=========
server/engine/inputsource/base_shim.cpp
server/engine/session/clientsession.cpp
server/engine/session/pub/clientsession.h
server-restricted/protocol/http-ctrl/fcsgethandler.cpp
server-restricted/protocol/http-ctrl/pub/fcsgethandler.h
server/include/hxswitch.h
server-restricted/datatype/playlist/playlist_control.cpp
server-restricted/datatype/playlist/pub/playlist_control.h


Testing Performed:
================
Unit Tests: 
Using VLC to connect to server like this: rtsp://192.168.8.38/test.hpl, now It begin \
playback at each of the designated points. The content of test.hpl:
<smil xmlns="http://www.w3.org/2001/SMIL20/Language">
    <head>
        <meta name="title" content="Travel - H264"/>
        <meta name="copyright" content="(c) 2010"/>
    </head>
    <body>
		<video id="Slow_Boat" src="/3gp/Venice-h264.3gp" clipBegin="25">
        </video>    
		<video id="Desert_Race" src="/3gp/Desertrace-h264.3gp" clipBegin="15">
        </video>		
        <video id="Riders" src="/3gp/Riders-h264.3gp" clipBegin="20">
        </video>
    </body>
</smil>

Note: you can add <Vare ForceMDP="1"> to enable MDP for testing.

Leak Tests: None
Performance Tests: N/A

Platforms Tested: linux-rhel5-x86_64, win-x86-vc10

Builds Verified: linux-rhel5-x86_64, win-x86-vc10

QA Hints



Index: clientsession.h
===================================================================
RCS file: /cvsroot/server/engine/session/pub/clientsession.h,v
retrieving revision 1.83
retrieving revision 1.84
diff -u -d -r1.83 -r1.84
--- clientsession.h	12 Apr 2011 22:36:51 -0000	1.83
+++ clientsession.h	28 Sep 2011 05:22:05 -0000	1.84
@@ -328,6 +328,7 @@
 
     /* IID_IHXSwitchResponse */
     STDMETHOD   (SwitchDone)(THIS_ HX_RESULT status);
+	STDMETHOD   (SwitchDoneSeek)();
 #else
     inline HXBOOL IsSwitchable() { return FALSE; }
 #endif //HELIX_FEATURE_SERVER_FCS


_______________________________________________
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