Below is the sentence from the Advanced CSDK Developer's Guide:
"When there is no video stream being sent or received, the video view and preview view renders a full frame of green. Only when streaming does video appear."
It seems this green screen is by design. However, I wanted to ask whether there is a way to change this?
Thanks and regards,
No, there is no improvement. It was same as before. Now, I made a few more tests. Previously, we were sending the calls to CVP or to auto-answer agents. That's why we were seeing the green window for a very short period.
Now, I disabled auto-answer and tested again. So, it is much clearer. As soon as I click the call button, I see the green screen and if I don't answer the call on the agent side (it keeps ringing), I continue seeing the green screen. When the agent answers, then green screen disappears.
Thanks and regards,
I just got an update from our team. If the green screen is visible before the call is answered then it would seem that the 'view' is being made visible before the call is answered.
Have you been able to test the sample application from the play store to see if you experience the same there?
The only other suggestion we can think of at this time would be to to use the 'onStatusChanged()' callback in the callListener interface so you are only making the video view visible when the call is established. i.e 'CallStatus.IN_CALL' .
If this doesn't work I think we will need to go back to the drawing board and raise a defect on this one to get it properly looked into.
Let us know how you get on.
We added this control. Now, we are checking CalStatus.IN_CALL and then making the view visible. Actually, this improved the experience. Previously, green screen was showing during the ringing state. It was taking around 5-6 seconds. Now, we get rid the of green screen while ringing. The background is now black during screen. However, now green is shown only for a second (between the call is answered and the actual RTP media packets are received).
Do you have any idea how we can improve more?
Thanks and regards,
I'm glad to hear the recent change has improved your experience.
As for it still showing green screen for a second before answering, this should not be happening with the changes we have advised to you. Are you able to clean out your project to see if there are any old configs being called in from somewhere?
As I said in the previous e-mail we are at the end of our ideas of what could be causing the issue to happen, so in order to investigate this further we would need to raise a defect to get some dedicated developer time to take a look at this.
Would it be possible for you to reach out to your Cisco BU representative to raise this with us? It would need approval from the BU before we are able to investigate things at our end.
Apologies we were not able to get this entirely resolved for you here.
I will try this with a clean project one more time. You helped a lot, thank you very much for all your support and your time.
Not a problem at all, always a pleasure. Thank you for your patience in waiting for our updates.
Good luck with the clearing. It may even be worth commenting out the onSurfaceRendering in both places individually see if this makes a difference for you.
Would it be possible to create and attach a very simple sample project that demonstrates the issue so that Rach and the team can easily reproduce and troubleshoot..?
Hey, Murat. Was thinking you might try leveraging the onRemoteMediaStream callback to help with this. You can map the video to your video element when the call is setup, but leave that element hidden until the onRemoteMediaStream callback is triggered, at which time you show or unhide your video surface. Not sure if this will work for you, just a thought...
Did you resolve this issue?
I heard one customer was happy with the results of using the following advice:
Change the Z order of the remote preview to hide it in the background and when onSurfaceRenderingStarted is fired, change the Z order to make it viewable?
I tried this method but the onSurfaceRenderingStarted() never get called when the media is already streamed.
Do you have any idea?
The REM team at my end as discovered the short 'burst' of green seen before a call is answered seems to be an issue with the application when making a call through a CUCM (direct call to browser does not see the issue hence why this did not show in our testing).
We are currently working on this defect at our end, please bear with us.