Commit 2e8a23cf authored by Adrien Maglo's avatar Adrien Maglo

chromecast: add an experimental sout module that connects to a ChromeCast...

chromecast: add an experimental sout module that connects to a ChromeCast device and streams using the HTTP access output

Example: vlc input.mp4 --sout="#chromecast{ip=192.168.1.11}"
parent 31d84ce0
...@@ -636,7 +636,7 @@ AC_CHECK_FUNCS([if_nameindex if_nametoindex]) ...@@ -636,7 +636,7 @@ AC_CHECK_FUNCS([if_nameindex if_nametoindex])
VLC_RESTORE_FLAGS VLC_RESTORE_FLAGS
AS_IF([test -n "$SOCKET_LIBS"], [ AS_IF([test -n "$SOCKET_LIBS"], [
VLC_ADD_LIBS([access_rtmp access_output_shout sap stream_out_standard stream_out_rtp stream_out_raop vod_rtsp oldrc netsync ts remoteosd audiobargraph_a],[${SOCKET_LIBS}]) VLC_ADD_LIBS([access_rtmp access_output_shout sap stream_out_standard stream_out_rtp stream_out_raop stream_out_chromecast vod_rtsp oldrc netsync ts remoteosd audiobargraph_a],[${SOCKET_LIBS}])
]) ])
AC_SUBST(SOCKET_LIBS) AC_SUBST(SOCKET_LIBS)
...@@ -3729,6 +3729,30 @@ PKG_WITH_MODULES([CHROMAPRINT],[libchromaprint >= libchromaprint_version], ...@@ -3729,6 +3729,30 @@ PKG_WITH_MODULES([CHROMAPRINT],[libchromaprint >= libchromaprint_version],
[(Chromaprint based audio fingerprinter)],[auto]) [(Chromaprint based audio fingerprinter)],[auto])
m4_popdef([libchromaprint_version]) m4_popdef([libchromaprint_version])
dnl
dnl Chromecast streaming support
dnl
m4_pushdef([protobuf_lite_version], 2.5.0)
PKG_WITH_MODULES([CHROMECAST],[protobuf-lite >= protobuf_lite_version], [
AC_CHECK_PROGS(PROTOC, protoc)
AS_IF([test "${PROTOC}" = "protoc"], [
VLC_ADD_PLUGIN([stream_out_chromecast])
VLC_ADD_CXXFLAGS([stream_out_chromecast],[${CHROMECAST_CFLAGS}] [-I./chromecast])
VLC_ADD_LIBS([stream_out_chromecast],[${CHROMECAST_LIBS}])
build_chromecast="yes"
], [
AC_MSG_ERROR(protoc compiler needed for [chromecast] was not found)
])
], [
AS_IF([test "${enable_chromecast}" = "yes"],
AC_MSG_ERROR(Library [protobuf-lite >= protobuf_lite_version] needed for [chromecast] was not found),
AC_MSG_WARN(Library [protobuf-lite >= protobuf_lite_version] needed for [chromecast] was not found)
)
enable_chromecast="no"
], [(Chromecast streaming support)], [auto])
AM_CONDITIONAL([BUILD_CHROMECAST], [test "${build_chromecast}" = "yes"])
m4_popdef([protobuf_lite_version])
dnl dnl
dnl Interface plugins dnl Interface plugins
dnl dnl
......
...@@ -69,3 +69,18 @@ BUILT_SOURCES += dummy.cpp ...@@ -69,3 +69,18 @@ BUILT_SOURCES += dummy.cpp
dummy.cpp: dummy.cpp:
touch dummy.cpp touch dummy.cpp
# Chromecast plugin
SUFFIXES += .proto .pb.cc
BUILT_SOURCES += chromecast/cast_channel.pb.cc
%.pb.cc: %.proto
$(PROTOC) --cpp_out=. -I$(srcdir) $<
SOURCES_stream_out_chromecast = chromecast/cast_channel.proto chromecast/cast.cpp \
../misc/webservices/json.h ../misc/webservices/json.c
nodist_libstream_out_chromecast_plugin_la_SOURCES = chromecast/cast_channel.pb.cc
if BUILD_CHROMECAST
stream_out_LTLIBRARIES += libstream_out_chromecast_plugin.la
endif
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment