|IRC Nick||Time (GMT-7)||Message|
|wolfulus||03:11||my browserstream is caching my requests, even passing cache = false... whats happening? :S|
|wolfulus_||03:11||so... ? :S|
|wolfulus||06:11||you guys really need to fix the log of IRC, really|
|kylehuff||07:11||WoLfulus: the IRC logs are being worked on, but don't you think that is a rather dick thing of you to say? maybe you didn't mean it rude, but you sure come off as such making comments like that.|
|WoLfulus||07:11||i'm sorry about that... and I never wanted to be rude or something like thats... the guys over here are amazing... but sometimes I just can't stay connected to see the answer... thats why I said that... I have being inconvenient by asking always the same question over and over
sorry again :(
|kylehuff||07:11||no offense taken, just letting you know how you came off. nobody wants to help someone who is a dick.|
|WoLfulus||07:11||thats not what I meant to... I'm really sorry...
I just got an IRC client on my laptop... I'll keep it connected btw...
|WoLfulus||07:11||I just wanted to know if someone had the same problem I got now... I explain it better here: http://pastebin.com/BKQ0nyzh|
|jshanab||08:11||Sorry I have not tried the streaming api, I have been using curl. My problems with chrome are if i try to resize the browser it crashes with a stack overflow, some kind of infinite loop handling window events. :-( Let me know if you hear how to fix that one! 46% of the population using chrome, I can't keep saying "not supported"|
|WoLfulus||08:11||my plugin has no graphics
at least I think I'm out of that one
|jshanab||08:11||I do pull all video data accross the wire using http. I just use a multipart-mime style streaming|
|WoLfulus||08:11||works fine with all browsers?|
|WoLfulus||08:11||I'll need to switch from BrosweStream to curl then
because it hangs on IE/FF
|jshanab||08:11||There are two ways to use curl.
I have never used BrowserStream. I had installed curl before I heard about it
|jshanab||08:11||Taxillian can probably give you the +/- and differeneces|
sorry my english :P
learned by myself...
|jshanab||08:11||The easy interface and the multiple interface which allows multiple easy calls to operate in parallel and be canceled if necessary.|
|WoLfulus||08:11||I'll ask him when he gets back
I can track the progress of the stream easily?
|jshanab||08:11||There is a progress callback. (It is how you stop it if you want also)
Let me see if I can point you to the example I liked
http://curl.haxx.se/libcurl/c/example.html good page
|WoLfulus||08:11||ok, thank you
i'll take a look
|jshanab||08:11||http://curl.haxx.se/libcurl/c/getinmemory.html I started with this code becasue I am pulling into memory so I can decode and display it|
i'll need to decode it too
since i'm pulling gzipped files
i'll definetly take a look
|jshanab||08:11||I tried boost::asio,, windows built in http and curl. Curl was the fastest for http and the easiest to get working. it just worked. for SSL, windows built in was faster|
i'll try changing to curl
actually where do you place your "curl_global_init" call?
I'm not used to the plugins lifetime yet
|jshanab||09:11||In the static initialize. but curl considers the curl_global_init idempotent so it is safe to call it more than once|
|WoLfulus||09:11||yeah, I was reading about it in the docs|
|jshanab||09:11||Browser owns plugin lifetime and may create new plugins before fully shutting down old ones|
|WoLfulus||09:11||its already on the static initialize ;)|
|jshanab||09:11||I have had to deal with the lifetime issues because a web page usually has 8-20 plugin instances on it then people change screens to a different set or one single then back again. fun|
what your plugin does?
|jshanab||09:11||Display security cameras live,restreamed, and archive with frame level control, zooming, etc|
|WoLfulus||09:11||ahh, such a complex thing|
|jshanab||09:11||After i wrote the plugin i took 80% of the code and wrapped it into an iphone app and now a droid app.|
|WoLfulus||09:11||I'm working on a simple plugin... its just a web "launcher" for downloading/launching native windows games and keeping them updated...|
|jshanab||09:11||interesting. This started simple, it always starts simple|
but I have the logic already done, but in a desktop application
so its "ready"... I'm just wrapping it to the browser
|jshanab||09:11||Now. I need to start trans-codeing on the server. When people pull in 6 cameras, they pull at resolution then scale down for display. Way to much bandwidth!
Do you have sandbox issues?
|WoLfulus||09:11||what you mean?
people running browser in a sandbox?
|jshanab||09:11||Well a browser is really only allowed to write to one section of the disk. but i guess you can always downalod an installer|
|WoLfulus||09:11||hmmm, I didn't tested it yet, but games will be stored in the plugins folder|
|jshanab||09:11||Then you are definately ok|
|WoLfulus||09:11||ahhh, I think you can answer another thing that I'm thinking about
how can I protect my plugin from being used by others?
Actually I'm checking the current domain name and making most functions fail if not on a trusted one...
but I don't know if there's a more 'reliable' way for doing so
|jshanab||09:11||Well whaen we added ajax in a php file on the server, the side effect was invisible calls. Maybe everyone can download plugin but only approved users can use it. That can be a key in a cookie store
For security we are gonna go ssl. Curl handles that but it is a pain. And besides it may be https and encrypted coming down the pipe but anyone can view source. I do not know how to prevent that yet
|WoLfulus||09:11||ah, I don't mean the "users"
but some people using my launcher engine to launch their own games
most MMORPGs now are launching the game and/or their updater software directly from the browser... but there are always "pirated" servers and "kids" making their private servers...
I want to avoid these "private servers" from using my plugin
I think checking the domain name is my best bet for now
|jshanab||09:11||I dunno. I don't know enough about how your plugin works. basically "The design of the lock needs to not be a worry, just protect the key"|
|WoLfulus||09:11||I'll think about other ways... but I think I'll keep with the domain name check
lets see ;)
|jshanab||09:11||If all your games respond to a request from or send a request to the engine and only then load, it can all be compiled in|
|WoLfulus||09:11||ahh, nice, making a request to the server and checking what it replies is a good option too...
but sure I'll need to go SSL and some type of encryption...
well... too many things to do :P
|jshanab||09:11||tell me about it
I am currently writing the sceduleServer, archiveServer, plugin,and the droid app
And the remote consoleapp
|WoLfulus||09:11||all related to the same project? cameras?|
There are other tasks like adding PTZ api and new camera modules but those are the main current projects
but its your own project or you work for someone?
|jshanab||09:11||A new front end (website) is needed but the other 2 developers are going to spearhead that side
the company I work for http://www.smartwire.com/ We are really a subsidiary but when i went to grab the link i found it ...ahem... down! We had a major outage and I guess that server is down.
Good morning taxilian
I work for my own...
I don't really "work"
I'm a student yet, but I like doing my own projects :P
most of them I sell in the end
ah, taxilian, take a look here if you can: http://pastebin.com/BKQ0nyzh :)
|taxilian||09:11||is there a reason you're not just using the SimpleStreamHelper class?|
|WoLfulus||09:11||I need to track the download progress
I don't know how to do it with SimpleStreamHelper
|taxilian||09:11||so I would first try using simplestreamhelper
and make sure that works
if it doesn't, you have deeper problems
|WoLfulus||09:11||well, I'll try then
|taxilian||09:11||then you have two choices; you can either add progress support to simplestreamhelper (which I've thought about several times but not had time to do) or you can try to figure out what is different|
|WoLfulus||09:11||what about cache on chrome?
|jshanab||10:11||I was wondering what is simplestreamhelper or BrowserStreams based on. I have been happy using cul, even though it is I think more work|
|WoLfulus||10:11||As far as I understood from reading all over the place... you make a request to the browser, the browser opens a stream for you and manages it... the browser then fires some callbacks from the main thread for you to handle the connection...|
|WoLfulus||10:11||I don't know exactly, maybe I'm wrong... taxilian?|
|taxilian||10:11||that is more or less correct, yes|
|jshanab||10:11||I finally got things working smoothly and reliably in Firefox,ie8,ie9. But I am having a severe issue with chrome. 4 different drawing backends using opengl or directx and a resize of browser crashes chrome. I get a stack trace and is always an infinte loop on event handleing. Any ideas? (we tried the child window trick but it really gave us fits)|
|taxilian||10:11||I'd probably have to look through what you're doing with event handling; I'd try commenting things out until the problem goes away, try to identify what is happening|
|jshanab||10:11||It is an infine loop of CallWindowProc->GetClientRect->GetThreadDesktop->gapfnScSendMessage-> It needs to send a message to get the data but that window does not exist so it sends to defaultWindow proc and ends up calling itself until the stack overflows|
|taxilian||10:11||is there no other way you can get the data?|
|jshanab||10:11||I am using the FB plugins callbacks for events and it happens if I comment all the event handleing out
It is the plugin that crashes. I think we had the same on FF until we forced it to run in process!
|taxilian||10:11||there has got to be a way to fix that
but I would have to experiment to have a chance of finding it :-/
|jshanab||10:11||Wanna? I can shre the desktop :-)|
I can't right now
but I could maybe find some time next week
|jshanab||10:11||I tried DirectX ,DirectX thru SDL, OpenGl thru SFML,SDL and now GLFW. It is always in the swapbuffers or directX equivelent but all crash, so quite weird. I was debugging once and in sdl it was a failed call to GetWinProp that resulted in the infinite loop. I would really appriciate any help next week|
lambda functions helps a lot when dealing with events
totally out of context, but whatever :P
|WoLfulus||10:11||C++11 now ^^|
|taxilian||10:11||I wish I could use c++11 for firebreath, but we have to support older compilers :-/|
|jshanab||10:11||Futures would be nice.|
|WoLfulus||10:11||I'm planning to remake my signal/slot lib
so I can pass lambdas
kinda wish I'd known about signals/slots pattern when I created FireBreath
I might even someday redo things to use that pattern
for a non-backwards compatible 2.0 branch
but I ahven't had time lately
|WoLfulus||11:11||time is always the problem... i suffer from the same thing
i think everyone does
|WoLfulus||11:11||wish i had time for many of my projects|
|taxilian||11:11||and speaking of which, it is time for me to leave. Good luck|
good luck for you too :P
|jshanab_||16:11||I am trying to debug a plugin on mac in xcode and when it attaches it crashes before the first breakpoint. Always the same on "XUL`JS_AbortIfWrongThread" Is there anyway to debug on MAC with xcode? (4.3.3)|
|WoLfulus_coding||16:11||I had some problems when debugging in visual studio too...|
|taxilian||16:11||I've debugged in xcode|
|jshanab_||16:11||I have no problems in Visual studio. xcode never, not even once has it worked :-(|
|WoLfulus_coding||16:11||RelWithDebInfo build doesn't point to the right lines of code when stepping in/out, and Debug build is broken - keeps asking for libs that c++ uses for internal checks i think
i'll paste the errors when compiling with debug build
error LNK1169: one or more multiply defined symbols found D:\Projects\...\npWebUpdater.dll
error LNK2005: __invoke_watson already defined in LIBCMTD.lib(invarg.obj) D:\Projects\...\WebUpdater\LIBCMT.lib(invarg.obj)
I think I know how to fix it from the IDE, but not with CMake :S
this started after adding openssl/curl to the project
|taxilian||16:11|| crt instead of dynamic
sorry, not typing well
|jshanab_||16:11||OK, trick Number one change debugger from LLDB to GDB|
|taxilian||16:11||your issue is you're using libraries with conflicting versions of the cRT linked in
i.e. you need to use debug libs with your debug build, nondebug libs with your nondebug build
|WoLfulus_coding||16:11||but I'm not using any external libraries
just firebreath ones
|jshanab_||16:11||Every sln I find defaults to /MDd and firebreath is usually MTd I have to change every build project .
So I HAD to build curl. All downlaoded ones crash. (but curl is avail inside fb)
|WoLfulus_coding||16:11||I don't see curl being compiled in the IDE also... seems like its linking an existing .lib
this is what I think is causing this with debug builds
|jshanab_||16:11||I built because I needed openssl and the built in one is not ssl. Correct?|
|taxilian||16:11||could well be curl and/or openssl
what version of vs are you using?
|taxilian||19:11||hmm. that should be fine, it's probably just related to debug/nondebug crt|
how can I add boost::iostreams to my project?
ok, got it, but project is showing outside the "Libraries" filter... what file do I need to modify to get it into the right filter?
|taxilian||22:11||WoLfulus_coding it doesn't matter which filter it shows up in
it will work all the same
its just to keep it organized
|taxilian||22:11||I forget the exact command; look at the other cmakelists.txt files for boost libs
should be easy to see
|WoLfulus_coding||22:11||cmake is a little confusing
just started using it with firebreath
|WoLfulus_coding||22:11||which is... 3 days ago?|
|taxilian||22:11||it's pretty annoying|
|WoLfulus_coding||22:11||too much to learn :P|
|taxilian||22:11||nearly as bad as all of the other options, in fact|
|WoLfulus_coding||22:11||let me ask you one little thing
if a have a bunch of cpps
of my own
and I want FB to detect and create the project
its does the search, and blablabla?
|taxilian||22:11||firebreath doesn't create projects for you
you need to do an add_subdirectory for the dir in question
|taxilian||22:11||and it should have a CMakeLists.txt file in it|
i'll take a look
|taxilian||22:11||cmake doesn't ever "just find" things|
i found a typo o.0
look @ src\3rdParty\boost\libs\iostreams\CMakeLists.txt
thats why it was created in the root solution?
I can't look at it right now
I've never used that lib, so I may have just thrown in a cmakelists in a hurry
|WoLfulus_coding||22:11||set_target_properties(boost_iostreams PROPERTIES FOLDER "Libraries")
it was written set_target_properties(boost_filesystem PROPERTIES FOLDER "Libraries")
|taxilian||22:11||that would do it|
|taxilian||22:11||file a jira bug or send in a pull request|
sorry about that...
and I have no clue how to make a pull request... I'm still a svn guy :P
that's a shame
but I'm sure you'll see the light eventually ;-)
|WoLfulus_coding||22:11||I need a side-by-side comparison and a good tutorial to get started|
|taxilian||22:11||check out progit.org/book
it explains it pretty well (IMO)
|WoLfulus_coding||22:11||i'll definetly take a look|
|taxilian||22:11||though you don't need to read all of it|
|WoLfulus_coding||22:11||libbz2 and zlib are available for using?
boost::iostreams requires both... I got stuck lol
|taxilian||22:11||I have gotten them working okay
but they aren't in firebreath
|taxilian||22:11||good luck. I'm off to bed|