OpenIPC / smolrtsp

A lightweight real-time streaming library for IP cameras
https://openipc.github.io/smolrtsp/
MIT License
251 stars 54 forks source link

missing example media header files #32

Closed pthomasj closed 1 month ago

pthomasj commented 1 month ago

The files audio.g711a and video.h264 exist in smolrtsp-0.1.3/examples/media/ but I do not see audio.g711a.h and video.h264.h. Is there a script that generates these?

pthomas@debian:~/Downloads/smolrtsp-0.1.3/examples/build$ cmake ..
-- The C compiler identification is GNU 12.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
CMake Warning (dev) at /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (LIBEVENT)
  does not match the name of the calling package (LibEvent).  This can lead
  to problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  cmake/modules/FindLibEvent.cmake:26 (find_package_handle_standard_args)
  CMakeLists.txt:8 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found LIBEVENT: /usr/lib/x86_64-linux-gnu/libevent.so;/usr/lib/x86_64-linux-gnu/libevent_openssl.so;/usr/lib/x86_64-linux-gnu/libevent_core.so;/usr/lib/x86_64-linux-gnu/libevent_extra.so;/usr/lib/x86_64-linux-gnu/libevent_pthreads.so;/usr/lib/x86_64-linux-gnu/libevent_extra.so  
CMake Warning (dev) at /usr/share/cmake-3.25/Modules/FetchContent.cmake:1279 (message):
  The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
  not set.  The policy's OLD behavior will be used.  When using a URL
  download, the timestamps of extracted files should preferably be that of
  the time of extraction, otherwise code that depends on the extracted
  contents might not be rebuilt if the URL changes.  The OLD behavior
  preserves the timestamps from the archive instead, but this is usually not
  what you want.  Update your project to the NEW behavior or specify the
  DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
  robustness issue.
Call Stack (most recent call first):
  CMakeLists.txt:12 (FetchContent_Declare)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Configuring done
-- Generating done
-- Build files have been written to: /home/pthomas/Downloads/smolrtsp-0.1.3/examples/build
pthomas@debian:~/Downloads/smolrtsp-0.1.3/examples/build$ cmake --build .
[  2%] Building C object build/CMakeFiles/smolrtsp.dir/cmake_pch.h.gch
[  5%] Building C object build/CMakeFiles/smolrtsp.dir/src/types/error.c.o
[  7%] Building C object build/CMakeFiles/smolrtsp.dir/src/types/header_map.c.o
[ 10%] Building C object build/CMakeFiles/smolrtsp.dir/src/types/header.c.o
[ 12%] Building C object build/CMakeFiles/smolrtsp.dir/src/types/message_body.c.o
[ 15%] Building C object build/CMakeFiles/smolrtsp.dir/src/types/method.c.o
[ 17%] Building C object build/CMakeFiles/smolrtsp.dir/src/types/parsing.c.o
[ 20%] Building C object build/CMakeFiles/smolrtsp.dir/src/types/reason_phrase.c.o
[ 23%] Building C object build/CMakeFiles/smolrtsp.dir/src/types/request_line.c.o
[ 25%] Building C object build/CMakeFiles/smolrtsp.dir/src/types/request_uri.c.o
[ 28%] Building C object build/CMakeFiles/smolrtsp.dir/src/types/request.c.o
[ 30%] Building C object build/CMakeFiles/smolrtsp.dir/src/types/response_line.c.o
[ 33%] Building C object build/CMakeFiles/smolrtsp.dir/src/types/response.c.o
[ 35%] Building C object build/CMakeFiles/smolrtsp.dir/src/types/rtsp_version.c.o
[ 38%] Building C object build/CMakeFiles/smolrtsp.dir/src/types/status_code.c.o
[ 41%] Building C object build/CMakeFiles/smolrtsp.dir/src/types/sdp.c.o
[ 43%] Building C object build/CMakeFiles/smolrtsp.dir/src/types/rtp.c.o
[ 46%] Building C object build/CMakeFiles/smolrtsp.dir/src/nal/h264.c.o
[ 48%] Building C object build/CMakeFiles/smolrtsp.dir/src/nal/h265.c.o
[ 51%] Building C object build/CMakeFiles/smolrtsp.dir/src/nal.c.o
[ 53%] Building C object build/CMakeFiles/smolrtsp.dir/src/writer.c.o
[ 56%] Building C object build/CMakeFiles/smolrtsp.dir/src/writer/fd.c.o
[ 58%] Building C object build/CMakeFiles/smolrtsp.dir/src/writer/file.c.o
[ 61%] Building C object build/CMakeFiles/smolrtsp.dir/src/writer/string.c.o
[ 64%] Building C object build/CMakeFiles/smolrtsp.dir/src/util.c.o
[ 66%] Building C object build/CMakeFiles/smolrtsp.dir/src/transport/tcp.c.o
[ 69%] Building C object build/CMakeFiles/smolrtsp.dir/src/transport/udp.c.o
[ 71%] Building C object build/CMakeFiles/smolrtsp.dir/src/rtp_transport.c.o
[ 74%] Building C object build/CMakeFiles/smolrtsp.dir/src/nal_transport.c.o
[ 76%] Building C object build/CMakeFiles/smolrtsp.dir/src/io_vec.c.o
[ 79%] Building C object build/CMakeFiles/smolrtsp.dir/src/controller.c.o
[ 82%] Building C object build/CMakeFiles/smolrtsp.dir/src/context.c.o
[ 84%] Linking C static library libsmolrtsp.a
[ 84%] Built target smolrtsp
[ 87%] Building C object CMakeFiles/server.dir/cmake_pch.h.gch
[ 89%] Building C object CMakeFiles/server.dir/server.c.o
/home/pthomas/Downloads/smolrtsp-0.1.3/examples/server.c:38:10: fatal error: media/audio.g711a.h: No such file or directory
   38 | #include "media/audio.g711a.h"
      |          ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [CMakeFiles/server.dir/build.make:93: CMakeFiles/server.dir/server.c.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:186: CMakeFiles/server.dir/all] Error 2
gmake: *** [Makefile:91: all] Error 2
pthomasj commented 1 month ago

I just found

execute_process(COMMAND xxd -i ../media/audio.g711a ../media/audio.g711a.h)
execute_process(COMMAND xxd -i ../media/video.h264 ../media/video.h264.h)

in CMakeLists.txt. I then installed xxd and this fixed it.