resource.h

Go to the documentation of this file.
00001 /*****************************************************************************
00002  * resource.h
00003  *****************************************************************************
00004  * Copyright (C) 2008 Laurent Aimar
00005  * $Id: 339116d95bf70fadee8b0cce3ffdac18beb3354f $
00006  *
00007  * Authors: Laurent Aimar < fenrir _AT_ videolan _DOT_ org >
00008  *
00009  * This program is free software; you can redistribute it and/or modify it
00010  * under the terms of the GNU Lesser General Public License as published by
00011  * the Free Software Foundation; either version 2.1 of the License, or
00012  * (at your option) any later version.
00013  *
00014  * This program is distributed in the hope that it will be useful,
00015  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00016  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00017  * GNU Lesser General Public License for more details.
00018  *
00019  * You should have received a copy of the GNU Lesser General Public License
00020  * along with this program; if not, write to the Free Software Foundation,
00021  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
00022  *****************************************************************************/
00023 
00024 #ifndef LIBVLC_INPUT_RESOURCE_H
00025 #define LIBVLC_INPUT_RESOURCE_H 1
00026 
00027 #include <vlc_common.h>
00028 
00029 /**
00030  * This function set the associated input.
00031  */
00032 void input_resource_SetInput( input_resource_t *, input_thread_t * );
00033 
00034 /**
00035  * This function handles sout request.
00036  */
00037 sout_instance_t *input_resource_RequestSout( input_resource_t *, sout_instance_t *, const char *psz_sout );
00038 
00039 /**
00040  * This function handles aout request.
00041  */
00042 audio_output_t *input_resource_RequestAout( input_resource_t *, audio_output_t * );
00043 
00044 /**
00045  * This function returns the current aout if any.
00046  *
00047  * You must call vlc_object_release on the value returned (if non NULL).
00048  */
00049 audio_output_t *input_resource_HoldAout( input_resource_t *p_resource );
00050 
00051 /**
00052  * This function handles vout request.
00053  */
00054 vout_thread_t *input_resource_RequestVout( input_resource_t *, vout_thread_t *, video_format_t *, unsigned dpb_size, bool b_recycle );
00055 
00056 /**
00057  * This function returns one of the current vout if any.
00058  *
00059  * You must call vlc_object_release on the value returned (if non NULL).
00060  */
00061 vout_thread_t *input_resource_HoldVout( input_resource_t * );
00062 
00063 /**
00064  * This function returns all current vouts if any.
00065  *
00066  * You must call vlc_object_release on all values returned (if non NULL).
00067  */
00068 void input_resource_HoldVouts( input_resource_t *, vout_thread_t ***, size_t * );
00069 
00070 /**
00071  * This function releases all resources (object).
00072  */
00073 void input_resource_Terminate( input_resource_t * );
00074 
00075 /**
00076  * This function holds the input_resource_t itself
00077  */
00078 input_resource_t *input_resource_Hold( input_resource_t * );
00079 
00080 #endif
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines