[FFmpeg-devel] [PATCH v7 01/11] avformat: Add fifo pseudo-muxer

Marton Balint cus at passwd.hu
Sun Aug 14 21:12:27 EEST 2016


On Thu, 11 Aug 2016, sebechlebskyjan at gmail.com wrote:

> From: Jan Sebechlebsky <sebechlebskyjan at gmail.com>
>
> Signed-off-by: Jan Sebechlebsky <sebechlebskyjan at gmail.com>
> ---
> Changes since the last version of the patch:
> - Fixed thread include (old patch included pthread.h directly)

[...]

> --- a/doc/muxers.texi
> +++ b/doc/muxers.texi
> @@ -1436,6 +1436,99 @@ Specify whether to remove all fragments when finished. Default 0 (do not remove)
> 
> @end table
> 
> + at section fifo
> +
> +The fifo pseudo-muxer allows the separation of encoding and muxing by using
> +first-in-first-out queue and running the actual muxer in a separate thread. This
> +is especially useful in combination with the @ref{tee} muxer and output to
> +several destinations with different reliability/writing speed/latency.

... in combination with the tee muxer and can be used to send data to 
several ...

[...]

> + at item max_recovery_attempts
> +Sets maximum number of successive unsucessful recovery attempts after which
> +the output fails permanently. Unlimited if set to zero. Default value is 16.

Maybe it's just me, but I'd set this to unlimited by default, since 
attempt_recovery is not enabled by default anyway.

[...]

> + at anchor tee

I still get error when building the docs:

doc/muxers.texi:1531: @anchor expected braces
doc/muxers.texi:1443: @ref reference to nonexistent node `tee'
make: *** [doc/ffmpeg-all.html] Error 1

[...]

> +static void free_message(void *msg)
> +{
> +    FifoMessage *fifo_msg = msg;
> +
> +    if (!fifo_msg)
> +        return;

This check might not be needed anymore.

[...]

> +    if (fifo->max_recovery_attempts) {
> +        av_log(avf, AV_LOG_INFO, "Recovery attempt #%d/%d\n",
> +               ctx->recovery_nr, fifo->max_recovery_attempts);
> +    } else {
> +        av_log(avf, AV_LOG_INFO, "Recovery attempt #%d\n",
> +               ctx->recovery_nr);
> +    }

AV_LOG_VERBOSE might be enough for these two messages.

[...]

Otherwise it looks good to me, I don't think there is a reason to delay 
this any longer, so if you rebase the patch against the current git HEAD 
and fix my few comments, I will apply this in a day or two.

Thanks,
Marton


More information about the ffmpeg-devel mailing list