gmerlin
|
00001 /***************************************************************** 00002 * gmerlin - a general purpose multimedia framework and applications 00003 * 00004 * Copyright (c) 2001 - 2011 Members of the Gmerlin project 00005 * gmerlin-general@lists.sourceforge.net 00006 * http://gmerlin.sourceforge.net 00007 * 00008 * This program is free software: you can redistribute it and/or modify 00009 * it under the terms of the GNU General Public License as published by 00010 * the Free Software Foundation, either version 2 of the License, or 00011 * (at your option) any later version. 00012 * 00013 * This program is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 * GNU General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU General Public License 00019 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00020 * *****************************************************************/ 00021 00022 #include <gavl/gavl.h> 00023 #include <gmerlin/plugin.h> 00024 00044 typedef struct bg_audio_converter_s bg_audio_converter_t; 00045 00050 typedef struct bg_video_converter_s bg_video_converter_t; 00051 00052 /* Audio */ 00053 00060 bg_audio_converter_t * bg_audio_converter_create(const gavl_audio_options_t * opt); 00061 00072 int bg_audio_converter_init(bg_audio_converter_t * cnv, 00073 const gavl_audio_format_t * in_format, 00074 const gavl_audio_format_t * out_format); 00075 00083 void bg_audio_converter_connect_input(bg_audio_converter_t * cnv, 00084 bg_read_audio_func_t func, void * priv, 00085 int stream); 00086 00097 int bg_audio_converter_read(void * priv, gavl_audio_frame_t* frame, int stream, 00098 int num_samples); 00099 00104 void bg_audio_converter_destroy(bg_audio_converter_t * cnv); 00105 00112 void bg_audio_converter_reset(bg_audio_converter_t * cnv); 00113 00114 /* Video */ 00115 00122 bg_video_converter_t * bg_video_converter_create(const gavl_video_options_t * opt); 00123 00134 int bg_video_converter_init(bg_video_converter_t * cnv, 00135 const gavl_video_format_t * in_format, 00136 const gavl_video_format_t * out_format); 00137 00145 void bg_video_converter_connect_input(bg_video_converter_t * cnv, 00146 bg_read_video_func_t func, void * priv, 00147 int stream); 00148 00158 int bg_video_converter_read(void * priv, gavl_video_frame_t* frame, int stream); 00159 00164 void bg_video_converter_destroy(bg_video_converter_t * cnv); 00165 00172 void bg_video_converter_reset(bg_video_converter_t * cnv); 00173