# WOWZA player not working android app

**URL:** <https://community.wowza.com/t/wowza-player-not-working-android-app/51625>\
**Category:** Wowza GoCoder SDK\
**Created:** [July 17, 2018, 5:21pm UTC](https://community.wowza.com/t/wowza-player-not-working-android-app/51625 "2018-07-17T17:21:56Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Nishchay\_Pagarani](https://avatars.discourse-cdn.com/v4/letter/n/85e7bf/32.png) [@Nishchay\_Pagarani](https://community.wowza.com/u/Nishchay_Pagarani)\
**Post date:** [July 17, 2018, 5:21pm UTC](https://community.wowza.com/t/wowza-player-not-working-android-app/51625/1 "2018-07-17T17:21:56Z")

</div>

I made a basic wowza player using the instructions given here :

[https://www.wowza.com/docs/how-to-play-a-live-stream-with-wowza-gocoder-sdk-for-android](https://www.wowza.com/docs/how-to-play-a-live-stream-with-wowza-gocoder-sdk-for-android)

Note : the streaming part is working and is visible on the wowza streaming cloud website.

The connection settings are done as shown here :

[https://www.wowza.com/docs/how-to-connect-to-wowza-streaming-cloud-with-gocoder-sdk-for-android](https://www.wowza.com/docs/how-to-connect-to-wowza-streaming-cloud-with-gocoder-sdk-for-android)

I am using wowza cloud streaming as the server however I get the following error :

FATAL EXCEPTION: main  
Process: trial.drone.streamer, PID: 8450  
java.lang.RuntimeException: Unable to start activity ComponentInfo{trial.drone.streamer/trial.drone.streamer.Player}: java.lang.RuntimeException: Invalid surface: null  
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2455)  
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2515)  
at android.app.ActivityThread.access$1000(ActivityThread.java:154)  
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1379)  
at android.os.Handler.dispatchMessage(Handler.java:102)  
at android.os.Looper.loop(Looper.java:157)  
at android.app.ActivityThread.main(ActivityThread.java:5571)  
at java.lang.reflect.Method.invoke(Native Method)  
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:745)  
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:635)  
Caused by: java.lang.RuntimeException: Invalid surface: null  
at com.wowza.gocoder.sdk.api.gles.EglCore.createWindowSurface(GoCoderSDK:225)  
at com.wowza.gocoder.sdk.api.gles.EglSurfaceBase.createWindowSurface(GoCoderSDK:58)  
at com.wowza.gocoder.sdk.api.gles.WindowSurface.(GoCoderSDK:39)  
at com.wowza.gocoder.sdk.api.player.WOWZPlayerView.clear(GoCoderSDK:545)  
at com.wowza.gocoder.sdk.api.player.WOWZPlayerView.a(GoCoderSDK:826)  
at com.wowza.gocoder.sdk.api.player.WOWZPlayerView.play(GoCoderSDK:900)  
at trial.drone.streamer.Player.onCreate(Player.java:41)  
at android.app.Activity.performCreate(Activity.java:6357)  
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)  
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2408)  
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2515)  
at android.app.ActivityThread.access$1000(ActivityThread.java:154)  
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1379)  
at android.os.Handler.dispatchMessage(Handler.java:102)  
at android.os.Looper.loop(Looper.java:157)  
at android.app.ActivityThread.main(ActivityThread.java:5571)

This is the code I am using :

```auto
    private WOWZPlayerView mStreamPlayerView;
    private WOWZPlayerConfig mStreamPlayerConfig; <br> private WowzaGoCoder goCoder;@Override<br>protected void onCreate(Bundle savedInstanceState) {<br> super.onCreate(savedInstanceState);<br>setContentView(R.layout.activity_player);<br>goCoder = WowzaGoCoder.init(getApplicationContext(), "license_key");<br>mStreamPlayerView = (WOWZPlayerView) findViewById(R.id.vwStreamPlayer);<br>mStreamPlayerConfig = new WOWZPlayerConfig();<br>mStreamPlayerConfig.setIsPlayback(true);<br>mStreamPlayerConfig.setHostAddress("host_address");<br>mStreamPlayerConfig.setApplicationName("app-xxxx");<br>mStreamPlayerConfig.setStreamName("stream_name");<br>mStreamPlayerConfig.setPortNumber(1935);<br>mStreamPlayerConfig.setAudioEnabled(true);<br>mStreamPlayerConfig.setVideoEnabled(true);<br>mStreamPlayerView.setScaleMode(WOWZMediaConfig.FILL_VIEW);<br>WOWZStatusCallback statusCallback = new StatusCallback();<br>mStreamPlayerView.play(mStreamPlayerConfig, statusCallback);}<br><br> class StatusCallback implements WOWZStatusCallback{<br> @Override<br>public void onWZStatus(WOWZStatus wzStatus) {<br> }<br> @Override<br>public void onWZError(WOWZStatus wzStatus) {<br> }<br> }

```

---

<div class="post-metadata">

**Author:** ![Vasily\_Enot](https://avatars.discourse-cdn.com/v4/letter/v/4491bb/32.png) [@Vasily\_Enot](https://community.wowza.com/u/Vasily_Enot)\
**Post date:** [July 30, 2018, 8:41pm UTC](https://community.wowza.com/t/wowza-player-not-working-android-app/51625/2 "2018-07-30T20:41:10Z")

</div>

Same here. Have you found any solution?

---

<div class="post-metadata">

**Author:** ![Dinabandhu\_Mondal](https://avatars.discourse-cdn.com/v4/letter/d/5f9b8f/32.png) [@Dinabandhu\_Mondal](https://community.wowza.com/u/Dinabandhu_Mondal)\
**Post date:** [August 22, 2018, 3:49pm UTC](https://community.wowza.com/t/wowza-player-not-working-android-app/51625/3 "2018-08-22T15:49:32Z")

</div>

Hi,

I have found some solution for the problem as follows.

Step 1: First initialise the GoCoder inside onCreate().

WowzaGoCoder goCoder = WowzaGoCoder.init(getApplicationContext(), “GOXX-XXXX- XXXX-XXXX-XXXX-XXA7”);

Step 2: Maintain some delay between Wowza player configuration and ‘play’ method of Wowza player view.

```auto
mStreamPlayerConfig = new WOWZPlayerConfig();
mStreamPlayerConfig.setIsPlayback(true);
mStreamPlayerConfig.setHostAddress("your-server-ip");
mStreamPlayerConfig.setApplicationName("live");
mStreamPlayerConfig.setStreamName("myStream");
mStreamPlayerConfig.setPortNumber(1935);<br><br>new Handler().postDelayed(new Runnable() {
    @Override
    public void run() {
        mStreamPlayerView.play(mStreamPlayerConfig, this/*WOWZStatusCallback*/);
    }
}, 1000);

```

---

<div class="post-metadata">

**Author:** ![Rose\_Power-Wowza\_Com](https://sea2.discourse-cdn.com/flex002/user_avatar/community.wowza.com/rose_power-wowza_com/32/431_2.png) [@Rose\_Power-Wowza\_Com](https://community.wowza.com/u/Rose_Power-Wowza_Com)\
**Post date:** [August 22, 2018, 3:19pm UTC](https://community.wowza.com/t/wowza-player-not-working-android-app/51625/4 "2018-08-22T15:19:19Z")

</div>

Hello @Nishchay Pagarani I’m sorry you are facing this issue and thanks for sharing the error message. Can you please submit a support ticket so we can assist you with this? You can do this here:

> **[Open a Support Ticket | Wowza Media Systems](https://www.wowza.com/support/open-ticket)**
>
> Wowza technical support engineers worldwide help you succeed with your Wowza Streaming Engine™ software or the Wowza Streaming Cloud™ service.

---

<div class="post-metadata">

**Author:** ![satyajit\_patil](https://avatars.discourse-cdn.com/v4/letter/s/fbc32d/32.png) [@satyajit\_patil](https://community.wowza.com/u/satyajit_patil)\
**Post date:** [October 9, 2018, 9:41am UTC](https://community.wowza.com/t/wowza-player-not-working-android-app/51625/5 "2018-10-09T09:41:27Z")

</div>

HI I am also facing the same issue. Please let me know if you have found any solution for it. Thanks in advance

---

<div class="post-metadata">

**Author:** ![Jason\_Tuchler](https://sea2.discourse-cdn.com/flex002/user_avatar/community.wowza.com/jason_tuchler/32/462_2.png) [@Jason\_Tuchler](https://community.wowza.com/u/Jason_Tuchler)\
**Post date:** [October 11, 2018, 12:47am UTC](https://community.wowza.com/t/wowza-player-not-working-android-app/51625/6 "2018-10-11T00:47:34Z")

</div>

Hello,

Please make sure that your run method to create the delay looks like this:

```auto
 final Handler handler = new Handler();
        handler.postDelayed(new Runnable() {
 @Override
 public void run() {
 *WOWZStatusCallback statusCallback = new StatusCallback();*
 *mStreamPlayerView.play(mStreamPlayerConfig, statusCallback);*
 *}*
 *}, 1000);*
 *}*
*}*

```

Regards,

Jason
