Mediacast to TV - MiracleCast - Open-Source Miracast - Wifi-Display on linux

poma pomidorabelisima at gmail.com
Sun Feb 1 09:18:42 UTC 2015


On 01.02.2015 05:38, poma wrote:
> On 31.01.2015 17:28, Patrick O'Callaghan wrote:
>> I have a smart TV (Sony Bravia) and can use Android Cast Screen from my
>> phone or tablet to see content. Apparently it also works with the Apple
>> equivalent. Is there a way to do this from my F21 desktop?
>>
>> poc
>>
...
> 
> Ref.
> On Wifi-Display, Democratic Republics and Miracles
>   https://dvdhrm.wordpress.com/2014/02/17/on-wifi-democratic-republics-and-miracles/
> MiracleCast - Wifi-Display/Miracast Implementation
>   http://cgit.freedesktop.org/~dvdhrm/miracle/
> 
> Review Request: libwfd - A stand-alone implementation of the Wifi-Display protocol
>   https://bugzilla.redhat.com/show_bug.cgi?id=1066707
> 
> MiracleCast - libwfd
>   http://www.freedesktop.org/wiki/Software/miracle/libwfd/
> build: remove libwfd dependency
>   http://cgit.freedesktop.org/~dvdhrm/miracle/commit/?id=7a73bee
> 

systemd.spec-enable-kdbus.patch:

Without
--enable-kdbus
in
systemd.spec

src/wifi/wifid.c:30:28: fatal error: systemd/sd-bus.h: No such file or directory
src/shared/rtsp.c:31:30: fatal error: systemd/sd-event.h: No such file or directory
src/shared/wpas.c:31:30: fatal error: systemd/sd-event.h: No such file or directory

---
 systemd.spec | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/systemd.spec b/systemd.spec
index d3c7012..55265bb 100644
--- a/systemd.spec
+++ b/systemd.spec
@@ -502,7 +502,7 @@ CONFIGURE_OPTS=(
         --with-sysvinit-path=/etc/rc.d/init.d
         --with-rc-local-script-path-start=/etc/rc.d/rc.local
         --with-ntp-servers='0.%{ntpvendor}.pool.ntp.org 1.%{ntpvendor}.pool.ntp.org 2.%{ntpvendor}.pool.ntp.org 3.%{ntpvendor}.pool.ntp.org'
-        --disable-kdbus
+        --enable-kdbus
         --disable-terminal
 )
 
@@ -988,6 +988,14 @@ getent passwd systemd-journal-upload >/dev/null 2>&1 || useradd -r -l -g systemd
 %{_includedir}/systemd/sd-id128.h
 %{_includedir}/systemd/sd-messages.h
 %{_includedir}/systemd/_sd-common.h
+%{_includedir}/systemd/sd-bus-protocol.h
+%{_includedir}/systemd/sd-bus-vtable.h
+%{_includedir}/systemd/sd-bus.h
+%{_includedir}/systemd/sd-event.h
+%{_includedir}/systemd/sd-path.h
+%{_includedir}/systemd/sd-resolve.h
+%{_includedir}/systemd/sd-rtnl.h
+%{_includedir}/systemd/sd-utf8.h
 %{_includedir}/libudev.h
 %{_libdir}/pkgconfig/libudev.pc
 %{_libdir}/pkgconfig/libsystemd.pc

~~~~~~~~~~
~~~~~~~~~~

miracle-include-stdio.h.patch:

Without
#include <stdio.h>
in
src/wifi/wifid.h
src/wifi/wifid-supplicant.c:2447:2: error: unknown type name ‘FILE’
&
src/ctl/ctl.h
/usr/include/readline/rltypedefs.h:71:28: error: unknown type name ‘FILE’
/usr/include/readline/readline.h:423:20: error: unknown type name ‘FILE’
/usr/include/readline/readline.h:550:8: error: unknown type name ‘FILE’
/usr/include/readline/readline.h:551:8: error: unknown type name ‘FILE’
/usr/include/readline/readline.h:580:8: error: unknown type name ‘rl_getc_func_t’
/usr/include/readline/readline.h:899:3: error: unknown type name ‘FILE’
/usr/include/readline/readline.h:900:3: error: unknown type name ‘FILE’
src/ctl/ctl-cli.c:326:15: error: ‘stdin’ undeclared (first use in this function)

---
 src/ctl/ctl.h    | 1 +
 src/wifi/wifid.h | 1 +
 2 files changed, 2 insertions(+)

diff --git a/src/ctl/ctl.h b/src/ctl/ctl.h
index 47c37ae..19ad34d 100644
--- a/src/ctl/ctl.h
+++ b/src/ctl/ctl.h
@@ -20,6 +20,7 @@
 #include <errno.h>
 #include <stdarg.h>
 #include <stdbool.h>
+#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <sys/socket.h>
diff --git a/src/wifi/wifid.h b/src/wifi/wifid.h
index 62d5346..728136e 100644
--- a/src/wifi/wifid.h
+++ b/src/wifi/wifid.h
@@ -20,6 +20,7 @@
 #include <errno.h>
 #include <libudev.h>
 #include <stdbool.h>
+#include <stdio.h>
 #include <stdlib.h>
 #include <systemd/sd-bus.h>
 #include <systemd/sd-event.h>

~~~~~~~~~~
~~~~~~~~~~

$ git clone git://people.freedesktop.org/~dvdhrm/miracle
$ cd miracle/
$ patch -p1 < ../miracle-include-stdio.h.patch
$ test -f ./configure || NOCONFIGURE=1 ./autogen.sh
$ ./configure --disable-static
$ make
$ su
# make install

$ ls -1 /usr/local/bin/miracle*
/usr/local/bin/miracled
/usr/local/bin/miracle-dhcp
/usr/local/bin/miracle-gst.sh
/usr/local/bin/miracle-sinkctl
/usr/local/bin/miracle-wifictl
/usr/local/bin/miracle-wifid


MiracleCast - Howto
  http://web.archive.org/web/20140807221926/http://www.freedesktop.org/wiki/Software/miracle/howto

FOSDEM 2014
Open-Source Miracast
Wifi-Display on linux
  https://archive.fosdem.org/2014/schedule/event/miracast/


poma



More information about the devel mailing list