]> git.sesse.net Git - vlc/blobdiff - modules/access/mms/mmstu.h
mmsh: Fix an input_item_t leak.
[vlc] / modules / access / mms / mmstu.h
index 2fa24ef8f55fe48eb9f20d1eb3ab225fd159d906..527c14cb535154362ae60c311384bb22cea27cb0 100644 (file)
@@ -33,6 +33,9 @@
 #define MMS_CMD_HEADERSIZE  48
 
 #define MMS_BUFFER_SIZE 100000
+
+typedef struct mmstu_keepalive_thread_t mmstu_keepalive_thread_t;
+
 struct access_sys_t
 {
     int         i_proto;        /* MMS_PROTO_TCP, MMS_PROTO_UDP */
@@ -45,6 +48,8 @@ struct access_sys_t
 
     asf_header_t    asfh;
 
+    unsigned    i_timeout;
+
     /* */
     uint8_t     buffer_tcp[MMS_BUFFER_SIZE];
     int         i_buffer_tcp;
@@ -62,10 +67,10 @@ struct access_sys_t
     int         i_packet_seq_num;
 
     uint8_t     *p_cmd;     /* latest command read */
-    int         i_cmd;      /* allocated at the begining */
+    size_t      i_cmd;      /* allocated at the begining */
 
     uint8_t     *p_header;  /* allocated by mms_ReadPacket */
-    int         i_header;
+    size_t      i_header;
 
     uint8_t     *p_media;   /* allocated by mms_ReadPacket */
     size_t      i_media;
@@ -86,10 +91,22 @@ struct access_sys_t
     size_t      i_packet_length;
     uint32_t    i_packet_count;
     int         i_max_bit_rate;
-    int         i_header_size;
+    size_t      i_header_size;
 
     /* misc */
-    vlc_bool_t  b_seekable;
+    bool  b_seekable;
+
+    mmstu_keepalive_thread_t *p_keepalive_thread;
+    vlc_mutex_t lock_netwrite;
+};
+
+struct mmstu_keepalive_thread_t
+{
+    VLC_COMMON_MEMBERS
+
+    access_t *p_access;
+    bool b_paused;
+    bool b_thread_error;
 };
 
 #endif