Changeset 2096:40ce6a9c8492 in roaraudio
- Timestamp:
- 07/20/09 20:00:15 (15 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libroardsp/convert.c
r2094 r2096 738 738 size_t samples; 739 739 size_t needed_buffer; 740 void * cin = in; 741 struct roar_audio_info cinfo; 742 743 memcpy(&cinfo, from, sizeof(cinfo)); 740 744 741 745 // calcumate number of input samples: … … 754 758 return -1; 755 759 756 return -1; 760 if ( ROAR_CODEC_BYTE_ORDER(from->codec) != ROAR_CODEC_NATIVE_ENDIAN ) { 761 ROAR_DBG("roar_conv(*): doing bo input conv"); 762 if ( roar_conv_endian(out, cin, samples, 763 ROAR_CODEC_BYTE_ORDER(from->codec), ROAR_CODEC_NATIVE_ENDIAN, from->bits) == -1 ) { 764 return -1; 765 } 766 cin = out; 767 } 768 769 if ( to->bits > from->bits ) { 770 if ( roar_conv_bits(out, cin, samples, from->bits, to->bits) == -1 ) 771 return -1; 772 773 cin = out; 774 cinfo.bits = to->bits; 775 } 776 777 if ( to->channels > from->channels ) { 778 if ( roar_conv_chans(out, cin, samples, from->channels, to->channels, cinfo.bits) == -1 ) 779 return -1; 780 781 cin = out; 782 cinfo.channels = to->channels; 783 } 784 785 //--// 786 787 if ( cinfo.channels != to->channels ) { 788 if ( roar_conv_chans(out, cin, samples, cinfo.channels, to->channels, cinfo.bits) == -1 ) 789 return -1; 790 791 cin = out; 792 cinfo.channels = to->channels; 793 } 794 795 if ( cinfo.bits != to->bits ) { 796 if ( roar_conv_bits(out, cin, samples, cinfo.bits, to->bits) == -1 ) 797 return -1; 798 799 cin = out; 800 cinfo.bits = to->bits; 801 } 802 803 if ( ROAR_CODEC_BYTE_ORDER(to->codec) != ROAR_CODEC_NATIVE_ENDIAN ) { 804 ROAR_DBG("roar_conv(*): doing bo output conv"); 805 if ( roar_conv_endian(out, cin, samples, 806 ROAR_CODEC_NATIVE_ENDIAN, ROAR_CODEC_BYTE_ORDER(to->codec), to->bits) == -1 ) { 807 return -1; 808 } 809 cin = out; 810 } 811 812 return 0; 757 813 } 758 814
Note: See TracChangeset
for help on using the changeset viewer.