PDA

View Full Version : Stuttering on video startup and delay on stopping....


cold_realms
2006-09-28, 08:52
I apologize if this has been posted before But when I searched I didn't see anything on it so here goes:

For the past several months there has been some odd behavior in my xbox. Originally (that is before a few months ago) when I started a movie file from a network share the xbox would buffer for a sec then start playing the video, nice and smooth. When I was done watching whatever I would hit stop and the playback would INSTANTLY stop and the last folder i was browsing would show up.

However, after updating many months ago (like always I install EVERY new build T3 puts out) that all stopped. Now when I start a file it stutters (both audio and video) for several seconds and during this time the remote is non-functional.. after several seconds of this it smooths out and plays just fine...until. When I hit the stop buttong (FF and REW work fine) it takes up to 7 seconds before the video stops all the while the video is stuttering (sound is fine).

This has been the behavior through updates and fresh installs. Everey single video file does this, *.iso's and xvid .AVI's but music plays fine. The issue happens regardless of cache settings. Nothing changed on the network when this first showed up, and since the issue arrived I have actually replaced 90% of my networking equiptment and setup and the problem remains. I didn't report it before cause these things usually get ironed out in a few builds but it has been months.

What else can I try or provide to you guys to help alleviate this issue?


As always thanks for a great program!
-Cold Realms

snoxbox
2006-09-28, 09:36
It's your video database. Once you have over 200 or 300 files scanned into it, it starts to slow down. Either clean your db from the video settings screen, or delete it and start fresh. That should help. Check my thread, and the link in it, for more info: http://xbmc.org/forum/showthread.php?t=22275

cold_realms
2006-09-28, 20:19
Unfortunatly this is even on a new DB.

So this is just something to live with if I have a huge library? Currently I have 409 movies in my DB and add about 3-10 per month. Luckily TV shows don't count cause then the # jumps to 1600+. I can't be in the minority of people with over 200-300 files.

-Cold Realms

cold_realms
2006-09-28, 20:27
Ok, so I dug through the posts you linked..

Just curious now as to the status of this as the last post was 2 months ago.

-Cold Realms

snoxbox
2006-09-29, 01:06
Well, mine has improved a lot over the last few months. I have about 450 movies in my database, and the initial stutter on playback of both local and network (over wireless) files is minimal for me now, except when exiting. Do your videos still stutter when playing from the xbox hard-drive? Maybe yours is a combination of the db and your network.

cold_realms
2006-09-29, 05:07
I will try tonight for the files from HDD but all the rest of the machines on the network have 0 issue running files, actually in testing my server can handle 15 xvid's all with dts sound all at the same time (to diff machines) without stuttering the data, and I run regurlarly with 7 machines pulling diff files simultaniously(sp?) It's only the xbox that stutters and this happens no matter what, other machines pulling data or not.

-Cold Realms

snoxbox
2006-09-29, 05:25
rename your video database to something else, like oldmyvideos31.db, then reboot and play a file. If the db is successfully renamed, and a new db is created, and you don't have stuttering then you can blame the db.

To restore the db, delete the new one, and rename oldmyvideos31.db to myvideos31.db, or whatever it's supposed to be called.

cold_realms
2006-09-29, 16:18
Ok, renamed the DB and the issue went away. Might I reccomend an alternate method:
Instead of loading / re-loading the Db information as the video plays, perform the load / reload of the DB while the buffer is being filled and do not start the video (and audio) playback until that operation has completed. On exiting a video do not attempt to load / reload the DB until the video (and audio) have completed.

When I have guests over I would rather them have to see a blank (or perhaps "Buffering Messege" / "Loading DB information messege") screen then to watch my high-tech setup stutter and trip looking second rate. #1 comment get on the XBMC is how professional looking it is.. until it stutters acting like its about to fall apart.

SandmanCL
2006-10-12, 10:18
cold_realms, I see exactly the same problems you have been reporting. I have about 350 movies in my database and don't really have any desire to delete any of them. I do, however, watch a lot more television shows than I do movies. It seems backwards somehow that a large movie database should slow down the system even when I never bring up the database view.

spiff
2006-10-12, 10:47
we won't do any such thing.

we will however redesign the db to not suck

SandmanCL
2006-10-12, 19:47
sweet, redesigning something to reduce suckiness is always good :-)

I've used xbmc for 2 1/2 years now and I still get blown away by how much it rocks. If it gets even better I may actually literally blow away so that might be scary.

cold_realms
2006-10-22, 10:51
Agreed on redesigning things not to suck :)
Might I ask what is the point to having it access the DB when you select the movie (or when you leave the file if the user is not using the DB AT ALL) ? Just was curious as to why this behavior was built in as your statement points to some meaningful reason behind it or else you would simply turn it off till the aforementioned de-sucking was completed.

kraqh3d
2006-10-22, 16:28
every file thats played gets added to the database so your video playback options can be saved and used next time you play it. (view mode, custom pixel ratio, brightness, contrast, gamma correction, subtitles enabled/disabled, cropping, resume point, etc.)

cold_realms
2006-10-22, 20:51
Ahhh, i see!
Then could it then be a matter of splitting the DB into chunks so that when a file gets accessed to grab and or store that data the xbox isn't having to go through the entire DB? Have it split along logical lines so that there is still a performance boost something like title(ie files titles beginning a-d in one DB), or just the db #, or some such thing?

kraqh3d
2006-10-22, 21:03
the database is already divided into logical chunks, and you cant break it up into multiple databases. more indexes may help, but i think the problem is more related to the limited horsepower that the xbox has and the threading. a much simpler solution would be to just add a little delay so that the actions are not done simultaneously.

cold_realms
2006-10-22, 21:44
Well yea, if you wanna go for the simple solution just make the action order thus:

user hits play
xbox screen goes blank (or shows a loading msg)
DB is parsed for the relavant information
DB parsing completes
initialize buffer
initialize audio and video streams
play file



user hits stop
video and audio streams end
Screen goes blank (or preferred some form of loading msg)
DB is parsed
DB parsing completes
display primary gui


Yes I know the list of logical operators is MUCH more complicated but the idea is the same, acknowledge the request (so the user doesn't think the xbox is ignoring the request or the batteries on the remote have died) perform the DB operations, then carry out the actual request.

cold_realms
2006-10-22, 21:46
ok so teach me to preview the post first hehhe