On Thu, Aug 11, 2016 at 10:02:07PM +0200, sebechlebsky...@gmail.com wrote: > From: Jan Sebechlebsky <sebechlebsky...@gmail.com> > > Signed-off-by: Jan Sebechlebsky <sebechlebsky...@gmail.com> > --- > Changes since the last version of patch: > - Fixed make dependencies so the tests are not executed when > required components are disabled > > libavformat/Makefile | 1 + > libavformat/tests/fifo_muxer.c | 443 > +++++++++++++++++++++++++++++++++++++++++ > tests/Makefile | 1 + > tests/fate/fifo-muxer.mak | 20 ++ > tests/ref/fate/fifo-muxer-tst | 11 + > 5 files changed, 476 insertions(+) > create mode 100644 libavformat/tests/fifo_muxer.c > create mode 100644 tests/fate/fifo-muxer.mak > create mode 100644 tests/ref/fate/fifo-muxer-tst > > diff --git a/libavformat/Makefile b/libavformat/Makefile > index 2d2b78c..5d827d31 100644 > --- a/libavformat/Makefile > +++ b/libavformat/Makefile > @@ -591,6 +591,7 @@ TESTPROGS = seek > \ > url \ > # async \ > > +TESTPROGS-$(CONFIG_FIFO_MUXER) += fifo_muxer > TESTPROGS-$(CONFIG_FFRTMPCRYPT_PROTOCOL) += rtmpdh > TESTPROGS-$(CONFIG_MOV_MUXER) += movenc > TESTPROGS-$(CONFIG_NETWORK) += noproxy > diff --git a/libavformat/tests/fifo_muxer.c b/libavformat/tests/fifo_muxer.c > new file mode 100644 > index 0000000..d6ce85d > --- /dev/null > +++ b/libavformat/tests/fifo_muxer.c > @@ -0,0 +1,443 @@ > +/* > + * FIFO pseudo-muxer > + * Copyright (c) 2016 Jan Sebechlebsky > + * > + * This file is part of FFmpeg. > + * > + * FFmpeg is free software; you can redistribute it and/or > + * modify it under the terms of the GNU Lesser General Public License > + * as published by the Free Software Foundation; either > + * version 2.1 of the License, or (at your option) any later version. > + * > + * FFmpeg is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU Lesser General Public License for more details. > + * > + * You should have received a copy of the GNU Lesser General Public License > + * along with FFmpeg; if not, write to the Free Software * Foundation, Inc., > + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA > + */ > + > +#include <stdlib.h> > +#include "libavutil/opt.h" > +#include "libavutil/time.h" > +#include "libavutil/avassert.h" > +#include "libavformat/avformat.h" > +#include "libavformat/url.h" > + > +#define MAX_TST_PACKETS 128 > +#define SLEEPTIME_50_MS 50000 > +#define SLEEPTIME_10_MS 10000 > + > +/* Implementation of mock muxer to simulate real muxer failures */ > + > +/* This is structure of data sent in packets to > + * failing muxer */ > +typedef struct FailingMuxerPacketData { > + int ret; /* return value of write_packet call*/ > + int recover_after; /* set ret to zero after this number of recovery > attempts */ > + unsigned sleep_time; /* sleep for this long in write_packet to simulate > long I/O operation */ > +} FailingMuxerPacketData; > + > + > +typedef struct FailingMuxerContext { > + AVClass *class; > + int write_header_ret; > + int write_trailer_ret; > + /* If non-zero, summary of processed packets will be printed in deinit */
> + uint8_t print_deinit_summary; [...] > +#define OFFSET(x) offsetof(FailingMuxerContext, x) > +static const AVOption options[] = { > + {"write_header_ret", "write_header() return value", > OFFSET(write_header_ret), > + AV_OPT_TYPE_INT, {.i64 = 0}, INT_MIN, INT_MAX, > AV_OPT_FLAG_ENCODING_PARAM}, > + {"write_trailer_ret", "write_trailer() return value", > OFFSET(write_trailer_ret), > + AV_OPT_TYPE_INT, {.i64 = 0}, INT_MIN, INT_MAX, > AV_OPT_FLAG_ENCODING_PARAM}, > + {"print_deinit_summary", "print summary when deinitializing muxer", > OFFSET(print_deinit_summary), > + AV_OPT_TYPE_BOOL, {.i64 = 1}, 0, 1, AV_OPT_FLAG_ENCODING_PARAM}, Types mismatch, and fails on mips-qemu [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB You can kill me, but you cannot change the truth.
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel