1
0
Fork 0
mirror of https://github.com/albfan/miraclecast.git synced 2025-02-15 04:42:06 +00:00
Commit graph

295 commits

Author SHA1 Message Date
Derek Dai
2da1f70ccd
miracle-wifid: postpone the emittion of managed signal after the status
query
2017-03-30 22:58:34 +08:00
Derek Dai
f46617383d
miracle-dispd: notify systemd about the service readiness 2017-03-30 13:06:49 +08:00
Derek Dai
be76bef4a2
miracle-wifid: fix signal emittion of FormationFailure 2017-03-30 10:17:32 +08:00
Derek Dai
2e3f055bd2
miracle-dispd: add watchdog and SIGKILL for it
to prevent no reponse and unable to be terminated issue. this is a temp solution
2017-03-28 17:44:44 +08:00
Derek Dai
cfe2c30542
miracle-dispd: relax checking for peer with empty wfd_subelements 2017-03-26 17:42:36 +08:00
Derek Dai
a0d0c9bc8c
move definitions related to miracle-dispd from src/ctl to src/disp 2017-03-25 15:37:57 +08:00
Derek Dai
91e62a740b
acquire ownership through Link.Manage()/Link.Unmanage() instead of set Link.Managed property 2017-03-25 09:54:20 +08:00
Derek Dai
8a7afdf0de
miracle-dispd: merge patch from Meelis 2017-03-24 17:52:49 +08:00
Derek Dai
feadf43ed1
miracle-dispd: fix monitor geometry calculation issue 2017-03-23 10:41:55 +08:00
Derek Dai
7c3f32111d
miracle-wfdctl: fix pointer check issue 2017-03-23 10:41:55 +08:00
Derek Dai
1d55e643c1
change argument types of wfd_sink_start_session()
To workaround valac issue
2017-03-23 10:41:54 +08:00
Derek Dai
b21aa0d039
rename miracle-wfdctl to miracle-dispd 2017-03-23 10:41:41 +08:00
Derek Dai
5532bf14d1
miracle-wfdctl: encode audio with voaacenc instead of avenc_aac to get
closer to WFD spec
2017-03-17 22:46:41 +08:00
Derek Dai
49f3e5fbaa
miracle-wfdctl: handle gst messages and reflect state onto session 2017-03-17 15:12:45 +08:00
Derek Dai
afec924d49
miracle-wfdctl: do not expose rtsp_message_id_to_string() to outside
world
2017-03-17 15:10:43 +08:00
Derek Dai
abf940f350
miracle-wfdctl: remove extra NULL parameter 2017-03-16 17:49:45 +08:00
Derek Dai
a659094e42
update dependency information 2017-03-16 17:47:28 +08:00
Derek Dai
a2e16ff348
miracle-wfdctl: disable audio encoding temparary 2017-03-16 16:38:01 +08:00
Derek Dai
6d1ee10689
miracle-wfdctl: fine tune codec to compliant with WFD spec + H264
profile/level
2017-03-16 16:31:24 +08:00
Derek Dai
1156c08c3f
miracle-wfdctl: set ximagesrc as live mode to prvent it preroll in pause
state
2017-03-16 16:28:15 +08:00
Derek Dai
50a8cd7e1d
miracle-wfdctl: reply rtsp request with date header in locale
en_US.UTF-8
2017-03-13 21:23:17 +08:00
Derek Dai
b70a58066c
miracle-wfdctl: send video only stream if no audio device specified 2017-03-09 17:48:53 +08:00
Derek Dai
cdc4e32ff8
miracle-wfdctl: fix argument passing for ximagesrc 2017-03-08 19:32:51 +08:00
Derek Dai
d41a88cc8b
miracle-wfdctl: fine tune gstreamer pipeline 2017-03-08 17:31:04 +08:00
Derek Dai
720f2a1d91
miraclw-wfdctl: now you can cast only specified xid or xname to sink 2017-03-08 13:38:44 +08:00
Derek Dai
88cf463cae
miraclw-wfdctl: fix typo of dbus signal names 2017-03-08 11:12:18 +08:00
Derek Dai
07ca224397
miracle-wfdctl: set XAUTHORITY and DISPLAY before create gstreamer
pipeline, and now we can pass device name to pulseaudio
2017-03-08 10:00:51 +08:00
Derek Dai
ded0f2bada
miracle-wfdctl: fix sink removal notifcation 2017-03-07 16:16:28 +08:00
Derek Dai
e62a7f547d
miracle-wfdctl: fix variety kinds of dbus interface issues 2017-03-07 11:38:26 +08:00
Derek Dai
51cdba4d46
miracle-wfdctl: fix session removal dbus notification 2017-03-07 10:55:46 +08:00
Derek Dai
a06c0bc154
miracle-wfdctl: add rtcp and audio supporting to gstreamer pipeline 2017-03-07 10:15:02 +08:00
Derek Dai
5b7f9d29f6
miracle-wfdctl: include header <gst/gst.h> for resolving compiler warning 2017-03-06 17:36:44 +08:00
Derek Dai
0677d64252
miracle-wifid: change managed property of link by method call instead of
set property due to wpa_supplicant needs time to get ready
2017-03-06 17:29:26 +08:00
Derek Dai
9b7d2a24cc
miracle-wfdctl: encoding video stream with gstreamer library instead of
gst-launch-1.0
2017-03-03 17:15:30 +08:00
Derek Dai
c458b273b1
miracle-wfdctl: integrate sd_event with GMainLoop for running gstreamer
in process instead of fork n exec gst-launch
2017-03-03 15:40:43 +08:00
Derek Dai
cb821562ed
relax permissions checking to let non-privileged use miracalcast.
we will enhance this by fine grained permission conrol latter.
2017-03-03 08:59:37 +08:00
Derek Dai
2e2c789385
miracle-wfdctl: remove unused Range header from reply 2017-02-27 11:40:14 +08:00
Derek Dai
5a3f746d4d
miracle-wfdctl: do not launch gstreamer if DO_NOT_LAUNCH_GST environment
variable is set while miracle-wfdctl running
2017-02-27 11:38:59 +08:00
Derek Dai
99497fbb55
miracle-wfdctl: change session type from uint64_t to unsigned int 2017-02-27 11:37:21 +08:00
Derek Dai
c6ef0d3f69
miracle-wfdctl: user now can select video mode through DBus interface 2017-02-24 14:18:06 +08:00
Derek Dai
85c8988b38
miracle-wfdctl: compare wfd-standby and wfd-idr-request by message body 2017-02-23 16:44:35 +08:00
Derek Dai
dd6fbf70e2
miracle-wfdctl: delay for 100ms before start sending stream to sink 2017-02-23 15:43:20 +08:00
Derek Dai
155060919e
miracle-wfdctl: clarify teardown procedure of session 2017-02-23 14:20:34 +08:00
Derek Dai
b0419509b8
miracle-wfdctl: add handler for PAUSE, PLAY and TEARDOWN methods 2017-02-22 00:00:16 +08:00
Derek Dai
afbc850476
miracle-wfdctl: fix wfd_session_end() recursive calling issue 2017-02-21 22:30:39 +08:00
Derek Dai
baad70995d
miracle-wfdctl: acquire DISPLAY, XAUTHORITY and XDG_RUNTIME_DIR from
environment, instead of hardcode
2017-02-21 15:52:48 +08:00
Derek Dai
3a3ff4208d
miracle-wfctl: reply 'request not implemented' instead of abort by assert() 2017-02-21 14:17:55 +08:00
Derek Dai
bba31c7fa7
miracle-wfdctl: fix mapping from rtsp_message to rtsp_message_id 2017-02-21 11:20:59 +08:00
Derek Dai
3e41e488a5
miracle-wfdctl: print friendly name when peer shows up 2017-02-20 10:49:20 +08:00
Derek Dai
6e48e1092a
miracle_wfdctl: control flow and passing arguments with wfd_arg instead
of keep adding new structure fields
2017-02-18 23:09:45 +08:00
Derek Dai
fadcceabd8
add wfd_arg_list type of wfd_arg 2017-02-18 23:09:45 +08:00
Derek Dai
857cb11704
refactoring getter/setter for dict type of wfd_arg to remove declaration
of temp variable
2017-02-18 23:09:45 +08:00
Derek Dai
04886d862b
add support for signed and unsigned int for wfd_arg 2017-02-18 23:09:45 +08:00
Derek Dai
e020da4b24
rename macro arguement from v to _v to prevent name confliction 2017-02-18 23:09:45 +08:00
Derek Dai
d74d36a99e
miracle-wfdctl: remove unused function and improve log message for
peer new & delete
2017-02-18 23:09:44 +08:00
Derek Dai
750ff77929
miracle-*ctl: fix and enhance wfd_subelement parser 2017-02-18 23:09:44 +08:00
Derek Dai
495675cdd4
add struct wfd_arg to generalize passing of arguments 2017-02-18 23:09:40 +08:00
Derek Dai
21986b4cea
miracle-wfdctl: fix return uninitialized variable value issue 2017-02-17 16:06:02 +08:00
Derek Dai
34cc56dba8
miracle-wfdctl: run gst-launch to generate video stream with hardcoded
environment
2017-02-16 19:31:23 +08:00
Derek Dai
643b023225
miracle-wfdctl: add timeout value and Range header to the reply of PLAY request 2017-02-16 19:31:23 +08:00
Derek Dai
d4cdaf9bca
remove unused #include 2017-02-15 23:47:01 +08:00
Derek Dai
11016d9e03
remove unused files 2017-02-15 18:37:33 +08:00
Derek Dai
9dd805378e
miracle-wfdctl: finish migration of source side rtsp protocol 2017-02-15 18:19:16 +08:00
Derek Dai
3bcb8f51f6
miracle-*ctl: add *_from_string() and *_to_string() for wfd-video-formats and
wfd-audio-codecs
2017-02-15 12:30:43 +08:00
Derek Dai
761219d998
miracle-wfdctl: return -EINVAL instead of being aborted by assert() when
rtsp message ID is invalid
2017-02-14 14:50:49 +08:00
Derek Dai
6c55a332d2
miracle-wfdctl: refactoring to remove repeated snippets and centralize the
dispatching of request and reply
2017-02-14 14:22:49 +08:00
Derek Dai
81d735f7b9
miracle-wfdctl: now we can establish WFD session multiple times
in this revision, the source side RTSP protocol is not implemented
completely, the focus is on stability, DBus interfaces.
2017-02-13 13:12:56 +08:00
Derek Dai
63b5482681
miracle-*ctl: update links and peers when wifid up or down 2017-02-13 13:12:56 +08:00
Derek Dai
c590adbd2f
miracle-wfdctl: first revision which can create TCP connection of WFD session between peers, controled through DBus
In this revision, the procedure of session negotiation is not yet
completed but only TCP connection can be established between peers.

You can try it by run script `res/miracle-wfdctl-demo` to see how it
work.
2017-02-13 13:12:55 +08:00
Derek Dai
45e7fea3e5
miracle-srcctl: rename ctl_src to wfd_src 2017-02-13 13:12:55 +08:00
Derek Dai
00e1afc3e9
remove vim settings from files 2017-02-13 13:12:55 +08:00
Derek Dai
4d47aa4d53
miracle-*ctl: rename resolution_bitmap to wfd_resolution and add progressive field 2017-02-13 13:12:55 +08:00
Derek Dai
20b14da0b5
miracle-*ctl: remove N_ELEMENTS() and use SHL_ARRAY_LENGTH() instead 2017-02-13 13:12:55 +08:00
Derek Dai
8381290479
miracle-wifid: let the format of wfd_dev_info compliant with wfd_subelems to ease parsing 2017-02-13 13:12:55 +08:00
Derek Dai
7ea9305172
miracle-*ctl: fix label leak 2017-02-13 13:12:55 +08:00
Derek Dai
14041bd968
miracle-*ctl: resolve object parsing issue in ctl_wifi_fetch()
while parsing ctl_peer and ctl_link objects, if a ctl_peer appear prior
to its related ctl_link, -EINVAL is reported, and miracle-*ctl will quit
immediately.
2017-02-13 13:12:54 +08:00
Derek Dai
cfc98095d1
miracle-*ctl: remove some debugging log messages 2017-02-13 13:12:54 +08:00
Derek Dai
f47669a59b
miracle-wfdctl: init commit 2017-02-13 13:12:54 +08:00
Derek Dai
df336c8c51
miracle-wifid: add MACAddress property to link 2017-02-13 13:12:54 +08:00
Derek Dai
1919de3158
miracle-srcctl: fix some warming 2017-02-13 13:12:54 +08:00
Derek Dai
853152cb9c
miracle-wifid: remove duplicated link & peer dbus nodes by checking prefix 2017-02-13 13:12:54 +08:00
Xu Fasheng
7d7df75bc9
Make miracle-wifid conexists with other network tools
The new option --lazy-managed will let miracle-wifid don't managed the
links automatically. Instead, the link will be managed only when the new
DBus property Managed was set to true. So this will be possible that
miracle-wifid could be conexists with other network tools like
networkmanager.

For example, unmange the device in networkmanager with setting the DBus
property org.freedesktop.NetworkManager.Device.Managed to false and
manage it in miracle-wifid with setting
org.freedesktop.miracle.wifi.Link.Managed to true, then both them could
works and don't need to kill each other.

Besides, there is new command named make-managed in miracle-wifictl and
miracle-sinkctla.
2017-02-13 13:12:54 +08:00
Derek Dai
d239c528ff
miracle-srcctl: fix memory management issues 2017-02-13 13:12:54 +08:00
Derek Dai
20ff174fe8
stop sender properly after session end 2017-02-13 13:12:53 +08:00
Derek Dai
d8d538ef65
encode video with x264enc temperarily to prevent decoding issue on dongle 2017-02-13 13:12:53 +08:00
Derek Dai
03744ba53b
rename dbus name back to org.freedesktop.miracle.Sender and variety kinds of tunning 2017-02-13 13:12:53 +08:00
Derek Dai
91e1ee29ec
miracle-wifid: fix call waitid() with NULL pointer issue reported by valgrind 2017-02-13 13:12:53 +08:00
Derek Dai
eb5c563a8d
miracle-sender: change bus name from org.freedesktop.miracle.Sender to org.freedesktop.miracle 2017-02-13 13:12:53 +08:00
Derek Dai
21fc207d4c
miracle-wifid: fix some leaks of wpas_message 2017-02-13 13:12:53 +08:00
Derek Dai
b3b51120e0
source implement + sender talk via dbus 2017-02-13 13:12:53 +08:00
Derek Dai
fb37a53dec
stop sender when peer freed 2017-02-13 13:12:52 +08:00
Derek Dai
047775303b
integrate miracle-sender with miracast-srcctl 2017-02-13 13:12:52 +08:00
Derek Dai
8a935e1893
initial sender implementation 2017-02-13 13:12:52 +08:00
Derek Dai
5c501c0594
init source side implementation 2017-02-13 13:12:52 +08:00
Derek Dai
c76667cf71
match resolution from high to low 2017-02-13 13:12:52 +08:00
Derek Dai
b6d372eae4
calculate array size of resolutions at build time instead of tailing null element 2017-02-13 13:12:52 +08:00
Derek Dai
5f39158f45
init copy & modify 2017-02-13 13:12:52 +08:00
Derek Dai
2a3796cfe9
fix byte order of DHCP_SERVER_ID option
If miraclecat is GO, miracle-dhcp runs as server, it send out SERVER_ID
option in little endian, causes non-GO peer connect to wrong IP address, so
RTSP connection can't be established.

In scenario like, say Android (GO) <-> miracalcast (non-GO), the DHCP service
is provided by Android, in this case, the SERVER_ID is in expected byte order
(big endian).
2017-02-13 13:12:48 +08:00
Alberto Fanjul
e5795edd04 Read UIBC capability in raw mode
Some devices send its UIBC capabilities with spaces. Read in raw mode to parse port correctly
2016-10-28 11:37:16 +02:00
albfan
cedfeeebe1 Debug GStreamer execution
Allow to config gstreamer log level
2016-10-23 10:20:12 +02:00