Skip to content
This repository was archived by the owner on May 7, 2025. It is now read-only.
This repository was archived by the owner on May 7, 2025. It is now read-only.

[Feature]: Optimize Streaming Source Selection by Memorizing Previously Successful Source#105

Description

@babakfp

What feature do you want to add?

Hi 馃憢

Let's say we have these streaming sources (A, B, C, D, E, F). This is what happenes whenever user wants to watch an episode:

1. Source A fetches and fails.
2. Source B fetches and fails.
3. Source C fetches and fails.
4. Source D fetches and fails.
5. Source **E** fetches and **success**.
6. Source plays.
7. Next episode.

    1. Source A fetches and fails.
    2. Source B fetches and fails.
    3. Source C fetches and fails.
    4. Source D fetches and fails.
    5. Source **E** fetches and **success**.
    6. Source plays.
    7. Next episode.

Instead, a feature can be added to memorize which streaming source was successful and used previously. Result:

1. Source A fetches and fails.
2. Source B fetches and fails.
3. Source C fetches and fails.
4. Source D fetches and fails.
5. Source **E** fetches and **success**.
6. Source plays.
7. Next episode.

    1. Source **E** fetches and **success**.
    2. Source plays.
    3. Next episode.

How should it work? Simply momerise the previously used seccessfull streaming source and whenever a new episode plays, sort the sources array and put the previously used seccessfull streaming source at the begening of the list.

Why do you want to have this feature?

It can sometimes be annoying to wait for source selection (when you already know the top ones are going to fail and the bottom one is going to succeed).

Any other details to share?

Benefits:

  • Prevents unnecessary API calls.
  • Better UX.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions