resource.h
上传用户:kjfoods
上传日期:2020-07-06
资源大小:29949k
文件大小:3k
源码类别:

midi

开发平台:

Unix_Linux

  1. /*****************************************************************************
  2.  * resource.h
  3.  *****************************************************************************
  4.  * Copyright (C) 2008 Laurent Aimar
  5.  * $Id: 15bc377b2414702afa3bbca2f18344396c18d49a $
  6.  *
  7.  * Authors: Laurent Aimar < fenrir _AT_ videolan _DOT_ org >
  8.  *
  9.  * This program is free software; you can redistribute it and/or modify
  10.  * it under the terms of the GNU General Public License as published by
  11.  * the Free Software Foundation; either version 2 of the License, or
  12.  * (at your option) any later version.
  13.  *
  14.  * This program is distributed in the hope that it will be useful,
  15.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17.  * GNU General Public License for more details.
  18.  *
  19.  * You should have received a copy of the GNU General Public License
  20.  * along with this program; if not, write to the Free Software
  21.  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  22.  *****************************************************************************/
  23. #if defined(__PLUGIN__) || defined(__BUILTIN__) || !defined(__LIBVLC__)
  24. # error This header file can only be included from LibVLC.
  25. #endif
  26. #ifndef _INPUT_RESOURCE_H
  27. #define _INPUT_RESOURCE_H 1
  28. #include <vlc_common.h>
  29. /**
  30.  * This function creates an empty input_resource_t.
  31.  */
  32. input_resource_t *input_resource_New( void );
  33. /**
  34.  * This function set the associated input.
  35.  */
  36. void input_resource_SetInput( input_resource_t *, input_thread_t * );
  37. /**
  38.  * This function return a input_resource_t with all resources detach from the
  39.  * given input_resource_t.
  40.  * It must not be associated to an input.
  41.  */
  42. input_resource_t *input_resource_Detach( input_resource_t * );
  43. /**
  44.  * This function handles sout request.
  45.  */
  46. sout_instance_t *input_resource_RequestSout( input_resource_t *, sout_instance_t *, const char *psz_sout );
  47. /**
  48.  * This function handles aout request.
  49.  */
  50. aout_instance_t *input_resource_RequestAout( input_resource_t *, aout_instance_t * );
  51. /**
  52.  * This function return the current aout if any.
  53.  *
  54.  * You must call vlc_object_release on the value returned (if non NULL).
  55.  */
  56. aout_instance_t *input_resource_HoldAout( input_resource_t *p_resource );
  57. /**
  58.  * This function handles vout request.
  59.  */
  60. vout_thread_t *input_resource_RequestVout( input_resource_t *, vout_thread_t *, video_format_t *, bool b_recycle );
  61. /**
  62.  * This function return one of the current vout if any.
  63.  *
  64.  * You must call vlc_object_release on the value returned (if non NULL).
  65.  */
  66. vout_thread_t *input_resource_HoldVout( input_resource_t * );
  67. /**
  68.  * This function return all current vouts if any.
  69.  *
  70.  * You must call vlc_object_release on all values returned (if non NULL).
  71.  */
  72. void input_resource_HoldVouts( input_resource_t *, vout_thread_t ***, int * );
  73. #endif