IRC Log Viewer » #firebreath » 2012-11-17

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 :(
I hate*
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:
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 with curl?
jshanab 08:11 Yup
WoLfulus 08:11 works fine with all browsers?
jshanab 08:11 Definitly
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
WoLfulus 08:11 what ways?
jshanab 08:11 Taxillian can probably give you the +/- and differeneces
WoLfulus 08:11 wich
oh god
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 good page
WoLfulus 08:11 ok, thank you
i'll take a look
jshanab 08:11 I started with this code becasue I am pulling into memory so I can decode and display it
WoLfulus 08:11 amazing
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
WoLfulus 08:11 yeah
seems easier
i'll try changing to curl
thanks :)
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
WoLfulus 09:11 lol
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
WoLfulus 09:11 yes haha
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?
I mean, in theory, people can use it if they study the javascript source
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?
jshanab 09:11 Yes.
There are other tasks like adding PTZ api and new camera modules but those are the main current projects
WoLfulus 09:11 ahh
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 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
WoLfulus 09:11 ahh!
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: :)
taxilian 09:11 looking
WoLfulus 09:11 thank you
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
lets see
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?
any suggestions?
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...
jshanab 10:11 Ah, nice
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 :-)
taxilian 10:11 hehe
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
WoLfulus 10:11 C++0x ftw
lambda functions helps a lot when dealing with events
totally out of context, but whatever :P
taxilian 10:11 hehe
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
supporting std::function<>
so I can pass lambdas
with captures
taxilian 11:11 cool
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
taxilian 11:11 yeah
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
WoLfulus 11:11 thank you
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
any ideas?
i'll paste the errors when compiling with debug build
error LNK1169: one or more multiply defined symbols found D:\Projects\...\npWebUpdater.dll
wrong error*
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?
WoLfulus_coding 16:11 2010 sp1
taxilian 19:11 hmm. that should be fine, it's probably just related to debug/nondebug crt
WoLfulus_coding 21:11 hey
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
WoLfulus_coding 22:11 i know
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
taxilian 22:11 yeah
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
and .h
a "library"
of my own
and I want FB to detect and create the project
for me
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
WoLfulus_coding 22:11 cmake*
taxilian 22:11 and it should have a CMakeLists.txt file in it
WoLfulus_coding 22:11 hmmm
i'll take a look
taxilian 22:11 cmake doesn't ever "just find" things
WoLfulus_coding 22:11 oh
i found a typo o.0
i think
look @ src\3rdParty\boost\libs\iostreams\CMakeLists.txt
thats why it was created in the root solution?
taxilian 22:11 possible
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
WoLfulus_coding 22:11 ;)
taxilian 22:11 file a jira bug or send in a pull request
WoLfulus_coding 22:11 where's jira?
sorry about that...
and I have no clue how to make a pull request... I'm still a svn guy :P
taxilian 22:11
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
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
WoLfulus_coding 22:11 :S
taxilian 22:11 good luck. I'm off to bed