2007-11-22 16:10:02 +00:00
|
|
|
/*
|
2011-03-18 17:35:10 +00:00
|
|
|
* This file is part of Libav.
|
2007-11-22 16:10:02 +00:00
|
|
|
*
|
2011-03-18 17:35:10 +00:00
|
|
|
* Libav is free software; you can redistribute it and/or
|
2007-11-22 16:10:02 +00:00
|
|
|
* 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.
|
|
|
|
*
|
2011-03-18 17:35:10 +00:00
|
|
|
* Libav is distributed in the hope that it will be useful,
|
2007-11-22 16:10:02 +00:00
|
|
|
* 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
|
2011-03-18 17:35:10 +00:00
|
|
|
* License along with Libav; if not, write to the Free Software
|
2007-11-22 16:10:02 +00:00
|
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
|
|
*/
|
|
|
|
|
2008-08-31 07:39:47 +00:00
|
|
|
#ifndef AVDEVICE_AVDEVICE_H
|
|
|
|
#define AVDEVICE_AVDEVICE_H
|
2007-11-22 16:10:02 +00:00
|
|
|
|
2011-12-11 11:43:50 +00: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 18:39:26 +00:00
|
|
|
#include "libavutil/avutil.h"
|
|
|
|
|
2011-02-03 11:18:16 +00:00
|
|
|
#define LIBAVDEVICE_VERSION_MAJOR 53
|
2011-10-26 16:27:53 +00:00
|
|
|
#define LIBAVDEVICE_VERSION_MINOR 2
|
2011-03-26 23:03:41 +00:00
|
|
|
#define LIBAVDEVICE_VERSION_MICRO 0
|
2008-02-19 22:50:28 +00:00
|
|
|
|
2008-02-26 20:37:59 +00: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 16:10:02 +00:00
|
|
|
#define LIBAVDEVICE_BUILD LIBAVDEVICE_VERSION_INT
|
|
|
|
|
2008-08-08 18:42:31 +00:00
|
|
|
/**
|
2010-06-30 15:38:06 +00:00
|
|
|
* Return the LIBAVDEVICE_VERSION_INT constant.
|
2008-08-08 18:42:31 +00:00
|
|
|
*/
|
|
|
|
unsigned avdevice_version(void);
|
|
|
|
|
2009-11-18 17:15:17 +00:00
|
|
|
/**
|
2010-06-30 15:38:06 +00:00
|
|
|
* Return the libavdevice build-time configuration.
|
2009-11-18 17:15:17 +00:00
|
|
|
*/
|
2010-02-05 23:24:08 +00:00
|
|
|
const char *avdevice_configuration(void);
|
2009-11-18 17:15:17 +00:00
|
|
|
|
|
|
|
/**
|
2010-06-30 15:38:06 +00:00
|
|
|
* Return the libavdevice license.
|
2009-11-18 17:15:17 +00:00
|
|
|
*/
|
2010-02-05 23:24:08 +00:00
|
|
|
const char *avdevice_license(void);
|
2009-11-18 17:15:17 +00:00
|
|
|
|
2007-11-22 16:10:02 +00: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 07:39:47 +00:00
|
|
|
#endif /* AVDEVICE_AVDEVICE_H */
|
2007-11-22 16:10:02 +00:00
|
|
|
|