xbmc / xbmc/inputstream.ffmpegdirect
[Nexus] inputstream.ffmpegdirect HttpProxy.h:18:40: error: ‘uint16_t’ has not been declared
Open
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 101
- Forks
- 56
- PR merge metrics
- No merged PRs in 30d
Description
Hi, there's a problem compiling inputstream.ffmpegdirect for kodi Nexus with a x86_64 arch install.
The steps to compile:
git clone --branch Nexus https://github.com/xbmc/xbmc.git
git clone --branch Nexus https://github.com/xbmc/inputstream.ffmpegdirect.git
cd inputstream.ffmpegdirect && mkdir build && cd build
cmake -DADDONS_TO_BUILD=inputstream.ffmpegdirect -DADDON_SRC_PREFIX=../.. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=../../xbmc/build/addons -DPACKAGE_ZIP=1 ../../xbmc/cmake/addons
make
The output:
(...)
[ 97%] Performing build step for 'inputstream.ffmpegdirect'
[ 6%] Building CXX object CMakeFiles/inputstream.ffmpegdirect.dir/src/StreamManager.cpp.o
In file included from /home/kodi_build/kodi-addon-inputstream-ffmpegdirect/inputstream.ffmpegdirect/src/stream/FFmpegStream.h:10,
from /home/kodi_build/kodi-addon-inputstream-ffmpegdirect/inputstream.ffmpegdirect/src/StreamManager.h:10,
from /home/kodi_build/kodi-addon-inputstream-ffmpegdirect/inputstream.ffmpegdirect/src/StreamManager.cpp:8:
/home/kodi_build/kodi-addon-inputstream-ffmpegdirect/inputstream.ffmpegdirect/src/stream/../utils/HttpProxy.h:18:40: error: ‘uint16_t’ has not been declared
18 | HttpProxy(const std::string& host, uint16_t port, const std::string& user, const std::string& password)
| ^~~~~~~~
/home/kodi_build/kodi-addon-inputstream-ffmpegdirect/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/kodi_build/kodi-addon-inputstream-ffmpegdirect/inputstream.ffmpegdirect/src/stream/../utils/HttpProxy.h:11:1: note: ‘uint16_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
10 | #include <string>
+++ |+#include <cstdint>
11 |
/home/kodi_build/kodi-addon-inputstream-ffmpegdirect/inputstream.ffmpegdirect/src/stream/../utils/HttpProxy.h:25:23: error: ‘uint16_t’ has not been declared
25 | void SetProxyPort(uint16_t value) { m_port = value; }
| ^~~~~~~~
/home/kodi_build/kodi-addon-inputstream-ffmpegdirect/inputstream.ffmpegdirect/src/stream/../utils/HttpProxy.h:35:5: error: ‘uint16_t’ does not name a type
35 | uint16_t m_port;
| ^~~~~~~~
/home/kodi_build/kodi-addon-inputstream-ffmpegdirect/inputstream.ffmpegdirect/src/stream/../utils/HttpProxy.h:35:5: note: ‘uint16_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
/home/kodi_build/kodi-addon-inputstream-ffmpegdirect/inputstream.ffmpegdirect/src/stream/../utils/HttpProxy.h: In constructor ‘ffmpegdirect::HttpProxy::HttpProxy(const std::string&, int, const std::string&, const std::string&)’:
/home/kodi_build/kodi-addon-inputstream-ffmpegdirect/inputstream.ffmpegdirect/src/stream/../utils/HttpProxy.h:19:23: error: class ‘ffmpegdirect::HttpProxy’ does not have any field named ‘m_port’
19 | : m_host(host), m_port(port), m_user(user), m_password(password) {};
| ^~~~~~
/home/kodi_build/kodi-addon-inputstream-ffmpegdirect/inputstream.ffmpegdirect/src/stream/../utils/HttpProxy.h: In member function ‘void ffmpegdirect::HttpProxy::SetProxyPort(int)’:
/home/kodi_build/kodi-addon-inputstream-ffmpegdirect/inputstream.ffmpegdirect/src/stream/../utils/HttpProxy.h:25:41: error: ‘m_port’ was not declared in this scope; did you mean ‘m_host’?
25 | void SetProxyPort(uint16_t value) { m_port = value; }
| ^~~~~~
| m_host
In file included from /home/kodi_build/kodi-addon-inputstream-ffmpegdirect/inputstream.ffmpegdirect/src/stream/FFmpegStream.h:13:
/home/kodi_build/kodi-addon-inputstream-ffmpegdirect/inputstream.ffmpegdirect/src/stream/DemuxStream.h: At global scope:
/home/kodi_build/kodi-addon-inputstream-ffmpegdirect/inputstream.ffmpegdirect/src/stream/DemuxStream.h:36:7: warning: ‘ffmpegdirect::DemuxStream’ declared with greater visibility than the type of its field ‘ffmpegdirect::DemuxStream::cryptoSession’ [-Wattributes]
36 | class DemuxStream
| ^~~~~~~~~~~
In file included from /home/kodi_build/kodi-addon-inputstream-ffmpegdirect/inputstream.ffmpegdirect/src/stream/FFmpegStream.h:14:
/home/kodi_build/kodi-addon-inputstream-ffmpegdirect/inputstream.ffmpegdirect/src/stream/CurlInput.h:23:7: warning: ‘ffmpegdirect::CurlInput’ declared with greater visibility than the type of its field ‘ffmpegdirect::CurlInput::m_pFile’ [-Wattributes]
23 | class CurlInput
| ^~~~~~~~~
In file included from /home/kodi_build/kodi-addon-inputstream-ffmpegdirect/inputstream.ffmpegdirect/src/stream/TimeshiftBuffer.h:11,
from /home/kodi_build/kodi-addon-inputstream-ffmpegdirect/inputstream.ffmpegdirect/src/stream/TimeshiftStream.h:13,
from /home/kodi_build/kodi-addon-inputstream-ffmpegdirect/inputstream.ffmpegdirect/src/StreamManager.cpp:11:
/home/kodi_build/kodi-addon-inputstream-ffmpegdirect/inputstream.ffmpegdirect/src/stream/TimeshiftSegment.h:27:7: warning: ‘ffmpegdirect::TimeshiftSegment’ declared with greater visibility than the type of its field ‘ffmpegdirect::TimeshiftSegment::m_fileHandle’ [-Wattributes]
27 | class TimeshiftSegment
| ^~~~~~~~~~~~~~~~
/home/kodi_build/kodi-addon-inputstream-ffmpegdirect/inputstream.ffmpegdirect/src/stream/TimeshiftBuffer.h:37:7: warning: ‘ffmpegdirect::TimeshiftBuffer’ declared with greater visibility than the type of its field ‘ffmpegdirect::TimeshiftBuffer::m_segmentIndexFileHandle’ [-Wattributes]
37 | class TimeshiftBuffer
| ^~~~~~~~~~~~~~~
/home/kodi_build/kodi-addon-inputstream-ffmpegdirect/inputstream.ffmpegdirect/src/StreamManager.cpp: In member function ‘virtual bool InputStreamFFmpegDirect::Open(const kodi::addon::InputstreamProperty&)’:
/home/kodi_build/kodi-addon-inputstream-ffmpegdirect/inputstream.ffmpegdirect/src/StreamManager.cpp:202:84: error: ‘class ffmpegdirect::HttpProxy’ has no member named ‘GetProxyPort’; did you mean ‘SetProxyPort’?
202 | kodi::Log(ADDON_LOG_INFO, "HttpProxy port set: %d", static_cast<int>(httpProxy.GetProxyPort()));
| ^~~~~~~~~~~~
| SetProxyPort
make[5]: *** [CMakeFiles/inputstream.ffmpegdirect.dir/build.make:76: CMakeFiles/inputstream.ffmpegdirect.dir/src/StreamManager.cpp.o] Error 1
make[4]: *** [CMakeFiles/Makefile2:110: CMakeFiles/inputstream.ffmpegdirect.dir/all] Error 2
make[3]: *** [Makefile:156: all] Error 2
make[2]: *** [CMakeFiles/inputstream.ffmpegdirect.dir/build.make:88: inputstream.ffmpegdirect-prefix/src/inputstream.ffmpegdirect-stamp/inputstream.ffmpegdirect-build] Error 2
make[1]: *** [CMakeFiles/Makefile2:162: CMakeFiles/inputstream.ffmpegdirect.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with src/utils/HttpProxy.h, where the compiler reports the missing uint16_t type, and review its existing includes. Reproduce the reported Nexus build using the provided CMake and make commands, then confirm that inputstream.ffmpegdirect compiles successfully and that the HttpProxy errors no longer occur.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 1/5
- Estimated time
- Under an hour
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100