xine-lib  1.2.10
sdpplin.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2002-2017 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
19  *
20  * sdp/sdpplin parser.
21  */
22 
23 #ifndef HAVE_SDPPLIN_H
24 #define HAVE_SDPPLIN_H
25 
26 #include "rmff.h"
27 #include "rtsp.h"
28 
29 #ifdef __CYGWIN__
30 #define uint32_t unsigned int
31 #define uint16_t unsigned short int
32 #define uint8_t unsigned char
33 #endif
34 
35 typedef struct {
36 
37  char *id;
38  //char *bandwidth;
39 
40  uint16_t stream_id;
41  //char *range;
42  //char *length;
43  //char *rtpmap;
44  //char *mimetype;
45  //int min_switch_overlap;
47  //int end_one_rule_end_all;
52  //int end_time;
53  //int seek_greater_on_switch;
54  int preroll;
55 
56  int duration;
57  char *stream_name;
59  char *mime_type;
61  char *mlti_data;
63  //int rmff_flags_length;
64  //char *rmff_flags;
67 
69 
70 typedef struct {
71 
72  //int sdp_version, sdpplin_version;
73  //char *owner;
74  //char *session_name;
75  //char *session_info;
76  //char *uri;
77  //char *email;
78  //char *phone;
79  //char *connection;
80  //char *bandwidth;
81 
82  int flags;
83  //int is_real_data_type;
84  uint16_t stream_count;
85  char *title;
86  char *author;
87  char *copyright;
88  //char *keywords;
89  //int asm_rule_book_length;
90  //char *asm_rule_book;
91  char *abstract;
92  //char *range;
93  //int avg_bit_rate;
94  //int max_bit_rate;
95  //int avg_packet_size;
96  //int max_packet_size;
97  //int preroll;
98  //int duration;
99 
101 
102 } sdpplin_t;
103 
104 sdpplin_t *sdpplin_parse(char *data) XINE_MALLOC;
105 
106 void sdpplin_free(sdpplin_t *description);
107 
108 #endif
109 
sdpplin_t::title
char * title
Definition: sdpplin.h:85
sdpplin_t::copyright
char * copyright
Definition: sdpplin.h:87
sdpplin.h
sdpplin_stream_t
Definition: sdpplin.h:35
XINE_MALLOC
#define XINE_MALLOC
Definition: attributes.h:139
xine_buffer_copyin
#define xine_buffer_copyin(buf, i, data, len)
Definition: xine_buffer.c:194
sdpplin_stream_t::stream_name_size
int stream_name_size
Definition: sdpplin.h:58
xine_buffer_free
#define xine_buffer_free(buf)
Definition: xine_buffer.c:149
xineutils.h
sdpplin_parse
sdpplin_t * sdpplin_parse(char *data)
Definition: sdpplin.c:201
sdpplin_stream_t::avg_packet_size
int avg_packet_size
Definition: sdpplin.h:50
nl
static char * nl(char *data)
Definition: sdpplin.c:39
sdpplin_stream_t::mime_type_size
int mime_type_size
Definition: sdpplin.h:60
sdpplin_parse_stream
static sdpplin_stream_t * sdpplin_parse_stream(char **data)
Definition: sdpplin.c:82
rtsp.h
lprintf
#define lprintf(...)
Definition: xineutils.h:620
sdpplin_stream_t::duration
int duration
Definition: sdpplin.h:56
xine_base64_decode
size_t xine_base64_decode(const char *from, uint8_t *to)
Definition: utils.c:943
sdpplin_parse
sdpplin_t * sdpplin_parse(char *data)
Definition: sdpplin.c:201
NULL
NULL
Definition: xine_plugin.c:78
sdpplin_t::stream_count
uint16_t stream_count
Definition: sdpplin.h:84
sdpplin_stream_t::max_packet_size
int max_packet_size
Definition: sdpplin.h:51
_x_freep
static void _x_freep(void *ptr)
Definition: xineutils.h:263
sdpplin_free
void sdpplin_free(sdpplin_t *description)
Definition: sdpplin.c:322
sdpplin_stream_t::start_time
int start_time
Definition: sdpplin.h:46
sdpplin_stream_t::mlti_data
char * mlti_data
Definition: sdpplin.h:61
sdpplin_stream_t::avg_bit_rate
int avg_bit_rate
Definition: sdpplin.h:48
sdpplin_stream_t::stream_id
uint16_t stream_id
Definition: sdpplin.h:40
filter
static int filter(const char *in, const char *filter, char **out)
Definition: sdpplin.c:45
sdpplin_stream_t::mlti_data_size
int mlti_data_size
Definition: sdpplin.h:62
sdpplin_free
void sdpplin_free(sdpplin_t *p)
Definition: sdpplin.c:322
xine_buffer.h
sdpplin_stream_t::mime_type
char * mime_type
Definition: sdpplin.h:59
UINT16_MAX
#define UINT16_MAX
Definition: goomsl_lex.c:74
sdpplin_t::flags
int flags
Definition: sdpplin.h:82
sdpplin_t::abstract
char * abstract
Definition: sdpplin.h:91
sdpplin_stream_t::id
char * id
Definition: sdpplin.h:37
sdpplin_t::author
char * author
Definition: sdpplin.h:86
sdpplin_stream_t::stream_name
char * stream_name
Definition: sdpplin.h:57
config.h
sdpplin_t
Definition: sdpplin.h:70
sdpplin_stream_t::max_bit_rate
int max_bit_rate
Definition: sdpplin.h:49
sdpplin_t::stream
sdpplin_stream_t ** stream
Definition: sdpplin.h:100
rmff.h
xine_buffer_init
void * xine_buffer_init(int chunk_size)
Definition: xine_buffer.c:129
sdpplin_stream_t::preroll
int preroll
Definition: sdpplin.h:54
sdpplin_free_stream
static void sdpplin_free_stream(sdpplin_stream_t **pp)
Definition: sdpplin.c:69
sdpplin_stream_t::asm_rule_book
char * asm_rule_book
Definition: sdpplin.h:66
sdpplin_stream_t::asm_rule_book_length
int asm_rule_book_length
Definition: sdpplin.h:65