Patent ID: 8892691

Claim:
A machine readable non-transitory storage medium storing executable instructions that when executed by a data processing system cause the system to perform a method comprising: executing a user application on a client device to present content of media files on the client device, to control access to content of the media files for presentation by the user application, and to retrieve a decryption key from a media source remote from the client device; and running a media serving process on the client device remote from the media source as a different software process separate from the user application, to retrieve a playlist specifying the media files and the media source at which the media files are available, to retrieve the decryption key from the user application, to retrieve the media files from the media source, to decode the retrieved media files using the decryption key, and to provide decoded content from the media files to the user application, wherein access to the content of the media files is controlled by a key processed by, or retrieved by and processed by, the user application and transmitted to the media serving process, and when the user application retrieves the key, the retrieving of the key is independent of the media serving process retrieving the media files and wherein the user application provides a user interface to control the presentation and communicates with the media serving process through an Application Programming Interface (API) and wherein the media serving process retrieves the playlist from the user application or from the media source.