提交 79e42311 编写于 作者: B Baptiste Coudurier

use generic 'glbl' atom if extradata is present but no specific method is known

Originally committed as revision 11272 to svn://svn.ffmpeg.org/ffmpeg/trunk
上级 bde24601
...@@ -322,6 +322,14 @@ static int mov_write_wave_tag(ByteIOContext *pb, MOVTrack* track) ...@@ -322,6 +322,14 @@ static int mov_write_wave_tag(ByteIOContext *pb, MOVTrack* track)
return updateSize (pb, pos); return updateSize (pb, pos);
} }
static int mov_write_glbl_tag(ByteIOContext *pb, MOVTrack* track)
{
put_be32(pb, track->vosLen+8);
put_tag(pb, "glbl");
put_buffer(pb, track->vosData, track->vosLen);
return 8+track->vosLen;
}
static int mov_write_audio_tag(ByteIOContext *pb, MOVTrack* track) static int mov_write_audio_tag(ByteIOContext *pb, MOVTrack* track)
{ {
offset_t pos = url_ftell(pb); offset_t pos = url_ftell(pb);
...@@ -376,6 +384,8 @@ static int mov_write_audio_tag(ByteIOContext *pb, MOVTrack* track) ...@@ -376,6 +384,8 @@ static int mov_write_audio_tag(ByteIOContext *pb, MOVTrack* track)
mov_write_esds_tag(pb, track); mov_write_esds_tag(pb, track);
else if(track->enc->codec_id == CODEC_ID_AMR_NB) else if(track->enc->codec_id == CODEC_ID_AMR_NB)
mov_write_amr_tag(pb, track); mov_write_amr_tag(pb, track);
else if(track->vosLen > 0)
mov_write_glbl_tag(pb, track);
return updateSize (pb, pos); return updateSize (pb, pos);
} }
...@@ -676,6 +686,8 @@ static int mov_write_video_tag(ByteIOContext *pb, MOVTrack* track) ...@@ -676,6 +686,8 @@ static int mov_write_video_tag(ByteIOContext *pb, MOVTrack* track)
mov_write_avcc_tag(pb, track); mov_write_avcc_tag(pb, track);
else if(track->enc->codec_id == CODEC_ID_DNXHD) else if(track->enc->codec_id == CODEC_ID_DNXHD)
mov_write_avid_tag(pb, track); mov_write_avid_tag(pb, track);
else if(track->vosLen > 0)
mov_write_glbl_tag(pb, track);
return updateSize (pb, pos); return updateSize (pb, pos);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册