CLR Browser Source Plugin [OBS Classic ONLY]

Tech3dge

New Member
So I have been trying for awhile now to get this plug in to work and i'm at a complete loss, the 64bit gives me an error: The program can't start because MSVCR120D.dll is missing from your computer. I have tried to fix this on my own, downloading some vcredist thing to no avail.. anyone able to talk me through what i did wrong? i've reinstalled OBS a few times and i just cant seem to figure out why this plug in hates me T.T

thanks i love you :)
Windows 8.1
 

Jack0r

The Helping Squad
Hey faruton,
grabbed your latest 64bit release but having trouble using it ;(
Code:
14:14:18: CLR host plugin strings not found, dynamically loading 4 strings
14:14:18: CLRHost::Initialize() attempting to load and start the .NET runtime (null)
14:14:18: CLRHost::Initialize() Found version v2.0.50727 .NET runtime
14:14:18: CLRHost::Initialize() Found version v4.0.30319 .NET runtime
14:14:18: CLRHost::Initialize() attempting to use v4.0.30319 .NET runtime
14:14:18: CLRHost::LoadInteropLibrary() load the assembly plugins\CLRHostPlugin\CLRHost.Interop.dll
14:14:18: CLRHost::LoadInteropLibrary() failed to load the assembly: 0x8007007e
The "old" 32 and 64bit versions both work though. I remember that error code, but wasnt sure anymore what to do :(
 

DeezjaVu

Member
Installed latest 64bit version and it's no longer showing up in OBS.

http://i.imgur.com/SIviZZ6.png

Petty much the same as mentioned by Jack0r earlier:

Code:
00:46:45: CLR host plugin strings not found, dynamically loading 4 strings
00:46:45: CLRHost::Initialize() attempting to load and start the .NET runtime (null)
00:46:45: CLRHost::Initialize() Found version v2.0.50727 .NET runtime
00:46:45: CLRHost::Initialize() Found version v4.0.30319 .NET runtime
00:46:45: CLRHost::Initialize() attempting to use v4.0.30319 .NET runtime
00:46:45: CLRHost::LoadInteropLibrary() load the assembly plugins\CLRHostPlugin\CLRHost.Interop.dll
00:46:45: CLRHost::LoadInteropLibrary() failed to load the assembly: 0x8007007e
 

Jack0r

The Helping Squad
Its strange, the last update fixed the error for me, but chaot on the chat also reported it :(
 

Faruton

Developer
Make sure you reread the description page as I have updated the requirements (2013 redist)

If that doesn't resolve the issue let me know
 

ChrisHanel

New Member
I have the plugin working with 64-bit and the new redistribution package, however, I'm getting javascript errors on a simple document.getElementById command. It's not able to find the element on the page, even though i'm executing the command long after the page is loaded. Wasn't having this issue with the old version. Advice?
 

ChrisHanel

New Member
Yeah, that's where i'm seeing the error. now getting "undefined is not a function" errors. It doesn't seem to be able to successfully locate elements in the DOM now.
 

Faruton

Developer
Interesting

Obviously if you set the URL to a website it renders rather complicated sites filled with JavaScript so I'm not sure

I'd need to look at what you are trying to do

I did notice that there is a problem with files ending in htm

(Mime type was not understood by chrome)
 

ChrisHanel

New Member
The URL is pointed at a website with a single flash object with tag ID.

inside the javascript, NodeCG is sending a message that is intended to trigger a function inside Flash. The function is successfully triggered and runs this:

function foo(data) {
var bar= document.getElementById("flashembed");
bar.timerStart();
}

Error: undefined is not a function.
 

Faruton

Developer
Every test I try seems to work. You aren't by chance using the wrong case for a function? If possible can you provide html that has the error you are seeing?
 

ChrisHanel

New Member
The HTML is just an object/embed tag on an otherwise empty page. This function fires properly in the previous version of CLR Browser as well as in a regular browser window, so the only culprit I can pinpoint is the new update.

HTML:

<link href="CSS SHEET" rel="stylesheet"/>
<script src="JAVASCRIPT.js"></script>
</head>
<body>
<object width='1280' height='720' id='flashembed'>
<param name='movie' value='flashfile.swf'></param>
<param name='allowscriptaccess' value='always'></param>
<param name='wmode' value='transparent'></param>
<embed
src='flashfile.swf'
type='application/x-shockwave-flash'
allowscriptaccess='always'
autoplay='true'
width='1280'
height='720'
wmode='transparent'>
</embed>
</object>
</body>

Javascript is listening for a nodecg message, which it's receiving. Code:

function foo(data) {
var bar= document.getElementById("flashembed");
bar.timerStart();
}

Uncaught typeError: undefined is not a function
 

DeezjaVu

Member
Make sure you reread the description page as I have updated the requirements (2013 redist)

If that doesn't resolve the issue let me know

All is good again :)

And can confirm that transparent swf's now work properly using 64bit.

One thing I noticed is that the "SingleProcess" parameter is still listed but not editable. I'm guessing it has been removed from the new version, but I still had the old(er) 32bit version installed while testing the 64bit version and maybe it picked up the listing from the 32bit version.

I have now also updated the 32bit version and the "SingleProcess" parameter is still listed. So it's now listed in both 32bit and 64bit and both not editable. It's most likely just a display bug, so no big deal.
 

ChrisHanel

New Member
All is good again :)
One thing I noticed is that the "SingleProcess" parameter is still listed but not editable. I'm guessing it has been removed from the new version, but I still had the old(er) 32bit version installed while testing the 64bit version and maybe it picked up the listing from the 32bit version.

I have now also updated the 32bit version and the "SingleProcess" parameter is still listed. So it's now listed in both 32bit and 64bit and both not editable. It's most likely just a display bug, so no big deal.

I went into the config file in AppData/Roaming/OBS/pluginData/browser.json and edited it here just to be safe, but i have no idea if it has an effect. I know it changed what was displayed inside the plugin settings, though.
 

Faruton

Developer
I think I've narrowed the problem down to how ppapi sandboxes

I'll see if I can get it working and will reply here
 

Faruton

Developer
The HTML is just an object/embed tag on an otherwise empty page. This function fires properly in the previous version of CLR Browser as well as in a regular browser window, so the only culprit I can pinpoint is the new update.

HTML:

<link href="CSS SHEET" rel="stylesheet"/>
<script src="JAVASCRIPT.js"></script>
</head>
<body>
<object width='1280' height='720' id='flashembed'>
<param name='movie' value='flashfile.swf'></param>
<param name='allowscriptaccess' value='always'></param>
<param name='wmode' value='transparent'></param>
<embed
src='flashfile.swf'
type='application/x-shockwave-flash'
allowscriptaccess='always'
autoplay='true'
width='1280'
height='720'
wmode='transparent'>
</embed>
</object>
</body>

Javascript is listening for a nodecg message, which it's receiving. Code:

function foo(data) {
var bar= document.getElementById("flashembed");
bar.timerStart();
}

Uncaught typeError: undefined is not a function

Can you try replacing your template with this:

Code:
<html>
  <head>
    <meta charset='utf-8'/>
    <style>
      body {
        background-color: rgba(0, 0, 0, 0);
        margin: 0px auto;
        overflow: hidden;
      }
    </style>
  </head>
  <body>
    <object
      type="application/x-shockwave-flash"
      id="$(FILE)"
      name="$(FILE)"
      data="$(FILE)"
      width="$(WIDTH)"
      wmode="transparent"
      height="$(HEIGHT)">
    </object>
  </body>
</html>

This works for me with this example run locally: http://demos.learnswfobject.com/external-interface/dynamic.html#

Let me know!

John
 
Top