diff --git a/ffmpeg.c b/ffmpeg.c
index 02efdf48c33415d42edb8f97a2eab83bdcdfd96f..0bd318abc831e4c6cb058e3965ff0afe87809569 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -3076,6 +3076,10 @@ static int transcode_init(void)
                 codec->frame_size         = icodec->frame_size;
                 codec->audio_service_type = icodec->audio_service_type;
                 codec->block_align        = icodec->block_align;
+                if(codec->block_align == 1 && codec->codec_id == CODEC_ID_MP3)
+                    codec->block_align= 0;
+                if(codec->codec_id == CODEC_ID_AC3)
+                    codec->block_align= 0;
                 break;
             case AVMEDIA_TYPE_VIDEO:
                 codec->pix_fmt            = icodec->pix_fmt;