Re: mbeq_119700 issues

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Di, 2007-01-02 at 20:13 +0200, Sergei Steshenko wrote:
> If you want to use the original 48KHz sampling rate, increase frequency
> distance between the the controls in the lower part, i.e. modify
> the
> 
>      36 $MBEQ::__config_hash{bands_sub} =
>      37 sub
>      38   {
>      39   my $min_frequency = 20;
>      40   my $max_frequency = 21050;
>      41
>      42   my @frequencies;
>      43
>      44   my $frequency = $min_frequency;
>      45   push @frequencies, $frequency;
>      46
>      47   $frequency = $min_frequency * sqrt(2);
>      48
>      49   push @frequencies, $frequency;
>      50
>      51   $frequency = $min_frequency * 2;
>      52
>      53   push @frequencies, $frequency;
>      54
>      55
>      56   my $ctr = 1;
>      57   for(;;)
>      58     {
>      59     $frequency *= (2 ** (1/3));
>      60
>      61     if($frequency >= $max_frequency)
>      62       {
>      63       last;
>      64       }
>      65
>      66     push @frequencies, $frequency;
>      67     } # while($frequency < $max_frequency)
>      68
>      69   warn "\@frequencies=@frequencies";
>      70
>      71   @frequencies;
>      72   };
> 
> subroutine.
> 
> Try, for example, to comment out line numbers 47, 49, so your
> frequencies will become 20Hz, 40Hz and on with 1/3 octave step.
> 
> ...
> 
> Please also change the
> 
>     378 static void cleanupMChMBEq(LADSPA_Handle instance)
>     379   {
>     380   MChMBEq *plugin_data = (MChMBEq *)instance;
>     381
>     382   // PERL_BEGIN
>     383   foreach my $suffix(@{$MBEQ::__config_hash{channel_suffixes}})
>     384     {
>     385     print <<EOD
>     386
>     387   free((*plugin_data).out_fifo$suffix);
>     388   free((*plugin_data).out_accum$suffix);
>     389   free((*plugin_data).comp$suffix);
>     390   free((*plugin_data).real$suffix);
>     391
>     392   free((*plugin_data).input$suffix);
>     393   free((*plugin_data).output$suffix);
>     394   free((*plugin_data).in_fifo$suffix);
>     395
>     396 EOD
>     397     ;
>     398     } # foreach my $suffix(@{$MBEQ::__config_hash{channel_suffixes}})
>     399   // PERL_END
>     400
>     401   free((*plugin_data).window_for_input);
>     402   free((*plugin_data).db_table);
>     403   free((*plugin_data).cos_times_gain);
>     404   free(instance);
>     405   } // static void cleanupMChMBEq(LADSPA_Handle instance)
> 
> subroutine, please remove the
> 
> 
>     392   free((*plugin_data).input$suffix);
>     393   free((*plugin_data).output$suffix);
> 
> line - I'm not the one who allocates input and output
> buffers, so I shouldn't deallocate them.
> 
> I don't think you have had a problem with this so far - because
> the problem can occur only when cleanupMChMBEq is called and after,
> and it wasn't yet the case.
> 

I applied the changes mentioned above and stumbled over one very curious
thing:
The following is the output of gcc when compiling the plugin:

---------------------
 gcc -DHAVE_CONFIG_H -I. -I. -I. -I/usr/local/include -g -O2 -Wall -O6
-fomit-frame-pointer -fstrength-reduce -funroll-loops -ffast-math -fPIC
-DPIC -march=i686 -MT mbeq_119700_la-mbeq_119700.lo -MD -MP
-MF .deps/mbeq_119700_la-mbeq_119700.Tpo -c mbeq_119700.c  -fPIC -DPIC
-o .libs/mbeq_119700_la-mbeq_119700.o
mbeq_119700.c: In function 'runMChMBEq':
mbeq_119700.c:3893: warning: operation on 'comp_rp_ptr_L' may be
undefined
mbeq_119700.c:3894: warning: operation on 'comp_ip_ptr_L' may be
undefined
mbeq_119700.c:3896: warning: operation on 'comp_rp_ptr_R' may be
undefined
mbeq_119700.c:3897: warning: operation on 'comp_ip_ptr_R' may be
undefined
mbeq_119700.c:3899: warning: operation on 'comp_rp_ptr_C' may be
undefined
mbeq_119700.c:3900: warning: operation on 'comp_ip_ptr_C' may be
undefined
mbeq_119700.c:3902: warning: operation on 'comp_rp_ptr_S' may be
undefined
mbeq_119700.c:3903: warning: operation on 'comp_ip_ptr_S' may be
undefined
mbeq_119700.c:3905: warning: operation on 'comp_rp_ptr_LS' may be
undefined
mbeq_119700.c:3906: warning: operation on 'comp_ip_ptr_LS' may be
undefined
mbeq_119700.c:3908: warning: operation on 'comp_rp_ptr_RS' may be
undefined
mbeq_119700.c:3909: warning: operation on 'comp_ip_ptr_RS' may be
undefined
mbeq_119700.c: In function 'runMChMBEq':
mbeq_119700.c:3893: warning: operation on 'comp_rp_ptr_L' may be
undefined
mbeq_119700.c:3894: warning: operation on 'comp_ip_ptr_L' may be
undefined
mbeq_119700.c:3896: warning: operation on 'comp_rp_ptr_R' may be
undefined
mbeq_119700.c:3897: warning: operation on 'comp_ip_ptr_R' may be
undefined
mbeq_119700.c:3899: warning: operation on 'comp_rp_ptr_C' may be
undefined
mbeq_119700.c:3900: warning: operation on 'comp_ip_ptr_C' may be
undefined
mbeq_119700.c:3902: warning: operation on 'comp_rp_ptr_S' may be
undefined
mbeq_119700.c:3903: warning: operation on 'comp_ip_ptr_S' may be
undefined
mbeq_119700.c:3905: warning: operation on 'comp_rp_ptr_LS' may be
undefined
mbeq_119700.c:3906: warning: operation on 'comp_ip_ptr_LS' may be
undefined
mbeq_119700.c:3908: warning: operation on 'comp_rp_ptr_RS' may be
undefined
mbeq_119700.c:3909: warning: operation on 'comp_ip_ptr_RS' may be
undefined
------------------

As you can see, it complains _twice_ about errors/warnings in the same
function! I don't think this is right and as the segfault occurs in
exactly the function gcc complains about I think this is somehow
connected...

> Regards,
>   Sergei.
Regards,
Sebastian


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Alsa-user mailing list
Alsa-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-user

[Index of Archives]     [ALSA Devel]     [Linux Audio Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

  Powered by Linux