The main difference between these two cacheKeyOf
methods lies in the information they include in the cache key (cacheKey
).
Analysis of Differences:
Both methods start the same way:
- Check if the average bitrate (
averageBitrate
) is unknown. - Construct a
StringBuilder
by callingcommonCacheKeyOf(info, audioStream, averageBitrateUnknown)
. - Add the average bitrate (
averageBitrate
) if it is known.
However, the second version adds two new pieces of information to the cache key:
4. Add the audio track ID (audioTrackId
) if it is not null
.
5. Add the audio language (audioLocale
) if it is set, in its ISO 639-2 form (three-letter code).
Functional Impact:
- First version: The cache key is based solely on the basic information and the average bitrate if known.
- Second version: The cache key is more precise as it includes specific information about the audio track (ID and language). This helps avoid conflicts if multiple audio tracks exist for the same stream with the same bitrate.
When to use each one?
- If you want a generic cache key (ignoring track and language variations): use the first version.
- If you want to distinctly identify different audio tracks from the same stream: use the second version.
In summary, the second version enhances the granularity and uniqueness of the cache key by considering more attributes of the audio stream.
La principale différence entre ces deux méthodes cacheKeyOf
réside dans les informations qu'elles incluent dans la clé de cache (cacheKey
).
Analyse des différences :
Les deux méthodes commencent de la même manière :
- Vérification si le débit moyen (
averageBitrate
) est inconnu. - Construction d'un
StringBuilder
en appelantcommonCacheKeyOf(info, audioStream, averageBitrateUnknown)
. - Ajout du débit moyen (
averageBitrate
) si celui-ci est connu.
Cependant, la deuxième version ajoute deux nouvelles informations à la clé de cache :
4. Ajout de l'identifiant de la piste audio (audioTrackId
) si celui-ci n'est pas null
.
5. Ajout de la langue de l'audio (audioLocale
) si elle est définie, sous sa forme ISO 639-2 (code à trois lettres).
Impact fonctionnel :
- Première version : La clé de cache est uniquement basée sur les informations de base et le débit moyen si connu.
- Deuxième version : La clé de cache est plus précise puisqu'elle inclut des informations spécifiques à la piste audio (identifiant et langue). Cela permet d'éviter des conflits si plusieurs pistes audio existent pour un même flux avec le même débit.
Quand utiliser l'une ou l'autre ?
- Si vous voulez une clé de cache générique (ignorant les variations de piste et de langue) : utilisez la première version.
- Si vous voulez distinguer précisément différentes pistes audio d'un même flux : utilisez la deuxième version.
En résumé, la seconde version améliore la granularité et l'unicité de la clé de cache en tenant compte de plus d'attributs du flux audio.