Re: [FFmpeg-devel] [PATCH 6/9] ffprobe: use AVFrame.duration instead of AVFrame.pkt_duration
On 7/14/2022 6:34 AM, Anton Khirnov wrote: Quoting James Almer (2022-07-13 14:39:20) You should probably add new entries to the schema file instead. https://git.videolan.org/?p=ffmpeg.git;a=blob;f=doc/ffprobe.xsd;h=3af621a17ae884adfeacb7cd50c60e1553808188;hb=HEAD#l93 Once frame->pkt_duration is gone, ffprobe shouldn't keep printing a frame->duration value as "pkt_duration" and "pkt_duration_time". Also, if frame->duration is supposed to be able to have values other than those we wrote to pkt_duration, maybe keep printing the latter with the existing schema entries until it's all gone (You can use AV_NOWARN_DEPRECATED() to shut compilers up). Well, the whole idea that values printed by ffprobe should precisely mirror the libav* API, up to the field names of our structs, seems quite questionable to me, IMO it makes more sense for it to provide a layer of abstraction over the libraries. But then again I neither maintain ffprobe, nor use it very much, so I wanted to keep changes to a minimum. If nobody has other plans for dealing with this then I can certainly make the changes you're sugesting. ffprobe used to print pkt_pts until it was removed, so printing a field that does not exist (once it's removed) where the new values assigned to it have potentially slightly different semantics than the old ones does not seem like a good idea. ___ 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".
Re: [FFmpeg-devel] [PATCH 6/9] ffprobe: use AVFrame.duration instead of AVFrame.pkt_duration
Quoting James Almer (2022-07-13 14:39:20) > You should probably add new entries to the schema file instead. > > https://git.videolan.org/?p=ffmpeg.git;a=blob;f=doc/ffprobe.xsd;h=3af621a17ae884adfeacb7cd50c60e1553808188;hb=HEAD#l93 > > Once frame->pkt_duration is gone, ffprobe shouldn't keep printing a > frame->duration value as "pkt_duration" and "pkt_duration_time". > Also, if frame->duration is supposed to be able to have values other > than those we wrote to pkt_duration, maybe keep printing the latter with > the existing schema entries until it's all gone (You can use > AV_NOWARN_DEPRECATED() to shut compilers up). Well, the whole idea that values printed by ffprobe should precisely mirror the libav* API, up to the field names of our structs, seems quite questionable to me, IMO it makes more sense for it to provide a layer of abstraction over the libraries. But then again I neither maintain ffprobe, nor use it very much, so I wanted to keep changes to a minimum. If nobody has other plans for dealing with this then I can certainly make the changes you're sugesting. -- Anton Khirnov ___ 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".
Re: [FFmpeg-devel] [PATCH 6/9] ffprobe: use AVFrame.duration instead of AVFrame.pkt_duration
You should probably add new entries to the schema file instead. https://git.videolan.org/?p=ffmpeg.git;a=blob;f=doc/ffprobe.xsd;h=3af621a17ae884adfeacb7cd50c60e1553808188;hb=HEAD#l93 Once frame->pkt_duration is gone, ffprobe shouldn't keep printing a frame->duration value as "pkt_duration" and "pkt_duration_time". Also, if frame->duration is supposed to be able to have values other than those we wrote to pkt_duration, maybe keep printing the latter with the existing schema entries until it's all gone (You can use AV_NOWARN_DEPRECATED() to shut compilers up). On 7/13/2022 6:17 AM, Anton Khirnov wrote: --- fftools/ffprobe.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c index f156663019..a041241e1e 100644 --- a/fftools/ffprobe.c +++ b/fftools/ffprobe.c @@ -2570,8 +2570,8 @@ static void show_frame(WriterContext *w, AVFrame *frame, AVStream *stream, print_time("pkt_dts_time", frame->pkt_dts, &stream->time_base); print_ts ("best_effort_timestamp", frame->best_effort_timestamp); print_time("best_effort_timestamp_time", frame->best_effort_timestamp, &stream->time_base); -print_duration_ts ("pkt_duration", frame->pkt_duration); -print_duration_time("pkt_duration_time", frame->pkt_duration, &stream->time_base); +print_duration_ts ("pkt_duration", frame->duration); +print_duration_time("pkt_duration_time", frame->duration, &stream->time_base); if (frame->pkt_pos != -1) print_fmt("pkt_pos", "%"PRId64, frame->pkt_pos); else print_str_opt("pkt_pos", "N/A"); if (frame->pkt_size != -1) print_val("pkt_size", frame->pkt_size, unit_byte_str); ___ 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] [PATCH 6/9] ffprobe: use AVFrame.duration instead of AVFrame.pkt_duration
--- fftools/ffprobe.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c index f156663019..a041241e1e 100644 --- a/fftools/ffprobe.c +++ b/fftools/ffprobe.c @@ -2570,8 +2570,8 @@ static void show_frame(WriterContext *w, AVFrame *frame, AVStream *stream, print_time("pkt_dts_time", frame->pkt_dts, &stream->time_base); print_ts ("best_effort_timestamp", frame->best_effort_timestamp); print_time("best_effort_timestamp_time", frame->best_effort_timestamp, &stream->time_base); -print_duration_ts ("pkt_duration", frame->pkt_duration); -print_duration_time("pkt_duration_time", frame->pkt_duration, &stream->time_base); +print_duration_ts ("pkt_duration", frame->duration); +print_duration_time("pkt_duration_time", frame->duration, &stream->time_base); if (frame->pkt_pos != -1) print_fmt("pkt_pos", "%"PRId64, frame->pkt_pos); else print_str_opt("pkt_pos", "N/A"); if (frame->pkt_size != -1) print_val("pkt_size", frame->pkt_size, unit_byte_str); -- 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".