diff options
-rw-r--r-- | apps/recorder/pcm_record.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/apps/recorder/pcm_record.c b/apps/recorder/pcm_record.c index 0a6e1b5a51..9b0e779485 100644 --- a/apps/recorder/pcm_record.c +++ b/apps/recorder/pcm_record.c | |||
@@ -890,12 +890,12 @@ copy_buffer_mono_lr(void *dst, const void *src, size_t src_size) | |||
890 | 890 | ||
891 | /* Copy with mono conversion - output 1/2 size of input */ | 891 | /* Copy with mono conversion - output 1/2 size of input */ |
892 | static void * ICODE_ATTR | 892 | static void * ICODE_ATTR |
893 | copy_buffer_mono_l(void *dst, const void *src, size_t src_size) | 893 | copy_buffer_mono_r(void *dst, const void *src, size_t src_size) |
894 | { | 894 | { |
895 | int16_t *d = (int16_t*)dst; | 895 | int16_t *d = (int16_t*)dst; |
896 | int16_t const *s = (int16_t const*)src - 2; | 896 | int16_t const *s = (int16_t const*)src - 1; |
897 | ssize_t copy_size = src_size; | 897 | ssize_t copy_size = src_size; |
898 | /* mono = L */ | 898 | /* mono = R */ |
899 | do | 899 | do |
900 | *d++ = *(s += 2); | 900 | *d++ = *(s += 2); |
901 | while ((copy_size -= PCM_SAMP_SIZE) > 0); | 901 | while ((copy_size -= PCM_SAMP_SIZE) > 0); |
@@ -903,20 +903,28 @@ copy_buffer_mono_l(void *dst, const void *src, size_t src_size) | |||
903 | return dst; | 903 | return dst; |
904 | } | 904 | } |
905 | 905 | ||
906 | #if 1 | ||
907 | static void * ICODE_ATTR | ||
908 | copy_buffer_mono_l(void *dst, const void *src, size_t src_size) | ||
909 | { | ||
910 | return copy_buffer_mono_r(dst, src -1, src_size); | ||
911 | } | ||
912 | #else | ||
906 | /* Copy with mono conversion - output 1/2 size of input */ | 913 | /* Copy with mono conversion - output 1/2 size of input */ |
907 | static void * ICODE_ATTR | 914 | static void * ICODE_ATTR |
908 | copy_buffer_mono_r(void *dst, const void *src, size_t src_size) | 915 | copy_buffer_mono_l(void *dst, const void *src, size_t src_size) |
909 | { | 916 | { |
910 | int16_t *d = (int16_t*)dst; | 917 | int16_t *d = (int16_t*)dst; |
911 | int16_t const *s = (int16_t const*)src - 1; | 918 | int16_t const *s = (int16_t const*)src - 2; |
912 | ssize_t copy_size = src_size; | 919 | ssize_t copy_size = src_size; |
913 | /* mono = R */ | 920 | /* mono = L */ |
914 | do | 921 | do |
915 | *d++ = *(s += 2); | 922 | *d++ = *(s += 2); |
916 | while ((copy_size -= PCM_SAMP_SIZE) > 0); | 923 | while ((copy_size -= PCM_SAMP_SIZE) > 0); |
917 | 924 | ||
918 | return dst; | 925 | return dst; |
919 | } | 926 | } |
927 | #endif | ||
920 | 928 | ||
921 | 929 | ||
922 | /** pcm_rec_* group **/ | 930 | /** pcm_rec_* group **/ |