diff flvdec.c @ 679:54d87ed9b3e4 libavformat

correct pcm in flv handling
author alex
date Mon, 21 Feb 2005 18:05:21 +0000
parents b47948262721
children 0f77a8b8f348
line wrap: on
line diff
--- a/flvdec.c	Mon Feb 21 17:50:48 2005 +0000
+++ b/flvdec.c	Mon Feb 21 18:05:21 2005 +0000
@@ -60,7 +60,7 @@
 static int flv_read_packet(AVFormatContext *s, AVPacket *pkt)
 {
     int ret, i, type, size, pts, flags, is_audio;
-    AVStream *st;
+    AVStream *st = NULL;
     
  for(;;){
     url_fskip(&s->pb, 4); /* size of previous packet */
@@ -122,7 +122,12 @@
             else
                 st->codec.sample_rate = (44100<<((flags>>2)&3))>>3;
             switch(flags >> 4){/* 0: uncompressed 1: ADPCM 2: mp3 5: Nellymoser 8kHz mono 6: Nellymoser*/
+	    case 0: if (flags&2) st->codec.codec_id = CODEC_ID_PCM_S16BE;
+		    else st->codec.codec_id = CODEC_ID_PCM_S8; break;
             case 2: st->codec.codec_id = CODEC_ID_MP3; break;
+	    // this is not listed at FLV but at SWF, strange...
+	    case 3: if (flags&2) st->codec.codec_id = CODEC_ID_PCM_S16LE;
+		    else st->codec.codec_id = CODEC_ID_PCM_S8; break;
             default:
                 st->codec.codec_tag= (flags >> 4);
             }