* [FFmpeg-devel] [PATCH] tests/movenc: Validate that normal muxer usage doesn't print warnings
@ 2024-04-04 10:29 Martin Storsjö
2024-04-10 7:47 ` Martin Storsjö
0 siblings, 1 reply; 2+ messages in thread
From: Martin Storsjö @ 2024-04-04 10:29 UTC (permalink / raw)
To: ffmpeg-devel
We have test to make sure that certain configurations do print
warnings. However, the normal operation of the muxer within this
test always printed a warning, so those tests to check for
extra warnings didn't essentially guard anything.
The warning that always was printed, "track 1: codec frame size is
not set" was not present in the libav fork where this testcase
originated, it was removed in f234e8a32e6c69d7b63f8627f278be7c2c987f43.
Set the frame size for the audio stream to silence the warning,
and use this frame size in a couple later calculations, and check
that one test configuration doesn't print warnings.
Setting the frame size apparently changes the rounding of a timestamp
in the ismv muxing testcase.
---
libavformat/tests/movenc.c | 10 ++++++++--
tests/ref/fate/movenc | 2 +-
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/libavformat/tests/movenc.c b/libavformat/tests/movenc.c
index 77f73abdfa..12a3632d4e 100644
--- a/libavformat/tests/movenc.c
+++ b/libavformat/tests/movenc.c
@@ -215,6 +215,7 @@ static void init_fps(int bf, int audio_preroll, int fps)
st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO;
st->codecpar->codec_id = AV_CODEC_ID_AAC;
st->codecpar->sample_rate = 44100;
+ st->codecpar->frame_size = 1024;
st->codecpar->ch_layout = (AVChannelLayout)AV_CHANNEL_LAYOUT_STEREO;
st->time_base.num = 1;
st->time_base.den = 44100;
@@ -232,9 +233,10 @@ static void init_fps(int bf, int audio_preroll, int fps)
frames = 0;
gop_size = 30;
duration = video_st->time_base.den / fps;
- audio_duration = 1024LL * audio_st->time_base.den / audio_st->codecpar->sample_rate;
+ audio_duration = (long long)audio_st->codecpar->frame_size *
+ audio_st->time_base.den / audio_st->codecpar->sample_rate;
if (audio_preroll)
- audio_preroll = 2048LL * audio_st->time_base.den / audio_st->codecpar->sample_rate;
+ audio_preroll = 2 * audio_duration;
bframes = bf;
video_dts = bframes ? -duration : 0;
@@ -442,6 +444,7 @@ int main(int argc, char **argv)
// Similar to the previous one, but with input that doesn't start at
// pts/dts 0. avoid_negative_ts behaves in the same way as
// in non-empty-moov-no-elst above.
+ init_count_warnings();
init_out("empty-moov-no-elst");
av_dict_set(&opts, "movflags", "+frag_keyframe+empty_moov", 0);
init(1, 0);
@@ -449,6 +452,9 @@ int main(int argc, char **argv)
finish();
close_out();
+ reset_count_warnings();
+ check(num_warnings == 0, "Unexpected warnings printed");
+
// Same as the previous one, but disable avoid_negative_ts (which
// would require using an edit list, but with empty_moov, one can't
// write a sensible edit list, when the start timestamps aren't known).
diff --git a/tests/ref/fate/movenc b/tests/ref/fate/movenc
index 968a3d27f2..0c77f5187c 100644
--- a/tests/ref/fate/movenc
+++ b/tests/ref/fate/movenc
@@ -20,7 +20,7 @@ write_data len 828, time nopts, type unknown atom -
write_data len 728, time 999999, type sync atom moof
write_data len 812, time nopts, type unknown atom -
write_data len 148, time nopts, type trailer atom -
-92ce825ff40505ec8676191705adb7e7 4439 ismv
+d2df24d323f4a8896441cd91203ac5f8 4439 ismv
write_data len 36, time nopts, type header atom ftyp
write_data len 1123, time nopts, type header atom -
write_data len 796, time 0, type sync atom moof
--
2.39.3 (Apple Git-146)
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [FFmpeg-devel] [PATCH] tests/movenc: Validate that normal muxer usage doesn't print warnings
2024-04-04 10:29 [FFmpeg-devel] [PATCH] tests/movenc: Validate that normal muxer usage doesn't print warnings Martin Storsjö
@ 2024-04-10 7:47 ` Martin Storsjö
0 siblings, 0 replies; 2+ messages in thread
From: Martin Storsjö @ 2024-04-10 7:47 UTC (permalink / raw)
To: ffmpeg-devel
On Thu, 4 Apr 2024, Martin Storsjö wrote:
> We have test to make sure that certain configurations do print
> warnings. However, the normal operation of the muxer within this
> test always printed a warning, so those tests to check for
> extra warnings didn't essentially guard anything.
>
> The warning that always was printed, "track 1: codec frame size is
> not set" was not present in the libav fork where this testcase
> originated, it was removed in f234e8a32e6c69d7b63f8627f278be7c2c987f43.
>
> Set the frame size for the audio stream to silence the warning,
> and use this frame size in a couple later calculations, and check
> that one test configuration doesn't print warnings.
>
> Setting the frame size apparently changes the rounding of a timestamp
> in the ismv muxing testcase.
> ---
> libavformat/tests/movenc.c | 10 ++++++++--
> tests/ref/fate/movenc | 2 +-
> 2 files changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/libavformat/tests/movenc.c b/libavformat/tests/movenc.c
> index 77f73abdfa..12a3632d4e 100644
> --- a/libavformat/tests/movenc.c
> +++ b/libavformat/tests/movenc.c
> @@ -215,6 +215,7 @@ static void init_fps(int bf, int audio_preroll, int fps)
> st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO;
> st->codecpar->codec_id = AV_CODEC_ID_AAC;
> st->codecpar->sample_rate = 44100;
> + st->codecpar->frame_size = 1024;
> st->codecpar->ch_layout = (AVChannelLayout)AV_CHANNEL_LAYOUT_STEREO;
> st->time_base.num = 1;
> st->time_base.den = 44100;
> @@ -232,9 +233,10 @@ static void init_fps(int bf, int audio_preroll, int fps)
> frames = 0;
> gop_size = 30;
> duration = video_st->time_base.den / fps;
> - audio_duration = 1024LL * audio_st->time_base.den / audio_st->codecpar->sample_rate;
> + audio_duration = (long long)audio_st->codecpar->frame_size *
> + audio_st->time_base.den / audio_st->codecpar->sample_rate;
> if (audio_preroll)
> - audio_preroll = 2048LL * audio_st->time_base.den / audio_st->codecpar->sample_rate;
> + audio_preroll = 2 * audio_duration;
>
> bframes = bf;
> video_dts = bframes ? -duration : 0;
> @@ -442,6 +444,7 @@ int main(int argc, char **argv)
> // Similar to the previous one, but with input that doesn't start at
> // pts/dts 0. avoid_negative_ts behaves in the same way as
> // in non-empty-moov-no-elst above.
> + init_count_warnings();
> init_out("empty-moov-no-elst");
> av_dict_set(&opts, "movflags", "+frag_keyframe+empty_moov", 0);
> init(1, 0);
> @@ -449,6 +452,9 @@ int main(int argc, char **argv)
> finish();
> close_out();
>
> + reset_count_warnings();
> + check(num_warnings == 0, "Unexpected warnings printed");
> +
> // Same as the previous one, but disable avoid_negative_ts (which
> // would require using an edit list, but with empty_moov, one can't
> // write a sensible edit list, when the start timestamps aren't known).
> diff --git a/tests/ref/fate/movenc b/tests/ref/fate/movenc
> index 968a3d27f2..0c77f5187c 100644
> --- a/tests/ref/fate/movenc
> +++ b/tests/ref/fate/movenc
> @@ -20,7 +20,7 @@ write_data len 828, time nopts, type unknown atom -
> write_data len 728, time 999999, type sync atom moof
> write_data len 812, time nopts, type unknown atom -
> write_data len 148, time nopts, type trailer atom -
> -92ce825ff40505ec8676191705adb7e7 4439 ismv
> +d2df24d323f4a8896441cd91203ac5f8 4439 ismv
> write_data len 36, time nopts, type header atom ftyp
> write_data len 1123, time nopts, type header atom -
> write_data len 796, time 0, type sync atom moof
> --
> 2.39.3 (Apple Git-146)
Will push within a few days if there are no objections.
// Martin
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-04-10 7:48 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-04 10:29 [FFmpeg-devel] [PATCH] tests/movenc: Validate that normal muxer usage doesn't print warnings Martin Storsjö
2024-04-10 7:47 ` Martin Storsjö
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git