gort818 / qtwebflix

A qt webengine program for netflix
GNU General Public License v3.0
245 stars 29 forks source link

Stream info partially not showed in KDE Connect #62

Closed Digitalone1 closed 5 years ago

Digitalone1 commented 5 years ago

Stream info is not showed in KDE Connect. The same stream played in Chromium or Firefox is available on KDE Connect.

I thought it was because qtmpris was moved on GitLab, so I replaced https://git.merproject.org/mer-core/qtmpris url in .gitmodules and cloned the modules in the relative folders.

ls lib/qtdbusextended

common.pri  COPYING  dbusextended-qt.pro  README.md  rpm  src
ls lib/qtmpris

common.pri  COPYING  declarative  example  mpris-qt.pro  README.md  rpm  src

Uninstalled AUR package and recompiled from sources. Started new executable, but when I play a video it still won't show anything in KDE Connect.

Compilation went fine:

ls lib

dbusextendedabstractinterface.o           moc_mpriscontroller_p.cpp  mprismanager.o
dbusextendedpendingcallwatcher.o          moc_mpriscontroller_p.o    mpris.o
libdbusextended-qt5.a                     moc_mpris.cpp              mprisplayeradaptor.o
libmpris-qt5.a                            moc_mprismanager.cpp       mprisplayerinterface.o
Makefile.qtdbusextended                    moc_mprismanager.o         mprisplayer.o
Makefile.qtmpris                           moc_mpris.o                mprisrootadaptor.o
moc_dbusextendedabstractinterface.cpp     moc_mprisplayer.cpp        mprisrootinterface.o
moc_dbusextendedabstractinterface.o       moc_mprisplayer.o          qtdbusextended
moc_dbusextendedpendingcallwatcher_p.cpp  moc_mprisplayer_p.cpp      qtdbusextended.pro
moc_dbusextendedpendingcallwatcher_p.o    moc_mprisplayer_p.o        qtmpris
moc_mpriscontroller.cpp                   moc_predefs.h              qtmpris.pro
moc_mpriscontroller.o                     mpriscontroller.o          README.md
ls

AUTHORS  LICENSE.md  Providers.conf  qtwebflix.pro  resource.qrc  src  widevine-18.10.sh
lib      Makefile    qtwebflix       README.md      resources     ui   widevine.sh
gort818 commented 5 years ago

What were you streaming? So far it only works for netlfix and amazon prime. I could add a default .

Digitalone1 commented 5 years ago

Infinity. Why does it work only for Netflix and Prime?

Yes, please, add a default. Thanks.

Digitalone1 commented 5 years ago

I forked the project and extended Mpris interface to all services. I don't know much of programming on Linux, but managed to get it working on Infinity. Tried also on VVVVID and works even there, but not on Crunchyroll. Maybe video element selector has to be redefined to be more generic, I don't know.

Since it's not specific to one service, I changed the title selector to pick the title element of the HTML document. I had to empty the nid variable because I get a DBus error when it is filled, don't know why.

I made a pull request. Hope this can be improved by you or someone else. Bye.

Edit: forgot to mention a funny thing. In VVVVID if I go in fullscreen and close the video, the application remains in fullscreen and I have to switch windows only with alt+tab shortcut. To return in normal mode, I have to reopen the video and toggle the fullscreen button.

Digitalone1 commented 5 years ago

I found out why Crunchyroll is not showed on KDE Connect. Crunchyroll video element is embedded in an iframe and it's not accessible from javascript code for security reasons.

It works in Chromium or Firefox installing Plasma browser integration. I checked the code a little bit and it does quite the same thing, but maybe javascript extentions could access iframes, I don't know for sure.

Anyway, I made a pull request with small optimizations to javascript code.