2010-08-25, 19:25
I have seen quite a few discussions on network buffering issues and no solution which addresses the fundamental problem, which is: network access could be flakey. Therefore I suggest a feature which would put those discussions to rest, hopefully forever.
Feature basically is: every media location should have an option to buffer content locally as it is played. From UI perspective, this will add a numeric control, which would tell how many megabytes should be buffered locally. Buffer should reside in file(s) on system temporary directory
Scenario where this feature is required: when a file is played over wifi or other unstable network. Wifi may have sufficient network throughput on average to play media file without skips or hiccups. However, the speed on wifi is variable, it could be fast, but then someone turns a microwave oven next to media center and speed goes down, movie pauses. Yes, this is a network issue, not a fault of XBMC. Yet XBMC could still be delivering flawless user experience, all that needs to be done is to buffer the media file it plays into local temporary file. This process should be done by a background thread and be transparent to user.
Feature basically is: every media location should have an option to buffer content locally as it is played. From UI perspective, this will add a numeric control, which would tell how many megabytes should be buffered locally. Buffer should reside in file(s) on system temporary directory
Scenario where this feature is required: when a file is played over wifi or other unstable network. Wifi may have sufficient network throughput on average to play media file without skips or hiccups. However, the speed on wifi is variable, it could be fast, but then someone turns a microwave oven next to media center and speed goes down, movie pauses. Yes, this is a network issue, not a fault of XBMC. Yet XBMC could still be delivering flawless user experience, all that needs to be done is to buffer the media file it plays into local temporary file. This process should be done by a background thread and be transparent to user.