1 /* 2 * Copyright (C) 2002-2003 the xine project 3 * 4 * This file is part of xine, a free video player. 5 * 6 * xine is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or 9 * (at your option) any later version. 10 * 11 * xine is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program; if not, write to the Free Software 18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA 19 * 20 * $Id: 3818fcca70b3e85446e809af4c735f723ecb47bd $ 21 * 22 * sdp/sdpplin parser. 23 * 24 */ 25 26 #ifndef HAVE_SDPPLIN_H 27 #define HAVE_SDPPLIN_H 28 29 typedef struct { 30 31 char *id; 32 char *bandwidth; 33 34 uint16_t stream_id; 35 char *range; 36 char *length; 37 char *rtpmap; 38 char *mimetype; 39 int min_switch_overlap; 40 int start_time; 41 int end_one_rule_end_all; 42 int avg_bit_rate; 43 int max_bit_rate; 44 int avg_packet_size; 45 int max_packet_size; 46 int end_time; 47 int seek_greater_on_switch; 48 int preroll; 49 50 int duration; 51 char *stream_name; 52 int stream_name_size; 53 char *mime_type; 54 int mime_type_size; 55 char *mlti_data; 56 int mlti_data_size; 57 int rmff_flags_length; 58 char *rmff_flags; 59 int asm_rule_book_length; 60 char *asm_rule_book; 61 62 } sdpplin_stream_t; 63 64 typedef struct { 65 66 int sdp_version, sdpplin_version; 67 char *owner; 68 char *session_name; 69 char *session_info; 70 char *uri; 71 char *email; 72 char *phone; 73 char *connection; 74 char *bandwidth; 75 76 int flags; 77 int is_real_data_type; 78 uint16_t stream_count; 79 char *title; 80 char *author; 81 char *copyright; 82 char *keywords; 83 int asm_rule_book_length; 84 char *asm_rule_book; 85 char *abstract; 86 char *range; 87 int avg_bit_rate; 88 int max_bit_rate; 89 int avg_packet_size; 90 int max_packet_size; 91 int preroll; 92 int duration; 93 94 sdpplin_stream_t **stream; 95 96 } sdpplin_t; 97 98 sdpplin_t *sdpplin_parse(stream_t *p_access, char *data); 99 100 void sdpplin_free(sdpplin_t *description); 101 102 #endif 103