mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-03-02 10:41:16 +00:00
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,13 +262,9 @@ 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_le32(pb, tag); // store it byteswapped
|
||||||
put_tag(pb, " ");
|
|
||||||
else
|
|
||||||
put_le32(pb, tag); // store it byteswapped
|
|
||||||
|
|
||||||
put_be32(pb, 0); /* Reserved */
|
put_be32(pb, 0); /* Reserved */
|
||||||
put_be16(pb, 0); /* Reserved */
|
put_be16(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,10 +448,7 @@ 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_le32(pb, tag); // store it byteswapped
|
||||||
put_tag(pb, " ");
|
|
||||||
else
|
|
||||||
put_le32(pb, tag); // store it byteswapped
|
|
||||||
|
|
||||||
put_be32(pb, 0); /* Reserved */
|
put_be32(pb, 0); /* Reserved */
|
||||||
put_be16(pb, 0); /* Reserved */
|
put_be16(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…
Reference in New Issue
Block a user