Changeset 3063:955233719a84 in roaraudio for libroardsp/convert.c
- Timestamp:
- 12/26/09 20:36:31 (14 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libroardsp/convert.c
r2797 r3063 548 548 double radio = (double) to / (double) from; 549 549 int outsamples = radio * samples; 550 float * inf = malloc(samples*sizeof(float));551 float * outf = malloc(outsamples*sizeof(float));550 float * inf = roar_mm_malloc(samples*sizeof(float)); 551 float * outf = roar_mm_malloc(outsamples*sizeof(float)); 552 552 int i; 553 553 SRC_DATA srcdata; … … 557 557 if ( inf == NULL ) { 558 558 if ( outf != NULL ) 559 free(outf);559 roar_mm_free(outf); 560 560 561 561 return -1; … … 564 564 if ( outf == NULL ) { 565 565 if ( inf != NULL ) 566 free(inf);566 roar_mm_free(inf); 567 567 568 568 return -1; … … 583 583 break; 584 584 default: 585 free(outf);586 free(inf);585 roar_mm_free(outf); 586 roar_mm_free(inf); 587 587 return -1; 588 588 } … … 595 595 596 596 if ( src_simple(&srcdata, SRC_ZERO_ORDER_HOLD, channels) != 0 ) { 597 free(outf);598 free(inf);597 roar_mm_free(outf); 598 roar_mm_free(inf); 599 599 return -1; 600 600 } … … 616 616 } 617 617 618 free(outf);619 free(inf);618 roar_mm_free(outf); 619 roar_mm_free(inf); 620 620 621 621 return 0; … … 883 883 real_out = out; 884 884 885 if ( (out = malloc(from_size)) == NULL )886 return -1; 887 888 ROAR_DBG("roar_conv(*): malloc(%i)=%p", (int)from_size, out);885 if ( (out = roar_mm_malloc(from_size)) == NULL ) 886 return -1; 887 888 ROAR_DBG("roar_conv(*): roar_mm_malloc(%i)=%p", (int)from_size, out); 889 889 } 890 890 … … 895 895 if ( roar_conv_endian(out, ip, samples, ROAR_CODEC_BYTE_ORDER(from->codec), ROAR_CODEC_NATIVE_ENDIAN, from->bits) == -1 ) { 896 896 if ( to_size < from_size ) 897 free(out);897 roar_mm_free(out); 898 898 return -1; 899 899 } else { … … 905 905 if ( roar_conv_bits(out, ip, samples, from->bits, to->bits) == -1 ) { 906 906 if ( to_size < from_size ) 907 free(out);907 roar_mm_free(out); 908 908 return -1; 909 909 } else { … … 915 915 if ( roar_conv_signedness(out, ip, samples, ROAR_CODEC_IS_SIGNED(from->codec), ROAR_CODEC_IS_SIGNED(to->codec), to->bits) == -1 ) { 916 916 if ( to_size < from_size ) 917 free(out);917 roar_mm_free(out); 918 918 return -1; 919 919 } else { … … 935 935 ROAR_DBG("roar_conv(*): failed to convert rate %i->%i (%ich%ibits)", from->rate, to->rate, to->bits, from->channels); 936 936 if ( to_size < from_size ) 937 free(out);937 roar_mm_free(out); 938 938 return -1; 939 939 } else { … … 946 946 if ( roar_conv_chans(out, ip, samples, from->channels, to->channels, to->bits) == -1 ) { 947 947 if ( to_size < from_size ) 948 free(out);948 roar_mm_free(out); 949 949 return -1; 950 950 } else { … … 956 956 if ( roar_conv_endian(out, ip, samples, ROAR_CODEC_NATIVE_ENDIAN, ROAR_CODEC_BYTE_ORDER(to->codec), to->bits) == -1 ) { 957 957 if ( to_size < from_size ) 958 free(out);958 roar_mm_free(out); 959 959 return -1; 960 960 } else { … … 966 966 ROAR_DBG("roar_conv(*): memcpy(%p, %p, %i) = ?", real_out, out, (int)to_size); 967 967 memcpy(real_out, out, to_size); 968 free(out);968 roar_mm_free(out); 969 969 ROAR_DBG("roar_conv(*): free(%p): OK!", out); 970 970 }
Note: See TracChangeset
for help on using the changeset viewer.