[FFmpeg-trac] #11577(ffmpeg:new): [Regression] Incorrect parsing of metadata stream specifiers with a question mark (was: Incorrect parsing of metadata stream specifiers with a question mark)

FFmpeg trac at avcodec.org
Sat May 17 17:11:35 EEST 2025


#11577: [Regression] Incorrect parsing of metadata stream specifiers with a
question mark
----------------------------------+----------------------------------
             Reporter:  Mive      |                    Owner:  (none)
                 Type:  defect    |                   Status:  new
             Priority:  normal    |                Component:  ffmpeg
              Version:  7.1       |               Resolution:
             Keywords:  cmdutils  |               Blocked By:
             Blocking:            |  Reproduced by developer:  0
Analyzed by developer:  0         |
----------------------------------+----------------------------------
Changes (by Mive):

 * component:  undetermined => ffmpeg
 * keywords:   => cmdutils
 * summary:  Incorrect parsing of metadata stream specifiers with a question
     mark =>
     [Regression] Incorrect parsing of metadata stream specifiers with a
     question mark


Old description:

> Summary of the bug:
> When specifying a stream with metadata stream specifiers that include a
> `?` at the end, an error is raised `Stream map '' matches no streams.` No
> error is raised when removing the `?`. This issue does not present itself
> when using normal stream speficiers like `-map 0:s?`. This issue is also
> not present in ffmpeg 7.0
>
> How to reproduce:
> Get a video file with tracks containing language metadata and try to use
> a metadata stream specifier with a `?` eg. `-map 0:s:m:language:eng?`
> {{{
> % ffmpeg -i input.mkv -map 0:V -map 0:s:m:language:eng? ... output.mkv
> }}}

New description:

 Summary of the bug:
 When specifying a stream with metadata stream specifiers that include a
 `?` at the end, an error is raised `Stream map '' matches no streams.` No
 error is raised when removing the `?`. This issue does not present itself
 when using normal stream speficiers like `-map 0:s?`. This issue is also
 not present in ffmpeg 7.0

 More specifically, function `stream_specifier_parse` only specifies `:` as
 the value termniator instead of `:?` or similar, and thus the resulting
 key:value pair looks like this `key:value?` when a `?` is present.

 How to reproduce:
 Get a video file with tracks containing language metadata and try to use a
 metadata stream specifier with a `?` eg. `-map 0:s:m:language:eng?`
 {{{
 % ffmpeg -i input.mkv -map 0:V -map 0:s:m:language:eng? ... output.mkv
 }}}

--
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/11577#comment:1>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list