I've implemented resuming video with Video's seekfield. Progress is saved to local associative array, so it works fine, but saved positions are cleared on channel restart. Reviewers are saying that progress should be saved after channel restart as well. I guess I should use Registry for this, and I also guess it's total pain. May be there's a simpler way? How do you guys do this functionality? Thanks!
I don't think the link you included has much to do with bookmarking (saving/restoring the position for the currently-playing video). That link is referring to pre-buffering, whch I don't believe is the same thing.
I haven't implemented bookmarking in Scene Graph yet, but I'd assume you'd store the Video node 'position' field at regular intervals, and when re-starting the video the next time, set the 'seek' field. Set the 'notificationInterval' field to specify how often the position field is updated, and use a field observer on the 'position' field to trigger whatever it is you use to save the position value.
You could either save the bookmark position to the registry, or to your server. The advantage of saving to the server is that it allows your users' bookmarks to be synced across devices. I suspect most people just save them to the registry though. Bear in mind that registry capacity is limited, so you'll want to limit the number of bookmarks you store, getting rid of older ones as newer ones are added. Whichever approach you use, you can use a Task node to do the actual writing of the bookmark data (to the registry or to the server).