Skip to content

Commit c35a431

Browse files
committed
Merge branch 'dev'
2 parents 51cecf4 + e7cfca1 commit c35a431

File tree

128 files changed

+4128
-2426
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

128 files changed

+4128
-2426
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ cpp/m4/lt~obsolete.m4
5656
#Other
5757
cpp/resources/*.yuv
5858
cpp/resources/*.pcmu
59-
docs
6059
test_app/suite
6160
.settings
6261
tags
@@ -65,3 +64,4 @@ tags
6564
*.sublime-project
6665
*.sublime-workspace
6766
newwebrtc
67+
android

cpp/INSTALL.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ NDN-RTC depends on its prerequisites. Paths to these sources and/or libraries ca
2424
* **OPENFECSRC** - Path to the directory which contains OpenFEC library header files (default is $OPENFECDIR/src)
2525
* **OPENFECLIB** - Path to the directory which contains OpenFEC library binaries (default is $OPENFECDIR/bin/Release)
2626
* **WEBRTCDIR** - Path to the directory which contains WebRTC trunk
27-
* **WEBRTCSRC** - Path to the directory which contains WebRTC header files (default is $WEBRTCDIR/wbertc)
27+
* **WEBRTCSRC** - Path to the directory which contains WebRTC header files (default is $WEBRTCDIR/webrtc)
2828
* **WEBRTCLIB** - Path to the directory which contains WebRTC libraries (default is $WEBRTCDIR/out/Release)
2929
* **LCONFIGDIR** - (Optional) path to the directory which contains libconfig library headers (default is /usr/local/include)
3030
* **LCONFIGLIB** - (Optional) path to the directory which contains libconfig library binaries (default is /usr/local/lib)
@@ -115,8 +115,16 @@ $ make && make install
115115

116116
To run unit tests (compilation takes a while):
117117

118+
> Since WebRTC binaries are scattered around in subfolders, one must perform an additional step of glueing them all together into one static library (libwebrtc-all.a). This can be done using this sequence of commands:
119+
118120
<pre>
119-
$ make check
121+
122+
$ cd <webrtc-checkout>/src/out/Default
123+
$ echo "create libwebrtc-all.a" > libwebrtc-all.mri
124+
$ for lib in $(find . -name '*.a'); do echo "addlib $lib" >> libwebrtc-all.mri; done;
125+
$ echo "save" >> libwebrtc-all.mri && echo "end" >> libwebrtc-all.mri
126+
$ ar -M &lt;libwebrtc-all.mri
127+
120128
</pre>
121129

122130
# Build instructions for Ubuntu 12.04, 14.04, 15.04

cpp/Makefile.am

Lines changed: 89 additions & 33 deletions
Large diffs are not rendered by default.

cpp/Makefile.in

Lines changed: 84 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -91,14 +91,22 @@ POST_UNINSTALL = :
9191
build_triplet = @build@
9292
host_triplet = @host@
9393
@OS_DARWIN_TRUE@am__append_1 = -flat_namespace
94-
@OS_DARWIN_TRUE@am__append_2 = @WEBRTCLIBS@
94+
@OS_DARWIN_TRUE@am__append_2 = -lwebrtc-all
95+
@OS_DARWIN_FALSE@am__append_3 = -lwebrtc-all
96+
@OS_ANDROID_TRUE@am__append_4 = -fexceptions -frtti
97+
@OS_ANDROID_TRUE@am__append_5 = -llog -lOpenSLES
9598
EXTRA_PROGRAMS = ndnrtc-client$(EXEEXT)
96-
@OS_LINUX_TRUE@am__append_3 = -pthread
97-
@OS_LINUX_TRUE@am__append_4 = -lX11 -lXdamage -lXrender -lXext -lnss3 -lssl3 -lXfixes -lXcomposite /usr/lib/x86_64-linux-gnu/libboost_system.so
98-
@OS_DARWIN_TRUE@am__append_5 = -DOS_DARWIN
99-
@OS_DARWIN_TRUE@am__append_6 = -framework CoreServices -framework CoreFoundation -framework AudioUnit -framework AudioToolbox -framework CoreAudio
100-
@OS_LINUX_TRUE@am__append_7 = -ldl -lX11
99+
@OS_LINUX_TRUE@am__append_6 = -pthread
100+
@OS_LINUX_TRUE@am__append_7 = -ldl -lX11 -lXdamage -lXrender -lXext -lnss3 -lssl3 -lXfixes -lXcomposite
101+
# TODO: check ubuntu build after commenting below line (part of LDADD flags)
102+
#/usr/lib/x86_64-linux-gnu/libboost_system.so
101103
@OS_DARWIN_TRUE@am__append_8 = -DOS_DARWIN
104+
@OS_DARWIN_TRUE@am__append_9 = -framework CoreServices -framework CoreFoundation -framework AudioUnit -framework AudioToolbox -framework CoreAudio
105+
@OS_ANDROID_TRUE@am__append_10 = -fPIE -fexceptions -frtti
106+
@OS_ANDROID_TRUE@am__append_11 = -pthread -fPIE -pie
107+
@OS_ANDROID_TRUE@am__append_12 = -llog -lOpenSLES
108+
@OS_LINUX_TRUE@am__append_13 = -ldl -lX11
109+
@OS_DARWIN_TRUE@am__append_14 = -DOS_DARWIN
102110
check_PROGRAMS = bin/tests/test-params$(EXEEXT) \
103111
bin/tests/test-network-data$(EXEEXT) \
104112
bin/tests/test-packet-publisher$(EXEEXT) \
@@ -198,9 +206,11 @@ am_libndnrtc_la_OBJECTS = src/libndnrtc_la-async.lo \
198206
src/libndnrtc_la-audio-stream-impl.lo \
199207
src/libndnrtc_la-audio-thread.lo src/libndnrtc_la-av-sync.lo \
200208
src/libndnrtc_la-buffer-control.lo src/libndnrtc_la-clock.lo \
209+
src/libndnrtc_la-c-wrapper.lo \
201210
src/libndnrtc_la-data-validator.lo \
202211
src/libndnrtc_la-drd-estimator.lo \
203-
src/libndnrtc_la-estimators.lo src/libndnrtc_la-fec.lo \
212+
src/libndnrtc_la-estimators.lo \
213+
src/libndnrtc_la-face-processor.lo src/libndnrtc_la-fec.lo \
204214
src/libndnrtc_la-frame-buffer.lo \
205215
src/libndnrtc_la-frame-converter.lo \
206216
src/libndnrtc_la-frame-data.lo \
@@ -252,7 +262,8 @@ am_bin_tests_test_async_OBJECTS = \
252262
tests/bin_tests_test_async-test-async.$(OBJEXT) \
253263
src/bin_tests_test_async-async.$(OBJEXT) $(am__objects_1)
254264
bin_tests_test_async_OBJECTS = $(am_bin_tests_test_async_OBJECTS)
255-
am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
265+
am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
266+
$(am__DEPENDENCIES_1)
256267
bin_tests_test_async_DEPENDENCIES = $(am__DEPENDENCIES_2)
257268
bin_tests_test_async_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
258269
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
@@ -1086,10 +1097,8 @@ am_ndnrtc_client_OBJECTS = client/src/ndnrtc_client-main.$(OBJEXT) \
10861097
client/src/ndnrtc_client-precise-generator.$(OBJEXT) \
10871098
client/src/ndnrtc_client-key-chain-manager.$(OBJEXT)
10881099
ndnrtc_client_OBJECTS = $(am_ndnrtc_client_OBJECTS)
1089-
@OS_LINUX_TRUE@am__DEPENDENCIES_4 = \
1090-
@OS_LINUX_TRUE@ /usr/lib/x86_64-linux-gnu/libboost_system.so
10911100
ndnrtc_client_DEPENDENCIES = $(top_builddir)/libndnrtc.la \
1092-
$(am__DEPENDENCIES_4)
1101+
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
10931102
ndnrtc_client_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
10941103
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
10951104
$(AM_CXXFLAGS) $(CXXFLAGS) $(ndnrtc_client_LDFLAGS) $(LDFLAGS) \
@@ -1616,9 +1625,11 @@ libndnrtc_la_SOURCES = src/async.cpp src/async.hpp \
16161625
src/av-sync.cpp src/av-sync.hpp \
16171626
src/buffer-control.cpp src/buffer-control.hpp \
16181627
src/clock.cpp src/clock.hpp \
1628+
src/c-wrapper.cpp include/c-wrapper.h \
16191629
src/data-validator.cpp src/data-validator.hpp \
16201630
src/drd-estimator.cpp src/drd-estimator.hpp \
16211631
src/estimators.cpp src/estimators.hpp \
1632+
src/face-processor.hpp src/face-processor.cpp \
16221633
src/fec.cpp src/fec.hpp \
16231634
src/frame-buffer.cpp src/frame-buffer.hpp \
16241635
src/frame-converter.cpp src/frame-converter.hpp \
@@ -1667,20 +1678,27 @@ libndnrtc_la_SOURCES = src/async.cpp src/async.hpp \
16671678
src/webrtc-audio-channel.cpp src/webrtc-audio-channel.hpp \
16681679
src/webrtc.hpp
16691680

1670-
libndnrtc_la_CPPFLAGS = -fPIC -I$(top_srcdir)/include -I$(top_srcdir)/src -I@WEBRTCDIR@ -I@WEBRTCSRC@ -I@BOOSTDIR@ -I@NDNCPPDIR@ -I@OPENFECSRC@ -D BASE_FILE_NAME=\"$*\"
1681+
libndnrtc_la_CPPFLAGS = -fPIC -I$(top_srcdir)/include \
1682+
-I$(top_srcdir)/src -I@WEBRTCDIR@ -I@WEBRTCSRC@ -I@BOOSTDIR@ \
1683+
-I@NDNCPPDIR@ -I@OPENFECSRC@ -D BASE_FILE_NAME=\"$*\" \
1684+
$(am__append_4)
16711685
libndnrtc_la_LDFLAGS = -L@NDNCPPLIB@ -L@OPENFECLIB@ -L@WEBRTCLIB@ \
16721686
-L@BOOSTLIB@ $(am__append_1)
16731687
libndnrtc_la_LIBADD = -lndn-cpp -lopenfec -lboost_system -lboost_timer \
1674-
-lboost_chrono -lboost_thread -lboost_regex -lwebrtc-all \
1675-
$(am__append_2)
1676-
libndnrtc_la_DEPENDENCIES = libwebrtc-all.a
1688+
-lboost_chrono -lboost_thread -lboost_regex $(am__append_2) \
1689+
$(am__append_3) $(am__append_5)
1690+
@OS_DARWIN_FALSE@libndnrtc_la_DEPENDENCIES = libwebrtc-all.a
1691+
@OS_DARWIN_TRUE@libndnrtc_la_DEPENDENCIES = libwebrtc-all.a
16771692
ndnrtc_client_SOURCES = client/src/main.cpp client/src/renderer.hpp client/src/renderer.cpp client/src/config.cpp client/src/config.hpp client/src/stat-collector.cpp client/src/stat-collector.hpp client/src/client.cpp client/src/client.hpp client/src/frame-io.hpp client/src/frame-io.cpp client/src/video-source.cpp client/src/video-source.hpp client/src/precise-generator.hpp client/src/precise-generator.cpp client/src/key-chain-manager.cpp
16781693
ndnrtc_client_CPPFLAGS = -I$(top_srcdir)/client/src -I@LCONFIGDIR@ \
1679-
-I@BOOSTDIR@ -I$(includedir) -I@NDNCPPDIR@ $(am__append_5)
1680-
ndnrtc_client_LDFLAGS = -L@LCONFIGLIB@ -L@NDNCPPLIB@ -L@BOOSTLIB@ \
1681-
-L$(libdir) $(am__append_3) $(am__append_6)
1694+
-I@BOOSTDIR@ -I$(includedir) -I@NDNCPPDIR@ $(am__append_8) \
1695+
$(am__append_10)
1696+
ndnrtc_client_LDFLAGS = -static -L@LCONFIGLIB@ -L@NDNCPPLIB@ \
1697+
-L@BOOSTLIB@ -L$(libdir) $(am__append_6) $(am__append_9) \
1698+
$(am__append_11)
16821699
ndnrtc_client_LDADD = -lconfig++ -lndn-cpp -lboost_thread \
1683-
-lboost_chrono $(top_builddir)/libndnrtc.la $(am__append_4)
1700+
-lboost_chrono -lboost_system $(top_builddir)/libndnrtc.la \
1701+
$(am__append_7) $(am__append_12)
16841702
noinst_SCRIPTS = client/params.cfg
16851703

16861704
#################
@@ -1692,9 +1710,9 @@ UNIT_TESTS_CPPFLAGS_ = -I${GTEST_ROOT} -I${GTEST_ROOT}/include \
16921710
-I${GMOCK_ROOT} -I${GMOCK_ROOT}/include -I$(top_srcdir) \
16931711
-I$(top_srcdir)/include -I$(includedir) \
16941712
${ndnrtc_client_CPPFLAGS} ${libndnrtc_la_CPPFLAGS} \
1695-
$(am__append_8)
1713+
$(am__append_14)
16961714
UNIT_TESTS_LDFLAGS_ = ${libndnrtc_la_LDFLAGS} ${ndnrtc_client_LDFLAGS}
1697-
UNIT_TESTS_LDADD_ = ${libndnrtc_la_LIBADD} -lconfig++ $(am__append_7)
1715+
UNIT_TESTS_LDADD_ = ${libndnrtc_la_LIBADD} -lconfig++ $(am__append_13)
16981716
UNIT_TESTS_COMMON_SOURCES_ = contrib/gtest/googlemock/src/gmock-all.cc contrib/gtest/googletest/src/gtest-all.cc
16991717
bin_tests_test_config_load_SOURCES = tests/test-config-load.cc client/src/config.cpp src/simple-log.cpp ${UNIT_TESTS_COMMON_SOURCES_}
17001718
bin_tests_test_config_load_CPPFLAGS = ${UNIT_TESTS_CPPFLAGS_}
@@ -1984,12 +2002,16 @@ src/libndnrtc_la-buffer-control.lo: src/$(am__dirstamp) \
19842002
src/$(DEPDIR)/$(am__dirstamp)
19852003
src/libndnrtc_la-clock.lo: src/$(am__dirstamp) \
19862004
src/$(DEPDIR)/$(am__dirstamp)
2005+
src/libndnrtc_la-c-wrapper.lo: src/$(am__dirstamp) \
2006+
src/$(DEPDIR)/$(am__dirstamp)
19872007
src/libndnrtc_la-data-validator.lo: src/$(am__dirstamp) \
19882008
src/$(DEPDIR)/$(am__dirstamp)
19892009
src/libndnrtc_la-drd-estimator.lo: src/$(am__dirstamp) \
19902010
src/$(DEPDIR)/$(am__dirstamp)
19912011
src/libndnrtc_la-estimators.lo: src/$(am__dirstamp) \
19922012
src/$(DEPDIR)/$(am__dirstamp)
2013+
src/libndnrtc_la-face-processor.lo: src/$(am__dirstamp) \
2014+
src/$(DEPDIR)/$(am__dirstamp)
19932015
src/libndnrtc_la-fec.lo: src/$(am__dirstamp) \
19942016
src/$(DEPDIR)/$(am__dirstamp)
19952017
src/libndnrtc_la-frame-buffer.lo: src/$(am__dirstamp) \
@@ -3841,10 +3863,12 @@ distclean-compile:
38413863
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libndnrtc_la-audio-thread.Plo@am__quote@
38423864
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libndnrtc_la-av-sync.Plo@am__quote@
38433865
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libndnrtc_la-buffer-control.Plo@am__quote@
3866+
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libndnrtc_la-c-wrapper.Plo@am__quote@
38443867
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libndnrtc_la-clock.Plo@am__quote@
38453868
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libndnrtc_la-data-validator.Plo@am__quote@
38463869
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libndnrtc_la-drd-estimator.Plo@am__quote@
38473870
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libndnrtc_la-estimators.Plo@am__quote@
3871+
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libndnrtc_la-face-processor.Plo@am__quote@
38483872
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libndnrtc_la-fec.Plo@am__quote@
38493873
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libndnrtc_la-frame-buffer.Plo@am__quote@
38503874
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libndnrtc_la-frame-converter.Plo@am__quote@
@@ -4051,6 +4075,13 @@ src/libndnrtc_la-clock.lo: src/clock.cpp
40514075
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
40524076
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libndnrtc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/libndnrtc_la-clock.lo `test -f 'src/clock.cpp' || echo '$(srcdir)/'`src/clock.cpp
40534077

4078+
src/libndnrtc_la-c-wrapper.lo: src/c-wrapper.cpp
4079+
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libndnrtc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/libndnrtc_la-c-wrapper.lo -MD -MP -MF src/$(DEPDIR)/libndnrtc_la-c-wrapper.Tpo -c -o src/libndnrtc_la-c-wrapper.lo `test -f 'src/c-wrapper.cpp' || echo '$(srcdir)/'`src/c-wrapper.cpp
4080+
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/libndnrtc_la-c-wrapper.Tpo src/$(DEPDIR)/libndnrtc_la-c-wrapper.Plo
4081+
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/c-wrapper.cpp' object='src/libndnrtc_la-c-wrapper.lo' libtool=yes @AMDEPBACKSLASH@
4082+
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
4083+
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libndnrtc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/libndnrtc_la-c-wrapper.lo `test -f 'src/c-wrapper.cpp' || echo '$(srcdir)/'`src/c-wrapper.cpp
4084+
40544085
src/libndnrtc_la-data-validator.lo: src/data-validator.cpp
40554086
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libndnrtc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/libndnrtc_la-data-validator.lo -MD -MP -MF src/$(DEPDIR)/libndnrtc_la-data-validator.Tpo -c -o src/libndnrtc_la-data-validator.lo `test -f 'src/data-validator.cpp' || echo '$(srcdir)/'`src/data-validator.cpp
40564087
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/libndnrtc_la-data-validator.Tpo src/$(DEPDIR)/libndnrtc_la-data-validator.Plo
@@ -4072,6 +4103,13 @@ src/libndnrtc_la-estimators.lo: src/estimators.cpp
40724103
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
40734104
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libndnrtc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/libndnrtc_la-estimators.lo `test -f 'src/estimators.cpp' || echo '$(srcdir)/'`src/estimators.cpp
40744105

4106+
src/libndnrtc_la-face-processor.lo: src/face-processor.cpp
4107+
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libndnrtc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/libndnrtc_la-face-processor.lo -MD -MP -MF src/$(DEPDIR)/libndnrtc_la-face-processor.Tpo -c -o src/libndnrtc_la-face-processor.lo `test -f 'src/face-processor.cpp' || echo '$(srcdir)/'`src/face-processor.cpp
4108+
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/libndnrtc_la-face-processor.Tpo src/$(DEPDIR)/libndnrtc_la-face-processor.Plo
4109+
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/face-processor.cpp' object='src/libndnrtc_la-face-processor.lo' libtool=yes @AMDEPBACKSLASH@
4110+
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
4111+
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libndnrtc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/libndnrtc_la-face-processor.lo `test -f 'src/face-processor.cpp' || echo '$(srcdir)/'`src/face-processor.cpp
4112+
40754113
src/libndnrtc_la-fec.lo: src/fec.cpp
40764114
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libndnrtc_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/libndnrtc_la-fec.lo -MD -MP -MF src/$(DEPDIR)/libndnrtc_la-fec.Tpo -c -o src/libndnrtc_la-fec.lo `test -f 'src/fec.cpp' || echo '$(srcdir)/'`src/fec.cpp
40774115
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/libndnrtc_la-fec.Tpo src/$(DEPDIR)/libndnrtc_la-fec.Plo
@@ -12211,18 +12249,32 @@ uninstall-am: uninstall-libLTLIBRARIES uninstall-pkgincludeHEADERS
1221112249
.PRECIOUS: Makefile
1221212250

1221312251

12214-
make-fat-libs:
12215-
$(shell for lib in $$(find @WEBRTCLIB@ -name '*.a'); do \
12216-
ar -t $$lib | xargs ar rvs $$lib.new 1> /dev/null 2>&1 && mv -v $$lib.new $$lib > /dev/null; \
12217-
done && \
12218-
for lib in $$(find @WEBRTCLIB@ -name '*.a'); do cp -f $$lib @WEBRTCLIB@ 2> /dev/null; done;)
12252+
@[email protected]: make-fat-libs
12253+
12254+
@OS_DARWIN_TRUE@make-fat-libs:
12255+
@OS_DARWIN_TRUE@ $(shell for lib in $$(find @WEBRTCLIB@ -name '*.a'); do \
12256+
@OS_DARWIN_TRUE@ ar -t $$lib | xargs ar rvs $$lib.new 1> /dev/null 2>&1 && mv -v $$lib.new $$lib > /dev/null; \
12257+
@OS_DARWIN_TRUE@ done && \
12258+
@OS_DARWIN_TRUE@ for lib in $$(find @WEBRTCLIB@ -name '*.a'); do cp -f $$lib @WEBRTCLIB@ 2> /dev/null; done;)
12259+
12260+
@[email protected]: make-fat-libs
12261+
@OS_DARWIN_TRUE@ $(shell mkdir -p tmp && cd tmp && \
12262+
@OS_DARWIN_TRUE@ for lib in $$(ls @WEBRTCLIB@/*.a) ; do \
12263+
@OS_DARWIN_TRUE@ ar x $$lib; \
12264+
@OS_DARWIN_TRUE@ done && \
12265+
@OS_DARWIN_TRUE@ ar r @WEBRTCLIB@/$@ *.o && cd .. && rm -Rf tmp)
12266+
12267+
@[email protected]: libwebrtc-all.mri libwebrtc-all.a
12268+
12269+
12270+
@OS_DARWIN_FALSE@ $(shell echo "create libwebrtc-all.a" > @WEBRTCLIB@/libwebrtc-all.mri && \
12271+
@OS_DARWIN_FALSE@ for lib in $$(find @WEBRTCLIB@ -name '*.a'); do \
12272+
@OS_DARWIN_FALSE@ echo "addlib $$lib" >> @WEBRTCLIB@/libwebrtc-all.mri; done && \
12273+
@OS_DARWIN_FALSE@ echo "save" >> @WEBRTCLIB@/libwebrtc-all.mri && \
12274+
@OS_DARWIN_FALSE@ echo "end" >> @WEBRTCLIB@/libwebrtc-all.mri)
1221912275

12220-
libwebrtc-all.a: make-fat-libs
12221-
$(shell mkdir -p tmp && cd tmp && \
12222-
for lib in $$(ls @WEBRTCLIB@/*.a) ; do \
12223-
ar x $$lib; \
12224-
done && \
12225-
ar r @WEBRTCLIB@/$@ *.o && cd .. && rm -Rf tmp)
12276+
@[email protected]: libwebrtc-all.mri
12277+
@OS_DARWIN_FALSE@ $(shell cd @WEBRTCLIB@ && ar -M <libwebrtc-all.mri)
1222612278

1222712279
res/test-source-1280x720.argb:
1222812280
mkdir -p $(top_builddir)/res/

cpp/client/src/client.cpp

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ void Client::tearDownProducer(){
131131
if (!params_.isProducing())
132132
return;
133133

134-
LogInfo("Tearing down producing...");
134+
LogInfo("") << "Tearing down producing..." << std::endl;
135135

136136
for (auto& ls:localStreams_)
137137
{
@@ -162,13 +162,13 @@ void Client::tearDownConsumer(){
162162
RemoteStream Client::initRemoteStream(const ConsumerStreamParams& p,
163163
const ndnrtc::GeneralConsumerParams& gcp)
164164
{
165-
RendererInternal *renderer = (p.type_ == ConsumerStreamParams::MediaStreamTypeVideo ? new RendererInternal(p.streamSink_, true) : nullptr);
165+
RendererInternal *renderer = setupRenderer(p);
166166

167167
if (p.type_ == ConsumerStreamParams::MediaStreamTypeVideo)
168168
{
169169
boost::shared_ptr<ndnrtc::RemoteVideoStream>
170170
remoteStream(boost::make_shared<ndnrtc::RemoteVideoStream>(io_, face_, keyChain_,
171-
p.sessionPrefix_, p.streamName_));
171+
p.sessionPrefix_, p.streamName_, gcp.interestLifetime_, gcp.jitterSizeMs_));
172172
remoteStream->setLogger(consumerLogger(p.sessionPrefix_, p.streamName_));
173173
remoteStream->start(p.threadToFetch_, renderer);
174174
return RemoteStream(remoteStream, boost::shared_ptr<RendererInternal>(renderer));
@@ -177,7 +177,7 @@ RemoteStream Client::initRemoteStream(const ConsumerStreamParams& p,
177177
{
178178
boost::shared_ptr<ndnrtc::RemoteAudioStream>
179179
remoteStream(boost::make_shared<ndnrtc::RemoteAudioStream>(io_, face_, keyChain_,
180-
p.sessionPrefix_, p.streamName_));
180+
p.sessionPrefix_, p.streamName_, gcp.interestLifetime_, gcp.jitterSizeMs_));
181181
remoteStream->setLogger(consumerLogger(p.sessionPrefix_, p.streamName_));
182182
remoteStream->start(p.threadToFetch_);
183183
return RemoteStream(remoteStream, boost::shared_ptr<RendererInternal>(renderer));
@@ -267,3 +267,33 @@ Client::consumerLogger(std::string prefix, std::string streamName)
267267

268268
return logger;
269269
}
270+
271+
RendererInternal *Client::setupRenderer(const ConsumerStreamParams& p)
272+
{
273+
if (p.type_ == ConsumerStreamParams::MediaStreamTypeVideo)
274+
{
275+
if (p.sinkType_ == "pipe")
276+
return new RendererInternal(p.streamSink_,
277+
[](const std::string& s)->boost::shared_ptr<IFrameSink>{
278+
return boost::make_shared<PipeSink>(s);
279+
});
280+
else if (p.sinkType_ == "nano")
281+
{
282+
#ifdef HAVE_NANOMSG
283+
return new RendererInternal(p.streamSink_,
284+
[](const std::string& s)->boost::shared_ptr<IFrameSink>{
285+
return boost::make_shared<NanoMsgSink>(s);
286+
});
287+
#else
288+
throw std::runtime_error("Requested nano type sink, but code was not built with nanomsg library support");
289+
#endif
290+
}
291+
else
292+
return new RendererInternal(p.streamSink_,
293+
[](const std::string& s)->boost::shared_ptr<IFrameSink>{
294+
return boost::make_shared<FileSink>(s);
295+
});
296+
}
297+
else
298+
return nullptr;
299+
}

0 commit comments

Comments
 (0)