Git Product home page Git Product logo

amazon-kinesis-video-streams-webrtc-sdk-android's Introduction

Amazon Kinesis Video Streams Android WebRTC SDK

Build Status

Running KinesisVideoWebRTCDempApp Sample

1. Download the WebRTC SDK for Android

To download the Kinesis Video Streams WebRTC SDK in Android, run the following command:

git clone https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-android.git

2. Create a user pool

Follow the instructions here to set up an Amazon Cognito user pool for secure login.

3. Create an identity pool

Follow the instructions here to set up an Amazon Cognito identity pool.

4. Build and run the demo application using Android Studio

  1. Import the downloaded SDK into the Android Studio integrated development environment by opening the amazon-kinesis-video-streams-webrtc-sdkandroid/build.gradle with Open an existing Android Studio project.
  2. You will need all the information from the above steps copied in clipboard, then paste them into this file on your local file awsconfiguration.json. Your completed awsconfiguration.json should look something like this:
{
 "Version": "1.0",
 "CredentialsProvider": {
   "CognitoIdentity": {
     "Default": {
       "PoolId": "us-west-2:01234567-89ab-cdef-0123-456789abcdef",
       "Region": "us-west-2"
     }
   }
 },
 "IdentityManager": {
   "Default": {}
 },
 "CognitoUserPool": {
   "Default": {
     "AppClientSecret": "abcdefghijklmnopqrstuvwxyz0123456789abcdefghijklmno",
     "AppClientId": "0123456789abcdefghijklmnop",
     "PoolId": "us-west-2_qRsTuVwXy",
     "Region": "us-west-2"
   }
 }
}
  1. Import Google WebRTC (aka libwebrtc). Choose one of the following:

    a. Build libwebrtc yourself, following https://webrtc.github.io/webrtc-org/native-code/android/#getting-the-code. After it's been built, place the .aar file in libs.

    b. Acquire a pre-built binary of libwebrtc and import it.

  2. Click gradle Sync and Build

  3. Run the demo application in simulator or in Android device (connected through USB).

5. Peer to Peer Streaming

On your Android device, open AWSKinesisVideoWebRTCDemoApp and sign up with Create New Account or sign in with existing accounts.

Note: This account information is stored in your Cognito User Pool and is not your AWS Console user name/password.

Once login is successful, you will entering the following channel information to start peer to peer streaming.

  1. Enter a channel name: e.g. demo-channel
  2. Enter AWS region: e.g. us-west-2
  3. Select audio if you would like to send both audio or video data.
  4. Optionally, when using it in viewer mode, you can enter a unique Client Id . Client ID is required only if multiple viewers are connected to a channel. This helps channel's master identify respective viewers.

To verify peer to peer streaming, do any of the following setup. In these setup, ensure that the signaling channel name, region, viewer ID, and the AWS account ID are the same.

5.1 Peer to Peer Streaming between two Android device: Master and Viewer

  • Start one Android device in master mode for starting a new session. Remote peer will be joining as viewer to this master. There should be only one master for any given channel.
  • Use another Android device to connect to the same channel name (started up in the step above as master) in viewer mode; this will connect to an existing session (channel) where a master is connected.
  • Verify media showing up in both Android devices.

5.2 Peer to Peer Streaming between Embedded SDK as master and Android device as viewer

  • Run Kinesis Video Streams WebRTC embedded SDK in master mode on a camera device.
  • Start the Android device in viewer mode - you should be able to check the video (and audio if selected both in embedded SDK) showing up in the Android device from the camera.
  • Verify media showing up from the Embedded SDK to the Android.

5.3 Peer to Peer Streaming between Android device as master and Web browser as viewer

  • Start one Android device in master mode for starting a new session.
  • Start the web browser using the Javascript SDK and start it as viewer.
  • Verify media showing up from the Android device to the browser.

6. ICE Candidate Trickling

Candidate trickling is a technique through which a caller may incrementally provide candidates to the callee after the initial offer has been dispatched; the semantics of "Trickle ICE" are defined in [RFC8838].

Trickle ICE is the default behavior within the Kinesis Video Stream WebRTC SDK for Android since it reduces the time it takes for the ICE negotiation process. However, in the case that it needs to be disabled, locate the RTCConfiguration property called ContinualGatheringPolicy and change it to GATHER_ONCE instead of GATHER_CONTINUALLY (default).

PeerConnection.RTCConfiguration rtcConfig = new PeerConnection.RTCConfiguration();
rtcConfig.continualGatheringPolicy = PeerConnection.ContinualGatheringPolicy.GATHER_CONTINUALLY;

7. Testing

This SDK has been tested with Java 11, 17 to build the Gradle dependencies and Java 8, 11, and, 17 in the compile options in build.gradle

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

For more details about the different Java versions, please check Java versions in Android builds

License

This library is licensed under the Apache 2.0 License.

amazon-kinesis-video-streams-webrtc-sdk-android's People

Contributors

amazon-auto avatar andreasichel avatar disa6302 avatar hassanctech avatar lherman-cs avatar niyatim23 avatar sirknightj avatar takoikatakotako avatar unicornss avatar yuma-m avatar zhiyua-git avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

amazon-kinesis-video-streams-webrtc-sdk-android's Issues

How can we add video effects

Hello, I have set up this, and works perfectly.

I wanted to add video effects and needs to transmit updated my video to peer connection.

I think we need to process video frames, using open GL add effects and transmit to peer connection.

Could you add this feature or could you able to guide me to develop this.

TIA

Unsupported operating system.

When i try to run the application i get the following error
AAPT2 aapt2-3.5.3-5435860-linux Daemon #0: AAPT2 is not supported on 32-bit Linux

I have a Lenovo laptop
Zorin OS 15.3
Intel Core i7-4710HQ @ 2.5 GHz
64-bit

I can't even run it on the emulator or my Samsung S9 device with Android 10

Proguard rules

Hi,
please provide proper proguard rules for the project.
Thanks.

Failed to get credentials from Cognito Identity

Phone: Galaxy S9+
Android OS: 9

2020-01-21 02:28:46.760 21550-21628/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 W/AWSMobileClient: Could not check if ACCESS_NETWORK_STATE permission is available.
java.lang.ClassNotFoundException: android.support.v4.content.ContextCompat
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:453)
at java.lang.Class.forName(Class.java:378)
at com.amazonaws.mobile.client.AWSMobileClient.isNetworkAvailable(AWSMobileClient.java:751)
at com.amazonaws.mobile.client.AWSMobileClient.getUserStateDetails(AWSMobileClient.java:963)
at com.amazonaws.mobile.client.AWSMobileClient.waitForSignIn(AWSMobileClient.java:903)
at com.amazonaws.mobile.client.AWSMobileClient.getCredentials(AWSMobileClient.java:355)
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment.getAwsKinesisVideoClient(StreamWebRtcConfigurationFragment.java:272)
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment.access$300(StreamWebRtcConfigurationFragment.java:53)
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment$UpdateSignalingChannelInfoTask.doInBackground(StreamWebRtcConfigurationFragment.java:315)
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment$UpdateSignalingChannelInfoTask.doInBackground(StreamWebRtcConfigurationFragment.java:301)
at android.os.AsyncTask$2.call(AsyncTask.java:333)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.content.ContextCompat" on path: DexPathList[[zip file "/data/app/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24-yim3XwYHEAhZiFgAx55fZg==/base.apk"],nativeLibraryDirectories=[/data/app/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24-yim3XwYHEAhZiFgAx55fZg==/lib/arm64, /data/app/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24-yim3XwYHEAhZiFgAx55fZg==/base.apk!/lib/arm64-v8a, /system/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at java.lang.Class.classForName(Native Method) 
at java.lang.Class.forName(Class.java:453) 
at java.lang.Class.forName(Class.java:378) 
at com.amazonaws.mobile.client.AWSMobileClient.isNetworkAvailable(AWSMobileClient.java:751) 
at com.amazonaws.mobile.client.AWSMobileClient.getUserStateDetails(AWSMobileClient.java:963) 
at com.amazonaws.mobile.client.AWSMobileClient.waitForSignIn(AWSMobileClient.java:903) 
at com.amazonaws.mobile.client.AWSMobileClient.getCredentials(AWSMobileClient.java:355) 
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment.getAwsKinesisVideoClient(StreamWebRtcConfigurationFragment.java:272) 
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment.access$300(StreamWebRtcConfigurationFragment.java:53) 
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment$UpdateSignalingChannelInfoTask.doInBackground(StreamWebRtcConfigurationFragment.java:315) 
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment$UpdateSignalingChannelInfoTask.doInBackground(StreamWebRtcConfigurationFragment.java:301) 
at android.os.AsyncTask$2.call(AsyncTask.java:333) 
at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
at java.lang.Thread.run(Thread.java:764) 

[question]new develop

Hello, I am about to start a new development on a proprietary hardware that runs an android oreo and I wonder which sdk is the appropriate one for it.
Will this sdk continue to be supported? Will new functionalities be implemented?

Acces denied with a Cognito guest user

Hi,
I am using this sample source.
I try to make this work with a Cognito guest user (I have enabled this in the identity pool and added kinesis to the IAM roles).
I skip the Login step. I gave the unauth role acces to kinesis in the iam overview.

Screen Shot 2020-08-08 at 12 32 32 AM
Screen Shot 2020-08-08 at 12 32 45 AM
Screen Shot 2020-08-08 at 12 33 07 AM

I still get the permission denied: AccessDeniedException

I also tried the issue: awslabs/amazon-kinesis-video-streams-webrtc-sdk-ios#8, but I can't find a way to implement CognitoCachingCredentialsProvider class.

How can I make it work?
Thanks

How to extend the signaling channel connection duration limit - 1 hour (hard)

Hello team,

I want the master to be able to wait for call connection from the viewer all the time.

Related to the #51 and #97(from JS-SDK),
10 minutes after the viewer logout, client.isOpen() of the master go into false.
(client: private static volatile SignalingServiceWebSocketClient client;)

In order to avoid this symptom,
as a result of calling the function of initwsConnection() when client.isOpen() of the master went into false (about every 10 minutes), the master could connect with the viewer for the next 10 minutes.

However, just 1 hour later, when initwsConnection() was called, the following error occurred.

com.amazonaws.AmazonClientException: Failed to get credentials from Cognito Identity

I changed the token expiration date from 1 hour to 1 day on the AWS console, but the same symptom occurred.

Is my approach correct?
And, how do I extend my connection duration to 2 hours (120 minutes) or more?

Multiple viewer unable to connect simultaneously

When a single master publishing Audio-video stream and 1 viewer is subscribing that stream and another viewer wants to subscribe then the whole system hangs and the publisher stops working

Scenario Steps:

Master starts publishing the stream on channel ‘A’
Viewer V1 connects and subscribe Channel A’ and can see and publish Audio-video
Viewer V2 connects and want to subscribe to the Channel ‘A’
Expected Result: Both viewer and the master simultaneously
Result Observed: When V2 connects then all Master viewers stuck

Can we use webrtc video stream without using AWS cognito service?

I have integrated the demo and it is working fine. However what I want to achieve is using the webrtc without authenticating the user with AWS Cognito. Is it possible to achieve such thing? If yes, can you please guide me for how we can achieve that?

Please help me with this.

Thanks

SIGSEGV(SEGV_MAPERR) Exception

Hi, I'm facing an exception.
Devce: Google PIXEL 2 XL
CPU:arm64-v8a
OS:Android 11,level 30
ROOM:google/taimen
LOG:
`

1 pc 000000001135de8c /data/app/~~EGz8NpGwI7b-Ap7ZrlPtmA==/com.sktlab.android.veeko-kBY5eCZnJH24a_eYh4BxbA==/base.apk (Java_org_webrtc_PeerConnection_nativeAddIceCandidate+96)
2 pc 0000000000012ed4 /apex/com.android.art/lib64/libart.so [arm64-v8a]
3 pc 0000000000009564 /apex/com.android.art/lib64/libart.so [arm64-v8a]
4 pc 000000000007f7e8 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200) [arm64-v8a]
5 pc 00000000001f2040 /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+376) [arm64-v8a]
6 pc 00000000001e8228 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+912) [arm64-v8a]
7 pc 000000000055dd48 /apex/com.android.art/lib64/libart.so (MterpInvokeDirect+576) [arm64-v8a]
8 pc 0000000000003914 /apex/com.android.art/lib64/libart.so [arm64-v8a]
9 pc 000000000002815c [anon:dalvik-LinearAlloc]
10 java:
11 org.webrtc.PeerConnection.addIceCandidate(PeerConnection.java:879)
12 com.sktlab.android.veeko.webrtc.WebRtcActivity$2.onIceCandidate(WebRtcActivity.java:403)
13 com.sktlab.android.veeko.webrtc.signaling.SignalingListener$1.onMessage(SignalingListener.java:58)
14 com.sktlab.android.veeko.webrtc.signaling.SignalingListener$1.onMessage(SignalingListener.java:19)
15 org.glassfish.tyrus.core.TyrusSession.notifyMessageHandlers(TyrusSession.java:576)
16 org.glassfish.tyrus.core.TyrusEndpointWrapper.onMessage(TyrusEndpointWrapper.java:871)
17 org.glassfish.tyrus.core.TyrusWebSocket.onMessage(TyrusWebSocket.java:212)
18 org.glassfish.tyrus.core.frame.TextFrame.respond(TextFrame.java:139)
19 org.glassfish.tyrus.core.ProtocolHandler.process(ProtocolHandler.java:807)
20 org.glassfish.tyrus.client.TyrusClientEngine$TyrusReadHandler.handle(TyrusClientEngine.java:747)
21 org.glassfish.tyrus.container.grizzly.client.GrizzlyClientFilter$ProcessTask.execute(GrizzlyClientFilter.java:476)
22 org.glassfish.tyrus.container.grizzly.client.TaskProcessor.processTask(TaskProcessor.java:114)
23 org.glassfish.tyrus.container.grizzly.client.TaskProcessor.processTask(TaskProcessor.java:91)
24 org.glassfish.tyrus.container.grizzly.client.GrizzlyClientFilter.handleRead(GrizzlyClientFilter.java:272)
25 org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
26 org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283)
27 org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)
28 org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132)
29 org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111)
30 org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
31 org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536)
32 org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
33 org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
34 org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
35 org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
36 org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:591)
37 org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:571)
38 java.lang.Thread.run(Thread.java:923)

`

Echo handling

Hi,
we experience extreme echoing during calls. How could we handle that problem?

we tried the following without any success:
MediaConstraints mediaConstraints = new MediaConstraints(); mediaConstraints.mandatory.add(new MediaConstraints.KeyValuePair("googNoiseSuppression", "true")); mediaConstraints.mandatory.add(new MediaConstraints.KeyValuePair("googEchoCancellation", "true"));

and

WebRtcAudioUtils.setWebRtcBasedAcousticEchoCanceler(true); WebRtcAudioUtils.setWebRtcBasedAutomaticGainControl(true); WebRtcAudioUtils.setWebRtcBasedNoiseSuppressor(true);

Any suggestions?

webRTC without Cognito and with signedUrl

Hi,
Looking to the web documentation I made a signedUrl to protect aws credentials from front-end (https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-js/blob/master/README.md#class-sigv4requestsigner).
It's all working in browser mode following this aproach.
Looking to this sdk for app, I saw that the problem is solved using the aws cognito. I would like to know if it is possible to reuse my server wich create a signedUrl (wss://) for the android and ios application.

tks

not working on 5G (The Fifth Generation of Mobile Network Communication)

Hi.
My Phone(GalaxyS10 Note) is connected internet under skt-telecom (5G.. is not LTE) in south-korea.

When i test on WIFI. it's working well.
but when i test on mobile internet (5G). it not working.

the other mobile network(LTE) is working.

[symptom]
I try connect with 2 mobile phone.

  1. press 'Start Master' and press 'Start Viewer' on the other phone.
  2. screen change to 2-view (local camera view and remote view)
  3. remote-view show only black screen.

I think it was a "TURN SERVER ISSUE"

can you help me?

My logcat is here.

2020-03-10 10:29:13.713 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/ViewRootImpl@fea2aa0[SimpleNavActivity]: ViewPostIme pointer 0
2020-03-10 10:29:13.827 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/ViewRootImpl@fea2aa0[SimpleNavActivity]: ViewPostIme pointer 1
2020-03-10 10:29:13.882 26968-30325/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/AWSMobileClient: Inspecting user state details
2020-03-10 10:29:13.883 26968-30325/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 W/AWSMobileClient: Could not check if ACCESS_NETWORK_STATE permission is available.
java.lang.ClassNotFoundException: android.support.v4.content.ContextCompat
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:454)
at java.lang.Class.forName(Class.java:379)
at com.amazonaws.mobile.client.AWSMobileClient.isNetworkAvailable(AWSMobileClient.java:751)
at com.amazonaws.mobile.client.AWSMobileClient.getUserStateDetails(AWSMobileClient.java:963)
at com.amazonaws.mobile.client.AWSMobileClient.waitForSignIn(AWSMobileClient.java:903)
at com.amazonaws.mobile.client.AWSMobileClient.getCredentials(AWSMobileClient.java:355)
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment.getAwsKinesisVideoClient(StreamWebRtcConfigurationFragment.java:272)
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment.access$300(StreamWebRtcConfigurationFragment.java:53)
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment$UpdateSignalingChannelInfoTask.doInBackground(StreamWebRtcConfigurationFragment.java:315)
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment$UpdateSignalingChannelInfoTask.doInBackground(StreamWebRtcConfigurationFragment.java:301)
at android.os.AsyncTask$3.call(AsyncTask.java:378)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.content.ContextCompat" on path: DexPathList[[zip file "/data/app/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24-NCN_JuMmja7TCFYMPt6y6A==/base.apk"],nativeLibraryDirectories=[/data/app/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24-NCN_JuMmja7TCFYMPt6y6A==/lib/arm64, /data/app/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24-NCN_JuMmja7TCFYMPt6y6A==/base.apk!/lib/arm64-v8a, /system/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at java.lang.Class.classForName(Native Method) 
at java.lang.Class.forName(Class.java:454) 
at java.lang.Class.forName(Class.java:379) 
at com.amazonaws.mobile.client.AWSMobileClient.isNetworkAvailable(AWSMobileClient.java:751) 
at com.amazonaws.mobile.client.AWSMobileClient.getUserStateDetails(AWSMobileClient.java:963) 
at com.amazonaws.mobile.client.AWSMobileClient.waitForSignIn(AWSMobileClient.java:903) 
at com.amazonaws.mobile.client.AWSMobileClient.getCredentials(AWSMobileClient.java:355) 
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment.getAwsKinesisVideoClient(StreamWebRtcConfigurationFragment.java:272) 
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment.access$300(StreamWebRtcConfigurationFragment.java:53) 
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment$UpdateSignalingChannelInfoTask.doInBackground(StreamWebRtcConfigurationFragment.java:315) 
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment$UpdateSignalingChannelInfoTask.doInBackground(StreamWebRtcConfigurationFragment.java:301) 
at android.os.AsyncTask$3.call(AsyncTask.java:378) 
at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
at java.lang.Thread.run(Thread.java:919) 
2020-03-10 10:29:13.968 26968-30325/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/AWSMobileClient: hasFederatedToken: true provider: cognito-idp.us-east-2.amazonaws.com/us-east-2_pebqk18EH
2020-03-10 10:29:13.968 26968-30325/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/AWSMobileClient: waitForSignIn: userState:SIGNED_IN
2020-03-10 10:29:13.968 26968-30325/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/AWSMobileClient: getCredentials: Validated user is signed-in
2020-03-10 10:29:14.001 26968-30325/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
2020-03-10 10:29:14.001 26968-30325/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
2020-03-10 10:29:14.348 26968-30325/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/StreamWebRtcConfigurationFragment: Channel ARN is arn:aws:kinesisvideo:us-east-2:696532980658:channel/demo-channel/1583475498845
2020-03-10 10:29:14.360 26968-30325/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
2020-03-10 10:29:14.360 26968-30325/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
2020-03-10 10:29:14.701 26968-30325/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/StreamWebRtcConfigurationFragment: Endpoints {ResourceEndpointList: [{Protocol: WSS,ResourceEndpoint: wss://v-dc297268.kinesisvideo.us-east-2.amazonaws.com}, {Protocol: HTTPS,ResourceEndpoint: https://r-b0356e67.kinesisvideo.us-east-2.amazonaws.com}]}
2020-03-10 10:29:14.784 26968-30325/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/AWSMobileClient: Inspecting user state details
2020-03-10 10:29:14.786 26968-30325/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 W/AWSMobileClient: Could not check if ACCESS_NETWORK_STATE permission is available.
java.lang.ClassNotFoundException: android.support.v4.content.ContextCompat
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:454)
at java.lang.Class.forName(Class.java:379)
at com.amazonaws.mobile.client.AWSMobileClient.isNetworkAvailable(AWSMobileClient.java:751)
at com.amazonaws.mobile.client.AWSMobileClient.getUserStateDetails(AWSMobileClient.java:963)
at com.amazonaws.mobile.client.AWSMobileClient.waitForSignIn(AWSMobileClient.java:903)
at com.amazonaws.mobile.client.AWSMobileClient.getCredentials(AWSMobileClient.java:355)
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment.getAwsKinesisVideoSignalingClient(StreamWebRtcConfigurationFragment.java:281)
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment.access$700(StreamWebRtcConfigurationFragment.java:53)
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment$UpdateSignalingChannelInfoTask.doInBackground(StreamWebRtcConfigurationFragment.java:368)
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment$UpdateSignalingChannelInfoTask.doInBackground(StreamWebRtcConfigurationFragment.java:301)
at android.os.AsyncTask$3.call(AsyncTask.java:378)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.content.ContextCompat" on path: DexPathList[[zip file "/data/app/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24-NCN_JuMmja7TCFYMPt6y6A==/base.apk"],nativeLibraryDirectories=[/data/app/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24-NCN_JuMmja7TCFYMPt6y6A==/lib/arm64, /data/app/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24-NCN_JuMmja7TCFYMPt6y6A==/base.apk!/lib/arm64-v8a, /system/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at java.lang.Class.classForName(Native Method) 
at java.lang.Class.forName(Class.java:454) 
at java.lang.Class.forName(Class.java:379) 
at com.amazonaws.mobile.client.AWSMobileClient.isNetworkAvailable(AWSMobileClient.java:751) 
at com.amazonaws.mobile.client.AWSMobileClient.getUserStateDetails(AWSMobileClient.java:963) 
at com.amazonaws.mobile.client.AWSMobileClient.waitForSignIn(AWSMobileClient.java:903) 
at com.amazonaws.mobile.client.AWSMobileClient.getCredentials(AWSMobileClient.java:355) 
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment.getAwsKinesisVideoSignalingClient(StreamWebRtcConfigurationFragment.java:281) 
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment.access$700(StreamWebRtcConfigurationFragment.java:53) 
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment$UpdateSignalingChannelInfoTask.doInBackground(StreamWebRtcConfigurationFragment.java:368) 
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment$UpdateSignalingChannelInfoTask.doInBackground(StreamWebRtcConfigurationFragment.java:301) 
at android.os.AsyncTask$3.call(AsyncTask.java:378) 
at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
at java.lang.Thread.run(Thread.java:919) 
2020-03-10 10:29:14.978 26968-30325/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/AWSMobileClient: hasFederatedToken: true provider: cognito-idp.us-east-2.amazonaws.com/us-east-2_pebqk18EH
2020-03-10 10:29:14.978 26968-30325/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/AWSMobileClient: waitForSignIn: userState:SIGNED_IN
2020-03-10 10:29:14.979 26968-30325/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/AWSMobileClient: getCredentials: Validated user is signed-in
2020-03-10 10:29:15.040 26968-30325/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
2020-03-10 10:29:15.040 26968-30325/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
2020-03-10 10:29:15.412 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/Choreographer: Skipped 94 frames! The application may be doing too much work on its main thread.
2020-03-10 10:29:15.430 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 W/ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@451b9c5
2020-03-10 10:29:15.439 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglBase14Impl: SDK version: 29. isEGL14Supported: true
2020-03-10 10:29:15.439 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglBase14Impl: Using OpenGL ES version 2
2020-03-10 10:29:15.440 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: IceServer details (TURN) = [turn:18.223.2.230:443] [1583804055:djE6YXJuOmF3czpraW5lc2lzdmlkZW86dXMtZWFzdC0yOjY5NjUzMjk4MDY1ODpjaGFubmVsL2RlbW8tY2hhbm5lbC8xNTgzNDc1NDk4ODQ1:hH3YiRmZ4/DdHR6CtGO5aGyZzPLt3ajBK+c4xEwsfrQ=] [TLS_CERT_POLICY_SECURE] [] [null] [null]
2020-03-10 10:29:15.440 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: IceServer details (TURN) = [turn:3.133.157.195:443] [1583804055:djE6YXJuOmF3czpraW5lc2lzdmlkZW86dXMtZWFzdC0yOjY5NjUzMjk4MDY1ODpjaGFubmVsL2RlbW8tY2hhbm5lbC8xNTgzNDc1NDk4ODQ1:RZAryoEqhUzvrw55/oNRXVlHPMOhcrJQ9MIDuflEXfM=] [TLS_CERT_POLICY_SECURE] [] [null] [null]
2020-03-10 10:29:15.445 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/MultiWindowDecorSupport: updateCaptionType >> DecorView@6c5a772[], isFloating: false, isApplication: true, hasWindowDecorCaption: false, hasWindowControllerCallback: true
2020-03-10 10:29:15.445 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/MultiWindowDecorSupport: setCaptionType = 0, DecorView = DecorView@6c5a772[]
2020-03-10 10:29:15.467 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: NativeLibrary: Native library has already been loaded.
2020-03-10 10:29:15.467 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: PeerConnectionFactory: PeerConnectionFactory was initialized without an injected Loggable. Any existing Loggable will be deleted.
2020-03-10 10:29:15.468 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: WebRtcAudioManagerExternal: Sample rate is set to 48000 Hz
2020-03-10 10:29:15.469 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: WebRtcAudioManagerExternal: Sample rate is set to 48000 Hz
2020-03-10 10:29:15.469 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: JavaAudioDeviceModule: createAudioDeviceModule
2020-03-10 10:29:15.469 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: JavaAudioDeviceModule: HW NS will be used.
2020-03-10 10:29:15.469 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: JavaAudioDeviceModule: HW AEC will be used.
2020-03-10 10:29:15.469 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: WebRtcAudioEffectsExternal: ctor@[name=main, id=2]
2020-03-10 10:29:15.475 26968-30493/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: WebRtcAudioRecordExternal: enableBuiltInAEC(true)
2020-03-10 10:29:15.475 26968-30493/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: WebRtcAudioEffectsExternal: setAEC(true)
2020-03-10 10:29:15.476 26968-30493/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: WebRtcAudioRecordExternal: enableBuiltInNS(true)
2020-03-10 10:29:15.476 26968-30493/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: WebRtcAudioEffectsExternal: setNS(true)
2020-03-10 10:29:15.476 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: KVSWebRtcActivity: Create camera
2020-03-10 10:29:15.477 26968-30493/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: PeerConnectionFactory: onWorkerThreadReady
2020-03-10 10:29:15.477 26968-30492/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: PeerConnectionFactory: onNetworkThreadReady
2020-03-10 10:29:15.477 26968-30494/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: PeerConnectionFactory: onSignalingThreadReady
2020-03-10 10:29:15.478 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: Camera1Enumerator: Index: 0. Camera 0, Facing back, Orientation 90
2020-03-10 10:29:15.478 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: Camera1Enumerator: Index: 1. Camera 1, Facing front, Orientation 270
2020-03-10 10:29:15.479 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: Camera1Enumerator: Index: 2. Camera 2, Facing back, Orientation 90
2020-03-10 10:29:15.480 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: Camera1Enumerator: Index: 3. Camera 3, Facing front, Orientation 270
2020-03-10 10:29:15.480 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: KVSWebRtcActivity: Enumerating cameras
2020-03-10 10:29:15.480 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: Camera1Enumerator: getCameraIndex: Camera 0, Facing back, Orientation 90
2020-03-10 10:29:15.481 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: Camera1Enumerator: getCameraIndex: Camera 1, Facing front, Orientation 270
2020-03-10 10:29:15.482 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: KVSWebRtcActivity: Camera created
2020-03-10 10:29:15.482 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: Camera1Enumerator: Index: 0. Camera 0, Facing back, Orientation 90
2020-03-10 10:29:15.483 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: Camera1Enumerator: Index: 1. Camera 1, Facing front, Orientation 270
2020-03-10 10:29:15.483 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: Camera1Enumerator: Index: 2. Camera 2, Facing back, Orientation 90
2020-03-10 10:29:15.484 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: Camera1Enumerator: Index: 3. Camera 3, Facing front, Orientation 270
2020-03-10 10:29:15.484 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewInitializing EglRenderer
2020-03-10 10:29:15.485 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewEglBase.create shared context
2020-03-10 10:29:15.485 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglBase14Impl: Using OpenGL ES version 2
2020-03-10 10:29:15.486 26968-30498/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglBase14Impl: Using OpenGL ES version 2
2020-03-10 10:29:15.488 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraCapturer: startCapture: 400x300@30
2020-03-10 10:29:15.488 26968-30498/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: Camera1Enumerator: getCameraIndex: Camera 1, Facing front, Orientation 270
2020-03-10 10:29:15.489 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: remote_viewInitializing EglRenderer
2020-03-10 10:29:15.489 26968-30498/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: Camera1Session: Open camera 1
2020-03-10 10:29:15.489 26968-30499/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: remote_viewEglBase.create shared context
2020-03-10 10:29:15.489 26968-30499/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglBase14Impl: Using OpenGL ES version 2
2020-03-10 10:29:15.514 26968-30498/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: Camera1Session: Available fps ranges: [[15.0:15.0], [15.0:20.0], [20.0:20.0], [24.0:24.0], [8.0:30.0], [10.0:30.0], [15.0:30.0], [30.0:30.0]]
2020-03-10 10:29:15.519 26968-30498/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: Camera1Session: Create new camera1 session on camera 1
2020-03-10 10:29:15.520 26968-30498/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: Camera1Session: Start capturing
2020-03-10 10:29:15.585 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/AWSMobileClient: Inspecting user state details
2020-03-10 10:29:15.586 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 W/AWSMobileClient: Could not check if ACCESS_NETWORK_STATE permission is available.
java.lang.ClassNotFoundException: android.support.v4.content.ContextCompat
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:454)
at java.lang.Class.forName(Class.java:379)
at com.amazonaws.mobile.client.AWSMobileClient.isNetworkAvailable(AWSMobileClient.java:751)
at com.amazonaws.mobile.client.AWSMobileClient.getUserStateDetails(AWSMobileClient.java:963)
at com.amazonaws.mobile.client.AWSMobileClient.waitForSignIn(AWSMobileClient.java:903)
at com.amazonaws.mobile.client.AWSMobileClient.getCredentials(AWSMobileClient.java:355)
at com.amazonaws.kinesisvideo.demoapp.activity.WebRtcActivity$1.run(WebRtcActivity.java:157)
at android.app.Activity.runOnUiThread(Activity.java:6998)
at com.amazonaws.kinesisvideo.demoapp.activity.WebRtcActivity.initWsConnection(WebRtcActivity.java:154)
at com.amazonaws.kinesisvideo.demoapp.activity.WebRtcActivity.onPostCreate(WebRtcActivity.java:318)
at android.app.Instrumentation.callActivityOnPostCreate(Instrumentation.java:1381)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3498)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2146)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:237)
at android.app.ActivityThread.main(ActivityThread.java:7770)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1047)
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.content.ContextCompat" on path: DexPathList[[zip file "/data/app/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24-NCN_JuMmja7TCFYMPt6y6A==/base.apk"],nativeLibraryDirectories=[/data/app/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24-NCN_JuMmja7TCFYMPt6y6A==/lib/arm64, /data/app/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24-NCN_JuMmja7TCFYMPt6y6A==/base.apk!/lib/arm64-v8a, /system/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at java.lang.Class.classForName(Native Method) 
at java.lang.Class.forName(Class.java:454) 
at java.lang.Class.forName(Class.java:379) 
at com.amazonaws.mobile.client.AWSMobileClient.isNetworkAvailable(AWSMobileClient.java:751) 
at com.amazonaws.mobile.client.AWSMobileClient.getUserStateDetails(AWSMobileClient.java:963) 
at com.amazonaws.mobile.client.AWSMobileClient.waitForSignIn(AWSMobileClient.java:903) 
at com.amazonaws.mobile.client.AWSMobileClient.getCredentials(AWSMobileClient.java:355) 
at com.amazonaws.kinesisvideo.demoapp.activity.WebRtcActivity$1.run(WebRtcActivity.java:157) 
at android.app.Activity.runOnUiThread(Activity.java:6998) 
at com.amazonaws.kinesisvideo.demoapp.activity.WebRtcActivity.initWsConnection(WebRtcActivity.java:154) 
at com.amazonaws.kinesisvideo.demoapp.activity.WebRtcActivity.onPostCreate(WebRtcActivity.java:318) 
at android.app.Instrumentation.callActivityOnPostCreate(Instrumentation.java:1381) 
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3498) 
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221) 
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201) 
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173) 
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2146) 
at android.os.Handler.dispatchMessage(Handler.java:107) 
at android.os.Looper.loop(Looper.java:237) 
at android.app.ActivityThread.main(ActivityThread.java:7770) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1047) 
2020-03-10 10:29:15.596 26968-30498/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraCapturer: Create session done. Switch state: IDLE
2020-03-10 10:29:15.653 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/AWSMobileClient: hasFederatedToken: true provider: cognito-idp.us-east-2.amazonaws.com/us-east-2_pebqk18EH
2020-03-10 10:29:15.653 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/AWSMobileClient: waitForSignIn: userState:SIGNED_IN
2020-03-10 10:29:15.653 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/AWSMobileClient: getCredentials: Validated user is signed-in
2020-03-10 10:29:15.669 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/SignalingServiceWebSocketClient: Connecting to URI wss://v-dc297268.kinesisvideo.us-east-2.amazonaws.com/?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-ChannelARN=arn%253Aaws%253Akinesisvideo%253Aus-east-2%253A696532980658%253Achannel%252Fdemo-channel%252F1583475498845&X-Amz-ClientId=ed08b45c-5d5f-447f-aae9-40832b6546fb&X-Amz-Credential=ASIA2ELEZ2OZJSZO72MV%252F20200310%252Fus-east-2%252Fkinesisvideo%252Faws4_request&X-Amz-Date=20200310T012915Z&X-Amz-Expires=299&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAkaCXVzLWVhc3QtMiJHMEUCICmQhHivJu10gMvWTiFc6sWAq4FezFRMSIE1USCG0Zk1AiEA12vazrShVQVCVuEHhdOwiOUZYqzBenrGfC0mxYVSWlQqhwQI4%252F%252F%252F%252F%252F%252F%252F%252F%252F%252F%252FARAAGgw2OTY1MzI5ODA2NTgiDBaK9gtMHHT5StL2vyrbAzcq%252FchpAlkT%252FjqNMpLir93kNb%252BZ7Zz3Xx07It8v5Tj%252Fu2MpYAlxT0eUn0D4ntLkdlNLqSl71zQOqGwVoKrs30pSS3zi%252FoDLCL3XAORXQgULFKMjDj40HZAz0sIcScpfuRnA%252BsA%252FNDHG84J%252BIw0t3ugLy2y4A84fwywFreIxoC91g65ft5L%252BXppnD3qeJ3uSYUHSOAdtfEIJOtqRMi0RswWdVGVFBXqypvVh1XrvSiCgv0BtR%252BFR1CdnLzo5UOewT6aaiq45K4VC5otuM5sKWiSFPxpdBgjvHegSpAOYPsF9kvwWr3lZ7vUYSaUjeCLT9XPiFkWFiYu9SCIh56%252FmnBdASmAVg2nfyVFKB9aTI%252BKPyleCip2UB9%252BVSymCTluwe5cuHW10C6Z%252Fwmpk4mhXhXOfCxWm%252BNq3aA7wD5UGU23Df3ucndn0Ip3LK69cFaeyB5pA75Qbw9C8jDgvQzjriTZ1u8yRhBL2YSoH2KSmWvKoJ8c7985gxRi8KDu9BF%252FK76TwTrEZO9%252FuI4HNcepR%252FO%252B076BHCG0syZjzJ8mg8SqOGaYZ7PPnb9kSgzddEV4kn8Uz%252BgkRz3YbBhGN7pcSQnGPBili5FYpr1bZG6scJbiFaIlgVWUpXG0%252Fu74wwdqb8wU6ywIhhlCJgFmoxtLqvC1rwpv1oHpI%252B7G8tGgAiRQVB%252FUYnoLAg5XR16QoH3w0z%252Bd91vO4gM2u6L4W0SsJmcAMaGizz%252BiAVZX5DSJnQ92UeLzQfLhnghsz3VkaqzXTctXMZ5qzSi%252FY373s6VoE8V6otanoov5l4dsLDVRWQxbg7jmua2%252FxJ%252FpLwv%252BQU9FiDW4GcFv8tnjMfnBjiNhpjTUMNx3Flr6oNbzf8ORU0OAm%252FP0u155Abwo4tba0NfN6ittdicOGxgEPyzeNk1cq1X7va5%252F8NrC3iqsxLL%252FgGbnGE5wnreKkxiWHtk25JCNwyk0Ri8tPA1fRz1j7%252FHiMhXIbi%252FxO9BkQBFU7QWv0tC8kKXrHipX8hruWyWbq3PAy9YezV9bMwItqPAkjuXrXnKJoFHTR7czhB2X9aiC8Aiu2sK%252F%252FpJo2H1BJFu31TX7u&X-Amz-SignedHeaders=host&X-Amz-Signature=1f0b42c63b9c964354232408395e93b0ce4b92c9c8e18c80d7d95038bdbd4162 as master
2020-03-10 10:29:15.845 26968-30606/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 W/emoapp.minsdk2: Accessing hidden method Lsun/misc/Unsafe;->compareAndSwapObject(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z (greylist, linking, allowed)
2020-03-10 10:29:15.848 26968-30595/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 W/emoapp.minsdk2: Accessing hidden method Lsun/misc/Unsafe;->getObjectVolatile(Ljava/lang/Object;J)Ljava/lang/Object; (greylist, linking, allowed)
2020-03-10 10:29:15.848 26968-30595/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 W/emoapp.minsdk2: Accessing hidden method Lsun/misc/Unsafe;->compareAndSwapLong(Ljava/lang/Object;JJJ)Z (greylist, linking, allowed)
2020-03-10 10:29:16.033 26968-30498/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceEglRenderer: local_view: Reporting first rendered frame.
2020-03-10 10:29:16.033 26968-30498/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceEglRenderer: local_view: Reporting frame resolution changed to 352x288 with rotation 270
2020-03-10 10:29:16.033 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.066 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.099 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.132 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.166 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.199 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.232 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.265 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.300 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.332 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.366 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.399 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.433 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.464 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.500 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.530 26968-30606/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 W/emoapp.minsdk2: Accessing hidden method Lsun/misc/Unsafe;->compareAndSwapObject(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z (greylist, linking, allowed)
2020-03-10 10:29:16.538 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.544 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 W/emoapp.minsdk2: Accessing hidden method Lsun/misc/Unsafe;->compareAndSwapObject(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z (greylist, linking, allowed)
2020-03-10 10:29:16.566 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.599 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.632 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.666 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.699 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.732 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.749 26968-30610/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 W/emoapp.minsdk2: Accessing hidden method Lsun/misc/Unsafe;->compareAndSwapObject(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z (greylist, linking, allowed)
2020-03-10 10:29:16.766 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.798 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.832 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.865 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.898 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.933 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.967 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:16.998 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:17.033 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:17.038 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/System.out: > Session 0f6609e1-3bcd-4cea-9ca3-ec385b2582d3 [3 ms]: Sending handshake request:
2020-03-10 10:29:17.038 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/System.out: > GET wss://v-dc297268.kinesisvideo.us-east-2.amazonaws.com/?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-ChannelARN=arn%253Aaws%253Akinesisvideo%253Aus-east-2%253A696532980658%253Achannel%252Fdemo-channel%252F1583475498845&X-Amz-ClientId=ed08b45c-5d5f-447f-aae9-40832b6546fb&X-Amz-Credential=ASIA2ELEZ2OZJSZO72MV%252F20200310%252Fus-east-2%252Fkinesisvideo%252Faws4_request&X-Amz-Date=20200310T012915Z&X-Amz-Expires=299&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAkaCXVzLWVhc3QtMiJHMEUCICmQhHivJu10gMvWTiFc6sWAq4FezFRMSIE1USCG0Zk1AiEA12vazrShVQVCVuEHhdOwiOUZYqzBenrGfC0mxYVSWlQqhwQI4%252F%252F%252F%252F%252F%252F%252F%252F%252F%252F%252FARAAGgw2OTY1MzI5ODA2NTgiDBaK9gtMHHT5StL2vyrbAzcq%252FchpAlkT%252FjqNMpLir93kNb%252BZ7Zz3Xx07It8v5Tj%252Fu2MpYAlxT0eUn0D4ntLkdlNLqSl71zQOqGwVoKrs30pSS3zi%252FoDLCL3XAORXQgULFKMjDj40HZAz0sIcScpfuRnA%252BsA%252FNDHG84J%252BIw0t3ugLy2y4A84fwywFreIxoC91g65ft5L%252BXppnD3qeJ3uSYUHSOAdtfEIJOtqRMi0RswWdVGVFBXqypvVh1XrvSiCgv0BtR%252BFR1CdnLzo5UOewT6aaiq45K4VC5otuM5sKWiSFPxpdBgjvHegSpAOYPsF9kvwWr3lZ7vUYSaUjeCLT9XPiFkWFiYu9SCIh56%252FmnBdASmAVg2nfyVFKB9aTI%252BKPyleCip2UB9%252BVSymCTluwe5cuHW10C6Z%252Fwmpk4mhXhXOfCxWm%252BNq3aA7wD5UGU23Df3ucndn0Ip3LK69cFaeyB5pA75Qbw9C8jDgvQzjriTZ1u8yRhBL2YSoH2KSmWvKoJ8c7985gxRi8KDu9BF%252FK76TwTrEZO9%252FuI4HNcepR%252FO%252B076BHCG0syZjzJ8mg8SqOGaYZ7PPnb9kSgzddEV4kn8Uz%252BgkRz3YbBhGN7pcSQnGPBili5FYpr1bZG6scJbiFaIlgVWUpXG0%252Fu74wwdqb8wU6ywIhhlCJgFmoxtLqvC1rwpv1oHpI%252B7G8tGgAiRQVB%252FUYnoLAg5XR16QoH3w0z%252Bd91vO4gM2u6L4W0SsJmcAMaGizz%252BiAVZX5DSJnQ92UeLzQfLhnghsz3VkaqzXTctXMZ5qzSi%252FY373s6VoE8V6otanoov5l4dsLDVRWQxbg7jmua2%252FxJ%252FpLwv%252BQU9FiDW4GcFv8tnjMfnBjiNhpjTUMNx3Flr6oNbzf8ORU0OAm%252FP0u155Abwo4tba0NfN6ittdicOGxgEPyzeNk1cq1X7va5%252F8NrC3iqsxLL%252FgGbnGE5wnreKkxiWHtk25JCNwyk0Ri8tPA1fRz1j7%252FHiMhXIbi%252FxO9BkQBFU7QWv0tC8kKXrHipX8hruWyWbq3PAy9YezV9bMwItqPAkjuXrXnKJoFHTR7czhB2X9aiC8Aiu2sK%252F%252FpJo2H1BJFu31TX7u&X-Amz-SignedHeaders=host&X-Amz-Signature=1f0b42c63b9c964354232408395e93b0ce4b92c9c8e18c80d7d95038bdbd4162
2020-03-10 10:29:17.038 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/System.out: > Connection: Upgrade
2020-03-10 10:29:17.038 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/System.out: > Host: v-dc297268.kinesisvideo.us-east-2.amazonaws.com
2020-03-10 10:29:17.038 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/System.out: > Origin: v-dc297268.kinesisvideo.us-east-2.amazonaws.com
2020-03-10 10:29:17.038 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/System.out: > Sec-WebSocket-Key: fq39RhwZc8Zi+qRr1WqJtQ==
2020-03-10 10:29:17.038 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/System.out: > Sec-WebSocket-Version: 13
2020-03-10 10:29:17.038 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/System.out: > Upgrade: websocket
2020-03-10 10:29:17.038 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/System.out: < Session 0f6609e1-3bcd-4cea-9ca3-ec385b2582d3 [1366 ms]: Received handshake response:
2020-03-10 10:29:17.038 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/System.out: < 101
2020-03-10 10:29:17.038 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/System.out: < connection: upgrade
2020-03-10 10:29:17.038 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/System.out: < date: Tue, 10 Mar 2020 01:29:17 GMT
2020-03-10 10:29:17.038 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/System.out: < sec-websocket-accept: bMsLjagvjVreR1u1JfS1WpUWEJw=
2020-03-10 10:29:17.038 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/System.out: < upgrade: websocket
2020-03-10 10:29:17.038 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/WebSocketClient: Registering message handler
2020-03-10 10:29:17.065 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:17.078 26968-30599/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/WebSocketClient: isOpen true
2020-03-10 10:29:17.078 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/WebSocketClient: isOpen true
2020-03-10 10:29:17.078 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: Client connection Successful
2020-03-10 10:29:17.078 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/WebSocketClient: isOpen true
2020-03-10 10:29:17.078 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/WebSocketClient: isOpen true
2020-03-10 10:29:17.078 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: Client connected to Signaling service true
2020-03-10 10:29:17.078 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: Signaling service is connected: Sending offer as viewer to remote peer
2020-03-10 10:29:17.084 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: Data channel addDataChannelToLocalPeer
2020-03-10 10:29:17.084 26968-30494/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: Stats: RTCPeerConnection ,{ timestampUs: 1583803757083964, type: peer-connection, id: RTCPeerConnection, dataChannelsOpened: 0, dataChannelsClosed: 0 }
2020-03-10 10:29:17.084 26968-30494/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSPeerConnection: onRenegotiationNeeded():
2020-03-10 10:29:17.086 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/WebSocketClient: isOpen true
2020-03-10 10:29:17.086 26968-30494/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KinesisVideoSdpObserver: onCreateSuccess(): SDP=v=0
o=- 3107916231896092130 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0 1 2
a=msid-semantic: WMS KvsLocalMediaStream
m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 127 123 125 122 124
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:ePHC
a=ice-pwd:sVGbosBiXV4T5pwaOVWpNCjJ
a=ice-options:trickle renomination
a=fingerprint:sha-256 6A:20:19:B1:D6:6E:A1:CD:5B:18:34:0B:58:7F:D1:FB:4A:52:12:3D:E1:CF:D4:9E:F7:5A:3A:D5:35:BF:3D:BF
a=setup:actpass
a=mid:0
a=extmap:14 urn:ietf:params:rtp-hdrext:toffset
a=extmap:13 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:12 urn:3gpp:video-orientation
a=extmap:2 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
a=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07
a=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space
a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=sendrecv
a=msid:KvsLocalMediaStream KvsVideoTrack
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
a=rtpmap:98 VP9/90000
a=rtcp-fb:98 goog-remb
a=rtcp-fb:98 transport-cc
a=rtcp-fb:98 ccm fir
a=rtcp-fb:98 nack
a=rtcp-fb:98 nack pli
a=rtpmap:99 rtx/90000
a=fmtp:99 apt=98
a=rtpmap:100 H264/90000
a=rtcp-fb:100 goog-remb
a=rtcp-fb:100 transport-cc
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=fmtp:100 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=640c1f
a=rtpmap:101 rtx/90000
a=fmtp:101 apt=100
a=rtpmap:127 H264/90000
a=rtcp-fb:127 goog-remb
a=rtcp-fb:127 transport-cc
a=rtcp-fb:127 ccm fir
a=rtcp-fb:127 nack
a=rtcp-fb:127 nack pli
a=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtpmap:123 rtx/90000
a=fmtp:123 apt=127
a=rtpmap:125 red/90000
a=rtpmap:122 rtx/90000
a=fmtp:122 apt=125
a=rtpmap:124 ulpfec/90000
a=ssrc-group:FID 884510674 634162210
a=ssrc:884510674 cname:WhQ+Qazhc18fbY+O
a=ssrc:884510674 msid:KvsLocalMediaStream KvsVideoTrack
a=ssrc:884510674 mslabel:KvsLocalMediaStream
a=ssrc:884510674 label:KvsVideoTrack
a=ssrc:634162210 cname:WhQ+Qazhc18fbY+O
a=ssrc:634162210 msid:KvsLocalMediaStream KvsVideoTrack
a=ssrc:634162210 mslabel:KvsLocalMediaStream
a=ssrc:634162210 label:KvsVideoTrack
m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 102 0 8 106 105 13 110 112 113 126
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:ePHC
a=ice-pwd:sVGbosBiXV4T5pwaOVWpNCjJ
a=ice-options:trickle renomination
a=fingerprint:sha-256 6A:20:19:B1:D6:6E:A1:CD:5B:18:34:0B:58:7F:D1:FB:4A:52:12:3D:E1:CF:D4:9E:F7:5A:3A:D5:35:BF:3D:BF
a=setup:actpass
a=mid:1
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=recvonly
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:9 G722/8000
a=rtpmap:102 ILBC/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:106 CN/32000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:112 telephone-event/32000
a=rtpmap:113 telephone-event/16000
a=rtpmap:126 telephone-event/8000
m=application 9 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 0.0.0.0
a=ice-ufrag:ePHC
a=ice-pwd:sVGbosBiXV4T5pwaOVWpNCjJ
a=ice-options:trickle renomi
2020-03-10 10:29:17.089 26968-30494/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSPeerConnection: onSignalingChange(): signalingState = [HAVE_LOCAL_OFFER]
2020-03-10 10:29:17.090 26968-30492/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: NetworkMonitor: Start monitoring with native observer 477626196032
2020-03-10 10:29:17.093 26968-30492/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/ConnectivityManager: sendRequestForNetwork CallingUid : 10599, CallingPid : 26968
2020-03-10 10:29:17.093 26968-30492/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/ConnectivityManager_URSP: hong blacklisted - false
2020-03-10 10:29:17.093 26968-30492/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/ConnectivityManager: requestNetwork; CallingUid : 10599, CallingPid : 26968, PackageName : com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24
2020-03-10 10:29:17.095 26968-30492/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 W/org.webrtc.Logging: NetworkMonitorAutoDetect: Unable to obtain permission to request a cellular network.
2020-03-10 10:29:17.095 26968-30492/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/ConnectivityManager: requestNetwork; CallingUid : 10599, CallingPid : 26968, PackageName : com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24
2020-03-10 10:29:17.098 26968-27699/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: NetworkMonitorAutoDetect: Network becomes available: 626
2020-03-10 10:29:17.101 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:17.102 26968-27699/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: NetworkMonitorAutoDetect: capabilities changed: [ Transports: CELLULAR Capabilities: SUPL&INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN&VALIDATED&NOT_ROAMING&FOREGROUND&NOT_CONGESTED&NOT_SUSPENDED LinkUpBandwidth>=51200Kbps LinkDnBandwidth>=102400Kbps Specifier: <1>]
2020-03-10 10:29:17.103 26968-30494/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/WebSocketClient: isOpen true
2020-03-10 10:29:17.103 26968-30494/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KinesisVideoSdpObserver: onSetSuccess(): SDP
2020-03-10 10:29:17.104 26968-30494/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSPeerConnection: onIceGatheringChange(): iceGatheringState = [GATHERING]
2020-03-10 10:29:17.104 26968-30631/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/SignalingServiceWebSocketClient: Sending Offer
2020-03-10 10:29:17.107 26968-30631/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/SignalingServiceWebSocketClient: Sending JSON Message= {"action":"SDP_OFFER","messagePayload":"eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDMxMDc5MTYyMzE4OTYwOTIxMzAgMiBJTiBJUDQgMTI3LjAuMC4xXHJcbnM9LVxyXG50PTAgMFxyXG5hPWdyb3VwOkJVTkRMRSAwIDEgMlxyXG5hPW1zaWQtc2VtYW50aWM6IFdNUyBLdnNMb2NhbE1lZGlhU3RyZWFtXHJcbm09dmlkZW8gOSBVRFAvVExTL1JUUC9TQVZQRiA5NiA5NyA5OCA5OSAxMDAgMTAxIDEyNyAxMjMgMTI1IDEyMiAxMjRcclxuYz1JTiBJUDQgMC4wLjAuMFxyXG5hPXJ0Y3A6OSBJTiBJUDQgMC4wLjAuMFxyXG5hPWljZS11ZnJhZzplUEhDXHJcbmE9aWNlLXB3ZDpzVkdib3NCaVhWNFQ1cHdhT1ZXcE5DakpcclxuYT1pY2Utb3B0aW9uczp0cmlja2xlIHJlbm9taW5hdGlvblxyXG5hPWZpbmdlcnByaW50OnNoYS0yNTYgNkE6MjA6MTk6QjE6RDY6NkU6QTE6Q0Q6NUI6MTg6MzQ6MEI6NTg6N0Y6RDE6RkI6NEE6NTI6MTI6M0Q6RTE6Q0Y6RDQ6OUU6Rjc6NUE6M0E6RDU6MzU6QkY6M0Q6QkZcclxuYT1zZXR1cDphY3RwYXNzXHJcbmE9bWlkOjBcclxuYT1leHRtYXA6MTQgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6dG9mZnNldFxyXG5hPWV4dG1hcDoxMyBodHRwOi8vd3d3LndlYnJ0Yy5vcmcvZXhwZXJpbWVudHMvcnRwLWhkcmV4dC9hYnMtc2VuZC10aW1lXHJcbmE9ZXh0bWFwOjEyIHVybjozZ3BwOnZpZGVvLW9yaWVudGF0aW9uXHJcbmE9ZXh0bWFwOjIgaHR0cDovL3d3dy5pZXRmLm9yZy9pZC9kcmFmdC1ob2xtZXItcm1jYXQtdHJhbnNwb3J0LXdpZGUtY2MtZXh0ZW5zaW9ucy0wMVxyXG5hPWV4dG1hcDoxMSBodHRwOi8vd3d3LndlYnJ0Yy5vcmcvZXhwZXJpbWVudHMvcnRwLWhkcmV4dC9wbGF5b3V0LWRlbGF5XHJcbmE9ZXh0bWFwOjYgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tY29udGVudC10eXBlXHJcbmE9ZXh0bWFwOjcgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tdGltaW5nXHJcbmE9ZXh0bWFwOjggaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaWV0Zi1hdnRleHQtZnJhbWVtYXJraW5nLTA3XHJcbmE9ZXh0bWFwOjkgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvY29sb3Itc3BhY2VcclxuYT1leHRtYXA6MyB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOm1pZFxyXG5hPWV4dG1hcDo0IHVybjppZXRmOnBhcmFtczpydHAtaGRyZXh0OnNkZXM6cnRwLXN0cmVhbS1pZFxyXG5hPWV4dG1hcDo1IHVybjppZXRmOnBhcmFtczpydHAtaGRyZXh0OnNkZXM6cmVwYWlyZWQtcnRwLXN0cmVhbS1pZFxyXG5hPXNlbmRyZWN2XHJcbmE9bXNpZDpLdnNMb2NhbE1lZGlhU3RyZWFtIEt2c1ZpZGVvVHJhY2tcclxuYT1ydGNwLW11eFxyXG5hPXJ0Y3AtcnNpemVcclxuYT1ydHBtYXA6OTYgVlA4LzkwMDAwXHJcbmE9cnRjcC1mYjo5NiBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk2IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTYgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTYgbmFja1xyXG5hPXJ0Y3AtZmI6OTYgbmFjayBwbGlcclxuYT1ydHBtYXA6OTcgcnR4LzkwMDAwXHJcbmE9Zm10cDo5NyBhcHQ9OTZcclxuYT1ydHBtYXA6OTggVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjo5OCBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk4IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTggY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTggbmFja1xyXG5hPXJ0Y3AtZmI6OTggbmFjayBwbGlcclxuYT1ydHBtYXA6OTkgcnR4LzkwMDAwXHJcbmE9Zm10cDo5OSBhcHQ9OThcclxuYT1ydHBtYXA6MTAwIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEwMCBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEwMCB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEwMCBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMDAgbmFja1xyXG5hPXJ0Y3AtZmI6MTAwIG5hY2sgcGxpXHJcbmE9Zm10cDoxMDAgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MTtwcm9maWxlLWxldmVsLWlkPTY0MGMxZlxyXG5hPXJ0cG1hcDoxMDEgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDEgYXB0PTEwMFxyXG5hPXJ0cG1hcDoxMjcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTI3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTI3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTI3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjEyNyBuYWNrXHJcbmE9cnRjcC1mYjoxMjcgbmFjayBwbGlcclxuYT1mbXRwOjEyNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0xO3Byb2ZpbGUtbGV2ZWwtaWQ9NDJlMDFmXHJcbmE9cnRwbWFwOjEyMyBydHgvOTAwMDBcclxuYT1mbXRwOjEyMyBhcHQ9MTI3XHJcbmE9cnRwbWFwOjEyNSByZWQvOTAwMDBcclxuYT1ydHBtYXA6MTIyIHJ0eC85MDAwMFxyXG5hPWZtdHA6MTIyIGFwdD0xMjVcclxuYT1ydHBtYXA6MTI0IHVscGZlYy85MDAwMFxyXG5hPXNzcmMtZ3JvdXA6RklEIDg4NDUxMDY3NCA2MzQxNjIyMTBcclxuYT1zc3JjOjg4NDUxMDY3NCBjbmFtZTpXaFErUWF6aGMxOGZiWStPXHJcbmE9c3NyYzo4ODQ1MTA2NzQgbXNpZDpLdnNMb2NhbE1lZGlhU3RyZWFtIEt2c1ZpZGVvVHJhY2tcclxuYT1zc3JjOjg4NDUxMDY3NCBtc2xhYmVsOkt2c0xvY2FsTWVkaWFTdHJlYW1cclxuYT1zc3JjOjg4NDUxMDY3NCBsYWJlbDpLdnNWaWRlb1RyYWNrXHJcbmE9c3NyYzo2MzQxNjIyMTAgY25hbWU6V2hRK1FhemhjMThmYlkrT1xyXG5hPXNzcmM6NjM0MTYyMjEwIG1zaWQ6S3ZzTG9jYWxNZWRpYVN0cmVhbSBLdnNWaWRlb1RyYWNrXHJcbmE9c3NyYzo2MzQxNjIyMTAgbXNsYWJlbDpLdnNMb2NhbE1lZGlhU3RyZWFtXHJcbmE9c3NyYzo2MzQxNjIyMTAgbGFiZWw6S3ZzVmlkZW9UcmFja1xyXG5tPWF1ZGlvIDkgVURQL1RMUy9SVFAvU0FWUEYgMTExIDEwMyAxMDQgOSAxMDIgMCA4IDEwNiAxMDUgMTMgMTEwIDExMiAx
2020-03-10 10:29:17.108 26968-27699/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: NetworkMonitorAutoDetect: link properties changed: {InterfaceName: rmnet1 LinkAddresses: [ 2001:2d8:e533:c534::314a:4105/64 ] DnsAddresses: [ /fd00:e13:101:c::7,/fd00:213:101:c::31 ] Domains: null MTU: 1440 TcpBufferSizes: 2097152,6291456,16777216,512000,2097152,8388608 Routes: [ ::/0 -> fe80::3 rmnet1,2001:2d8:e533:c534::/64 -> :: rmnet1 ] Nat64Prefix: 64:ff9b::/96 Stacked: [[ {InterfaceName: v4-rmnet1 LinkAddresses: [ 192.0.0.5/32 ] DnsAddresses: [ ] Domains: null MTU: 0 Routes: [ 0.0.0.0/0 -> 192.0.0.5 v4-rmnet1 ]} ]]}
2020-03-10 10:29:17.111 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/ViewRootImpl@8f110fc[WebRtcActivity]: setView = DecorView@6c5a772[WebRtcActivity] TM=true MM=false
2020-03-10 10:29:17.113 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/ViewRootImpl@fea2aa0[SimpleNavActivity]: MSG_WINDOW_FOCUS_CHANGED 0 1
2020-03-10 10:29:17.113 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/InputMethodManager: prepareNavigationBarInfo() DecorView@ebb64aa[SimpleNavActivity]
2020-03-10 10:29:17.113 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/InputMethodManager: getNavigationBarColor() -855310
2020-03-10 10:29:17.113 26968-30494/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSPeerConnection: onIceCandidate(): iceCandidate = [0:0:candidate:1936978969 1 udp 2122262783 2001:2d8:e533:c534::314a:4105 43718 typ host generation 0 ufrag ePHC network-id 3 network-cost 900:]
2020-03-10 10:29:17.113 26968-30494/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:1936978969 1 udp 2122262783 2001:2d8:e533:c534::314a:4105 43718 typ host generation 0 ufrag ePHC network-id 3 network-cost 900:
2020-03-10 10:29:17.114 26968-30631/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/SignalingServiceWebSocketClient: Sent JSON Message= {"action":"SDP_OFFER","messagePayload":"eyJ0eXBlIjoib2ZmZXIiLCJzZHAiOiJ2PTBcclxubz0tIDMxMDc5MTYyMzE4OTYwOTIxMzAgMiBJTiBJUDQgMTI3LjAuMC4xXHJcbnM9LVxyXG50PTAgMFxyXG5hPWdyb3VwOkJVTkRMRSAwIDEgMlxyXG5hPW1zaWQtc2VtYW50aWM6IFdNUyBLdnNMb2NhbE1lZGlhU3RyZWFtXHJcbm09dmlkZW8gOSBVRFAvVExTL1JUUC9TQVZQRiA5NiA5NyA5OCA5OSAxMDAgMTAxIDEyNyAxMjMgMTI1IDEyMiAxMjRcclxuYz1JTiBJUDQgMC4wLjAuMFxyXG5hPXJ0Y3A6OSBJTiBJUDQgMC4wLjAuMFxyXG5hPWljZS11ZnJhZzplUEhDXHJcbmE9aWNlLXB3ZDpzVkdib3NCaVhWNFQ1cHdhT1ZXcE5DakpcclxuYT1pY2Utb3B0aW9uczp0cmlja2xlIHJlbm9taW5hdGlvblxyXG5hPWZpbmdlcnByaW50OnNoYS0yNTYgNkE6MjA6MTk6QjE6RDY6NkU6QTE6Q0Q6NUI6MTg6MzQ6MEI6NTg6N0Y6RDE6RkI6NEE6NTI6MTI6M0Q6RTE6Q0Y6RDQ6OUU6Rjc6NUE6M0E6RDU6MzU6QkY6M0Q6QkZcclxuYT1zZXR1cDphY3RwYXNzXHJcbmE9bWlkOjBcclxuYT1leHRtYXA6MTQgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6dG9mZnNldFxyXG5hPWV4dG1hcDoxMyBodHRwOi8vd3d3LndlYnJ0Yy5vcmcvZXhwZXJpbWVudHMvcnRwLWhkcmV4dC9hYnMtc2VuZC10aW1lXHJcbmE9ZXh0bWFwOjEyIHVybjozZ3BwOnZpZGVvLW9yaWVudGF0aW9uXHJcbmE9ZXh0bWFwOjIgaHR0cDovL3d3dy5pZXRmLm9yZy9pZC9kcmFmdC1ob2xtZXItcm1jYXQtdHJhbnNwb3J0LXdpZGUtY2MtZXh0ZW5zaW9ucy0wMVxyXG5hPWV4dG1hcDoxMSBodHRwOi8vd3d3LndlYnJ0Yy5vcmcvZXhwZXJpbWVudHMvcnRwLWhkcmV4dC9wbGF5b3V0LWRlbGF5XHJcbmE9ZXh0bWFwOjYgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tY29udGVudC10eXBlXHJcbmE9ZXh0bWFwOjcgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tdGltaW5nXHJcbmE9ZXh0bWFwOjggaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaWV0Zi1hdnRleHQtZnJhbWVtYXJraW5nLTA3XHJcbmE9ZXh0bWFwOjkgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvY29sb3Itc3BhY2VcclxuYT1leHRtYXA6MyB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOm1pZFxyXG5hPWV4dG1hcDo0IHVybjppZXRmOnBhcmFtczpydHAtaGRyZXh0OnNkZXM6cnRwLXN0cmVhbS1pZFxyXG5hPWV4dG1hcDo1IHVybjppZXRmOnBhcmFtczpydHAtaGRyZXh0OnNkZXM6cmVwYWlyZWQtcnRwLXN0cmVhbS1pZFxyXG5hPXNlbmRyZWN2XHJcbmE9bXNpZDpLdnNMb2NhbE1lZGlhU3RyZWFtIEt2c1ZpZGVvVHJhY2tcclxuYT1ydGNwLW11eFxyXG5hPXJ0Y3AtcnNpemVcclxuYT1ydHBtYXA6OTYgVlA4LzkwMDAwXHJcbmE9cnRjcC1mYjo5NiBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk2IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTYgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTYgbmFja1xyXG5hPXJ0Y3AtZmI6OTYgbmFjayBwbGlcclxuYT1ydHBtYXA6OTcgcnR4LzkwMDAwXHJcbmE9Zm10cDo5NyBhcHQ9OTZcclxuYT1ydHBtYXA6OTggVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjo5OCBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk4IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTggY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTggbmFja1xyXG5hPXJ0Y3AtZmI6OTggbmFjayBwbGlcclxuYT1ydHBtYXA6OTkgcnR4LzkwMDAwXHJcbmE9Zm10cDo5OSBhcHQ9OThcclxuYT1ydHBtYXA6MTAwIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEwMCBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEwMCB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEwMCBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMDAgbmFja1xyXG5hPXJ0Y3AtZmI6MTAwIG5hY2sgcGxpXHJcbmE9Zm10cDoxMDAgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MTtwcm9maWxlLWxldmVsLWlkPTY0MGMxZlxyXG5hPXJ0cG1hcDoxMDEgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDEgYXB0PTEwMFxyXG5hPXJ0cG1hcDoxMjcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTI3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTI3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTI3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjEyNyBuYWNrXHJcbmE9cnRjcC1mYjoxMjcgbmFjayBwbGlcclxuYT1mbXRwOjEyNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0xO3Byb2ZpbGUtbGV2ZWwtaWQ9NDJlMDFmXHJcbmE9cnRwbWFwOjEyMyBydHgvOTAwMDBcclxuYT1mbXRwOjEyMyBhcHQ9MTI3XHJcbmE9cnRwbWFwOjEyNSByZWQvOTAwMDBcclxuYT1ydHBtYXA6MTIyIHJ0eC85MDAwMFxyXG5hPWZtdHA6MTIyIGFwdD0xMjVcclxuYT1ydHBtYXA6MTI0IHVscGZlYy85MDAwMFxyXG5hPXNzcmMtZ3JvdXA6RklEIDg4NDUxMDY3NCA2MzQxNjIyMTBcclxuYT1zc3JjOjg4NDUxMDY3NCBjbmFtZTpXaFErUWF6aGMxOGZiWStPXHJcbmE9c3NyYzo4ODQ1MTA2NzQgbXNpZDpLdnNMb2NhbE1lZGlhU3RyZWFtIEt2c1ZpZGVvVHJhY2tcclxuYT1zc3JjOjg4NDUxMDY3NCBtc2xhYmVsOkt2c0xvY2FsTWVkaWFTdHJlYW1cclxuYT1zc3JjOjg4NDUxMDY3NCBsYWJlbDpLdnNWaWRlb1RyYWNrXHJcbmE9c3NyYzo2MzQxNjIyMTAgY25hbWU6V2hRK1FhemhjMThmYlkrT1xyXG5hPXNzcmM6NjM0MTYyMjEwIG1zaWQ6S3ZzTG9jYWxNZWRpYVN0cmVhbSBLdnNWaWRlb1RyYWNrXHJcbmE9c3NyYzo2MzQxNjIyMTAgbXNsYWJlbDpLdnNMb2NhbE1lZGlhU3RyZWFtXHJcbmE9c3NyYzo2MzQxNjIyMTAgbGFiZWw6S3ZzVmlkZW9UcmFja1xyXG5tPWF1ZGlvIDkgVURQL1RMUy9SVFAvU0FWUEYgMTExIDEwMyAxMDQgOSAxMDIgMCA4IDEwNiAxMDUgMTMgMTEwIDExMiAxMTM
2020-03-10 10:29:17.115 26968-30494/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSPeerConnection: onIceCandidate(): iceCandidate = [0:0:candidate:1936978969 1 udp 2122197247 2001:2d8:e533:c534::314a:4105 41801 typ host generation 0 ufrag ePHC network-id 4 network-cost 900:]
2020-03-10 10:29:17.115 26968-30494/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:1936978969 1 udp 2122197247 2001:2d8:e533:c534::314a:4105 41801 typ host generation 0 ufrag ePHC network-id 4 network-cost 900:
2020-03-10 10:29:17.116 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/Choreographer: Skipped 100 frames! The application may be doing too much work on its main thread.
2020-03-10 10:29:17.117 26968-30633/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/SignalingServiceWebSocketClient: Sending JSON Message= {"action":"ICE_CANDIDATE","messagePayload":"eyJjYW5kaWRhdGUiOiJjYW5kaWRhdGU6MTkzNjk3ODk2OSAxIHVkcCAyMTIyMjYyNzgzIDIwMDE6MmQ4OmU1MzM6YzUzNDo6MzE0YTo0MTA1IDQzNzE4IHR5cCBob3N0IGdlbmVyYXRpb24gMCB1ZnJhZyBlUEhDIG5ldHdvcmstaWQgMyBuZXR3b3JrLWNvc3QgOTAwIiwic2RwTWlkIjoiMCIsInNkcE1MaW5lSW5kZXgiOjB9","senderClientId":"ed08b45c-5d5f-447f-aae9-40832b6546fb"}
2020-03-10 10:29:17.119 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/SurfaceView: onWindowVisibilityChanged(0) true org.webrtc.SurfaceViewRenderer{cfa3a0b V.E...... ......I. 0,0-0,0 #7f0800bb app:id/remote_view} of ViewRootImpl@8f110fc[WebRtcActivity]
2020-03-10 10:29:17.119 26968-30633/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/SignalingServiceWebSocketClient: Sent JSON Message= {"action":"ICE_CANDIDATE","messagePayload":"eyJjYW5kaWRhdGUiOiJjYW5kaWRhdGU6MTkzNjk3ODk2OSAxIHVkcCAyMTIyMjYyNzgzIDIwMDE6MmQ4OmU1MzM6YzUzNDo6MzE0YTo0MTA1IDQzNzE4IHR5cCBob3N0IGdlbmVyYXRpb24gMCB1ZnJhZyBlUEhDIG5ldHdvcmstaWQgMyBuZXR3b3JrLWNvc3QgOTAwIiwic2RwTWlkIjoiMCIsInNkcE1MaW5lSW5kZXgiOjB9","senderClientId":"ed08b45c-5d5f-447f-aae9-40832b6546fb"}
2020-03-10 10:29:17.119 26968-30633/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/SignalingServiceWebSocketClient: Sent Ice candidate message
2020-03-10 10:29:17.119 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/SurfaceView: onWindowVisibilityChanged(0) true org.webrtc.SurfaceViewRenderer{397149c V.E...... ......I. 0,0-0,0 #7f080097 app:id/local_view} of ViewRootImpl@8f110fc[WebRtcActivity]
2020-03-10 10:29:17.120 26968-30636/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/SignalingServiceWebSocketClient: Sending JSON Message= {"action":"ICE_CANDIDATE","messagePayload":"eyJjYW5kaWRhdGUiOiJjYW5kaWRhdGU6MTkzNjk3ODk2OSAxIHVkcCAyMTIyMTk3MjQ3IDIwMDE6MmQ4OmU1MzM6YzUzNDo6MzE0YTo0MTA1IDQxODAxIHR5cCBob3N0IGdlbmVyYXRpb24gMCB1ZnJhZyBlUEhDIG5ldHdvcmstaWQgNCBuZXR3b3JrLWNvc3QgOTAwIiwic2RwTWlkIjoiMCIsInNkcE1MaW5lSW5kZXgiOjB9","senderClientId":"ed08b45c-5d5f-447f-aae9-40832b6546fb"}
2020-03-10 10:29:17.121 26968-30636/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/SignalingServiceWebSocketClient: Sent JSON Message= {"action":"ICE_CANDIDATE","messagePayload":"eyJjYW5kaWRhdGUiOiJjYW5kaWRhdGU6MTkzNjk3ODk2OSAxIHVkcCAyMTIyMTk3MjQ3IDIwMDE6MmQ4OmU1MzM6YzUzNDo6MzE0YTo0MTA1IDQxODAxIHR5cCBob3N0IGdlbmVyYXRpb24gMCB1ZnJhZyBlUEhDIG5ldHdvcmstaWQgNCBuZXR3b3JrLWNvc3QgOTAwIiwic2RwTWlkIjoiMCIsInNkcE1MaW5lSW5kZXgiOjB9","senderClientId":"ed08b45c-5d5f-447f-aae9-40832b6546fb"}
2020-03-10 10:29:17.121 26968-30636/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/SignalingServiceWebSocketClient: Sent Ice candidate message
2020-03-10 10:29:17.128 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceViewRenderer: remote_view: onMeasure(). New size: 1080x2064
2020-03-10 10:29:17.128 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceViewRenderer: local_view: onMeasure(). New size: 1080x2064
2020-03-10 10:29:17.128 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceViewRenderer: remote_view: onMeasure(). New size: 1080x2064
2020-03-10 10:29:17.128 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceViewRenderer: local_view: onMeasure(). New size: 1080x2064
2020-03-10 10:29:17.132 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceViewRenderer: remote_view: onMeasure(). New size: 1080x1951
2020-03-10 10:29:17.132 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceViewRenderer: local_view: onMeasure(). New size: 1080x1951
2020-03-10 10:29:17.132 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDropping frame - No surface
2020-03-10 10:29:17.142 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/ViewRootImpl@8f110fc[WebRtcActivity]: Relayout returned: old=[0,0][1080,2280] new=[0,0][1080,2280] req=(1080,2280)0 dur=7 res=0x7 s={true 479800164352} ch=true
2020-03-10 10:29:17.142 26968-27224/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/OpenGLRenderer: createReliableSurface : 0x6f346044c0, 0x6fb6518000
2020-03-10 10:29:17.143 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceViewRenderer: remote_view: onMeasure(). New size: 1080x2064
2020-03-10 10:29:17.143 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceViewRenderer: local_view: onMeasure(). New size: 1080x2064
2020-03-10 10:29:17.143 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceViewRenderer: remote_view: onMeasure(). New size: 1080x2064
2020-03-10 10:29:17.143 26968-27224/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/mali_winsys: new_window_surface() [1080x2280] return: 0x3000
2020-03-10 10:29:17.143 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceViewRenderer: local_view: onMeasure(). New size: 1080x2064
2020-03-10 10:29:17.145 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceViewRenderer: remote_view: onMeasure(). New size: 1080x1951
2020-03-10 10:29:17.145 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceViewRenderer: local_view: onMeasure(). New size: 1080x1951
2020-03-10 10:29:17.146 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: remote_viewsetLayoutAspectRatio: 0.5535623
2020-03-10 10:29:17.146 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewsetLayoutAspectRatio: 0.5535623
2020-03-10 10:29:17.150 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/SurfaceView: surfaceCreated 2 #8 org.webrtc.SurfaceViewRenderer{cfa3a0b V.E...... ......ID 0,0-1080,1951 #7f0800bb app:id/remote_view}
2020-03-10 10:29:17.150 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/SurfaceView: surfaceChanged (1080,1951) 2 #8 org.webrtc.SurfaceViewRenderer{cfa3a0b V.E...... ......ID 0,0-1080,1951 #7f0800bb app:id/remote_view}
2020-03-10 10:29:17.150 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceEglRenderer: remote_view: surfaceChanged: format: 4 size: 1080x1951
2020-03-10 10:29:17.151 26968-30499/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/mali_winsys: new_window_surface() [1080x1951] return: 0x3000
2020-03-10 10:29:17.152 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/SurfaceView: surfaceCreated 2 #8 org.webrtc.SurfaceViewRenderer{397149c V.E...... ......ID 0,0-1080,1951 #7f080097 app:id/local_view}
2020-03-10 10:29:17.152 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/SurfaceView: surfaceChanged (1080,1951) 2 #8 org.webrtc.SurfaceViewRenderer{397149c V.E...... ......ID 0,0-1080,1951 #7f080097 app:id/local_view}
2020-03-10 10:29:17.152 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceEglRenderer: local_view: surfaceChanged: format: 4 size: 1080x1951
2020-03-10 10:29:17.158 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/mali_winsys: new_window_surface() [1080x1951] return: 0x3000
2020-03-10 10:29:17.188 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/ViewRootImpl@b18b12c[Toast]: setView = android.widget.LinearLayout{38707f5 V.E...... ......I. 0,0-0,0} TM=true MM=false
2020-03-10 10:29:17.188 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 V/Toast: Text: Tign in android.widget.Toast$TN@169398a
2020-03-10 10:29:17.192 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/ViewRootImpl@8f110fc[WebRtcActivity]: Relayout returned: old=[0,0][1080,2280] new=[0,0][1080,2280] req=(1080,2280)0 dur=3 res=0x1 s={true 479800164352} ch=false
2020-03-10 10:29:17.206 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/ViewRootImpl@b18b12c[Toast]: Relayout returned: old=[0,90][1080,2154] new=[291,1870][789,1986] req=(498,116)0 dur=8 res=0x7 s={true 477229871104} ch=true
2020-03-10 10:29:17.207 26968-27224/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/OpenGLRenderer: createReliableSurface : 0x704d81d240, 0x6f1d1df000
2020-03-10 10:29:17.207 26968-27224/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/mali_winsys: new_window_surface() [498x116] return: 0x3000
2020-03-10 10:29:17.213 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceViewRenderer: local_view: updateSurfaceSize. Layout size: 1080x1951, frame size: 288x352, requested surface size: 194x352, old surface size: 0x0
2020-03-10 10:29:17.214 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/ViewRootImpl@8f110fc[WebRtcActivity]: MSG_WINDOW_FOCUS_CHANGED 1 1
2020-03-10 10:29:17.214 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/InputMethodManager: prepareNavigationBarInfo() DecorView@6c5a772[WebRtcActivity]
2020-03-10 10:29:17.214 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/InputMethodManager: getNavigationBarColor() -855310
2020-03-10 10:29:17.218 26968-30494/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSPeerConnection: onIceCandidate(): iceCandidate = [0:0:candidate:3865011119 1 tcp 1518149375 192.0.0.4 9 typ host tcptype active generation 0 ufrag ePHC network-id 5 network-cost 900:]
2020-03-10 10:29:17.218 26968-30494/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:3865011119 1 tcp 1518149375 192.0.0.4 9 typ host tcptype active generation 0 ufrag ePHC network-id 5 network-cost 900:
2020-03-10 10:29:17.220 26968-30494/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSPeerConnection: onIceCandidate(): iceCandidate = [0:0:candidate:1591936202 1 tcp 1518083839 192.0.0.5 9 typ host tcptype active generation 0 ufrag ePHC network-id 6 network-cost 900:]
2020-03-10 10:29:17.220 26968-30494/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:1591936202 1 tcp 1518083839 192.0.0.5 9 typ host tcptype active generation 0 ufrag ePHC network-id 6 network-cost 900:
2020-03-10 10:29:17.220 26968-30641/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/SignalingServiceWebSocketClient: Sending JSON Message= {"action":"ICE_CANDIDATE","messagePayload":"eyJjYW5kaWRhdGUiOiJjYW5kaWRhdGU6Mzg2NTAxMTExOSAxIHRjcCAxNTE4MTQ5Mzc1IDE5Mi4wLjAuNCA5IHR5cCBob3N0IHRjcHR5cGUgYWN0aXZlIGdlbmVyYXRpb24gMCB1ZnJhZyBlUEhDIG5ldHdvcmstaWQgNSBuZXR3b3JrLWNvc3QgOTAwIiwic2RwTWlkIjoiMCIsInNkcE1MaW5lSW5kZXgiOjB9","senderClientId":"ed08b45c-5d5f-447f-aae9-40832b6546fb"}
2020-03-10 10:29:17.220 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/InputMethodManager: prepareNavigationBarInfo() DecorView@6c5a772[WebRtcActivity]
2020-03-10 10:29:17.220 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/InputMethodManager: getNavigationBarColor() -855310
2020-03-10 10:29:17.220 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 V/InputMethodManager: Starting input: tba=com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 ic=null mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
2020-03-10 10:29:17.221 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/InputMethodManager: startInputInner - Id : 0
2020-03-10 10:29:17.221 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
2020-03-10 10:29:17.221 26968-30642/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/SignalingServiceWebSocketClient: Sending JSON Message= {"action":"ICE_CANDIDATE","messagePayload":"eyJjYW5kaWRhdGUiOiJjYW5kaWRhdGU6MTU5MTkzNjIwMiAxIHRjcCAxNTE4MDgzODM5IDE5Mi4wLjAuNSA5IHR5cCBob3N0IHRjcHR5cGUgYWN0aXZlIGdlbmVyYXRpb24gMCB1ZnJhZyBlUEhDIG5ldHdvcmstaWQgNiBuZXR3b3JrLWNvc3QgOTAwIiwic2RwTWlkIjoiMCIsInNkcE1MaW5lSW5kZXgiOjB9","senderClientId":"ed08b45c-5d5f-447f-aae9-40832b6546fb"}
2020-03-10 10:29:17.222 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/InputTransport: Input channel destroyed: 'ClientS', fd=90
2020-03-10 10:29:17.223 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/ViewRootImpl@8f110fc[WebRtcActivity]: MSG_RESIZED: frame=[0,0][1080,2280] ci=[0,90][0,126] vi=[0,90][0,126] or=1
2020-03-10 10:29:17.224 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceViewRenderer: local_view: onMeasure(). New size: 1080x2064
2020-03-10 10:29:17.224 26968-30641/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/SignalingServiceWebSocketClient: Sent JSON Message= {"action":"ICE_CANDIDATE","messagePayload":"eyJjYW5kaWRhdGUiOiJjYW5kaWRhdGU6Mzg2NTAxMTExOSAxIHRjcCAxNTE4MTQ5Mzc1IDE5Mi4wLjAuNCA5IHR5cCBob3N0IHRjcHR5cGUgYWN0aXZlIGdlbmVyYXRpb24gMCB1ZnJhZyBlUEhDIG5ldHdvcmstaWQgNSBuZXR3b3JrLWNvc3QgOTAwIiwic2RwTWlkIjoiMCIsInNkcE1MaW5lSW5kZXgiOjB9","senderClientId":"ed08b45c-5d5f-447f-aae9-40832b6546fb"}
2020-03-10 10:29:17.224 26968-30641/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/SignalingServiceWebSocketClient: Sent Ice candidate message
2020-03-10 10:29:17.224 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceViewRenderer: local_view: onMeasure(). New size: 1080x2064
2020-03-10 10:29:17.224 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceViewRenderer: local_view: onMeasure(). New size: 1080x1951
2020-03-10 10:29:17.224 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceViewRenderer: remote_view: onMeasure(). New size: 1080x1951
2020-03-10 10:29:17.225 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: remote_viewsetLayoutAspectRatio: 0.5535623
2020-03-10 10:29:17.225 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/SurfaceView: surfaceChanged (194,352) 2 #5 org.webrtc.SurfaceViewRenderer{397149c V.E...... ......I. 0,0-1080,1951 #7f080097 app:id/local_view}
2020-03-10 10:29:17.225 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceEglRenderer: local_view: surfaceChanged: format: 4 size: 194x352
2020-03-10 10:29:17.226 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewsetLayoutAspectRatio: 0.5535623
2020-03-10 10:29:17.226 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceViewRenderer: local_view: updateSurfaceSize. Layout size: 1080x1951, frame size: 288x352, requested surface size: 194x352, old surface size: 194x352
2020-03-10 10:29:17.226 26968-30642/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/SignalingServiceWebSocketClient: Sent JSON Message= {"action":"ICE_CANDIDATE","messagePayload":"eyJjYW5kaWRhdGUiOiJjYW5kaWRhdGU6MTU5MTkzNjIwMiAxIHRjcCAxNTE4MDgzODM5IDE5Mi4wLjAuNSA5IHR5cCBob3N0IHRjcHR5cGUgYWN0aXZlIGdlbmVyYXRpb24gMCB1ZnJhZyBlUEhDIG5ldHdvcmstaWQgNiBuZXR3b3JrLWNvc3QgOTAwIiwic2RwTWlkIjoiMCIsInNkcE1MaW5lSW5kZXgiOjB9","senderClientId":"ed08b45c-5d5f-447f-aae9-40832b6546fb"}
2020-03-10 10:29:17.226 26968-30642/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/SignalingServiceWebSocketClient: Sent Ice candidate message
2020-03-10 10:29:17.230 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/ViewRootImpl@b18b12c[Toast]: MSG_RESIZED: frame=[291,1870][789,1986] ci=[0,0][0,0] vi=[249,116][498,116] or=1
2020-03-10 10:29:17.273 26968-26979/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/emoapp.minsdk2: Compiler allocated 4162KB to compile void android.view.ViewRootImpl.performTraversals()
2020-03-10 10:29:17.401 26968-30494/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSPeerConnection: onIceCandidate(): iceCandidate = [0:0:candidate:4231669940 1 udp 1685987071 223.38.36.122 41801 typ srflx raddr 2001:2d8:e533:c534::314a:4105 rport 41801 generation 0 ufrag ePHC network-id 4 network-cost 900:stun:64:ff9b::12bd:979d:443]
2020-03-10 10:29:17.401 26968-30494/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:4231669940 1 udp 1685987071 223.38.36.122 41801 typ srflx raddr 2001:2d8:e533:c534::314a:4105 rport 41801 generation 0 ufrag ePHC network-id 4 network-cost 900:stun:64:ff9b::12bd:979d:443
2020-03-10 10:29:17.402 26968-30643/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/SignalingServiceWebSocketClient: Sending JSON Message= {"action":"ICE_CANDIDATE","messagePayload":"eyJjYW5kaWRhdGUiOiJjYW5kaWRhdGU6NDIzMTY2OTk0MCAxIHVkcCAxNjg1OTg3MDcxIDIyMy4zOC4zNi4xMjIgNDE4MDEgdHlwIHNyZmx4IHJhZGRyIDIwMDE6MmQ4OmU1MzM6YzUzNDo6MzE0YTo0MTA1IHJwb3J0IDQxODAxIGdlbmVyYXRpb24gMCB1ZnJhZyBlUEhDIG5ldHdvcmstaWQgNCBuZXR3b3JrLWNvc3QgOTAwIiwic2RwTWlkIjoiMCIsInNkcE1MaW5lSW5kZXgiOjB9","senderClientId":"ed08b45c-5d5f-447f-aae9-40832b6546fb"}
2020-03-10 10:29:17.403 26968-30643/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/SignalingServiceWebSocketClient: Sent JSON Message= {"action":"ICE_CANDIDATE","messagePayload":"eyJjYW5kaWRhdGUiOiJjYW5kaWRhdGU6NDIzMTY2OTk0MCAxIHVkcCAxNjg1OTg3MDcxIDIyMy4zOC4zNi4xMjIgNDE4MDEgdHlwIHNyZmx4IHJhZGRyIDIwMDE6MmQ4OmU1MzM6YzUzNDo6MzE0YTo0MTA1IHJwb3J0IDQxODAxIGdlbmVyYXRpb24gMCB1ZnJhZyBlUEhDIG5ldHdvcmstaWQgNCBuZXR3b3JrLWNvc3QgOTAwIiwic2RwTWlkIjoiMCIsInNkcE1MaW5lSW5kZXgiOjB9","senderClientId":"ed08b45c-5d5f-447f-aae9-40832b6546fb"}
2020-03-10 10:29:17.403 26968-30643/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/SignalingServiceWebSocketClient: Sent Ice candidate message
2020-03-10 10:29:17.425 26968-30610/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: Received message
2020-03-10 10:29:17.426 26968-30610/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 W/emoapp.minsdk2: Accessing hidden method Lsun/misc/Unsafe;->compareAndSwapObject(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z (greylist, linking, allowed)
2020-03-10 10:29:17.432 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: Received message
2020-03-10 10:29:17.456 26968-30610/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: Received message
2020-03-10 10:29:17.492 26968-27224/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/mali_egl: eglDestroySurface() in
2020-03-10 10:29:17.494 26968-27224/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/mali_winsys: delete_surface() [1080x2280] return
2020-03-10 10:29:17.494 26968-27224/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/mali_egl: eglDestroySurface() out
2020-03-10 10:29:17.494 26968-27224/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 W/libEGL: EGLNativeWindowType 0x6f34a31d50 disconnect failed
2020-03-10 10:29:17.499 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/ViewRootImpl@fea2aa0[SimpleNavActivity]: Relayout returned: old=[0,0][1080,2280] new=[0,0][1080,2280] req=(1080,2280)8 dur=5 res=0x5 s={false 0} ch=true
2020-03-10 10:29:17.501 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/ViewRootImpl@fea2aa0[SimpleNavActivity]: stopped(true) old=false
2020-03-10 10:29:17.525 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/ViewRootImpl@fea2aa0[SimpleNavActivity]: Relayout returned: old=[0,0][1080,2280] new=[0,0][1080,2280] req=(1080,2280)8 dur=5 res=0x5 s={false 0} ch=false
2020-03-10 10:29:17.539 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: Received message
2020-03-10 10:29:17.575 26968-30610/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: Received message
2020-03-10 10:29:17.596 26968-30498/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraStatistics: Camera fps: 24.
2020-03-10 10:29:17.736 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: Received message
2020-03-10 10:29:17.885 26968-30610/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: Received message{"messagePayload":"eyJjYW5kaWRhdGUiOiJjYW5kaWRhdGU6MzY1OTQ3MzQxOSAxIHVkcCAyMTIyMjYwMjIzIDE5Mi4xNjguMC4xNCA1MzI3MiB0eXAgaG9zdCBnZW5lcmF0aW9uIDAgdWZyYWcgNFVWRyBuZXR3b3JrLWlkIDMgbmV0d29yay1jb3N0IDEwIiwic2RwTWlkIjoiMCIsInNkcE1MaW5lSW5kZXgiOjB9","messageType":"ICE_CANDIDATE"}
2020-03-10 10:29:17.891 26968-30610/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: Ice Candidate received: SenderClientId=null
2020-03-10 10:29:17.891 26968-30610/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: {"candidate":"candidate:3659473419 1 udp 2122260223 192.168.0.14 53272 typ host generation 0 ufrag 4UVG network-id 3 network-cost 10","sdpMid":"0","sdpMLineIndex":0}
2020-03-10 10:29:17.891 26968-30610/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: Received IceCandidate from remote
2020-03-10 10:29:17.893 26968-30610/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: Added ice candidate 0:0:candidate:3659473419 1 udp 2122260223 192.168.0.14 53272 typ host generation 0 ufrag 4UVG network-id 3 network-cost 10: Failed
2020-03-10 10:29:17.897 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: Received message{"messagePayload":"eyJ0eXBlIjoiYW5zd2VyIiwic2RwIjoidj0wXHJcbm89LSA0NDE0MzE1NzU1OTY2NDMyMDI3IDIgSU4gSVA0IDEyNy4wLjAuMVxyXG5zPS1cclxudD0wIDBcclxuYT1ncm91cDpCVU5ETEUgMCAxIDJcclxuYT1tc2lkLXNlbWFudGljOiBXTVMgS3ZzTG9jYWxNZWRpYVN0cmVhbVxyXG5tPXZpZGVvIDkgVURQL1RMUy9SVFAvU0FWUEYgOTYgOTcgOTggOTkgMTAwIDEwMSAxMjcgMTIzIDEyNSAxMjIgMTI0XHJcbmM9SU4gSVA0IDAuMC4wLjBcclxuYT1ydGNwOjkgSU4gSVA0IDAuMC4wLjBcclxuYT1pY2UtdWZyYWc6NFVWR1xyXG5hPWljZS1wd2Q6SkU2NE5vbUxpd1ZXWUM5anZUUmhnRUNVXHJcbmE9aWNlLW9wdGlvbnM6dHJpY2tsZSByZW5vbWluYXRpb25cclxuYT1maW5nZXJwcmludDpzaGEtMjU2IEM2OjIzOjA4OjJCOjlFOjJEOjM0OkU0OkUzOjVCOjdCOjkxOjQ5OjQxOjJBOkQyOjJFOkE4OkI1OkUwOjE5Ojg5OjFEOjc0OkVGOkJCOkMxOkU0OjU1OjlGOjJCOjI1XHJcbmE9c2V0dXA6YWN0aXZlXHJcbmE9bWlkOjBcclxuYT1leHRtYXA6MTQgdXJuOmlldGY6cGFyYW1zOnJ0cC1oZHJleHQ6dG9mZnNldFxyXG5hPWV4dG1hcDoxMyBodHRwOi8vd3d3LndlYnJ0Yy5vcmcvZXhwZXJpbWVudHMvcnRwLWhkcmV4dC9hYnMtc2VuZC10aW1lXHJcbmE9ZXh0bWFwOjEyIHVybjozZ3BwOnZpZGVvLW9yaWVudGF0aW9uXHJcbmE9ZXh0bWFwOjIgaHR0cDovL3d3dy5pZXRmLm9yZy9pZC9kcmFmdC1ob2xtZXItcm1jYXQtdHJhbnNwb3J0LXdpZGUtY2MtZXh0ZW5zaW9ucy0wMVxyXG5hPWV4dG1hcDoxMSBodHRwOi8vd3d3LndlYnJ0Yy5vcmcvZXhwZXJpbWVudHMvcnRwLWhkcmV4dC9wbGF5b3V0LWRlbGF5XHJcbmE9ZXh0bWFwOjYgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tY29udGVudC10eXBlXHJcbmE9ZXh0bWFwOjcgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvdmlkZW8tdGltaW5nXHJcbmE9ZXh0bWFwOjggaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaWV0Zi1hdnRleHQtZnJhbWVtYXJraW5nLTA3XHJcbmE9ZXh0bWFwOjkgaHR0cDovL3d3dy53ZWJydGMub3JnL2V4cGVyaW1lbnRzL3J0cC1oZHJleHQvY29sb3Itc3BhY2VcclxuYT1leHRtYXA6MyB1cm46aWV0ZjpwYXJhbXM6cnRwLWhkcmV4dDpzZGVzOm1pZFxyXG5hPWV4dG1hcDo0IHVybjppZXRmOnBhcmFtczpydHAtaGRyZXh0OnNkZXM6cnRwLXN0cmVhbS1pZFxyXG5hPWV4dG1hcDo1IHVybjppZXRmOnBhcmFtczpydHAtaGRyZXh0OnNkZXM6cmVwYWlyZWQtcnRwLXN0cmVhbS1pZFxyXG5hPXNlbmRyZWN2XHJcbmE9bXNpZDpLdnNMb2NhbE1lZGlhU3RyZWFtIEt2c1ZpZGVvVHJhY2tcclxuYT1ydGNwLW11eFxyXG5hPXJ0Y3AtcnNpemVcclxuYT1ydHBtYXA6OTYgVlA4LzkwMDAwXHJcbmE9cnRjcC1mYjo5NiBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk2IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTYgY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTYgbmFja1xyXG5hPXJ0Y3AtZmI6OTYgbmFjayBwbGlcclxuYT1ydHBtYXA6OTcgcnR4LzkwMDAwXHJcbmE9Zm10cDo5NyBhcHQ9OTZcclxuYT1ydHBtYXA6OTggVlA5LzkwMDAwXHJcbmE9cnRjcC1mYjo5OCBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjk4IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6OTggY2NtIGZpclxyXG5hPXJ0Y3AtZmI6OTggbmFja1xyXG5hPXJ0Y3AtZmI6OTggbmFjayBwbGlcclxuYT1ydHBtYXA6OTkgcnR4LzkwMDAwXHJcbmE9Zm10cDo5OSBhcHQ9OThcclxuYT1ydHBtYXA6MTAwIEgyNjQvOTAwMDBcclxuYT1ydGNwLWZiOjEwMCBnb29nLXJlbWJcclxuYT1ydGNwLWZiOjEwMCB0cmFuc3BvcnQtY2NcclxuYT1ydGNwLWZiOjEwMCBjY20gZmlyXHJcbmE9cnRjcC1mYjoxMDAgbmFja1xyXG5hPXJ0Y3AtZmI6MTAwIG5hY2sgcGxpXHJcbmE9Zm10cDoxMDAgbGV2ZWwtYXN5bW1ldHJ5LWFsbG93ZWQ9MTtwYWNrZXRpemF0aW9uLW1vZGU9MTtwcm9maWxlLWxldmVsLWlkPTY0MGMxZlxyXG5hPXJ0cG1hcDoxMDEgcnR4LzkwMDAwXHJcbmE9Zm10cDoxMDEgYXB0PTEwMFxyXG5hPXJ0cG1hcDoxMjcgSDI2NC85MDAwMFxyXG5hPXJ0Y3AtZmI6MTI3IGdvb2ctcmVtYlxyXG5hPXJ0Y3AtZmI6MTI3IHRyYW5zcG9ydC1jY1xyXG5hPXJ0Y3AtZmI6MTI3IGNjbSBmaXJcclxuYT1ydGNwLWZiOjEyNyBuYWNrXHJcbmE9cnRjcC1mYjoxMjcgbmFjayBwbGlcclxuYT1mbXRwOjEyNyBsZXZlbC1hc3ltbWV0cnktYWxsb3dlZD0xO3BhY2tldGl6YXRpb24tbW9kZT0xO3Byb2ZpbGUtbGV2ZWwtaWQ9NDJlMDFmXHJcbmE9cnRwbWFwOjEyMyBydHgvOTAwMDBcclxuYT1mbXRwOjEyMyBhcHQ9MTI3XHJcbmE9cnRwbWFwOjEyNSByZWQvOTAwMDBcclxuYT1ydHBtYXA6MTIyIHJ0eC85MDAwMFxyXG5hPWZtdHA6MTIyIGFwdD0xMjVcclxuYT1ydHBtYXA6MTI0IHVscGZlYy85MDAwMFxyXG5hPXNzcmMtZ3JvdXA6RklEIDI1Mzk4OTYzODIgMjg3NTk5NTI0NlxyXG5hPXNzcmM6MjUzOTg5NjM4MiBjbmFtZTpxcnF4NUZvM0pCVGpvdDhWXHJcbmE9c3NyYzoyODc1OTk1MjQ2IGNuYW1lOnFycXg1Rm8zSkJUam90OFZcclxubT1hdWRpbyA5IFVEUC9UTFMvUlRQL1NBVlBGIDExMSAxMDMgMTA0IDkgMTAyIDAgOCAxMDYgMTA1IDEzIDExMCAxMTIgMTEzIDEyNlxyXG5jPUlOIElQNCAwLjAuMC4wXHJcbmE9cnRjcDo5IElOIElQNCAwLjAuMC4wXHJcbmE9aWNlLXVmcmFnOjRVVkdcclxuYT1pY2UtcHdkOkpFNjROb21MaXdWV1lDOWp2VFJoZ0VDVVxyXG5hPWljZS1vcHRpb25zOnRyaWNrbGUgcmVub21pbmF0aW9uXHJcbmE9ZmluZ2VycHJpbnQ6c2hhLTI1NiBDNjoyMzowODoyQjo5RToyRDozNDpFNDpFMzo1Qjo3Qjo5MTo0OTo0MToyQTpEMjoyRTpBODpCNTpFMDoxOTo4OToxRDo3NDpFRjpCQjpDMTpFNDo1NTo5RjoyQjoyNVxyXG5hPXNldHVwOmFjdGl2ZVxyXG5hPW1pZDoxXHJcbmE9ZXh0bWFwOjEgdXJuOm
2020-03-10 10:29:17.898 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: Answer received: SenderClientId=null
2020-03-10 10:29:17.898 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: SDP answer received from signaling
2020-03-10 10:29:17.901 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/Event: SDP answer received from master:v=0
o=- 4414315755966432027 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0 1 2
a=msid-semantic: WMS KvsLocalMediaStream
m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 127 123 125 122 124
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:4UVG
a=ice-pwd:JE64NomLiwVWYC9jvTRhgECU
a=ice-options:trickle renomination
a=fingerprint:sha-256 C6:23:08:2B:9E:2D:34:E4:E3:5B:7B:91:49:41:2A:D2:2E:A8:B5:E0:19:89:1D:74:EF:BB:C1:E4:55:9F:2B:25
a=setup:active
a=mid:0
a=extmap:14 urn:ietf:params:rtp-hdrext:toffset
a=extmap:13 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:12 urn:3gpp:video-orientation
a=extmap:2 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
a=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07
a=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space
a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=sendrecv
a=msid:KvsLocalMediaStream KvsVideoTrack
a=rtcp-mux
a=rtcp-rsize
a=rtpmap:96 VP8/90000
a=rtcp-fb:96 goog-remb
a=rtcp-fb:96 transport-cc
a=rtcp-fb:96 ccm fir
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=rtpmap:97 rtx/90000
a=fmtp:97 apt=96
a=rtpmap:98 VP9/90000
a=rtcp-fb:98 goog-remb
a=rtcp-fb:98 transport-cc
a=rtcp-fb:98 ccm fir
a=rtcp-fb:98 nack
a=rtcp-fb:98 nack pli
a=rtpmap:99 rtx/90000
a=fmtp:99 apt=98
a=rtpmap:100 H264/90000
a=rtcp-fb:100 goog-remb
a=rtcp-fb:100 transport-cc
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=fmtp:100 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=640c1f
a=rtpmap:101 rtx/90000
a=fmtp:101 apt=100
a=rtpmap:127 H264/90000
a=rtcp-fb:127 goog-remb
a=rtcp-fb:127 transport-cc
a=rtcp-fb:127 ccm fir
a=rtcp-fb:127 nack
a=rtcp-fb:127 nack pli
a=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
a=rtpmap:123 rtx/90000
a=fmtp:123 apt=127
a=rtpmap:125 red/90000
a=rtpmap:122 rtx/90000
a=fmtp:122 apt=125
a=rtpmap:124 ulpfec/90000
a=ssrc-group:FID 2539896382 2875995246
a=ssrc:2539896382 cname:qrqx5Fo3JBTjot8V
a=ssrc:2875995246 cname:qrqx5Fo3JBTjot8V
m=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 102 0 8 106 105 13 110 112 113 126
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:4UVG
a=ice-pwd:JE64NomLiwVWYC9jvTRhgECU
a=ice-options:trickle renomination
a=fingerprint:sha-256 C6:23:08:2B:9E:2D:34:E4:E3:5B:7B:91:49:41:2A:D2:2E:A8:B5:E0:19:89:1D:74:EF:BB:C1:E4:55:9F:2B:25
a=setup:active
a=mid:1
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:2 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=inactive
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=rtpmap:103 ISAC/16000
a=rtpmap:104 ISAC/32000
a=rtpmap:9 G722/8000
a=rtpmap:102 ILBC/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:106 CN/32000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:112 telephone-event/32000
a=rtpmap:113 telephone-event/16000
a=rtpmap:126 telephone-event/8000
m=application 9 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 0.0.0.0
b=AS:30
a=ice-ufrag:4UVG
a=ice-pwd:JE64NomLiwVWYC9jvTRhgECU
a=ice-options:trickle renomination
a=fingerprint:sha-256 C6:23:08:2B:9E:2D:34:E4:E3:5B:7B:91:49:41:2A:D2:2E:A8:B5:E0:19:89:1D:74:EF:BB:C1:E4:55:9F:2B:25
a=setup:active
a=mid:2
a=sctp-port:5000
a=max-message-size:262144
2020-03-10 10:29:17.907 26968-30494/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSPeerConnection: onSignalingChange(): signalingState = [STABLE]
2020-03-10 10:29:17.914 26968-30493/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: AndroidVideoDecoder: ctor name: OMX.Exynos.vp8.dec type: VP8 color format: 19 context: org.webrtc.EglBase14Impl$Context@18a82e
2020-03-10 10:29:17.915 26968-30493/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: AndroidVideoDecoder: ctor name: OMX.Exynos.vp9.dec type: VP9 color format: 19 context: org.webrtc.EglBase14Impl$Context@18a82e
2020-03-10 10:29:17.917 26968-30493/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: AndroidVideoDecoder: ctor name: OMX.Exynos.avc.dec type: H264 color format: 19 context: org.webrtc.EglBase14Impl$Context@18a82e
2020-03-10 10:29:17.918 26968-30493/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: AndroidVideoDecoder: ctor name: OMX.google.h264.decoder type: H264 color format: 19 context: org.webrtc.EglBase14Impl$Context@18a82e
2020-03-10 10:29:17.919 26968-30493/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: AndroidVideoDecoder: ctor name: OMX.Exynos.avc.dec type: H264 color format: 19 context: org.webrtc.EglBase14Impl$Context@18a82e
2020-03-10 10:29:17.919 26968-30493/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: AndroidVideoDecoder: ctor name: OMX.google.h264.decoder type: H264 color format: 19 context: org.webrtc.EglBase14Impl$Context@18a82e
2020-03-10 10:29:17.923 26968-30494/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSPeerConnection: onIceConnectionChange(): iceConnectionState = [CHECKING]
2020-03-10 10:29:17.924 26968-30494/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSPeerConnection: onAddTrack(): rtpReceiver = [org.webrtc.RtpReceiver@f51cfcf], mediaStreams Length = [1]
2020-03-10 10:29:17.924 26968-30494/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSPeerConnection: onAddStream(): mediaStream = [[KvsLocalMediaStream:A=0:V=1]]
2020-03-10 10:29:17.924 26968-30494/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: Adding remote video stream (and audio) to the view
2020-03-10 10:29:17.925 26968-30494/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KinesisVideoSdpObserver: onSetSuccess(): SDP
2020-03-10 10:29:17.925 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: remoteVideoTrackId=515862a3-c58e-48fc-ac8a-b62ed735502c videoTrackState=LIVE
2020-03-10 10:29:17.937 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceViewRenderer: local_view: onMeasure(). New size: 270x516
2020-03-10 10:29:17.938 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceViewRenderer: local_view: onMeasure(). New size: 270x516
2020-03-10 10:29:17.939 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceViewRenderer: remote_view: onMeasure(). New size: 1080x1951
2020-03-10 10:29:17.939 26968-30646/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: HardwareVideoEncoder: initEncode: 352 x 288. @ 300kbps. Fps: 60 Use surface mode: true
2020-03-10 10:29:17.939 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: remote_viewsetLayoutAspectRatio: 0.5535623
2020-03-10 10:29:17.940 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewsetLayoutAspectRatio: 0.5232558
2020-03-10 10:29:17.940 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceViewRenderer: local_view: updateSurfaceSize. Layout size: 270x516, frame size: 288x352, requested surface size: 184x352, old surface size: 194x352
2020-03-10 10:29:17.943 26968-30646/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/ACodec: [] Now uninitialized
2020-03-10 10:29:17.943 26968-30650/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/ACodec: [] onAllocateComponent
2020-03-10 10:29:17.945 26968-30650/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/OMXClient: IOmx service obtained
2020-03-10 10:29:17.945 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/SurfaceView: surfaceChanged (184,352) 2 #8 org.webrtc.SurfaceViewRenderer{397149c V.E...... ......ID 810,1435-1080,1951 #7f080097 app:id/local_view}
2020-03-10 10:29:17.946 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: SurfaceEglRenderer: local_view: surfaceChanged: format: 4 size: 184x352
2020-03-10 10:29:17.971 26968-30650/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/ACodec: [OMX.Exynos.VP8.Encoder] Now Loaded
2020-03-10 10:29:17.978 26968-30646/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: HardwareVideoEncoder: Format: {color-format=2130708361, i-frame-interval=100, mime=video/x-vnd.on2.vp8, width=352, bitrate-mode=2, bitrate=300000, frame-rate=60, height=288}
2020-03-10 10:29:17.982 26968-30650/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/ACodec: app-pid(26968)
2020-03-10 10:29:17.986 26968-30650/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 W/OMXUtils: do not know color format 0x7f000011 = 2130706449
2020-03-10 10:29:17.989 26968-30650/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 W/OMXUtils: do not know color format 0x10 = 16
2020-03-10 10:29:17.990 26968-30650/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 W/OMXUtils: do not know color format 0x7f00a000 = 2130747392
2020-03-10 10:29:17.990 26968-30650/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 W/OMXUtils: do not know color format 0x7f000789 = 2130708361
2020-03-10 10:29:17.991 26968-30650/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/ACodec: app-name : com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24
2020-03-10 10:29:17.991 26968-30650/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/ACodec: Enable drop control
2020-03-10 10:29:17.993 26968-30650/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/ACodec: [OMX.Exynos.VP8.Encoder] cannot encode HDR static metadata. Ignoring.
2020-03-10 10:29:17.993 26968-30650/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/ACodec: setupVideoEncoder succeeded
2020-03-10 10:29:17.993 26968-30650/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/ACodec: [OMX.Exynos.VP8.Encoder] configure, AMessage : AMessage(what = 'conf', target = 4) = {
int32_t color-format = 2130708361
int32_t i-frame-interval = 100
string mime = "video/x-vnd.on2.vp8"
int32_t width = 352
int32_t bitrate-mode = 2
int32_t bitrate = 300000
int32_t frame-rate = 60
int32_t height = 288
int32_t encoder = 1
}
2020-03-10 10:29:17.993 26968-30650/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 W/OMXUtils: do not know color format 0x7f000789 = 2130708361
2020-03-10 10:29:17.996 26968-30646/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglBase14Impl: Using OpenGL ES version 2
2020-03-10 10:29:18.020 26968-30646/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/mali_winsys: new_window_surface() [352x288] return: 0x3000
2020-03-10 10:29:18.024 26968-30650/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/ACodec: [OMX.Exynos.VP8.Encoder] Now Loaded->Idle
2020-03-10 10:29:18.052 26968-30649/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/MediaCodec: setCodecState state : 0
2020-03-10 10:29:18.052 26968-30650/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/ACodec: [OMX.Exynos.VP8.Encoder] Now Idle->Executing
2020-03-10 10:29:18.057 26968-30650/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/ACodec: [OMX.Exynos.VP8.Encoder] Now Executing
2020-03-10 10:29:18.626 26968-30610/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: Received message{"messagePayload":"eyJjYW5kaWRhdGUiOiJjYW5kaWRhdGU6MjE3MTA5MDMxNyAxIHVkcCA0MTg4NTQzOSAxOC4yMjEuMTkuNzIgNTg3NjYgdHlwIHJlbGF5IHJhZGRyIDE4My4xMDEuMjQ2LjggcnBvcnQgNTMyNzIgZ2VuZXJhdGlvbiAwIHVmcmFnIDRVVkcgbmV0d29yay1pZCAzIG5ldHdvcmstY29zdCAxMCIsInNkcE1pZCI6IjAiLCJzZHBNTGluZUluZGV4IjowfQ","messageType":"ICE_CANDIDATE"}
2020-03-10 10:29:18.627 26968-30610/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: Ice Candidate received: SenderClientId=null
2020-03-10 10:29:18.627 26968-30610/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: {"candidate":"candidate:2171090317 1 udp 41885439 18.221.19.72 58766 typ relay raddr 183.101.246.8 rport 53272 generation 0 ufrag 4UVG network-id 3 network-cost 10","sdpMid":"0","sdpMLineIndex":0}
2020-03-10 10:29:18.627 26968-30610/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: Received IceCandidate from remote
2020-03-10 10:29:18.629 26968-30610/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: Added ice candidate 0:0:candidate:2171090317 1 udp 41885439 18.221.19.72 58766 typ relay raddr 183.101.246.8 rport 53272 generation 0 ufrag 4UVG network-id 3 network-cost 10: Successfully
2020-03-10 10:29:18.629 26968-30610/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: Received message{"messagePayload":"eyJjYW5kaWRhdGUiOiJjYW5kaWRhdGU6MTUyNDIzODY1NCAxIHVkcCA0MTg4NTY5NSAzLjEzNi4yNi45OCA2NDczMCB0eXAgcmVsYXkgcmFkZHIgMTgzLjEwMS4yNDYuOCBycG9ydCA1MzI3MiBnZW5lcmF0aW9uIDAgdWZyYWcgNFVWRyBuZXR3b3JrLWlkIDMgbmV0d29yay1jb3N0IDEwIiwic2RwTWlkIjoiMCIsInNkcE1MaW5lSW5kZXgiOjB9","messageType":"ICE_CANDIDATE"}
2020-03-10 10:29:18.630 26968-30610/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: Ice Candidate received: SenderClientId=null
2020-03-10 10:29:18.630 26968-30610/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: {"candidate":"candidate:1524238654 1 udp 41885695 3.136.26.98 64730 typ relay raddr 183.101.246.8 rport 53272 generation 0 ufrag 4UVG network-id 3 network-cost 10","sdpMid":"0","sdpMLineIndex":0}
2020-03-10 10:29:18.630 26968-30610/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: Received IceCandidate from remote
2020-03-10 10:29:18.631 26968-30610/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: Added ice candidate 0:0:candidate:1524238654 1 udp 41885695 3.136.26.98 64730 typ relay raddr 183.101.246.8 rport 53272 generation 0 ufrag 4UVG network-id 3 network-cost 10: Successfully
2020-03-10 10:29:18.946 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: Received message{"messagePayload":"eyJjYW5kaWRhdGUiOiJjYW5kaWRhdGU6ODQyMTYzMDQ5IDEgdWRwIDE2ODYwNTI2MDcgMTgzLjEwMS4yNDYuOCA1MzI3MiB0eXAgc3JmbHggcmFkZHIgMTkyLjE2OC4wLjE0IHJwb3J0IDUzMjcyIGdlbmVyYXRpb24gMCB1ZnJhZyA0VVZHIG5ldHdvcmstaWQgMyBuZXR3b3JrLWNvc3QgMTAiLCJzZHBNaWQiOiIwIiwic2RwTUxpbmVJbmRleCI6MH0","messageType":"ICE_CANDIDATE"}
2020-03-10 10:29:18.947 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: Ice Candidate received: SenderClientId=null
2020-03-10 10:29:18.947 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: {"candidate":"candidate:842163049 1 udp 1686052607 183.101.246.8 53272 typ srflx raddr 192.168.0.14 rport 53272 generation 0 ufrag 4UVG network-id 3 network-cost 10","sdpMid":"0","sdpMLineIndex":0}
2020-03-10 10:29:18.947 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: Received IceCandidate from remote
2020-03-10 10:29:18.949 26968-30608/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: Added ice candidate 0:0:candidate:842163049 1 udp 1686052607 183.101.246.8 53272 typ srflx raddr 192.168.0.14 rport 53272 generation 0 ufrag 4UVG network-id 3 network-cost 10: Successfully
2020-03-10 10:29:19.052 26968-30649/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/MediaCodec: setCodecState state : 0
2020-03-10 10:29:19.492 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDuration: 4005 ms. Frames received: 104. Dropped: 0. Rendered: 70. Render fps: 17.5. Average render time: 3812 us. Average swapBuffer time: 1880 us.
2020-03-10 10:29:19.495 26968-30499/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: remote_viewDuration: 4004 ms. Frames received: 0. Dropped: 0. Rendered: 0. Render fps: .0. Average render time: NA. Average swapBuffer time: NA.
2020-03-10 10:29:19.596 26968-30498/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraStatistics: Camera fps: 30.
2020-03-10 10:29:20.607 26968-27224/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/mali_egl: eglDestroySurface() in
2020-03-10 10:29:20.608 26968-27224/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/mali_winsys: delete_surface() [498x116] return
2020-03-10 10:29:20.609 26968-27224/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/mali_egl: eglDestroySurface() out
2020-03-10 10:29:20.609 26968-27224/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 W/libEGL: EGLNativeWindowType 0x704d81d250 disconnect failed
2020-03-10 10:29:20.609 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/ViewRootImpl@b18b12c[Toast]: dispatchDetachedFromWindow
2020-03-10 10:29:20.615 26968-26968/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/InputTransport: Input channel destroyed: '7eaad78', fd=219
2020-03-10 10:29:21.596 26968-30498/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraStatistics: Camera fps: 30.
2020-03-10 10:29:23.494 26968-30497/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDuration: 4001 ms. Frames received: 120. Dropped: 0. Rendered: 120. Render fps: 30.0. Average render time: 3650 us. Average swapBuffer time: 1831 us.
2020-03-10 10:29:23.500 26968-30499/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: remote_viewDuration: 4004 ms. Frames received: 0. Dropped: 0. Rendered: 0. Render fps: .0. Average render time: NA. Average swapBuffer time: NA.
2020-03-10 10:29:23.596 26968-30498/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraStatistics: Camera fps: 30.

unstable Signaling client connection

Hi Team,
The Signaling client connection is very unstable in the android sample provided. How to improve the signaling client connection stability. It is much better in js & c sdk.

please help me with multiviewer support

app is not working for more than one viewer .i need multi-viewer support .
in readme file Optionally, when using it in viewer mode, you can enter a unique Client Id . Client ID is required only if multiple viewers are connected to a channel. This helps channel's master identify respective viewers.
I couldn't understand above line.
please help me thanks in advance.

Kinese Video Stream WebRTC Master Video Recording

Hello,

Basically, we want to capture the WebRTC Master Video session and save them on AWS S3 Bucket for later use. can we do AWS Kinesis WebRTC Master Video Recording?

Kindly guide us the solution using AWS services?

Use with pre-existing Cognito identity\access tokens

We'd like to use this SDK to receive WebRTC video as part of an application that is already using Cognito authentication. As such, we will have a pre-existing session with identity and access tokens. Is it possible to apply these tokens directly to the Kinesis WebRTC authentication scheme?

Problems with running on Honor 9 Lite - Android 9 cell phone

2020-05-29 14:58:13.809 26826-28335/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 E/KinesisVideoSdpObserver: onSetFailure(): Error=Failed to set remote answer sdp: The order of m-lines in answer doesn't match order in offer. Rejecting answer.
2020-05-29 14:58:13.820 26826-28374/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: Received message{"messagePayload":"eyJjYW5kaWRhdGUiOiJjYW5kaWRhdGU6MCAxIHVkcCA2NTg4ODEgMTAuMS4wLjczIDU5NjYxIHR5cCBob3N0IHJhZGRyIDAuMC4wLjAgcnBvcnQgMCBnZW5lcmF0aW9uIDAgbmV0d29yay1jb3N0IDk5OSIsInNkcE1pZCI6IjAiLCJzZHBNTGluZUluZGV4IjowfQ==","messageType":"ICE_CANDIDATE"}
2020-05-29 14:58:13.821 26826-28374/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: Ice Candidate received: SenderClientId=null
2020-05-29 14:58:13.821 26826-28374/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: {"candidate":"candidate:0 1 udp 658881 10.1.0.73 59661 typ host raddr 0.0.0.0 rport 0 generation 0 network-cost 999","sdpMid":"0","sdpMLineIndex":0}
2020-05-29 14:58:13.821 26826-28374/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: Received IceCandidate from remote
2020-05-29 14:58:13.823 26826-28374/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: Added ice candidate 0:0:candidate:0 1 udp 658881 10.1.0.73 59661 typ host raddr 0.0.0.0 rport 0 generation 0 network-cost 999: Failed
2020-05-29 14:58:13.954 26826-28338/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDuration: 4004 ms. Frames received: 104. Dropped: 0. Rendered: 27. Render fps: 6.7. Average render time: 5603 us. Average swapBuffer time: 1751 us.
2020-05-29 14:58:13.965 26826-28340/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: remote_viewDuration: 4002 ms. Frames received: 0. Dropped: 0. Rendered: 0. Render fps: .0. Average render time: NA. Average swapBuffer time: NA.
2020-05-29 14:58:13.991 26826-28373/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: Received message{"messagePayload":"eyJjYW5kaWRhdGUiOiJjYW5kaWRhdGU6MSAxIHVkcCA2NTgyMDUgNTguMzMuMjAuMTYzIDQ2MDYwIHR5cCBzcmZseCByYWRkciAwLjAuMC4wIHJwb3J0IDAgZ2VuZXJhdGlvbiAwIG5ldHdvcmstY29zdCA5OTkiLCJzZHBNaWQiOiIwIiwic2RwTUxpbmVJbmRleCI6MH0=","messageType":"ICE_CANDIDATE"}
2020-05-29 14:58:13.991 26826-28373/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: Ice Candidate received: SenderClientId=null
2020-05-29 14:58:13.991 26826-28373/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: {"candidate":"candidate:1 1 udp 658205 58.33.20.163 46060 typ srflx raddr 0.0.0.0 rport 0 generation 0 network-cost 999","sdpMid":"0","sdpMLineIndex":0}
2020-05-29 14:58:13.991 26826-28373/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: Received IceCandidate from remote
2020-05-29 14:58:13.993 26826-28373/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: Added ice candidate 0:0:candidate:1 1 udp 658205 58.33.20.163 46060 typ srflx raddr 0.0.0.0 rport 0 generation 0 network-cost 999: Failed
2020-05-29 14:58:14.067 26826-28339/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraStatistics: Camera fps: 30.
2020-05-29 14:58:14.091 26826-28374/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: Received message
2020-05-29 14:58:15.964 26826-28373/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: Received message{"messagePayload":"eyJjYW5kaWRhdGUiOiJjYW5kaWRhdGU6MiAxIHVkcCA2NTU2MDUgNTQuMTcyLjEzNi4yNDggNjMwMTQgdHlwIHJlbGF5IHJhZGRyIDAuMC4wLjAgcnBvcnQgMCBnZW5lcmF0aW9uIDAgbmV0d29yay1jb3N0IDk5OSIsInNkcE1pZCI6IjAiLCJzZHBNTGluZUluZGV4IjowfQ==","messageType":"ICE_CANDIDATE"}
2020-05-29 14:58:15.965 26826-28373/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: Ice Candidate received: SenderClientId=null
2020-05-29 14:58:15.965 26826-28373/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CustomMessageHandler: {"candidate":"candidate:2 1 udp 655605 54.172.136.248 63014 typ relay raddr 0.0.0.0 rport 0 generation 0 network-cost 999","sdpMid":"0","sdpMLineIndex":0}
2020-05-29 14:58:15.965 26826-28373/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: Received IceCandidate from remote
2020-05-29 14:58:15.967 26826-28373/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/KVSWebRtcActivity: Added ice candidate 0:0:candidate:2 1 udp 655605 54.172.136.248 63014 typ relay raddr 0.0.0.0 rport 0 generation 0 network-cost 999: Failed
2020-05-29 14:58:16.067 26826-28339/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraStatistics: Camera fps: 31.
2020-05-29 14:58:16.461 26826-27008/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 W/libEGL: EGLNativeWindowType 0x734dd24010 disconnect failed
2020-05-29 14:58:17.956 26826-28338/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDuration: 4001 ms. Frames received: 121. Dropped: 0. Rendered: 121. Render fps: 30.2. Average render time: 3550 us. Average swapBuffer time: 1822 us.
2020-05-29 14:58:17.970 26826-28340/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: remote_viewDuration: 4004 ms. Frames received: 0. Dropped: 0. Rendered: 0. Render fps: .0. Average render time: NA. Average swapBuffer time: NA.
2020-05-29 14:58:18.068 26826-28339/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraStatistics: Camera fps: 30.
2020-05-29 14:58:20.068 26826-28339/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraStatistics: Camera fps: 31.
2020-05-29 14:58:21.958 26826-28338/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDuration: 4002 ms. Frames received: 121. Dropped: 0. Rendered: 121. Render fps: 30.2. Average render time: 3512 us. Average swapBuffer time: 1841 us.
2020-05-29 14:58:21.973 26826-28340/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: remote_viewDuration: 4004 ms. Frames received: 0. Dropped: 0. Rendered: 0. Render fps: .0. Average render time: NA. Average swapBuffer time: NA.
2020-05-29 14:58:22.068 26826-28339/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraStatistics: Camera fps: 30.
2020-05-29 14:58:24.068 26826-28339/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraStatistics: Camera fps: 31.
2020-05-29 14:58:25.959 26826-28338/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDuration: 4001 ms. Frames received: 121. Dropped: 0. Rendered: 121. Render fps: 30.2. Average render time: 3477 us. Average swapBuffer time: 1798 us.
2020-05-29 14:58:25.977 26826-28340/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: remote_viewDuration: 4003 ms. Frames received: 0. Dropped: 0. Rendered: 0. Render fps: .0. Average render time: NA. Average swapBuffer time: NA.
2020-05-29 14:58:26.069 26826-28339/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraStatistics: Camera fps: 30.
2020-05-29 14:58:28.069 26826-28339/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraStatistics: Camera fps: 31.
2020-05-29 14:58:29.962 26826-28338/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDuration: 4002 ms. Frames received: 121. Dropped: 0. Rendered: 121. Render fps: 30.2. Average render time: 3489 us. Average swapBuffer time: 1823 us.
2020-05-29 14:58:29.983 26826-28340/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: remote_viewDuration: 4006 ms. Frames received: 0. Dropped: 0. Rendered: 0. Render fps: .0. Average render time: NA. Average swapBuffer time: NA.
2020-05-29 14:58:30.071 26826-28339/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraStatistics: Camera fps: 30.
2020-05-29 14:58:32.072 26826-28339/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraStatistics: Camera fps: 31.
2020-05-29 14:58:33.963 26826-28338/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDuration: 4001 ms. Frames received: 121. Dropped: 0. Rendered: 121. Render fps: 30.2. Average render time: 3501 us. Average swapBuffer time: 1799 us.
2020-05-29 14:58:33.988 26826-28340/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: remote_viewDuration: 4004 ms. Frames received: 0. Dropped: 0. Rendered: 0. Render fps: .0. Average render time: NA. Average swapBuffer time: NA.
2020-05-29 14:58:34.073 26826-28339/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraStatistics: Camera fps: 30.
2020-05-29 14:58:36.074 26826-28339/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraStatistics: Camera fps: 31.
2020-05-29 14:58:37.964 26826-28338/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDuration: 4001 ms. Frames received: 121. Dropped: 0. Rendered: 121. Render fps: 30.2. Average render time: 3469 us. Average swapBuffer time: 1805 us.
2020-05-29 14:58:37.994 26826-28340/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: remote_viewDuration: 4005 ms. Frames received: 0. Dropped: 0. Rendered: 0. Render fps: .0. Average render time: NA. Average swapBuffer time: NA.
2020-05-29 14:58:38.075 26826-28339/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraStatistics: Camera fps: 30.
2020-05-29 14:58:40.076 26826-28339/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraStatistics: Camera fps: 31.
2020-05-29 14:58:41.968 26826-28338/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDuration: 4003 ms. Frames received: 121. Dropped: 0. Rendered: 121. Render fps: 30.2. Average render time: 3562 us. Average swapBuffer time: 1823 us.
2020-05-29 14:58:42.000 26826-28340/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: remote_viewDuration: 4005 ms. Frames received: 0. Dropped: 0. Rendered: 0. Render fps: .0. Average render time: NA. Average swapBuffer time: NA.
2020-05-29 14:58:42.077 26826-28339/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraStatistics: Camera fps: 30.
2020-05-29 14:58:44.077 26826-28339/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraStatistics: Camera fps: 31.
2020-05-29 14:58:45.970 26826-28338/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDuration: 4002 ms. Frames received: 121. Dropped: 0. Rendered: 121. Render fps: 30.2. Average render time: 3464 us. Average swapBuffer time: 1786 us.
2020-05-29 14:58:46.003 26826-28340/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: remote_viewDuration: 4003 ms. Frames received: 0. Dropped: 0. Rendered: 0. Render fps: .0. Average render time: NA. Average swapBuffer time: NA.
2020-05-29 14:58:46.079 26826-28339/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraStatistics: Camera fps: 30.
2020-05-29 14:58:48.080 26826-28339/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraStatistics: Camera fps: 31.
2020-05-29 14:58:49.972 26826-28338/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDuration: 4001 ms. Frames received: 121. Dropped: 0. Rendered: 121. Render fps: 30.2. Average render time: 3527 us. Average swapBuffer time: 1810 us.
2020-05-29 14:58:50.007 26826-28340/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: remote_viewDuration: 4004 ms. Frames received: 0. Dropped: 0. Rendered: 0. Render fps: .0. Average render time: NA. Average swapBuffer time: NA.
2020-05-29 14:58:50.081 26826-28339/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraStatistics: Camera fps: 30.
2020-05-29 14:58:52.081 26826-28339/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraStatistics: Camera fps: 31.
2020-05-29 14:58:53.975 26826-28338/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDuration: 4003 ms. Frames received: 121. Dropped: 0. Rendered: 121. Render fps: 30.2. Average render time: 3506 us. Average swapBuffer time: 1830 us.
2020-05-29 14:58:54.013 26826-28340/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: remote_viewDuration: 4005 ms. Frames received: 0. Dropped: 0. Rendered: 0. Render fps: .0. Average render time: NA. Average swapBuffer time: NA.
2020-05-29 14:58:54.087 26826-28339/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraStatistics: Camera fps: 30.
2020-05-29 14:58:56.087 26826-28339/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: CameraStatistics: Camera fps: 31.
2020-05-29 14:58:57.978 26826-28338/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: local_viewDuration: 4002 ms. Frames received: 121. Dropped: 0. Rendered: 121. Render fps: 30.2. Average render time: 3544 us. Average swapBuffer time: 1849 us.
2020-05-29 14:58:58.022 26826-28340/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/org.webrtc.Logging: EglRenderer: remote_viewDuration: 4008 ms. Frames received: 0. Dropped: 0. Rendered: 0. Render fps: .0. Average render time: NA. Average swapBuffer time: NA.

log as mentioned above。can‘t see the remote video view。

Proguard Rules

Hello engineers, please add the Proguard Rules, that's very important!

DemoApp not connecting after 10 minutes

Hi,
I updated my code on android to use KVS-WebRTC as viewer. In IOS everything works fine. I have a web page as Master doing the PING to not disconnect in the room. I took the WebRTCActivity.java and inserted that in my code. When the android viewer connects until 10 minutes of room is created everything is fine. After this period a black screen in video happens. Below the log of KVSWebRtcActivity when it works and not.

Before 10 minutes:
#Example 1

2021-03-02 12:59:45.748 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: IceServer details (TURN) = [turn:54-152-172-156.t-a8a6aff8.kinesisvideo.us-east-1.amazonaws.com:443?transport=udp, turns:54-152-172-156.t-a8a6aff8.kinesisvideo.us-east-1.amazonaws.com:443?transport=udp, turns:54-152-172-156.t-a8a6aff8.kinesisvideo.us-east-1.amazonaws.com:443?transport=tcp] [1614701086:djE6YXJuOmF3czpraW5lc2lzdmlkZW86dXMtZWFzdC0xOjE5ODE4NzMxNDQxOTpjaGFubmVsLzcwMmI5ZDFlLWNmZjctNDlmMS1hYzZlLTk4N2JkNzg2NzYxMi8xNjE0NjEwOTQ2ODEz:6TZqR+RTBWofTXDtIsAsyVKvhnm0mALDuuUNV3XwbC0=] [TLS_CERT_POLICY_SECURE] [] [null] [null]
2021-03-02 12:59:45.750 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: IceServer details (TURN) = [turn:35-174-241-177.t-a8a6aff8.kinesisvideo.us-east-1.amazonaws.com:443?transport=udp, turns:35-174-241-177.t-a8a6aff8.kinesisvideo.us-east-1.amazonaws.com:443?transport=udp, turns:35-174-241-177.t-a8a6aff8.kinesisvideo.us-east-1.amazonaws.com:443?transport=tcp] [1614701086:djE6YXJuOmF3czpraW5lc2lzdmlkZW86dXMtZWFzdC0xOjE5ODE4NzMxNDQxOTpjaGFubmVsLzcwMmI5ZDFlLWNmZjctNDlmMS1hYzZlLTk4N2JkNzg2NzYxMi8xNjE0NjEwOTQ2ODEz:/fL9gtmoOkRghJSpGbWs3jrq1BqhnUVPd/GrB/LqbLE=] [TLS_CERT_POLICY_SECURE] [] [null] [null]
2021-03-02 12:59:45.774 2675-2675/com.betteryoo.betteryoo I/org.webrtc.Logging: KVSWebRtcActivity: Create camera
2021-03-02 12:59:45.789 2675-2675/com.betteryoo.betteryoo I/org.webrtc.Logging: KVSWebRtcActivity: Enumerating cameras
2021-03-02 12:59:45.809 2675-2675/com.betteryoo.betteryoo I/org.webrtc.Logging: KVSWebRtcActivity: Camera created
2021-03-02 12:59:48.920 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: Client connection Successful
2021-03-02 12:59:48.921 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: Client connected to Signaling service true
2021-03-02 12:59:48.921 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: Signaling service is connected: Sending offer as viewer to remote peer
2021-03-02 12:59:48.953 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: Data channel addDataChannelToLocalPeer
2021-03-02 12:59:48.956 2675-9849/com.betteryoo.betteryoo D/KVSWebRtcActivity: Stats: RTCPeerConnection ,{ timestampUs: 1614700788950518, type: peer-connection, id: RTCPeerConnection, dataChannelsOpened: 0, dataChannelsClosed: 0 }
2021-03-02 12:59:48.996 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending audio track 
2021-03-02 12:59:49.407 2675-9849/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:841689039 1 udp 2122260223 10.0.2.16 60077 typ host generation 0 ufrag uLdp network-id 5 network-cost 10:
2021-03-02 12:59:49.443 2675-9849/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:1332936800 1 udp 2122187263 fec0::ddc:c823:b1f2:42bd 46961 typ host generation 0 ufrag uLdp network-id 6 network-cost 10:
2021-03-02 12:59:49.475 2675-9849/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:1847424209 1 tcp 1518149375 10.0.2.15 9 typ host tcptype active generation 0 ufrag uLdp network-id 3 network-cost 900:
2021-03-02 12:59:49.494 2675-9849/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:359683085 1 tcp 1518076415 fec0::1426:14ff:fe9c:6b02 9 typ host tcptype active generation 0 ufrag uLdp network-id 4 network-cost 900:
2021-03-02 12:59:49.716 2675-9849/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:842163049 1 udp 1686052607 3.232.77.102 49468 typ srflx raddr 10.0.2.16 rport 60077 generation 0 ufrag uLdp network-id 5 network-cost 10:stun:3.216.237.232:443
2021-03-02 12:59:50.013 2675-9849/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:1059608767 1 udp 41885695 54.152.172.156 53727 typ relay raddr 3.232.77.102 rport 8462 generation 0 ufrag uLdp network-id 5 network-cost 10:turn:54.152.172.156:443?transport=udp
2021-03-02 12:59:50.050 2675-9849/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:2119655509 1 udp 41885439 35.174.241.177 56926 typ relay raddr 3.232.77.102 rport 57555 generation 0 ufrag uLdp network-id 5 network-cost 10:turn:35.174.241.177:443?transport=udp
2021-03-02 12:59:50.838 2675-9871/com.betteryoo.betteryoo D/KVSWebRtcActivity: Received IceCandidate from remote 
2021-03-02 12:59:50.850 2675-9871/com.betteryoo.betteryoo D/KVSWebRtcActivity: SDP exchange is not complete. Ice candidate 0:0:candidate:2602892196 1 udp 2122260223 192.168.100.185 57213 typ host generation 0 ufrag GWWT network-id 1: + added to pending queue
2021-03-02 12:59:50.960 2675-9870/com.betteryoo.betteryoo D/KVSWebRtcActivity: SDP answer received from signaling
2021-03-02 12:59:51.175 2675-9849/com.betteryoo.betteryoo D/KVSWebRtcActivity: Adding remote video stream (and audio) to the view
2021-03-02 12:59:51.180 2675-9849/com.betteryoo.betteryoo D/KVSWebRtcActivity: remoteAudioTrack received: State=LIVE
2021-03-02 12:59:51.249 2675-9870/com.betteryoo.betteryoo D/KVSWebRtcActivity: Answer Client ID: null
2021-03-02 12:59:51.251 2675-9870/com.betteryoo.betteryoo D/KVSWebRtcActivity: Pending ice candidates found? [0:0:candidate:2602892196 1 udp 2122260223 192.168.100.185 57213 typ host generation 0 ufrag GWWT network-id 1:]
2021-03-02 12:59:51.253 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: remoteVideoTrackId=4d284aac-9cee-400a-8720-bd5a882d77fc videoTrackState=LIVE
2021-03-02 12:59:51.259 2675-9870/com.betteryoo.betteryoo D/KVSWebRtcActivity: Added ice candidate after SDP exchange 0:0:candidate:2602892196 1 udp 2122260223 192.168.100.185 57213 typ host generation 0 ufrag GWWT network-id 1: Successfully
2021-03-02 12:59:51.341 2675-9871/com.betteryoo.betteryoo D/KVSWebRtcActivity: Received IceCandidate from remote 
2021-03-02 12:59:51.358 2675-9871/com.betteryoo.betteryoo D/KVSWebRtcActivity: Peer connection found already
2021-03-02 12:59:51.378 2675-9871/com.betteryoo.betteryoo D/KVSWebRtcActivity: Added ice candidate 0:0:candidate:3584493396 1 tcp 1518280447 192.168.100.185 9 typ host tcptype active generation 0 ufrag GWWT network-id 1: Successfully
2021-03-02 12:59:51.444 2675-9871/com.betteryoo.betteryoo D/KVSWebRtcActivity: Received IceCandidate from remote 
2021-03-02 12:59:51.455 2675-9871/com.betteryoo.betteryoo D/KVSWebRtcActivity: Peer connection found already
2021-03-02 12:59:51.476 2675-9871/com.betteryoo.betteryoo D/KVSWebRtcActivity: Added ice candidate 0:0:candidate:4061227936 1 udp 41886719 54.89.133.245 64825 typ relay raddr 179.190.53.195 rport 57213 generation 0 ufrag GWWT network-id 1: Successfully
2021-03-02 12:59:51.524 2675-9871/com.betteryoo.betteryoo D/KVSWebRtcActivity: Received IceCandidate from remote 
2021-03-02 12:59:51.532 2675-9871/com.betteryoo.betteryoo D/KVSWebRtcActivity: Peer connection found already
2021-03-02 12:59:51.539 2675-9871/com.betteryoo.betteryoo D/KVSWebRtcActivity: Added ice candidate 0:0:candidate:3333474896 1 udp 41885951 34.224.102.44 52493 typ relay raddr 179.190.53.195 rport 57213 generation 0 ufrag GWWT network-id 1: Successfully
2021-03-02 12:59:51.619 2675-9870/com.betteryoo.betteryoo D/KVSWebRtcActivity: Received IceCandidate from remote 
2021-03-02 12:59:51.627 2675-9870/com.betteryoo.betteryoo D/KVSWebRtcActivity: Peer connection found already
2021-03-02 12:59:51.635 2675-9870/com.betteryoo.betteryoo D/KVSWebRtcActivity: Added ice candidate 0:0:candidate:2718161445 1 udp 8331775 54.89.133.245 64290 typ relay raddr 179.190.53.195 rport 56330 generation 0 ufrag GWWT network-id 1: Successfully
2021-03-02 12:59:51.660 2675-9870/com.betteryoo.betteryoo D/KVSWebRtcActivity: Received IceCandidate from remote 
2021-03-02 12:59:51.670 2675-9870/com.betteryoo.betteryoo D/KVSWebRtcActivity: Peer connection found already
2021-03-02 12:59:51.677 2675-9870/com.betteryoo.betteryoo D/KVSWebRtcActivity: Added ice candidate 0:0:candidate:2718161445 1 udp 8332031 54.89.133.245 53313 typ relay raddr 179.190.53.195 rport 56329 generation 0 ufrag GWWT network-id 1: Successfully
2021-03-02 12:59:51.720 2675-9871/com.betteryoo.betteryoo D/KVSWebRtcActivity: Received IceCandidate from remote 
2021-03-02 12:59:51.738 2675-9871/com.betteryoo.betteryoo D/KVSWebRtcActivity: Peer connection found already
2021-03-02 12:59:51.748 2675-9871/com.betteryoo.betteryoo D/KVSWebRtcActivity: Added ice candidate 0:0:candidate:2527230933 1 udp 8331263 34.224.102.44 64467 typ relay raddr 179.190.53.195 rport 56331 generation 0 ufrag GWWT network-id 1: Successfully
2021-03-02 12:59:51.798 2675-9870/com.betteryoo.betteryoo D/KVSWebRtcActivity: Received IceCandidate from remote 
2021-03-02 12:59:51.805 2675-9870/com.betteryoo.betteryoo D/KVSWebRtcActivity: Peer connection found already
2021-03-02 12:59:51.815 2675-9870/com.betteryoo.betteryoo D/KVSWebRtcActivity: Added ice candidate 0:0:candidate:2527230933 1 udp 8331007 34.224.102.44 57917 typ relay raddr 179.190.53.195 rport 56332 generation 0 ufrag GWWT network-id 1: Successfully
2021-03-02 12:59:52.486 2675-9849/com.betteryoo.betteryoo D/KVSWebRtcActivity: Local Data Channel onStateChange: state: OPEN

#Example 2

2021-03-02 13:00:40.285 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: IceServer details (TURN) = [turn:3-231-105-255.t-a8a6aff8.kinesisvideo.us-east-1.amazonaws.com:443?transport=udp, turns:3-231-105-255.t-a8a6aff8.kinesisvideo.us-east-1.amazonaws.com:443?transport=udp, turns:3-231-105-255.t-a8a6aff8.kinesisvideo.us-east-1.amazonaws.com:443?transport=tcp] [1614701139:djE6YXJuOmF3czpraW5lc2lzdmlkZW86dXMtZWFzdC0xOjE5ODE4NzMxNDQxOTpjaGFubmVsLzcwMmI5ZDFlLWNmZjctNDlmMS1hYzZlLTk4N2JkNzg2NzYxMi8xNjE0NjEwOTQ2ODEz:qeAIJxVsu2K1vK2mxTPcbcuTvNeISZoz/rYI3oTdlFA=] [TLS_CERT_POLICY_SECURE] [] [null] [null]
2021-03-02 13:00:40.288 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: IceServer details (TURN) = [turn:34-224-102-44.t-a8a6aff8.kinesisvideo.us-east-1.amazonaws.com:443?transport=udp, turns:34-224-102-44.t-a8a6aff8.kinesisvideo.us-east-1.amazonaws.com:443?transport=udp, turns:34-224-102-44.t-a8a6aff8.kinesisvideo.us-east-1.amazonaws.com:443?transport=tcp] [1614701139:djE6YXJuOmF3czpraW5lc2lzdmlkZW86dXMtZWFzdC0xOjE5ODE4NzMxNDQxOTpjaGFubmVsLzcwMmI5ZDFlLWNmZjctNDlmMS1hYzZlLTk4N2JkNzg2NzYxMi8xNjE0NjEwOTQ2ODEz:Z3oH2JFghdZatvv7NxTPKpsi/Az5SHvAVgqXpZlGM/c=] [TLS_CERT_POLICY_SECURE] [] [null] [null]
2021-03-02 13:00:40.349 2675-2675/com.betteryoo.betteryoo I/org.webrtc.Logging: KVSWebRtcActivity: Create camera
2021-03-02 13:00:40.381 2675-2675/com.betteryoo.betteryoo I/org.webrtc.Logging: KVSWebRtcActivity: Enumerating cameras
2021-03-02 13:00:40.442 2675-2675/com.betteryoo.betteryoo I/org.webrtc.Logging: KVSWebRtcActivity: Camera created
2021-03-02 13:00:43.501 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: Client connection Successful
2021-03-02 13:00:43.503 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: Client connected to Signaling service true
2021-03-02 13:00:43.503 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: Signaling service is connected: Sending offer as viewer to remote peer
2021-03-02 13:00:43.529 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: Data channel addDataChannelToLocalPeer
2021-03-02 13:00:43.540 2675-9972/com.betteryoo.betteryoo D/KVSWebRtcActivity: Stats: RTCPeerConnection ,{ timestampUs: 1614700843523315, type: peer-connection, id: RTCPeerConnection, dataChannelsOpened: 0, dataChannelsClosed: 0 }
2021-03-02 13:00:43.557 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending audio track 
2021-03-02 13:00:44.122 2675-9972/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:841689039 1 udp 2122260223 10.0.2.16 37516 typ host generation 0 ufrag k4Sg network-id 5 network-cost 10:
2021-03-02 13:00:44.141 2675-9972/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:1332936800 1 udp 2122187263 fec0::ddc:c823:b1f2:42bd 38383 typ host generation 0 ufrag k4Sg network-id 6 network-cost 10:
2021-03-02 13:00:44.158 2675-9972/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:1847424209 1 tcp 1518149375 10.0.2.15 9 typ host tcptype active generation 0 ufrag k4Sg network-id 3 network-cost 900:
2021-03-02 13:00:44.174 2675-9972/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:359683085 1 tcp 1518076415 fec0::1426:14ff:fe9c:6b02 9 typ host tcptype active generation 0 ufrag k4Sg network-id 4 network-cost 900:
2021-03-02 13:00:44.196 2675-9972/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:842163049 1 udp 1686052607 3.232.77.102 57338 typ srflx raddr 10.0.2.16 rport 37516 generation 0 ufrag k4Sg network-id 5 network-cost 10:stun:3.216.237.232:443
2021-03-02 13:00:44.839 2675-9972/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:3333474896 1 udp 41885439 34.224.102.44 55689 typ relay raddr 3.232.77.102 rport 3901 generation 0 ufrag k4Sg network-id 5 network-cost 10:turn:34.224.102.44:443?transport=udp
2021-03-02 13:00:44.880 2675-9972/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:393344799 1 udp 41885695 3.231.105.255 55370 typ relay raddr 3.232.77.102 rport 31223 generation 0 ufrag k4Sg network-id 5 network-cost 10:turn:3.231.105.255:443?transport=udp
2021-03-02 13:00:45.495 2675-9993/com.betteryoo.betteryoo D/KVSWebRtcActivity: Received IceCandidate from remote 
2021-03-02 13:00:45.504 2675-9993/com.betteryoo.betteryoo D/KVSWebRtcActivity: SDP exchange is not complete. Ice candidate 0:0:candidate:2602892196 1 udp 2122260223 192.168.100.185 60236 typ host generation 0 ufrag KwZQ network-id 1: + added to pending queue
2021-03-02 13:00:45.555 2675-9992/com.betteryoo.betteryoo D/KVSWebRtcActivity: Received IceCandidate from remote 
2021-03-02 13:00:45.563 2675-9992/com.betteryoo.betteryoo D/KVSWebRtcActivity: SDP exchange is not complete. Ice candidate 0:0:candidate:3584493396 1 tcp 1518280447 192.168.100.185 9 typ host tcptype active generation 0 ufrag KwZQ network-id 1: + added to pending queue
2021-03-02 13:00:45.671 2675-9992/com.betteryoo.betteryoo D/KVSWebRtcActivity: SDP answer received from signaling
2021-03-02 13:00:45.859 2675-9972/com.betteryoo.betteryoo D/KVSWebRtcActivity: Adding remote video stream (and audio) to the view
2021-03-02 13:00:45.860 2675-9972/com.betteryoo.betteryoo D/KVSWebRtcActivity: remoteAudioTrack received: State=LIVE
2021-03-02 13:00:45.891 2675-9992/com.betteryoo.betteryoo D/KVSWebRtcActivity: Answer Client ID: null
2021-03-02 13:00:45.894 2675-9992/com.betteryoo.betteryoo D/KVSWebRtcActivity: Pending ice candidates found? [0:0:candidate:2602892196 1 udp 2122260223 192.168.100.185 60236 typ host generation 0 ufrag KwZQ network-id 1:, 0:0:candidate:3584493396 1 tcp 1518280447 192.168.100.185 9 typ host tcptype active generation 0 ufrag KwZQ network-id 1:]
2021-03-02 13:00:45.896 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: remoteVideoTrackId=0bf29ad6-31c5-4397-86d4-d8ff8a688e13 videoTrackState=LIVE
2021-03-02 13:00:45.900 2675-9992/com.betteryoo.betteryoo D/KVSWebRtcActivity: Added ice candidate after SDP exchange 0:0:candidate:2602892196 1 udp 2122260223 192.168.100.185 60236 typ host generation 0 ufrag KwZQ network-id 1: Successfully
2021-03-02 13:00:45.909 2675-9992/com.betteryoo.betteryoo D/KVSWebRtcActivity: Added ice candidate after SDP exchange 0:0:candidate:3584493396 1 tcp 1518280447 192.168.100.185 9 typ host tcptype active generation 0 ufrag KwZQ network-id 1: Successfully
2021-03-02 13:00:45.946 2675-9993/com.betteryoo.betteryoo D/KVSWebRtcActivity: Received IceCandidate from remote 
2021-03-02 13:00:45.957 2675-9993/com.betteryoo.betteryoo D/KVSWebRtcActivity: Peer connection found already
2021-03-02 13:00:45.966 2675-9993/com.betteryoo.betteryoo D/KVSWebRtcActivity: Added ice candidate 0:0:candidate:4061227936 1 udp 41886719 54.89.133.245 63572 typ relay raddr 179.190.53.195 rport 60236 generation 0 ufrag KwZQ network-id 1: Successfully
2021-03-02 13:00:45.990 2675-9993/com.betteryoo.betteryoo D/KVSWebRtcActivity: Received IceCandidate from remote 
2021-03-02 13:00:46.001 2675-9993/com.betteryoo.betteryoo D/KVSWebRtcActivity: Peer connection found already
2021-03-02 13:00:46.007 2675-9993/com.betteryoo.betteryoo D/KVSWebRtcActivity: Added ice candidate 0:0:candidate:3333474896 1 udp 41885951 34.224.102.44 61591 typ relay raddr 179.190.53.195 rport 60236 generation 0 ufrag KwZQ network-id 1: Successfully
2021-03-02 13:00:46.073 2675-9992/com.betteryoo.betteryoo D/KVSWebRtcActivity: Received IceCandidate from remote 
2021-03-02 13:00:46.087 2675-9992/com.betteryoo.betteryoo D/KVSWebRtcActivity: Peer connection found already
2021-03-02 13:00:46.093 2675-9992/com.betteryoo.betteryoo D/KVSWebRtcActivity: Added ice candidate 0:0:candidate:2718161445 1 udp 8331775 54.89.133.245 57304 typ relay raddr 179.190.53.195 rport 56364 generation 0 ufrag KwZQ network-id 1: Successfully
2021-03-02 13:00:46.157 2675-9993/com.betteryoo.betteryoo D/KVSWebRtcActivity: Received IceCandidate from remote 
2021-03-02 13:00:46.170 2675-9993/com.betteryoo.betteryoo D/KVSWebRtcActivity: Peer connection found already
2021-03-02 13:00:46.178 2675-9993/com.betteryoo.betteryoo D/KVSWebRtcActivity: Added ice candidate 0:0:candidate:2527230933 1 udp 8331007 34.224.102.44 64620 typ relay raddr 179.190.53.195 rport 56366 generation 0 ufrag KwZQ network-id 1: Successfully
2021-03-02 13:00:46.208 2675-9993/com.betteryoo.betteryoo D/KVSWebRtcActivity: Received IceCandidate from remote 
2021-03-02 13:00:46.218 2675-9993/com.betteryoo.betteryoo D/KVSWebRtcActivity: Peer connection found already
2021-03-02 13:00:46.227 2675-9993/com.betteryoo.betteryoo D/KVSWebRtcActivity: Added ice candidate 0:0:candidate:2527230933 1 udp 8331263 34.224.102.44 51467 typ relay raddr 179.190.53.195 rport 56365 generation 0 ufrag KwZQ network-id 1: Successfully
2021-03-02 13:00:46.250 2675-9993/com.betteryoo.betteryoo D/KVSWebRtcActivity: Received IceCandidate from remote 
2021-03-02 13:00:46.265 2675-9993/com.betteryoo.betteryoo D/KVSWebRtcActivity: Peer connection found already
2021-03-02 13:00:46.271 2675-9993/com.betteryoo.betteryoo D/KVSWebRtcActivity: Added ice candidate 0:0:candidate:2718161445 1 udp 8332031 54.89.133.245 58136 typ relay raddr 179.190.53.195 rport 56363 generation 0 ufrag KwZQ network-id 1: Successfully
2021-03-02 13:00:47.028 2675-9972/com.betteryoo.betteryoo D/KVSWebRtcActivity: Local Data Channel onStateChange: state: OPEN

After 10 minutes (Black video screen)
#Example 3

2021-03-02 12:48:33.537 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: IceServer details (TURN) = [turn:3-231-105-255.t-a8a6aff8.kinesisvideo.us-east-1.amazonaws.com:443?transport=udp, turns:3-231-105-255.t-a8a6aff8.kinesisvideo.us-east-1.amazonaws.com:443?transport=udp, turns:3-231-105-255.t-a8a6aff8.kinesisvideo.us-east-1.amazonaws.com:443?transport=tcp] [1614700413:djE6YXJuOmF3czpraW5lc2lzdmlkZW86dXMtZWFzdC0xOjE5ODE4NzMxNDQxOTpjaGFubmVsLzcwMmI5ZDFlLWNmZjctNDlmMS1hYzZlLTk4N2JkNzg2NzYxMi8xNjE0NjEwOTQ2ODEz:Ppw4XmHSq8vbDn/8pFYKnJ7XeLhob9iieQ+PzEm6gUw=] [TLS_CERT_POLICY_SECURE] [] [null] [null]
2021-03-02 12:48:33.538 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: IceServer details (TURN) = [turn:34-224-102-44.t-a8a6aff8.kinesisvideo.us-east-1.amazonaws.com:443?transport=udp, turns:34-224-102-44.t-a8a6aff8.kinesisvideo.us-east-1.amazonaws.com:443?transport=udp, turns:34-224-102-44.t-a8a6aff8.kinesisvideo.us-east-1.amazonaws.com:443?transport=tcp] [1614700413:djE6YXJuOmF3czpraW5lc2lzdmlkZW86dXMtZWFzdC0xOjE5ODE4NzMxNDQxOTpjaGFubmVsLzcwMmI5ZDFlLWNmZjctNDlmMS1hYzZlLTk4N2JkNzg2NzYxMi8xNjE0NjEwOTQ2ODEz:h3XKNkkrAs40E43AyEdQ1Osrb/2Cng3q3Mr1L2KDeIc=] [TLS_CERT_POLICY_SECURE] [] [null] [null]
2021-03-02 12:48:33.561 2675-2675/com.betteryoo.betteryoo I/org.webrtc.Logging: KVSWebRtcActivity: Create camera
2021-03-02 12:48:33.573 2675-2675/com.betteryoo.betteryoo I/org.webrtc.Logging: KVSWebRtcActivity: Enumerating cameras
2021-03-02 12:48:33.589 2675-2675/com.betteryoo.betteryoo I/org.webrtc.Logging: KVSWebRtcActivity: Camera created
2021-03-02 12:48:35.638 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: Client connection Successful
2021-03-02 12:48:35.639 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: Client connected to Signaling service true
2021-03-02 12:48:35.639 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: Signaling service is connected: Sending offer as viewer to remote peer
2021-03-02 12:48:35.659 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: Data channel addDataChannelToLocalPeer
2021-03-02 12:48:35.662 2675-9575/com.betteryoo.betteryoo D/KVSWebRtcActivity: Stats: RTCPeerConnection ,{ timestampUs: 1614700115657749, type: peer-connection, id: RTCPeerConnection, dataChannelsOpened: 0, dataChannelsClosed: 0 }
2021-03-02 12:48:35.670 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending audio track 
2021-03-02 12:48:35.764 2675-9575/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:841689039 1 udp 2122260223 10.0.2.16 44436 typ host generation 0 ufrag /Q0Q network-id 5 network-cost 10:
2021-03-02 12:48:35.770 2675-9575/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:1332936800 1 udp 2122187263 fec0::ddc:c823:b1f2:42bd 38311 typ host generation 0 ufrag /Q0Q network-id 6 network-cost 10:
2021-03-02 12:48:35.840 2675-9575/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:1847424209 1 tcp 1518149375 10.0.2.15 9 typ host tcptype active generation 0 ufrag /Q0Q network-id 3 network-cost 900:
2021-03-02 12:48:35.844 2675-9575/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:359683085 1 tcp 1518076415 fec0::1426:14ff:fe9c:6b02 9 typ host tcptype active generation 0 ufrag /Q0Q network-id 4 network-cost 900:
2021-03-02 12:48:36.248 2675-9575/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:842163049 1 udp 1686052607 3.232.77.102 12454 typ srflx raddr 10.0.2.16 rport 44436 generation 0 ufrag /Q0Q network-id 5 network-cost 10:stun:3.216.237.232:443
2021-03-02 12:48:36.386 2675-9575/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:3333474896 1 udp 41885439 34.224.102.44 59631 typ relay raddr 3.232.77.102 rport 49652 generation 0 ufrag /Q0Q network-id 5 network-cost 10:turn:34.224.102.44:443?transport=udp
2021-03-02 12:48:36.396 2675-9575/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:393344799 1 udp 41885695 3.231.105.255 55579 typ relay raddr 3.232.77.102 rport 37597 generation 0 ufrag /Q0Q network-id 5 network-cost 10:turn:3.231.105.255:443?transport=udp
2021-03-02 12:48:36.449 2675-9595/com.betteryoo.betteryoo D/KVSWebRtcActivity: Received IceCandidate from remote 
2021-03-02 12:48:46.936 2675-9595/com.betteryoo.betteryoo D/KVSWebRtcActivity: SDP exchange is not complete. Ice candidate 0:0:candidate:2602892196 1 udp 2122260223 192.168.100.185 61003 typ host generation 0 ufrag M3e1 network-id 1: + added to pending queue
2021-03-02 12:48:47.027 2675-9595/com.betteryoo.betteryoo D/KVSWebRtcActivity: SDP answer received from signaling
2021-03-02 12:48:47.133 2675-9575/com.betteryoo.betteryoo D/KVSWebRtcActivity: Adding remote video stream (and audio) to the view
2021-03-02 12:48:47.134 2675-9575/com.betteryoo.betteryoo D/KVSWebRtcActivity: remoteAudioTrack received: State=LIVE
2021-03-02 12:48:47.152 2675-9595/com.betteryoo.betteryoo D/KVSWebRtcActivity: Answer Client ID: null
2021-03-02 12:48:47.154 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: remoteVideoTrackId=bb581f96-0757-4ecb-89d8-9480d46a3861 videoTrackState=LIVE
2021-03-02 12:48:47.155 2675-9595/com.betteryoo.betteryoo D/KVSWebRtcActivity: Pending ice candidates found? [0:0:candidate:2602892196 1 udp 2122260223 192.168.100.185 61003 typ host generation 0 ufrag M3e1 network-id 1:]
2021-03-02 12:48:47.164 2675-9595/com.betteryoo.betteryoo D/KVSWebRtcActivity: Added ice candidate after SDP exchange 0:0:candidate:2602892196 1 udp 2122260223 192.168.100.185 61003 typ host generation 0 ufrag M3e1 network-id 1: Successfully
2021-03-02 12:48:47.227 2675-9596/com.betteryoo.betteryoo D/KVSWebRtcActivity: Received IceCandidate from remote 
2021-03-02 12:48:47.230 2675-9596/com.betteryoo.betteryoo D/KVSWebRtcActivity: Peer connection found already
2021-03-02 12:48:47.234 2675-9596/com.betteryoo.betteryoo D/KVSWebRtcActivity: Added ice candidate 0:0:candidate:3584493396 1 tcp 1518280447 192.168.100.185 9 typ host tcptype active generation 0 ufrag M3e1 network-id 1: Successfully

#Example 4

2021-03-02 12:49:55.390 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: IceServer details (TURN) = [turn:35-174-241-177.t-a8a6aff8.kinesisvideo.us-east-1.amazonaws.com:443?transport=udp, turns:35-174-241-177.t-a8a6aff8.kinesisvideo.us-east-1.amazonaws.com:443?transport=udp, turns:35-174-241-177.t-a8a6aff8.kinesisvideo.us-east-1.amazonaws.com:443?transport=tcp] [1614700496:djE6YXJuOmF3czpraW5lc2lzdmlkZW86dXMtZWFzdC0xOjE5ODE4NzMxNDQxOTpjaGFubmVsLzcwMmI5ZDFlLWNmZjctNDlmMS1hYzZlLTk4N2JkNzg2NzYxMi8xNjE0NjEwOTQ2ODEz:tyCTdqHvXwSNnmAK+CqiKIn+i/SKAETZrBcs/yn3X+8=] [TLS_CERT_POLICY_SECURE] [] [null] [null]
2021-03-02 12:49:55.394 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: IceServer details (TURN) = [turn:54-234-170-211.t-a8a6aff8.kinesisvideo.us-east-1.amazonaws.com:443?transport=udp, turns:54-234-170-211.t-a8a6aff8.kinesisvideo.us-east-1.amazonaws.com:443?transport=udp, turns:54-234-170-211.t-a8a6aff8.kinesisvideo.us-east-1.amazonaws.com:443?transport=tcp] [1614700496:djE6YXJuOmF3czpraW5lc2lzdmlkZW86dXMtZWFzdC0xOjE5ODE4NzMxNDQxOTpjaGFubmVsLzcwMmI5ZDFlLWNmZjctNDlmMS1hYzZlLTk4N2JkNzg2NzYxMi8xNjE0NjEwOTQ2ODEz:K2RZsVUDyMBCIoftgUvJGboCGYn4OW6pDYWVoBqRKmM=] [TLS_CERT_POLICY_SECURE] [] [null] [null]
2021-03-02 12:49:55.443 2675-2675/com.betteryoo.betteryoo I/org.webrtc.Logging: KVSWebRtcActivity: Create camera
2021-03-02 12:49:55.478 2675-2675/com.betteryoo.betteryoo I/org.webrtc.Logging: KVSWebRtcActivity: Enumerating cameras
2021-03-02 12:49:55.540 2675-2675/com.betteryoo.betteryoo I/org.webrtc.Logging: KVSWebRtcActivity: Camera created
2021-03-02 12:49:59.493 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: Client connection Successful
2021-03-02 12:49:59.497 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: Client connected to Signaling service true
2021-03-02 12:49:59.497 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: Signaling service is connected: Sending offer as viewer to remote peer
2021-03-02 12:49:59.526 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: Data channel addDataChannelToLocalPeer
2021-03-02 12:49:59.567 2675-9691/com.betteryoo.betteryoo D/KVSWebRtcActivity: Stats: RTCPeerConnection ,{ timestampUs: 1614700199523305, type: peer-connection, id: RTCPeerConnection, dataChannelsOpened: 0, dataChannelsClosed: 0 }
2021-03-02 12:49:59.599 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending audio track 
2021-03-02 12:50:00.046 2675-9691/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:841689039 1 udp 2122260223 10.0.2.16 36171 typ host generation 0 ufrag 2JUT network-id 5 network-cost 10:
2021-03-02 12:50:00.065 2675-9691/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:1332936800 1 udp 2122187263 fec0::ddc:c823:b1f2:42bd 59677 typ host generation 0 ufrag 2JUT network-id 6 network-cost 10:
2021-03-02 12:50:00.091 2675-9691/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:1847424209 1 tcp 1518149375 10.0.2.15 9 typ host tcptype active generation 0 ufrag 2JUT network-id 3 network-cost 900:
2021-03-02 12:50:00.106 2675-9691/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:359683085 1 tcp 1518076415 fec0::1426:14ff:fe9c:6b02 9 typ host tcptype active generation 0 ufrag 2JUT network-id 4 network-cost 900:
2021-03-02 12:50:00.340 2675-9691/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:842163049 1 udp 1686052607 3.232.77.102 62604 typ srflx raddr 10.0.2.16 rport 36171 generation 0 ufrag 2JUT network-id 5 network-cost 10:stun:34.234.148.89:443
2021-03-02 12:50:00.490 2675-9691/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:2119655509 1 udp 41885695 35.174.241.177 53767 typ relay raddr 3.232.77.102 rport 48068 generation 0 ufrag 2JUT network-id 5 network-cost 10:turn:35.174.241.177:443?transport=udp
2021-03-02 12:50:00.762 2675-9691/com.betteryoo.betteryoo D/KVSWebRtcActivity: Sending IceCandidate to remote peer 0:0:candidate:1037372253 1 udp 41885439 54.234.170.211 58655 typ relay raddr 3.232.77.102 rport 25896 generation 0 ufrag 2JUT network-id 5 network-cost 10:turn:54.234.170.211:443?transport=udp
2021-03-02 12:50:01.493 2675-9712/com.betteryoo.betteryoo D/KVSWebRtcActivity: Received IceCandidate from remote 
2021-03-02 12:50:01.503 2675-9712/com.betteryoo.betteryoo D/KVSWebRtcActivity: SDP exchange is not complete. Ice candidate 0:0:candidate:2602892196 1 udp 2122260223 192.168.100.185 56508 typ host generation 0 ufrag LFIS network-id 1: + added to pending queue
2021-03-02 12:50:01.598 2675-9711/com.betteryoo.betteryoo D/KVSWebRtcActivity: SDP answer received from signaling
2021-03-02 12:50:01.791 2675-9691/com.betteryoo.betteryoo D/KVSWebRtcActivity: Adding remote video stream (and audio) to the view
2021-03-02 12:50:01.792 2675-9691/com.betteryoo.betteryoo D/KVSWebRtcActivity: remoteAudioTrack received: State=LIVE
2021-03-02 12:50:01.822 2675-9711/com.betteryoo.betteryoo D/KVSWebRtcActivity: Answer Client ID: null
2021-03-02 12:50:01.823 2675-2675/com.betteryoo.betteryoo D/KVSWebRtcActivity: remoteVideoTrackId=ac893406-4f43-4506-9f79-b4f872d3d4c2 videoTrackState=LIVE
2021-03-02 12:50:01.823 2675-9711/com.betteryoo.betteryoo D/KVSWebRtcActivity: Pending ice candidates found? [0:0:candidate:2602892196 1 udp 2122260223 192.168.100.185 56508 typ host generation 0 ufrag LFIS network-id 1:]
2021-03-02 12:50:01.843 2675-9711/com.betteryoo.betteryoo D/KVSWebRtcActivity: Added ice candidate after SDP exchange 0:0:candidate:2602892196 1 udp 2122260223 192.168.100.185 56508 typ host generation 0 ufrag LFIS network-id 1: Successfully
2021-03-02 12:50:01.931 2675-9712/com.betteryoo.betteryoo D/KVSWebRtcActivity: Received IceCandidate from remote 
2021-03-02 12:50:01.943 2675-9712/com.betteryoo.betteryoo D/KVSWebRtcActivity: Peer connection found already
2021-03-02 12:50:01.953 2675-9712/com.betteryoo.betteryoo D/KVSWebRtcActivity: Added ice candidate 0:0:candidate:3584493396 1 tcp 1518280447 192.168.100.185 9 typ host tcptype active generation 0 ufrag LFIS network-id 1: Successfully

KVSPeerConnection logs:
After 10 minutes of Master opened channel:

D/KVSPeerConnection: onRenegotiationNeeded():
D/KVSPeerConnection: onSignalingChange(): signalingState = [HAVE_LOCAL_OFFER]
D/KVSPeerConnection: onIceGatheringChange(): iceGatheringState = [GATHERING]
D/KVSPeerConnection: onIceCandidate(): iceCandidate = [0:0:candidate:841689039 1 udp 2122260223 10.0.2.16 59833 typ host generation 0 ufrag 8Jma network-id 5 network-cost 10:]
D/KVSPeerConnection: onIceCandidate(): iceCandidate = [0:0:candidate:1332936800 1 udp 2122187263 fec0::ddc:c823:b1f2:42bd 45371 typ host generation 0 ufrag 8Jma network-id 6 network-cost 10:]
D/KVSPeerConnection: onIceCandidate(): iceCandidate = [0:0:candidate:1847424209 1 tcp 1518149375 10.0.2.15 9 typ host tcptype active generation 0 ufrag 8Jma network-id 3 network-cost 900:]
D/KVSPeerConnection: onIceCandidate(): iceCandidate = [0:0:candidate:359683085 1 tcp 1518076415 fec0::1426:14ff:fe9c:6b02 9 typ host tcptype active generation 0 ufrag 8Jma network-id 4 network-cost 900:]
D/KVSPeerConnection: onIceCandidate(): iceCandidate = [0:0:candidate:842163049 1 udp 1686052607 3.232.77.102 60350 typ srflx raddr 10.0.2.16 rport 59833 generation 0 ufrag 8Jma network-id 5 network-cost 10:stun:3.217.8.220:443]
D/KVSPeerConnection: onSignalingChange(): signalingState = [STABLE]
D/KVSPeerConnection: onIceConnectionChange(): iceConnectionState = [CHECKING]
D/KVSPeerConnection: onAddTrack(): rtpReceiver = [org.webrtc.RtpReceiver@4f8439d], mediaStreams Length = [1]
D/KVSPeerConnection: onAddTrack(): rtpReceiver = [org.webrtc.RtpReceiver@abcd012], mediaStreams Length = [1]
D/KVSPeerConnection: onAddStream(): mediaStream = [[bNTKNR9Q0zCaDdKusCqrVWi89t91k7by3n4Y:A=1:V=1]]
D/KVSPeerConnection: onIceCandidate(): iceCandidate = [0:0:candidate:3333474896 1 udp 41885695 34.224.102.44 58547 typ relay raddr 3.232.77.102 rport 26196 generation 0 ufrag 8Jma network-id 5 network-cost 10:turn:34.224.102.44:443?transport=udp]
D/KVSPeerConnection: onIceCandidate(): iceCandidate = [0:0:candidate:393344799 1 udp 41885439 3.231.105.255 55334 typ relay raddr 3.232.77.102 rport 63740 generation 0 ufrag 8Jma network-id 5 network-cost 10:turn:3.231.105.255:443?transport=udp]
D/KVSPeerConnection: onIceConnectionChange(): iceConnectionState = [FAILED]
D/KVSPeerConnection: onIceConnectionChange(): iceConnectionState = [CLOSED]
D/KVSPeerConnection: onIceGatheringChange(): iceGatheringState = [COMPLETE]
D/KVSPeerConnection: onSignalingChange(): signalingState = [CLOSED]

Until 10 minutes of Master opened channel:

D/KVSPeerConnection: onRenegotiationNeeded():
D/KVSPeerConnection: onSignalingChange(): signalingState = [HAVE_LOCAL_OFFER]
D/KVSPeerConnection: onIceGatheringChange(): iceGatheringState = [GATHERING]
D/KVSPeerConnection: onIceCandidate(): iceCandidate = [0:0:candidate:841689039 1 udp 2122260223 10.0.2.16 55195 typ host generation 0 ufrag isO0 network-id 5 network-cost 10:]
D/KVSPeerConnection: onIceCandidate(): iceCandidate = [0:0:candidate:1332936800 1 udp 2122187263 fec0::ddc:c823:b1f2:42bd 35225 typ host generation 0 ufrag isO0 network-id 6 network-cost 10:]
D/KVSPeerConnection: onIceCandidate(): iceCandidate = [0:0:candidate:1847424209 1 tcp 1518149375 10.0.2.15 9 typ host tcptype active generation 0 ufrag isO0 network-id 3 network-cost 900:]
D/KVSPeerConnection: onIceCandidate(): iceCandidate = [0:0:candidate:359683085 1 tcp 1518076415 fec0::1426:14ff:fe9c:6b02 9 typ host tcptype active generation 0 ufrag isO0 network-id 4 network-cost 900:]
D/KVSPeerConnection: onIceCandidate(): iceCandidate = [0:0:candidate:842163049 1 udp 1686052607 3.232.77.102 12095 typ srflx raddr 10.0.2.16 rport 55195 generation 0 ufrag isO0 network-id 5 network-cost 10:stun:34.234.148.89:443]
D/KVSPeerConnection: onSignalingChange(): signalingState = [STABLE]
D/KVSPeerConnection: onIceConnectionChange(): iceConnectionState = [CHECKING]
D/KVSPeerConnection: onAddTrack(): rtpReceiver = [org.webrtc.RtpReceiver@d60d6cd], mediaStreams Length = [1]
D/KVSPeerConnection: onAddTrack(): rtpReceiver = [org.webrtc.RtpReceiver@33c1b82], mediaStreams Length = [1]
D/KVSPeerConnection: onAddStream(): mediaStream = [[i0EiuWsL608TN2TAaBdJAk4Tbj6hqaIJR3U0:A=1:V=1]]
D/KVSPeerConnection: onIceCandidate(): iceCandidate = [0:0:candidate:1037372253 1 udp 41885439 54.234.170.211 61772 typ relay raddr 3.232.77.102 rport 38141 generation 0 ufrag isO0 network-id 5 network-cost 10:turn:54.234.170.211:443?transport=udp]
D/KVSPeerConnection: onIceCandidate(): iceCandidate = [0:0:candidate:2119655509 1 udp 41885695 35.174.241.177 59867 typ relay raddr 3.232.77.102 rport 34470 generation 0 ufrag isO0 network-id 5 network-cost 10:turn:35.174.241.177:443?transport=udp]
D/KVSPeerConnection: onIceConnectionChange(): iceConnectionState = [CONNECTED]

how to banlance webrtc & kvs cloud storage

recently i clone kvs demo and attach it with webrtc,but i found when used AndroidCameraMediaSource.setPreviewSurfaces(new Surface(SurfaceTextureHelper.getSurfaceTexture())), i got black screen on my android device,but cloud html page can view video normally,how can i fix the abnormal on my android device.

In addition,how can i change mediaSource configuration after its start.

how Android App sends offers that support H264?

We have a requirement to accept data from the camera side,
In the camera side, the supported codec type is H264, so android app need send H264 type to camera in the offer,
but From the Android log, the sent offer does not include the H264.
I want to know how Android App sends offers that support H264?

Handle caching of ICE candidates

Because of out of order signaling message delivery, it is possible that the ICE candidates arrive before the answer in trickle ICE mode and the SDK does not track these ICE candidates. In the sample, we need to implement a caching logic to store any ICE candidates that are received before getting an answer to ensure we do not lose these while creating candidate pairs. The WebRTC C SDK handles this, but other SDKs do not.

Issue reference: #44

AWS kinesis webRTC live video recording

I'm using AWS kinesis webrtc for live video calling from my android mobile phone. I would also like to record the live video. Is there any way to achieve it ?

  • A video call will be initialised from master
  • A viewer will join the call

Now I want to record the live video session between master and viewer.

iOS to S3 ??? -- "LIVE" . . .

Hi,
WebRTC iOS. . . https://docs.aws.amazon.com/kinesisvideostreams-webrtc-dg/latest/devguide/kvswebrtc-sdk-ios.html . . . Can the videos be stored to S3 . . . I just want a one way streaming. . . can this one way be saved to S3. . .

If yes. . . a) is it officially supported by AWS or b) is it a work around. . .

##########################################################################

What is Kinesis Video Streams Producer Libraries for "iOS" ???

https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/producer-sdk.html only mentions

Java Producer Library

Android Producer Library

C++ Producer Library

C Producer Library
. ..

What about iOS. . .

###################################################

In short how to send video from iOS to S3 live. . .

Minimum Memory / Storage / CPU requirements

Could you please let us know the requirements for using the WebRTC on a watch running Android?
Minimum Memory / Storage / CPU requirements ?

To be exact we want use it on a device with QC2500 platform with 8909W running LAW 3.0 (Qualcomm version of Android).

Question: How to disable TURN?

I want to disable TURN in Android SDK. Will Android SDK use P2P only by commenting out the code block below?

if (mUrisList != null) {
for (int i = 0; i < mUrisList.size(); i++) {
String turnServer = mUrisList.get(i).toString();
if( turnServer != null) {
IceServer iceServer = IceServer.builder(turnServer.replace("[", "").replace("]", ""))
.setUsername(mUserNames.get(i))
.setPassword(mPasswords.get(i))
.createIceServer();
Log.d(TAG, "IceServer details (TURN) = " + iceServer.toString());
peerIceServers.add(iceServer);
}
}
}

Environment

  • Master: Android SDK
  • Viewer: Android SDK
  • Both devices are in the same local network and have to be connected via peer-to-peer definitely.

Webrtc demo is not working for android OS 7.0 (API level 24)

Hello

I am using webrtc demo for video streaming and it is working fine on android 8 and above. However when I am trying to run the same demo in android version 7.0, it is giving me error as follow:

javax.websocket.DeploymentException: SSL handshake has failed

The device details are as follow:

  • Device name: Samsung Galaxy J7 Prime
  • OS version: 7.0

Can you please help me with this?

Thanks

Question: Can we send the stream of hardware camera connected to mobile device from webrtc?

The hardware which is raspberry pi, is connected to a mobile device via wifi-network. The hardware is connected with a camera. I am able to fetch the stream from the hardware camera and show it in a Custom SurfaceView in Android App. The requirement is that I need to send the stream of that hardware to webrtc kinesis video streams from mobile application.

Can you please guide me with this?

Thanks.

Create client failed with Failed to get credentials from Cognito Identity

Hi, I followed README document and created account / logged in successfully in sample App.
But I got an error in Step 5. when I clicked START MASTER or START VIEWER.

It showed me a dialog with text:

Create client failed with Failed to get credentials from Cognito Identity

I had filled everything in awsconfiguration.json, but still got the same error.
Should I put additional code in the sample app's project?

--
and there are the logs:

2020-02-07 18:08:07.149 24069-24367/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/AWSMobileClient: Inspecting user state details
2020-02-07 18:08:07.151 24069-24367/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 W/AWSMobileClient: Could not check if ACCESS_NETWORK_STATE permission is available.
    java.lang.ClassNotFoundException: android.support.v4.content.ContextCompat
        at java.lang.Class.classForName(Native Method)
        at java.lang.Class.forName(Class.java:454)
        at java.lang.Class.forName(Class.java:379)
        at com.amazonaws.mobile.client.AWSMobileClient.isNetworkAvailable(AWSMobileClient.java:751)
        at com.amazonaws.mobile.client.AWSMobileClient.getUserStateDetails(AWSMobileClient.java:963)
        at com.amazonaws.mobile.client.AWSMobileClient.waitForSignIn(AWSMobileClient.java:903)
        at com.amazonaws.mobile.client.AWSMobileClient.getCredentials(AWSMobileClient.java:355)
        at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment.getAwsKinesisVideoClient(StreamWebRtcConfigurationFragment.java:272)
        at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment.access$300(StreamWebRtcConfigurationFragment.java:53)
        at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment$UpdateSignalingChannelInfoTask.doInBackground(StreamWebRtcConfigurationFragment.java:315)
        at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment$UpdateSignalingChannelInfoTask.doInBackground(StreamWebRtcConfigurationFragment.java:301)
        at android.os.AsyncTask$3.call(AsyncTask.java:378)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:919)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.content.ContextCompat" on path: DexPathList[[zip file "/data/app/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24-ttKHgwh5NhSfMdsM27YbIQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24-ttKHgwh5NhSfMdsM27YbIQ==/lib/arm64, /data/app/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24-ttKHgwh5NhSfMdsM27YbIQ==/base.apk!/lib/arm64-v8a, /system/lib64, /product/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:196)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at java.lang.Class.classForName(Native Method) 
        at java.lang.Class.forName(Class.java:454) 
        at java.lang.Class.forName(Class.java:379) 
        at com.amazonaws.mobile.client.AWSMobileClient.isNetworkAvailable(AWSMobileClient.java:751) 
        at com.amazonaws.mobile.client.AWSMobileClient.getUserStateDetails(AWSMobileClient.java:963) 
        at com.amazonaws.mobile.client.AWSMobileClient.waitForSignIn(AWSMobileClient.java:903) 
        at com.amazonaws.mobile.client.AWSMobileClient.getCredentials(AWSMobileClient.java:355) 
        at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment.getAwsKinesisVideoClient(StreamWebRtcConfigurationFragment.java:272) 
        at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment.access$300(StreamWebRtcConfigurationFragment.java:53) 
        at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment$UpdateSignalingChannelInfoTask.doInBackground(StreamWebRtcConfigurationFragment.java:315) 
        at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment$UpdateSignalingChannelInfoTask.doInBackground(StreamWebRtcConfigurationFragment.java:301) 
        at android.os.AsyncTask$3.call(AsyncTask.java:378) 
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289) 
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 
        at java.lang.Thread.run(Thread.java:919) 
2020-02-07 18:08:07.152 24069-24367/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/AWSMobileClient: waitForSignIn: userState:SIGNED_OUT
2020-02-07 18:08:07.152 24069-24367/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CognitoCachingCredentialsProvider: Loading credentials from SharedPreferences
2020-02-07 18:08:07.155 24069-24367/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 E/AWSKeyValueStore: com.amazonaws.internal.keyvaluestore.KeyNotFoundException: Error occurred while accessing AndroidKeyStore to retrieve the key for keyAlias: com.amazonaws.android.auth.aesKeyStoreAlias
2020-02-07 18:08:07.155 24069-24367/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/AWSKeyValueStore: Deleting the encryption key identified by the keyAlias: com.amazonaws.android.auth.aesKeyStoreAlias
2020-02-07 18:08:07.156 24069-24367/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 E/AWSKeyValueStore: Error in retrieving the decryption key used to decrypt the data from the persistent store. Returning null for the requested dataKey = (MY PoolId here).expirationDate
2020-02-07 18:08:07.156 24069-24367/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CognitoCachingCredentialsProvider: No valid credentials found in SharedPreferences
2020-02-07 18:08:07.156 24069-24367/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CognitoCachingCredentialsProvider: Making a network call to fetch credentials.
2020-02-07 18:08:07.651 24069-24367/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CognitoCachingCredentialsProvider: Identity id is changed
2020-02-07 18:08:07.651 24069-24367/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CognitoCachingCredentialsProvider: Saving identity id to SharedPreferences
2020-02-07 18:08:07.651 24069-24367/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 D/CognitoCachingCredentialsProvider: Clearing credentials from SharedPreferences
2020-02-07 18:08:07.804 24069-24069/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 I/Choreographer: Skipped 39 frames!  The application may be doing too much work on its main thread.

Describe Signaling Channel failed 403 AccessDeniedException

I am trying to use kinesisVideoStream APi in guest mode without logging in.
but,
When I call the UpdateSignalingChannelInfoTask method, I get an AccessDeniedException (Describe Signaling Channel failed with Exception) error message.
I know this is an error because the state of userState is not authorized in the SIGNED_OUT state.
Is there a method like AWSMobileClient.default().clearCredentials() for userState value like ios? Or is there a solution?

** There is no problem with the Provider information in the awsconfiguration.json file.

Below is the code I tried.

static class UpdateSignalingChannelInfoTask extends AsyncTask<Object, String, String> {
final WeakReference mFragment;

    UpdateSignalingChannelInfoTask(final StreamWebRtcConfigurationFragment fragment) {
        mFragment = new WeakReference<>(fragment);
    }

    @Override
    protected String doInBackground(Object... objects) {
        final String region = (String) objects[0];
        final String channelName = (String) objects[1];
        final ChannelRole role = (ChannelRole) objects[2];

           **// my insert code start
           CognitoCachingCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider(
                requireContext(),
                null,
                "myIdentityPoolId",
                "myunauthRoleArn",
                "myauthRoleArn",
                Regions.AP_NORTHEAST_2
        );
        credentialsProvider.clearCredentials();
        credentialsProvider.getCredentials();
       // my insert code end**

        AWSKinesisVideoClient awsKinesisVideoClient = null;
        try {
            awsKinesisVideoClient = mFragment.get().getAwsKinesisVideoClient(region);
        } catch (Exception e) {
            return "Create client failed with " + e.getLocalizedMessage();
        }

        try {
            DescribeSignalingChannelResult describeSignalingChannelResult = awsKinesisVideoClient.describeSignalingChannel(
                    new DescribeSignalingChannelRequest()
                            .withChannelName(channelName));

            Log.i(TAG, "Channel ARN is " + describeSignalingChannelResult.getChannelInfo().getChannelARN());
            mFragment.get().mChannelArn = describeSignalingChannelResult.getChannelInfo().getChannelARN();
        } catch (final ResourceNotFoundException e) {
            if (role.equals(ChannelRole.MASTER)) {
                try {
                    CreateSignalingChannelResult createSignalingChannelResult = awsKinesisVideoClient.createSignalingChannel(
                            new CreateSignalingChannelRequest()
                                    .withChannelName(channelName));

                    mFragment.get().mChannelArn = createSignalingChannelResult.getChannelARN();
                } catch (Exception ex) {
                    return "Create Signaling Channel failed with Exception " + ex.getLocalizedMessage();
                }
            } else {
                return "Signaling Channel " + channelName +" doesn't exist!";
            }
        } catch (Exception ex) {
            return "Describe Signaling Channel failed with Exception " + ex.getLocalizedMessage();
        }

        try {
            GetSignalingChannelEndpointResult getSignalingChannelEndpointResult = awsKinesisVideoClient.getSignalingChannelEndpoint(
                    new GetSignalingChannelEndpointRequest()
                            .withChannelARN(mFragment.get().mChannelArn)
                            .withSingleMasterChannelEndpointConfiguration(
                                    new SingleMasterChannelEndpointConfiguration()
                                            .withProtocols("WSS", "HTTPS")
                                            .withRole(role)));

            Log.i(TAG, "Endpoints " + getSignalingChannelEndpointResult.toString());
            mFragment.get().mEndpointList.addAll(getSignalingChannelEndpointResult.getResourceEndpointList());
        } catch (Exception e) {
            return "Get Signaling Endpoint failed with Exception " + e.getLocalizedMessage();
        }

        String dataEndpoint = null;
        for (ResourceEndpointListItem endpoint : mFragment.get().mEndpointList) {
            if (endpoint.getProtocol().equals("HTTPS")) {
                dataEndpoint = endpoint.getResourceEndpoint();
            }
        }

        try {
            final AWSKinesisVideoSignalingClient awsKinesisVideoSignalingClient = mFragment.get().getAwsKinesisVideoSignalingClient(region, dataEndpoint);
            GetIceServerConfigResult getIceServerConfigResult = awsKinesisVideoSignalingClient.getIceServerConfig(
                    new GetIceServerConfigRequest().withChannelARN(mFragment.get().mChannelArn).withClientId(role.name()));
            mFragment.get().mIceServerList.addAll(getIceServerConfigResult.getIceServerList());
        } catch (Exception e) {
            return "Get Ice Server Config failed with Exception " + e.getLocalizedMessage();
        }

        return null;
    }

    @Override
    protected void onPostExecute(String result) {
        if (result != null) {
            AlertDialog.Builder diag = new AlertDialog.Builder(mFragment.get().getContext());
            diag.setPositiveButton("OK", null).setMessage(result).create().show();
        }
    }
}

Low Output Volume

Hi,
the volume is extremly low. How can we increase audio output volume? We tried this without any success:

remoteAudioTrack.setVolume(1.3);

"Added ice candidate Failed" when Android SDK receives ICE candidate before SDP answer

Environment

  • Master: the latest C SDK (kvsWebrtcClientMaster, hash: 5bc99c0fb)
  • Viewer: Android SDK (hash: a6da101)

When Android SDK receives ICE candidate before receiving SDP answer, it fails to add ICE candidate. (Added ice candidate ... Failed line below)

D/CustomMessageHandler: Received message{"messagePayload":"eyJjYW5kaWRhdGUiOiJjYW5kaWRhdGU6MCAxIHVkcCAyMTMwNzA2NDMxIDE3Mi4zMS4yMi4wIDUyMDMwIHR5cCBob3N0IHJhZGRyIDAuMC4wLjAgcnBvcnQgMCBnZW5lcmF0aW9uIDAgbmV0d29yay1jb3N0IDk5OSIsInNkcE1pZCI6IjAiLCJzZHBNTGluZUluZGV4IjowfQ==","messageType":"ICE_CANDIDATE"}
D/CustomMessageHandler: Ice Candidate received: SenderClientId=null
    {"candidate":"candidate:0 1 udp 2130706431 172.31.22.0 52030 typ host raddr 0.0.0.0 rport 0 generation 0 network-cost 999","sdpMid":"0","sdpMLineIndex":0}
D/KVSWebRtcActivity: Received IceCandidate from remote 
D/KVSWebRtcActivity: Added ice candidate 0:0:candidate:0 1 udp 2130706431 172.31.22.0 52030 typ host raddr 0.0.0.0 rport 0 generation 0 network-cost 999: Failed

...

D/CustomMessageHandler: Received message{"messagePayload":"..."}
D/CustomMessageHandler: Answer received: SenderClientId=null
D/KVSWebRtcActivity: SDP answer received from signaling
D/Event: SDP answer received from master:v=0

After receiving SDP answer, it succeeds to add ICE candidate. (Added ice candidate ... Successfully line below)

D/CustomMessageHandler: Received message{"messagePayload":"eyJjYW5kaWRhdGUiOiJjYW5kaWRhdGU6MSAxIHVkcCAxNjk0NDk4ODE1IDE4LjE3OS41OS4yMTQgNDM3MzMgdHlwIHNyZmx4IHJhZGRyIDAuMC4wLjAgcnBvcnQgMCBnZW5lcmF0aW9uIDAgbmV0d29yay1jb3N0IDk5OSIsInNkcE1pZCI6IjAiLCJzZHBNTGluZUluZGV4IjowfQ==","messageType":"ICE_CANDIDATE"}
    Ice Candidate received: SenderClientId=null
I/org.webrtc.Logging: SurfaceViewRenderer: remote_view: onMeasure(). New size: 1080x1815
D/CustomMessageHandler: {"candidate":"candidate:1 1 udp 1694498815 18.179.59.214 43733 typ srflx raddr 0.0.0.0 rport 0 generation 0 network-cost 999","sdpMid":"0","sdpMLineIndex":0}
D/KVSWebRtcActivity: Received IceCandidate from remote 
D/KVSWebRtcActivity: Added ice candidate 0:0:candidate:1 1 udp 1694498815 18.179.59.214 43733 typ srflx raddr 0.0.0.0 rport 0 generation 0 network-cost 999: Successfully

Does this behavior affect the Android SDK to ignore the ICE candidate which is received before SDP answer (maybe local or srflx candidate) and tend to choose relay candidate?

Is it possible to replace Tyrus with other websocket clients?

Hi,
I found that Tyrus causes handshake failure on some Android devices,
so I replace Tyrus with other websocket clients.
(I tried OkHttp, nv-websocket-client and copy the URI to websocket.org)

But I just got 403 Forbidden when I tried to connect.

https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-android/blob/master/src/main/java/com/amazonaws/kinesisvideo/signaling/tyrus/WebSocketClient.java#L45

It seems Tyrus uses RFC 6455 in the above file and I had tried other client which supports RFC 6455, but still got the same error.

I would like to know: Is there anything I have to notice if I want to connect to the WebSocket endpoint.

NoClassDefFoundError

2019-12-18 15:45:38.544 27220-27245/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 E/AndroidRuntime: FATAL EXCEPTION: Thread-3
Process: com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24, PID: 27220
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/amazonaws/mobile/auth/ui/SignInActivity;
at com.amazonaws.mobile.auth.ui.SignInUI.presentAuthUI(SignInUI.java:109)
at com.amazonaws.mobile.auth.ui.SignInUI.loginWithBuilder(SignInUI.java:128)
at com.amazonaws.mobile.auth.ui.SignInUI.access$400(SignInUI.java:36)
at com.amazonaws.mobile.auth.ui.SignInUI$LoginBuilder.execute(SignInUI.java:181)
at com.amazonaws.mobile.client.AWSMobileClient$26.run(AWSMobileClient.java:2975)
at com.amazonaws.mobile.client.internal.InternalCallback$1.run(InternalCallback.java:101)
at java.lang.Thread.run(Thread.java:762)
Caused by: java.lang.ClassNotFoundException: com.amazonaws.mobile.auth.ui.SignInActivity
at java.lang.VMClassLoader.findLoadedClass(Native Method)
at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:742)
at java.lang.ClassLoader.loadClass(ClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at com.amazonaws.mobile.auth.ui.SignInUI.presentAuthUI(SignInUI.java:109) 
at com.amazonaws.mobile.auth.ui.SignInUI.loginWithBuilder(SignInUI.java:128) 
at com.amazonaws.mobile.auth.ui.SignInUI.access$400(SignInUI.java:36) 
at com.amazonaws.mobile.auth.ui.SignInUI$LoginBuilder.execute(SignInUI.java:181) 
at com.amazonaws.mobile.client.AWSMobileClient$26.run(AWSMobileClient.java:2975) 
at com.amazonaws.mobile.client.internal.InternalCallback$1.run(InternalCallback.java:101) 
at java.lang.Thread.run(Thread.java:762) 
Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v7/app/AppCompatActivity;
at com.amazonaws.mobile.auth.ui.SignInUI.presentAuthUI(SignInUI.java:109) 
at com.amazonaws.mobile.auth.ui.SignInUI.loginWithBuilder(SignInUI.java:128) 
at com.amazonaws.mobile.auth.ui.SignInUI.access$400(SignInUI.java:36) 
at com.amazonaws.mobile.auth.ui.SignInUI$LoginBuilder.execute(SignInUI.java:181) 
at com.amazonaws.mobile.client.AWSMobileClient$26.run(AWSMobileClient.java:2975) 
at com.amazonaws.mobile.client.internal.InternalCallback$1.run(InternalCallback.java:101) 
at java.lang.Thread.run(Thread.java:762) 
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v7.app.AppCompatActivity" on path: DexPathList[[zip file "/data/app/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24-2/base.apk"],nativeLibraryDirectories=[/data/app/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24-2/lib/arm64, /data/app/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24-2/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at com.amazonaws.mobile.auth.ui.SignInUI.presentAuthUI(SignInUI.java:109) 
at com.amazonaws.mobile.auth.ui.SignInUI.loginWithBuilder(SignInUI.java:128) 
at com.amazonaws.mobile.auth.ui.SignInUI.access$400(SignInUI.java:36) 
at com.amazonaws.mobile.auth.ui.SignInUI$LoginBuilder.execute(SignInUI.java:181) 
at com.amazonaws.mobile.client.AWSMobileClient$26.run(AWSMobileClient.java:2975) 
at com.amazonaws.mobile.client.internal.InternalCallback$1.run(InternalCallback.java:101) 
at java.lang.Thread.run(Thread.java:762) 

AWS kinesis consumer demo request for android.

Is there any way to show video stream from AWS kinesis server to mobile application specific for android?

What am I trying to achieve is, there is a hardware device which is having a camera. I want to live stream from that hardware device to android mobile application using AWS kinesis service.

How can I get a stream URL from kinesis SDK in android?

I have gone through the kinesis documentation for android, which is having details for recording and sending the stream from mobile device to AWS server. The link is as follow:

https://aws-amplify.github.io/docs/sdk/android/analytics

If anyone has done something like that, can you please help me with that?

Thanks.

Failed to AWSMobileClient.getCredentials

Hi~

I think I did well according to the guide.
I can actually verify user authentication in aws-cognito-console.

but when i try to connect (press start maste/viewer in 2 mobile phone)
after "Signaling connect" Toast message, Phone screen was changed 2-camera view.
But Local-View only displayed, Remote-View has back screen

I think this problem cause by fail to getCredentials() so can not create AWSKinesisVideoClient.

  • Test Phone : Galaxy Note9/10 - Android 10

Can you check my AWSConfiguration.Json File ?

{
"Version": "1.0",
"CredentialsProvider": {
"CognitoIdentity": {
"Default": {
"PoolId": "us-east-2:4456b8ff-f34e-485b-86b1-xxxxxxxxcxccc",
"Region": "us-east-2"
}
}
},
"IdentityManager": {
"Default": {}
},
"CognitoUserPool": {
"Default": çxxxxxccxxxxcccxcp4rf4jq3ub3cou7o4",
"AppClientId": "5e9ok6hk6tb2sqxcccccccxxxxx3f",
"PoolId": "us-east-2_pxxxxcccH",
"Region": "us-east-2"
}
}
}

Please Help me~~

2020-03-06 15:36:41.712 28370-28535/com.amazonaws.kinesisvideo.webrtc.demoapp.minsdk24 W/AWSMobileClient: Could not check if ACCESS_NETWORK_STATE permission is available.
java.lang.ClassNotFoundException: android.support.v4.content.ContextCompat
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:454)
at java.lang.Class.forName(Class.java:379)
at com.amazonaws.mobile.client.AWSMobileClient.isNetworkAvailable(AWSMobileClient.java:751)
at com.amazonaws.mobile.client.AWSMobileClient.getUserStateDetails(AWSMobileClient.java:963)
at com.amazonaws.mobile.client.AWSMobileClient.waitForSignIn(AWSMobileClient.java:903)
at com.amazonaws.mobile.client.AWSMobileClient.getCredentials(AWSMobileClient.java:355)
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment.getAwsKinesisVideoClient(StreamWebRtcConfigurationFragment.java:272)
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment.access$300(StreamWebRtcConfigurationFragment.java:53)
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment$UpdateSignalingChannelInfoTask.doInBackground(StreamWebRtcConfigurationFragment.java:315)
at com.amazonaws.kinesisvideo.demoapp.fragment.StreamWebRtcConfigurationFragment$UpdateSignalingChannelInfoTask.doInBackground(StreamWebRtcConfigurationFragment.java:301)
at android.os.AsyncTask$3.call(AsyncTask.java:378)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)

WebSocketClient java.lang.ClassCastException: java.lang.Boolean cannot be cast to java.lang.String

this problem in webrtcClient

    Endpoint endpoint = new Endpoint() {

        @Override
        public void onOpen(final Session session, final EndpointConfig endpointConfig) {
            Log.d(TAG, "Registering message handler");
            session.addMessageHandler(signalingListener.getMessageHandler());
        }

        @Override
        public void onClose(final Session session, final CloseReason closeReason) {
            super.onClose(session, closeReason);
            Log.d(TAG, "Session " + session.getRequestURI() + " closed with reason " +
                    closeReason.getReasonPhrase());
        }

        @Override
        public void onError(final Session session, final Throwable thr) {
            super.onError(session, thr);
            Log.w(TAG,"Session Error Caause // Message: " + thr.getCause() + "//" + thr.getMessage());
        }
    };

In onError, session is null and the reason for Throwable is Cannot cast java.lang.ClassCastException: java.lang.Boolean to java.lang.String. Is there a solution?
also, Is there any effect on org.glassfish.tyrus.bundles:tyrus-standalone-client version?

Project support

At the company where I work we are interested in using Kinesis WebRTC to make video calls. The hardware of our cameras is hardware that runs Android 8. From what I understand this project is intended to be used on Android and its integration would not be a problem on our cameras. What worries me is the maintenance that this project has. Could you tell me what is the roadmap of it?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.