From 18aa25385bcfc4c686f4700de2b2dd9fa9b38ee9 Mon Sep 17 00:00:00 2001 From: Wataru Mizuno Date: Mon, 9 Jul 2018 18:14:05 +0900 Subject: transmitter: initial commit for waltham-transmitter The waltham-transmitter is the plugin of weston to enable client applications to share surface between multiple domains. Change-Id: I691410f5b6e74fa981ae53201b728810373185a2 Signed-off-by: Wataru Mizuno --- waltham-transmitter/transmitter-plugin/README | 97 +++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 waltham-transmitter/transmitter-plugin/README (limited to 'waltham-transmitter/transmitter-plugin/README') diff --git a/waltham-transmitter/transmitter-plugin/README b/waltham-transmitter/transmitter-plugin/README new file mode 100644 index 0000000..345142d --- /dev/null +++ b/waltham-transmitter/transmitter-plugin/README @@ -0,0 +1,97 @@ +Transmitter plugin + +The current implementation of Transmitter is a stub which interfaces to +other Weston parts appropriately, but all networking is just a mockup. + +Sections in this file describe: +- How to build +- How to write weston.ini +- How to test + +How to build +============ +Configure Weston with --enable-surface-remoting to build the Transmitter +plugin. + +How to write weston.ini +======================= +To load transmitter plugin to weston, add 'transmitter.so' to the 'modules' +key under '[core]', and make sure the 'shell' is 'ivi-shell.so'. + +The destination of remoting is configured in weston.ini. +Add output name, server address, port number, output's width and height key +under '[remote-output]'. +You can speficy multiple [remote-output]. + +In details, see 'weston.ini.transmitter'. + +How to test +=========== +You can use server side test application in waltham-server directory. + +If you set 'WALTHAM_DEBUG=1' to your environment valuable, you can +see the log like this: + + [13:24:08.345] Loading module '/usr/lib64/weston/transmitter.so' + [13:24:08.345] Registered plugin API 'transmitter_v1' of size 88 + [13:24:08.345] Registered plugin API 'transmitter_ivi_v1' of size 16 + [13:24:08.345] Transmitter initialized. + [13:24:08.345] Loading module '/usr/lib64/libweston-2/waltham-renderer.so' + [13:24:08.352] gst-setting are :--> + [13:24:08.352] ip = 192.168.2.52 + [13:24:08.352] port = 34400 + [13:24:08.352] bitrate = 3000000 + [13:24:08.352] crop = 384 x 368 + [13:24:08.352] width = 1920 + [13:24:08.352] width = 1080 + [13:24:08.531] open media device: platform:fe960000.vsp (fe960000.vsp) + [13:24:08.532] input pad setup ('fe960000.vsp rpf.0 input':'/dev/video0') + [13:24:08.533] output pad setup (fe960000.vsp wpf.0 output:/dev/video5) + [13:24:08.533] vsp-device '/dev/media0' created + [13:24:08.533] gst_recorder_create (1920x1080) crop 384x368 at 0,0 + [13:24:08.533] gst_pipeline: starting: appsrc name=src ! omxh264enc target-bitrate=3000000 control-rate=2 no-copy=k + [13:24:08.582] goot 1 pools + [13:24:08.583] pool settings size 211968, min 5, max 5 + [13:24:08.583] gst_recorder_create done + [13:24:08.583] [gst recorder] transmitter-192.168.2.52:34400-1: recorder initialized + [13:24:08.583] Transmitter weston_seat 0x15424630 + [13:24:08.583] Transmitter created pointer=0x15625df0 for seat 0x15424630 + [13:24:08.583] Transmitter created keyboard=0x154247c0 for seat 0x15424630 + [13:24:08.583] Transmitter created touch=0x15625f10 for seat 0x15424630 + +The connection is established, you can see following debug messages: + + debug: wth_connection_insert_new_object: new object id: 1 + debug: wth_connection_insert_new_object: new object id: 2 + 2018-01-09T13:24:22Z 00001000030000000100000002000000 wth_display_get_registry + debug: wth_connection_insert_new_object: new object id: 3 + 2018-01-09T13:24:22Z 00001000020000000100000003000000 wth_display_sync + debug: Message received on conn 0x15572730: (9) 40 bytes + debug: wthp_registry_send_global(2, 1, [variable type const char *], 4) (opcode 9) called. + debug: wth_connection_insert_new_object: new object id: 4 + 2018-01-09T13:24:22Z 00002c000800000002000000010000000400000010000000777468705f636f6d706f7369746f720001000000 wthpd + debug: Message received on conn 0x15572730: (9) 48 bytes + debug: wthp_registry_send_global(2, 1, [variable type const char *], 1) (opcode 9) called. + debug: wth_connection_insert_new_object: new object id: 5 + 2018-01-09T13:24:22Z 000034000800000002000000010000000500000015000000777468705f6976695f6170706c69636174696f6e00010d + debug: Message received on conn 0x15572730: (9) 44 bytes + debug: wthp_registry_send_global(2, 1, [variable type const char *], 4) (opcode 9) called. + debug: wth_connection_insert_new_object: new object id: 6 + 2018-01-09T13:24:22Z 000030000800000002000000010000000600000012000000777468705f626c6f625f666163746f72790001000000 d + debug: Message received on conn 0x15572730: (9) 36 bytes + debug: wthp_registry_send_global(2, 1, [variable type const char *], 4) (opcode 9) called. + debug: wth_connection_insert_new_object: new object id: 7 + 2018-01-09T13:24:22Z 00002800080000000200000001000000070000000a000000777468705f736561740001000000 wthp_registry_bid + debug: Message received on conn 0x15572730: (11) 16 bytes + debug: wthp_callback_send_done(3, 0) (opcode 11) called. + +Start remoting : +- Start an IVI application. +- Put surface on transmitter output + +Weston log will indicate remoting has started: + +[13:18:24.572] HMI transmitting surface 0x1c3dad0, ivi-id 0x9ff6 +[13:18:24.572] Transmitter: update surface 0x1c3dad0 (0, 0), 0 cb +[13:18:24.572] transmitter_surface_set_ivi_id(0x1c3dad0, 0x9ff6) +[13:18:24.972] Transmitter: surface 0x1c3dad0 entered output transmitter-0.0.0.0:66-1 \ No newline at end of file -- cgit 1.2.3-korg