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

midi

开发平台:

Unix_Linux

  1. /*****************************************************************************
  2.  * stream_output.h : internal stream output
  3.  *****************************************************************************
  4.  * Copyright (C) 2002-2005 the VideoLAN team
  5.  * $Id: 40e5a05bc1df1e85b636d8d252b9a025157ba201 $
  6.  *
  7.  * Authors: Christophe Massiot <massiot@via.ecp.fr>
  8.  *          Laurent Aimar <fenrir@via.ecp.fr>
  9.  *          Eric Petit <titer@videolan.org>
  10.  *          Jean-Paul Saman <jpsaman #_at_# m2x.nl>
  11.  *
  12.  * This program is free software; you can redistribute it and/or modify
  13.  * it under the terms of the GNU General Public License as published by
  14.  * the Free Software Foundation; either version 2 of the License, or
  15.  * (at your option) any later version.
  16.  *
  17.  * This program is distributed in the hope that it will be useful,
  18.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  19.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  20.  * GNU General Public License for more details.
  21.  *
  22.  * You should have received a copy of the GNU General Public License
  23.  * along with this program; if not, write to the Free Software
  24.  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  25.  ***************************************************************************/
  26. #if defined(__PLUGIN__) || defined(__BUILTIN__) || !defined(__LIBVLC__)
  27. # error This header file can only be included from LibVLC.
  28. #endif
  29. #ifndef VLC_SRC_STREAMOUT_H
  30. # define VLC_SRC_STREAMOUT_H 1
  31. # include <vlc_sout.h>
  32. # include <vlc_network.h>
  33. /****************************************************************************
  34.  * sout_packetizer_input_t: p_sout <-> p_packetizer
  35.  ****************************************************************************/
  36. struct sout_packetizer_input_t
  37. {
  38.     sout_instance_t     *p_sout;
  39.     es_format_t         *p_fmt;
  40.     sout_stream_id_t    *id;
  41. };
  42. #define sout_NewInstance(a,b) __sout_NewInstance(VLC_OBJECT(a),b)
  43. sout_instance_t *  __sout_NewInstance( vlc_object_t *, const char * );
  44. void sout_DeleteInstance( sout_instance_t * );
  45. sout_packetizer_input_t *sout_InputNew( sout_instance_t *, es_format_t * );
  46. int sout_InputDelete( sout_packetizer_input_t * );
  47. int sout_InputSendBuffer( sout_packetizer_input_t *, block_t* );
  48. /* Announce system */
  49. struct session_descriptor_t
  50. {
  51.     struct sockaddr_storage orig;
  52.     socklen_t origlen;
  53.     struct sockaddr_storage addr;
  54.     socklen_t addrlen;
  55.     char *psz_sdp;
  56.     bool b_ssm;
  57. };
  58. struct sap_handler_t *SAP_Create (vlc_object_t *);
  59. void SAP_Destroy (struct sap_handler_t *);
  60. int SAP_Add (struct sap_handler_t *, session_descriptor_t *);
  61. void SAP_Del (struct sap_handler_t *, const session_descriptor_t *);
  62. #endif