A computer-implemented method for providing a client device with a preferences list with links to content delivery networks, "CDNs", from which to receive a streaming media title, the method comprising: receiving a request for the streaming media title from the client device, wherein the streaming media title is included in a first soft partition of media titles associated with a library of streaming media titles, wherein each of the streaming media titles in the library of streaming media titles is available to each of a plurality of CDNs, and preference for a first CDN (150 1) included in the plurality of CDNs (150 1, 150 2) is assigned to the first soft partition of media titles; generating, based on inclusion of the streaming media title in the first soft partition of media titles, the preferences list that includes a plurality of links to the streaming media title and that ranks the links in the list by order of preference for streaming the streaming media title to the client device, wherein a highest preference link included in the preferences list is associated with the first CDN; and providing the preferences list to the client device; wherein the client device is configured to: evaluate an expected streaming performance associated with the first CDN, evaluate an expected streaming performance associated with a second CDN included in the plurality of CDNs, upon determining that the expected streaming performance associated with the first CDN exceeds a specified threshold, retrieve the streaming media title from the first CDN via one of the links included in the preferences list, and upon determining that the expected streaming performance associated with the first CDN does not exceed the specified threshold and that the expected streaming performance associated with the second CDN exceeds a second specified threshold, retrieve the requested media title from the second CDN via one of the plurality of links in the preferences list, wherein the second specified threshold is greater than the first specified threshold. receiving a request for the streaming media title from the client device, wherein the streaming media title is included in a first soft partition of media titles associated with a library of streaming media titles, wherein each of the streaming media titles in the library of streaming media titles is available to each of a plurality of CDNs, and preference for a first CDN (150 1) included in the plurality of CDNs (150 1, 150 2) is assigned to the first soft partition of media titles; generating, based on inclusion of the streaming media title in the first soft partition of media titles, the preferences list that includes a plurality of links to the streaming media title and that ranks the links in the list by order of preference for streaming the streaming media title to the client device, wherein a highest preference link included in the preferences list is associated with the first CDN; and providing the preferences list to the client device; wherein the client device is configured to: evaluate an expected streaming performance associated with the first CDN, evaluate an expected streaming performance associated with a second CDN included in the plurality of CDNs, upon determining that the expected streaming performance associated with the first CDN exceeds a specified threshold, retrieve the streaming media title from the first CDN via one of the links included in the preferences list, and upon determining that the expected streaming performance associated with the first CDN does not exceed the specified threshold and that the expected streaming performance associated with the second CDN exceeds a second specified threshold, retrieve the requested media title from the second CDN via one of the plurality of links in the preferences list, wherein the second specified threshold is greater than the first specified threshold. evaluate an expected streaming performance associated with the first CDN, evaluate an expected streaming performance associated with a second CDN included in the plurality of CDNs, upon determining that the expected streaming performance associated with the first CDN exceeds a specified threshold, retrieve the streaming media title from the first CDN via one of the links included in the preferences list, and upon determining that the expected streaming performance associated with the first CDN does not exceed the specified threshold and that the expected streaming performance associated with the second CDN exceeds a second specified threshold, retrieve the requested media title from the second CDN via one of the plurality of links in the preferences list, wherein the second specified threshold is greater than the first specified threshold.