Kodi Community Forum

Full Version: Black screen only audio when shared library mysql is setup
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi,
I have this strange problem I can't quite get my head around.

I have a UG007B stick with Neomode custom rom. I am running the latest nightly build of XBMC and everything is working fine when using a local database. After I add the advancedsettings.xml which points to the shared mysql library, video playback stops working. All the shows are imported as intended and all watched status so the connection is alright. But as soon as a try to play a video the screen turns black and I can hear the audio play in the background.

What?

Anyone got a clue on why? Seems like this should have nothing to do where the library database is stored but if I remove the advancedsettings.xml again it works like a charm. My thought was if I needed some additional settings in advancedsettings.xml when adding it to the android version of XBMC or something like that.
Debug log (wiki)?

Also, just out of curiosity, which Neomode rom are you using? (I also have a UG007B)
I come back later about the debug file, I am using 2.0 this one: http://www.freaktab.com/showthread.php?9...-2-0-1080p
Hi again,
It took some time but now I have a debug logfile.

I spotted some warnings about my library configurations where experimental so that might be a clue, I get some additional warnings that to me looks like they are video library related but I'm not quite sure how to interpret the log. Maybe someone more experienced can spot the problem?

Here is the log: http://pastebin.com/fwYnsRBR
Could you retry without the <network>...</network> part in advancedsettings.xml, please.
Sure,
It's exactly the same, do you need a new log?

I am using this advancedsettings.xml atm

Code:
<advancedsettings>
    <videodatabase>
        <type>mysql</type>
        <host>192.168.0.24</host>
        <port>3306</port>
        <user>xbmc</user>
        <pass>xbmc</pass>
    </videodatabase>
    <videolibrary>
          <importwatchedstate>true</importwatchedstate>
        <hideemptyseries>true</hideemptyseries>
    </videolibrary>
    <video>
        <stagefright>
          <!--  -1 is default, 0 is never used this codec, 1 is always use this codec, bypassing blacklist -->
          <useavccodec>1</useavccodec>
          <usevc1codec>1</usevc1codec>
          <usevpxcodec>1</usevpxcodec>
          <usemp4codec>1</usemp4codec>
          <usempeg2codec>1</usempeg2codec>
          <useswrenderer>false</useswrenderer>
        </stagefright>
    </video>
</advancedsettings>
Please try with only the "<videodatabase>...</videodatabase>" part and re-confirm it works without advancedsettings.
Definitely, using mysql shouldn't have any influence on playback.
Yeah that's what I thought, but something is effecting the playback for sure. I made a new test, the only difference between these two tests is that one contains the mysql connection and one is without. Those lines are the only thing I have changed as you can see, playback is done using the same video.

The one without mysql is fluid and no problems at all.
http://pastebin.com/cTtkqwGy

The one with mysql is unwatchable, first gui freezes, audio is heard in the background 10-15 seconds later the screen turns black with audio still in the background.
http://pastebin.com/wuuS3iyg

I am gonna do more testing but this is really strange to me, can't really see why this is happening.
I'm out of ideas. Could it be an issue with your mysql server / network?
I am back with some more results, the mysql server is working fine. I use it both from a htpc and from a Raspberry Pi without any issues at all. But you are definitely right about it being a network issue.

I wonder if the network load on the stick increases somehow when using a mysql connection in xbmc. Perhaps someone with more insight in how the mysql connection works can shine some additional light on this observation. Does the connection stay open somehow or does it send information to the mysql database frequently? I was thinking that it just updated when you for example play a video and if you stop it it sends the last position to the mysql database, but perhaps it updates much more frequently?

My guess is that my USB 2 ETHERNET adapter can't quite handle the extra traffic (if there is any). When I copied the video to the stick and played it from there it worked flawlessly with the mysql settings in the advancedsettings.xml. Maybe I should get another adapter to try with. On the other hand, if the network connection is to slow, shouldn't it be buffering instead of playing at a couple of fps? Audio is playing fine all the way but the video is not even present the first 15-20 seconds or so and then plays at maybe 1-5 fps.

I still can't understand thou how adding the mysql connection alone can bring the network connection to its knees if that's the problem, can anyone explain? Shouldn't it be buffering?
Hello,

does it make a difference if you have hardware video decoding switched on or off?

Cheers

Michael
Hi,
No it doesn't. I have tried earlier versions of XBMC with exactly the same problems. I ordered a new (confirmed to work) USB 2 RJ45 adapter that I am gonna try with. Won't arrive for over a week thou.

It would be interesting to find out more about how the mysql connection works, if that really could be the issue even when I don't get any buffering. All I get is severe lag Smile
Sure fact, I'm using XBMC with mysql (over Internet to make matter worse) for all my devices and I never saw a playback issue due to that.

There is probably mysql traffic during playback, due to add-ons or other background tasks, but it shouldn't be noticeable.
Good, then its confirmed working.

The fact that I get no buffering disturbs me, guess I have to wait a week and try the new adapter out if no one comes up with any other suggestions of what might be wrong.
Hi again guys! I received the new ethernet adapter today and now everything is working great! In case anyone else experiences the same problems. Thank you for your help.