Posts: 3,918
Joined: Apr 2004
Reputation:
29
kricker
Team-XBMC QA Specialist
Posts: 3,918
I got sent to the hosptial for surgery....I guess I wasn't just a bit sick after all. I just now got home. I tired the 6-16-08 build (i think it was) before I went and I still had the same issues. I can report back again after I have had some time to re-coop.
Posts: 12,706
Joined: Nov 2003
Reputation:
129
spiff
Team-Kodi Member
Posts: 12,706
why do you suspect that? it's just a simple stat, act thingie. nothing particular to multipaths in those regards
Posts: 7,172
Joined: Dec 2003
Reputation:
4
kraqh3d
Retired Developer
Posts: 7,172
UpdateLibrary calls GetPaths() which gets the media paths where content has been defined (and some other paths.) But, the items in the library aren't necessarily in those paths, especially if recursive scanning is disabled. One example is the stacked video_ts.ifo files, the other thing I could think of potentially being a problem is a multipath. If the user set content on a stacked folder, GetPaths() would know of the multipath, but the items would have the true path. It was just a guess.
The other thing, is that the paths returned by GetPaths() are then checked for various things in the scanning routine and some get skipped. One of the tests is that the path is checked for content. Even though I modified GetPaths() to return the video_ts.ifo items, I think they are getting skipped here, but I don't understand why stacked "CDx" folders aren't getting skipped for the same reason.
I haven't had the time to check either yet though.
Posts: 12,706
Joined: Nov 2003
Reputation:
129
spiff
Team-Kodi Member
Posts: 12,706
actually you are wrong.
while the items DO hold the entire path, they are assigned to the proper path in the path table, see CVideoDatabase::Split(), same goes for stacks. explains your stacked question as well. i know i had them all covered and that they used to work. as a matter of fact i have yet to reproduce this problem, which is why i have yet to fix it..
Posts: 7,172
Joined: Dec 2003
Reputation:
4
kraqh3d
Retired Developer
Posts: 7,172
2008-06-23, 14:37
(This post was last modified: 2008-06-23, 14:46 by kraqh3d.)
well spiff i can assure you that video_ts.ifo files are not being removed by UpdateLibrary, while CleanLibrary works because it scans every single path in the path table. and i looked at my database directly and they do not have the proper pathid. (though i have to double check the CDx items, as they probably do.)
** edit **
i just looked at splitpath() on the svn browser (im at work), and it wont work for video_ts.ifo items as they aren't stack:// url's.
Posts: 12,706
Joined: Nov 2003
Reputation:
129
spiff
Team-Kodi Member
Posts: 12,706
so this is restricted to video_ts dirs? if so that particular piece of rather important information has slipped my attention...
i still don't see why it would be the case though, the scanner should notice that the hash has changed (since the dir isn't there any longer) and thus pass it to clean. i'm not doubting what you are observing but i dont see what is up.. will try to reproduce on my own
Posts: 7,172
Joined: Dec 2003
Reputation:
4
kraqh3d
Retired Developer
Posts: 7,172
2008-06-23, 14:47
(This post was last modified: 2008-06-23, 14:50 by kraqh3d.)
yeah, and i think its only a problem when recursive scanning is disabled. if recursion is enabled, doScan() will walk into the path off the assigned media path eventually.
** edit **
kricker seems to have a different issue which i've not been able to replicate, and the only other thing i could think of being similar was multipaths and i've not tested that particular case as yet.
Posts: 3,918
Joined: Apr 2004
Reputation:
29
kricker
Team-XBMC QA Specialist
Posts: 3,918
okay. I am back out of the hospital for a second time and hopefully for good. I just ran an update library and scan for new content. I'll post my log and results.
Posts: 3,918
Joined: Apr 2004
Reputation:
29
kricker
Team-XBMC QA Specialist
Posts: 3,918
Actually the 30 Days episode is still valid, but the "Dirty Jobs of the Big Apple" episode is not, the file no longer exists.
Posts: 3,918
Joined: Apr 2004
Reputation:
29
kricker
Team-XBMC QA Specialist
Posts: 3,918
Running "Clean Library" from within the video settings removed all my invalid entries as it should. For some reason my XBMC is not running a "Clean Library" function after using "Update Library"
Posts: 3,918
Joined: Apr 2004
Reputation:
29
kricker
Team-XBMC QA Specialist
Posts: 3,918
uhhooohhh. After running "Clean Library" I went back into my movies section. The main server with most of the movies is currently off. Now I only see the 4 movies that are currently valid on the HTPC which is on. None of my movies on the main server are listed. Does "Clean Library" remove entries for sources that are not valid?
Posts: 7,172
Joined: Dec 2003
Reputation:
4
kraqh3d
Retired Developer
Posts: 7,172
The cleaning portion of "Update Library" is a bit different then "Clean Library" in settings. "Clean Library" should always remove a missing item because it checks every item in the entire file table.
And yes. If a file is unavailable, for any reason such as your computer is powered off, that file will be removed if you update or clean. (Well, it should work for update but it's a little wonky at the moment.) Sources are meaningless. Xbmc really has no knowledge that a source is inaccessible. And the database has no knowledge of sources at all. It only knows files. Clean Library checks the existence of every file in the database. If it can't stat the file, its removed.
Posts: 3,918
Joined: Apr 2004
Reputation:
29
kricker
Team-XBMC QA Specialist
Posts: 3,918
Hmmm....then I better find a better way of maintaining my database. Re-importing 300+ items after a "clean" if the server was off takes a bit of tme.