question

tifr0z avatar image
tifr0z asked

App unresponsive after apparent connectivity hiccup

My custom player is a lightly customized version of the CustomSamplePlayer. While testing, the app became unresponsive after a seek command was sent from the controller. One of the notable contribution from the logs is the mention of connectivity changes followed by connectivity errors (see the last 4 lines from the logs copied below). I don't have any reasons to think that my WiFi router had a problem at that time, but that doesn't mean there wasn't a connectivity hiccup. This said, it shouldn't brick the app: after the incident, the only way to recover was to reboot the the device because the app would no longer receive commands from the controller (PlayerImplementation's sendCommand() never called). I assume this is a platform bug - if not, could you provide some pointers? 02-22 14:10:34.584 31481-1578/com.swishly.webtv.fireosplayer V/WebTVPlayer: Received seek command to 735029ms 02-22 14:10:35.085 31481-1578/com.swishly.webtv.fireosplayer I/WhisperLink: WPServer - WorkerProcess: Closing UUID: 0285ca98D847D08EE3C44244BA3E9BFE Service Id: com.swishly.fireosplayerservice, Connection Id: ios_2697 Channel: inet ; 02-22 14:10:35.085 31481-1578/com.swishly.webtv.fireosplayer I/WhisperLink: TWhisperLinkTransport - Closing connection for Service: com.swishly.fireosplayerservice isClient: false Connection Id: ios_2697 Channel: inet; 02-22 14:10:56.855 31481-31520/com.swishly.webtv.fireosplayer I/WhisperLink: TWhisperLinkTransport - Incoming connection from Device: 0285ca98D847D08EE3C44244BA3E9BFE to Service: com.swishly.fireosplayerservice Connection Id: ios_6882 Channel: inet; 02-22 14:10:56.855 31481-31520/com.swishly.webtv.fireosplayer I/WhisperLink: TWhisperLinkTransport - Initiating connection to Service: amzn.auth.in Connection Id: 1317 Channel: unx; 02-22 14:10:56.875 31481-31520/com.swishly.webtv.fireosplayer I/WhisperLink: TWhisperLinkTransport - Closing connection for Service: amzn.auth.in isClient: true Connection Id: 1317 Channel: unx; 02-22 14:10:56.875 31481-31520/com.swishly.webtv.fireosplayer I/WhisperLink: TWhisperLinkTransport - Connection accepted for: sid: com.swishly.fireosplayerservice UUID: 0285ca98D847D08EE3C44244BA3E9BFE Device Type: 0 Connection Id: ios_6882 Channel: inet; 02-22 14:10:56.885 31481-1583/com.swishly.webtv.fireosplayer I/WhisperLink: WPServer - WorkerProcess: Starting UUID: 0285ca98D847D08EE3C44244BA3E9BFE Service Id: com.swishly.fireosplayerservice, Connection Id: ios_6882 Channel: inet ; 02-22 14:10:56.895 31481-1583/com.swishly.webtv.fireosplayer I/WhisperLink: DeviceCallbackRegistry - Removing callback, type=com.amazon.whisperplay.fling.media.service.CustomMediaPlayer$StatusListener, callback=[devicecb: device=[device: local=false, uuid=0285ca98D847D08EE3C44244BA3E9BFE], cb=Description(sid:cb_1202835413, friendlyName:, accessLevel:0, security:0, flags:0, version:0), channel=unx, connInfo=null]; 02-22 14:10:56.895 31481-1583/com.swishly.webtv.fireosplayer D/ProxyPlayerService: removeStatusCallback - removed. cb=DeviceCallback(device:Device(friendlyName:Sample Client Device, uuid:0285ca98D847D08EE3C44244BA3E9BFE, deviceType:0, exInfo:ExtendedInfo(deviceClassMajor:, deviceClassMinor:, manufacturer:Darwin, model:iPhone7,2, OSMajor:, OSMinor:, capabilities:Dictionary(version:0, entries:{FlingSDKVersion=1.2.1})), routes:{inet=Route(hardwareAddr:, ipv4:10.0.1.3, unsecurePort:52557, securePort:52558)}, accountHint:), callbackService:Description(sid:cb_1202835413, friendlyName:, accessLevel:0, security:0, flags:0, version:0), commChannelId:unx) 02-22 14:10:56.895 31481-1583/com.swishly.webtv.fireosplayer D/ProxyPlayerService: removeStatusCallback - call player to remove listener. 02-22 14:10:56.925 31481-32613/com.swishly.webtv.fireosplayer I/SWSocketReader: Detected null input - I think that means the socket disconnected 02-22 14:10:56.925 31481-32613/com.swishly.webtv.fireosplayer V/SWSocketReader: Exited socket read loop 02-22 14:10:57.395 31481-1583/com.swishly.webtv.fireosplayer I/WhisperLink: WPServer - WorkerProcess: Closing UUID: 0285ca98D847D08EE3C44244BA3E9BFE Service Id: com.swishly.fireosplayerservice, Connection Id: ios_6882 Channel: inet ; 02-22 14:10:57.395 31481-1583/com.swishly.webtv.fireosplayer I/WhisperLink: TWhisperLinkTransport - Closing connection for Service: com.swishly.fireosplayerservice isClient: false Connection Id: ios_6882 Channel: inet; 02-22 14:11:49.765 31481-31481/com.swishly.webtv.fireosplayer I/WhisperLink: WhisperLinkPlatform - on whisperlink core disconnected; 02-22 14:11:49.765 31481-31512/com.swishly.webtv.fireosplayer I/WebTVPlayerService: onDisconnectedFromWhisperplay() 02-22 14:11:49.765 31481-31481/com.swishly.webtv.fireosplayer I/WhisperLink: PlatformManager - Stopping platform manager; 02-22 14:11:49.765 31481-31481/com.swishly.webtv.fireosplayer I/WhisperLink: GenericAndroidPlatform - Tearing down network state change listener, listner=com.amazon.whisperlink.android.listener.NetworkStateChangeListener@411b59f0; 02-22 14:11:49.785 31481-31481/com.swishly.webtv.fireosplayer I/WhisperLink: PlatformManager - Platform manager stopped; 02-22 14:11:50.765 31481-31481/com.swishly.webtv.fireosplayer I/WhisperLink: WhisperLinkPlatform - on whisperlink core connected; 02-22 14:11:50.775 31481-1678/com.swishly.webtv.fireosplayer I/WhisperLink: TWhisperLinkTransport - Initiating connection to Service: amzn.reg Connection Id: 3133 Channel: unx; 02-22 14:11:50.775 31481-1680/com.swishly.webtv.fireosplayer I/WhisperLink: NetworkStateChangeListener - onReceive intent : android.net.conn.CONNECTIVITY_CHANGE; 02-22 14:11:50.775 31481-1680/com.swishly.webtv.fireosplayer I/WhisperLink: NetworkStateChangeListener - onReceive intent : android.net.wifi.p2p.STATE_CHANGED; 02-22 14:11:50.775 31481-1680/com.swishly.webtv.fireosplayer W/WhisperLink: PlatformManager - External channel not available :wfd; 02-22 14:11:50.775 31481-1680/com.swishly.webtv.fireosplayer W/WhisperLink: PlatformManager - External channel not available :cloud;
amazon fling
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Levon@Amazon avatar image
Levon@Amazon answered
Hi tifr0z, Thanks for posting! To investigate and try to reproduce this, we need to know what your environment is: your client (OS version, device), and Fire TV OS version (from Settings menu) and actual device (Fire TV or Fire TV Stick). Thanks!
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

tifr0z avatar image
tifr0z answered
The controller is an iPhone 6 with iOS 9.2.1, the receiver is a Fire TV Stick...I am not sure what the fire Tv os version was when I logged the issue because the device has upgraded itself since then. All I can say is that it was the version that was installed just before Fire os 5.0.5 (537174420) rolled in Thanks! Hugo
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Levon@Amazon avatar image
Levon@Amazon answered
Hi Hugo, Thanks for additional details. The Fire OS 5 includes an updated library, so please keep using it. For the issue mentioned, we see that log below: 02-22 14:11:49.765 31481-31481/com.swishly.webtv.fireosplayer I/WhisperLink: GenericAndroidPlatform - Tearing down network state change listener, listner=com.amazon.whisperlink.android.listener.NetworkStateChangeListener@411b59f0; and wonder if you accidentally compiled your FireTV app with WhisperPlay.jar library. This WhisperPlay.jar library is supposed to be compiled with only for controller applications running on non-Amazon devices, and should not be included for Amazon devices, such as FireTV, etc. Please check the setting up page for details: https://developer.amazon.com/public/apis/experience/fling/docs/setting-up-your-amazon-fling-development-environment-for-android Thanks!
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.