I’ve made a bit of progress:
$ mono ReadFromUri.exe ~/Downloads/mac_pc_linux_2.OGG /home/brian/Downloads/mac_pc_linux_2.OGG Audio Video Title: Artists: Performers: Composers: Album: Comment: Genres: Year: 0 Track: 0 TrackCount: 0 Disc: 0 DiscCount: 0 Lyrics: Audio Properties Bitrate: 56 SampleRate: 22050 Channels: 2 Video Properties Width: 320 Height: 240 Length: 00:00:41.8750000 Embedded Pictures: 0 --------------------------------------- Total running time: 00:00:00.2400040 Total files read: 1 Average time per file: 00:00:00.2400040
The original file ended with a Vorbis page, which is easy to read, so I corrupted it and got duration parsing from a final Theora header (with some great help from the people at #theora on freenode).
The main problem now is: How do I update the tags. I’m going to have to look at the TagLib implementation more thoroughly, but at this point I’m scratching my head. Should I extract all the packets from the first page containing comment data to the last, then generate my own pages? It’ll probably take me a couple days to figure this out.
And then… M4V, MPEG (Just stick a ID3v2.4 on the end?), AVI, and I’m done! With all this change, I think this’ll be 2.0.