diff flvenc.c @ 679:54d87ed9b3e4 libavformat

correct pcm in flv handling
author alex
date Mon, 21 Feb 2005 18:05:21 +0000
parents c0849ef998e7
children d7c7f7bbdf55
line wrap: on
line diff
--- a/flvenc.c	Mon Feb 21 17:50:48 2005 +0000
+++ b/flvenc.c	Mon Feb 21 18:05:21 2005 +0000
@@ -35,7 +35,7 @@
 }
 
 static int get_audio_flags(AVCodecContext *enc){
-    int flags = 0x02;
+    int flags = 0;
 
     switch (enc->sample_rate) {
         case    44100:
@@ -61,8 +61,16 @@
     
     switch(enc->codec_id){
     case CODEC_ID_MP3:
-        flags |= 0x20;
+        flags |= 0x20 | 0x2;
         break;
+    case CODEC_ID_PCM_S8:
+	break;
+    case CODEC_ID_PCM_S16BE:
+	flags |= 0x60 | 0x2;
+	break;
+    case CODEC_ID_PCM_S16LE:
+	flags |= 0x2;
+	break;
     case 0:
         flags |= enc->codec_tag<<4;
         break;
@@ -155,8 +163,8 @@
     put_be32(pb,flv->reserved);
     put_byte(pb,flags);
     put_buffer(pb, pkt->data, size);
-    put_be32(pb,size+1+11); // reserved
-
+    put_be32(pb,size+1+11); // previous tag size
+    
     put_flush_packet(pb);
     return 0;
 }