Browse code

movenc: Don't write the 'wave' atom or its child 'enda' for lpcm audio.

It's left over from stsd v0. QuickTime 7 no longer writes 'wave' or 'enda'
when 'lpcm' is the audio tag.

Alex Converse authored on 2012/05/24 03:32:52
Showing 1 changed files
... ...
@@ -264,14 +264,6 @@ static int mov_write_extradata_tag(AVIOContext *pb, MOVTrack *track)
264 264
     return track->enc->extradata_size;
265 265
 }
266 266
 
267
-static int mov_write_enda_tag(AVIOContext *pb)
268
-{
269
-    avio_wb32(pb, 10);
270
-    ffio_wfourcc(pb, "enda");
271
-    avio_wb16(pb, 1); /* little endian */
272
-    return 10;
273
-}
274
-
275 267
 static void put_descr(AVIOContext *pb, int tag, unsigned int size)
276 268
 {
277 269
     int i = 3;
... ...
@@ -334,14 +326,6 @@ static int mov_write_esds_tag(AVIOContext *pb, MOVTrack *track) // Basic
334 334
     return update_size(pb, pos);
335 335
 }
336 336
 
337
-static int mov_pcm_le_gt16(enum CodecID codec_id)
338
-{
339
-    return codec_id == CODEC_ID_PCM_S24LE ||
340
-           codec_id == CODEC_ID_PCM_S32LE ||
341
-           codec_id == CODEC_ID_PCM_F32LE ||
342
-           codec_id == CODEC_ID_PCM_F64LE;
343
-}
344
-
345 337
 static int mov_write_ms_tag(AVIOContext *pb, MOVTrack *track)
346 338
 {
347 339
     int64_t pos = avio_tell(pb);
... ...
@@ -403,8 +387,6 @@ static int mov_write_wave_tag(AVIOContext *pb, MOVTrack *track)
403 403
         ffio_wfourcc(pb, "mp4a");
404 404
         avio_wb32(pb, 0);
405 405
         mov_write_esds_tag(pb, track);
406
-    } else if (mov_pcm_le_gt16(track->enc->codec_id)) {
407
-        mov_write_enda_tag(pb);
408 406
     } else if (track->enc->codec_id == CODEC_ID_AMR_NB) {
409 407
         mov_write_amr_tag(pb, track);
410 408
     } else if (track->enc->codec_id == CODEC_ID_AC3) {
... ...
@@ -641,8 +623,7 @@ static int mov_write_audio_tag(AVIOContext *pb, MOVTrack *track)
641 641
         track->enc->codec_id == CODEC_ID_AMR_NB ||
642 642
         track->enc->codec_id == CODEC_ID_ALAC ||
643 643
         track->enc->codec_id == CODEC_ID_ADPCM_MS ||
644
-        track->enc->codec_id == CODEC_ID_ADPCM_IMA_WAV ||
645
-        mov_pcm_le_gt16(track->enc->codec_id)))
644
+        track->enc->codec_id == CODEC_ID_ADPCM_IMA_WAV))
646 645
         mov_write_wave_tag(pb, track);
647 646
     else if(track->tag == MKTAG('m','p','4','a'))
648 647
         mov_write_esds_tag(pb, track);