Ok, I Give Up.

I stop the plugin with

            rv = pluginInstance->Stop();
            rv = pluginHost->StopPluginInstance(pluginInstance);

this stops everything and kills Flash. Audio/Video are gone.

I change the wmode, then restart the plugin with

            nsCOMPtr<nsIPluginInstance> newPluginInstance;
            rv = objlc->EnsureInstantiation(getter_AddRefs
(newPluginInstance));

and Flash restarts. wmode is OK now, and I can grab the pixels. So far
so good.

But this new plugin instance never dies. If I change page or reload, I
keep hearing the movie audio track.

I checked for listeners on the nsIContent, no unload or mutation
listeners. I also tried

            rv = owner->SetInstance(newPluginInstance);

but nothing changes (should I do that anyway?)

I am digging into code to understand what I am missing, but cannot
find the missing piece.

Also: If I try to Stop() the plugin, and then Start() it, without
reinstatiating, it does not work, while it is stated (in
nsIPluginInstance.h) that Start() "may be called after the plugin is
stopped (via the Stop method)". (would be probably useless for me, but
just for the records...)

What I am missing?

Thanks once again,
Aaron

_______________________________________________
dev-embedding mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-embedding

Reply via email to