Hi again, > "Axel DÃrfler" <axeld@xxxxxxxxxxxxxxxx> wrote: > > Theoretically, the app would need to acknowledge to the app_server > > that > > it stopped filling the overlay buffer. I also don't think that the > > BBitmap base pointer will be updated in that case, which would be > > just > > broken. I'll investigate into this a bit. The bitmap pointer is updated by the app_Server. (VLC example: VLC did not fiddle with hooks on modeswitches!, still it all happens: app_server at work ;-) > Thinking about this, this must be the LockBits() thing in BBitmap. > You > must only access the overlay buffer when you hold the lock, and you > must refresh its pointer everytime you locked the buffer. Or update the pointer after the start message from the appserver. And check for NULL I'd say. And you (app) must release the lock as soon as the app_server sends you the stop message, or it will make you segfault. (ah, that's why mediaplayer segfaults.. ;-) I guess it might turn out interesting to reverse engineer the media player :) > But that's probably not what most implementations do. Anyway, I'll > implement it like this, does that sound right to you? :-) With all the stuff I just told you done correctly, yes. :-) It's very true, we don't have a single correct mediaplayer outthere concerning overlay. This has been a problem always: there must be a reference design in the future. It has been tiresome at times to keep writing this kind of emails.. Bye! Rudolf.