[FFmpeg-devel] [PATCH 03/18] lavf/dv: always provide avpriv_dv_* symbols

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Wed Aug 24 19:25:48 EEST 2022


Anton Khirnov:
> They are used from libavdevice.
> ---
>  configure            |  1 +
>  libavformat/Makefile |  3 +--
>  libavformat/dv.c     | 23 +++++++++++++++++++++++
>  3 files changed, 25 insertions(+), 2 deletions(-)
> 
> diff --git a/configure b/configure
> index ea50c94002..f4c4ab0484 100755
> --- a/configure
> +++ b/configure
> @@ -3530,6 +3530,7 @@ gdigrab_indev_deps="CreateDIBSection"
>  gdigrab_indev_extralibs="-lgdi32"
>  gdigrab_indev_select="bmp_decoder"
>  iec61883_indev_deps="libiec61883"
> +iec61883_indev_select="dv_demuxer"
>  jack_indev_deps="libjack"
>  jack_indev_deps_any="sem_timedwait dispatch_dispatch_h"
>  kmsgrab_indev_deps="libdrm"
> diff --git a/libavformat/Makefile b/libavformat/Makefile
> index f67a99f839..684bad0eb4 100644
> --- a/libavformat/Makefile
> +++ b/libavformat/Makefile
> @@ -13,6 +13,7 @@ OBJS = allformats.o         \
>         demux.o              \
>         demux_utils.o        \
>         dump.o               \
> +       dv.o                 \
>         format.o             \
>         id3v1.o              \
>         id3v2.o              \
> @@ -184,7 +185,6 @@ OBJS-$(CONFIG_DSS_DEMUXER)               += dss.o
>  OBJS-$(CONFIG_DTSHD_DEMUXER)             += dtshddec.o
>  OBJS-$(CONFIG_DTS_DEMUXER)               += dtsdec.o rawdec.o
>  OBJS-$(CONFIG_DTS_MUXER)                 += rawenc.o
> -OBJS-$(CONFIG_DV_DEMUXER)                += dv.o
>  OBJS-$(CONFIG_DV_MUXER)                  += dvenc.o
>  OBJS-$(CONFIG_DVBSUB_DEMUXER)            += dvbsub.o rawdec.o
>  OBJS-$(CONFIG_DVBTXT_DEMUXER)            += dvbtxt.o rawdec.o
> @@ -711,7 +711,6 @@ SHLIBOBJS-$(CONFIG_RTP_MUXER)            += golomb_tab.o jpegtables.o \
>  SHLIBOBJS-$(CONFIG_SPDIF_MUXER)          += dca_sample_rate_tab.o
>  
>  # libavdevice dependencies
> -OBJS-$(CONFIG_IEC61883_INDEV)            += dv.o
>  
>  # Windows resource file
>  SHLIBOBJS-$(HAVE_GNU_WINDRES)            += avformatres.o
> diff --git a/libavformat/dv.c b/libavformat/dv.c
> index 1dadaf6e62..24bacd5c53 100644
> --- a/libavformat/dv.c
> +++ b/libavformat/dv.c
> @@ -28,6 +28,9 @@
>   * License along with FFmpeg; if not, write to the Free Software
>   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
>   */
> +
> +#include "config_components.h"
> +
>  #include <time.h>
>  #include "avformat.h"
>  #include "internal.h"
> @@ -40,6 +43,8 @@
>  #include "dv.h"
>  #include "libavutil/avassert.h"
>  
> +#if CONFIG_DV_DEMUXER
> +
>  // Must be kept in sync with AVPacket
>  struct DVPacket {
>      int64_t  pts;
> @@ -647,3 +652,21 @@ const AVInputFormat ff_dv_demuxer = {
>      .read_seek      = dv_read_seek,
>      .extensions     = "dv,dif",
>  };
> +
> +#else // CONFIG_DV_DEMUXER
> +DVDemuxContext *avpriv_dv_init_demux(AVFormatContext *s)
> +{
> +    return NULL;
> +}
> +
> +int avpriv_dv_get_packet(DVDemuxContext *c, AVPacket *pkt)
> +{
> +    return AVERROR(ENOSYS);
> +}
> +
> +int avpriv_dv_produce_packet(DVDemuxContext *c, AVPacket *pkt,
> +                             uint8_t *buf, int buf_size, int64_t pos)
> +{
> +    return AVERROR(ENOSYS);
> +}
> +#endif // CONFIG_DV_DEMUXER

This is unnecessary as the Makefile above ensures that dv.o is built
when iec61883 is built.

- Andreas


More information about the ffmpeg-devel mailing list