[FFmpeg-devel] [PATCH] Move av_open_input_file probe loop to its own method

Stefano Sabatini stefano.sabatini-lala
Sun Mar 14 23:41:44 CET 2010


On date Friday 2010-03-12 17:53:49 -0500, Micah F. Galizia encoded:
> On 10-03-10 05:59 AM, Michael Niedermayer wrote:
> >On Mon, Mar 08, 2010 at 08:29:40PM -0500, Micah F. Galizia wrote:
> >>On 10-03-07 07:42 PM, M?ns Rullg?rd wrote:
> >>>Stefano Sabatini<stefano.sabatini-lala at poste.it>   writes:
> >>>
> >>>>On date Sunday 2010-03-07 12:48:45 -0500, MIcah Galizia encoded:
> >>>>>On 10-03-07 05:52 AM, Stefano Sabatini wrote:
> >>>>>>On date Saturday 2010-03-06 19:02:07 -0500, Micah F. Galizia encoded:
> >>>>>>>On 10-03-06 06:17 PM, Michael Niedermayer wrote:
> >>>>[...]
> >>>>>>>>should be ok if tested
> >>>>>>>
> >>>>>>>I tested it in plain old ffmpeg, and with my shoutcast changes.
> >>>>>>
> >>>>>>Please test with make test, I tried it and it failed in
> >>>>>>regtest-pbmpipe.
> >>>>>>
> >>>>>>cat pbmpipe.lavf.err
> >>>>>>/home/stefano/src/ffmpeg.git/./tests/data/lavf/pbmpipe.pbm: Error while
> >>>>>>opening file
> >>>>>
> >>>>>Thank you.  The attached patch fixes it.  The problem was that after
> >>>>>the initial probe in av_open_input_file (with no actual probe data),
> >>>>>I was setting the input format to NULL in ff_probe_input_buffer.
> >>>>>Now all regression tests pass (make test).
> >>>>>
> >>>>>Also, I have improved the commenting in internal.h.
> >>>>>
> >>>>>Thanks again!
> >>>>
> >>>>Patch applied, thanks for the fish.
> >>>
> >>>This broke ea-cdata on FATE.
> >>
> >>Actually, it would have broken on any probe score lower than 25 for a file
> >>smaller than 1MB.  The problem was that the old probe loop would reset the
> >>file position each time before calling get_buffer. As a result, get_buffer
> >>would never return AVERROR_EOF, so this wasn't ever a situation that needed
> >>to be handled.
> >>
> >>The modified probe just reads on from where it left off in the previous
> >>probe, so eventually, the end of file is reached before reaching
> >>PROBE_BUF_MAX, so it would just return an error.  It has been updated now
> >>to lower the required probe score when the end of file is reached in
> >>addition to when PROBE_BUF_MAX is reached.
> >>
> >>Thanks again, and sorry for breaking FATE!
> >>--
> >>Micah F. Galizia
> >>micahgalizia at gmail.com
> >>
> >>"The mark of an immature man is that he wants to die nobly for a cause,
> >>while the mark of the mature man is that he wants to live humbly for one."
> >>  --W. Stekel
> >
> >>  internal.h |   18 +++++++++++
> >>  utils.c    |   97 +++++++++++++++++++++++++++++++++++++++++--------------------
> >>  2 files changed, 84 insertions(+), 31 deletions(-)
> >>73e23f49aa0fbc3c6a08b506c3888a40cdddab2f  probe_buffer5.diff
> >
> >looks good, if tested
> 
> Is someone going to check this in?

Applied, let's see if FATE will choke again this time! ;-)

BTW, can someone suggest some way to run a complete FATE test even
without to commit stuff? This may help case for commit like this,
which can introduce potentially dangerous changes.

Regards.
-- 
FFmpeg = Fostering and Fundamental Martial Proud Energized God



More information about the ffmpeg-devel mailing list