# This plugin isn't buildable with autotools at this point in time, so just
# ensure everything's listed in EXTRA_DIST

EXTRA_DIST = \
  gstdshowaudiosrc.cpp \
  gstdshowaudiosrc.h \
  gstdshow.cpp \
  gstdshowfakesink.cpp \
  gstdshowfakesink.h \
  gstdshow.h \
  gstdshowsrcwrapper.cpp \
  gstdshowvideosrc.cpp \
  gstdshowvideosrc.h
