-
Notifications
You must be signed in to change notification settings - Fork 417
Internals
Alberto Fanjul edited this page May 24, 2017
·
8 revisions
miracast specification is implemented on miraclecast by:
-
miracle-wifid: Is a daemon which spawns a
wpa_supplicant
with special configuration to pair with other devices by Wifi P2P and manage dhcp on created network -
miracle-sinkctl: Is a controller connected to
miracle-wifid
which selects interface to use and manage RSTP communication, program to play audio/video screening and UIBC (input on source from sink) interaction. -
miracle-wifictl: Is a controller connected to
miracle-wifid
to use miraclecast as source (implementation not finished) - miracle-gst and gstplayer: Players for streamed video
-
miracle-uibcctl: Is a controller runned in parallel with
gstplayer
to send input events
With WIP source implementation, source side functionalities are implemented by:
-
miracle-dispd: Is a daemon which maintains WiFi-Display session(s) and spawn
gstencoder
to stream your screen and audio to the sink. -
miracle-dispctl: Is a front-end to control
miracle-wifid
andmiracle-dispd
for user to establish WiFi-Display session(s). - gstencoder: Encode your screen and/or audio then stream to sink.
WIP source implementation also added DBus and systemd service files for miracle-wifid
and miracle-dispd
, this way, the two daemons can be launched on-demand (eg. by running miracle-dispctl
).
In the systemd service files, unused caps are removed to reduce attach surface (further fine grained permission control are needed), if any EPERM
error encountered, try to relax it from miracle-wifid.service
or miracle-dispd.service
.
With WIP windows fix you can do screen mirroring with a a Windows 10 OS as sink