Open TheAssassin opened 2 years ago
For me personally, I quite like the kodi gui, but i would suspect others would also like newpipe better. For that reason I would probably have it as another plugin tbh. But its really up to you if you prefer to go that direction. I quite like the plugin so far and is getting used.
I asked in #kodi-dev
on https://libera.chat what the best way to implement this is. The folks there suggested to write a service plugin which can handle tasks in the background along the lifetime of the Kodi session, such as accepting requests from other devices. Apparently, https://kodi.wiki/view/Add-on:TubeCast provides similar functionality and could provide some inspiration.
I also think a third-party plugin is better overall, because I'd like to keep this generic. There is no YouTube-specific functionality required, Kodi could just decide which plugin to use to fetch the content, I presume. And you can always just call into other plugins using those magic URLs.
Overall, it might even be better to just implement the Open Screen Protocol's Remote Playback Control, as suggested in TeamNewPipe/NewPipe#7346. As far as I understand it, the remote device doesn't even have to do any parsing. It's up to the sender to provide all necessary information. Therefore, this might even eliminate the need for this plugin, since no further parsing is needed. (Overall, the Invidious API just returns an MPEG-DASH URL that can just be played back directly, this plugin is really simple.)
Not entirely sure how to implement this, but I'd love to have some functionality to share videos from other applications to a device running Kodi from apps like NewPipe or maybe browsers (e.g., while surfing Invidious).
Kodi's interface is far from ideal for navigating Invidious/YouTube/..., NewPipe is much better for that. However, one might want to watch the video on a bigger screen, and it would be awesome to use this plugin for it.
The question is whether it should be implemented specifically in this plugin. I could imagine having a dedicated extension is the proper solution for it.
Related: https://github.com/TeamNewPipe/NewPipe/issues/7346