2007-11-22 17:10:02 +01:00
|
|
|
/*
|
|
|
|
* This file is part of FFmpeg.
|
|
|
|
*
|
|
|
|
* FFmpeg is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* FFmpeg is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with FFmpeg; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
|
|
*/
|
|
|
|
|
2008-08-31 09:39:47 +02:00
|
|
|
#ifndef AVDEVICE_AVDEVICE_H
|
|
|
|
#define AVDEVICE_AVDEVICE_H
|
2007-11-22 17:10:02 +01:00
|
|
|
|
2011-12-11 12:43:50 +01:00
|
|
|
/**
|
|
|
|
* @file
|
|
|
|
* @ingroup lavd
|
|
|
|
* Main libavdevice API header
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @defgroup lavd Special devices muxing/demuxing library
|
|
|
|
* @{
|
|
|
|
* Libavdevice is a complementary library to @ref libavf "libavformat". It
|
|
|
|
* provides various "special" platform-specific muxers and demuxers, e.g. for
|
|
|
|
* grabbing devices, audio capture and playback etc. As a consequence, the
|
|
|
|
* (de)muxers in libavdevice are of the AVFMT_NOFILE type (they use their own
|
|
|
|
* I/O functions). The filename passed to avformat_open_input() often does not
|
|
|
|
* refer to an actually existing file, but has some special device-specific
|
|
|
|
* meaning - e.g. for the x11grab device it is the display name.
|
|
|
|
*
|
|
|
|
* To use libavdevice, simply call avdevice_register_all() to register all
|
|
|
|
* compiled muxers and demuxers. They all use standard libavformat API.
|
|
|
|
* @}
|
|
|
|
*/
|
|
|
|
|
2009-11-16 19:39:26 +01:00
|
|
|
#include "libavutil/avutil.h"
|
2011-05-27 10:52:34 +02:00
|
|
|
#include "libavformat/avformat.h"
|
2009-11-16 19:39:26 +01:00
|
|
|
|
2011-02-03 12:18:16 +01:00
|
|
|
#define LIBAVDEVICE_VERSION_MAJOR 53
|
2011-09-17 22:25:13 +02:00
|
|
|
#define LIBAVDEVICE_VERSION_MINOR 4
|
2011-12-22 03:06:33 +01:00
|
|
|
#define LIBAVDEVICE_VERSION_MICRO 100
|
2008-02-19 23:50:28 +01:00
|
|
|
|
2008-02-26 21:37:59 +01:00
|
|
|
#define LIBAVDEVICE_VERSION_INT AV_VERSION_INT(LIBAVDEVICE_VERSION_MAJOR, \
|
|
|
|
LIBAVDEVICE_VERSION_MINOR, \
|
|
|
|
LIBAVDEVICE_VERSION_MICRO)
|
|
|
|
#define LIBAVDEVICE_VERSION AV_VERSION(LIBAVDEVICE_VERSION_MAJOR, \
|
|
|
|
LIBAVDEVICE_VERSION_MINOR, \
|
|
|
|
LIBAVDEVICE_VERSION_MICRO)
|
2007-11-22 17:10:02 +01:00
|
|
|
#define LIBAVDEVICE_BUILD LIBAVDEVICE_VERSION_INT
|
|
|
|
|
2011-05-26 17:48:52 +02:00
|
|
|
#ifndef FF_API_V4L
|
|
|
|
#define FF_API_V4L (LIBAVDEVICE_VERSION_MAJOR < 54)
|
|
|
|
#endif
|
|
|
|
|
2008-08-08 20:42:31 +02:00
|
|
|
/**
|
2010-06-30 17:38:06 +02:00
|
|
|
* Return the LIBAVDEVICE_VERSION_INT constant.
|
2008-08-08 20:42:31 +02:00
|
|
|
*/
|
|
|
|
unsigned avdevice_version(void);
|
|
|
|
|
2009-11-18 18:15:17 +01:00
|
|
|
/**
|
2010-06-30 17:38:06 +02:00
|
|
|
* Return the libavdevice build-time configuration.
|
2009-11-18 18:15:17 +01:00
|
|
|
*/
|
2010-02-06 00:24:08 +01:00
|
|
|
const char *avdevice_configuration(void);
|
2009-11-18 18:15:17 +01:00
|
|
|
|
|
|
|
/**
|
2010-06-30 17:38:06 +02:00
|
|
|
* Return the libavdevice license.
|
2009-11-18 18:15:17 +01:00
|
|
|
*/
|
2010-02-06 00:24:08 +01:00
|
|
|
const char *avdevice_license(void);
|
2009-11-18 18:15:17 +01:00
|
|
|
|
2007-11-22 17:10:02 +01:00
|
|
|
/**
|
|
|
|
* Initialize libavdevice and register all the input and output devices.
|
|
|
|
* @warning This function is not thread safe.
|
|
|
|
*/
|
|
|
|
void avdevice_register_all(void);
|
|
|
|
|
2008-08-31 09:39:47 +02:00
|
|
|
#endif /* AVDEVICE_AVDEVICE_H */
|
2007-11-22 17:10:02 +01:00
|
|
|
|