warn user if ms style codec tag is used
remove " " codec tag Originally committed as revision 3307 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
		
							parent
							
								
									37776c3bac
								
							
						
					
					
						commit
						ffdd57d47e
					
				| @ -252,7 +252,8 @@ const CodecTag codec_movaudio_tags[] = { | |||||||
| 
 | 
 | ||||||
| static int mov_write_audio_tag(ByteIOContext *pb, MOVTrack* track) | static int mov_write_audio_tag(ByteIOContext *pb, MOVTrack* track) | ||||||
| { | { | ||||||
|     int pos = url_ftell(pb), tag; |     int pos = url_ftell(pb); | ||||||
|  |     int tag; | ||||||
|      |      | ||||||
|     put_be32(pb, 0); /* size */ |     put_be32(pb, 0); /* size */ | ||||||
| 
 | 
 | ||||||
| @ -261,12 +262,8 @@ static int mov_write_audio_tag(ByteIOContext *pb, MOVTrack* track) | |||||||
|     if (!tag) |     if (!tag) | ||||||
|     { |     { | ||||||
| 	int tmp = codec_get_tag(codec_wav_tags, track->enc->codec_id); | 	int tmp = codec_get_tag(codec_wav_tags, track->enc->codec_id); | ||||||
| 	if (tmp) |  | ||||||
|         tag = MKTAG('m', 's', ((tmp >> 8) & 0xff), (tmp & 0xff)); |         tag = MKTAG('m', 's', ((tmp >> 8) & 0xff), (tmp & 0xff)); | ||||||
|     } |     } | ||||||
|     if (!tag) |  | ||||||
| 	put_tag(pb, "    "); |  | ||||||
|     else |  | ||||||
|     put_le32(pb, tag); // store it byteswapped
 |     put_le32(pb, tag); // store it byteswapped
 | ||||||
| 
 | 
 | ||||||
|     put_be32(pb, 0); /* Reserved */ |     put_be32(pb, 0); /* Reserved */ | ||||||
| @ -442,7 +439,8 @@ const CodecTag codec_movvideo_tags[] = { | |||||||
| 
 | 
 | ||||||
| static int mov_write_video_tag(ByteIOContext *pb, MOVTrack* track) | static int mov_write_video_tag(ByteIOContext *pb, MOVTrack* track) | ||||||
| { | { | ||||||
|     int pos = url_ftell(pb), tag; |     int pos = url_ftell(pb); | ||||||
|  |     int tag; | ||||||
| 
 | 
 | ||||||
|     put_be32(pb, 0); /* size */ |     put_be32(pb, 0); /* size */ | ||||||
| 
 | 
 | ||||||
| @ -450,9 +448,6 @@ static int mov_write_video_tag(ByteIOContext *pb, MOVTrack* track) | |||||||
|     // if no mac fcc found, try with Microsoft tags
 |     // if no mac fcc found, try with Microsoft tags
 | ||||||
|     if (!tag) |     if (!tag) | ||||||
| 	tag = codec_get_tag(codec_bmp_tags, track->enc->codec_id); | 	tag = codec_get_tag(codec_bmp_tags, track->enc->codec_id); | ||||||
|     if (!tag) |  | ||||||
| 	put_tag(pb, "    "); |  | ||||||
|     else |  | ||||||
|     put_le32(pb, tag); // store it byteswapped
 |     put_le32(pb, tag); // store it byteswapped
 | ||||||
| 
 | 
 | ||||||
|     put_be32(pb, 0); /* Reserved */ |     put_be32(pb, 0); /* Reserved */ | ||||||
| @ -930,6 +925,26 @@ static int mov_write_header(AVFormatContext *s) | |||||||
|     MOVContext *mov = s->priv_data; |     MOVContext *mov = s->priv_data; | ||||||
|     int i; |     int i; | ||||||
| 
 | 
 | ||||||
|  |     for(i=0; i<s->nb_streams; i++){ | ||||||
|  |         AVCodecContext *c= &s->streams[i]->codec; | ||||||
|  | 
 | ||||||
|  |         if      (c->codec_type == CODEC_TYPE_VIDEO){ | ||||||
|  |             if (!codec_get_tag(codec_movvideo_tags, c->codec_id)){ | ||||||
|  |                 if(!codec_get_tag(codec_bmp_tags, c->codec_id)) | ||||||
|  |                     return -1; | ||||||
|  |                 else | ||||||
|  |                     av_log(s, AV_LOG_INFO, "Warning, using MS style video codec tag, the file may be unplayable!\n"); | ||||||
|  |             } | ||||||
|  |         }else if(c->codec_type == CODEC_TYPE_AUDIO){ | ||||||
|  |             if (!codec_get_tag(codec_movaudio_tags, c->codec_id)){ | ||||||
|  |                 if(!codec_get_tag(codec_wav_tags, c->codec_id)) | ||||||
|  |                     return -1; | ||||||
|  |                 else | ||||||
|  |                     av_log(s, AV_LOG_INFO, "Warning, using MS style audio codec tag, the file may be unplayable!\n"); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     /* Default mode == MP4 */ |     /* Default mode == MP4 */ | ||||||
|     mov->mode = MODE_MP4; |     mov->mode = MODE_MP4; | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user