Hi there, just to note it here, since I forgot to put it into the CVS change message: Both AddOnManager::RegisterReader()/Decoder() had a broken locking strategy: void AddOnManager::RegisterReader() { 1) lock check if the reader already exists unlock ... initialize reader ... 2) lock add reader unlock } When you lock again in 2), the same reader could have been added in the meantime; you would have to check for its existence again. It's better in this case to hold the lock during the whole time, given that the whole process is relatively light-weight. Bye, Axel.