HTTP Live Streaming mixed mode

Originator:drodrigueztroitino
Number:rdar://7366228 Date Originated:05-Nov-2009 12:53 AM
Status:Open Resolved:No
Product:Other Product Version:HTTP-LS Draft 02
Classification:Enhancement Reproducible:Always
 
Summary: 
A HTTP-LS has two modes: when EXT-X-ENDLIST is specified the reproduction start from the beginning (looking at the iPhoneOS and QuickTime X implementations, because the RFC says "any file in the Playlist MAY be played first"), when that tag is not specified the reproduction starts from the third to last segment of the index files (provided that the segments are long enough. The RFC says "any file except for the last and second-to-last files"). There is no way to indicate the clients that the HTTP-LS is an ongoing event (more segments will be added at the end of the list), but that they should start from the beggining.

Steps to Reproduce: N/A

Expected Results:
The content generators should be able to indicate that the client should start the reproduction from the beginning, but that the segment index will be updated.

Actual Results:
A HTTP-LS that has a EXT-X-ENDLIST is reproduced from the beginning, when the available segments are all reproduced the iPhoneOS client sometimes reload the m3u8 and keeps playing if new segments have been added, sometimes it stops, and sometimes it "hangs" in the loading state. The RFC says "The EXT-X-ENDLIST tag indicates that no more media files will be added to the Playlist file" and also "The client MUST periodically reload the Playlist file unless it contains the EXT-X-ENDLIST tag."
A HTTP-LS that has no EXT-X-ENDLIST tag is reproduced from the third to last segment, and keeps playing until the server include the final segment and the EXT-X-ENDLIST tag. The user can manually go back 30 seconds at time to the first segment, but there is no way to go to the beginning or indicate the client to start from the beginning.

Regression:
Reproducible in iPhoneOS 3.1.2 and QuickTime X Player 10.0 (Mac OS X 10.6.1).

Notes:
I propose including another tag in the standard that forces the clients to start from a specified segment, something like EXT-START-SEQUENCE that points to the unique sequence number of the first segment to be reproduced (provided that the rules for the last two segments are fulfilled).

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!