A method of enabling a client device (104, 368) networked to a media service server (102, 400) to play media files, the method comprising the steps of: (a) detecting the media file formats supported by the client device (104, 368), comprising detecting at least one of a video or an audio file format supported by the client device (104, 368); (b) upon request from the client device (104, 368), obtaining a list of downloadable media files for review at the client device (104, 368); (c) formatting the list of downloadable media files into data structures including links to the media files, said step (c) including the steps of: (i) determining whether a media file from the list of downloadable media files is in a format supported by the client device (104, 368); (ii) formatting the data structure for a media file determined in step (c)(i) to be in a supported format to include a link with an address directly to a source where the media file is located, and (iii) formatting the data structure for a media file determined in step (c)(i) to be in an unsupported format to include a link with an address to the media service server (102, 400); (d) sending the data structures including links to the media files to the client device (104, 368) for display in a user interface at the client device (104, 368); (e) receiving a request from the client device (104, 368) to obtain a media file of the list in an unsupported format in accordance with the data structure associated with the media file; (f) obtaining the media file requested in said step (e); (g) transcoding the media file obtained in said step (f) into a format supported by the client device (104, 368); (h) forwarding the media file transcoded in said step (g) to the client device (104, 368) for playing by the client device (104, 368). (a) detecting the media file formats supported by the client device (104, 368), comprising detecting at least one of a video or an audio file format supported by the client device (104, 368); (b) upon request from the client device (104, 368), obtaining a list of downloadable media files for review at the client device (104, 368); (c) formatting the list of downloadable media files into data structures including links to the media files, said step (c) including the steps of: (i) determining whether a media file from the list of downloadable media files is in a format supported by the client device (104, 368); (ii) formatting the data structure for a media file determined in step (c)(i) to be in a supported format to include a link with an address directly to a source where the media file is located, and (iii) formatting the data structure for a media file determined in step (c)(i) to be in an unsupported format to include a link with an address to the media service server (102, 400); (i) determining whether a media file from the list of downloadable media files is in a format supported by the client device (104, 368); (ii) formatting the data structure for a media file determined in step (c)(i) to be in a supported format to include a link with an address directly to a source where the media file is located, and (iii) formatting the data structure for a media file determined in step (c)(i) to be in an unsupported format to include a link with an address to the media service server (102, 400); (d) sending the data structures including links to the media files to the client device (104, 368) for display in a user interface at the client device (104, 368); (e) receiving a request from the client device (104, 368) to obtain a media file of the list in an unsupported format in accordance with the data structure associated with the media file; (f) obtaining the media file requested in said step (e); (g) transcoding the media file obtained in said step (f) into a format supported by the client device (104, 368); (h) forwarding the media file transcoded in said step (g) to the client device (104, 368) for playing by the client device (104, 368).