[FFmpeg-devel] [PATCH 1/7] lavfi: remove astreamsync.

Nicolas George george at nsup.org
Sat Oct 24 19:02:43 CEST 2015

It was only useful for very specific testing purposes
and appears to be currently partially broken.

Signed-off-by: Nicolas George <george at nsup.org>
 MAINTAINERS                  |   1 -
 doc/filters.texi             |  36 -------
 libavfilter/Makefile         |   1 -
 libavfilter/af_astreamsync.c | 243 -------------------------------------------
 libavfilter/allfilters.c     |   1 -
 5 files changed, 282 deletions(-)
 delete mode 100644 libavfilter/af_astreamsync.c

I had a hard time getting the filters from libav to behave correctly,
but now I have a non-recursive version of request_frame() working.
It still needs some work, two filters still have a loop in request_frame()
that I need to remove (and no FATE test), and then some cleanup. But It is
getting there.

FATE passes after each patch in this series, and also with the non-recursive

The affected parts in this series are either mine or from libav, so there is
not really anyone else to approve them. If there are no objection I will
push in a few days.

index 25cff79..a08adf7 100644
@@ -347,7 +347,6 @@ Filters:
   af_aphaser.c                          Paul B Mahol
   af_aresample.c                        Michael Niedermayer
   af_astats.c                           Paul B Mahol
-  af_astreamsync.c                      Nicolas George
   af_atempo.c                           Pavel Koshevoy
   af_biquads.c                          Paul B Mahol
   af_chorus.c                           Paul B Mahol
diff --git a/doc/filters.texi b/doc/filters.texi
index 5a35bde..6e8931e 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -1170,42 +1170,6 @@ Number of occasions (not the number of samples) that the signal attained either
 Overall bit depth of audio. Number of bits used for each sample.
 @end table
- at section astreamsync
-Forward two audio streams and control the order the buffers are forwarded.
-The filter accepts the following options:
- at table @option
- at item expr, e
-Set the expression deciding which stream should be
-forwarded next: if the result is negative, the first stream is forwarded; if
-the result is positive or zero, the second stream is forwarded. It can use
-the following variables:
- at table @var
- at item b1 b2
-number of buffers forwarded so far on each stream
- at item s1 s2
-number of samples forwarded so far on each stream
- at item t1 t2
-current timestamp of each stream
- at end table
-The default value is @code{t1-t2}, which means to always forward the stream
-that has a smaller timestamp.
- at end table
- at subsection Examples
-Stress-test @code{amerge} by randomly sending buffers on the wrong
-input, while avoiding too much of a desynchronization:
- at example
-amovie=file.ogg [a] ; amovie=file.mp3 [b] ;
-[a] [b] astreamsync=(2*random(1))-1+tanh(5*(t1-t2)) [a2] [b2] ;
-[a2] [b2] amerge
- at end example
 @section asyncts
 Synchronize audio data with timestamps by squeezing/stretching it and/or
diff --git a/libavfilter/Makefile b/libavfilter/Makefile
index 8e776c1..f2f6dd1 100644
--- a/libavfilter/Makefile
+++ b/libavfilter/Makefile
@@ -50,7 +50,6 @@ OBJS-$(CONFIG_ASETTB_FILTER)                 += settb.o
 OBJS-$(CONFIG_ASHOWINFO_FILTER)              += af_ashowinfo.o
 OBJS-$(CONFIG_ASPLIT_FILTER)                 += split.o
 OBJS-$(CONFIG_ASTATS_FILTER)                 += af_astats.o
-OBJS-$(CONFIG_ASTREAMSYNC_FILTER)            += af_astreamsync.o
 OBJS-$(CONFIG_ASYNCTS_FILTER)                += af_asyncts.o
 OBJS-$(CONFIG_ATEMPO_FILTER)                 += af_atempo.o
 OBJS-$(CONFIG_ATRIM_FILTER)                  += trim.o
diff --git a/libavfilter/af_astreamsync.c b/libavfilter/af_astreamsync.c
deleted file mode 100644
index d08da26..0000000
diff --git a/libavfilter/allfilters.c b/libavfilter/allfilters.c
index 9385fdf..e7f6bec 100644
--- a/libavfilter/allfilters.c
+++ b/libavfilter/allfilters.c
@@ -72,7 +72,6 @@ void avfilter_register_all(void)
     REGISTER_FILTER(ASHOWINFO,      ashowinfo,      af);
     REGISTER_FILTER(ASPLIT,         asplit,         af);
     REGISTER_FILTER(ASTATS,         astats,         af);
-    REGISTER_FILTER(ASTREAMSYNC,    astreamsync,    af);
     REGISTER_FILTER(ASYNCTS,        asyncts,        af);
     REGISTER_FILTER(ATEMPO,         atempo,         af);
     REGISTER_FILTER(ATRIM,          atrim,          af);

More information about the ffmpeg-devel mailing list