1BASE_GST_ALL_PLUGINS+= \
2		adder \
3		allocators \
4		alsa \
5		app \
6		audio \
7		audioconvert \
8		audiomixer \
9		audiorate \
10		audioresample \
11		audiotestsrc \
12		cdparanoia \
13		compositor \
14		debugutils \
15		dsd \
16		doc \
17		encoding \
18		examples \
19		fft \
20		gio \
21		gl \
22		libvisual \
23		nls \
24		ogg \
25		opus \
26		overlaycomposition \
27		pango \
28		pbtypes \
29		pbutils \
30		pkgconfig \
31		playback \
32		rawparse \
33		riff \
34		rtp \
35		rtsp \
36		sdp \
37		subparse \
38		tag \
39		tcp \
40		tests \
41		theora \
42		tools \
43		tremor \
44		typefind \
45		video \
46		videoconvertscale \
47		videorate \
48		videotestsrc \
49		volume \
50		vorbis \
51		ximage \
52		xvideo
53
54BASE_GST_ENABLED_PLUGINS?=
55
56BAD_GST_ALL_PLUGINS+= \
57		accurip \
58		adaptivedemux \
59		adpcmdec \
60		adpcmenc \
61		aes \
62		aiff \
63		aja \
64		amfcodec \
65		analytics \
66		analyticsoverlay \
67		androidmedia\
68		aom \
69		applemedia \
70		asfmux \
71		asio \
72		assrender \
73		audio \
74		audiobuffersplit \
75		audiofxbad \
76		audiolatency \
77		audiomixmatrix \
78		audiovisualizers \
79		autoconvert \
80		avtp \
81		basecamerabinsrc \
82		bayer \
83		bluez \
84		bs2b \
85		bz2 \
86		camerabin2 \
87		chromaprint \
88		closedcaption \
89		codec2json \
90		codecalpha \
91		codecparsers \
92		codecs \
93		codectimestamper \
94		coloreffects \
95		colormanagement \
96		cuda \
97		curl \
98		curl-ssh2 \
99		d3d11 \
100		d3d11-hlsl-precompile \
101		d3d11-math \
102		d3d11-wgc \
103		d3d12 \
104		dash \
105		data \
106		dc1394 \
107		debugutils \
108		decklink \
109		directfb \
110		directshow \
111		directsound \
112		doc \
113		drm \
114		dtls \
115		dts \
116		dvb \
117		dvbsubenc \
118		dvbsuboverlay \
119		dvdspu \
120		dwrite \
121		dxva \
122		examples \
123		extra-checks \
124		faac \
125		faad \
126		faceoverlay \
127		fbdev \
128		fdkaac \
129		festival \
130		fieldanalysis \
131		flite \
132		fluidsynth \
133		freeverb \
134		frei0r \
135		gaudieffects \
136		gdp \
137		geometrictransform \
138		gl \
139		gme \
140		gs \
141		gsm \
142		gtk3 \
143		hls \
144		id3tag \
145		insertbin \
146		inter \
147		interfaces \
148		interlace \
149		ipcpipeline \
150		iqa \
151		isac \
152		isoff \
153		ivfparse \
154		ivtc \
155		jp2kdecimator \
156		jpegformat \
157		kms \
158		ladspa \
159		ladspa-rdf \
160		lc3 \
161		ldac \
162		libde265 \
163		librfb \
164		lv2 \
165		magicleap \
166		mediafoundation \
167		microdns \
168		midi \
169		modplug \
170		mpeg2enc \
171		mpegdemux \
172		mpegpsmux \
173		mpegts \
174		mpegtsdemux \
175		mpegtsmux \
176		mplex \
177		msdk \
178		mse \
179		musepack \
180		mxf \
181		neon \
182		netsim \
183		nls \
184		nvcodec \
185		onnx \
186		onvif \
187		openal \
188		openaptx \
189		opencv \
190		openexr \
191		openh264 \
192		openjpeg \
193		openmpt \
194		openni2 \
195		opensles \
196		opus \
197		orc \
198		pcapparse \
199		pkgconfig \
200		play \
201		player \
202		pnm \
203		proxy \
204		qroverlay \
205		qsv \
206		qt6d3d11 \
207		rawparse \
208		removesilence \
209		resindvd \
210		rist \
211		rsvg \
212		rtmp \
213		rtmp2 \
214		rtp \
215		sbc \
216		sctp \
217		sdp \
218		segmentclip \
219		shm \
220		siren \
221		smooth \
222		smoothstreaming \
223		sndfile \
224		soundtouch \
225		spandsp \
226		speed \
227		srt \
228		srtp \
229		subenc \
230		svtav1 \
231		svthevcenc \
232		switchbin \
233		teletext \
234		tensordecoders \
235		tests \
236		timecode \
237		tinyalsa \
238		tools \
239		transcode \
240		transcoder \
241		ttml \
242		udev \
243		unixfd \
244		uridownloader \
245		uvch264 \
246		uvcgadget \
247		v4l2codecs \
248		va \
249		videofilters \
250		videoframe_audiolevel \
251		videoparsers \
252		videosignal \
253		vmnc \
254		voaacenc \
255		voamrwbenc \
256		vulkan \
257		wasapi \
258		wasapi2 \
259		wayland \
260		webp \
261		webrtc \
262		webrtcdsp \
263		wic \
264		wildmidi \
265		win32ipc \
266		winks \
267		winscreencap \
268		x265 \
269		y4m \
270		zbar \
271		zxing
272
273BAD_GST_ENABLED_PLUGINS?=
274
275GOOD_GST_ALL_PLUGINS+= \
276		aalib \
277		adaptivedemux2 \
278		alpha \
279		amrnb \
280		amrwbdec \
281		apetag \
282		audiofx \
283		audioparsers \
284		auparse \
285		autodetect \
286		avi \
287		cairo \
288		cutter \
289		debugutils \
290		deinterlace \
291		directsound \
292		dtmf \
293		dv \
294		dv1394 \
295		effectv \
296		equalizer \
297		examples \
298		flac \
299		flv \
300		flx \
301		gdk-pixbuf \
302		goom \
303		goom2k1 \
304		gtk3 \
305		icydemux \
306		id3demux \
307		imagefreeze \
308		interleave \
309		isomp4 \
310		jack \
311		jpeg \
312		lame \
313		law \
314		level \
315		libcaca \
316		matroska \
317		monoscope \
318		mpg123 \
319		multifile \
320		multipart \
321		nls \
322		oss \
323		oss4 \
324		osxaudio \
325		osxvideo \
326		png \
327		pulse \
328		qt5 \
329		qt6 \
330		replaygain \
331		rtp \
332		rtpmanager \
333		rtsp \
334		shapewipe \
335		shout2 \
336		smpte \
337		soup \
338		spectrum \
339		speex \
340		taglib \
341		tests \
342		twolame \
343		udp \
344		v4l2 \
345		videobox \
346		videocrop \
347		videofilter \
348		videomixer \
349		vpx \
350		waveform \
351		wavenc \
352		wavpack \
353		wavparse \
354		ximagesrc \
355		xingmux \
356		y4m
357
358GOOD_GST_ENABLED_PLUGINS?=
359
360UGLY_GST_ALL_PLUGINS+= \
361		a52dec \
362		asfdemux \
363		cdio \
364		dvdlpcmdec \
365		dvdread \
366		dvdsub \
367		mpeg2dec \
368		nls \
369		realmedia \
370		sidplay \
371		x264
372
373UGLY_GST_ENABLED_PLUGINS?=
374
375# gstreamer scripts tend to call python3 rather than python
376BINARY_ALIAS=	python3=${PYTHON_VERSION}
377
378# Disable all plugins by default
379.if ${DIST}=="base"
380.for d in ${BASE_GST_ALL_PLUGINS}
381CONFIGURE_ARGS+=	-D${d}=disabled
382.endfor
383.for d in ${BASE_GST_ENABLED_PLUGINS}
384CONFIGURE_ARGS+=	-D${d}=enabled
385.endfor
386.endif
387
388.if ${DIST}=="bad"
389.for d in ${BAD_GST_ALL_PLUGINS}
390CONFIGURE_ARGS+=	-D${d}=disabled
391.endfor
392.for d in ${BAD_GST_ENABLED_PLUGINS}
393CONFIGURE_ARGS+=	-D${d}=enabled
394.endfor
395.endif
396
397.if ${DIST}=="good"
398.for d in ${GOOD_GST_ALL_PLUGINS}
399CONFIGURE_ARGS+=	-D${d}=disabled
400.endfor
401.for d in ${GOOD_GST_ENABLED_PLUGINS}
402CONFIGURE_ARGS+=	-D${d}=enabled
403.endfor
404.endif
405
406.if ${DIST}=="ugly"
407.for d in ${UGLY_GST_ALL_PLUGINS}
408CONFIGURE_ARGS+=	-D${d}=disabled
409.endfor
410.for d in ${UGLY_GST_ENABLED_PLUGINS}
411CONFIGURE_ARGS+=	-D${d}=enabled
412.endfor
413.endif
414
415.if ${GST_PLUGIN}!="base" && ${GST_PLUGIN}!="bad" && \
416	${GST_PLUGIN}!="good" && ${GST_PLUGIN}!="ugly" && \
417	${GST_PLUGIN}!="x"
418CONFIGURE_ARGS+=	-D${GST_PLUGIN}=enabled
419.endif
420
421.if !defined(NO_GSTREAMER_COMMON)
422GST_PLUGIN_SUFFIX?=	-${GST_PLUGIN}
423
424USE_GSTREAMER+=	${DIST:base=}
425
426.endif # NO_GSTREAMER_COMMON
427
428