flacdec: shift in proper direction for audio sample conversion
authorMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Thu, 9 Feb 2012 21:07:18 +0000 (22:07 +0100)
committerMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Thu, 9 Feb 2012 21:09:31 +0000 (22:09 +0100)
ext/flac/gstflacdec.c

index b2b93d6..182da75 100644 (file)
@@ -621,7 +621,7 @@ gst_flac_dec_write (GstFlacDec * flacdec, const FLAC__Frame * frame,
     if (width != depth) {
       for (i = 0; i < samples; i++) {
         for (j = 0; j < channels; j++) {
-          *outbuffer++ = (gint8) (buffer[reorder_map[j]][i] >> (width - depth));
+          *outbuffer++ = (gint8) (buffer[reorder_map[j]][i] << (width - depth));
         }
       }
     } else {
@@ -639,7 +639,7 @@ gst_flac_dec_write (GstFlacDec * flacdec, const FLAC__Frame * frame,
       for (i = 0; i < samples; i++) {
         for (j = 0; j < channels; j++) {
           *outbuffer++ =
-              (gint16) (buffer[reorder_map[j]][i] >> (width - depth));
+              (gint16) (buffer[reorder_map[j]][i] << (width - depth));
         }
       }
     } else {
@@ -657,7 +657,7 @@ gst_flac_dec_write (GstFlacDec * flacdec, const FLAC__Frame * frame,
       for (i = 0; i < samples; i++) {
         for (j = 0; j < channels; j++) {
           *outbuffer++ =
-              (gint32) (buffer[reorder_map[j]][i] >> (width - depth));
+              (gint32) (buffer[reorder_map[j]][i] << (width - depth));
         }
       }
     } else {