CR: Bug 237651 Failure to initialize inputs upon first encode attempt.

"Sujeet Kharkar" <[email protected]>
Newsgroups gmane.comp.multimedia.helix.devel
Message-ID <004401c9af32$ef9eb0f0$8c8c17ac@sujeetlaptop>
Synopsis

============

Bug 237651 Failure to initialize inputs upon first encode attempt.

Producer Fails to encode on first encode.

 

Suggested Reviewer: Eric Hyche

 

Branches

=========

Head

 

Description

==============

Cause:

=======

In Media Platforms Init() call. There is call to
Plugin2Handler::RefreshPluginInfo, which reads registry for plugin's cached
information.

 

Default key used with producer is
HKEY_CURRENT_USER\Software\Helix\HelixSDK\1.0\Preferences\MountPoints. 

This registry contains details about each plugin like dll name mount point
and other details including GUID of plugin.

During reading PluginHandler will create internal index, which will map
plugins properties from registry like GUID to actual plugin.

At the end PluginHandler scans actual dll present in mount point to confirm,
if any of loaded DLL are not present in registry it re-writes registry
entry. At this point it checks if plugin implements IHXComponentPlugin, in
yes then other plugin properties like GUID are added to index.

 

During first encode, there is no registry entry so PluginHandler will not
update it's internal index of GUID to plugin as most of producer plugins do
not implement IHXComponentPlugin, hence when producer SDK tries to create
plugin from GUID it will fail. 

During second encode and hence forth these enteries are created, so
everything works.

 

Fix

===

Fix was to add additional plugin values to index even though plugin does not
implement IHXComponentPlugin.

 

 

Files affected

==================

client/common/container/plghand2.cpp,v

 

 

Testing

=================

Verfied with deleting registry entry producer is still able to encode.

 

QA Hints

=============

None

 

Diff

=======

Index: plghand2.cpp

===================================================================

RCS file: /cvsroot/client/common/container/plghand2.cpp,v

retrieving revision 1.59

diff -u -r1.59 plghand2.cpp

--- plghand2.cpp  19 Jan 2009 23:35:18 -0000    1.59

+++ plghand2.cpp  27 Mar 2009 22:11:48 -0000

@@ -582,6 +582,7 @@

                 {

                     pPlugin->GetValuesFromDLL(pIHXPlugin);

                     m_PluginList.AddTail(pPlugin);

+                    AddPluginToIndices(pPlugin);

 

                     // Print out some log info about the plugin we just
loaded

                 {

_______________________________________________
Helix-client-dev mailing list
[email protected]
http://lists.helixcommunity.org/mailman/listinfo/helix-client-dev
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.