diff --git a/libavformat/mpeg.c b/libavformat/mpeg.c
index 5d5b09f..fc86ae6 100644
--- a/libavformat/mpeg.c
+++ b/libavformat/mpeg.c
@@ -581,7 +581,7 @@ static int mpegps_read_packet(AVFormatContext *s,
                 goto skip;
             avio_skip(s->pb, 6);
             len -=6;
-      } else {
+      } else if (0){
         int b1, freq;
 
         /* for LPCM, we just skip the header and consider it is raw
@@ -604,6 +604,13 @@ static int mpegps_read_packet(AVFormatContext *s,
         else if (st->codec->bits_per_coded_sample == 28)
             return AVERROR(EINVAL);
       }
+else {
+avio_skip(s->pb, 16);
+len -= 16;
+st->codec->sample_rate = 44100;
+st->codec->channels = 2;
+st->codec->codec_id = AV_CODEC_ID_PCM_S16BE;
+}
     }
     ret = av_get_packet(s->pb, pkt, len);
     pkt->pts = pts;
