On Mon, 20 Jun 2022, Marton Balint wrote:



On Mon, 13 Jun 2022, Marton Balint wrote:

 Also warn the user that for single images -update should be used, for
 sequences
 a proper pattern should be specified.

 Fixes ticket #9748.

Ping for this. Note that this patch will show a warning for any non-sequence image filename (unless the -update option is specified) in order to help the user avoid unexpected results with filenames containing %d.

Will apply.

Regards,
Marton


Regards,
Marton


 Signed-off-by: Marton Balint <c...@passwd.hu>
 ---
 libavformat/img2enc.c | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

 diff --git a/libavformat/img2enc.c b/libavformat/img2enc.c
 index 82a04e639b..50e469dd96 100644
 --- a/libavformat/img2enc.c
 +++ b/libavformat/img2enc.c
 @@ -163,13 +163,17 @@ static int write_packet(AVFormatContext *s, AVPacket
 *pkt)
         }
     } else if (av_get_frame_filename2(filename, sizeof(filename), s->url,
                                       img->img_number,
 -                                      AV_FRAME_FILENAME_FLAGS_MULTIPLE) <
 0 &&
 -               img->img_number > img->start_img_number) {
 -        av_log(s, AV_LOG_ERROR,
 -               "Could not get frame filename number %d from pattern '%s'.
 "
 -               "Use '-frames:v 1' for a single image, or '-update'
 option, or use a pattern such as %%03d within the filename.\n",
 -               img->img_number, s->url);
 -        return AVERROR(EINVAL);
 +                                      AV_FRAME_FILENAME_FLAGS_MULTIPLE) <
 0) {
 +        if (img->img_number == img->start_img_number) {
 +            av_log(s, AV_LOG_WARNING, "The specified filename '%s' does
 not contain an image sequence pattern or a pattern is invalid.\n",
 s->url);
 +            av_log(s, AV_LOG_WARNING,
 +                   "Use a pattern such as %%03d for an image sequence or
 "
 +                   "use the -update option (with -frames:v 1 if needed)
 to write a single image.\n");
 +            av_strlcpy(filename, s->url, sizeof(filename));
 +        } else {
 +            av_log(s, AV_LOG_ERROR, "Cannot write more than one file with
 the same name. Are you missing the -update option or a sequence
 pattern?\n");
 +            return AVERROR(EINVAL);
 +        }
     }
     for (i = 0; i < 4; i++) {
         av_dict_copy(&options, img->protocol_opts, 0);
 --
 2.34.1

 _______________________________________________
 ffmpeg-devel mailing list
 ffmpeg-devel@ffmpeg.org
 https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

 To unsubscribe, visit link above, or email
 ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to