Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add another Flussonic link format #926

Open
am-silex opened this issue Nov 20, 2024 · 5 comments
Open

Add another Flussonic link format #926

am-silex opened this issue Nov 20, 2024 · 5 comments

Comments

@am-silex
Copy link

am-silex commented Nov 20, 2024

Hi
I've got subscription for an IPTV with a bit different catchup link. Monitoring web-player, I've found out that its format is quite similar to Flussonic, but with a twist. Currently, there is no condition case for it, so I'm getting

Can't play this program

Here are link formats - both work
http://server:port/ch1/**index**-1731156010-3600.m3u8?token=secret
or
http://server:port/ch1/**mono**-1731156010-3600.m3u8?token=secret

I propose to add this case for upstream.
src -> iptvsimple -> data -> Channel.cpp -> bool Channel::GenerateFlussonicCatchupSource(const std::string& url)

        else if (fsListType == "mono")
          m_catchupSource = fsHost + "/" + fsChannelId + "/mono-{utc}-{duration}.m3u8" + fsUrlAppend;
@am-silex am-silex reopened this Nov 20, 2024
@am-silex
Copy link
Author

Locally tested, works fine

@phunkyfish
Copy link
Member

phunkyfish commented Nov 20, 2024

You don’t say where your code should be added in the file. So it’s impossible to tell if the code is viable or not.

My guy says it is not, as it will break things for other users.

@am-silex
Copy link
Author

My fault - presumed, it was obvious from my message.
Created PR

@am-silex
Copy link
Author

I understand, that hard-coded link format is not flexible and that it's better to allow users to modify not only appendix, but the whole link using RegEx. To do so, we have to pass all the parts to UI.

      const std::string fsHost = matches[1].str();
      const std::string fsChannelId = matches[2].str();
      const std::string fsListType = matches[3].str();
      const std::string fsStreamType = matches[4].str();
      const std::string fsUrlAppend = matches[5].str();

@phunkyfish
Copy link
Member

Ok, I commented on the PR. This will require quite a bit of work to get merged if you want to do the work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants