Browse Source

movenc: Don't add base_data_offset in tfhd for PIFF files

According to the PIFF specification[1] the base_data_offset field MUST be
omitteed. See section 5.2.17. Since the ISMV files created by libavformat
state that they are 'piff' compatible via 'ftyp' box, this needs to be
corrected.

[1] http://www.iis.net/learn/media/smooth-streaming/protected-interoperable-file-format

Signed-off-by: Martin Storsjö <martin@martin.st>
tags/n2.0
Jeremy Hinegardner Martin Storsjö 13 years ago
parent
commit
40bbbce7e8
1 changed files with 4 additions and 2 deletions
  1. +4
    -2
      libavformat/movenc.c

+ 4
- 2
libavformat/movenc.c View File

@@ -2189,9 +2189,11 @@ static int mov_write_tfhd_tag(AVIOContext *pb, MOVTrack *track,

/* Don't set a default sample size, the silverlight player refuses
* to play files with that set. Don't set a default sample duration,
* WMP freaks out if it is set. */
* WMP freaks out if it is set. Don't set a base data offset, PIFF
* file format says it MUST NOT be set. */
if (track->mode == MODE_ISM)
flags &= ~(MOV_TFHD_DEFAULT_SIZE | MOV_TFHD_DEFAULT_DURATION);
flags &= ~(MOV_TFHD_DEFAULT_SIZE | MOV_TFHD_DEFAULT_DURATION |
MOV_TFHD_BASE_DATA_OFFSET);

avio_wb32(pb, 0); /* size placeholder */
ffio_wfourcc(pb, "tfhd");


Loading…
Cancel
Save