Hello,

After some research and some refactor I did the following:

   - In my p3stuff function I call emscripten_set_main_loop(wait_wgets, 0,
   0); so the application is not terminated.
   - In wait_wgets I call the emscripten_async_wget(imageUrl, path,
   onLoaded, onError); only the first time the method is called.
   - In the onLoaded callback I call emscripten_cancel_main_loop(); and
   then I call my c code that perform the jpeg stuff.

Problem is:
the p3stuff function has 2 arguments: int p3stuff(char *imgUrl, unsigned
char *wrappedkey)
When it's called i have two global variables unsigned char *wrappedKey; and
char *imageUrl; which are assigned with the argument like that:

wrappedKey = wrappedkey;
imageUrl = imgUrl;

I do that in order to access the image url from the wait_wgets() or the
wrapped key from the onLoaded callback but I think there is some memory
management problems cause if I print the url just before calling
emscripten_async_wget the imageUrl variable content is completely rubbish
but id I don't print anything it works.

So how can I use the global variables in C in order to not get overwritten?
Maybe using malloc, or memcopy?

Thanks,

Pau

2015-10-19 10:53 GMT-07:00 Pau Ballart <[email protected]>:

> Okay I will try the async version and let you know.
>
> Thanks
>
> 2015-10-17 19:37 GMT-07:00 Alon Zakai <[email protected]>:
>
>> The only tricky thing with emscripten_wget is that as mentioned in the
>> docs,
>>
>>
>> http://kripken.github.io/emscripten-site/docs/api_reference/emscripten.h.html#c.emscripten_wget
>>
>> it requires the ASYNCIFY option. It's easier in general to use the async
>> version, emscripten_async_wget, which does not require ASYNCIFY.
>>
>>
>> On Sat, Oct 17, 2015 at 10:47 AM, Pau Ballart <[email protected]> wrote:
>>
>>> I think the php code is correct so I'm just trying to download an image
>>> and process it's data but I think I'm missing something about the lifecycle
>>> or wget function because I get unexpected exit errors.
>>>
>>> So I'd like to know if the  emscripten_wget(imgUrl, path); is correct
>>> because I have the weirdest behaviour ever that depending on the p3stuff
>>> function param "wrappedkey" the download succeeds or not.
>>>
>>> 2015-10-15 17:07 GMT-07:00 Alon Zakai <[email protected]>:
>>>
>>>> I see you have
>>>>
>>>> P3Func = Module.cwrap('p3stuff', 'number', ['string', 'string']);
>>>>
>>>> which looks good.  You can then call it with something like
>>>>
>>>> result = P3Func('first', 'second');
>>>>
>>>> which I see you are doing. What part of that are you trying to improve?
>>>>
>>>>
>>>> On Thu, Oct 15, 2015 at 12:59 PM, Pau Ballart <[email protected]>
>>>> wrote:
>>>>
>>>>> Okay so the php is just calling a function I declared. Because I need
>>>>> to pass the image url as an argument and a key, I don't know how to do it
>>>>> using the main function so I changed the main function for this one with
>>>>> the two arguments and then called this function from my php code.
>>>>> Is there a better way to call emscripten passing parameters?
>>>>>
>>>>> Thanks.
>>>>>
>>>>> 2015-10-15 12:55 GMT-07:00 Alon Zakai <[email protected]>:
>>>>>
>>>>>> It would be good to focus the question more, it's hard to tell what
>>>>>> the core issue is. Try to reduce the problem to just one concrete thing,
>>>>>> like just loading a file, and doing it without that custom PHP script, 
>>>>>> for
>>>>>> example.
>>>>>>
>>>>>>
>>>>>> On Thu, Oct 15, 2015 at 12:27 PM, Pau Ballart <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> Hello developers,
>>>>>>>
>>>>>>> I'm starting a project and I'm new at Javascript and emscripten. I'm
>>>>>>> trying to download some image data from a server and then process it 
>>>>>>> using
>>>>>>> some c functions I already have working. I asked this question in
>>>>>>> Stackoverflow so I share you the link and maybe one of you can help me.
>>>>>>>
>>>>>>>
>>>>>>> http://stackoverflow.com/questions/33087205/emscripten-code-for-image-data-download-using-emscripten-wget-or-emscripten-asyn
>>>>>>>
>>>>>>> Thank you,
>>>>>>>
>>>>>>> Pau B
>>>>>>>
>>>>>>> --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "emscripten-discuss" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to [email protected].
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to a topic in
>>>>>> the Google Groups "emscripten-discuss" group.
>>>>>> To unsubscribe from this topic, visit
>>>>>> https://groups.google.com/d/topic/emscripten-discuss/BEb-1mjDvZI/unsubscribe
>>>>>> .
>>>>>> To unsubscribe from this group and all its topics, send an email to
>>>>>> [email protected].
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Pau Ballart
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "emscripten-discuss" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>> --
>>>> You received this message because you are subscribed to a topic in the
>>>> Google Groups "emscripten-discuss" group.
>>>> To unsubscribe from this topic, visit
>>>> https://groups.google.com/d/topic/emscripten-discuss/BEb-1mjDvZI/unsubscribe
>>>> .
>>>> To unsubscribe from this group and all its topics, send an email to
>>>> [email protected].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>>
>>> --
>>> Pau Ballart
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "emscripten-discuss" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "emscripten-discuss" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/emscripten-discuss/BEb-1mjDvZI/unsubscribe
>> .
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected].
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> --
> Pau Ballart
>



-- 
Pau Ballart

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to