xbmc / xbmc/inputstream.ffmpegdirect

[Nexus] inputstream.ffmpegdirect HttpProxy.h:18:40: error: ‘uint16_t’ has not been declared

Open
#256 5 comments 0 reactions 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.