Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for edje multisense module

2012-09-03 Thread Prince Kr Dubey

Hi,

Please review the attached patch.
Change Description:
1. Pulse Audio Remix Plug-in added as audio output  device.
2. Support for Multisense initialization/shutdown only when multisense 
feature is used.

3. Enhancement to _edje_multisense_shutdown to fix memory leak.
4. Multisense example enhancement, correction of macros(ENABLE_MULTISENSE  
HAVE_REMIX) used and unnecessary statements are removed in 
edje_multisense.c.
5. Memory Cleanup and pipe closing is done in worker thread and thread 
end/cancel callbacks are removed.
6. Interface multisense_factory_shutdown implementation, Macro WRN 
implementation using eina_log.
7. Fix for buffer underrun in ALSA plugin and REMIX flags are used in 
src/bin/Makefile.am.

8. Multisense support enabled by default.

Signed-Off-By: PRINCE KUMAR DUBEY prince.du...@samsung.com


Thank you,
Prince

--
From: Flávio Ceolin flavio.ceo...@profusion.mobi
Sent: Tuesday, July 10, 2012 3:56 AM
To: Enlightenment developer list 
enlightenment-devel@lists.sourceforge.net

Cc: PRINCE KUMAR DUBEY prince.du...@samsung.com
Subject: Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for 
edje multisense module



Hi Prince,

On Mon, Jul 9, 2012 at 3:50 AM, Carsten Haitzler ras...@rasterman.com 
wrote:

On Fri, 06 Jul 2012 14:59:52 + (GMT) PRINCE KUMAR DUBEY
prince.du...@samsung.com said:



   Hi,


   --

   From: Carsten Haitzler (The Rasterman) [1]ras...@rasterman.com

   Sent: Friday, July 06, 2012 1:38 PM

   To: Enlightenment developer list

   [2]enlightenment-devel@lists.sourceforge.net

   Cc: PRINCE KUMAR DUBEY [3]prince.du...@samsung.com

   Subject: Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in 
for

   edje multisense module


On Mon, 02 Jul 2012 07:07:19 + (GMT) PRINCE KUMAR DUBEY

[4]prince.du...@samsung.com said:

   

these are really suspicious. you're messing with starting/stopping

mainloops here

   

+   ecore_main_loop_quit();

   

+//again main loop begins to process thread cancellation

+ecore_main_loop_begin();

   

:( not good. imagine u shut down edje while still in the mainloop. 
:)


(not relevant for elementary but for things using raw 
edje+ecore+evas/

   etc.

...)

   Anyway in ecore_thread_cancel callback extra ecore_main_loop is being 
quit,

   So will it still be problem!

   Reason for using ecore_main_loop_begin is that 
ecore_thread_cancel/end
   callbacks are not getting called in _edje_multisense_shutdown (for 
memory

   cleanup purpose).

   So,   begining   the   main  loop  again  to  cleanup  the  memory 
in

   ecore_thread_cancel.

   I have altrenate approach to free the memory, when control comes out 
from

   while loop in worker thread, is this approach is ok ?


alternative approach definitely... not the ecore mainloop begin and quit
thing :)

--
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Besides the problem with the main_loop pointed out by raster, i've
found some small issues in the patch. I've attached your patch with
the review. Overall, the patch is working properly :)

Regards,
Flavio Ceolin





edje_multisense_pulseaudio_plugin.patch
Description: Binary data
--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for edje multisense module

2012-07-11 Thread Flávio Ceolin
Hi Prince,

On Tue, Jul 10, 2012 at 10:13 AM, Prince Kr Dubey
prince.du...@samsung.com wrote:
 Hi,

 --
 From: Flávio Ceolin flavio.ceo...@profusion.mobi
 Sent: Tuesday, July 10, 2012 3:56 AM
 To: Enlightenment developer list
 enlightenment-devel@lists.sourceforge.net
 Cc: PRINCE KUMAR DUBEY prince.du...@samsung.com
 Subject: Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for
 edje multisense module

 Hi Prince,

 On Mon, Jul 9, 2012 at 3:50 AM, Carsten Haitzler ras...@rasterman.com
 wrote:
 On Fri, 06 Jul 2012 14:59:52 + (GMT) PRINCE KUMAR DUBEY
 prince.du...@samsung.com said:


Hi,


--

From: Carsten Haitzler (The Rasterman) [1]ras...@rasterman.com

Sent: Friday, July 06, 2012 1:38 PM

To: Enlightenment developer list

[2]enlightenment-devel@lists.sourceforge.net

Cc: PRINCE KUMAR DUBEY [3]prince.du...@samsung.com

Subject: Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in
 for
edje multisense module


 On Mon, 02 Jul 2012 07:07:19 + (GMT) PRINCE KUMAR DUBEY

 [4]prince.du...@samsung.com said:



 these are really suspicious. you're messing with starting/stopping

 mainloops here



 +   ecore_main_loop_quit();



 +//again main loop begins to process thread cancellation

 +ecore_main_loop_begin();



 :( not good. imagine u shut down edje while still in the mainloop.
 :)

 (not relevant for elementary but for things using raw
 edje+ecore+evas/
etc.

 ...)

Anyway in ecore_thread_cancel callback extra ecore_main_loop is being
 quit,
So will it still be problem!

Reason for using ecore_main_loop_begin is that
 ecore_thread_cancel/end
callbacks are not getting called in _edje_multisense_shutdown (for
 memory
cleanup purpose).

So,   begining   the   main  loop  again  to  cleanup  the  memory
 in
ecore_thread_cancel.

I have altrenate approach to free the memory, when control comes out
 from
while loop in worker thread, is this approach is ok ?

 alternative approach definitely... not the ecore mainloop begin and quit
 thing :)

 --
 - Codito, ergo sum - I code, therefore I am --
 The Rasterman (Carsten Haitzler)ras...@rasterman.com


 --
 Live Security Virtual Conference
 Exclusive live event will cover all the ways today's security and
 threat landscape has changed and how IT managers can respond. Discussions
 will include endpoint security, mobile security and the latest in malware
 threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

 Besides the problem with the main_loop pointed out by raster, i've
 found some small issues in the patch. I've attached your patch with
 the review. Overall, the patch is working properly :)

 Regards,
 Flavio Ceolin


 I'll check your comments and update the patch.

 Thanks,
 Prince



 --
 Live Security Virtual Conference
 Exclusive live event will cover all the ways today's security and
 threat landscape has changed and how IT managers can respond. Discussions
 will include endpoint security, mobile security and the latest in malware
 threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Thanks for the update !

Regards,
Flavio Ceolin

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for edje multisense module

2012-07-10 Thread Prince Kr Dubey
Hi,

--
From: Flávio Ceolin flavio.ceo...@profusion.mobi
Sent: Tuesday, July 10, 2012 3:56 AM
To: Enlightenment developer list 
enlightenment-devel@lists.sourceforge.net
Cc: PRINCE KUMAR DUBEY prince.du...@samsung.com
Subject: Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for 
edje multisense module

 Hi Prince,

 On Mon, Jul 9, 2012 at 3:50 AM, Carsten Haitzler ras...@rasterman.com 
 wrote:
 On Fri, 06 Jul 2012 14:59:52 + (GMT) PRINCE KUMAR DUBEY
 prince.du...@samsung.com said:


Hi,


--

From: Carsten Haitzler (The Rasterman) [1]ras...@rasterman.com

Sent: Friday, July 06, 2012 1:38 PM

To: Enlightenment developer list

[2]enlightenment-devel@lists.sourceforge.net

Cc: PRINCE KUMAR DUBEY [3]prince.du...@samsung.com

Subject: Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in 
 for
edje multisense module


 On Mon, 02 Jul 2012 07:07:19 + (GMT) PRINCE KUMAR DUBEY

 [4]prince.du...@samsung.com said:



 these are really suspicious. you're messing with starting/stopping

 mainloops here



 +   ecore_main_loop_quit();



 +//again main loop begins to process thread cancellation

 +ecore_main_loop_begin();



 :( not good. imagine u shut down edje while still in the mainloop. 
 :)

 (not relevant for elementary but for things using raw 
 edje+ecore+evas/
etc.

 ...)

Anyway in ecore_thread_cancel callback extra ecore_main_loop is being 
 quit,
So will it still be problem!

Reason for using ecore_main_loop_begin is that 
 ecore_thread_cancel/end
callbacks are not getting called in _edje_multisense_shutdown (for 
 memory
cleanup purpose).

So,   begining   the   main  loop  again  to  cleanup  the  memory 
 in
ecore_thread_cancel.

I have altrenate approach to free the memory, when control comes out 
 from
while loop in worker thread, is this approach is ok ?

 alternative approach definitely... not the ecore mainloop begin and quit
 thing :)

 --
 - Codito, ergo sum - I code, therefore I am --
 The Rasterman (Carsten Haitzler)ras...@rasterman.com


 --
 Live Security Virtual Conference
 Exclusive live event will cover all the ways today's security and
 threat landscape has changed and how IT managers can respond. Discussions
 will include endpoint security, mobile security and the latest in malware
 threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

 Besides the problem with the main_loop pointed out by raster, i've
 found some small issues in the patch. I've attached your patch with
 the review. Overall, the patch is working properly :)

 Regards,
 Flavio Ceolin


I'll check your comments and update the patch.

Thanks,
Prince 



--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for edje multisense module

2012-07-09 Thread The Rasterman
On Fri, 06 Jul 2012 14:59:52 + (GMT) PRINCE KUMAR DUBEY
prince.du...@samsung.com said:

 
Hi,
 
 
--
 
From: Carsten Haitzler (The Rasterman) [1]ras...@rasterman.com
 
Sent: Friday, July 06, 2012 1:38 PM
 
To: Enlightenment developer list
 
[2]enlightenment-devel@lists.sourceforge.net
 
Cc: PRINCE KUMAR DUBEY [3]prince.du...@samsung.com
 
Subject: Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for
edje multisense module
 
 
 On Mon, 02 Jul 2012 07:07:19 + (GMT) PRINCE KUMAR DUBEY
 
 [4]prince.du...@samsung.com said:
 

 
 these are really suspicious. you're messing with starting/stopping
 
 mainloops here
 

 
 +   ecore_main_loop_quit();
 

 
 +//again main loop begins to process thread cancellation
 
 +ecore_main_loop_begin();
 

 
 :( not good. imagine u shut down edje while still in the mainloop. :)
 
 (not relevant for elementary but for things using raw edje+ecore+evas/
etc.
 
 ...)
 
Anyway in ecore_thread_cancel callback extra ecore_main_loop is being quit,
So will it still be problem!
 
Reason for using ecore_main_loop_begin is that ecore_thread_cancel/end
callbacks are not getting called in _edje_multisense_shutdown (for memory
cleanup purpose).
 
So,   begining   the   main  loop  again  to  cleanup  the  memory  in
ecore_thread_cancel.
 
I have altrenate approach to free the memory, when control comes out from
while loop in worker thread, is this approach is ok ?

alternative approach definitely... not the ecore mainloop begin and quit
thing :)

-- 
- Codito, ergo sum - I code, therefore I am --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for edje multisense module

2012-07-09 Thread Flávio Ceolin
Hi Prince,

On Mon, Jul 9, 2012 at 3:50 AM, Carsten Haitzler ras...@rasterman.com wrote:
 On Fri, 06 Jul 2012 14:59:52 + (GMT) PRINCE KUMAR DUBEY
 prince.du...@samsung.com said:


Hi,


--

From: Carsten Haitzler (The Rasterman) [1]ras...@rasterman.com

Sent: Friday, July 06, 2012 1:38 PM

To: Enlightenment developer list

[2]enlightenment-devel@lists.sourceforge.net

Cc: PRINCE KUMAR DUBEY [3]prince.du...@samsung.com

Subject: Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for
edje multisense module


 On Mon, 02 Jul 2012 07:07:19 + (GMT) PRINCE KUMAR DUBEY

 [4]prince.du...@samsung.com said:



 these are really suspicious. you're messing with starting/stopping

 mainloops here



 +   ecore_main_loop_quit();



 +//again main loop begins to process thread cancellation

 +ecore_main_loop_begin();



 :( not good. imagine u shut down edje while still in the mainloop. :)

 (not relevant for elementary but for things using raw edje+ecore+evas/
etc.

 ...)

Anyway in ecore_thread_cancel callback extra ecore_main_loop is being 
 quit,
So will it still be problem!

Reason for using ecore_main_loop_begin is that ecore_thread_cancel/end
callbacks are not getting called in _edje_multisense_shutdown (for memory
cleanup purpose).

So,   begining   the   main  loop  again  to  cleanup  the  memory  in
ecore_thread_cancel.

I have altrenate approach to free the memory, when control comes out from
while loop in worker thread, is this approach is ok ?

 alternative approach definitely... not the ecore mainloop begin and quit
 thing :)

 --
 - Codito, ergo sum - I code, therefore I am --
 The Rasterman (Carsten Haitzler)ras...@rasterman.com


 --
 Live Security Virtual Conference
 Exclusive live event will cover all the ways today's security and
 threat landscape has changed and how IT managers can respond. Discussions
 will include endpoint security, mobile security and the latest in malware
 threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Besides the problem with the main_loop pointed out by raster, i've
found some small issues in the patch. I've attached your patch with
the review. Overall, the patch is working properly :)

Regards,
Flavio Ceolin


edje_multisense_pulseaudio_plugin.patch.review
Description: Binary data
--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for edje multisense module

2012-07-06 Thread The Rasterman
On Mon, 02 Jul 2012 07:07:19 + (GMT) PRINCE KUMAR DUBEY
prince.du...@samsung.com said:

these are really suspicious. you're messing with starting/stopping mainloops
here

+   ecore_main_loop_quit();

+//again main loop begins to process thread cancellation
+ecore_main_loop_begin();

:( not good. imagine u shut down edje while still in the mainloop. :) (not
relevant for elementary but for things using raw edje+ecore+evas/ etc. ...)

 Hi,
 Please review the attached patch after fixing review comments.
 Change Description:
 1. Support for Multisense initialization/shutdown only when multisense
 feature is used.
 2. Enhancement to _edje_multisense_shutdown to fix memory leak.
 3. Multisense example enhancement and correction of macros(ENABLE_MULTISENSE
  HAVE_REMIX) use in edje_multisense.c.
 4. Interface multisense_factory_shutdown implementation, Macro WRN
 implementation using eina_log.
 5. Fix for buffer underrun in ALSA plugin and REMIX flags are used in
 src/bin/Makefile.am.
 6. Multisense support enabled by default.
 7.Pulse Audio Remix Plug-in added as audio output  device.
 
 Signed-Off-By: Prince Kr Dubeyprince.du...@samsung.com
 
 Thanks  Regards,
 Prince
 
 --
 From: Flavio Ceolin flavio.ceo...@profusion.mobi
 Sent: Tuesday, June 26, 2012 11:19 PM
 To: Enlightenment developer list 
 enlightenment-devel@lists.sourceforge.net
 Subject: Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for 
 edje multisense module
 
  Hi Prince,
 
  On Tue, Jun 26, 2012 at 11:47 AM, Prince Kr Dubey
  prince.du...@samsung.com wrote:
  Hi Flavio,
 
  I'll create another patch with the modification suggested by you and
  Gustavo.
  And will post the same to community ASAP.
 
  Thanks  Regards,
  Prince
 
  On 06/25/2012 14:20:20 , Flavio Ceolin flavio.ceo...@profusion.mobi 
  wrote:
  Hi Prince,
 
  Gustavo Sverzut Barbieri barbi...@profusion.mobi writes:
 
  On Thu, Jun 21, 2012 at 10:32 AM, PRINCE KUMAR DUBEY
  prince.du...@samsung.com wrote:
  Hi,
 
  Please find my query/comments inlined below.
 
  Ok, and could you use some email client that does proper reply? It's a
  mess and unusual to read your mails without the proper quote blocks.
 
 
  +EAPI extern Eina_Bool _on_edjecc;
 
  It seems to be not necessary.
  [Prince] this variable is required, in order to provide check to
  unnecessary multisense framework initialization during EDC
  compilation/decompilation mode.
  So, during EDC compilation, _on_edjecc=EINA_TRUE in edje_cc.c and
  hence,
  _edje_multisense_init() is being ignored in edje_main.c.
 
 
  No, never do this.
 
  One should have a global setter and maybe a getter to enable or 
  disable
  features, or even better just load multisense if it's required.
 
  [Prince] Multisense load is not needed during
  compilation/decompilation, because it inculdes remix and its
  plug-in(i.e. eetsndreader, ALSA) load, which are specificaly
  required during runtime only.
  As per your suggestion above, should we add interfaces for
  setter/getter to enable this feature in edje ? Please share your
  opinion.
 
  I dislike having to manually enable or disable them. Just use it as
  last resource.
 
  Ideally the multisense would be disabled and whenever a group uses
  multisense, it would be enabled. You do not need to further disable
  the setup later, it's fine to keep it on.
  It's like a lazy-loaded singleton.
 
  As edje_cc will never edje_object_file_set() it will never hit the
  path to load multisense. Then we're fine for it and every other
  software that does not use it.
 
  Are you intending to do the modifications suggested ?
  Your patch with those modifications looks pretty good.
 
  Best Regards,
  Flavio Ceolin
 
 
 
  --
  Live Security Virtual Conference
  Exclusive live event will cover all the ways today's security and
  threat landscape has changed and how IT managers can respond. Discussions
  will include endpoint security, mobile security and the latest in malware
  threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
  ___
  enlightenment-devel mailing list
  enlightenment-devel@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
 
  Thanks !!
 
  Best Regards,
  Flavio Ceolin
 
  --
  Live Security Virtual Conference
  Exclusive live event will cover all the ways today's security and
  threat landscape has changed and how IT managers can respond. Discussions
  will include endpoint security, mobile security and the latest in malware
  threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
  ___
  enlightenment-devel mailing list
  enlightenment-devel@lists.sourceforge.net
  https://lists.sourceforge.net/lists

Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for edje multisense module

2012-06-26 Thread Prince Kr Dubey
Hi Flavio,

I'll create another patch with the modification suggested by you and 
Gustavo.
And will post the same to community ASAP.

Thanks  Regards,
Prince

On 06/25/2012 14:20:20 , Flavio Ceolin flavio.ceo...@profusion.mobi wrote:
 Hi Prince,

 Gustavo Sverzut Barbieri barbi...@profusion.mobi writes:

 On Thu, Jun 21, 2012 at 10:32 AM, PRINCE KUMAR DUBEY
 prince.du...@samsung.com wrote:
 Hi,

 Please find my query/comments inlined below.

 Ok, and could you use some email client that does proper reply? It's a
 mess and unusual to read your mails without the proper quote blocks.


 +EAPI extern Eina_Bool _on_edjecc;

 It seems to be not necessary.
 [Prince] this variable is required, in order to provide check to
 unnecessary multisense framework initialization during EDC
 compilation/decompilation mode.
 So, during EDC compilation, _on_edjecc=EINA_TRUE in edje_cc.c and 
 hence,
 _edje_multisense_init() is being ignored in edje_main.c.


 No, never do this.

 One should have a global setter and maybe a getter to enable or disable
 features, or even better just load multisense if it's required.

 [Prince] Multisense load is not needed during
 compilation/decompilation, because it inculdes remix and its
 plug-in(i.e. eetsndreader, ALSA) load, which are specificaly
 required during runtime only.
 As per your suggestion above, should we add interfaces for
 setter/getter to enable this feature in edje ? Please share your
 opinion.

 I dislike having to manually enable or disable them. Just use it as
 last resource.

 Ideally the multisense would be disabled and whenever a group uses
 multisense, it would be enabled. You do not need to further disable
 the setup later, it's fine to keep it on.
 It's like a lazy-loaded singleton.

 As edje_cc will never edje_object_file_set() it will never hit the
 path to load multisense. Then we're fine for it and every other
 software that does not use it.

 Are you intending to do the modifications suggested ?
 Your patch with those modifications looks pretty good.

 Best Regards,
 Flavio Ceolin
 


--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for edje multisense module

2012-06-26 Thread Flávio Ceolin
Hi Prince,

On Tue, Jun 26, 2012 at 11:47 AM, Prince Kr Dubey
prince.du...@samsung.com wrote:
 Hi Flavio,

 I'll create another patch with the modification suggested by you and
 Gustavo.
 And will post the same to community ASAP.

 Thanks  Regards,
 Prince

 On 06/25/2012 14:20:20 , Flavio Ceolin flavio.ceo...@profusion.mobi wrote:
 Hi Prince,

 Gustavo Sverzut Barbieri barbi...@profusion.mobi writes:

 On Thu, Jun 21, 2012 at 10:32 AM, PRINCE KUMAR DUBEY
 prince.du...@samsung.com wrote:
 Hi,

 Please find my query/comments inlined below.

 Ok, and could you use some email client that does proper reply? It's a
 mess and unusual to read your mails without the proper quote blocks.


 +EAPI extern Eina_Bool _on_edjecc;

 It seems to be not necessary.
 [Prince] this variable is required, in order to provide check to
 unnecessary multisense framework initialization during EDC
 compilation/decompilation mode.
 So, during EDC compilation, _on_edjecc=EINA_TRUE in edje_cc.c and
 hence,
 _edje_multisense_init() is being ignored in edje_main.c.


 No, never do this.

 One should have a global setter and maybe a getter to enable or disable
 features, or even better just load multisense if it's required.

 [Prince] Multisense load is not needed during
 compilation/decompilation, because it inculdes remix and its
 plug-in(i.e. eetsndreader, ALSA) load, which are specificaly
 required during runtime only.
 As per your suggestion above, should we add interfaces for
 setter/getter to enable this feature in edje ? Please share your
 opinion.

 I dislike having to manually enable or disable them. Just use it as
 last resource.

 Ideally the multisense would be disabled and whenever a group uses
 multisense, it would be enabled. You do not need to further disable
 the setup later, it's fine to keep it on.
 It's like a lazy-loaded singleton.

 As edje_cc will never edje_object_file_set() it will never hit the
 path to load multisense. Then we're fine for it and every other
 software that does not use it.

 Are you intending to do the modifications suggested ?
 Your patch with those modifications looks pretty good.

 Best Regards,
 Flavio Ceolin



 --
 Live Security Virtual Conference
 Exclusive live event will cover all the ways today's security and
 threat landscape has changed and how IT managers can respond. Discussions
 will include endpoint security, mobile security and the latest in malware
 threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Thanks !!

Best Regards,
Flavio Ceolin

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for edje multisense module

2012-06-25 Thread Flavio Ceolin
Hi Prince,

Gustavo Sverzut Barbieri barbi...@profusion.mobi writes:

 On Thu, Jun 21, 2012 at 10:32 AM, PRINCE KUMAR DUBEY
 prince.du...@samsung.com wrote:
 Hi,

 Please find my query/comments inlined below.

 Ok, and could you use some email client that does proper reply? It's a
 mess and unusual to read your mails without the proper quote blocks.


 +EAPI extern Eina_Bool _on_edjecc;

 It seems to be not necessary.
 [Prince] this variable is required, in order to provide check to
 unnecessary multisense framework initialization during EDC
 compilation/decompilation mode.
 So, during EDC compilation, _on_edjecc=EINA_TRUE in edje_cc.c and hence,
 _edje_multisense_init() is being ignored in edje_main.c.


 No, never do this.

 One should have a global setter and maybe a getter to enable or disable
 features, or even better just load multisense if it's required.

 [Prince] Multisense load is not needed during
 compilation/decompilation, because it inculdes remix and its
 plug-in(i.e. eetsndreader, ALSA) load, which are specificaly
 required during runtime only.
 As per your suggestion above, should we add interfaces for
 setter/getter to enable this feature in edje ? Please share your
 opinion.

 I dislike having to manually enable or disable them. Just use it as
 last resource.

 Ideally the multisense would be disabled and whenever a group uses
 multisense, it would be enabled. You do not need to further disable
 the setup later, it's fine to keep it on.
 It's like a lazy-loaded singleton.

 As edje_cc will never edje_object_file_set() it will never hit the
 path to load multisense. Then we're fine for it and every other
 software that does not use it.

Are you intending to do the modifications suggested ?
Your patch with those modifications looks pretty good.

Best Regards,
Flavio Ceolin

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for edje multisense module

2012-06-21 Thread PRINCE KUMAR DUBEY
Hi Flavio,

Please find my reply inline below.

Thanks  Regards,
Prince

--- Original Message ---
Date: Wed, 20 Jun 2012 15:40:14 -0300
From: Flavio Ceolin 
Subject: Re: [E-devel] enlightenment-devel Digest, Vol 74, Issue 78
To: Enlightenment developer list

Message-ID: 877gv13jzl@voyager.profusion.mobi
Content-Type: text/plain

PRINCE KUMAR DUBEY writes:

Hi Prince,

 Hi Flavio,
 I am still not able to reproduce the seg-fault. Is seg-fault happening
 always ?

Yep, it's happening always i use the edje_player with the multisense
example.

The problem is:

+   length = count * sizeof(RemixCount);

it makes length be greater than PA_PLAYER_BUFFERLEN then:

+*(player-playbuffer + i) = (PLAYER_PCM) value;

will access invalid memory.

I rewrote this function and worked as expected. Please check if it makes sense.

static void
pa_player_playbuffer(RemixEnv *env __UNUSED__, PA_Player_Data *player, RemixPCM 
*data, RemixCount count)
{
   int ret;
   RemixCount i, j;
   RemixPCM value;
   size_t length, total_written;

   length = count * sizeof(RemixPCM);
   total_written = 0;

   while (total_written  length) {
  j = length - total_written;
  j = (j  PA_PLAYER_BUFFERLEN) ? PA_PLAYER_BUFFERLEN : j;
  for (i = 0; i  j; i++)
{
   value = *data++ * (player-max_value);
   *(player-playbuffer + i) = (PLAYER_PCM) value;
}

  ret = pa_simple_write(player-server, player-playbuffer, j, 
player-error);

  if (ret  0)
{
   WRN(pa_simple_write() failed: (%s), pa_strerror(player-error));
   return;
}

  total_written += j;
   }
}
[Prince] make sense :), thanks.
 Please find my reply to your queries inline below.

 Thanks  Regards,
 Prince

 --- Original Message ---
 Date: Mon, 18 Jun 2012 14:09:59 -0300
 From: Fl?vio Ceolin 
 Subject: Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in
 for edje multisense module
 To: Enlightenment developer list

 Message-ID:

 Content-Type: text/plain; charset=ISO-8859-1

 Hi Prince,

 On Mon, Jun 18, 2012 at 9:56 AM, PRINCE KUMAR DUBEY
 wrote:
 Hi Flavio,

 I tested edje_player multisense.edje to reproduce seg fault as
 mentioned below, but couldn't succeed with memcheck as well.
 My svn rev is 72374. Please let me know the scenario to reproduce it.

 And regarding the point 5, you are right, multisense will not build without 
 remix as per current configure file.
 But, multisense is not all about only sound, it can have vibration
 etc. So, if we make remix optional for multisense feature,
 edje must compile e.g. ENABLE_MULTISENSE=1 and HAVE_REMIX=0.

 Regards,
 Prince


 I've tested in rev 72117 and now 72400 in both the problem happened. I
 built with these options:
 /configure --enable-tests --enable-build-examples --enable-multisense
 CFLAGS=-Wall -g -O0

 As for the patch, I took a look in it and I would like to understand
 some points.

 +static void
 +pa_player_playbuffer(RemixEnv *env __UNUSED__, PA_Player_Data
 *player, RemixPCM *data, RemixCount count)
 +{
 +   int ret;
 +   RemixCount i;
 +   RemixPCM value;
 +   size_t length;
 +
 +   length = count * sizeof(RemixCount);

 Shouldn't it be
 length = count * sizeof(RemixPCM);
 [Prince] you are right, it must be the size of same data type.

 +
 +   for (i = 0; i  length; i++)

 Shouldn't check if length is greater than the size of the buffer ?
 [Prince] I agree. we can put the check so that written length must
 never exceeds the buffer size (PA_PLAYER_BUFFERLEN).

 + {
 +value = *data++ * (player-max_value);
 +*(player-playbuffer + i) = (PLAYER_PCM) value;

 With this cast we are discarding part of the data, is it ok ?
 [Prince] Type casting is redundant, not required at all.

Just to be clear, PLAYER_PCM is short while the data(RemixPCM) is a
float, so in this cast you are losing some data, I just don't know if
it's ok.


 + }
 +
 +   ret = pa_simple_write(player-server, player-playbuffer, length,
 player-error);
 +
 +   if (ret  0) WRN(pa_simple_write() failed: (%s),
 pa_strerror(player-error));
 +
 +   return;
 +}


 Best regards,
 Flavio Ceolin

 ---
 --
 Live Security Virtual Conference
 Exclusive live event will cover all the ways today's security and 
 threat landscape has changed and how IT managers can respond. Discussions 
 will include endpoint security, mobile security and the latest in malware 
 threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Prince I forgot to ask you if there is a reason to export this symbol:

+EAPI extern Eina_Bool _on_edjecc;

It seems to be not necessary.
[Prince] this variable is required, in order

Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for edje multisense module

2012-06-21 Thread Gustavo Sverzut Barbieri
On Thursday, June 21, 2012, PRINCE KUMAR DUBEY wrote:

 Hi Flavio,

 Please find my reply inline below.

 Thanks  Regards,
 Prince

 --- Original Message ---
 Date: Wed, 20 Jun 2012 15:40:14 -0300
 From: Flavio Ceolin
 Subject: Re: [E-devel] enlightenment-devel Digest, Vol 74, Issue 78
 To: Enlightenment developer list

 Message-ID: 877gv13jzl@voyager.profusion.mobi javascript:;
 Content-Type: text/plain

 PRINCE KUMAR DUBEY writes:

 Hi Prince,

  Hi Flavio,
  I am still not able to reproduce the seg-fault. Is seg-fault happening
  always ?

 Yep, it's happening always i use the edje_player with the multisense
 example.

 The problem is:

 +   length = count * sizeof(RemixCount);

 it makes length be greater than PA_PLAYER_BUFFERLEN then:

 +*(player-playbuffer + i) = (PLAYER_PCM) value;

 will access invalid memory.

 I rewrote this function and worked as expected. Please check if it makes
 sense.

 static void
 pa_player_playbuffer(RemixEnv *env __UNUSED__, PA_Player_Data *player,
 RemixPCM *data, RemixCount count)
 {
   int ret;
   RemixCount i, j;
   RemixPCM value;
   size_t length, total_written;

   length = count * sizeof(RemixPCM);
   total_written = 0;

   while (total_written  length) {
  j = length - total_written;
  j = (j  PA_PLAYER_BUFFERLEN) ? PA_PLAYER_BUFFERLEN : j;
  for (i = 0; i  j; i++)
{
   value = *data++ * (player-max_value);
   *(player-playbuffer + i) = (PLAYER_PCM) value;
}

  ret = pa_simple_write(player-server, player-playbuffer, j,
 player-error);

  if (ret  0)
{
   WRN(pa_simple_write() failed: (%s),
 pa_strerror(player-error));
   return;
}

  total_written += j;
   }
 }
 [Prince] make sense :), thanks.
  Please find my reply to your queries inline below.
 
  Thanks  Regards,
  Prince
 
  --- Original Message ---
  Date: Mon, 18 Jun 2012 14:09:59 -0300
  From: Fl?vio Ceolin
  Subject: Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in
  for edje multisense module
  To: Enlightenment developer list
 
  Message-ID:
 
  Content-Type: text/plain; charset=ISO-8859-1
 
  Hi Prince,
 
  On Mon, Jun 18, 2012 at 9:56 AM, PRINCE KUMAR DUBEY
  wrote:
  Hi Flavio,
 
  I tested edje_player multisense.edje to reproduce seg fault as
  mentioned below, but couldn't succeed with memcheck as well.
  My svn rev is 72374. Please let me know the scenario to reproduce it.
 
  And regarding the point 5, you are right, multisense will not build
 without remix as per current configure file.
  But, multisense is not all about only sound, it can have vibration
  etc. So, if we make remix optional for multisense feature,
  edje must compile e.g. ENABLE_MULTISENSE=1 and HAVE_REMIX=0.
 
  Regards,
  Prince
 
 
  I've tested in rev 72117 and now 72400 in both the problem happened. I
  built with these options:
  /configure --enable-tests --enable-build-examples --enable-multisense
  CFLAGS=-Wall -g -O0
 
  As for the patch, I took a look in it and I would like to understand
  some points.
 
  +static void
  +pa_player_playbuffer(RemixEnv *env __UNUSED__, PA_Player_Data
  *player, RemixPCM *data, RemixCount count)
  +{
  +   int ret;
  +   RemixCount i;
  +   RemixPCM value;
  +   size_t length;
  +
  +   length = count * sizeof(RemixCount);
 
  Shouldn't it be
  length = count * sizeof(RemixPCM);
  [Prince] you are right, it must be the size of same data type.
 
  +
  +   for (i = 0; i  length; i++)
 
  Shouldn't check if length is greater than the size of the buffer ?
  [Prince] I agree. we can put the check so that written length must
  never exceeds the buffer size (PA_PLAYER_BUFFERLEN).
 
  + {
  +value = *data++ * (player-max_value);
  +*(player-playbuffer + i) = (PLAYER_PCM) value;
 
  With this cast we are discarding part of the data, is it ok ?
  [Prince] Type casting is redundant, not required at all.

 Just to be clear, PLAYER_PCM is short while the data(RemixPCM) is a
 float, so in this cast you are losing some data, I just don't know if
 it's ok.

 
  + }
  +
  +   ret = pa_simple_write(player-server, player-playbuffer, length,
  player-error);
  +
  +   if (ret  0) WRN(pa_simple_write() failed: (%s),
  pa_strerror(player-error));
  +
  +   return;
  +}
 
 
  Best regards,
  Flavio Ceolin
 
  ---
 
 --
  Live Security Virtual Conference
  Exclusive live event will cover all the ways today's security and
  threat landscape has changed and how IT managers can respond. Discussions
  will include endpoint security, mobile security and the latest in malware
  threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
  ___
  enlightenment-devel mailing list
  enlightenment-devel@lists.sourceforge.net javascript:;
  https://lists.sourceforge.net/lists/listinfo

Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for edje multisense module

2012-06-21 Thread Gustavo Sverzut Barbieri
On Thu, Jun 21, 2012 at 10:32 AM, PRINCE KUMAR DUBEY
prince.du...@samsung.com wrote:
 Hi,

 Please find my query/comments inlined below.

Ok, and could you use some email client that does proper reply? It's a
mess and unusual to read your mails without the proper quote blocks.


 +EAPI extern Eina_Bool _on_edjecc;

 It seems to be not necessary.
 [Prince] this variable is required, in order to provide check to
 unnecessary multisense framework initialization during EDC
 compilation/decompilation mode.
 So, during EDC compilation, _on_edjecc=EINA_TRUE in edje_cc.c and hence,
 _edje_multisense_init() is being ignored in edje_main.c.


 No, never do this.

 One should have a global setter and maybe a getter to enable or disable
 features, or even better just load multisense if it's required.

 [Prince] Multisense load is not needed during compilation/decompilation, 
 because it inculdes remix and its plug-in(i.e. eetsndreader, ALSA) load, 
 which are specificaly required during runtime only.
 As per your suggestion above, should we add interfaces for setter/getter to 
 enable this feature in edje ? Please share your opinion.

I dislike having to manually enable or disable them. Just use it as
last resource.

Ideally the multisense would be disabled and whenever a group uses
multisense, it would be enabled. You do not need to further disable
the setup later, it's fine to keep it on.
It's like a lazy-loaded singleton.

As edje_cc will never edje_object_file_set() it will never hit the
path to load multisense. Then we're fine for it and every other
software that does not use it.

-- 
Gustavo Sverzut Barbieri
http://profusion.mobi embedded systems
--
MSN: barbi...@gmail.com
Skype: gsbarbieri
Mobile: +55 (19) 9225-2202

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for edje multisense module

2012-06-18 Thread PRINCE KUMAR DUBEY
Hi Flavio,

I tested edje_player multisense.edje to reproduce seg fault as mentioned 
below, but couldn't succeed with memcheck as well.
My svn rev is 72374. Please let me know the scenario to reproduce it.

And regarding the point 5, you are right, multisense will not build without 
remix as per current configure file.
But, multisense is not all about only sound, it can have vibration etc. So, if 
we make remix optional for multisense feature,
edje must compile e.g. ENABLE_MULTISENSE=1 and HAVE_REMIX=0.

Regards,
Prince





Date: Thu, 14 Jun 2012 17:31:43 -0300
From: Fl?vio Ceolin flavio.ceo...@profusion.mobi
Subject: Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in
for edje multisense module
To: Enlightenment developer list
enlightenment-devel@lists.sourceforge.net
Cc: csm...@samsung.com
Message-ID:
cakxyohkiyzzfxra7ff8jvsks-xqughyupeegnlidk_q4leo...@mail.gmail.com
Content-Type: text/plain; charset=iso-8859-1

Hello Prince,

On Thu, Jun 14, 2012 at 10:14 AM, PRINCE KUMAR DUBEY
prince.du...@samsung.com wrote:

 Hi,
 ? Please review the attached patch for pulse audio remix pulg-in added as 
 output device for multisense feature with other enhancements, details are 
 given below.

 Change Description:
 1. Multisense support enabled by default, Pulse Audio option added, flac, 
 alsa and ogg/vorbis are made optional for multisense during 
 configuration/compilation.
 2. Pulse Audio Remix Plug-in added as audio output device.
 3. Disabling of Multisense module initialization/shutdown in EDC compilation 
 mode.
 4. Enhancement to _edje_multisense_shutdown to fix memory leak.
 5. Multisense example enhancement and modification in edje_multisense.c so, 
 edje can compile without availability of remix.

 Signed-Off-By: Prince Kr Dubeyprince.du...@samsung.com

 Thank you,

 Regards,
 Prince Kr Dubey


 --
 Live Security Virtual Conference
 Exclusive live event will cover all the ways today's security and
 threat landscape has changed and how IT managers can respond. Discussions
 will include endpoint security, mobile security and the latest in malware
 threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


I' ve found a segfault when running edje_player (multisense example,
multisense.edj), you could check it in the attached file.
It's valid you know that this problem is not happening when running
the edje-multisense's example.
Also, I didn't understand the point 5 (edje can compile without
availability of remix).
As far as I could see there is no way to build multisense without
libremix right ?

Regards,
Flavio Ceolin
-- next part --
==11191== Memcheck, a memory error detector
==11191== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==11191== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==11191== Command: edje_player multisense.edj
==11191== Parent PID: 8099
==11191== 
==11191== Syscall param write(buf) points to uninitialised byte(s)
==11191==at 0x355100E04D: ??? (in /usr/lib64/libpthread-2.15.so)
==11191==by 0x4C7251C: _edje_multisense_internal_sound_sample_play 
(edje_multisense.c:344)
==11191==by 0x4C73EFF: _edje_program_run (edje_program.c:798)
==11191==by 0x4C74238: _edje_program_run (edje_program.c:595)
==11191==by 0x4C76007: _edje_emit_handle (edje_program.c:1228)
==11191==by 0x4C7174E: _edje_message_queue_process 
(edje_message_queue.c:764)
==11191==by 0x4C718B6: _edje_job (edje_message_queue.c:160)
==11191==by 0x69CF234: _ecore_job_event_handler (ecore_job.c:115)
==11191==by 0x69C95DC: _ecore_call_handler_cb (ecore_private.h:319)
==11191==by 0x69CA57B: _ecore_event_call (ecore_events.c:559)
==11191==by 0x69D141D: _ecore_main_loop_iterate_internal (ecore_main.c:1814)
==11191==by 0x69CFCBF: ecore_main_loop_begin (ecore_main.c:931)
==11191==  Address 0x7fefff97c is on thread 1's stack
==11191== 
==11191== Thread 3:
==11191== Invalid write of size 2
==11191==at 0xE4538E5: pa_player_playbuffer.isra.0 
(pa_simple_snd_player.c:211)
==11191==by 0xE4539F4: pa_player_process (pa_simple_snd_player.c:264)
==11191==by 0x56DFA9C: remix_process_fast (remix_base.c:434)
==11191==by 0x56DFB29: remix_process (remix_base.c:450)
==11191==by 0x56E4787: remix_sound_process (remix_sound.c:400)
==11191==by 0x56DFA9C: remix_process_fast (remix_base.c:434)
==11191==by 0x56DFB29: remix_process (remix_base.c:450)
==11191==by 0x56E3714: remix_layer_process (remix_layer.c:498)
==11191==by 0x56DFA9C: remix_process_fast (remix_base.c:434)
==11191==by 0x56DFB29: remix_process (remix_base.c:450)
==11191

Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for edje multisense module

2012-06-18 Thread Flávio Ceolin
Hi Prince,

On Mon, Jun 18, 2012 at 9:56 AM, PRINCE KUMAR DUBEY
prince.du...@samsung.com wrote:
 Hi Flavio,

 I tested edje_player multisense.edje to reproduce seg fault as mentioned 
 below, but couldn't succeed with memcheck as well.
 My svn rev is 72374. Please let me know the scenario to reproduce it.

 And regarding the point 5, you are right, multisense will not build without 
 remix as per current configure file.
 But, multisense is not all about only sound, it can have vibration etc. So, 
 if we make remix optional for multisense feature,
 edje must compile e.g. ENABLE_MULTISENSE=1 and HAVE_REMIX=0.

 Regards,
 Prince


I've tested in rev 72117 and now 72400 in both the problem happened. I
built with these options:
/configure --enable-tests --enable-build-examples --enable-multisense
CFLAGS=-Wall -g -O0

As for the patch, I took a look in it and I would like to understand
some points.

+static void
+pa_player_playbuffer(RemixEnv *env __UNUSED__, PA_Player_Data
*player, RemixPCM *data, RemixCount count)
+{
+   int ret;
+   RemixCount i;
+   RemixPCM value;
+   size_t length;
+
+   length = count * sizeof(RemixCount);

Shouldn't it be
length = count * sizeof(RemixPCM);

+
+   for (i = 0; i  length; i++)

Shouldn't check if length is greater than the size of the buffer ?

+ {
+value = *data++ * (player-max_value);
+*(player-playbuffer + i) = (PLAYER_PCM) value;

With this cast we are discarding part of the data, is it ok ?

+ }
+
+   ret = pa_simple_write(player-server, player-playbuffer, length,
player-error);
+
+   if (ret  0) WRN(pa_simple_write() failed: (%s),
pa_strerror(player-error));
+
+   return;
+}


Best regards,
Flavio Ceolin

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for edje multisense module

2012-06-14 Thread PRINCE KUMAR DUBEY

Hi,
   Please review the attached patch for pulse audio remix pulg-in added as 
output device for multisense feature with other enhancements, details are given 
below.

Change Description:
1. Multisense support enabled by default, Pulse Audio option added, flac, alsa 
and ogg/vorbis are made optional for multisense during 
configuration/compilation.
2. Pulse Audio Remix Plug-in added as audio output device.
3. Disabling of Multisense module initialization/shutdown in EDC compilation 
mode.
4. Enhancement to _edje_multisense_shutdown to fix memory leak.
5. Multisense example enhancement and modification in edje_multisense.c so, 
edje can compile without availability of remix.

Signed-Off-By: Prince Kr Dubeyprince.du...@samsung.com

Thank you,

Regards,
Prince Kr Dubey



edje_multisense_pulseaudio_plugin.patch
Description: Binary data
--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [Patch] [Edje] Added: Pulseaudio remix plug-in for edje multisense module

2012-06-14 Thread Flávio Ceolin
Hello Prince,

On Thu, Jun 14, 2012 at 10:14 AM, PRINCE KUMAR DUBEY
prince.du...@samsung.com wrote:

 Hi,
   Please review the attached patch for pulse audio remix pulg-in added as 
 output device for multisense feature with other enhancements, details are 
 given below.

 Change Description:
 1. Multisense support enabled by default, Pulse Audio option added, flac, 
 alsa and ogg/vorbis are made optional for multisense during 
 configuration/compilation.
 2. Pulse Audio Remix Plug-in added as audio output device.
 3. Disabling of Multisense module initialization/shutdown in EDC compilation 
 mode.
 4. Enhancement to _edje_multisense_shutdown to fix memory leak.
 5. Multisense example enhancement and modification in edje_multisense.c so, 
 edje can compile without availability of remix.

 Signed-Off-By: Prince Kr Dubeyprince.du...@samsung.com

 Thank you,

 Regards,
 Prince Kr Dubey


 --
 Live Security Virtual Conference
 Exclusive live event will cover all the ways today's security and
 threat landscape has changed and how IT managers can respond. Discussions
 will include endpoint security, mobile security and the latest in malware
 threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
 ___
 enlightenment-devel mailing list
 enlightenment-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


I' ve found a segfault when running edje_player (multisense example,
multisense.edj), you could check it in the attached file.
It's valid you know that this problem is not happening when running
the edje-multisense's example.
Also, I didn't understand the point 5 (edje can compile without
availability of remix).
As far as I could see there is no way to build multisense without
libremix right ?

Regards,
Flavio Ceolin
==11191== Memcheck, a memory error detector
==11191== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==11191== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==11191== Command: edje_player multisense.edj
==11191== Parent PID: 8099
==11191== 
==11191== Syscall param write(buf) points to uninitialised byte(s)
==11191==at 0x355100E04D: ??? (in /usr/lib64/libpthread-2.15.so)
==11191==by 0x4C7251C: _edje_multisense_internal_sound_sample_play 
(edje_multisense.c:344)
==11191==by 0x4C73EFF: _edje_program_run (edje_program.c:798)
==11191==by 0x4C74238: _edje_program_run (edje_program.c:595)
==11191==by 0x4C76007: _edje_emit_handle (edje_program.c:1228)
==11191==by 0x4C7174E: _edje_message_queue_process 
(edje_message_queue.c:764)
==11191==by 0x4C718B6: _edje_job (edje_message_queue.c:160)
==11191==by 0x69CF234: _ecore_job_event_handler (ecore_job.c:115)
==11191==by 0x69C95DC: _ecore_call_handler_cb (ecore_private.h:319)
==11191==by 0x69CA57B: _ecore_event_call (ecore_events.c:559)
==11191==by 0x69D141D: _ecore_main_loop_iterate_internal (ecore_main.c:1814)
==11191==by 0x69CFCBF: ecore_main_loop_begin (ecore_main.c:931)
==11191==  Address 0x7fefff97c is on thread 1's stack
==11191== 
==11191== Thread 3:
==11191== Invalid write of size 2
==11191==at 0xE4538E5: pa_player_playbuffer.isra.0 
(pa_simple_snd_player.c:211)
==11191==by 0xE4539F4: pa_player_process (pa_simple_snd_player.c:264)
==11191==by 0x56DFA9C: remix_process_fast (remix_base.c:434)
==11191==by 0x56DFB29: remix_process (remix_base.c:450)
==11191==by 0x56E4787: remix_sound_process (remix_sound.c:400)
==11191==by 0x56DFA9C: remix_process_fast (remix_base.c:434)
==11191==by 0x56DFB29: remix_process (remix_base.c:450)
==11191==by 0x56E3714: remix_layer_process (remix_layer.c:498)
==11191==by 0x56DFA9C: remix_process_fast (remix_base.c:434)
==11191==by 0x56DFB29: remix_process (remix_base.c:450)
==11191==by 0x56E6B5A: remix_track_twolayer_process (remix_track.c:350)
==11191==by 0x56DFA9C: remix_process_fast (remix_base.c:434)
==11191==  Address 0x77a20f0 is 0 bytes after a block of size 8,192 alloc'd
==11191==at 0x4A06F18: calloc (vg_replace_malloc.c:566)
==11191==by 0xE453524: pa_player_reset_device (pa_simple_snd_player.c:81)
==11191==by 0xE4536B5: pa_player_init (pa_simple_snd_player.c:130)
==11191==by 0x56DF729: remix_new (remix_base.c:55)
==11191==by 0x4C727B5: _edje_multisense_init (edje_multisense.c:109)
==11191==by 0x4C6EF24: edje_init (edje_main.c:73)
==11191==by 0x4022F3: main (edje_player.c:662)
==11191== 
==11191== Invalid read of size 4
==11191==at 0xE4538ED: pa_player_playbuffer.isra.0 
(pa_simple_snd_player.c:208)
==11191==by 0xE4539F4: pa_player_process (pa_simple_snd_player.c:264)
==11191==by 0x56DFA9C: remix_process_fast (remix_base.c:434)
==11191==by 0x56DFB29: remix_process (remix_base.c:450)
==11191==by 0x56E4787: remix_sound_process (remix_sound.c:400)
==11191==by 0x56DFA9C: