[FFmpeg-devel] [PATCH 03/18] lavf/dv: always provide avpriv_dv_* symbols
Anton Khirnov
anton at khirnov.net
Wed Aug 24 11:43:03 EEST 2022
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
--
2.35.1
More information about the ffmpeg-devel
mailing list