Wowza Community

Android: WOWZPlayerView background settable by theme causing invisibility

I have a basic fragment with the following XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:clickable="true"
        android:focusable="true"
        android:orientation="vertical">

    <com.wowza.gocoder.sdk.api.player.WOWZPlayerView
            android:id="@+id/videoPlayerView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
</LinearLayout

My application is using a single theme across all of its pages:

<style name="Theme.Foo" parent="Theme.AppCompat.NoActionBar">
    <item name="android:windowIsTranslucent">false</item>
    <!-- General theme colors -->
    <item name="colorPrimary">@color/fooColorPrimary</item>
    <item name="colorPrimaryDark">@color/fooColorPrimaryDark</item>
    <item name="colorAccent">@color/fooColorAccent</item>
    <item name="android:background">@color/fooBackground</item>

My issue is that because the background of WOWZPlayerView is being set by the theme, as is its outer linear layout background, it causes it to appear invisible.

I’ve tried making the WOWZPlayerView not take the background of the theme by setting on it:

android:background="@null"
android:theme="@android:style/Theme.Holo.Light"

However its background was still being set. I am certain this is the case since in commenting out the

<item name="android:background">@color/fooBackground</item>

portion of my theme definition do I see the video being played.

Fix is to not allow the WOWZPlayerView have setBackground(Drawable background) yield any effect.

TL;DR: WOWZPlayerView shouldn’t expose its setBackground method or simply have it no-op.

Looking into this for you @Sami Eljabali…

Hi @Rose Power-Wowza Community Manager, any updates on this? If you guys like, I can provide a sample project illustrating the issue.

Let me ask the SDK team if we have a fix for this.

Thanks for your patience on this @Sami Eljabali, but placing the WOWZPlayerView inside a fragment is NOT possible at this time with Android GoCoder SDK.

Hi @Rose Power-Wowza Community Manager, I actually got it working in a fragment as my description mentions, which is besides the point. The problem remains as it has to do with the video player View itself and its allowance of themes altering its background. Whether the view is in an activity or in a fragment does not matter in this instance.

That’s great you got that to work. Let me check back with the SDK engineer and share your feedback and get you a more specific answer regarding the theme altering the background. As soon as I know, I will post and tag you.

If you could please provide that sample of your project @Sami Eljabali, the SDK team is curious how you are using this so they can better assist. They’re also curious why you aren’t using the native Android player. Are you setting up a Ultra low latency stream with Wowza that requires the Wowza Player? Just need more details so the sample would be great. You can email it to me directly if you’d like at rose.power@wowza.com in case there is any key information in it that we wouldn’t want posted publicly.

Thanks and I’ll look for your reply.

Hi @Rose Power-Wowza Community Manager. I’ve created a sample repository illustrating the issue that can be found here: https://github.com/seljabali/wowza-themed-player-issue. In the codebase lie TODOs that help replicate the issue locally. By the way, I am using the native player. You’re thinking of the other forum question I posted, which is not related to this. Best!

Hi @Rose Power-Wowza Community Manager has the SDK team found the repository useful in reproducing the issue?

Hi @Sami Eljabali, are you playing HLS or ULL ?

Thanks

Hi @Fabio De Lorenzo. I don’t think it quite matters, as the Video Player view background is changed. I tried VOD & LIVE app id videos.

Hi @Fabio De Lorenzo, I don’t believe it matters as the Video Player itself becomes invisible. I’ve verified this is the case with a live stream as well as with a playback of VOD app id type. I’m unsure of the video type playing in nature. Thanks!

It doesn’t for your question. If you don’t mind, since you are asking for support, could we know what you are trying to playback ? HLS or ULL ?

Thanks

@Fabio De Lorenzo, HLS.

@Fabio De Lorenzo were you able to replicate the issue? Are there any updates?

Since you are using HLS, my suggestion is to use ExoPlayer. It’s a richer and widely supported player and it will avoid the issue you described.

Thanks

I’m using WOWZ with HLS fallback. I need to use the Wowza player.