00001 /* 00002 * "Real" compatible muxer and demuxer. 00003 * Copyright (c) 2000, 2001 Fabrice Bellard 00004 * 00005 * This file is part of FFmpeg. 00006 * 00007 * FFmpeg is free software; you can redistribute it and/or 00008 * modify it under the terms of the GNU Lesser General Public 00009 * License as published by the Free Software Foundation; either 00010 * version 2.1 of the License, or (at your option) any later version. 00011 * 00012 * FFmpeg is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 * Lesser General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Lesser General Public 00018 * License along with FFmpeg; if not, write to the Free Software 00019 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00020 */ 00021 00022 #ifndef AVFORMAT_RM_H 00023 #define AVFORMAT_RM_H 00024 00025 #include "avformat.h" 00026 00027 extern const char *ff_rm_metadata[4]; 00028 00029 typedef struct RMStream RMStream; 00030 00031 RMStream *ff_rm_alloc_rmstream (void); 00032 void ff_rm_free_rmstream (RMStream *rms); 00033 00034 /*< input format for Realmedia-style RTSP streams */ 00035 extern AVInputFormat rdt_demuxer; 00036 00049 int ff_rm_read_mdpr_codecdata (AVFormatContext *s, ByteIOContext *pb, 00050 AVStream *st, RMStream *rst, 00051 int codec_data_size); 00052 00071 int ff_rm_parse_packet (AVFormatContext *s, ByteIOContext *pb, 00072 AVStream *st, RMStream *rst, int len, 00073 AVPacket *pkt, int *seq, int *flags, int64_t *ts); 00074 00091 int ff_rm_retrieve_cache (AVFormatContext *s, ByteIOContext *pb, 00092 AVStream *st, RMStream *rst, AVPacket *pkt); 00093 00094 #endif /* AVFORMAT_RM_H */