diff -Nru miraclecast-0.0.0~rev167~pkg14~201602201216~ubuntu15.10.1/debian/bzr-builder.manifest miraclecast-0.0.0~rev168~pkg14~201604021332~ubuntu15.10.1/debian/bzr-builder.manifest --- miraclecast-0.0.0~rev167~pkg14~201602201216~ubuntu15.10.1/debian/bzr-builder.manifest 2016-02-20 12:16:17.000000000 +0000 +++ miraclecast-0.0.0~rev168~pkg14~201604021332~ubuntu15.10.1/debian/bzr-builder.manifest 2016-04-02 13:32:25.000000000 +0000 @@ -1,3 +1,3 @@ -# bzr-builder format 0.3 deb-version {debupstream}~rev167~pkg14~201602201216 -lp:~thopiekar/miracle/miraclecast-albfan revid:git-v1:1cbfa5b42a9dcdce04e8c7b5267367f82611b327 +# bzr-builder format 0.3 deb-version {debupstream}~rev168~pkg14~201604021332 +lp:~thopiekar/miracle/miraclecast-albfan revid:git-v1:c94be167c85c6ec8badd7ac79e3dea2e0b73225c nest packaging lp:~thopiekar/miracle/miraclecast-packaging debian revid:thopiekar@googlemail.com-20150419123555-jhjk1g204vnzvet9 diff -Nru miraclecast-0.0.0~rev167~pkg14~201602201216~ubuntu15.10.1/debian/changelog miraclecast-0.0.0~rev168~pkg14~201604021332~ubuntu15.10.1/debian/changelog --- miraclecast-0.0.0~rev167~pkg14~201602201216~ubuntu15.10.1/debian/changelog 2016-02-20 12:16:17.000000000 +0000 +++ miraclecast-0.0.0~rev168~pkg14~201604021332~ubuntu15.10.1/debian/changelog 2016-04-02 13:32:25.000000000 +0000 @@ -1,8 +1,8 @@ -miraclecast (0.0.0~rev167~pkg14~201602201216~ubuntu15.10.1) wily; urgency=low +miraclecast (0.0.0~rev168~pkg14~201604021332~ubuntu15.10.1) wily; urgency=low * Auto build. - -- Thomas Karl Pietrowski Sat, 20 Feb 2016 12:16:17 +0000 + -- Thomas Karl Pietrowski Sat, 02 Apr 2016 13:32:25 +0000 miraclecast (0.0.0-1) unstable; urgency=low diff -Nru miraclecast-0.0.0~rev167~pkg14~201602201216~ubuntu15.10.1/src/ctl/ctl-sink.c miraclecast-0.0.0~rev168~pkg14~201604021332~ubuntu15.10.1/src/ctl/ctl-sink.c --- miraclecast-0.0.0~rev167~pkg14~201602201216~ubuntu15.10.1/src/ctl/ctl-sink.c 2016-02-20 12:16:16.000000000 +0000 +++ miraclecast-0.0.0~rev168~pkg14~201604021332~ubuntu15.10.1/src/ctl/ctl-sink.c 2016-04-02 13:32:25.000000000 +0000 @@ -43,6 +43,7 @@ char *target; char *session; char *url; + char *uibc_setting; struct sockaddr_storage addr; size_t addr_size; int fd; @@ -60,7 +61,8 @@ int hres; int vres; }; - +static const int DEFAULT_UIBC_PORT = 7239; +static const int DEFAULT_RSTP_PORT = 1991; /* * RTSP Session */ @@ -154,12 +156,26 @@ } /* wfd_client_rtp_ports */ if (rtsp_message_read(m, "{<>}", "wfd_client_rtp_ports") >= 0) { + char wfd_client_rtp_ports[128]; + sprintf(wfd_client_rtp_ports, + "wfd_client_rtp_ports: RTP/AVP/UDP;unicast %d 0 mode=play", DEFAULT_RSTP_PORT); r = rtsp_message_append(rep, "{&}", - "wfd_client_rtp_ports: RTP/AVP/UDP;unicast 1991 0 mode=play"); + wfd_client_rtp_ports); if (r < 0) return cli_vERR(r); } + /* wfd_uibc_capability */ + if (rtsp_message_read(m, "{<>}", "wfd_uibc_capability") >= 0) { + char wfd_uibc_capability[512]; + sprintf(wfd_uibc_capability, + "wfd_uibc_capability: input_category_list=GENERIC;" + "generic_cap_list=Mouse,SingleTouch,Keyboard,Camera;" + "hidc_cap_list=none;port=%d", DEFAULT_UIBC_PORT); + r = rtsp_message_append(rep, "{&}", wfd_uibc_capability); + if (r < 0) + return cli_vERR(r); + } rtsp_message_seal(rep); cli_debug("OUTGOING: %s\n", rtsp_message_get_raw(rep)); @@ -241,6 +257,7 @@ _rtsp_message_unref_ struct rtsp_message *rep = NULL; const char *trigger; const char *url; + const char *uibc_setting; char *nu; unsigned int cea_res, vesa_res, hh_res; int r; @@ -273,6 +290,19 @@ } } + /* M4 (or any other) can pass presentation URLs */ + r = rtsp_message_read(m, "{}", "wfd_uibc_setting", &uibc_setting); + if (r >= 0) { + if (!s->uibc_setting || strcmp(s->uibc_setting, uibc_setting)) { + nu = strdup(uibc_setting); + if (!nu) + return cli_vENOMEM(); + + free(s->uibc_setting); + s->uibc_setting = nu; + cli_debug("uibc setting: %s\n", s->uibc_setting); + } + } /* M4 again */ r = rtsp_message_read(m, "{<****hhh>}", "wfd_video_formats", &cea_res, &vesa_res, &hh_res);