[FFmpeg-devel] [PATCH 0/2] avformat/mvdec: make audio stream conditional

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Sat Jan 1 02:33:54 EET 2022


John-Paul Stewart:
> On 2021-12-31 17:19, Andreas Rheinhardt wrote:
>> John-Paul Stewart:
>>> Recent discussion on the list led me to realize that libavformat was
>>> unconditionally creating an audio stream for all SGI movie format
>>> (version 2) files, even when no audio is present in the file.  
>>>
>>> A sample of a movie file with no audio can be found at
>>>     http://www.personalprojects.net/ffmpeg/silent.movie
>>>
>>> Unpatched ffmpeg will report an audio stream even though no audio is
>>> present.  After the following patch no audio stream is reported.  
>>>
>>> SGI movie files with audio are slightly affected by the fact that the
>>> audio stream is now allocated after the video stream, changing the order
>>> they are listed in the output of ffprobe or ffmpeg.  I don't think this
>>> materially affects anything.  All existing FATE tests pass.
>>>
>>
>> If I am not mistaken, it actually changes it a bit more: The audio data
>> (if present) is stored before the video data in the file and
>> mv_read_packet returns the data in the order of the stream numbers. Now
> 
> Thanks for that info.  I hadn't realized that mv_read_packet relied on
> the order of the stream numbers.
> 

It is actually documented (right before creating the audio stream):
"/* allocate audio track first to prevent unnecessary seeking
  * (audio packet always precede video packet for a given frame) */"

- Andreas


More information about the ffmpeg-devel mailing list