av_estimate_timings_from_pts() flushes the packet queue but doesn't
reset the streams' cur_dts values. This can lead to a fatal "error,
non monotone timestamps ..." message later, because the out-of-date
cur_dts values are used to compute some packet's dts.
Fix this by calling av_read_frame_flush() and eliminate code
duplication in the process.
The additional hunk gives more detailed error messages.
patch by Wolfram Gloger, wmglo dent.med.uni-muenchen de
Originally committed as revision 8465 to svn://svn.ffmpeg.org/ffmpeg/trunk