I completely forgot about this, sounds like a familiar issue eh?
Being the nosy busybody that I am I'll try to assist where I can, at the time I didn't feel up to the task (well I still don't really) but maybe I can do some legwork. Some other related info can be found here:
http://forum.linuxmce.org/index.php?topic=3150.0This probably isn't worth much, but since I done it already I might as well post the results:
I just compiled it and ran the binary, thinking it would probably spit out some usage info but instead it looked like it started scanning the whole disk. Lucky for me it couldn't connect to the database (I was running inside a chroot).
The usage info I was looking for:
dcerouter_:/usr/src/LinuxMCE-1.1-SRC/src/UpdateMedia# ./UpdateMedia --help
10 11/16/07 1:36:29.473 AlarmManager::AlarmManager 0x80b0770 <0xb6b906d0>
Unknown: --help
UpdateMedia, v.<=version=>
Usage: UpdateMedia [-h hostname] [-u username] [-p password] [-D database] [-P mysql port]
[-d The list with directories, pipe delimited] [-s] [-t]
hostname -- address or DNS of database host, default is `dce_router`
username -- username for database connection
password -- password for database connection, default is `` (empty)
database -- database name. default is pluto_main
-s -- Update all search tokens
-t -- Update all thumbnails
-w -- Synchronize files only
-B -- Run as daemon
Directory defaults to /home
10 11/16/07 1:36:29.475 AlarmManager::~AlarmManager start 0x80b0770 <0xb6b906d0>
10 11/16/07 1:36:29.475 AlarmManager::~AlarmManager done 0x80b0770 <0xb6b906d0>
Figured I might as well do a test run:
# mkdir -p /tmp/data/audio
# cdparanoia -d /dev/cdrom 3 - | oggenc -Q --artist "Pink Floyd" --album "Wish You Were Here" --date "1975" --genre "Rock" --tracknum 3 -q 1 -o "/tmp/data/audio/Pink Floyd/Wish You Were Here/Have a Cigar.ogg" -
# file /tmp/data/audio/Pink\ Floyd/Wish\ You\ Were\ Here/Have\ a\ Cigar.ogg
/tmp/data/audio/Pink Floyd/Wish You Were Here/Have a Cigar.ogg: Ogg data, Vorbis audio, stereo, 44100 Hz, ~80000 bps, created by: Xiph.Org libVorbis I
# ./UpdateMedia -d /tmp/data/audio
...(lots of output including failed SQL queries)...
# file /tmp/data/audio/Pink\ Floyd/Wish\ You\ Were\ Here/Have\ a\ Cigar.ogg
/tmp/data/audio/Pink Floyd/Wish You Were Here/Have a Cigar.ogg: Ogg data, Vorbis audio, stereo, 44100 Hz, ~80000 bps, created by: Xiph.Org libVorbis I
# ogginfo /tmp/data/audio/Pink\ Floyd/Wish\ You\ Were\ Here/Have\ a\ Cigar.ogg
Processing file "/tmp/data/audio/Pink Floyd/Wish You Were Here/Have a Cigar.ogg"...
New logical stream (#1, serial: 76bf03de): type vorbis
Vorbis headers parsed for stream 1, information follows...
Version: 0
Vendor: Xiph.Org libVorbis I 20050304
Channels: 2
Rate: 44100
Nominal bitrate: 80.000000 kb/s
Upper bitrate not set
Lower bitrate not set
User comments section follows...
artist=Pink Floyd
genre=Rock
date=1975
album=Wish You Were Here
tracknumber=3
Vorbis stream 1:
Total data length: 2833759 bytes
Playback length: 5m:08.000s
Average bitrate: 73.604130 kb/s
Logical stream 1 ended
So I guess that wasn't enough to mangle the file like you pointed out earlier in the other thread. I figured I'd copy the file over to the real system and do the media sync from the web-admin. At the first attempt the automatic update beat me to it, so I've stopped that in it's screen session, removed the file from disk and DB and tried again.
Resynchronize directory /home/public/data/audio
sudo -u root /usr/pluto/bin/UpdateMedia -d "/home/public/data/audio"
05 11/16/07 2:47:37.864 # PlutoMediaFile STARTED: dir /home/public/data/audio/Pink Floyd/Wish You Were Here file Have a Cigar.ogg <0xb6b416d0>
05 11/16/07 2:47:37.978 # PlutoMediaFile STARTED: dir /home/public/data/audio/Pink Floyd file Wish You Were Here <0xb6b416d0>
05 11/16/07 2:47:37.978 Adding parent folder to db: /home/public/data/audio/Pink Floyd/Wish You Were Here PlutoMediaParentFolder.HandleFileNotInDatabase <0xb6b416d0>
05 11/16/07 2:47:38.131 # PlutoMediaFile STARTED: dir /home/public/data/audio file Pink Floyd <0xb6b416d0>
05 11/16/07 2:47:38.132 Adding parent folder to db: /home/public/data/audio/Pink Floyd PlutoMediaParentFolder.HandleFileNotInDatabase <0xb6b416d0>
05 11/16/07 2:47:38.180 # PlutoMediaFile STARTED: dir /home/public/data file audio <0xb6b416d0>
05 11/16/07 2:47:38.180 Parent folder already in the database: /home/public/data/audio <0xb6b416d0>
01 11/16/07 2:47:38.186 Cannot find self in maplock! (0x80b47b4) (>2) alarm: AlarmManager.cpp:102 <0xb6b40b90>
ready to dump locks using logger: 0x80b4858
05 11/16/07 2:47:38.186 Dumping 1 locks <0xb6b40b90>
05 11/16/07 2:47:38.186 finished check for exceptions <0xb6b40b90>
05 11/16/07 2:47:38.186 OL: (0x80b47b4) (>1) alarm AlarmManager.cpp l:87 time: 2:47:38a (0 s) thread: 3065255632 Rel: Y Got: Y <0xb6b40b90>
And what do you know?
# file /home/public/data/audio/Pink\ Floyd/Wish\ You\ Were\ Here/Have\ a\ Cigar.ogg
/home/public/data/audio/Pink Floyd/Wish You Were Here/Have a Cigar.ogg: Audio file with ID3 version 23.0 tag, MP3 encoding
# ogginfo /home/public/data/audio/Pink\ Floyd/Wish\ You\ Were\ Here/Have\ a\ Cigar.ogg
Processing file "/home/public/data/audio/Pink Floyd/Wish You Were Here/Have a Cigar.ogg"...
Warning: Hole in data found at approximate offset 4500 bytes. Corrupted ogg.
New logical stream (#1, serial: 76bf03de): type vorbis
Vorbis headers parsed for stream 1, information follows...
Version: 0
Vendor: Xiph.Org libVorbis I 20050304
Channels: 2
Rate: 44100
Nominal bitrate: 80,000000 kb/s
Upper bitrate not set
Lower bitrate not set
User comments section follows...
artist=Pink Floyd
genre=Rock
date=1975
album=Wish You Were Here
tracknumber=3
Vorbis stream 1:
Total data length: 2833759 bytes
Playback length: 5m:08.000s
Average bitrate: 73,604130 kb/s
Logical stream 1 ended
Warning: Hole in data found at approximate offset 2838528 bytes. Corrupted ogg.
Hole in one! My .ogg apparently turned into an MP3...
Unfortunately this little excercise has not provided me with more clues as to where to look in the code for the part responsible for the id3 tagging, which is why I did this. I was hoping for some clues in the logging. I guess the only conclusion I can draw from this that a database connection is needed to properly test this.