xbmc / inputstream.ffmpegdirect

Supports streams opened by FFmpeg's libavformat or Kodi's cURL such as plain TS, HLS and DASH (non-DRM) as well as many others. There is support for Archive/Catchup services where there is a replay window and can timeshift across that span. Also provides timeshift for live streams where rewind/pause and fast-forward would not have been available.
GNU General Public License v2.0
57 stars 40 forks source link

Compiling errors on Slackware aarch64 #288

Closed Johpin1 closed 2 months ago

Johpin1 commented 3 months ago

Three compiling errors could be solved by adaption of the code:

First error: /home/john/Downloads/addons/inputstream.ffmpegdirect/src/stream/../utils/HttpProxy.h:18:40: error: �..uint16_t�.. has not been declared 18 | HttpProxy(const std:Confusedtring& host, uint16_t port, const std:Confusedtring& user, const std:Confusedtring& password) | ^~~~ /home/john/Downloads/addons/inputstream.ffmpegdirect/src/stream/../utils/HttpProxy.h:24:5: error: �..uint16_t�.. does not name a type 24 | uint16_t GetProxyPort() const { return m_port; } | ^~~~ /home/john/Downloads/addons/inputstream.ffmpegdirect/src/stream/../utils/HttpProxy.h:11:1: note: �..uint16_t�.. is defined in header �..�..; did you forget to �..#include �..?

=> Solved by adding "#include " to the header file.

Second error: /home/john/Downloads/addons/inputstream.ffmpegdirect/src/StreamManager.h:60:16: error: �..virtual void InputStreamFFmpegDirect::SetVideoResolution(int, int)�.. marked �..override�.., but does not override 60 | virtual void SetVideoResolution(int width, int height) override;

=> Solveld by removing "override" from line in header file.

Third error: /home/john/Downloads/addons/inputstream.ffmpegdirect/src/utils/DiskUtils.h:17:61: error: ‘uint64_t’ has not been declared 17 static bool GetFreeDiskSpaceMB(const std:Confusedtring& path, uint64_t& freeMB);

/home/john/Downloads/addons/inputstream.ffmpegdirect/src/utils/DiskUtils.cpp:18:6: error: no declaration matches ‘bool ffmpegdirect:Big GriniskUtils::GetFreeDiskSpaceMB(const std:Confusedtring&, uint64_t&)’ 18 | bool DiskUtils::GetFreeDiskSpaceMB(const std:Confusedtring& path, uint64_t& freeMB)

=> Solved by adding "#include " to the header file.

Problem and solution have also been mentioned in https://forum.kodi.tv/showthread.php?tid=376822

Could the code be adapted with the solutions as suggested for compilation without errors on Slackware aarch64?

phunkyfish commented 3 months ago

If you create a PR, the changes will automatically be tested against all the platforms we support by our CI.

please create a PR for the Omega branch first.

Johpin1 commented 3 months ago

After figuring out how to create a pull request, I only made one for error 2, because error 1 and 3 have been solved already in Omega (#include has been added). I will wait for the merge into Omega, before making pull requests for Nexus 20.3

Johpin1 commented 2 months ago

It does not make sense anymore to make a PR for missing definition of \<cstdint>, see https://github.com/xbmc/inputstream.ffmpegdirect/tree/Nexus/src/utils You seem to have merged it already six months ago in master.

According to PR 289 removal of override resulted in good compilation for Linux and all fail for Windows. I found the error did not appear for Omega, it appeared for 20.3-Nexus.

I assume I can close this issue.

phunkyfish commented 2 months ago

Yes