#define MMS_PACKET_ASF_HEADER
Definition: mms.c:81
void mms_set_start_time(mms_t *this, int time_offset)
Definition: mms.c:1146
xine_t * xine
Definition: xine_internal.h:126
char * mms_connect_common(int *s, int *port, char *url, char **host, char **path, char **file)
Definition: xine_internal.h:123
off_t _x_io_tcp_write(xine_stream_t *stream, int s, const void *wbuf_gen, off_t todo)
Definition: io_helper.c:607
#define CMD_BODY_LEN
Definition: mms.c:74
uint32_t asf_header_len
Definition: mms.c:124
static int interp_asf_header(mms_t *this)
Definition: mms.c:509
int eos
Definition: mms.c:132
uint8_t asf_header_buffer[8192]
Definition: mms.c:123
int buf_size
Definition: mms.c:119
static int get_packet_header(mms_t *this, mms_packet_header_t *header)
Definition: mms.c:336
void *(* xine_fast_memcpy)(void *to, const void *from, size_t len)
Definition: memcpy.c:60
char * scmd_body
Definition: mms.c:114
int _x_io_select(xine_stream_t *stream, int fd, int state, int timeout_msec)
Definition: io_helper.c:356
Definition: http_helper.h:49
mms_t * mms_connect(xine_stream_t *stream, const char *url_, int bandwidth)
Definition: mms.c:661
#define XINE_EVENT_PROGRESS
Definition: xine.h:1821
int seq_num
Definition: mms.c:127
int pos
Definition: mms.c:91
#define MMS_PACKET_ASF_PACKET
Definition: mms.c:82
#define lprintf(...)
Definition: xineutils.h:620
#define XIO_TIMEOUT
Definition: io_helper.h:37
void _x_url_cleanup(xine_url_t *url)
Definition: http_helper.c:374
int buf_read
Definition: mms.c:120
xine_stream_t * stream
Definition: mms.c:105
uint32_t mms_get_length(mms_t *this)
Definition: mms.c:1138
double start_time
Definition: mms.c:137
#define _X_LE_16(x)
Definition: bswap.h:58
NULL
Definition: xine_plugin.c:78
void xine_event_send(xine_stream_t *s, const xine_event_t *event)
Definition: events.c:194
#define ASF_MEDIA_PACKET_ID_TYPE
Definition: mms.c:85
#define XIO_WRITE_READY
Definition: io_helper.h:31
#define CMD_HEADER_LEN
Definition: mms.c:72
static void mms_buffer_init(mms_buffer_t *mms_buffer, char *buffer)
Definition: mms.c:148
#define XIO_READY
Definition: io_helper.h:34
#define XINE_VERBOSITY_LOG
Definition: xine.h:425
int _x_url_parse2(const char *mrl, xine_url_t *url)
Definition: http_helper.c:156
static int mmst_valid_proto(const char *proto)
Definition: mms.c:529
uint32_t mms_get_length(mms_t *this)
Definition: mms.c:1138
#define _(String)
Definition: vcdplayer.h:39
#define BUF_SIZE
Definition: mms.c:70
static void mms_buffer_put_64(mms_buffer_t *mms_buffer, uint64_t value)
Definition: mms.c:180
#define _X_LE_32(x)
Definition: bswap.h:63
static int get_media_packet(mms_t *this)
Definition: mms.c:907
const char * description
Definition: xine.h:2010
static void mms_buffer_put_8(mms_buffer_t *mms_buffer, uint8_t value)
Definition: mms.c:153
int mms_read(mms_t *this, char *data, int len)
Definition: mms.c:1050
uint8_t playing
Definition: mms.c:136
static int get_answer(mms_t *this)
Definition: mms.c:413
uint8_t live_flag
Definition: mms.c:134
#define D2Q(d)
Definition: mms.c:141
#define MMS_PACKET_ERR
Definition: mms.c:79
void mms_close(mms_t *this)
Definition: mms.c:1126
#define print_command(data, len)
Definition: mms.c:235
int s
Definition: mms.c:107
static int get_packet_command(mms_t *this, uint32_t packet_len)
Definition: mms.c:383
static int send_command(mms_t *this, int command, uint32_t prefix1, uint32_t prefix2, int length)
Definition: mms.c:240
#define ASF_HEADER_LEN
Definition: mms.c:76
int bandwidth
Definition: mms.c:129
static void string_utf16(int unused, char *dest, const char *src, int len)
Definition: mms.c:317
#define ICONV_CONST
Definition: mms.c:45
mms_t * mms_connect(xine_stream_t *stream, const char *url, int bandwidth)
Definition: mms.c:661
uint8_t buf[102400]
Definition: mms.c:118
static void report_progress(xine_stream_t *stream, int p)
Definition: mms.c:546
int percent
Definition: xine.h:2011
static int get_asf_header(mms_t *this)
Definition: mms.c:450
off_t mms_get_current_pos(mms_t *this)
Definition: mms.c:1142
xine_url_t url
Definition: mms.c:110
static const char mmst_proto_s[][8]
Definition: mms.c:527
#define MMST_PORT
Definition: mms.c:68
static void mms_gen_guid(char guid[])
Definition: mms.c:596
off_t mms_get_current_pos(mms_t *this)
Definition: mms.c:1142
int mms_read(mms_t *this, char *data, int len)
Definition: mms.c:1050
static void mms_buffer_put_32(mms_buffer_t *mms_buffer, uint32_t value)
Definition: mms.c:170
#define ASF_HEADER_PACKET_ID_TYPE
Definition: mms.c:84
void _x_mrl_unescape(char *mrl)
Definition: xine.c:1381
#define CMD_PREFIX_LEN
Definition: mms.c:73
int _x_io_tcp_connect(xine_stream_t *stream, const char *host, int port)
Definition: io_helper.c:159
#define MMS_PACKET_COMMAND
Definition: mms.c:80
void mms_close(mms_t *this)
Definition: mms.c:1126
static int mms_tcp_connect(mms_t *this)
Definition: mms.c:565
size_t mms_peek_header(mms_t *this, char *data, size_t maxsize)
Definition: mms.c:1040
uint32_t asf_header_read
Definition: mms.c:125
off_t current_pos
Definition: mms.c:131
size_t mms_peek_header(mms_t *this, char *data, size_t maxsize)
Definition: mms.c:1040
char scmd[40+1024]
Definition: mms.c:113
int _x_io_tcp_close(xine_stream_t *stream, int fd)
Definition: io_helper.c:740
char guid[37]
Definition: mms.c:128
int scmd_len
Definition: mms.c:115
void mms_set_start_time(mms_t *this, int time_offset)
Definition: mms.c:1146
#define xprintf(xine, verbose,...)
Definition: xineutils.h:664
uint8_t * buffer
Definition: mms.c:90
asf_header_t * asf_header
Definition: mms.c:122
off_t _x_io_tcp_read(xine_stream_t *stream, int s, void *buf_gen, off_t todo)
Definition: io_helper.c:524
static int mms_choose_best_streams(mms_t *this)
Definition: mms.c:611