This could be an optional/advanced feature enabled in Settings, but disabled by default.
It is very commonly possible to obtain the running time of a video from its metadata.
Using the total runtime, offer the user the option for Playon to offer "parts" of a video.
Take the run time, and divide it up by the number specified by the user. For example:
"VideoA.avi" is 60 minutes long. User selects parts which are 10-minutes long each. Playon then offers Parts 1 through 6. Part 1 runs from 00:00 to 09:59:59, and so on.
If the video was 100 minutes long, Playon would offer 10 parts. If the user set 5-minute parts, it would offer 20. And so on.
This allows the user to skip forward to a time signature much closer to where he left off watching it before, thus largely negating the limitation of DLNA. (ie. the user does not have to fast forward, wait for large/hi-res videos to cache).
In situations where a video has insufficient metadata to obtain a running time, then PlayOn simply does not offer Part segments for it. To fix this, the user can optionally add the necessary metadata to enable the feature for that title.
By using running time and sending the start time signature to VLC (or whatever player you're using under the hood), the DLNA client can remain 'dumb'. It thinks it's being served 6 different videos, when in fact it's the same video, with different start time signatures.
Menus might work as follows:
My Media | Videos | Folders | <Folder Name> | <"VideoA" Folder> | "VideoA.avi" | Part 01 ... Part 10
From VLC's manpage, this seems quite possible:
--start-time=<float> Start time The stream will start at this position (in seconds). --stop-time=<float> Stop time The stream will stop at this position (in seconds). --run-time=<float> Run time The stream will run this duration (in seconds).