[MMUSIC] RTSP: PLAY in play mode and state machine
Magnus Westerlund <magnus.westerlund@ericsson.com> Fri, 15 July 2005 13:55 UTC
Received: from localhost.localdomain ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1DtQf3-0002js-2O; Fri, 15 Jul 2005 09:55:29 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1DtQf1-0002ee-4p for mmusic@megatron.ietf.org; Fri, 15 Jul 2005 09:55:27 -0400
Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id JAA06688 for <mmusic@ietf.org>; Fri, 15 Jul 2005 09:55:24 -0400 (EDT)
Received: from mailgw4.ericsson.se ([193.180.251.62]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1DtR7o-0001GX-TH for mmusic@ietf.org; Fri, 15 Jul 2005 10:25:14 -0400
Received: from esealmw127.eemea.ericsson.se (unknown [153.88.254.122]) by mailgw4.ericsson.se (Symantec Mail Security) with ESMTP id 7C30D18F8 for <mmusic@ietf.org>; Fri, 15 Jul 2005 15:55:05 +0200 (CEST)
Received: from esealmw129.eemea.ericsson.se ([153.88.254.173]) by esealmw127.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.211); Fri, 15 Jul 2005 15:55:04 +0200
Received: from [147.214.34.34] ([147.214.34.34]) by esealmw129.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.211); Fri, 15 Jul 2005 15:55:04 +0200
Message-ID: <42D7C037.3080401@ericsson.com>
Date: Fri, 15 Jul 2005 15:55:03 +0200
From: Magnus Westerlund <magnus.westerlund@ericsson.com>
User-Agent: Mozilla Thunderbird 1.0.5 (Windows/20050711)
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: "mmusic (E-mail)" <mmusic@ietf.org>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 7bit
X-OriginalArrivalTime: 15 Jul 2005 13:55:04.0180 (UTC) FILETIME=[CD1AE340:01C58944]
X-Brightmail-Tracker: AAAAAA==
X-Spam-Score: 0.0 (/)
X-Scan-Signature: e8a67952aa972b528dd04570d58ad8fe
Content-Transfer-Encoding: 7bit
Subject: [MMUSIC] RTSP: PLAY in play mode and state machine
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:mmusic@ietf.org>
List-Help: <mailto:mmusic-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=subscribe>
Sender: mmusic-bounces@ietf.org
Errors-To: mmusic-bounces@ietf.org
Hi, Do agree with Sean that Play while playing is a good feature. However it do surface the issues RTSP has with the state machine and state transitions. First of all I would like to inform on a what Sean and I have written on this method usage. PLAY request can be received by the server in play state. The new request replaces the previous request, and work in fact the same way a PAUSE, PLAY pipelined request would work. I have also added a proposal to have the new PLAY request having an open start point (npt=-30) to allow one to continue playing where one currently are, and basically only change the rest of the range header. This would allow one to replace a PLAY request with Range:npt=0- with a NPT header saying npt=-50;npt=20-30;npt=200-300 as long as this request arrives before the server has passed 50. This can in fact be used to implement queued play without the issue of having the list of jumps needing to be handled on the server side. As I see it has very little implementation burden. Back to RTSP and its state machine. With this PLAY in play state mechanism the difference between ready and play state is not as clear as one would desire. A lot of what one can do in ready is also possible in play state. The issues as I see it with the RTSP state machine is that one really would like to have it drop to ready state as soon as it has finished playing. However this would require that the server could send asynchronous messages to indicate that state transition. Otherwise and the reason that state machine looks like it currently does, is to avoid the server initiate implicit state transitions in cases where it doesn't result in session termination. Unfortunately I don't see any easy way out of this dilemma. The alternatives are as I see it: 1. Introduce these messages into RTSP. However this is quite a serious change which I don't know if we can muster the energy for. However this would resolve the end of stream issues. 2. Let the end_of_stream draft resolve the issue. 3. Do nothing to the state machine and except that the states are not a straightforward as one would expect. 4. Introduce a recovery mechanism that could introduce explicit state indication to inform the client about which state the server was when receiving the request and failed to handled it and which state it ends up in after successful execution of a request. One could even introduce a required-state header that ensures that the request only is executed in the state one currently is in. From a protocol perspective I would think that doing both 1 and 4 would be the best. However I a bit worried about introducing these at this stage. Feedback solicited. Cheers Magnus Westerlund Multimedia Technologies, Ericsson Research EAB/TVA/A ---------------------------------------------------------------------- Ericsson AB | Phone +46 8 4048287 Torshamsgatan 23 | Fax +46 8 7575550 S-164 80 Stockholm, Sweden | mailto: magnus.westerlund@ericsson.com _______________________________________________ mmusic mailing list mmusic@ietf.org https://www1.ietf.org/mailman/listinfo/mmusic
- [MMUSIC] RTSP: PLAY in play mode and state machine Magnus Westerlund