00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include "config.h"
00022 #include "avdevice.h"
00023
00024 #define REGISTER_OUTDEV(X,x) { \
00025 extern AVOutputFormat ff_##x##_muxer; \
00026 if(CONFIG_##X##_OUTDEV) av_register_output_format(&ff_##x##_muxer); }
00027 #define REGISTER_INDEV(X,x) { \
00028 extern AVInputFormat ff_##x##_demuxer; \
00029 if(CONFIG_##X##_INDEV) av_register_input_format(&ff_##x##_demuxer); }
00030 #define REGISTER_INOUTDEV(X,x) REGISTER_OUTDEV(X,x); REGISTER_INDEV(X,x)
00031
00032 void avdevice_register_all(void)
00033 {
00034 static int initialized;
00035
00036 if (initialized)
00037 return;
00038 initialized = 1;
00039
00040
00041 REGISTER_INOUTDEV (ALSA, alsa);
00042 REGISTER_INDEV (BKTR, bktr);
00043 REGISTER_INDEV (DSHOW, dshow);
00044 REGISTER_INDEV (DV1394, dv1394);
00045 REGISTER_INDEV (FBDEV, fbdev);
00046 REGISTER_INDEV (JACK, jack);
00047 REGISTER_INOUTDEV (OSS, oss);
00048 REGISTER_OUTDEV (SDL, sdl);
00049 REGISTER_INOUTDEV (SNDIO, sndio);
00050 REGISTER_INDEV (V4L2, v4l2);
00051 #if FF_API_V4L
00052 REGISTER_INDEV (V4L, v4l);
00053 #endif
00054 REGISTER_INDEV (VFWCAP, vfwcap);
00055 REGISTER_INDEV (X11_GRAB_DEVICE, x11_grab_device);
00056
00057
00058 REGISTER_INDEV (LIBDC1394, libdc1394);
00059 }