A method performed by a media device for pre-buffering media content streamed to the media device from a server system, the media device being connected to a network and having a rechargeable battery, said method comprising:
- providing, at the media device, a media playback application which controls the playback of media content that is received from the server system, for playback by the media device;
- providing, at the media device, a user interface adapted to display a plurality of media options corresponding to respective media streams;
- determining, by a bandwidth logic within the media playback application, an available network bandwidth;
- determining, by a charging logic within the media playback application, a charging level of the rechargeable battery;
- receiving, at the user interface, a selection of a particular media option of the plurality of media options;
- interpreting the selection of the particular media option as a request to the server system to stream a corresponding particular media content item;
- selecting a pre-buffering policy for the particular media content item, by a pre-buffering logic within the media playback application, based on the determined available network bandwidth and the determined charging level of the rechargeable battery, including
- determining an amount of media content data of the particular media content item to be pre-buffered;
- generating a pre-buffering request, for transmission to the server system, based on the determined available network bandwidth and the determined charging level,
- wherein the pre-buffering request includes an amount of bandwidth to utilize for the pre-buffering, and the determined amount of media content data to be pre-buffered;
- and
- pre-buffering media content data of the particular media content item from the server system, by the media playback application, in the amount determined by the pre-buffering logic, in accordance with the selected pre-buffering policy.