(2015-11-17, 09:47)da-anda Wrote: We want an out of the box experience with no additional work needed for end users - so installing third party LAV filter packages and what not is no option for a default setup. So we'll always have to do the Windows work - DSplayer won't help on this. Also it would add a huge additional support burden, as it will be way way harder to find a certain playback bug reported by users if we'd depend on random DirectShow filters.
Fair enough. I already expected this to be a major reason for not using DirectShow. I'm not convinced that it's the "right" solution for Windows users. But anyway, maybe there's a way to make us all happy:
(2015-11-17, 17:55)FernetMenta Wrote: DSPlayer's sources will certainly never hit our main repository. That should be clear from reading post #1 of this thread. The goal is to componentize and not adding more very platform specific code that is hard to maintain.
(2015-11-17, 20:16)FernetMenta Wrote: (2015-11-17, 19:31)wisler Wrote: Is it possible to turn DSPlayer into an binary addon?
Not at the moment but this would be the right strategy.
When you originally said: "Ideally video player is a self contained component or service with its own life cycle and versioning" I had thought you meant this on a source code level, only. But now I think I misread your post and you were thinking about doing this on a binary level? That would have several advantages, of course:
1) Users could update binaries separately, and thus use different versions of the video player and different versions of the "rest".
2) DSPlayer could be turned into a binary that is fully compatible to the default DVDPlayer (or whatever the new separate component will be named).
3) Maybe even external media players (like MPC-HC/BE on Windows) could be extended to work as a fully Kodi compatible video player component, with full Kodi GUI integration and stuff.
This sounds like a promising approach. One key thing for this to work would be a *very stable* interface, of course. Not like ffmpeg/libav where you constantly have to adjust the code and recompile because often not even the source code interface stays stable, let alone the binaries. This Kodi binary interface would also have to include things like GPU sharing, so that the Kodi GUI can be drawn on top of the video. A key question here is which component would do the presentation (telling the GPU when to display which frame)? Probably you're thinking now it should be the GUI, because the GUI is the component that controls everything and the GUI will often be active even if no video is playing. However, being a video renderer developer, I have to say that having full control over the whole video rendering pipeline is important to achieve the best quality. E.g. features like "smootion motion FRC" (real time frame blending to achieve non-juddery motion when playing 24fps movies at 60Hz) would be next to impossible to realize for a video player if some "outside party" ultimately makes the decision which frames are displayed when. So I would strongly suggest an interface which allows either component (video player or GUI) to take control over presentation.
Maybe a first good step would be to try to define a binary interface that would satisfy the following requirements:
a) It should allow to preserve all the key functionality of the current DVDPlayer, while allowing a clean split of both source code and binaries.
b) The interface should be carefully designed to be upward *and* downward compatible. If this is done with proper thought, right from the start, it's not too difficult to achieve.
c) It would be great if the interface wishes (if any extra) of the current DSPlayer dev (aracnoz) could be taken into account, too.
One key question would be if this interface would (for now) only be limited to video playback, or if you want to split off even more things into separate packages?
Thoughts?
(2015-11-18, 08:12)FernetMenta Wrote: One thing I most dislike about the DSPlayer project and projects like dual audio: http://forum.kodi.tv/showthread.php?tid=192480
I haven't seen you contributing a single line of code to our code base.
I understand that. But please consider that aracnoz' work has brought several new users to Kodi. So although he may not have contributed to the Kodi code base itself, he still helped Kodi to grow its user base. Furthermore I guess many DSPlayer devs in the past had the (faint) hope that their code would some day find its way to the Kodi code base. I know tiben20 did, so did aracnoz, even if the hope was maybe low. So complaining that aracnoz has not contributed to the Kodi code base, but at the same time refusing to accept DSPlayer code into the Kodi code base is a somewhat unfair combination, IMHO. If you decided to accept some DSPlayer code into the Kodi code base, automatically aracnoz would have contributed quite a lot of code to Kodi.