v4l2rtspserver: Update to 0.1.1

Switched to using versioned releases.

Removed md5 usage and went full sha256.

Added uclibc++ support by backporting upstream patches.

Various other adjustments.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
Rosen Penev
2018-12-15 13:09:07 -08:00
parent 1f4a6d29a1
commit f04dfb7783
5 changed files with 169 additions and 20 deletions
@@ -0,0 +1,39 @@
From 9977cc5a4b35809bed04be543cf38e32d8f175c5 Mon Sep 17 00:00:00 2001
From: Rosen Penev <rosenp@gmail.com>
Date: Sat, 15 Dec 2018 15:02:34 -0800
Subject: [PATCH] Add a few missing headers
Helps to compile with alternative c++ libraries.
---
inc/DeviceSource.h | 2 ++
inc/MemoryBufferSink.h | 1 +
2 files changed, 3 insertions(+)
diff --git a/inc/DeviceSource.h b/inc/DeviceSource.h
index 7d4aa18..0e2f996 100755
--- a/inc/DeviceSource.h
+++ b/inc/DeviceSource.h
@@ -18,6 +18,8 @@
#include <iostream>
#include <iomanip>
+#include <pthread.h>
+
// live555
#include <liveMedia.hh>
diff --git a/inc/MemoryBufferSink.h b/inc/MemoryBufferSink.h
index 97e1db1..fc6de20 100644
--- a/inc/MemoryBufferSink.h
+++ b/inc/MemoryBufferSink.h
@@ -12,6 +12,7 @@
#pragma once
#include <map>
+#include <string>
#include "MediaSink.hh"
--
2.20.1
@@ -0,0 +1,25 @@
From 6e569797c0691d7fb2ba72952f81806d0477ca03 Mon Sep 17 00:00:00 2001
From: Michel Promonet <michel.promonet@free.fr>
Date: Tue, 11 Dec 2018 08:25:35 +0100
Subject: [PATCH] replace std::stoi with atoi
---
src/ServerMediaSubsession.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/ServerMediaSubsession.cpp b/src/ServerMediaSubsession.cpp
index c90555e..9ac9a76 100755
--- a/src/ServerMediaSubsession.cpp
+++ b/src/ServerMediaSubsession.cpp
@@ -99,7 +99,7 @@ RTPSink* BaseServerMediaSubsession::createSink(UsageEnvironment& env, Groupsock
getline(is, sampleRate, '/');
std::string channels("2");
getline(is, channels);
- videoSink = SimpleRTPSink::createNew(env, rtpGroupsock,rtpPayloadTypeIfDynamic, std::stoi(sampleRate), "audio", "L16", std::stoi(channels), True, False);
+ videoSink = SimpleRTPSink::createNew(env, rtpGroupsock,rtpPayloadTypeIfDynamic, atoi(sampleRate), "audio", "L16", atoi(channels), True, False);
}
return videoSink;
}
--
2.20.1
@@ -0,0 +1,25 @@
From be6dc4592e91841cfe593d88bfe8a8f068671c74 Mon Sep 17 00:00:00 2001
From: Michel Promonet <michel.promonet@free.fr>
Date: Tue, 11 Dec 2018 08:34:14 +0100
Subject: [PATCH] fix build
---
src/ServerMediaSubsession.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/ServerMediaSubsession.cpp b/src/ServerMediaSubsession.cpp
index 9ac9a76..a8b0bb3 100755
--- a/src/ServerMediaSubsession.cpp
+++ b/src/ServerMediaSubsession.cpp
@@ -99,7 +99,7 @@ RTPSink* BaseServerMediaSubsession::createSink(UsageEnvironment& env, Groupsock
getline(is, sampleRate, '/');
std::string channels("2");
getline(is, channels);
- videoSink = SimpleRTPSink::createNew(env, rtpGroupsock,rtpPayloadTypeIfDynamic, atoi(sampleRate), "audio", "L16", atoi(channels), True, False);
+ videoSink = SimpleRTPSink::createNew(env, rtpGroupsock,rtpPayloadTypeIfDynamic, atoi(sampleRate.c_str()), "audio", "L16", atoi(channels.c_str()), True, False);
}
return videoSink;
}
--
2.20.1
@@ -0,0 +1,51 @@
From f732d44c2bc47e6eccf65e5eb3160734f11e5d3e Mon Sep 17 00:00:00 2001
From: Rosen Penev <rosenp@gmail.com>
Date: Thu, 27 Dec 2018 20:16:59 -0800
Subject: [PATCH] Switch Makefile to compile with g++
With this change I managed to get OpenWrt to compile with uclibcxx
instead of libstdcpp.
Made CXX adjustable by the shell as OpenWrt needs to override this.
It also has its own ar.
EXTRA_CXXFLAGS seems to be the proper variable based on usage in the
OpenWrt tree.
---
Makefile | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/Makefile b/Makefile
index 51aaa37..f05bf0d 100644
--- a/v4l2wrapper/Makefile
+++ b/v4l2wrapper/Makefile
@@ -1,12 +1,12 @@
-CFLAGS = -W -Wall -pthread -g -pipe $(CFLAGS_EXTRA)
-CFLAGS += -I inc
+CXXFLAGS ?= -W -Wall -pthread -g -pipe $(EXTRA_CXXFLAGS)
+CXXFLAGS += -I inc
RM = rm -rf
-CC = $(CROSS)gcc
-AR = $(CROSS)ar
+CXX ?= $(CROSS)g++
+AR ?= $(CROSS)ar
PREFIX?=/usr
ifneq ($(wildcard $(SYSROOT)$(PREFIX)/include/log4cpp/Category.hh),)
-CFLAGS += -DHAVE_LOG4CPP -I $(SYSROOT)$(PREFIX)/include
+CXXFLAGS += -DHAVE_LOG4CPP -I $(SYSROOT)$(PREFIX)/include
endif
V4L2WRAPPER_CPP:=$(wildcard src/*.cpp)
@@ -17,7 +17,7 @@ V4L2WRAPPER_OBJ:=$(V4L2WRAPPER_CPP:%.cpp=%.o)
all: libv4l2wrapper.a
%.o: %.cpp
- $(CC) -c -o $@ $< $(CFLAGS)
+ $(CXX) -c -o $@ $< $(CXXFLAGS)
libv4l2wrapper.a: $(V4L2WRAPPER_OBJ)
$(AR) rcs $@ $^
--
2.20.1