#1 OGG multi-page header support

open
nobody
None
5
2007-02-22
2007-02-22
Christian Browet
No

There is a bug (I think) in the vorbis library.
If the comment header is spanning multiple OGG pages, the libray fails to read all the comments.

These updated files solve the problem.

Discussion

  • M@B
    M@B
    2007-02-22

     
    Attachments
  • M@B
    M@B
    2007-02-22

    Logged In: YES
    user_id=1364593
    Originator: NO

    Hey ! :) Thank you so much.

    I am twice flattered.
    First you understand my code (so my code is not totally obscure).
    Secondly, you're able to correct the bug quite gently with your own style.
    That's great.

    I've read your patch, and i totally confident in merging it in WMPTSE VorbisTagSupport.

    I've just un-"algorithmically recursive"-ed it(don't know how to say it in english :).
    WMP plug-in have strong limitation in term of stack, so i must ensure to avoid all recursive code as far as i can.

    I've joined the new "unrecursived" (??) source code.
    You will see that i've edited it with my own code style.
    It was necessary for me to understand it correctly. I hope you don't mind.

    As i had no Vorbis file with multiple ogg files (in fact i don't use Vorbis at all), i cannot test it correctly.

    If you please, i ask you to test, report and repair/modify the code as necessary.

    You will also find that i've credited you with the functionnality (i will need you to choose what type of copy politic you'd like and the name/pseudo i can publish in the source).

    On a side note, if you're interested in the reponsability of all the WMPTSE Vorbis Tag Support, let me know.
    I cannot concentrate on every part of the wide galaxy of audio files tagging and the more i got help, the better i can cherish WMPTSE itself.

    Best regards,

    MaB_fr
    File Added: VorbisTagSupport.zip

     
  • Logged In: YES
    user_id=61795
    Originator: YES

    Wow... You've overhauled the code quite extensively in a little time. So, I'm back trying to understand it now ;-) I don't mind, though.

    It doesn't work in the current state. I will debug it tommorow.
    As for the credit, my true name is fine, I'm not shy :-)

    If it can help you, I've no problem taking responsability for the OGG part. To your contrary, my whole library is OGG so I don't lack test file ;-)

    Regards
    - Koying -

     
  • Logged In: YES
    user_id=61795
    Originator: YES

    Ok, I've debugged your changes and it is working (read-only).
    I'll work on the tag writing later.

    Now, I'm running WMP11 and I noticed some problems in WMPTagSupportExtender self. When adding file by drag-drop in the playlist, all is fine. Tags are read and files are added to the library.

    However, doing a library refresh, the tags are not read. Furthermore, double-clicking an "not read tag" OGG in the library (which should refresh the tags) crashes WMP because there seem to be a loop in WMPTagSupportExtender. As soon as you do a "SetTagValue", a "MediaChange" event is triggered and we are entering a loop.

    Could you check if all is fine on WMP10?

    Maybe a WMP11 branch would be needed. I could assist if you want.

    Regards
    - Chris -
    File Added: VorbisTagSupport_20070223.zip

     
  • M@B
    M@B
    2007-02-23

    Logged In: YES
    user_id=1364593
    Originator: NO

    Ok, i think you have enabled the "When browsing the library option" ?

    I know this one can trigger an infinite loop because of WMP reentering WMPTSE on each change WMPTSE made (being triggered by WMP, hence the infinite loop) as you describe it. The strange thing is WMP Plug-in are supposed (MSDN doc) to be single threaded and loaded once. And i would thing MS had made necessary precaution not to be reentrant. It appears they didn't care...

    The strangest thing is : it does not trigger any infinite loop with APETagSupport.dll...
    So it must be a bug in FLACTagSupport and VorbisTagSupport, or some magic byte i've activated somewhere in the build process which triggers those problems...
    I know i could resolve some of these problem with a special WMP11 branch and using the new IWMPEvents3 interface, but i was waiting to have some relief on the tag support front :) Here you come in the right time.

    I've made a "patch" in 1.4 (it simply disabled the "When browsing library" panel option).
    I was waiting for you code to publish WMPTSE 1.4 with an enhanced Vorbis support.
    So i guess we're good to go soon.

    I'm happy to give you the responsability of Vorbis tagging. I think you discover that there's lots of work to do before being able to call it a "1.0" tag support (it's presently a 0.53).
    Your goal is now to go full release when you can :)

    For this, i will need you to do a "raw" estimate of your time schedule (+- 2 weeks, no need to be "day" precise) with major milestone (mainly write support of course :)) and i will get you a SVN access (i will reorganise the SVN source to match our current use).

    Apart from that, your free to act as you please. I consider you're in charge right after 1.4 release, so...now :)

    If there is anything you want to know about the release process or anything you could be aware of, do not hesitate.

    Welcome on board.

    Regards

    MaB_fr
    P.S. : maybe we need to exchange mail adresse as those sourceforge interfaces are a bit of overhead
    you can join me in (to avoid robots replace by the good expression :)) : "the name i sign" at hotmail dot com