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 Example command $weston-simple-egl & $LaygeManagementControl get scene -> Please check connector name of transmitter output $layer-add-surfaces -d [transmitter output name] -s 1 -l 1 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