[FFmpeg-devel] [PATCH] Issue more explicit error messages in compute_pkt_fields2().
Michael Niedermayer
michaelni
Thu Jan 6 20:46:28 CET 2011
On Thu, Jan 06, 2011 at 11:59:59AM +0100, Stefano Sabatini wrote:
> On date Wednesday 2011-01-05 16:55:14 +0100, Michael Niedermayer encoded:
> > On Tue, Jan 04, 2011 at 07:50:47PM +0100, Stefano Sabatini wrote:
> > > ---
> > > libavformat/utils.c | 6 ++++--
> > > 1 files changed, 4 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/libavformat/utils.c b/libavformat/utils.c
> > > index fb93e3b..3b1b34e 100644
> > > --- a/libavformat/utils.c
> > > +++ b/libavformat/utils.c
> > > @@ -2917,12 +2917,14 @@ static int compute_pkt_fields2(AVFormatContext *s, AVStream *st, AVPacket *pkt){
> > >
> > > if(st->cur_dts && st->cur_dts != AV_NOPTS_VALUE && st->cur_dts >= pkt->dts){
> > > av_log(s, AV_LOG_ERROR,
> > > - "st:%d error, non monotone timestamps %"PRId64" >= %"PRId64"\n",
> > > + "Non monotone timestamps in stream number %d: st->cur_dts:%"PRId64" >= pkt->dts:%"PRId64"\n",
> > > st->index, st->cur_dts, pkt->dts);
> >
> > Thats just confusing the user with internal details.
> > And might make it look like its some problem internal to libav while truth,
> > plain and simple the libav user (like ffmpeg.c) has provided invalid timestamps
> > What libavformat internal variables are used to make this check has no relevance
>
> Where the problem lays is secondary, I'd like the log message to
> convey what was wrong in an intelligible way.
That would be, either way:
"Application provided invalid, non monotonly increasing dts to muxer"
(with the actual values & stream number of course)
>
> > > return -1;
> > > }
> > > if(pkt->dts != AV_NOPTS_VALUE && pkt->pts != AV_NOPTS_VALUE && pkt->pts < pkt->dts){
> > > - av_log(s, AV_LOG_ERROR, "st:%d error, pts < dts\n", st->index);
> > > + av_log(s, AV_LOG_ERROR,
> > > + "pts < dts in stream number %d\n: pkt->pts:%"PRId64" < pkt->dts:%"PRId64"\n",
> > > + st->index, pkt->pts, pkt->dts);
> >
> > This should be on one line for being grepable saneley and theres no need to
> > say pts<dts twice.
>
> > Also you loose the word error which is the most fundamental part of this, it
> > is an error not a warning
>
> Error is implied by the log level of the message, and also from
> the fact that the function is returning an error code. I can add the
> string "error" but this looks quite pointless to me.
The error message is intended for the user, the user doesnt know what a
function returned without debugger, and without a terminal with color support
he wont see the log level either.
If the user doesnt know
anymore if something is debugging chatter or error thats bad IMHO.
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
DNS cache poisoning attacks, popular search engine, Google internet authority
dont be evil, please
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20110106/5f5f7236/attachment.pgp>
More information about the ffmpeg-devel
mailing list