diff asf.c @ 196:01bec1059bdf libavformat

use codec_tag for encoding too
author michaelni
date Mon, 18 Aug 2003 09:20:02 +0000
parents 6c9d6422a2f6
children eb90c0a5a1ba
line wrap: on
line diff
--- a/asf.c	Tue Aug 12 18:20:29 2003 +0000
+++ b/asf.c	Mon Aug 18 09:20:02 2003 +0000
@@ -411,13 +411,23 @@
         put_le16(pb, asf->streams[n].num);
         put_str16(pb, p ? p->name : enc->codec_name);
         put_le16(pb, 0); /* no parameters */
+        
+        
         /* id */
         if (enc->codec_type == CODEC_TYPE_AUDIO) {
             put_le16(pb, 2);
-            put_le16(pb, codec_get_tag(codec_wav_tags, enc->codec_id));
+            if(!enc->codec_tag)
+                enc->codec_tag = codec_get_tag(codec_wav_tags, enc->codec_id);
+            if(!enc->codec_tag)
+                return -1;
+            put_le16(pb, enc->codec_tag);
         } else {
             put_le16(pb, 4);
-            put_le32(pb, codec_get_tag(codec_bmp_tags, enc->codec_id));
+            if(!enc->codec_tag)
+                enc->codec_tag = codec_get_tag(codec_bmp_tags, enc->codec_id);
+            if(!enc->codec_tag)
+                return -1;
+            put_le32(pb, enc->codec_tag);
         }
     }
     end_header(pb, hpos);